@charset "utf-8";
@import url("./base_style.css");
@import url("./topics_style.css");
@import url("./anim_style.css");

/* CSS Document */

/* メインナビゲーション */
header.uk-sticky {z-index: 990;}

.nav-safety {
	position: absolute;
	top: 0;
	z-index: 99;
	left: 0;
	right: 0;
}

.uk-logo img {
    height: 50px;
}
.uk-logo.logo-w, 
.navtoggled .uk-logo.logo-c {display: block;}
.uk-logo.logo-c, 
.navtoggled .uk-logo.logo-w {display: none;}

/* .toppage .scroll2view .logo, */
.top-wrap-height {
    height: 100vh;
    min-height: 480px;
    transition: height 0.25s;
}

.scroll2view #page_top {
    display: none;
}
.font-toggle {
    color: white!important;
    transition: all .3s ease-out;
}
.navtoggled .font-toggle {color: var(--cp-base-01)!important;}

.subtitle-text {
    opacity: 1;
    color: white!important;
}

.uk-navbar-nav {
    gap: 0;
}
.uk-navbar-nav>li>a, 
.uk-navbar-toggle {
    color: white;
}
.navtoggled .uk-navbar-nav>li>a, 
.navtoggled .uk-navbar-toggle {
    color: var(--cp-base-05);
}
.uk-navbar-nav>li:hover>a,
.uk-navbar-nav>li>a.uk-open {
    transition: all .3s ease-out;
    color: white;
}
.uk-navbar-nav>li.sel {
    background: var(--cp-base-02);
}
.uk-navbar-right ul>li>a {
    position: relative;
    padding-left: 20px;
    padding-right: 20px;
}
.uk-navbar-right ul>li>a::before {
    position: absolute;
    z-index: -1;
    bottom: 0;
    left: 0;
    content: '';
    width: 100%;
    height: 100%;
    background: var(--cp-base-01);
    transform: scale(1, 0);
    transform-origin: left top;
    transition: transform .3s;
}
.uk-navbar-right ul>li>a:hover::before {
    transform-origin: left top;
    transform: scale(1, 1);
}

.uk-subnav-pill > * > :first-child {
    background-color: rgba(0, 0, 0, 0.25);
    color: var(--cp-base-02);
}
.uk-subnav-pill>.uk-active>a {
    background-color: var(--cp-base-01);
}



#page_top {
    --nm-arg: 0;
    width: 60px;
    height: 60px;
    position: fixed;
    right: 10px;
    bottom: 10px;
    opacity: .7;
    transition: all .2s ease-out;
    z-index: 50;
}
#page_top a {
    position: relative;
    display: block;
    width: 60px;
    height: 60px;
    text-decoration: none;
}
#page_top a::before {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    content: '\f102';
    font-size: 25px;
    color: white;
    position: absolute;
    width: 25px;
    height: 25px;
    top: -15px;
    bottom: 0;
    right: 0;
    left: 0;
    margin: auto;
    text-align: center;
}
#page_top:hover {
    opacity: 1;
}

address {
    margin: 0;
    padding: 0;
	font-style: normal;
}
.copyright {
	font-size: 0.8em;
	text-align: center;
}

@media screen and (max-width: 640px) {
    .resp-table th,
    .resp-table td {
        display: block!important;
    }
    .resp-table_green th {
        color: white;
        background-color: rgb(166,195,172);
    }
    .resp-table_pa0 th,
    .resp-table_pa0 td {
        padding: 0;
    }
    .resp-table_pa5 th,
    .resp-table_pa5 td {
        padding: 5px;
    }
    .resp-table_pa10 th,
    .resp-table_pa10 td {
        padding: 10px;
    }
}

/* フロートナビゲーション */
:has(> .floatnav) {
    box-sizing: border-box;
    width: 320px;
}

/* 汎用 */
@media (max-width: 639px) {
    .auto-scale {transform: scale(.75);}
    .auto-scale-xs {transform: scale(.65);}
}

@media (max-width: 1539px) {
    .uk-navbar-center:not(:only-child) {
        left: calc(((100vw - 295px - 406.25px) / 2) + 295px);
    }
}

@media (max-width: 1279px) {
    .uk-visible\@1280 {display: none!important;}
    .mr0_1280 {margin-right: 0!important;}
}
@media (min-width: 1280px) {
    .uk-hidden\@1280 {display: none!important;}
}

.btn-basic {
    display: inline-block;
    background: white;
    position: relative;
    padding: 6px 40px 4px;
    text-decoration: none;
    color: var(--cp-base-01);
    border: var(--cp-base-01) 1px solid;
    transition: all .2s;
}
.cardlink:hover .btn-basic, 
.btn-basic:hover {
    opacity: .95;
    background: var(--cp-base-01);
    color: white;
    text-decoration: none;
}
.btn-basic::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url("../img/asset/bg_line_black.png") repeat;
    background-size: 4px;
    position: absolute;
    right: 0px;
    bottom: 0px;
    z-index: -1;
    transition: all .2s;
}
.cardlink:hover .btn-basic::after, 
.btn-basic:hover::after {
    transform: translate(5px, 5px);
}

.btn-basic-w {
    display: inline-block;
    background: var(--cp-base-01);
    position: relative;
    padding: 6px 40px 4px;
    text-decoration: none;
    color: white;
    border: white 1px solid;
    transition: all .2s;
}
.cardlink:hover .btn-basic-w, 
.btn-basic-w:hover {
    opacity: .95;
    background: white;
    color: var(--cp-base-01);
    text-decoration: none;
}
.btn-basic-w::after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background: url("../img/asset/bg_line.png") repeat;
    background-size: 4px;
    position: absolute;
    right: 0px;
    bottom: 0px;
    z-index: -1;
    transition: all .2s;
}

.cardlink:hover .btn-basic::after, 
.btn-basic:hover::after, 
.cardlink:hover .btn-basic-w::after, 
.btn-basic-w:hover::after {
    transform: translate(5px, 5px);
}

.cardlink {
    position: relative;
}
.cardlink .news-category {
    position: absolute;
    top: 0;
    left: 0;
    display: inline-block;
    background-color: white;
    margin: 0;
    padding: 5px;
    border-radius: 0 0 4px 0;
    font-size: .8rem;
}
.topics-category {
    font-size: .85rem;
    color: white;
    display: inline-block;
    background-color: var(--cp-base-02);
    margin: 10px 0 0;
    padding: 2px 10px;
    border-radius: 4px;
}



.uk-lightbox {background: rgba(0, 0, 0, .8);}
.uk-lightbox-iframe {background: white;}