@charset "utf-8";
body{
    padding-top: 138px !important;
}
.layout2024 *{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
.layout2024 img{
    vertical-align: middle;
}
.header2024,
.footer2024_recruit,
.footer2024{
    box-sizing: border-box;
    font-size: 16px;
    color: #ffffff;
}
.layout2024 .sp,
.layout2024 .spi,
.layout2024 .spib,
.layout2024 .spf{
    display: none;
}
@media screen and (min-width: 681px){

    .layout2024_inner{
        width: 1250px;
        padding-left: 25px;
        padding-right: 25px;
        margin-left: auto;
        margin-right: auto;
    }
    .layout2024_inner_940{
        width: 1250px;
        padding-left: 155px;
        padding-right: 155px;
        margin-left: auto;
        margin-right: auto;
    }

}
@media screen and (max-width: 680px){

    body{
        padding-top: 18.666666vw !important;
    }
    .layout2024_inner,
    .layout2024_inner_940{
        width: 100%;
        /* padding-left: 6.666666vw;
        padding-right: 6.666666vw; */
        padding-left: 3.333333vw;
        padding-right: 3.333333vw;
    }
    .header2024,
    .footer2024_recruit,
    .footer2024{
        font-size: 3.2vw;
    }
    .layout2024 .pc,
    .layout2024 .pci,
    .layout2024 .pcib,
    .layout2024 .pcf{
        display: none;
    }
    .layout2024 .sp{
        display: block;
    }
    .layout2024 .spi{
        display: inline;
    }
    .layout2024 .spib{
        display: inline-block;
    }
    .layout2024 .spf{
        display: flex;
    }

}

/*---------- ヘッター ----------*/
.header2024{
    width: 100%;
    left: 0;
    top: 0;
    right: 0;
    z-index: 10000;
    position: fixed;
    background: #102d3b;
    box-shadow: 0 0 5px rgba(16,45,59,.25);
}
.header2024 a{
    text-decoration: none;
}
.header2024 a:hover{
    background: none;
    opacity: 1;
}
.header2024 .header2024_inner{
    height: 138px;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    position: static;
}
.header2024 .header2024_logo{
    width: 250px;
    /* padding-bottom: 10px; */
    padding-bottom: 20px;
}
.header2024 .header2024_logo a{
    width: 100%;
    height: 70px;
    display: block;
    background-image: url(../image2024/common/logo.png);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    transition: .3s all ease-in-out;
}
.header2024 .header2024_logo a:hover{
    opacity: .6;
}
.header2024 .header2024_logo_txt{
    font-size: 12px;
    margin-bottom: 10px;
    font-weight: 700;
    letter-spacing: .15em;
    line-height: 1;
    text-align: center;
}
.header2024 .header2024_content{
    width: calc(100% - 250px);
    padding-left: 120px;
    position: static;
}
.header2024 .header2024_content_inner{
    width: 100%;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
}
.header2024 .header2024_nav{
    width: calc(100% - 182px);
    /* padding-right: 18px; */
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
}
.header2024 .header2024_nav_top{
    width: 100%;
    margin-bottom: 8px;
    padding-right: 35px;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end
}
.header2024 .header2024_nav_top_li:not(:last-child){
    margin-right: 25px;
}
.header2024 .header2024_nav_top_li a{
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .1em;
    line-height: 1;
    color: #fff;
    display: block;
    transition: .3s all ease-in-out;
}
.header2024 .header2024_nav_top_li a:hover{
    opacity: .6;
}
.header2024 .header2024_nav_top_li.-search{
    position: relative;
    overflow: hidden;
    border-radius: 100px;
    border: 1px solid #fff;
    transition: .3s all ease-in-out;
}
.header2024 .header2024_nav_top_li.-search:hover{
    box-shadow: 0 0 5px rgba(0,0,0,1);
}
.header2024 .header2024_nav_top_li.-search::before{
    content: "";
    display: block;
    width: 16px;
    height: 16px;
    background-image: url(../image2024/common/search.png);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    left: 15px;
    top: 50%;
    transform: translateY(-50%);
}
.header2024 .header2024_search{
    width: 138px;
    height: 35px;
}
.header2024 .header2024_search_keyword{
    width: 100%;
    height: 100%;
    outline: none;
    padding: 10px 35px;
    font-size: 12px;
    background: none;
    border: none;
    color: #fff;
}
.header2024 .header2024_nav_bottom{
    width: 100%;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: flex-end;
}
/* .header2024 .header2024_nav_bottom_li:not(:last-child){
    margin-right: 35px;
} */
.header2024 .header2024_nav_bottom_li > a{
    font-weight: 700;
    line-height: 1;
    letter-spacing: .2em;
    /* padding: 20px 18px; */
    padding: 20px 18px 35px;
    color: #fff;
    display: block;
    position: relative;
    transition: .3s all ease-in-out;
}
.header2024 .header2024_nav_bottom_li.-haschild > a::after{
    content: "";
    display: block;
    position: absolute;
    left: 0;
    /* bottom: 2px; */
    bottom: 17px;
    right: 0;
    width: 10px;
    height: 10px;
    border-bottom: 3px solid #5096d2;
    border-right: 3px solid #5096d2;
    box-sizing: border-box;
    transform: rotate(45deg);
    margin: 0 auto;
    transition: .3s all ease-in-out;
}
.header2024 .header2024_nav_bottom_li > a:hover{
    background: rgba(81,126,148,.5);
}
.header2024 .header2024_nav_bottom_li.-haschild > a:hover::after{
    opacity: 0;
}
.header2024 .header2024_nav_bottom_child{
    width: 100%;
    left: 0;
    top: 138px;
    right: 0;
    position: absolute;
    background: rgba(81,126,148,.5);
    opacity: 0;
    z-index: -1;
	transition: .3s all ease-in-out !important;
	visibility: hidden;
    animation-duration: none !important;
}
.header2024 .header2024_nav_bottom_li.-haschild:hover .header2024_nav_bottom_child{
    opacity: 1;
	z-index: 9000;
	visibility: visible;
}
.header2024 .header2024_nav_bottom_child_inner{
    padding: 45px 0;
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    flex-wrap: wrap;
    margin: 0 auto;
}
.header2024_nav_bottom_child_inner::before,
.header2024_nav_bottom_child_inner::after{
    content: "";
    display: block;
    order: 9999;
}
.header2024 .header2024_nav_bottom_child_li a{
    width: 100%;
    height: 48px;
    font-size: 14px;
    letter-spacing: .1em;
    font-weight: 400;
    color: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #102d3b;
    /* border: 1px solid #102d3b; */
    transition: .3s all ease-in-out;
}
.header2024 .header2024_nav_bottom_child_li a::after{
    content: "";
    display: block;
    width: 6px;
    height: 6px;
    margin-left: 8px;
    border-top: 2px solid #fff;
    border-right: 2px solid #fff;
    box-sizing: border-box;
    transform: rotate(45deg);
    transition: .3s all ease-in-out;
    position: relative;
    left: 0;
}
.header2024 .header2024_nav_bottom_child_li a:hover{
    /* background: #fff;
    color: #102d3b; */
    background: #1b4356;
}
.header2024 .header2024_nav_bottom_child_li a:hover::after{
    /* border-top: 2px solid #102d3b;
    border-right: 2px solid #102d3b; */
    left: 5px;
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab{
    padding-top: 35px;
    margin: 0 auto -25px;
    display: flex;
    align-items: center;
    justify-content: center;
    border-bottom: 2px solid #193441;
    position: relative;
    z-index: 2;
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab_li{
    width: calc(100% / 3);
    height: 55px;
    font-weight: 400;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab_li label{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab_li label span{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
    z-index: 1;
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab_li label span:hover{
    color: #fff;
    cursor: pointer;
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab_li input{
    display: none;
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab_li input:checked + span::after{
    content: "";
    display: block;
    width: 100%;
    height: 2px;
    left: 0;
    bottom: -2px;
    right: 0;
    z-index: 1;
    position: absolute;
    background: #081820;
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab_li:hover input + span::before,
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab_li input:checked + span::before{
    width: calc(100% - (45px * 2));
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab_li input + span::after {
    content: "";
    display: block;
    width: 0%;
    height: 100%;
    left: 50%;
    bottom: 0;
    z-index: -2;
    transform: translateX(-50%);
    position: absolute;
    background: #081820;
    color: #fff;
    transition: .3s all ease-in-out;
	width: calc(100% - (45px * 2));
	background: rgba(255, 255, 255, 0.4);
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab_li input + span::before{
    content: "";
    display: block;
    width: 0%;
    height: 100%;
    left: 50%;
    bottom: 0;
    z-index: -1;
    transform: translateX(-50%);
    position: absolute;
    background: #081820;
    color: #fff;
    transition: .3s all ease-in-out;

}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tabcontent{
    position: relative;
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_inner{
    display: none;
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab:has(input[value="プロ仕様防音"]:checked) + .header2024_nav_bottom_child_tabcontent .header2024_nav_bottom_child_inner:nth-of-type(1),
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab:has(input[value="個人宅防音"]:checked) + .header2024_nav_bottom_child_tabcontent .header2024_nav_bottom_child_inner:nth-of-type(2),
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab:has(input[value="無響音質・騒音対策"]:checked) + .header2024_nav_bottom_child_tabcontent .header2024_nav_bottom_child_inner:nth-of-type(3){
    display: flex;
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_li{
    width:  calc((100% - (26px * 3)) / 4);
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_li:not(:nth-last-of-type(-n+4)){
    margin-bottom: 12px;
}
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_inner::before,
.header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_inner::after{
    width:  calc((100% - (26px * 3)) / 4);
}
.header2024 .header2024_nav_bottom_li.-service .header2024_nav_bottom_child_li{
    width:  calc((100% - (26px * 2)) / 3);
}
.header2024 .header2024_nav_bottom_li.-service .header2024_nav_bottom_child_inner::before,
.header2024 .header2024_nav_bottom_li.-service .header2024_nav_bottom_child_inner::after{
    width:  calc((100% - (26px * 2)) / 3);
}
.header2024 .header2024_nav_bottom_li.-service .header2024_nav_bottom_child_li:not(:nth-last-of-type(-n+3)){
    margin-bottom: 12px;
}
.header2024 .header2024_nav_bottom_li.-experience .header2024_nav_bottom_child_li{
    width:  calc((100% - (26px * 2)) / 3);
}
.header2024 .header2024_nav_bottom_li.-experience .header2024_nav_bottom_child_inner::before,
.header2024 .header2024_nav_bottom_li.-experience .header2024_nav_bottom_child_inner::after{
    width:  calc((100% - (26px * 2)) / 3);
}
.header2024 .header2024_nav_bottom_li.-experience .header2024_nav_bottom_child_li:not(:nth-last-of-type(-n+3)){
    margin-bottom: 12px;
}
.header2024 .header2024_nav_bottom_li.-kodawari .header2024_nav_bottom_child_li{
    width: calc((100% - (26px * 4)) / 4);
	    margin-bottom: 12px;
}
.header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_child_li:not(:has(.header2024_nav_bottom_grandchild)){
    width:  calc((100% - (26px * 3)) / 4);
}
.header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_child_li:has(.header2024_nav_bottom_grandchild){
    width: 100%;
    margin-top: 12px;
    display: flex;
    align-items: center;
    justify-content: center;
}
.header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_child_li:has(.header2024_nav_bottom_grandchild) > a{
    width: calc((100% - (26px * 3)) / 4);
    background: #102d3b !important;
    color: #fff !important;
    cursor: default !important;
}
.header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_child_li:has(.header2024_nav_bottom_grandchild) > a::after{
    display: none;
}
.header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_grandchild{
    width: calc(100% - calc((100% - (26px * 3)) / 4));
    display: flex;
    align-items: center;
    justify-content: center;
}
.header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_grandchild_li{
    width: calc(100% / 3);
}
.header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_grandchild_li a{
    background: #1b4356;
    /* border: 1px solid #1b4356; */
}
.header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_grandchild_li a:hover{
    /* background: #fff;
    color: #1b4356; */
    background: #102d3b;
}
.header2024 .header2024_last{
    width: 182px;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.header2024 .header2024_last_btn{
    width: 88px;
    height: 88px;
}
.header2024 .header2024_last_btn a{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
    transition: .3s all ease-in-out;
}
.header2024 .header2024_last_btn a:hover{
    opacity: .6;
}
.header2024 .header2024_last_btn.-contact a{
    font-size: 12px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: .05em;
    color: #fff;
    background: #5096d2;
}
.header2024 .header2024_last_btn.-contact a::before{
    content: "";
    display: block;
    width: 29px;
    height: 22px;
    margin-bottom: 15px;
    background-image: url(../image2024/common/icon_header-mail.png);
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center center;
}
.header2024 .header2024_last_btn.-ebisuta{
    border: 1px solid #fff;
}
.header2024 .header2024_last_btn.-ebisuta a{
    background: #000;
    background-image: url(../image2024/common/logo_header_ebisuta.png);
    background-size: 68px;
    background-position: center center;
    background-repeat: no-repeat;
}
.header2024 .header2024_last_btn.-ebisuta img{
    width: 68px;
}
@media screen and (max-width: 680px){

    .header2024{
        background: transparent;
        box-shadow: none;
    }
    .header2024 .header2024_inner{
        height: 18.666666vw;
        background: rgba(0,0,0,.7);
        align-items: center;
    }
    .header2024 .header2024_logo{
        width: auto;
        padding-bottom: 0;
    }
    .header2024 .header2024_logo a{
        width: 46.666666vw;
        height: 10vw;
        background-image: url(../image2024/common/sp_logo.png);
    }
    .header2024 .header2024_logo_txt{
        font-size: 2.4vw;
        margin-bottom: 1vw;
        letter-spacing: .17em;
    }
    .header2024 .header2024_logo img{
        width: 46.666666vw;
        height: 10vw;
        object-fit: contain;
    }
    .header2024-menu-button{
        width: 18.666666vw;
        height: 18.666666vw;
        padding: 6.666666vw 5.333333vw;
        margin-right: -3.333333vw;
        cursor: pointer;
        position: relative;
        z-index: 9999;
    }
    .header2024-menu-button i{
        display: block;
        width: 100%;
        height: .4vw;
        transition: background 0.5s;
        position: relative;
        left: 0;
        top: calc(50% - .2vw);
    }
    .header2024-menu-button i::before,
    .header2024-menu-button i::after{
        content: "";
        display: block;
        width: 100%;
        height: .4vw;
        background: #fff;
        position: absolute;
        left: 0;
        top: 0;
        transform: rotate(0deg);
        transition: all 0.3s !important;
    }
    .header2024-menu-button i::before{
        transform: translateY(-2.4vw)
    }
    .header2024-menu-button i::after{
        transform: translateY(2.4vw)
    }
    .header2024-menu-button.-on i::before{
        transform: translateY(0) rotate(-45deg);
    }
    .header2024-menu-button.-on i::after{
        transform: translateY(0) rotate(45deg);
    }
    .header2024 .header2024_content{
        width: 100%;
        padding-bottom: 7.5vw;
        padding-left: 0;
        display: block;
        position: fixed;
        left: 0;
        top: 0;
        right: 0;
        bottom: 0;
        background: #102d3b;
        overflow: auto;
        display: none;
    }
    .header2024_content_inner{
        flex-direction: column;
    }
    .header2024 .header2024_nav{
        width: 100%;
        padding-right: 0;
        display: flex;
        align-items: center;
        justify-content: flex-start;
        flex-direction: column;
    }
    .header2024 .header2024_nav_top{
        width: 100%;
        margin-bottom: 7.5vw;
        padding-top: 18.666666vw;
        padding-right: 6.666666vw;
        padding-left: 6.666666vw;
        justify-content: center
    }
    .header2024 .header2024_nav_top_li.-search{
        width: 100%;
        border-radius: 100px;
    }
    .header2024 .header2024_nav_top_li.-search::before{
        width: 5vw;
        height: 5vw;
        left: 4vw;
        top: 50%;
    }
    .header2024 .header2024_search{
        width: 100%;
        height: 10vw;
    }
    .header2024 .header2024_search_keyword{
        padding: 0 5vw 0 11.5vw;
        font-size: 3.5vw;
    }
    .header2024 .header2024_nav_bottom{
        flex-direction: column;
    }
    .header2024 .header2024_nav_bottom_li{
        width: 100%;
        border-top: 1px solid rgba(255,255,255,.25);
    }
    .header2024 .header2024_nav_bottom_li:last-child{
        border-bottom: 1px solid rgba(255,255,255,.25);
    }
    .header2024 .header2024_nav_bottom_li:not(:last-child){
        margin-right: 0;
    }
    .header2024 .header2024_nav_bottom_li > a{
        font-size: 3.5vw;
        padding: 5vw 3.333333vw;
        background: transparent !important;
    }
    .header2024 .header2024_nav_bottom_li > a::after{
        content: "";
        display: block;
        width: 1.5vw;
        height: 1.5vw;
        border-bottom: 2px solid #5096d2;
        border-right: 2px solid #5096d2;
        right: 6.666666vw;
        transition: 0s linear !important;
        opacity: 1 !important;
        position: absolute;
        top: 50%;
        transform: rotate(-45deg);
    }
    .header2024 .header2024_nav_bottom_li.-haschild > a::before,
    .header2024 .header2024_nav_bottom_li.-haschild > a::after{
        content: "";
        display: block;
        border: none;
        position: absolute;
        bottom: calc(50% - 1px);
        top: unset;
        width: 3vw;
        height: 2px;
        right: 5.5vw;
        left: unset;
        background: #5096d2;
        transform: rotate(0deg);
    }
    .header2024 .header2024_nav_bottom_li.-haschild > a::before{
        transform: rotate(90deg);
    }
    .header2024 .header2024_nav_bottom_child{
        position: static;
        height: auto;
        visibility: visible;
        opacity: 1;
        display: none;
    }
    .header2024 .header2024_nav_bottom_li.-haschild.-on > a::before{
        opacity: 0;
    }
    .header2024 .header2024_nav_bottom_li.-haschild.-on .header2024_nav_bottom_child{
        display: block;
    }
    .header2024 .header2024_nav_bottom_child_inner{
        padding: 0;
    }
    .header2024_nav_bottom_child_inner::before,
    .header2024_nav_bottom_child_inner::after{
        content: "";
        display: block;
        order: 9999;
    }
    .header2024 .header2024_nav_bottom_child_li{
        border-top: 1px solid rgba(255, 255, 255, .25);
    }
    .header2024 .header2024_nav_bottom_child_li a{
        height: auto;
        font-size: 3.5vw;
        padding: 5vw 6.666666vw;
        background: #2a5567;
        /* border-bottom: 1px dotted rgba(255,255,255,.25); */

        justify-content: space-between;
    }
    .header2024 .header2024_nav_bottom_child_li a::after{
        width: 1.5vw;
        height: 1.5vw;
        margin-left: 0;
        border-top: 2px solid rgba(255, 255, 255, .5);
        border-right: 2px solid rgba(255, 255, 255, .5);
    }
    .header2024 .header2024_nav_bottom_child_li a:hover::after{
        left: 0;
    }
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tab{
        display: none;
    }
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tabcontent{
        padding-left: 0;
        padding-right: 0;
        position: relative;
    }
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tabcontent_title{
        height: auto;
        font-size: 3.5vw;
        padding: 5vw 6.666666vw;
        font-weight: 700;
        display: flex !important;
        align-items: center;
        justify-content: space-between;
        background: #1b4356;
        position: relative;
        border-top: 1px solid rgba(255, 255, 255, .25);
    }
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tabcontent_title::before,
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tabcontent_title::after{
        content: "";
        display: block;
        border: none;
        position: absolute;
        bottom: calc(50% - 1px);
        top: unset;
        width: 3vw;
        height: 2px;
        right: 5.5vw;
        left: unset;
        background: rgba(255, 255, 255, .5);
        transform: rotate(0deg);
    }
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tabcontent_title::before{
        transform: rotate(90deg);
    }
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_inner{
        display: none !important;
    }
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tabcontent_title.-on::before{
        opacity: 0;
    }
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_tabcontent_title.-on + .header2024_nav_bottom_child_inner{
        display: block !important;
    }
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_li{
        width: 100%;
    }
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_li:not(:last-child){
        margin-bottom: 0;
    }
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_inner::before,
    .header2024 .header2024_nav_bottom_li.-bouon .header2024_nav_bottom_child_inner::after{
        display: none;
    }
    .header2024 .header2024_nav_bottom_li.-service .header2024_nav_bottom_child_li{
        width: 100%;
    }
    .header2024 .header2024_nav_bottom_li.-service .header2024_nav_bottom_child_inner::before,
    .header2024 .header2024_nav_bottom_li.-service .header2024_nav_bottom_child_inner::after{
        display: none;
    }
    .header2024 .header2024_nav_bottom_li.-service .header2024_nav_bottom_child_li:not(:last-child){
        margin-bottom: 0;
    }
    .header2024 .header2024_nav_bottom_li.-experience .header2024_nav_bottom_child_li{
        width:  100%;
    }
    .header2024 .header2024_nav_bottom_li.-experience .header2024_nav_bottom_child_inner::before,
    .header2024 .header2024_nav_bottom_li.-experience .header2024_nav_bottom_child_inner::after{
        display: none;
    }
    .header2024 .header2024_nav_bottom_li.-experience .header2024_nav_bottom_child_li:not(:nth-last-of-type(-n+3)){
        margin-bottom: 12px;
    }
    .header2024 .header2024_nav_bottom_li.-kodawari .header2024_nav_bottom_child_li{
        width: 100%;
    }
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_child_li:not(:has(.header2024_nav_bottom_grandchild)){
        width: 100%;
    }
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_child_li:has(.header2024_nav_bottom_grandchild){
        margin-top: 0;
        flex-direction: column;
    }
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_child_li:has(.header2024_nav_bottom_grandchild) > a{
        width: 100%;
        background: #1b4356 !important;
        font-weight: 700;
        position: relative;
    }
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_child_li:has(.header2024_nav_bottom_grandchild) > a::before,
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_child_li:has(.header2024_nav_bottom_grandchild) > a::after{
        content: "";
        display: block;
        border: none;
        position: absolute;
        bottom: calc(50% - 1px);
        top: unset;
        width: 3vw;
        height: 2px;
        right: 5.5vw;
        left: unset;
        background: rgba(255, 255, 255, .5);
        transform: rotate(0deg);
    }
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_child_li:has(.header2024_nav_bottom_grandchild) > a::before{
        transform: rotate(90deg);
    }
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_grandchild{
        width: 100%;
        flex-direction: column;
        display: none;
    }
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_child_li.-on .header2024_nav_bottom_grandchild{
        display: flex;
    }
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_child_li.-on:has(.header2024_nav_bottom_grandchild) > a::before{
        opacity: 0;
    }
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_grandchild_li{
        width: 100%;
    }
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_grandchild_li{
        border-top: 1px solid rgba(255, 255, 255, .25);
    }
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_grandchild_li a{
        background: #2a5567;
    }
    .header2024 .header2024_nav_bottom_li.-voice .header2024_nav_bottom_grandchild_li a:hover{
        background: #1b4356;
    }
    .header2024 .header2024_last{
        width: 100%;
        padding-top: 7.5vw;
    }
    .header2024 .header2024_last_btn{
        width: 50%;
        height: 17.5vw;
    }
    .header2024 .header2024_last_btn.-contact a{
        font-size: 3.5vw;
    }
    .header2024 .header2024_last_btn.-contact a::before{
        width: 8vw;
        height: 6vw;
        margin-bottom: 2.5vw;
    }
    .header2024 .header2024_last_btn.-ebisuta{
        border: none;
    }
    .header2024 .header2024_last_btn.-ebisuta a{
        background-size: 15vw;
    }
    .header2024 .header2024_last_btn.-ebisuta img{
        width: 15vw;
    }

}

/*---------- 採用ページ ----------*/
.footer2024,
.footer2024_recruit{
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.05em;
    position: relative;
}
.footer2024_recruit{
    width: 100%;
    background-image: url(./../image2024/common/footer2024_recruit_bk.jpg);
    padding: 180px 0;
    z-index: 1;
    text-align: center;
    background-size: cover;
    background-position: center center;
}
.footer2024_recruit::before{
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    z-index: 1;
    position: absolute;
    left: 0;
    top: 0;
    right: 0;
    bottom: 0;
    background: rgba(0,0,0,.34);
}
.footer2024 a,
.footer2024_recruit a{
    text-decoration: none;
}
.footer2024 a:hover,
.footer2024_recruit a:hover{
    background: none;
    opacity: 1;
}
.footer2024_recruit_title{
    font-size: 52px;
    font-weight: 700;
    font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    text-align: center;
    margin: 0;
    margin-bottom: 25px;
    letter-spacing: 0.1em;
    line-height: 1;
    position: relative;
    z-index: 2;
}
.footer2024_recruit .footer2024_txt{
    font-size: 16px;
    text-align: center;
    margin-bottom: 40px;
    line-height: 2.2;
    position: relative;
    z-index: 2;
}
.footer2024_recruit_btn01{
    width: 375px;
    height: 60px;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
    margin: 0 auto;
    position: relative;
    z-index: 2;
    
}
.footer2024_recruit_btn01 a{
    width: 100%;
    height: 100%;
    font-size: 18px;
    color: #ffffff;
    position: relative;
    background-color: #102d3b;
    border: 1px solid #ffffff;
    font-weight: 700;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s all ease-in-out;
}
.footer2024_recruit_btn01 a::after{
    content: "";
    width: 16px;
    height: 16px;
    margin-left: 26px;
    transition: .3s all ease-in-out;
    background-image: url(./../image2024/common/ds.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}
.footer2024_recruit_btn01 a:hover{
    background: #1b4356;
}
#sidebar a#side_top{
    border: 3px solid #1b4356;
}
a#side_top{
    background-image: none;
    background: #fff;
}
a#side_top::before{
    content: "";
    display: block;
    width: 30px;
    height: 30px;
    background-image: url(../image2024/common/icon_gotop-blue.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
}
@media screen and (max-width: 680px){

    .footer2024_recruit{
        padding: 13.333333vw 3.333333vw;
    }
    .footer2024_recruit_title{
        font-size: 6vw;
        margin-bottom: 5vw;
        letter-spacing: 0;
    }
    .footer2024_recruit .footer2024_txt{
        font-size: 3.5vw;
        margin-bottom: 5vw;
        letter-spacing: .05em;
        line-height: calc(28 / 16);
    }
    .footer2024_recruit_btn01{
        width: 100%;
        height: 11.333333vw;
        
    }
    .footer2024_recruit_btn01 a{
        font-size: 3.733333vw;
    }
    .footer2024_recruit_btn01 a::after{
        width: 3.5vw;
        height: 3.5vw;
        margin-left: 3.5vw;
    }

}


/*---------- フッター ----------*/
.footer2024{
    background-color: #102d3b;
    padding: 0 0 70px 0;
    z-index: 2;

}
.footer2024 .footer2024_inner{
    width: 1200px;
    padding-top: 100px;
    margin: 0 auto;
    position: relative;
}
.footer2024 .footer2024_pagetop{
    width: 70px;
    height: 70px;
    border: 2px solid #fff;
    position: absolute;
    right: 0;
    top: 0;
    transform: translateY(-50%);
}
.footer2024 .footer2024_pagetop a{
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #102d3b;
}
.footer2024 .footer2024_pagetop a::before{
    content: "";
    display: block;
    width: 12px;
    height: 28px;
    background-image: url(../image2024/common/gotop.png);
    background-position: center center;
    background-repeat: no-repeat;
    background-size: contain;
    transition: .3s all ease-in-out;
}
.footer2024 .footer2024_pagetop a:hover::before{
    transform: translateY(-5px);
}
.footer2024 .footer2024_flex{
    display: flex;
}
.footer2024 .footer2024_link_none{
    pointer-events: none;
}
/* パーツ */
.footer2024 .footer2024_s_tit{
    width: 100%;
    font-size: 20px;
    margin-bottom:15px;
    line-height: 1;
    text-align: center;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
}
.footer2024 .footer2024_txt{
    text-align: center;
    font-size: 18px;
    margin-bottom: 40px;
    font-weight: 600;
    line-height: calc(40 / 18);
}
.footer2024 .footer2024_contact_wrap{
    padding-bottom: 60px;
    margin-bottom:50px;
    border-bottom: 1px solid #296784;

}
/* 電話ボタン */
.footer2024 .footer2024_tel_area{
    margin:0 auto;
}
.footer2024 .footer2024_tel_area .footer2024_s_tit::before{
    content: "";
    display: block;
    width: 24px;
    height: 36px;
    margin-right: 5px;
    background-image: url(./../image2024/common/tel.png);
    background-repeat: no-repeat;
}
.footer2024 .footer2024_tel_btn{
    font-size: 38px;
    margin-bottom:8px;
    line-height: 1;
    display: block;
    color: #fff;
    transition: .3s all ease-in-out;
}
.footer2024 .footer2024_tel_btn:hover{
    opacity: .6;
}
.footer2024 .footer2024_tel_biko{
    font-size: 18px;
    letter-spacing: .1em;
    text-align: center;
}

/*----- メールフォームからお問い合わせ／資料ダウンロード */
.footer2024 .footer2024_btn_area{
    width: 800px;
    padding:28px 45px 25px;
    border-radius: 5px;
    background-color: #1c485d;
    display: flex;
    align-items: center;
    justify-content: space-between;
}
.footer2024 .footer2024_btn_area .footer2024_s_tit{
    letter-spacing: 0;
}
.footer2024 .footer2024_btn_area_item_btn{
    width: 340px;
    height: 90px;
    font-size: 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #fff;
    position: relative;
    transition: .3s all ease-in-out;
}
.footer2024 .footer2024_btn_area_item_btn::before{
    content: "";
    display: block;
    margin-right: 15px;
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
}
.footer2024 .footer2024_btn_area_item_btn_txt{
    font-size: 22px;
    line-height: 1;
    text-shadow: 1px 1px 0 #102d3b;
}
.footer2024 .footer2024_btn_area_item_biko{
    font-size: 16px;
    margin-top: 10px;
    line-height: 1;
    text-shadow: 1px 1px 0 #102d3b;
    display: block;
}
/* メールお問い合わせボタン */
.footer2024 .footer2024_btn_area_item_btn.-mail{
    background-color: #5096d2;
}
.footer2024 .footer2024_btn_area_item_btn.-mail:hover{
    background-color: #3378b4;
}
.footer2024 .footer2024_btn_area_item_btn.-mail::before{
    width: 36px;
    height: 26px;
    background-image: url(./../image2024/common/footer_letter.png);
}
/* 資料ダウンロードボタン */
.footer2024 .footer2024_btn_area_item_btn.-materials{
    background-color: #499022;
}
.footer2024 .footer2024_btn_area_item_btn.-materials:hover{
    background-color: #377217;
}
.footer2024 .footer2024_btn_area_item_btn.-materials::before{
    width: 46px;
    height: 60px;
    background-image: url(./../image2024/common/materials.png);
}
/*リンクボタン*/
/*パーツ*/
.footer2024 .footer2024_link_wrap{
    width: 100%;
    padding-left: 25px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
}
.footer2024 .footer2024_link_wrap + .footer2024_link_wrap{
    margin-top: 80px;
}
.footer2024 .footer2024_link_wrap a{
    line-height: 1;
    display: block;
    color: #fff;
    transition: .3s all ease-in-out;
}
.footer2024 .footer2024_link_wrap a:hover{
    opacity: .6;
}
.footer2024 .footer2024_link{
    padding-left: 20px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: flex-start;
}
.footer2024 .footer2024_link_wrap > .footer2024_link{
    padding-right: 25px;
}
.footer2024 .footer2024_link_tit{
    width: 100%;
    font-weight: 700;
    position: relative;
}
.footer2024 .footer2024_link_tit:not(:last-child){
    margin-bottom: 15px;
}
.footer2024 .footer2024_link_tit::before{
    content: "●";
    position: absolute;
    left: calc(-1em - 6px);
    top: 0;
    line-height: 1;
}
.footer2024 .footer2024_link_li.-parent a{
    font-weight: 700;
    color: #6db5f3;
}
.footer2024 .footer2024_link_li{
    font-size: 14px;
    font-weight: 500;
}
.footer2024 .footer2024_link_li:not(:last-child){
    margin-bottom: 10px;
}
.footer2024 .footer2024_link_child{
    margin-top: 10px;
}
.footer2024 .footer2024_link_child_li{
    width: 100%;
    line-height: 1;
    display: flex;
    align-items: center;
    justify-content: flex-start;
}
.footer2024 .footer2024_link_child_li:not(:last-child){
    margin-bottom: 10px;
}
.footer2024 .footer2024_link_child_li::before{
    content: "・";
}
.footer2024 .footer2024_link.-link1{
    width: calc(100% - (305px + 200px));
}
.footer2024 .footer2024_link.-link2{
    width: 305px;
}
.footer2024 .footer2024_link.-link3{
    width: 200px;
}
.footer2024 .footer2024_link.-link6 .footer2024_link6__inner:not(:last-child){
    margin-bottom: 10px;
}
.footer2024 .footer2024_link_block.-block1{
    width: calc(100% - (300px + 260px + 230px + 210px));
}
.footer2024 .footer2024_link_block.-block2{
    width: 230px;
}
.footer2024 .footer2024_link_block.-block3{
    width: 210px;
}
.footer2024 .footer2024_link_block.-block1 .footer2024_link:not(:last-child){
    margin-bottom: 35px;
}
.footer2024 .footer2024_link_block.-block2 .footer2024_link:not(:last-child),
.footer2024 .footer2024_link_block.-block3 .footer2024_link:not(:last-child){
    margin-bottom: 20px;
}
.footer2024 .footer2024_logo_area{
    width: 100%;
    margin-top: 105px;
    padding: 0 25px;
    align-items: center;
    display: flex;
    justify-content: space-between;
}
.footer2024 .footer2024_sns_area{
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: flex-end;
    margin-bottom: 45px;
}
.footer2024 .footer2024_sns_li:not(:last-child){
    margin-right: 28px;
}
.footer2024 .footer2024_sns_li a{
    line-height: 1;
    display: block;
    background-position: center center;
    background-size: contain;
    background-repeat: no-repeat;
    transition: .3s all ease-in-out;
}
.footer2024 .footer2024_sns_li.-insta a{
    background-image: url(../image2024/common/icon_insta.png);
}
.footer2024 .footer2024_sns_li.-x_twitter a{
    background-image: url(../image2024/common/icon_x_twitter.png);
}
.footer2024 .footer2024_sns_li.-facebook a{
    background-image: url(../image2024/common/icon_facebook.png);
}
.footer2024 .footer2024_sns_li.-youtube a{
    background-image: url(../image2024/common/icon_youtube.png);
}
.footer2024 .footer2024_sns_li a:hover{
    opacity: .6;
}
.footer2024 .footer2024_sns_li img{
    vertical-align: middle;
}
.footer2024 .footer2024_copyright{
    line-height: 1;
}
.footer2024 .footer2024_logo_mag{
    font-size: 12px;
    margin-bottom: 10px;
    letter-spacing: .17em;
    line-height: 1;
}
.footer2024 .footer2024_logo_image{
    width: 250px;
    height: 70px;
    display: block;
    background-image: url(../image2024/common/logo.png);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
.footer2024 #side_toi{
    line-height: 1.25;
}
@media screen and (max-width: 680px){

    .footer2024{
        padding: 0 0 23.333333vw 0;
    
    }
    .footer2024 .footer2024_inner{
        width: 100%;
        /* padding: 10vw 6.666666vw 0; */
        padding: 10vw 3.333333vw 0;
    }
    .footer2024 .footer2024_pagetop{
        width: 9.333333vw;
        height: 9.333333vw;
        /* right: 6.666666vw; */
        right: 3.333333vw;
        top: -7.333333vw;
        transform: translateY(0);
    }
    .footer2024 .footer2024_pagetop a::before{
        width: 1.6vw;
        height: 3.7333333vw;
    }
    .footer2024 .footer2024_pagetop a:hover::before{
        transform: translateY(-5px);
    }
    /* パーツ */
    .footer2024 .footer2024_s_tit{
        display: none;
    }
    .footer2024 .footer2024_txt{
        font-size: 4vw;
        margin-bottom: 11.333333vw;
        padding-left: 3.5vw;
        padding-right: 3.5vw;
        line-height: calc(53 / 30);
    }
    .footer2024 .footer2024_contact_wrap{
        width: 100%;
        /* height: 13.333333vw; */
        height: 20vw;
        padding-bottom: 0;
        margin-bottom: 0;
        border-bottom: none;
        position: fixed;
        left: 0;
        bottom: 0;
        right: 0;
        z-index: 9990;
    
    }
    /* 電話ボタン */
    .footer2024 .footer2024_tel_area{
        width: calc((100% / 3) * 1);
    }
    .footer2024 .footer2024_tel_btn{
        margin-bottom: 0;
        padding-right: 1.066666vw;
        height: 100%;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 1 !important;
        background: rgba(16,45,59,.93) !important;
    }
    .footer2024 .footer2024_tel_btn::before{
        content: "";
        display: block;
        width: 6vw;
        height: 7.333333vw;
        margin-right: 2.133333vw;
        background-image: url(./../image2024/common/tel.png);
        background-size: contain;
        background-repeat: no-repeat;
        background-position: center center;
    }
    .footer2024 .footer2024_tel_btn span{
        font-size: 4vw;
    }
    .footer2024 .footer2024_tel_biko{
        display: none;
    }
    
    /*----- メールフォームからお問い合わせ／資料ダウンロード */
    .footer2024 .footer2024_btn_area{
        width: calc((100% / 3) * 2);
        padding: 0;
        border-radius: 0;
        background: none;
    }
    .footer2024 .footer2024_btn_area_item{
        width: 50%;
        height: 100%;
    }
    .footer2024 .footer2024_btn_area_item_btn{
        width: 100%;
        height: 100%;
    }
    /* メールお問い合わせボタン */
    .footer2024 .footer2024_btn_area_item_btn.-mail{
        background: rgba(80,150,210,.93);
    }
    .footer2024 .footer2024_btn_area_item_btn.-mail::before{
        width: 7.066666vw;
        height: 5.333333vw;
        margin-right: 2.666666vw;
    }
    .footer2024 .footer2024_btn_area_item_btn.-mail .footer2024_btn_area_item_btn_txt{
        font-size: 4vw;
    }
    /* 資料ダウンロードボタン */
    .footer2024 .footer2024_btn_area_item_btn.-materials{
        background: rgba(32,171,132,.93);
    }
    .footer2024 .footer2024_btn_area_item_btn.-materials::before{
        width: 5.866666vw;
        height: 7.733333vw;
        margin-right: 1.333333vw;
    }
    .footer2024 .footer2024_btn_area_item_btn.-materials .footer2024_btn_area_item_btn_txt{
        font-size: 3.2vw;
        line-height: calc(3/ 2.4);
    }
    /*リンクボタン*/
    /*パーツ*/
    .footer2024 .footer2024_link_wrap{
        padding-left: 0;
        /* flex-direction: column; */
        flex-wrap: wrap;
        justify-content: space-between;
    }
    .footer2024 .footer2024_link_wrap + .footer2024_link_wrap{
        margin-top: calc(9.333333vw - 2.666666vw);
    }
    .footer2024 .footer2024_link_wrap a{
        letter-spacing: 0;
    }
    .footer2024 .footer2024_link{
        padding-left: 0;
    }
    .footer2024 .footer2024_link_wrap > .footer2024_link{
        padding-right: 0;
    }
    .footer2024 .footer2024_link_tit{
        padding-left: 4.666666vw;
    }
    .footer2024 .footer2024_link_tit a{
        letter-spacing: .1em;
        font-size: 3.2vw;
    }
    .footer2024 .footer2024_link_tit:not(:last-child){
        margin-bottom: 4.666666vw;
    }
    .footer2024 .footer2024_link_tit::before{
        left: 0;
        font-size: 3.2vw;
    }
    .footer2024 .footer2024_link_ul{
        width: 100%;
        display: flex;
        justify-content: space-between;
        align-items: flex-start;
        flex-wrap: wrap;
    }
    .footer2024 .footer2024_link_ul:not(:last-child){
        margin-bottom: calc(6.666666vw - 2.66666vw);
    }
    .footer2024 .footer2024_link_li{
        width: calc((100% - 2.4vw) / 2);
        font-size: 3.2vw;
        margin-bottom: 2.666666vw;
    }
    .footer2024 .footer2024_link_li:not(:last-child){
        margin-bottom: 2.666666vw;
    }
    .footer2024 .footer2024_link_li a{
        line-height: 1.35;
    }
    .footer2024 .footer2024_link_child{
        margin-top: 2.666666vw;
    }
    .footer2024 .footer2024_link_child_li:not(:last-child){
        margin-bottom: 2.666666vw;
    }
    .footer2024 .footer2024_link.-link1{
        width: 100%;
        margin-bottom: calc(9.333333vw - 2.666666vw);
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(1) .footer2024_link_li.-parent{
        order: 1;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(1) .footer2024_link_li:nth-of-type(6){
        order: 2;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(1) .footer2024_link_li:nth-of-type(2){
        order: 3;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(1) .footer2024_link_li:nth-of-type(7){
        order: 4;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(1) .footer2024_link_li:nth-of-type(3){
        order: 5;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(1) .footer2024_link_li:nth-of-type(8){
        order: 6;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(1) .footer2024_link_li:nth-of-type(4){
        order: 7;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(1) .footer2024_link_li:nth-of-type(9){
        order: 8;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(1) .footer2024_link_li:nth-of-type(5){
        order: 9;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(2) .footer2024_link_li.-parent{
        order: 1;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(2) .footer2024_link_li:nth-of-type(5){
        order: 2;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(2) .footer2024_link_li:nth-of-type(2){
        order: 3;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(2) .footer2024_link_li:nth-of-type(6){
        order: 4;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(2) .footer2024_link_li:nth-of-type(3){
        order: 5;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(2) .footer2024_link_li:nth-of-type(7){
        order: 6;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(2) .footer2024_link_li:nth-of-type(4){
        order: 7;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(2) .footer2024_link_li:nth-of-type(8){
        order: 8;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(3) .footer2024_link_li.-parent{
        order: 1;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(3) .footer2024_link_li:nth-of-type(6){
        order: 2;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(3) .footer2024_link_li:nth-of-type(2){
        order: 3;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(3) .footer2024_link_li:nth-of-type(7){
        order: 4;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(3) .footer2024_link_li:nth-of-type(3){
        order: 5;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(3) .footer2024_link_li:nth-of-type(8){
        order: 6;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(3) .footer2024_link_li:nth-of-type(4){
        order: 7;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(3) .footer2024_link_li:nth-of-type(9){
        order: 8;
    }
    .footer2024 .footer2024_link.-link1 .footer2024_link_ul:nth-of-type(3) .footer2024_link_li:nth-of-type(5){
        order: 9;
    }
    .footer2024 .footer2024_link.-link2{
        width: 100%;
        margin-bottom: calc(9.333333vw - 2.666666vw);
    }

    .footer2024 .footer2024_link.-link2 .footer2024_link_li.-parent{
        order: 1;
    }
    .footer2024 .footer2024_link.-link2 .footer2024_link_li:nth-of-type(6){
        order: 2;
    }
    .footer2024 .footer2024_link.-link2 .footer2024_link_li:nth-of-type(2){
        order: 3;
    }
    .footer2024 .footer2024_link.-link2 .footer2024_link_li:nth-of-type(7){
        order: 4;
    }
    .footer2024 .footer2024_link.-link2 .footer2024_link_li:nth-of-type(3){
        order: 5;
    }
    .footer2024 .footer2024_link.-link2 .footer2024_link_li:nth-of-type(8){
        order: 6;
    }
    .footer2024 .footer2024_link.-link2 .footer2024_link_li:nth-of-type(4){
        order: 7;
    }
    .footer2024 .footer2024_link.-link2 .footer2024_link_li:nth-of-type(9){
        order: 8;
    }
    .footer2024 .footer2024_link.-link2 .footer2024_link_li:nth-of-type(5){
        order: 9;
    }
    .footer2024 .footer2024_link.-link2 .footer2024_link_li:nth-of-type(10){
        order: 10;
    }
    .footer2024 .footer2024_link.-link3{
        width: 100%;
    }
    .footer2024 .footer2024_link.-link3 .footer2024_link_li:nth-of-type(1){
        order: 1;
    }
    .footer2024 .footer2024_link.-link3 .footer2024_link_li:nth-of-type(4){
        order: 2;
    }
    .footer2024 .footer2024_link.-link3 .footer2024_link_li:nth-of-type(2){
        order: 3;
    }
    .footer2024 .footer2024_link.-link3 .footer2024_link_li:nth-of-type(5){
        order: 4;
    }
    .footer2024 .footer2024_link.-link3 .footer2024_link_li:nth-of-type(3){
        order: 5;
    }
    .footer2024 .footer2024_link_block.-block1{
        width: 100%;
        margin-bottom: calc(9.333333vw - 2.666666vw);
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
    }
    .footer2024 .footer2024_link.-link4{
        width: calc((100% - 2.4vw) / 2);
        margin-bottom: 0 !important;
    }
    .footer2024 .footer2024_link.-link4 .footer2024_link_li{
        width: 100%;
    }
    .footer2024 .footer2024_link.-link5{
        width: calc((100% - 2.4vw) / 2);
        margin-bottom: 0 !important;
    }
    .footer2024 .footer2024_link.-link5 .footer2024_link_li{
        width: 100%;
    }
    .footer2024 .footer2024_link.-link6{
        width: 100%;
        margin-bottom: calc(9.333333vw - 2.666666vw);
    }
    .footer2024 .footer2024_link.-link6 .footer2024_link_ul{
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: flex-start;
        justify-content: space-between;
    }
    .footer2024 .footer2024_link.-link6 .footer2024_link6__inner{
        width: calc((100% - 2.4vw) / 2);
    }
    .footer2024 .footer2024_link.-link6 .footer2024_link6__inner:not(:last-child){
        margin-bottom: 0;
    }
    .footer2024 .footer2024_link.-link6 .footer2024_link6__inner .footer2024_link_li{
        width: 100%;
    }
    .footer2024 .footer2024_link.-link7{
        width: 100%;
        margin-bottom: calc(9.333333vw - 2.666666vw);
    }
    .footer2024 .footer2024_link.-link7 .footer2024_link_li:nth-of-type(1){
        order: 1;
    }
    .footer2024 .footer2024_link.-link7 .footer2024_link_li:nth-of-type(5){
        order: 2;
    }
    .footer2024 .footer2024_link.-link7 .footer2024_link_li:nth-of-type(2){
        order: 3;
    }
    .footer2024 .footer2024_link.-link7 .footer2024_link_li:nth-of-type(6){
        order: 4;
    }
    .footer2024 .footer2024_link.-link7 .footer2024_link_li:nth-of-type(3){
        order: 5;
    }
    .footer2024 .footer2024_link.-link7 .footer2024_link_li:nth-of-type(7){
        order: 6;
    }
    .footer2024 .footer2024_link.-link7 .footer2024_link_li:nth-of-type(4){
        order: 7;
    }
    .footer2024 .footer2024_link.-link7 .footer2024_link_li:nth-of-type(8){
        order: 8;
    }
    .footer2024 .footer2024_link_block.-block2{
        width: calc((100% - 2.4vw) / 2);
    }
    .footer2024 .footer2024_link_block.-block2 .footer2024_link{
        width: 100%;
    }
    .footer2024 .footer2024_link_block.-block3{
        width: calc((100% - 2.4vw) / 2);
    }
    .footer2024 .footer2024_link_block.-block3 .footer2024_link{
        width: 100%;
    }
    .footer2024 .footer2024_link_block.-block1 .footer2024_link:not(:last-child){
        margin-bottom: 35px;
    }
    .footer2024 .footer2024_link_block.-block2 .footer2024_link:not(:last-child),
    .footer2024 .footer2024_link_block.-block3 .footer2024_link:not(:last-child){
        margin-bottom: 3.333333vw;
    }
    .footer2024 .footer2024_logo_area{
        margin-top: 13.333333vw;
        padding: 0;
        flex-direction: column;
    }
    .footer2024 .footer2024_sns_area{
        margin-bottom: 4.666666vw;
        justify-content: center;
    }
    .footer2024 .footer2024_sns_li img{
        width: 100%;
    }
    .footer2024 .footer2024_sns_li:not(:last-child){
        margin-right: 3.466666vw;
    }
    .footer2024 .footer2024_sns_li.-insta{
        width: 4.8vw;
    }
    .footer2024 .footer2024_sns_li.-x_twitter{
        width: 4.8vw;
    }
    .footer2024 .footer2024_sns_li.-facebook{
        width: 4.8vw;
    }
    .footer2024 .footer2024_sns_li.-youtube{
        width: 6vw;
    }
    .footer2024 .footer2024_logo{
        margin-bottom: 9.333333vw;
    }
    .footer2024 .footer2024_logo_mag{
        font-size: 2.4vw;
        margin-bottom: 1.2vw;
    }
    .footer2024 .footer2024_logo_image{
        width: 46.133333vw;
        height: 10.666666vw;
        margin-left: auto;
        margin-right: auto;
        background-image: url(../image2024/common/sp_footer_logo.png);
    }
    .footer2024 .footer2024_copyright{
        font-size: 2.4vw;
    }
    #footer_toTop{
        background-color: #1b4356 !important;
    }
    #footer_toTop.follow-fixed{
        width: 9vw;
        height: 9vw;
        bottom: 7.5vw;
    }

    #chatplusview{
        z-index: 9999 !important;
    }
}

/*---------- パーツ ----------*/
/*----- タイトル */
.part2024__title{
    font-size: 50px;
    font-weight: 700;
    line-height: calc(8 / 5);
    text-align: center;
    font-family: YuMincho, "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/*----- テキスト */
.part2024__text{
    font-size: 16px;
    line-height: calc(28 / 16);
    letter-spacing: .05em;
}
/*----- ボタン */
.part2024-Button{
    width: 375px;
    height: 60px;
    margin-left: auto;
    margin-right: auto;
}
.part2024-Button a{
    width: 100%;
    height: 100%;
    border: 1px solid #102d3b;
    font-size: 18px;
    letter-spacing: .05em;
    font-weight: 700;
    line-height: calc(31 / 19);
    display: flex;
    align-items: center;
    justify-content: center;
    background: #102D3B;
    color: #fff;
    transition: .3s all ease-in-out;
}
.part2024-Button a::after{
    content: "";
    display: block;
    width: 34px;
    height: 6px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    margin-left: 14px;
    /* background-image: url(../image2024/common/icon_arrow-white.png); */
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain;
    transition: .3s all ease-in-out;
    transform: skew(45deg);
}
.part2024-Button a:hover{
    /* background: #fff;
    color: #102D3B; */
    background: #1b4356;
    border: 1px solid #1b4356;
}
.part2024-Button a:hover::after{
    transform: skew(45deg) translateX(5px);
    /* border-right: 2px solid #1b4356;
    border-bottom: 2px solid #1b4356; */
}
/* 白ボタン */
.part2024-Button.-white a{
    background: #fff;
    color: #102d3b;
    border: 1px solid #fff;
}
.part2024-Button.-white a::after{
    border-right: 2px solid #102d3b;
    border-bottom: 2px solid #102d3b;
}
.part2024-Button.-white a:hover{
    background: #102d3b;
    color: #fff;
    border: 1px solid #102d3b;
}
.part2024-Button.-white a:hover::after{
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
}


/*----- キービジュアル */
.Keyvisual2024{
    width: 100%;
    height: 520px;
    background-size: cover;
    background-position: center center;
    background-repeat: no-repeat;
}
.Keyvisual2024__inner{
    height: 100%;
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    flex-direction: column;
}
.Keyvisual2024__title{
    font-size: 58px;
    line-height: 1;
    letter-spacing: .2em;
    font-weight: 700;
    text-align: center;
    color: #fff;
    font-family: YuMincho, "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
.Keyvisual2024__title::after{
    content: attr(data-en);
    display: block;
    line-height: 1;
    margin-top: 20px;
    font-size: 25px;
    font-weight: 700;
    letter-spacing: 0;
    color: #fff;
    font-family: YuMincho, "游明朝", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "Hiragino Mincho Pro", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}
/*----- ぱんくず */
.Bread2024{
    position: absolute;
    left: 25px;
    top: 15px;
    color: #fff;
}
.Bread2024 *{
    font-size: 12px;
    font-weight: 700;
    color: #fff;
}
.Bread2024 a{
    position: relative;
}
.Bread2024 a span{
    overflow: hidden;
}
.Bread2024 a span::after{
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0;
    bottom: -5px;
}
.Bread2024 a:hover{
    color: #fff;
}

/* ----- バナー */
.Banner2024{
    padding-top: 55px;
    padding-bottom: 55px;
    background: #e5e5e5;
}
.Banner2024__inner{
    width: 100%;
    padding-left: 20px;
    padding-right: 20px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-wrap: wrap;
}
.Banner2024__item{
//    width: calc((100% - (20px * 4)) / 5);
    width: calc((100% - (20px * 4)) / 4);	
}
.Banner2024__item:not(:nth-of-type(4n)){
    margin-right: 26px;
}
.Banner2024__item a{
    font-family: Arial;	
    width: 100%;
    height: 73px;
    border: 1px solid #ababab;
    font-size: 19px;
    font-weight: 500;
    background: #fff;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: .3s all ease-in-out;
    color: #333;
}
.Banner2024__item a:hover{
    opacity: 1;
	background: #e5e5e5;
}
.Banner2024__item.-hospital_space a::before{
    content: "";
    display: none;
    width: 25px;
    height: 25px;
    margin-right: 8px;
    background-image: url(../image2024/common/logo_hospital-space.png);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
}
.Banner2024__item.-ebisuta a{
    font-size: 14px;
    line-height: 1;
    font-weight: 500;
//    padding-left: 78px;
    flex-direction: column;
    align-items: center;
    color: #102d3b;
    position: relative;
}
.Banner2024__item.-ebisuta a::before{
    content: "";
    display: none;
    width: 41px;
    height: 41px;
    margin-right: 8px;
    background-image: url(../image2024/common/logo_ebisuta.jpg);
    background-size: contain;
    background-position: center center;
    background-repeat: no-repeat;
    position: absolute;
    left: 30px;
    top: 50%;
    transform: translate(0,-50%);
}
.Banner2024__item.-ebisuta span{
    font-size: 19px;
    margin-top: 2px;
    line-height: 1;
    display: block;
}

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

    /*---------- パーツ ----------*/
    /*----- タイトル */
    .part2024__title{
        font-size: 6vw;
    }
    /*----- テキスト */
    .part2024__text{
        font-size: 3.5vw;
    }
    /*----- ボタン */
    .part2024-Button{
        width: 100%;
        height: 11.333333vw;
    }
    .part2024-Button a{
        font-size: 3.733333vw;
    }
    .part2024-Button a::after{
        width: 6.666666vw;
        height: 1.6vw;
        margin-left: 2.666666vw;
    }
    .part2024-Button a:hover::after{
        transform: skew(45deg) translateX(2.5vw);
    }


    /*----- キービジュアル */
    .Keyvisual2024{
        height: 65vw;
    }
    .Keyvisual2024__title{
        font-size: 8vw;
    }
    .Keyvisual2024__title::after{
        margin-top: 4vw;
        font-size: 3.5vw;
    }

    /*----- ぱんくず */
    .Bread2024{
        /* left: 6.666666vw; */
        left: 3.333333vw;
        top: 2.5vw;
    }
    .Bread2024 *{
        font-size: 2.4vw;
    }
    .Bread2024 a span::after{
        bottom: -1.5vw;
    }

    /* ----- バナー */
    .Banner2024{
        padding-top: 13.333333vw;
        padding-bottom: 13.333333vw;
    }
    .Banner2024__inner{
        padding-left: 0;
        padding-right: 0;
        justify-content: space-between;
        align-items: flex-start;
    }
    .Banner2024__item{
        width: calc((100% - (2.4vw * 1)) / 2);
    }
    .Banner2024__item:not(:nth-of-type(5n)){
        margin-right: 0;
    }
    .Banner2024__item:not(:nth-last-of-type(-n+2)){
        margin-bottom: 2.4vw;
    }
    .Banner2024__item a{
        height: 13.333333vw;
        font-size: 3.466666vw;
        border: 1px solid #102d3b;
    }
    .Banner2024__item.-hospital_space a::before{
        width: 4vw;
        height: 4vw;
        margin-right: 2.4vw;
    }
    .Banner2024__item.-ebisuta a{
        font-size: 3.5vw;
        padding-left: 13.5vw;
    }
    .Banner2024__item.-ebisuta a::before{
        width: 7.5vw;
        height: 7.5vw;
        margin-right: 2.4vw;
        left: 3.5vw;
    }
    .Banner2024__item.-ebisuta span{
        font-size: 4.5vw;
        margin-top: .5vw;
    }

}


.category-spkldetail h2 { font-size: 24px; font-weight: 600;  margin: -3em 0px 1em; padding: 6em 0px 0px; }
.category-spkldetail h3 { font-size: 18px; font-weight: 600;  margin: 1em 0px 0.5em; padding: 0px; }

.mokuji { 
    width: auto;
    margin: 20px auto 30px 15em;
    line-height: 1.6em;
    position: relative;
    color: #0f529a;
}
.mokuji li a { display: block; color: #0f529a; font-weight: 600; text-decoration: none; }
.mokuji li a:hover { text-decoration: underline;  }
.mokuji:before { 
    content: "目次";
    padding-left: 3em;
    position: absolute;
    left: -6em;
    font-weight: 600;
}

@media screen and (max-width: 680px){
	.category-spkldetail h2 { font-size: 18px; font-weight: 600;  margin: -3em 0px 1em; padding: 6em 0px 0px; }
	.category-spkldetail h3 { font-size: 15px; font-weight: 600;  margin: 1em 0px 0.5em; padding: 0px; }

	.mokuji { 
	    width: auto;
	    margin: 20px auto 30px 1em;
	    line-height: 1.6em;
	    position: relative;
	    color: #0f529a;
	}
}