@media screen and (min-width: 768px) {
    /*(min-width: 992px)は#chatbotと重なる*/
    .p-centX__pagetop {
        bottom: 250px;
    }
}
/*アプリダウンロード　クリックして閉じる*/
/*閉じるボタン*/
label.centxAppToggle {
    position: fixed;
    bottom: 60px;
    right: 30px;
    width: 23px;
    height: 23px;
    z-index: 3;
    cursor: pointer;
    background: #ffffff;
    border-radius: 3px;
    transition: all 0.3s;
}
label.centxAppToggle:after, label.centxAppToggle:before {
    content: "";
    display: block;
    position: fixed;
    bottom: 70px;
    right: 31px;
    width: 22px;
    height: 0;
    border-top: 2px solid #555555;
    transform: rotate(-45deg);
    transition: all 0.3s;
}
label.centxAppToggle:before {
    transform: rotate(45deg);
}
label.centxAppToggle:hover {
    background: #dfdfdf;
}
/*チェックボックス*/
input#dispCentxAppSwitch {
    display: none;
}
/*内容表示を消す*/
input#dispCentxAppSwitch:checked ~ .p-centX__dl {
    display: none;
    transition: all 0.3s;
}
/*閉じるボタンを消す*/
input#dispCentxAppSwitch:checked ~ label.centxAppToggle {
    display: none;
    transition: all 0.3s;
}
/*pagetopを下げる*/
input#dispCentxAppSwitch:checked ~ .p-centX__pagetop {
    bottom: 180px;
}
/*chatbotの位置を戻す*/
input#dispCentxAppSwitch:checked ~ #chatbot #chat_ico {
    bottom: 20px !important;
}
@media screen and (max-width:991px) {
    /*閉じるボタン*/
    label.centxAppToggle {
        bottom: 75px;
    }
    label.centxAppToggle:after, label.centxAppToggle:before {
        bottom: 85px;
    }
}
@media screen and (max-width:767px) {
    input#dispCentxAppSwitch:checked ~ .p-centX__pagetop {
        bottom: 80px;
    }
}
@media screen and (max-width:500px) {
    label.centxAppToggle {
        right: 4%;
    }
    label.centxAppToggle:after, label.centxAppToggle:before {
        right: 4%;
    }
}
/*-------------------------------*/
/*ヘッダー*/
header.headerCentX {
    background: #ffffff;
    padding: 20px;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
    z-index: 1001;
}
nav.headerNavCentX {}
.headerNavCentXgNav {
    display: flex;
    font-size: 1.25rem;
}
.headerNavCentXgNav a {
    color: #000;
    text-decoration: none;
    align-items: center;
    font-weight: bold;
}
@media screen and (min-width: 992px) {
    header.headerCentX {
        display: flex;
        justify-content: space-between;
        align-items: center;
    }
    header.headerCentX .navbar-collapse {
        flex-basis: auto;
        flex-grow: 0;
    }
}
@media screen and (max-width: 991px) {
    header.headerCentX {
        height: 70px;
        padding: 0;
    }
    nav.headerNavCentX {
        display: block;
    }
    .headerNavBar {
        position: fixed;
        z-index: 200;
        width: 100%;
        height: 70px;
        padding: 20px;
        background: #ffffff;
        box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.1);
    }
    .headerNavCentXLogo {
        position: fixed;
        top: 20px;
    }
    nav.headerNavCentX {
        border-bottom: 1px solid #dddddd;
    }
    nav.headerNavCentX li + li {
        border-top: 1px solid #dddddd;
    }
    nav.headerNavCentX li a {
        display: block;
        padding: 10px 20px;
    }
    nav.headerNavCentX li a.nav-link.dropdown-toggle {
        display: none;
    }
    nav.headerNavCentX .layLocalTop {
        font-size: 1.25rem;
    }
    nav.headerNavCentX .layLocalMenuList {
        border-top: 1px solid #dddddd;
    }
    nav.headerNavCentX .layLocalMenuList li {
        padding-left: 20px;
    }
    .headerNavCentXgNav a, .headerNavCentXgNav a.nav-link.dropdown-toggle {
        position: relative;
    }
    .headerNavCentXgNav a::after, .headerNavCentXgNav a.nav-link.dropdown-toggle::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        right: 20px;
        width: 8px;
        height: 8px;
        margin: 0;
        padding: 0;
        border-right: 2px solid #326199;
        border-bottom: 2px solid #326199;
        transform: rotate(-45deg);
        transform-origin: center;
    }
}
@media screen and (min-width: 992px) {
    header.headerCentX {
        padding: 0 80px 0 40px;
    }
    .headerNavCentXgNav .gNavItem + .gNavItem {
        margin-left: 60px;
    }
    .headerNavCentXgNav .gNavItem > a {
        padding: 35px 0;
        display: block;
        border-bottom: none;
        position: relative;
    }
    .headerNavCentXgNav a.nav-link.dropdown-toggle.show {
        color: #326199;
    }
    .headerNavCentXgNav .gNavItem > a::after, .headerNavCentXgNav a.nav-link.dropdown-toggle::after {
        content: "";
        display: block;
        width: 100%;
        height: 3px;
        border: none;
        transform: rotate(0deg);
        position: absolute;
        left: 0;
        bottom: 0;
        background: #326199;
        vertical-align: inherit;
        opacity: 0;
        transition: .5s;
    }
    .headerNavCentXgNav .gNavItem > a:hover::after, a.nav-link.dropdown-toggle:hover::after {
        opacity: 1;
        transition: .5s;
    }
}
/*ドロップダウンメニュー*/
@media screen and (min-width: 992px) {
    .dropdown {
        position: relative;
    }
    .dropdown-menu {
        display: block;
        opacity: 0;
        visibility: hidden;
        background: none;
        transition: opacity 0.3s ease;
    }
    .dropdown-menu.show {
        opacity: 1;
        visibility: visible;
        position: relative;
        display: flex;
        align-items: flex-start;
        width: 100vw;
        min-width: 1200px;
        height: 100vh;
        margin: 50px;
        padding: 0;
        color: #326199;
        background: rgba(0, 0, 0, 0.50);
        border: none;
        border-radius: 0;
        z-index: 20;
        inset: 0 !important;
    }
    .gNavItem .dropdown-toggle::after {
        display: none;
    }
    .dropdown-menu.show .wrapGnavChild {
        position: relative;
        display: flex;
        justify-content: center;
        align-items: flex-start;
        width: 100%;
        height: 100%;
        margin: -2px 0 0;
        padding: 30px;
        height: fit-content;
        font-size: 1.1rem;
        background: #ffffff;
        border-bottom: 2px solid #326199;
        box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.2);
        z-index: 10;
    }
    .dropdown-menu.show .wrapGnavChild .wrapCateNavTypDropdownMenu {
        display: flex;
        justify-content: space-between;
        width: 100%;
        max-width: 1100px;
        padding: 15px;
    }
    .layLocalTop {
        margin-top: -5px;
        width: 23%;
    }
    .headerNavCentXgNav .layLocalTop a {
        font-size: 1.4rem;
        color: #326199;
    }
    .layLocalMenu {
        width: 75%;
        margin: -10px;
    }
    .layLocalMenu .layLocalMenuList {
        display: flex;
        flex-wrap: wrap;
        width: 100%;
    }
    .layLocalMenu li {
        padding: 10px;
    }
    .layLocalTop a, .layLocalMenu li a {
        display: flex;
        align-items: center;
        padding: 10px 20px;
    }
}
/*-------------------------------*/
/*「ページの上部に戻る」*/
#centXtoPageTop {
    position: fixed;
    right: 15px;
    bottom: 180px;
    font-size: 0.625rem;
    text-align: center;
    background: -moz-linear-gradient(left, #b81c2b 20%, #ed7969 35%, #fabe00 55%, #61c3d4 75%);
    background: -webkit-linear-gradient(left, #b81c2b 20%, #ed7969 35%, #fabe00 55%, #61c3d4 75%);
    background: linear-gradient(to right, #b81c2b 20%, #ed7969 35%, #fabe00 55%, #61c3d4 75%);
    box-shadow: 0px 5px 10px rgba(0, 0, 0, 0.16);
    padding: 5px;
    border-radius: 50%;
    font-family: Arial, Helvetica, "sans-serif";
    font-weight: bold;
    cursor: pointer;
    text-decoration: none;
    color: #333333;
    z-index: 2;
}
#centXtoPageTop:not(.show) {
/* ユーザがページをスクロールするまでは、このボタンを隠す */
/* opacity: 0;
pointer-events: none;*/
}
.p-centX__pagetop-inner {
    background: #FFF;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    align-content: center;
}
@media screen and (min-width: 992px) {
    #centXtoPageTop {
        padding: 7px;
        font-size: 0.9375rem;
    }
    .p-centX__pagetop-inner {
        width: 90px;
        height: 90px;
    }
}
@media screen and (min-width: 768px) {
    #centXtoPageTop {
        bottom: 250px;
    }
}
/*-------------------------------*/
:root {
    scroll-padding: 80px;
}
@media screen and (min-width: 992px) {
    :root {
        scroll-padding: 120px;
    }
}
/*-------------------------------*/
/*ハンバーガーメニュー*/
@media screen and (max-width:991px) {
    #navbarSupportedContent {
        position: fixed;
        display: block;
        top: 70px;
        top: 0;
        left: 0;
        width: 100%;
        height: 0;
        padding: 70px 0 20px;
        background: #ffffff;
        overflow: auto;
        filter: alpha(opacity=0);
        -moz-opacity: .0;
        opacity: .0;
        transition: all 0.2s;
        z-index: 20;
    }
    #navbarSupportedContent.collapse.show {
        height: 100%;
        filter: alpha(opacity=100);
        -moz-opacity: 1;
        opacity: 1;
        transition: all 0.2s;
    }
    #navbarSupportedContent.collapse.show .dropdown-menu, .headerNavCentXgNav .dropdown-menu.show {
        display: block;
        position: relative !important;
        margin: 0;
        padding: 0;
        border: none;
    }
    #navbarSupportedContent .headerNavCentXgNav {
        display: block;
    }
    .dropdown-menu {
        height: auto;
        opacity: 1;
        visibility: visible;
    }
    .dropdown-cat-title {
        width: auto;
    }
    .dropdown-menu-org {
        display: block;
        margin: 0;
        width: auto;
    }
}
/*-------------------------------*/
/*ハンバーガーメニューボタン*/
button.navbar-toggler {
    display: none;
}
@media screen and (max-width:991px) {
    button.navbar-toggler {
        display: block;
        position: fixed;
        top: 20px;
        right: 20px;
        left: calc(100% - 40px);
        text-align: center;
        z-index: 1002;
    }
    button.navbar-toggler:focus, button.navbar-toggler:hover {
        outline: 1px solid #ffffff !important;
    }
    button.navbar-toggler .layIcon {
        position: relative;
        width: 100%;
        height: 24px;
    }
    button.navbar-toggler .navbar-toggler-icon {
        display: block;
        width: 30px;
        height: 35px;
    }
    button.navbar-toggler .navbar-toggler-icon:before, button.navbar-toggler .navbar-toggler-icon:after {
        content: "";
        position: absolute;
        left: 0;
        width: 20px;
        height: 2px;
        background: #000000;
    }
    button.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon {
        position: absolute;
        top: 16px;
        width: 20px;
        height: 2px;
        background: #000000;
    }
    button.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon:before {
        top: -10px;
        transition: transform 0.2s ease;
    }
    button.navbar-toggler[aria-expanded="false"] .navbar-toggler-icon:after {
        bottom: -10px;
        transition: transform 0.2s ease;
    }
    /*閉じるボタン*/
    button.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:before {
        top: 15px;
        transform: rotate(45deg);
        transition: transform 0.2s ease;
    }
    button.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon:after {
        top: 15px;
        transform: rotate(-45deg);
        transition: transform 0.2s ease;
    }
    .navbar-toggler-txt-menu, .navbar-toggler-txt-close {
        display: none;
    }
    button.navbar-toggler[aria-expanded="true"] .navbar-toggler-txt-menu {
        display: none;
    }
    button.navbar-toggler[aria-expanded="true"] .navbar-toggler-txt-close {
        position: absolute;
        bottom: 0;
        width: 100%;
        text-align: center;
    }
    button.navbar-toggler[aria-expanded="false"] .navbar-toggler-txt-menu {
        position: absolute;
        bottom: 0;
        width: 100%;
        text-align: center;
    }
    button.navbar-toggler[aria-expanded="false"] .navbar-toggler-txt-close {
        display: none;
    }
}
/*-------------------------------*/
html.menuOpen {
    /*<button onclick="document.documentElement.classList.toggle('menuOpen') && (globalMenu.scrollTop = 0)">*/
    /* メニューが開いている時はページスクロールを無効化する */
    overflow: hidden;
}
/*-------------------------------*/
/*end*/