@charset "UTF-8";

/*
================================================================
 スティッキーナビ
================================================================
*/


a.fixed-scroll-to-top {
    position: absolute;
    z-index: 1;
    right: 0;
    bottom: 30px;
    display: block;
    box-sizing: border-box;
    width: 40px;
    height: 200px;
    background-color: transparent;
    background-image: url(../img/pagetop_pc.svg);
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 22px 192px;
    text-decoration: none;
    pointer-events: none;
    visibility: visible;
    opacity: 0.1;
    transform: translateX(100%);
    transition: 
        opacity var(--themeval-hover-transition),
        transform var(--themeval-hover-transition),
        visibility var(--themeval-hover-transition);
}
.page-structure-fixed-scroll {
    width: 40px;
    height: 290px;
    overflow: hidden;
}
.page-structure-fixed-scroll + .page-structure-scroll-content__footer {
    margin-top: -290px;
}
html.agent-prop--not-iOS a.fixed-scroll-to-top {
    visibility: hidden;
    opacity: 0;
}
a.fixed-scroll-to-top.scrolled,
html.agent-prop--not-iOS a.fixed-scroll-to-top.scrolled {
    pointer-events: auto;
    visibility: visible;
    opacity: 1;
    transform: translateX(0);
}
html:not(.agent-prop--Touch) a.fixed-scroll-to-top.scrolled:hover {
    opacity: var(--themeval-hover-opacity);
}


@media (max-width: 1279px) {
}

@media (max-width: 959px) {
    a.fixed-scroll-to-top {
        bottom: 30px;
        width: 30px;
        height: 200px;
        background-image: url(../img/pagetop_sp.svg);
        background-size: 18px 192px;
    }
    .page-structure-fixed-scroll {
        width: 30px;
        height: 270px;
    }
    .page-structure-fixed-scroll + .page-structure-scroll-content__footer {
        margin-top: -270px;
    }
}

@media (max-width: 639px) {
    a.fixed-scroll-to-top {
        bottom: 30px;
        width: 30px;
        height: 200px;
        background-image: url(../img/pagetop_sp.svg);
        background-size: 18px 192px;
    }
    .page-structure-fixed-scroll {
        width: 30px;
        height: 270px;
    }
    .page-structure-fixed-scroll + .page-structure-scroll-content__footer {
        margin-top: -270px;
    }
}

/* 印刷用設定 */
@media print {
    a.fixed-scroll-to-top {
        display: none;
    }
}



/*
================================================================
 グローバルフッター
================================================================
*/

.global-footer {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    padding: 60px 0;
    background-color: var(--themeval-color-theme-gray-01);
    color: var(--themeval-color-theme-text-white);
}
.global-footer .layout-container {
    position: relative;
    box-sizing: border-box;
    margin: 0 auto;
    padding: 0;
    width: 90%;
    max-width: var(--themeval-container-width);
}

.global-footer a {
    color: inherit;
    text-decoration: inherit;
    opacity: 1;
    transition: opacity var(--themeval-hover-transition);
}
.global-footer a.with-link-ico {
    display: inline-block;
    width: auto;
    padding-right: 1.2em;
    background-image: url(../img/link_white.svg);
    background-repeat: no-repeat;
    background-position: right 55%;
    background-size: 1em auto;
}
html:not(.agent-prop--Touch) .global-footer a:hover {
    opacity: var(--themeval-hover-opacity); /* $hover-opacity */
}

.global-footer dl,
.global-footer dl > dt,
.global-footer dl > dd {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
    font-weight: 400;
}

.global-footer-credit {
    display: block;
    box-sizing: border-box;
    margin: 0;
    padding: 0;
    width: 100%;
    height: auto;
    font-weight: 400;
    text-align: left;
    font-size: calc( 18rem / var(--themeval-root-font-size) ); /* $base-font-size */
    line-height: 1.75;
}
.global-footer-credit .layout-container {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-end;
}
.global-footer-work-data {
    width: calc(100% - 130px);
    padding: 0 0 2em;
    text-align: left;
}
.global-footer-work-data > dl {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
.global-footer-work-data > dl > dt {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin: 0 0 1em;
    padding: 0;
}
.global-footer-work-data > dl > dt .this__title {
    display: inline-block;
    box-sizing: border-box;
    width: auto;
    height: auto;
    margin: 0;
    padding: 0.3em 0.5em 0.4em;
    border: 1px solid var(--themeval-color-theme-text-white);
    line-height: 1;
}
.global-footer-work-data > dl > dd {
    display: block;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin: 0 0 2em;
    padding: 0;
}
.global-footer-work-data > dl > dd:last-child {
    margin-bottom: 0;
}
.global-footer-work-data > dl > dd > dl {
    display: flex;
    flex-direction: row;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: flex-start;
    box-sizing: border-box;
    width: 100%;
    height: auto;
    margin: 0;
    padding: 0;
}
.global-footer-work-data > dl > dd > dl > dt {
    display: block;
    box-sizing: border-box;
    width: 5em;
    height: auto;
    margin: 0;
    padding: 0;
}
.global-footer-work-data > dl > dd > dl > dt .this__title {
    display: inline-block;
    box-sizing: border-box;
    width: 4em;
    height: auto;
    margin: 0;
    padding: 0;
    text-align: justify;
    text-align: justify-all;
    text-align-last: justify;
}
.global-footer-work-data > dl > dd > dl > dt::after {
    content: "：";
    display: inline-block;
    box-sizing: border-box;
    width: 1em;
    height: auto;
    margin: 0;
    padding: 0;
}
.global-footer-work-data > dl > dd > dl > dd {
    display: block;
    box-sizing: border-box;
    width: calc(100% - 5em);
    height: auto;
    margin: 0;
    padding: 0 0 0 0.5em;
}
.global-footer-work-data > dl > dd > dl > dd span {
    display: inline-block;
}
.global-footer-logo {
    width: 130px;
    text-align: center;
}
.global-footer-logo a {
    display: block;
    width: 100%;
    max-width: 100%;
    margin: 0 auto;
}
.global-footer-logo img {
    display: block;
    max-width: 100%;
    height: auto;
}
.global-footer-corp {
    width: 100%;
    margin-top: 60px;
    text-align: center;
    font-size: calc( 16rem / var(--themeval-root-font-size) ); /* $base-font-size */
}

.global-footer-copyright {
    display: block;
    box-sizing: border-box;
    margin: 30px 0 0;
    padding: 0;
    width: 100%;
    height: auto;
    font-weight: 400;
    text-align: center;
    font-size: calc( 12rem / var(--themeval-root-font-size) ); /* $base-font-size */
    line-height: 1.75;
}

@media (max-width: 1279px) {
}

@media (max-width: 959px) {
    
    .global-footer {
        padding: 40px 0;
    }
    .global-footer-credit {
        font-size: calc( 16rem / var(--themeval-root-font-size) ); /* $base-font-size */
    }
    .global-footer-work-data {
        width: calc(100% - 110px);
    }
    .global-footer-logo {
        width: 110px;
    }
    .global-footer-corp {
        margin-top: 40px;
        font-size: calc( 14rem / var(--themeval-root-font-size) ); /* $base-font-size */
    }
    .global-footer-copyright {
        margin: 20px 0 0;
        font-size: calc( 12rem / var(--themeval-root-font-size) ); /* $base-font-size */
    }

}

@media (max-width: 767px) {

    .global-footer {
        padding: 40px 0;
    }
    .global-footer-credit {
        font-size: calc( 16rem / var(--themeval-root-font-size) ); /* $base-font-size */
    }
    .global-footer-work-data {
        width: 100%;
        max-width: calc(50% + 50vw - 25px);
        padding-bottom: 0;
    }
    .global-footer-logo {
        width: 100%;
        margin-top: 60px;
    }
    .global-footer-logo a {
        width: 110px;
    }
    .global-footer-corp {
        margin-top: 50px;
        font-size: calc( 14rem / var(--themeval-root-font-size) ); /* $base-font-size */
    }
    .global-footer-copyright {
        margin: 10px 0 0;
        font-size: calc( 12rem / var(--themeval-root-font-size) ); /* $base-font-size */
    }

}

@media (max-width: 639px) {

    .global-footer .layout-container {
        width: calc(100% - 60px);
    }

}


