/**
 * @file
 * Subtheme specific CSS.
 */


body {
    background: #fff;
    font-family: "Montserrat", sans-serif;
    font-optical-sizing: auto;
}
h2, h3, h4, h5, h6 {
    font-weight: bold;
}
hr {
    margin: 2rem 0;
}
dl, ol, ul {
    margin-top: 0;
    margin-bottom: 2rem;
}

p {
    margin-top: 2rem;
    margin-bottom: 2rem;
}
a:hover {
    text-decoration: none; }

code {
    color: #fff !important;
    padding: 4px 6px; }

article pre{
    margin-bottom: 2rem;
}

pre code {
    overflow-x: auto;
    border: none; }

.hljs, code {
    border-radius: 4px; }

img {
    width: 100%;
    height: 100%;
    max-width: 100%; }
@media (min-width: 576px) {
    img {
        margin: 0; } }
@media (min-width: 768px) {
    img {
        margin: 0;
        width: 100%;
    }
}
@media (min-width: 992px) {
    img {
        margin: 0;
        width: 100%;
    }
}
@media (min-width: 1200px) {
    img {
        margin: 0;
        width: 100%;
    }
}

.search-form, #edit-basic > fieldset, #block-liner-content > div > ol {
    margin-bottom: 20px; }

#block-googlead1 .content, #block-googlead2 .content {
    text-align: center;
    word-break: break-all; }

.sidebar h2, .sidebar .h2 {
    margin: 0 0 1rem;
    font-weight: bold;
}

#block-liner-content article h2, #block-liner-content article .h2 {
    font-size: 1.6rem; }

#navbar-main {
    background-color: #fff !important;
    z-index: 1;
}
/* footer */
.site-footer .block {
    border: none;
}

/* hamburger menu hidden */

/* ハンバーガーアイコンをFont Awesomeに置き換え */
.navbar-toggler {
    border: none; /* 枠消す（必要なら） */
    padding: 0;
}

/* デフォルトの背景画像を消す */
.navbar-toggler-icon {
    background: none !important;
}

/* 閉じている時（ハンバーガー） */
.navbar-toggler .navbar-toggler-icon::before {
    content: "\f0c9"; /* Font Awesomeのハンバーガー（fa-bars） */
    font-family: "Font Awesome 5 Free"; /* バージョンに合わせる */
    font-weight: 900;
    font-size: 1.5rem;
    color: #000; /* 色調整 */
}

/* 開いている時（×） */
.navbar-toggler[aria-expanded="true"] .navbar-toggler-icon::before {
    content: "\f00d"; /* Font Awesomeの×（fa-times） */
}


#navbar-main > button {
    border: none;
    box-shadow: none; }

.navbar {
    padding: .5rem 1rem;
    max-width: 1200px;
    margin: 0 auto; }

.navbar-dark .navbar-brand:hover, .navbar-dark .navbar-brand:focus, .nav-link:hover, .nav-link:focus, a:focus  {
    color: #171717 !important;
}

#navbar-main {
    border-bottom: solid 1px #dcdcdc;
}

#navbar-main > a {
    color: #171717;
    font-weight: bold;
}

#block-line-mainnavigation-3 ul li ul li.dropdown-item {
    padding: .25rem 0;
}

#block-line-mainnavigation-3 ul li a {
    color: #171717;
}

#block-line-mainnavigation-3 ul li a:hover, #block-line-mainnavigation-3 ul li a:focus {
    color: #4e4e4e;
    background-color: #fff;
}

.dropdown-item:focus, .dropdown-item:hover {
    color: #4e4e4e;
    background-color: #fff;
}

/* テキスト左／アイコン右端 */
.navbar-nav .dropdown-toggle {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 100%;
    gap: .5rem;
    min-width: 0;
}

/* 右端のFont Awesomeアイコン（閉じている時：▼） */
.navbar-nav .dropdown-toggle::after {
    content: "\f107";                 /* ▼ */
    font-family: "Font Awesome 6 Free"; /* FA5の場合。FA6なら "Font Awesome 6 Free" */
    font-weight: 900;                 /* Solid */
    display: inline-block;
    margin-left: auto;                /* これで右端に押し出すキモ */
    border: 0;                        /* Bootstrapの三角を無効化 */
    line-height: 1;
    /* お好みでサイズ調整 */
    font-size: .9em;
}

/* 開いた時は▲に切替 */
.navbar-nav .dropdown-toggle[aria-expanded="true"]::after {
    content: "\f106";                 /* ▲ */
}


#block-line-mainnavigation-3 ul li a {
    text-decoration: none;
}
#block-line-mainnavigation-3 ul li {
    border-bottom: solid 1px #dcdcdc;
}
#block-line-mainnavigation-3 ul li:last-child {
    border-bottom: none;
}
#block-line-mainnavigation-3 ul.dropdown-menu.show {
    border: none;
}

#block-line-mainnavigation-3 ul.dropdown-menu.show li {
    border-bottom: none;
}

.sidebar .block {
    border-style: none;
    padding: 0;
    background-color: #fff !important;
}

/* header */
#header {
    /*background-color: #f5f5f5;*/
    height: 60px;
    margin: 0 auto;
    padding: 0;
    width: 100%;
    z-index: 99;
}

#block-line-content .view-content.row h1 a {
    font-size: 1.6rem;
    font-weight: bold;
    color: #000; }

a, link {
    color: #212529;
    cursor: pointer;
    text-decoration: none;
}
a:hover {
    text-decoration: underline;
}

.adsense__banner {
    margin-bottom: 1rem; }

h1, .h1 {
    font-size: 1.6rem;
    line-height: 1.4;
}

h2, .h2 {
    font-size: 1.4rem;
    line-height: 1.2;
}

h3, .h3 {
    font-size: 1.2rem;
    line-height: 1.0;
}

h4, .h4 {
    font-size: 1rem;
    line-height: 1.0;
}

.node__content {
    margin-top: 2rem;
}


/* TB mega menu */
.tbm {
    background-color: #FFF;
}

.tbm-item.level-1 {
    border-right: none;
}

.tbm-link.level-1:hover, .tbm-link.level-1:focus {
     background-color: #fff;
}

#tbm-main ul li .tbm-link-container a {
    text-decoration: none;
}

.tbm-submenu {
    box-shadow: none;
}

.featured-top__inner {
    box-shadow: 0 1px 1px #dcdcdc;
    margin: 0 auto 20px;
}

#tbm-main ul li .tbm-link-container {
    font-weight: bold;
}

.tbm.tbm--mobile .tbm-button {
    display: none;
}

.navbar-toggler-icon {
    width: unset;
    height: unset;
}

/* Tag */
#block-line-views-block-block-tag-block-1 .view-content ul {
    display: flex;
    flex-wrap: wrap;
}
block-line-views-block-block-tag-block-1 .view-content ul li {
    padding: .5rem 0;
    flex: 1 1 auto;
}

#block-line-views-block-block-tag-block-1 .view-content ul li span a {
    padding: 6px 10px;
    /*border-radius: 3px;*/
    color: #171717;
    text-decoration: none;
}

/* tag */
#block-line-mainnavigation--2 ul {
    flex-direction: unset;
}
#block-line-mainnavigation--2 ul li {
    display: inline-block;
    margin: 0 .5rem .8rem 0;
}
#block-line-mainnavigation--2 ul li a {
    padding: 6px 10px;
    border: 1px solid #D7D3D3;
    border-radius: 4px;
    text-decoration: none; }
#block-line-mainnavigation--2 ul li a:hover {
    color: #171717;
}
#block-line-mainnavigation-2 ul li.nav-item a.nav-link:hover, #block-line-mainnavigation-3 ul li.nav-item a.nav-link:hover {
    color: #171717; }

.navbar-dark .navbar-toggler-icon {
    background-image: url("data:image/svg+xml;charset=utf8,%3Csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath stroke='rgba(71,71,71,1)' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3E%3C/svg%3E"); }

#block-views-block-kanren-block-1 .item-list {
    width: 100%; }

#block-liner-page-titleAM h1 span, #block-liner-page-titleAM .h1 span {
    margin: 0 !important; }

#block-mainnavigation-menu h2, #block-mainnavigation-menu .h2 {
    margin: 0;
}

#block-line-views-block-frontpage-block-1 {
    border-top: 1px solid #d6d6d6;
}
.views-view-responsive-grid__item {
    margin-bottom: 4rem;
}
.views-view-responsive-grid__item-inner {
    padding: 0 1.2rem;
}

#block-line-views-block-frontpage-block-1 .news-content__news__inner {
    margin-bottom: 2rem;
}
.news-content__news__inner-tag {
    text-align: center;
    margin: 1rem 0 1rem;
}

.news-content__news__inner-title {
    text-align: center;
}

.news-content__news__inner-date {
    text-align: center;
    margin: 1rem 0 1rem;
    font-size: small;
}

/* toppage_ */
#block-line-views-block-frontpage-block-1 .news-content__news__inner-image-wrapper {
    position: relative;
}

#block-line-views-block-frontpage-block-1 .news-content__news__inner-image-wrapper img {
    display: block;
    width: 100%;
    height: auto;
}

#block-line-views-block-frontpage-block-1 .news-content__news__overlay {
    position: absolute;
    bottom: 50px;
    left: 15px;
    right: 15px;
    color: #fff;
    background: rgba(0,0,0,0.3);
    padding: 10px;
    border-radius: 6px;
}

#block-line-views-block-frontpage-block-1 .news-content__news__overlay a {
    color: #fff;
    text-decoration: none;
}

#swiper-frontpage-block-1 > div.swiper-button-next.swiper-frontpage-block-1-next, #swiper-frontpage-block-1 > div.swiper-button-prev.swiper-frontpage-block-1-prev, #block-line-views-block-frontpage-block-1  .swiper-button-prev.swiper-top-widget-block-1-next, #block-line-views-block-frontpage-block-1  .swiper-button-prev.swiper-frontpage-block-1-prev {
    right: 5px;
    width: 35px;
    height: 35px;
    background: #9e9e9e;
    line-height: 2.1875rem;
    padding-top: 0.1875rem;
    color: #FFF;
    font-size: 1.125rem;
    border-radius: 50px;
    /*-webkit-box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.5);*/
    /*box-shadow: 0 2px 3px 0 rgba(0, 0, 0, 0.5);*/
    display: -webkit-box !important;
    display: -ms-flexbox !important;
    display: flex !important;
}

#swiper-frontpage-block-1 .swiper-button-prev.swiper-frontpage-block-1-prev,#block-line-views-block-frontpage-block-1  .swiper-button-prev.swiper-frontpage-block-1-prev {
    left: 5px;
}

#swiper-frontpage-block-1 .swiper-button-next:after, #swiper-frontpage-block-1 .swiper-button-next:before, #swiper-frontpage-block-1 .swiper-button-prev:after, #swiper-frontpage-block-1 .swiper-button-prev:before {
    font-size: 0.9375rem;
}

#swiper-frontpage-block-1 .swiper-pagination.pagination-swiper-frontpage-block-1.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
    bottom: 3rem;
}

#swiper-frontpage-block-1 span.swiper-pagination-bullet {
    background: #fff;
}

@media (max-width: 648px) {
    .views-view-responsive-grid__item-inner {
        padding: 0;
    }
    #block-line-views-block-frontpage-block-1 .news-content__news__inner-tag {
        margin: 0 0 .2rem;
    }
    #block-line-views-block-frontpage-block-1 .news-content__news__inner-date {
        display: none;
    }
    #swiper-frontpage-block-1 .swiper-button-prev.swiper-frontpage-block-1-prev, #swiper-frontpage-block-1 .swiper-button-next.swiper-frontpage-block-1-next {
        display: none;
    }
    #swiper-frontpage-block-1 .news-content__news__inner-title h2 {
        font-size: 1rem;
        margin-bottom: 0;
    }
    #block-line-views-block-frontpage-block-1 .news-content__news__overlay {
        bottom: 30px;
    }
    #swiper-frontpage-block-1 .swiper-pagination.pagination-swiper-frontpage-block-1.swiper-pagination-clickable.swiper-pagination-bullets.swiper-pagination-horizontal {
        bottom: 2.5rem;
    }
}

.news-content__news__inner-tag a, .news-content__news__inner-date a {
    color: #171717;
}
.news-content__news__inner-title a {
    color: #171717;
    font-weight: bold;
}
.news-content__news__inner-tag a {
    padding: 6px 10px;
    /*border: 1px solid #d6d6d6;*/
    font-size: small;
    border-radius: 0;
    text-decoration: none;
    margin: 0 .2rem;
}

.news-content__news__inner-tag a:focus, .news-content__news__inner-tag a:hover, .news-content__news__inner-title a:focus, .news-content__news__inner-title a:hover, .news-content__news__inner-date a:focus, .news-content__news__inner-date a:hover {
    color: #878787;
    /*background-color: #fff;*/
}

#block-line-content nav ul li.page-item .page-link {
    border: none;
    color: #171717;

}
#block-line-content nav ul li.page-item.active span.page-link {
    color: #171717;
    font-weight: bold;
    background-color: #FFF;
}

body.page-view-frontpage .main-content {
    padding-top: 3rem;
}
body.page-view-frontpage .content nav ul.pagination.js-pager__items {
    display: flex;
    justify-content: center;
}
/*#block-line-views-block-frontpage-block-1 .content nav ul li.page-item a.page-link {*/
/*    display: none; }*/

#block-line-page-title > div.content > h1.title {
    font-weight: bold;
}

.bg-primary {
    background-color: #f5f5f5 !important;
    z-index: 1; }

#search-block-form > fieldset {
    margin-right: 10px; }
#search-block-form > fieldset label {
    display: none; }

#block-copyright {
    width: 100%; }

.navbar-dark .navbar-toggler {
    color: #171717; }

.navbar-dark .navbar-nav .show > .nav-link, .navbar-dark .navbar-nav .active > .nav-link, .navbar-dark .navbar-nav .nav-link.show, .navbar-dark .navbar-nav .nav-link.active, .navbar-dark .navbar-nav .nav-link {
    color: #171717; }

.navbar-nav .nav-link {
    padding: 10px 0;
    color: #171717;
}

#block-line-content .feed-icons {
    display: none;
}

#block-line-content ul.js-pager__items.pager {
    padding: 0;
    list-style-type: none;
}
#block-line-content ul.js-pager__items.pager li {
    text-align: center;
    display: flex;
    justify-content: center;
}

#block-line-content ul.js-pager__items.pager li a {
    padding: 6px 10px;
    background: #666666;
    border-radius: 3px;
    color: #fff;
    text-decoration: none;
}
#block-views-block-kanren-block-1 .content .view-content.row ul li a {
    padding: 10px 1rem;
    display: block; }

#block-mainnavigation ul li a.nav-link {
    padding: 6px 1rem; }

.collapse.show {
    z-index: 99999; }

#navbar-top {
    margin: 0 auto; }
@media (min-width: 576px) {
    #navbar-top {
        max-width: 540px; } }
@media (min-width: 768px) {
    #navbar-top {
        max-width: 720px; } }
@media (min-width: 992px) {
    #navbar-top {
        max-width: 960px;
        width: 960px; } }
@media (min-width: 1200px) {
    #navbar-top {
        max-width: 110px; } }
#navbar-top #navbar-top section a {
    color: #000; }

@media (min-width: 768px) {
    #sidebar_second.col-md-3 {
        flex: none;
        max-width: none;
        width: 100%; } }

@media (min-width: 992px) {
    #sidebar_second.col-md-3 {
        flex: 0 0 25%;
        max-width: 25%;
        min-width: 300px; } }

@media (min-width: 992px) {
    #content {
        width: 75%;
        min-width: 300px; } }

#search-block-form {
    padding: 10px 1rem; }

#block-line-mainnavigation--2 h2, #block-line-mainnavigation-menu .h2, #block-views-block-kanren-block-1 > h2, #block-views-block-kanren-block-1 > .h2, #block-line-mainnavigation-menu, #block-line-search h2, #block-line-search .h2 {
    width: 100%;
    padding: 10px .5rem;
    margin-bottom: 1rem;
    font-weight: bold; }

.sidebar nav ul.nav {
    margin: 0; }

.navbar-dark .navbar-brand {
    color: #000;
}

@media (min-width: 992px) {
    .container-fluid,
    .container-sm,
    .container-md,
    .container-lg,
    .container-xl,
    .container-xxl {
        max-width: 1200px;
        width: 1200px;
    }
}

#block-liner-content > div > article > header > span {
    display: block; }

.views-field.views-field-field-tags a, ul.links.field__items li a {
    padding: 8px 12px;
    background: #666666;
    border-radius: 3px;
    color: #fff;
    text-decoration: none; }

/*#sidebar_second {*/
/*    padding: 0; }*/

.views-row {
    width: 100%;
    margin-bottom: 2em; }

#block-liner-content .views-field.views-field-title {
    font-size: 2rem; }

#block-mainnavigation ul li {
    border: #D7D3D3 solid 1px;
    border-radius: 50px;
    margin: 10px;
    padding: 0;
    width: fit-content;
    word-break: break-all; }

ul#block-mainnavigation.navbar-nav {
    flex-direction: unset; }

#block-views-block-kanren-block-1 ul li {
    border-bottom: #D7D3D3 solid 1px;
    padding: 0;
    word-break: break-all;
}

#block-line-page-title h1 span, #block-line-page-title .h1 span {
    margin: 20px 0 !important;
}

.nav-link {
    padding: 0; }

@media (min-width: 992px) {
    #block-line-mainnavigation-3 {
        display: none; } }

#block-line-mainnavigation-2 .sr-only, #block-line-mainnavigation-3 .sr-only {
    display: none; }

#block-line-page-title > div > h1 > span, #block-line-page-title > div > .h1 > span {
    display: block;
    font-weight: bold;
    margin: 20px; }

.container {
    width: 100%;
    padding-right: 15px;
    padding-left: 15px;
    margin-right: auto;
    margin-left: auto; }
@media (min-width: 576px) {
    .container {
        max-width: none; } }
@media (min-width: 768px) {
    .container {
        max-width: none; } }
@media (min-width: 992px) {
    .container {
        max-width: 960px; } }
@media (min-width: 1200px) {
    .container {
        max-width: 1200px;
        width: 1200px; } }

/* table */
table {
    width: 100%;
    margin-bottom: 1rem;
    color: #212529; }

table.table tr td {
    background-color: #fff;
    border-bottom: 1px solid #dcdcdc;
    border-right: none;
    border-left: none;
}

table.table tr th{
    color: #000000;
    border-top: 1px solid #dcdcdc;
    border-bottom: 1px solid #dcdcdc;
    border-right: none;
    border-left: none;
}