@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.11.3/font/bootstrap-icons.min.css");
* {box-sizing:border-box;}
html, html a, * {-webkit-font-smoothing:antialiased; font-smoothing:antialiased; text-rendering:optimizeLegibility;}
body {position:relative; margin:0; padding:0; padding-right:0 !important; background-color:#fff; color:#15284d; -webkit-text-size-adjust:none; font-family:'Noto Sans JP', sans-serif; font-weight:400; font-size:14px; line-height:1.65;}
body.lock {overflow:hidden;}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {}
a {color:#15284d; transition:all .2s ease-in-out;}
a:link, a:visited {text-decoration:none;}
a:hover {text-decoration:none; color:#15284d;}
figure {margin:0;}
small {font-weight:300;}
.text-primary {color:#15284d !important;}
.btn-primary {background-color:#15284d; border-color:#15284d; color:#fff;}
.btn-primary:hover,
.btn-primary:focus,
.btn-primary:not(:disabled):not(.disabled):active {background-color:#fff; border-color:#15284d; color:#15284d;}
.text-bg-primary {background-color:#15284d !important;}

#header {}
.navbar-global {padding:12px 0; background-color:#15284d;}
.navbar-brand {margin-bottom:0;}
.navbar-brand a {display:block; width:38px; height:25px; margin:0 auto; background-image:url(../images/logo.svg); background-size:100% auto; background-position:top left; background-repeat:no-repeat;}
.navbar-header {align-items:center;}
.navbar-header .nav-link {color:#15284d;}
.navbar-toggle {}
.navbar-header .nav-link {color:#fff;}

.section-hero {}

#content {padding-top:64px;}

mark {padding:0;}
.wp-block-quote {padding:1em 1em 0; border:2px dashed #15284d;}
.wp-block-separator {margin-bottom:1.5em; border-bottom-color:#dee2e6;}
h1.wp-block-heading {font-size:1.5rem;}
h2.wp-block-heading {font-size:1.25rem;}
h3.wp-block-heading {border-left:.25em solid #15284d; padding-left:.5em; font-size:1.15rem;}
h4.wp-block-heading {font-size:1.05rem;}
h5.wp-block-heading {font-size:1rem;}
h6.wp-block-heading {font-size:.85rem;}
.editor a {color:#0d6efd; text-decoration:underline;}
.editor a:hover {text-decoration:none;}

.pagination {position:fixed; bottom:0; left:0; width:100%; padding:16px; background-color:rgba(255, 255, 255, .85); justify-content:center; z-index:100;}
.pagination .nav-links {}
.pagination ul {display:flex; gap:8px; margin-bottom:0; padding-left:0; list-style:none;}
.pagination ul .current,
.pagination ul a {display:flex; justify-content:center; align-items:center; min-width:30px; height:30px; border:1px solid #15284d;}
.pagination ul .current,
.pagination ul a:hover {background-color:#15284d; color:#fff;}

.footer a,
.footer a:hover {color:#15284d;}
.footer a:hover {text-decoration:underline;}

#pagetop {position:fixed; bottom:15px; right:15px; display:flex; justify-content:center; align-items:center; width:40px; height:40px; border-radius:20px; background-color:#15284d; color:#fff; font-size:20px;}

.wpcf7-spinner {display:block; margin:10px auto 0;}

@media (max-width:767px) {
    body {min-width:inherit; max-width:inherit; font-size:14px; letter-spacing:0;}
    p:not(:last-child) {margin-bottom:15px;}
    .btn {width:auto; height:auto; border-radius:30px;}

    .navbar-global {}
    .navbar-brand {}
    .navbar-brand a {width:231px; height:18px;}

    #content {padding-top:50px;}
    #pagetop {}
}

.taxonomy-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 15px;
    list-style: none;
    padding: 0;
}

.cols-5 {
    grid-template-columns: repeat(5, 1fr);
}

.parent-term {
    background: #f8f9fa;
    padding: 15px;
    border-radius: 5px;
    position: relative;
}

.parent-term-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.parent-term-header i {
    font-size: 20px;
    color: #15284d;
}

.term-name {
    font-weight: bold;
    font-size: 1.2em;
    text-decoration: none;
    color: #15284d;
    width: 100%;
}

.toggle-button {
    background: #15284d;
    color: white;
    border: none;
    padding: 5px 10px;
    cursor: pointer;
    border-radius: 3px;
    white-space: nowrap;
}

.child-list {
    list-style: none;
    margin-top: 10px;
    padding-left: 20
}

.inpage_nav {
    position: sticky;
    top: calc(var(--navbar-height, 50px) + 10px); /* ヘッダー高さ + 余白 */
    max-height: calc(100vh - var(--navbar-height, 50px) - 20px); /* 画面の高さ - ヘッダー高さ */
    overflow-y: auto;
}

@media print {
    #header,
    .breadcrumb,
    .inpage_nav {
        display:none !important;
    }
}
