/*
Theme Name: balp_260807_1003
Description: Unified theme (parent + child merged).
Author: Your Name
Version: 1.0
*/
body {
    font-size: 16px;
    line-height: 1.6;
    letter-spacing: 0.052rem;
    word-wrap: break-word;
    word-break: break-all;
    font-family:"メイリオ",Meiryo,"Noto Sans JP","Yu Gothic",YuGothic,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック","MS PGothic",sans-serif;
    /* background-color: #cecece; */
    color:#444444;
}

@media screen and (min-width: 1024px) {
    body {
        font-size: 17px;
    }
}

img {
    width: 100%;
}

main {
    background-color: #fff;
}

a {
    color: #001021;
    transition: color 0.2s ease, opacity 0.2s ease;
}

a:hover {
    color: #116fd3;
}

hr {
    margin: 72px 0;
}

.site-header {
    padding: 20px 1.2rem 20px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: bold;
    font-size: 0.8rem;
    margin: 0 auto;
    background-color: #fff;
}

@media screen and (min-width: 1024px) {
    .site-header {
        padding: 24px 1.2rem 24px;
    }
}

.site-footer {
    padding: 12px 1.0rem;
    width: 100%;
    z-index: -1;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    font-size: 0.6rem;
    margin: 0 auto;
    /* color: #fff; */
}

.main-wrap {
    width: 92%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    overflow: hidden;
    max-width: 1200px;
    margin: 0 auto;
    min-height: 96vh;
    padding-top: 10px;
    padding-bottom: 40px;
}

/* .main-content {
    width: 68%;
} */

.sidebar {
    width: 28%;
}

.post {
    margin-bottom: 2rem;
    display: flex;
    flex-wrap: wrap;
    gap: 1rem;
}

/* .main-content .post-meta {
    font-size: 0.9rem;
    padding-bottom: 0.4rem;
    color: #666;
    width: 100%;
    padding: 0 0%;
} */

.post-separator {
    margin: 3.2rem 0;
    border: 0;
    border-top: 1px solid #eee;
}

.read-more {
    display: inline-block;
    margin-top: 0.5rem;
    font-weight: bold;
    font-size: 1.0rem;
}

.pagination {
    margin: 2rem 0;
    text-align: center;
}

.pagination .page-numbers {
    display: inline-block;
    padding: 0.5rem 1rem;
    margin: 0 0.25rem;
    border: 1px solid #ddd;
    border-radius: 3px;
}

.pagination .current {
    background-color: #5c5b64;
    color: white;
    border-color: #5c5b64;
}

.main-content h1, .main-content h2, .main-content h3, .main-content h4, .main-content h5, .sidebar-widget h3 {
    /* font-weight: bold; */
    position: relative;
}

.main-content h1 {
    font-size: 1.6rem;
    /* padding: 24px 0 8px;
    color: #5a5854; */
}

.main-content h1 {
    font-size: 1.32rem;
    line-height: 1.32;
    border-left-width: 8px;
    border-left-style: solid;
    border-left-color: #20032c;
    color: #20032c;
    padding: 12px 0 12px 0.92rem;
}


    .main-content h1, .main-content h2 {
        font-size: 1.6rem;
    }

.main-content h1 {
    margin: 0px 0 16px 0%;
    width: 100%;
}

.main-content h2 {
    margin-bottom: 16px;
    width: 100%;
}

.main-content h3, .main-content h4 {
    font-size: 1.4rem;
    border-left: 6px solid #adadad;
    padding: 8px 0.72rem;
    margin: 40px 0 20px 0%;
    color: #20032c;
    width: 100%;
    line-height: 1.4;
}

.main-content h5 {
    font-size: 1.12rem !important;
    line-height: 1.32;
    padding: 0px 0px 16px 32px;
    color: #313131;
}

.main-content h5::before {
    content: "";
    position: absolute;
    top: 0px;
    left: 0rem;
    width: 24px;
    height: 24px;
    background-image: url('img/check-box.png');
    background-size: contain;
    background-repeat: no-repeat;
}

.sidebar-widget {
    margin-bottom: 4.0rem;
    border-radius: 5px;
}

.sidebar-widget h3 {
    margin-top: 0;
    margin-bottom: 1rem;
    padding-bottom: 0.4rem;
    border-bottom-width: 2px;
    border-bottom-style: solid;
    border-bottom-color: #20032c;
}

.sidebar-widget ul {
    margin: 0;
    padding: 0;
    list-style: none;
}

.sidebar-widget ul li {
    margin-bottom: 0.6rem;
    padding: 0 0.2rem 0.6rem;
    border-bottom-width: 1px;
    border-bottom-style: dotted;
    border-bottom-color: #ddd;
    font-size: 1.0rem;
}

.tag-cloud {
    line-height: 2;
    padding: 0.4rem 0;
}

.tag-cloud a {
    display: inline-block;
    margin: 0.25rem;
    padding: 4px 10px;
    background-color: #c397aa;
    border-radius: 3px;
    font-size: 0.8rem !important;
    transition: background-color 0.3s;
    color: #fff;
}

.tag-cloud a:hover {
    background-color: #9d2e7f;
}

.sidebar-widget select {
    width: 100%;
    padding: 0.5rem;
    border: 1px solid #ddd;
    border-radius: 3px;
    background-color: #fff;
}

.recent-posts {
    margin: 0;
    padding: 0;
    list-style: none;
}

.recent-post-item {
    display: flex;
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px dotted #ddd;
    align-items: center;
}

.recent-post-item:last-child {
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.recent-post-thumbnail {
    flex: 0 0 80px;
    margin-right: 15px;
}

.recent-post-thumbnail img {
    width: 100%;
    height: auto;
    border-radius: 4px;
    padding: 0;
}

.recent-post-content {
    flex: 1;
    display: flex;
    flex-direction: column;
}

.recent-post-title {
    font-weight: bold;
    line-height: 1.2;
    margin-bottom: 8px;
    font-size: 0.92rem;
}

.recent-post-date {
    font-size: 0.8rem;
    color: #777;
}

.post-thumbnail {
    margin: 0 0 24px 0;
    overflow: hidden;
    border-radius: 5px;
}

.post-list .post-thumbnail img {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease;
    display: block;
}

.single-post .post-thumbnail img,
.single-taxonomy-post .post-thumbnail img {
    width: 100%;
    height: auto;
    transition: transform 0.3s ease;
}

.post-thumbnail a:hover img {
    transform: scale(1.03);
}

.post-list .post__title {
    margin:0;
    order: 1;
}

/* .studio-card .post__title a {
    color: #0563e4;
} */

.post-list .post-thumbnail {
    overflow: hidden;
    width: 100%;
    order: 2;
    display: flex;
    justify-content: center;
}

.post-list .post-info {
    width: 100%;
    order: 3;
}

@media screen and (min-width: 768px) {
    .post-list .post-thumbnail img {
        width: auto;
        height: 100%;
    }

    .post-list .post-thumbnail {
        order: 3;
        height: 200px;
        flex: 0 0 200px;
        margin: 0;
    }

    .post-list .post-info {
        padding: 16px 4.8% 16px 0;
        order: 2;
        flex: 1;
        display: flex;
        flex-direction: column;
        justify-content: right;
    }
}

.post-excerpt {
    width: 100%;
}

.single-post .post-thumbnail,
.single-taxonomy-post .post-thumbnail {
    margin: 8px 0;
    width: 100%;
    /* max-height: 720px; */
    overflow: hidden;
    display: flex;
    align-items: center;
}

.single-post .post-content,
.single-taxonomy-post .post-content {
    margin-bottom: 2rem;
    width: 100%;
    /* padding: 0 4%; */
}

.single-post .post-content img, .single-post .post-content iframe, .single-post .post-content video, .single-post .post-content embed,
.single-taxonomy-post .post-content img, .single-taxonomy-post .post-content iframe, .single-taxonomy-post .post-content video, .single-taxonomy-post .post-content embed {
    max-width: 100%;
    height: auto;
    margin: 1rem 0;
}

.single-post .post-content figcaption,
.single-taxonomy-post .post-content figcaption {
    font-size: 0.9rem;
    color: #666;
    text-align: center;
    margin-top: 0.5rem;
}

.single-post .post-content blockquote,
.single-taxonomy-post .post-content figcaption {
    margin: 36px 0;
    padding: 16px 24px;
    background-color: #f9f9f9;
    border-radius: 8px;
    font-style: italic;
}

/* .single-post .post-content p,
.single-taxonomy-post .post-content p {
    padding: 12px 0;
} */

.single-post .post-content ul,
.single-taxonomy-post .post-content ul {
    margin: 0px 0 24px 0;
}

.single-post .post-content li,
.single-taxonomy-post .post-content li {
    margin: 0 0 12px 0;
    padding: 0 0 0 8px;
}

.post-navigation {
    display: flex;
    justify-content: space-between;
    margin: 2rem 0;
    padding: 1.2rem;
    border-top: 1px solid #eee;
    line-height: 1.2;
    font-size: 1.0rem;
    width: 100%;
}

.post-navigation-previous, .post-navigation-next {
    max-width: 46%;
    font-size: 0.9rem;
}

.post-navigation a:hover {
    text-decoration: underline;
}

.wp-block-gallery, .gallery {
    display: flex;
    flex-wrap: wrap;
    margin: 1.5rem -0.5rem;
}

.wp-block-gallery .blocks-gallery-item, .gallery .gallery-item {
    margin: 0.5rem;
    display: flex;
    flex-grow: 1;
    flex-direction: column;
    justify-content: center;
    position: relative;
}

.wp-block-gallery img, .gallery img {
    display: block;
    max-width: 100%;
    height: auto;
    border-radius: 3px;
}

.comments-area {
    margin-top: 3rem;
    padding-top: 2rem;
    border-top: 1px solid #eee;
}

.comment-list {
    margin: 0;
    padding: 0;
    list-style: none;
}

.comment {
    margin: 1.5rem 0;
    padding: 1rem;
    background-color: #f9f9f9;
    border-radius: 5px;
}

.comment-meta {
    margin-bottom: 0.5rem;
    font-size: 0.9rem;
    color: #666;
}

.comment-form label {
    display: block;
    margin-bottom: 0.5rem;
}

.comment-form input[type="text"], .comment-form input[type="email"], .comment-form input[type="url"], .comment-form textarea {
    width: 100%;
    padding: 0.5rem;
    margin-bottom: 1rem;
    border: 1px solid #ddd;
    border-radius: 3px;
}

.comment-form input[type="submit"] {
    background-color: #5c5b64;
    color: white;
    border: none;
    padding: 0.5rem 1.5rem;
    border-radius: 3px;
    cursor: pointer;
    font-weight: bold;
}

.comment-form input[type="submit"]:hover {
    background-color: #4a494f;
}

.sidebar-toggle {
    display: none;
    position: fixed;
    top: 16px;
    right: 12px;
    z-index: 1000;
    width: 40px;
    height: 40px;
    background-color: rgba(255, 255, 255, 0.9);
    border: none;
    border-radius: 4px;
    cursor: pointer;
}

.sidebar-toggle span {
    display: block;
    position: absolute;
    width: 24px;
    height: 3px;
    left: 8px;
    background-color: #333;
    border-radius: 2px;
    transition: all 0.3s;
}

.sidebar-toggle span:nth-child(1) {
    top: 12px;
}

.sidebar-toggle span:nth-child(2) {
    top: 19px;
}

.sidebar-toggle span:nth-child(3) {
    top: 26px;
}

.sidebar-toggle.active span:nth-child(1) {
    transform: rotate(45deg);
    top: 19px;
}

.sidebar-toggle.active span:nth-child(2) {
    opacity: 0;
}

.sidebar-toggle.active span:nth-child(3) {
    transform: rotate(-45deg);
    top: 19px;
}

.sidebar-overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    z-index: 998;
}

.sp-sidebar-wrap {
    display: none;
    width: 100%;
    padding: 0 1rem;
    background-color: #fff;
}

.breadcrumbs {
    font-size: 0.8rem;
    background-color: #e5e5e5;
    width: 100%;
}

.breadcrumbs a {
    color: #5c5b64;
    text-decoration: none;
    white-space: nowrap;
}

.breadcrumbs a:hover {
    text-decoration: underline;
}

.breadcrumbs .separator {
    margin: 0 0.6rem;
    color: #5c5b64;
    font-weight: bold;
}

.breadcrumbs .current {
    color: #5c5b64;
    font-weight: normal;
    white-space: nowrap;
}

.breadcrumbs__inner {
    max-width: 1200px;
    margin: auto;
    width: 92%;
    padding: 16px 0;
    display: flex;
    overflow: scroll;
    -ms-overflow-style: none;
    /* IE, Edge */
    scrollbar-width: none;
    /* Firefox */
}

.breadcrumbs__inner::-webkit-scrollbar {
    display: none;
    /* Chrome, Safari */
}

.site-branding {
    display: flex;
    justify-content: space-between;
    width: 100%;
    align-items: center;
}

@media screen and (min-width: 1024px) {
    .site-branding {
        justify-content: center;
    }
}

.site-branding .custom-logo {
    height: 36px;
    width: auto;
}

@media screen and (min-width: 1024px) {
    .site-branding .custom-logo {
        height: 54px;
        width: auto;
    }
}

.site-branding .site-title {
    font-size: 1.8rem;
    font-weight: bold;
    color: #3c3c3c;
    text-decoration: none;
    display: inline-block;
}

@media screen and (max-width: 1024px) {
    .main-content, .sidebar {
        width: 100%;
    }

    .sidebar {
        position: fixed;
        top: 0;
        right: -400px;
        width: 380px !important;
        height: 100vh;
        overflow-y: auto;
        background-color: #fff;
        z-index: 999;
        padding: 72px 20px 20px 20px;
        box-shadow: -2px 0 10px rgba(0, 0, 0, 0.1);
        transition: right 0.3s ease;
    }

    .sidebar.active {
        right: 0;
    }

    .sp-sidebar-wrap {
        display: block;
        padding-bottom: 40px;
    }

    .sidebar-toggle {
        display: block;
    }

    body.sidebar-open {
        overflow: hidden;
    }

    .sidebar-overlay.active {
        display: block;
    }

    .site-branding .site-title {
        font-size: 1.4rem;
    }
}

.search-form-wrap {
    width: 100%;
    padding: 0 0 0.4rem;
}

.search-form {
    display: flex;
    width: 100%;
}

.search-field {
    flex-grow: 1;
    padding: 0.5rem;
    border: 1px solid #ddd;
    border-radius: 3px 0 0 3px;
    font-size: 0.9rem;
}

.search-submit {
    padding: 0.5rem 1rem;
    background-color: #20032c;
    color: white;
    border: none;
    border-radius: 0 3px 3px 0;
    cursor: pointer;
    font-size: 0.8rem;
    transition: background-color 0.3s;
}

.search-submit:hover {
    background-color: #9d2e7f;
}

.featured-carousel-section {
    margin: 0 auto;
    background-color: #000000;
    position: relative;
    height: 100vw;
}

@media screen and (min-width: 1024px) {
    .featured-carousel-section {
        height: 576px;
        background-color: #fff;
    }
}

.featured-carousel {
    overflow: hidden;
    position: relative;
    border-radius: 0px;
    box-shadow: 0px 0px 40px rgb(0 0 0 / 6%);
    margin: 0 auto;
    background-color: #000000;
    justify-content: center;
    display: flex;
    width: 100%;
}

@media screen and (min-width: 1024px) {
    .featured-carousel {
        border-radius: 8px;
        width: 92%;
        max-width: 1200px;
        height: 576px;
    }
}

.carousel-item {
    display: none;
    position: relative;
    height: 100vw;
    width: 100%;
}

@media screen and (min-width: 1024px) {
    .carousel-item {
        height: 576px;
        width: 100%;
    }
}

.carousel-item.active {
    display: block;
}

.carousel-image {
    overflow: hidden;
    position: relative;
    height: 100%;
    width: auto;
    display: flex;
    justify-content: center;
}

@media screen and (min-width: 1024px) {
    .carousel-image {
        display: flex;
        align-items: center;
        height: 576px;
    }

    .carousel-image a {
        width: 100%;
    }
}

.carousel-image img {
    width: auto;
    height: 100%;
    object-fit: contain;
    transition: transform 0.3s ease;
}

@media screen and (min-width: 1024px) {
    .carousel-image img {
        width: 100%;
        object-fit: cover;
    }
}

.carousel-image:hover img {
    transform: scale(1.05);
}

.carousel-filter {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px 1.2rem 32px;
    background: linear-gradient(to top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
}

.carousel-content {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    padding: 40px 1.2rem 32px;
    background: linear-gradient(to top, rgba(0, 0, 0, 1) 0%, rgba(0, 0, 0, 0) 100%);
    color: white;
}

.carousel-title {
    margin: 0 0 6px;
    font-size: 1.0rem;
    line-height: 1.12;
}

@media screen and (min-width: 1024px) {
    .carousel-title {
        font-size: 1.6rem;
    }
}

.carousel-title a {
    color: white;
    text-decoration: none;
}

.carousel-meta {
    font-size: 0.6rem;
    opacity: 0.8;
}

.carousel-nav {
    display: flex;
    justify-content: center;
    align-items: center;
    position: absolute;
    bottom: 0;
    margin: auto;
    width: 100%;
    padding: 0 0.4rem;
}

.carousel-prev, .carousel-next {
    color: #ffffff69;
    border: none;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    font-size: 18px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
    margin: 0 10px;
}

.carousel-dots {
    display: flex;
    justify-content: center;
}

.carousel-dot {
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: #767676;
    margin: 0 5px;
    cursor: pointer;
    transition: background 0.3s;
}

.carousel-dot.active {
    background: #b7b7b7;
}

.post-tag {
    display: flex;
    justify-content: space-between;
    margin: 0 0 12px 0;
    width: 100%;
    padding: 0 0%;
    gap: 12px;
    flex-wrap: wrap;
}

.post-tag__category {
    display: flex;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.post-tag__category::-webkit-scrollbar {
    display: none;
}

.post-tag__category .post-categories {
    display: flex;
}

.post-tag__category .post-categories li {
    padding: 4px 12px 4px 8px;
    color: #2a4a67;
    font-size: 0.92rem;
    font-weight: 600;
    border-left-color: #ccc;
    border-left-style: solid;
    border-left-width: 4px;
}

.post-tag__category .post-categories li a {
    white-space: nowrap;
}

.post-tag__tag {
    display: flex;
    gap: 12px;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
    flex-wrap: wrap;
}

.post-tag__tag::-webkit-scrollbar {
    display: none;
}

.post-tag__tag div {
    color: #ffffff;
    font-size: 0.92rem;
    font-weight: 400;
    background-color: #c397aa;
    padding: 4px 10px;
    border-radius: 4px;
    display: flex;
}

.post-tag__tag div a {
    color: #ffffff;
    font-size: 0.8rem;
    white-space: nowrap;
    margin: 0 0 0 4px;
}

.footer-logo {
    width: 120px;
    margin: 24px auto 24px;
}

.carousel-after-section {
    background-color: #f4f4f4;
    padding: 32px 16px;
    margin: 0 0 48px 0;
    border-top: 4px solid #cac6bb;
    border-bottom: 4px solid #cac6bb;
}

@media screen and (min-width: 526px) {
    .carousel-after-section {
        padding: 32px 32px;
    }
}

.carousel-after-container {
    margin: 0 auto;
}

.carousel-after-widget {
    padding-bottom: 12px;
    text-align: left;
}

.carousel-after-widget strong {
    color: #2a4a67;
}

.carousel-after-widget:last-child {
    margin-bottom: 0;
}

.widget-title {
    font-size: 1.4rem;
    font-weight: bold;
    margin-bottom: 1rem;
    padding-bottom: 0.5rem;
    border-bottom: 2px solid #a69d87;
}

.wp-block-separator {
    margin: 100px 0 80px 0;
    border-color: #ccc;
}

#ez-toc-container {
    width: 100%;
    padding: 48px 16px 48px 16px;
    /* margin: 24px 0 12px -4%; */
    border-top: solid 4px #c397aa;
    border-right: solid 0px #c397aa;
    border-bottom: solid 4px #c397aa;
    border-left: solid 0px #c397aa;
    border-radius: 0;
}

@media screen and (min-width: 526px) {
    #ez-toc-container {
        padding: 48px 2.4rem 48px 2.4rem;
    }
}

div#ez-toc-container ul li {
    padding: 0 0 12px 0;
}

strong {
    font-weight: 700;
}

pre code {
    padding: 20px;
}

pre {
    border-radius: 12px;
    overflow: hidden;
    border-width: 0;
    border-style: solid;
    border-color: #292c32;
    background-color: #f3f4f5;
    color: #2a4a67;
    margin: 24px 0;
    display: flex;
    overflow: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

pre::-webkit-scrollbar {
    display: none;
}

.profile_wrap {
    padding: 16px 1.2rem;
    background-color: #f1efe9;
    border-radius: 12px;
    margin: 48px 0;
}

.profile_wrap .wp-block-image {
    width: 60px;
}

.profile_wrap .profile_container {
    padding: 0 8px;
    flex: 1;
}

.profile_wrap .profile_container .profile_headline {
    padding: 0 0 0 8px;
    font-size: 1.0rem;
    border-left-style: solid;
    border-left-color: #ccc;
    border-left-width: 8px;
}

.profile_wrap .profile_container .profile_division {
    padding: 12px 0 0 16px;
    font-size: 0.8rem;
}

.profile_wrap .profile_container .profile_name {
    padding: 0 0 0 16px;
    font-size: 0.72rem;
    color: #4a4a4a;
}

.profile_wrap .profile_container .profile_name strong {
    font-size: 1.0rem;
}

.profile_wrap .profile_container .profile_text {
    padding: 8px 0 0 16px;
    line-height: 1.32;
}

.ez-toc-title-container {
    padding: 8px 0;
}

div#ez-toc-container .ez-toc-title {
    font-weight: 600;
    font-size: 1.32rem;
    border-left: 8px solid #20032c;
    padding: 12px 16px;
    margin: 72px 0 36px 0;
    color: #20032c;
    line-height: 1.32;
}

@media screen and (min-width: 1024px) {
    div#ez-toc-container .ez-toc-title {
        font-size: 1.6rem;
    }
}

div#ez-toc-container nav ul ul li {
    font-size: 1.0rem;
    padding: 12px 0 0 0;
}

#ez-toc-container .ez-toc-list-level-1 {
    padding: 36px 0 0 0;
}

#ez-toc-container .ez-toc-list-level-2 {
    padding: 24px 0 0 0;
    margin: 0;
}

#ez-toc-container .ez-toc-heading-level-2 {
    padding: 12px 0px;
}

@media screen and (min-width: 526px) {
    #ez-toc-container .ez-toc-list-level-1 {
        padding: 36px 1.2rem 0 1.2rem;
    }

    #ez-toc-container .ez-toc-heading-level-2 {
        padding: 8px 1.2rem;
    }
}

/* tablepress*/
.tablepress_overwrite {
    max-width: 1024px;
    margin: 60px auto 20px;
    overflow-x: scroll;
    width: 92%;
}

.tablepress_overwrite .row-1 td, .tablepress_overwrite .row-2 td, .tablepress_overwrite .row-3 td {
    border-width: 0px;
}

.tablepress_overwrite tr td a {
    background-color: #f00;
    color: #fff;
}

/* ranktable */
.ranktable-bottom {
    margin-bottom: 60px;
}
.ranktable {
    display: flex;
    max-width: 1360x;
    margin: 60px auto 60px;
    overflow-x: scroll;
}

.ranktable__vertical {
    min-width: 600px;
}

.ranktable__vertical .ranktable__column {
    gap: 0;
}

.ranktable__vertical .ranktable__column__heading {
    padding: 4px;
    display: inline-block;
    margin: 0 auto !important;
}

.ranktable__vertical .ranktable__column__thumbnail {
    padding: 4px;
}

.ranktable__vertical .ranktable__column__title {
    padding: 8px 4px 16px 4px;
    font-weight: bold;
    line-height: 1.2;
    display: inline-block;
    margin: 0 auto !important;
}

.ranktable__vertical .ranktable__column__td {
    gap: 0.24em;
    padding: 16px 8px;
    border-style: solid;
    border-width: 2px 0;
    border-color: #ccc;
}

.ranktable__vertical .ranktable__column__td__title {
    font-weight: bold;
    line-height: 1.4;
    display: inline-block;
    margin: auto !important;
}

.ranktable__vertical .ranktable__column__td__icon {
    font-size: 60px !important;
    font-weight: bold;
    line-height: 1.0;
}

.ranktable__vertical .ranktable__column__td__text {
    font-size: 12px;
    line-height: 1.2;
    display: inline-block;
    margin: auto !important;
}

.ranktable__vertical .ranktable__column__cta {
    gap: 0.1em;
    padding: 24px 0px 12px 0px;
    border-style: solid;
    border-width: 0;
    border-color: #ccc;
}

/* ranktable horizontal (from child) — ストライプテーブルデザイン */
.ranktable__horizontal {
    min-width: 720px;
    gap: 0;
    border: 1px solid #E0E3EF;
    border-radius: 16px;
    overflow: hidden;
    background: #fff;
}

.ranktable__horizontal .ranktable__column {
    gap: 0;
    justify-content: space-between;
}

.ranktable__horizontal .ranktable__column__heading {
    padding: 4px;
    display: inline-block;
    margin: 16px auto 8px !important;
}

.ranktable__horizontal .ranktable__column__thumbnail {
    display: flex;
    justify-content: center;
    align-items: center;
    min-height: 140px;
    max-height: 232px;
    overflow: hidden;
    width: 92%;
    margin: 8px auto;
}

.ranktable__horizontal .ranktable__column__title {
    padding: 4px 6px 8px 6px;
    font-weight: bold;
    line-height: 1.3;
    display: block;
    flex: 1;
    text-align: center;
    margin: 0 auto !important;
}

/* ── ヘッダー行 ── */
/* gap トリック: 親のbg色を隙間から見せることで列縦線を描く → 列高さのズレに左右されない */
.ranktable__horizontal > div:first-child {
    gap: 1px !important;
    background-color: #E0E3EF !important;
}
.ranktable__horizontal > div:first-child .ranktable__column {
    background-color: #ffffff;
}

/* ── データ行 ── */
/* 行ごとの上ボーダー（行区切り線 — ヘッダーとの境界も兼ねる） */
.ranktable__horizontal > div.ranktable__column {
    border-top: 2px solid #E0E3EF;
}

/* 偶数データ行に薄い背景（ゼブラストライプ） */
.ranktable__horizontal > div:nth-child(even) {
    background-color: #F8F9FC;
}

.ranktable__horizontal .ranktable__column__td {
    gap: 0.2em;
    padding: 12px 14px;
    border-style: solid;
    border-width: 0 1px 0 0;
    border-color: #E0E3EF;
    /* WP block editor が verticalAlignment:center でインライン justify-content:center を生成するため上書き */
    justify-content: flex-start !important;
}

/* 各行の最終セルは右ボーダーなし */
.ranktable__horizontal .ranktable__column__td:last-child {
    border-right: none;
}

.ranktable__horizontal .ranktable__column__td__title {
    font-weight: bold;
    line-height: 1.4;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center !important;
    min-height: 2.4em;
    margin: 0 0 4px 0 !important;
}

.ranktable__horizontal .ranktable__column__td__icon {
    font-size: 60px !important;
    font-weight: bold;
    line-height: 1.0;
    min-height: 85px;
    display: flex;
    align-items: center;
    justify-content: center;
    margin: 1px 0 4px 0 !important;
}

.ranktable__horizontal .ranktable__column__td__text {
    font-size: 12px;
    line-height: 1.6;
    display: block;
    margin: 0 !important;
}

/* ── CTAエリア（上部・下部共通） ── */
.ranktable__horizontal .ranktable__column__cta {
    padding: 4px 10px 8px 10px;
    width: 100%;
}

/* 比較表上部：公式サイトへボタンの下マージン */
.ranktable__horizontal > div:first-child .ranktable__column__cta:last-child {
    padding-bottom: 16px;
}

/* ── 下段CTAエリア（gap トリックで列縦線をそろえる） ── */
.ranktable__horizontal > div:last-child {
    border-top: 2px solid #E0E3EF;
    gap: 1px !important;
    background-color: #E0E3EF !important;
}
.ranktable__horizontal > div:last-child .ranktable__column {
    background-color: #ffffff;
    border-right: none;
}

/* 比較表下段：詳しく見るボタン上のマージン */
.ranktable__horizontal > div:last-child .ranktable__column__cta:first-child {
    padding-top: 16px;
}

/* 比較表下段：公式サイトへボタンの下余白を詰める */
.ranktable__horizontal > div:last-child .ranktable__column__cta:last-child {
    padding-bottom: 16px;
}

.ranktable__column__cta a {
    padding: 11px 12px 9px;
    line-height: 1.2;
    border-radius: 10px;
    font-weight: bold;
    border: 2px solid transparent !important;
    box-sizing: border-box;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

/* 詳しく見る（青）ホバー */
/* .ranktable__column__cta a[style*="0035bd"]:hover,
.ranktable__column__cta a[style*="0035BD"]:hover {
    background-color: #fff !important;
    color: #0035BD !important;
    border-color: #0035BD !important;
} */

/* 公式サイトへ（赤）ホバー */
/* .ranktable__column__cta a.has-vivid-red-background-color:hover {
    background-color: #fff !important;
    color: #CF2E2E !important;
    border-color: #CF2E2E !important;
} */

.ranktable__column:nth-child(1) .ranktable__column__heading {
    background-image: url('img/icon01.png');
}
.ranktable__column:nth-child(2) .ranktable__column__heading {
    background-image: url('img/icon02.png');
}
.ranktable__column:nth-child(3) .ranktable__column__heading {
    background-image: url('img/icon03.png');
}
.ranktable__column:nth-child(4) .ranktable__column__heading {
    background-image: url('img/icon04.png');
}
.ranktable__column:nth-child(5) .ranktable__column__heading {
    background-image: url('img/icon05.png');
}
.ranktable__column:nth-child(1) .ranktable__column__heading, .ranktable__column:nth-child(2) .ranktable__column__heading, .ranktable__column:nth-child(3) .ranktable__column__heading, .ranktable__column:nth-child(4) .ranktable__column__heading, .ranktable__column:nth-child(5) .ranktable__column__heading {
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    padding: 12px 24px;
    color: #ffffff00 !important;
}


/* block style from here */
.is-style-lead {
    font-size: var(--wp--preset--font-size--lead);
    line-height: 1.9;
    font-weight: 600;
    margin-bottom: 1.5em;
}
.is-style-notice-box {
    padding: 1.2em 1.4em;
    border-radius: 8px;
    background-color: var(--wp--preset--color--notice-bg);
    border: 1px solid rgba(0, 0, 0, 0.05);
    position: relative;
}
.is-style-notice-box::before {
    content: "!";
    font-weight: 700;
    margin-right: 0.4em;
}
.is-style-balloon {
    position: relative;
    padding: 1em 1.2em;
    border-radius: 10px;
    border: 1px solid #ddd;
    background: #fff;
    display: inline-block;
    max-width: 100%;
}
.is-style-balloon::after {
    content: "";
    position: absolute;
    left: 20px;
    bottom: -10px;
    border-width: 10px 8px 0 8px;
    border-style: solid;
    border-color: #ddd transparent transparent transparent;
}
.is-style-balloon::before {
    content: "";
    position: absolute;
    left: 21px;
    bottom: -8px;
    border-width: 9px 7px 0 7px;
    border-style: solid;
    border-color: #fff transparent transparent transparent;
}
.is-style-section-title {
    padding-left: 0.75em;
    border-left: 4px solid var(--wp--preset--color--accent);
    margin-bottom: 1em;
    font-size: var(--wp--preset--font-size--xl);
}
.is-style-underline {
    display: inline-block;
    padding-bottom: 0.3em;
    border-bottom: 2px solid var(--wp--preset--color--accent);
}
.is-style-band {
    display: inline-block;
    padding: 0.3em 0.8em;
    background-color: var(--wp--preset--color--accent);
    color: #fff;
    border-radius: 4px;
    margin-bottom: 1em;
    font-size: var(--wp--preset--font-size--lg);
}
.is-style-rounded img {
    border-radius: 12px;
}
.is-style-shadow img {
    box-shadow: 0 4px 12px rgba(0,0,0,0.18);
    border-radius: 8px;
}
.is-style-framed {
    padding: 0.75em;
    background-color: var(--wp--preset--color--img-frame);
    border-radius: 10px;
    display: inline-block;
}

.is-style-framed img {
    display: block;
    border-radius: 6px;
}

/* マーカー（蛍光ペン） */
.marker-yellow,
.marker-green,
.marker-pink,
.marker-blue,
.marker-orange { font-weight: bold; }
.marker-yellow { background: linear-gradient(transparent 60%, #FFE566 60%); }
.marker-green  { background: linear-gradient(transparent 60%, #AEEDB0 60%); }
.marker-pink   { background: linear-gradient(transparent 60%, #FFB3C8 60%); }
.marker-blue   { background: linear-gradient(transparent 60%, #A8D8FF 60%); }
.marker-orange { background: linear-gradient(transparent 60%, #FFD09A 60%); }

/* ボックス — ② デフォルト: 角丸8px / 背景#EFFAF9 / パディング24px / マージン上下24px */
.is-style-box-post {
    border-radius: 8px;
    background-color: #EFFAF9;
    padding: 24px;
    margin: 24px 0;
}

/* ボックス02 — 暫定スタイル */
.is-style-box02 {
    border-radius: 8px;
    background-color: #F9F9F9;
    padding: 24px;
    margin: 24px 0;
}

/* 本文 p の余白上書き（.single-post / .single-taxonomy-post .post-content p）に勝たせる */
.single-post .post-content p.is-style-box-post,
.single-taxonomy-post .post-content p.is-style-box-post,
.single-post .post-content p.is-style-box02,
.single-taxonomy-post .post-content p.is-style-box02 {
    padding: 24px;
    margin: 24px 0;
}
/* block style until here */

/* === 投稿（コラム）限定スタイル：.single-post のみ。CPT(.single-taxonomy-post)には適用しない === */
/* ③ タイトル文字：太字 / 27px / 左の装飾なし */
.single-post .post__title {
    font-weight: 700;
    font-size: 27px;
    border-left: none;
    padding-left: 0;
}
/* ① 公開日：タイトル左下・小さめグレー */
.single-post .post-meta {
    margin: 4px 0 16px;
    font-size: 13px;
    color: #888888;
}
/* ④ H2：26px / パディング上下1px / マージン上100px・下10px / タイトル装飾をこちらへ（少しグレー） */
.single-post .post-content h2 {
    font-size: 26px;
    margin: 100px 0 10px;
    padding: 1px 0 1px 0.6em;
    border-left: 4px solid #cccccc;
}
/* ⑤ H3：パディング上下1px / マージン上60px・下10px */
.single-post .post-content h3 {
    padding: 1px 0;
    margin: 60px 0 10px;
}
/* ⑥ アコーディオンのタイトル文字：12px */
.single-post .wp-block-accordion-heading__toggle-title {
    font-size: 12px;
}


.site-footer-company{
font-size: 1.0rem;
    color: #8d8d8d;
}

.ranktable-fixed-button {
    transition: opacity 0.2s ease;
}
.ranktable-fixed-button:hover {
    opacity: 0.8;
}

@media screen and (max-width: 1023px) {
    .site-footer {
        padding-bottom: 88px !important;
    }
}
.site-footer-company a{
padding:0 12px;
}

.editor-styles-wrapper {
max-width: 1000px;
    margin: auto;
    width: 100%;
}


/* === Child theme overrides === */

.post-headline{display: flex;width: 100%;align-items: center;/* margin-bottom: 24px; */}
.post-headline .post-list__icon{width: 80px;margin-right: 24px;}
.main-content .post-headline h1 {
    margin: 0 0 0 0;
    width: 100%;
    border-left-width: 0px;
}
.main-content .post-list h2 {
    width: 100%;
}
.main-content .post-excerpt {
    width: 100%;
    display: flex;
    flex-direction: column;
    gap: 24px;
    padding: 0 0 0 0;
}

@media screen and (min-width: 768px) {
.main-content .post-list .post-thumbnail {
        order: 1;
    }
.main-content .post-list .post-info{
        padding: 0 0 16px 0px;
        order: 2;
}
}

#listcard_cta {
    margin-top: 16px;
}

#listcard_cta a {
    width:100%;
    font-weight: bold;
    border: 2px solid transparent !important;
    box-sizing: border-box;
    transition: background-color 0.25s ease, color 0.25s ease, border-color 0.25s ease;
}

#listcard_cta a:hover {
    background-color: #fff !important;
    color: #00d084 !important;
    border: 2px solid #00d084 !important;
    opacity: 1;
}

.has-vivid-green-cyan-background-color:hover,
.has-light-green-cyan-background-color:hover {
    background-color: #80ffd0 !important;
    color:#2b8f95;
    font-weight:bold;
}


.wp-block-table td,.wp-block-table th {
    border: 1px solid #B8CEE8;
    padding: 12px 16px;
    vertical-align: top;
}


.main-content .post-meta {
    font-size: 0.9rem;
    padding-bottom: 0.4rem;
    color: #666;
    width: 100%;
    padding: 0 0 16px 0;
}

/* main-first-content layout */
.main-first-content{
width: 100%;
order: 1;
}
.sidebar {
    order: 3;
}
.main-content {
    order: 2;
}
@media screen and (min-width: 1024px) {
.main-first-content{
width: 64%;
order: 1;
}
.sidebar {
    order: 2;
}
.main-content {
    order: 3;
}
}

/* guideline */
.guideline__ {
    display: flex;
    margin: 0px auto 60px;
    width: 100%;
    flex-wrap: wrap;
    justify-content: center;
    gap: 24px;
}
.guideline__ p
{
line-height: 2.0;
    }

.guideline__ .wp-block-accordion-heading__toggle {
display: flex;
    justify-content: center;
}
.guideline__ .wp-block-accordion-heading__toggle .wp-block-accordion-heading__toggle-title{
flex:none;
}

/* KV styles */
.kv {
  position: relative;
  width: 100%;
  height: 100vh;
  overflow: hidden;
  display: flex;
  justify-content: center;
  align-items: center;
}

.kv__bg {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  z-index: 0;
}

.kv__overlay {
  /* position: absolute; */
  inset: 0;
  width: 92%;
  /* height: auto; */
  z-index: 2;
  pointer-events: none;
  max-width: 1210px;
  margin: 0 auto;
}

.kv__overlay img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.kv__content {
  position: relative;
  z-index: 3;
  padding: 48px;
  color: #fff;
}

.kv__logo {
position: absolute;
    width: 32%;
    z-index: 3;
    max-width: 200px;
    top: 0;
    left: 0;
    margin: 24px;
}

/* KV静止画モード（picture）用 */
.kv-img {
    position: relative;
    display: flex;
    justify-content: center;
    width: 100%;
    overflow: hidden;
}

.kv-img__bg {
    z-index: 0;
    max-width: 1200px;
    width: 100%;
    display: block;
}

.kv-img__bg img {
    width: 100%;
    height: auto;
    display: block;
}

/* 全画面モード（fullscreen） */
.kv-img--fullscreen {
    height: 48vh;
}

.kv-img--fullscreen .kv-img__bg {
    position: absolute;
    inset: 0;
    max-width: none;
    width: 100%;
    height: 100%;
}

.kv-img--fullscreen .kv-img__bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* home01〜05 用ランキング表オーバーレイ（KV静止画モード時、.kv-img 内に出力） */
.ranktable-overlay {
    position: absolute;
    top: 0;
    right: 0;
    font-size: 1.6rem;
    z-index: 99;
    padding: 24px;
    color: #292929;
    text-shadow: 0px 0px 3px rgba(252, 252, 252, 1), 0px 0px 6px rgba(252, 252, 252, 1), 0px 0px 12px rgba(255, 255, 255, 1), 0px 0px 24px rgb(254 255 186), 0px 0px 24px rgb(254 255 186);
    font-weight: bold;
}

.annotation-affiliates{
    display:flex;
    justify-content: end;
}
.annotation-affiliates p{
    padding: 12px;
    text-align: left;
    font-size: 0.8rem;
}


/* =========================
   CPT: 絞り込みフォーム
   ========================= */
.studio-filter {
    background: #f8f6f9;
    border: 1px solid #e0d6e5;
    border-radius: 8px;
    padding: 24px;
    margin-bottom: 32px;
    display: flex;
    flex-wrap: wrap;
    gap: 16px;
    align-items: flex-end;
}

.studio-filter__group {
    flex: 1 1 200px;
    display: flex;
    flex-direction: column;
    gap: 6px;
    max-width: 320px;
}

.studio-filter__label {
    font-size: 0.85rem;
    font-weight: bold;
    color: #20032c;
}

.studio-filter__select {
    padding: 10px 12px;
    border: 1px solid #ccc;
    border-radius: 6px;
    font-size: 0.95rem;
    background: #fff;
    cursor: pointer;
}

.studio-filter__select:focus {
    border-color: #9d2e7f;
    outline: none;
    box-shadow: 0 0 0 2px rgba(157, 46, 127, 0.15);
}

.studio-filter__actions {
    flex: 0 0 auto;
    display: flex;
    gap: 10px;
    align-items: center;
}

.studio-filter__btn {
    background: #d2a100;
    color: #fff;
    border: none;
    padding: 10px 28px;
    border-radius: 6px;
    font-size: 0.95rem;
    font-weight: bold;
    cursor: pointer;
    transition: background 0.2s;
}

.studio-filter__btn:hover {
    background: #e0154f;
}

.studio-filter__reset {
    font-size: 0.85rem;
    color: #888;
    text-decoration: underline;
}

.studio-result-count {
    font-size: 0.9rem;
    color: #666;
    margin-bottom: 20px;
}

.studio-no-result {
    text-align: center;
    padding: 40px 0;
    color: #888;
}

/* CPTカード: リードセクション（h2・h5）のサイズ調整 */
.studio-card .post-excerpt h2 {
    font-size: 1.1875rem !important;
    font-weight: 700;
    margin-bottom: 8px !important;
    line-height: 1.5;
}
.studio-card .post-excerpt h5 {
    font-size: 1.1rem !important;
    padding-bottom: 8px !important;
    line-height: 1.5;
}

/* CPTカード: テーブル・CTA を全幅で表示するラッパー */
.studio-card__below {
    width: 100%;
    order: 10;
}

/* CPTカード: スペックテーブル（全幅） */
.studio-card__notes {
    width: 100%;
    order: 10;
    overflow-x: auto;
}
.studio-card__notes .wp-block-table,
.studio-card__notes figure.wp-block-table {
    margin: 16px 0 0 !important;
}
.studio-card__notes table {
    width: 100%;
    border-collapse: collapse;
    line-height: 1.7;
    margin: 0 !important;
}
.studio-card__notes table td {
    padding: 12px 16px;
    vertical-align: top;
    border: 1px solid #B8CEE8;
    font-size: 1.0rem;
}
/* ラベル列 */
.studio-card__notes table td:first-child {
    width: 150px;
    min-width: 150px;
    font-weight: 700;
    font-size: 0.875rem;
    color: #444;
    background: #F3F4F6;
    padding: 12px 14px;
}
/* ゼブラストライプ */
.studio-card__notes table tr:nth-child(even) td:last-child {
    background: #F2F8FE;
}

/* SP: 静止画KVの背景をオーバーレイ画像の高さに追従させる（高さはJSでセット） */
@media screen and (max-width: 767px) {
    .kv-img .kv-img__bg {
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        max-width: none;
        width: 100%;
        height: 100%;
    }
    .kv-img .kv-img__bg img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }
}

/* SP: テーブルを縦積みレイアウトに変更（カード型: CPTカード・CPT詳細） */
@media screen and (max-width: 767px) {
    .studio-card__notes table,
    .studio-single .post-content table {
        border-collapse: separate;
        border-spacing: 0;
        border: none;
    }
    .studio-card__notes table tr,
    .studio-single .post-content table tr {
        display: block;
        border: 1px solid #B8CEE8;
        border-radius: 6px;
        margin-bottom: 8px;
        overflow: hidden;
    }
    .studio-card__notes table td,
    .studio-single .post-content table td,
    .studio-single .post-content table th {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
        border: none;
        border-bottom: 1px solid #B8CEE8;
    }
    .studio-card__notes table td:last-child,
    .studio-single .post-content table td:last-child,
    .studio-single .post-content table th:last-child {
        border-bottom: none;
    }
    .studio-card__notes table td:first-child,
    .studio-single .post-content table td:first-child,
    .studio-single .post-content table th:first-child {
        width: 100% !important;
        min-width: 0 !important;
        font-size: 0.8rem;
        padding: 7px 14px 5px;
    }
    /* SP時はゼブラなし */
    .studio-card__notes table tr:nth-child(even) td:last-child,
    .studio-single .post-content table tr:nth-child(even) td:last-child {
        background: transparent;
    }
}

/* SP: テーブルを縦積みレイアウトに変更（繋がり型: 固定ページ） */
@media screen and (max-width: 767px) {
    .single-page .post-content table {
        border-collapse: collapse;
        border: 1px solid #B8CEE8;
    }
    .single-page .post-content table tr {
        display: block;
    }
    .single-page .post-content table td,
    .single-page .post-content table th {
        display: block;
        width: 100% !important;
        min-width: 0 !important;
        box-sizing: border-box;
        border: none;
        border-bottom: 1px solid #B8CEE8;
    }
    .single-page .post-content table tr:last-child td:last-child,
    .single-page .post-content table tr:last-child th:last-child {
        border-bottom: none;
    }
    .single-page .post-content table td:first-child,
    .single-page .post-content table th:first-child {
        width: 100% !important;
        min-width: 0 !important;
        font-size: 0.8rem;
        padding: 7px 14px 5px;
    }
    .single-page .post-content table tr:nth-child(even) td:last-child {
        background: transparent;
    }
}

/* CPTカード: タクソノミー表示 */
.studio-card__taxonomies {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 16px;
    margin-bottom: 12px;
}

.studio-card__tax {
    font-size: 0.85rem;
    color: #555;
}

.studio-card__tax-label {
    font-weight: bold;
    color: #20032c;
}

/* 固定ページ（運営会社等）テーブルスタイル */
.single-page .post-content table {
    width: 100%;
    border-collapse: collapse;
    line-height: 1.7;
    font-size: 1.0rem;
}
.single-page .post-content table td,
.single-page .post-content table th {
    padding: 12px 16px;
    vertical-align: top;
    border: 1px solid #B8CEE8;
}
.single-page .post-content table td:first-child,
.single-page .post-content table th:first-child {
    width: 150px;
    min-width: 150px;
    font-weight: 700;
    font-size: 0.875rem;
    color: #444;
    background: #F3F4F6;
    padding: 12px 14px;
}

/* ═══════════════════════════════════════
   CPT詳細ページ — ミニマルセクション型
════════════════════════════════════════ */

/* タイトル */
.studio-single .post__title {
    font-size: 22px;
    font-weight: 800;
    margin: 0 0 20px;
    line-height: 1.4;
    padding-bottom: 16px;
    border-bottom: 2px solid #E2E5EF;
    border-left: none;
    padding-left: 0;
}

/* サムネイル */
.studio-single .post-thumbnail {
    margin: 0 0 24px;
    border-radius: 12px;
    overflow: hidden;
    width: 100%;
    display: block;
    max-height: none;
}
.studio-single .post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

/* 本文全体の下余白 */
.studio-single .post-content {
    margin-bottom: 8px;
}

/* p 要素の余白を統一（既存の 12px padding を上書き） */
/* .studio-single .post-content p {
    padding: 4px 0 !important;
    line-height: 1.7;
}*/

/* ul / li の余白 */
.studio-single .post-content ul {
    margin: 4px 0 16px !important;
}
.studio-single .post-content li {
    margin: 0 0 6px !important;
    padding-left: 8px;
}

/* ── スペックテーブル（カードスタイルと統一） ── */
.studio-single .post-content .wp-block-table,
.studio-single .post-content figure.wp-block-table {
    margin: 20px 0 28px !important;
}

.studio-single .post-content table {
    width: 100%;
    border-collapse: collapse;
    line-height: 1.7;
    margin: 0 !important;
    font-size: 1.0rem;
}

.studio-single .post-content table td,
.studio-single .post-content table th {
    padding: 12px 16px;
    vertical-align: top;
    border: 1px solid #B8CEE8;
}

/* ラベル列 */
.studio-single .post-content table td:first-child,
.studio-single .post-content table th:first-child {
    width: 150px;
    min-width: 150px;
    font-weight: 700;
    font-size: 0.875rem;
    color: #444;
    background: #F3F4F6;
    padding: 12px 14px;
}

/* 偶数行にゼブラストライプ */
.studio-single .post-content table tr:nth-child(even) td:last-child {
    background: #F2F8FE;
}

/* CPT詳細: タクソノミー表示 */
.studio-single__taxonomies {
    display: flex;
    flex-wrap: wrap;
    gap: 8px 20px;
    margin: 12px 0 24px;
    padding: 12px 16px;
    background: #f8f6f9;
    border-radius: 6px;
}

.studio-single__tax {
    font-size: 0.9rem;
    color: #555;
}

.studio-single__tax-label {
    font-weight: bold;
    color: #20032c;
}

.studio-single__tax a {
    color: #2a4e74;
}

.studio-single__tax a:hover {
    color: #9d2e7f;
}

/* アーカイブタイトル */
.archive-title {
    font-size: 1.4rem;
    color: #20032c;
    margin-bottom: 24px;
    padding-bottom: 12px;
    border-bottom: 2px solid #20032c;
}

/* スマホ対応 */
@media screen and (max-width: 767px) {
    .studio-filter {
        /* flex-direction: column; */
        gap: 12px;
    }
    .studio-filter__group {
        flex: 1 1 100%;
        max-width: 100%;
    }
    .studio-filter__actions {
        /* flex-direction: column; */
        width: 100%;
    }
    .studio-filter__btn {
        width: 100%;
    }
}

/* =========================
   サイドバー: CPT絞り込みフォーム
   ========================= */
.sidebar-studio-filter {
    display: flex;
    flex-direction: column;
    gap: 10px;
}

.sidebar-studio-filter__group {
    display: flex;
    flex-direction: column;
    gap: 4px;
}

.sidebar-studio-filter__group label {
    font-size: 0.8rem;
    font-weight: bold;
    color: #20032c;
}

.sidebar-studio-filter__group select {
    padding: 8px 10px;
    border: 1px solid #ccc;
    border-radius: 4px;
    font-size: 0.9rem;
}

.sidebar-studio-filter__btn {
    background: #d2a100;
    color: #fff;
    border: none;
    padding: 10px;
    border-radius: 6px;
    font-size: 0.9rem;
    font-weight: bold;
    cursor: pointer;
    margin-top: 4px;
    transition: background 0.2s;
}

.sidebar-studio-filter__btn:hover {
    background: #e0154f;
}

/* 絞り込み検索: ラジオ／チェックボックス表示形式 */
.studio-filter__options {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 16px;
}

.sidebar-studio-filter__options {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.studio-filter__option,
.sidebar-studio-filter__option,
.sidebar-studio-filter__options label {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    font-size: 0.9rem;
    font-weight: normal;
    color: #20032c;
    cursor: pointer;
}

.studio-filter__option input,
.sidebar-studio-filter__option input {
    margin: 0;
    flex: 0 0 auto;
}

/* グループ見出し（radio/checkbox の span.__label）を1行で表示 */
.studio-filter__group--radio .studio-filter__label,
.studio-filter__group--checkbox .studio-filter__label,
.sidebar-studio-filter__group--radio .sidebar-studio-filter__label,
.sidebar-studio-filter__group--checkbox .sidebar-studio-filter__label {
    display: block;
    margin-bottom: 4px;
    font-size: 0.8rem;
    font-weight: bold;
    color: #20032c;
}

/* サイドバー: CPT一覧アイコン */
.recent-post-icon {
    flex: 0 0 40px;
    width: 40px;
    height: 40px;
    margin-right: 12px;
}

.recent-post-icon img {
    width: 40px;
    height: 40px;
    object-fit: contain;
}

/* サイドバー: タクソノミー別一覧 */
.sidebar-tax-list {
    list-style: none;
    padding: 0;
    margin: 0;
}

.sidebar-tax-list li {
    border-bottom: 1px solid #eee;
}

.sidebar-tax-list li:last-child {
    border-bottom: none;
}

.sidebar-tax-list a {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 10px 4px;
    text-decoration: none;
    /* color: #2a4e74; */
    font-size: 0.9rem;
    transition: color 0.2s;
}

.sidebar-tax-list a:hover {
    color: #116fd3;
}

.sidebar-tax-count {
    color: #999;
    font-size: 0.8rem;
}

/* =========================
   トップページ: セクション見出し
   ========================= */
   .section-heading {
       margin: 32px 0 40px;
       border-left: 8px solid #424242;
       padding: calc(0.5em + 1px) 0.5em calc(0.5em - 1px);
       color: #010101;
       background: #ffffff;
   }

.main-content .section-heading {
    margin-bottom: 40px;
}

.section-heading:first-child {
    margin-top: 0;
}

/* =========================
   コラム一覧リンク（トップ + サイドバー共通）
   ========================= */
.column-archive-link-wrap {
    text-align: right;
    margin: 16px 0 8px;
}

.column-archive-link {
    font-size: 0.9rem;
    color: #2a4e74;
    text-decoration: none;
}

.column-archive-link:hover {
    color: #9d2e7f;
    text-decoration: underline;
}

/* サイドバー内 */
.sidebar-widget .column-archive-link {
    display: block;
    text-align: right;
    margin-top: 10px;
    font-size: 0.85rem;
}

/* =========================
   サイドバー: コラムブロック（検索+タグ+カテゴリ一体化）
   ========================= */
.sidebar-column-block .tag-cloud {
    margin-bottom: 4px;
}

.sidebar-column-block .categories {
    margin-top: 0;
    padding-top: 0;
}


.w-100{
    width:100%;
}


/* 260526 追加分ここから */
.main-content h3, .main-content h4 {
    border-left: 0;
}

		.section-heading {
		    border-left: 8px solid #20032c;
		    border-bottom: 2px solid #20032c;
}


    .main-content h1, .main-content h2 {
        font-size: 1.6rem;
        font-weight:bold;
    }


.annotation-affiliates{
    display:flex;
    justify-content: center;
}


.sidebar-widget h3 {
font-weight:bold;
}

.ranktable__horizontal {
    gap: 0;
}

/* 比較表のスクロール切替（管理画面「設定 > サイト表示設定」）
   no-scroll 時のみ body.ranktable-no-scroll が付与され min-content で横幅を詰める。
   scroll 時はクラスが付かず、基底の min-width:720px が効いて横スクロールになる */
body.ranktable-no-scroll .ranktable__horizontal {
    min-width: min-content;
}

/* PC閲覧時は比較表のスクロールバーを非表示 */
@media (min-width: 768px) {
    .ranktable {
        scrollbar-width: none;
    }
    .ranktable::-webkit-scrollbar {
        display: none;
    }
}

.studio-single__taxonomies {
    display: none;
}
/* 260526 追加分ここまで */



/* 260805 追加分ここから */
.studio-card .post-excerpt ul,
.studio-single .post-content ul{
    font-size: 1.12rem !important;
    line-height: 1.32;
    padding: 0px 0px 12px 32px;
    color: #313131;
    position: relative;
}

.studio-card .post-excerpt ul li::before,
.studio-single .post-content ul li::before{
    content: "";
    position: absolute;
    top: 4px;
    left: 0rem;
    width: 20px;
    height: 20px;
    background-image: url('img/check-box.png');
    background-size: contain;
    background-repeat: no-repeat;
}
/* 260805 追加分ここまで */

/* 260807 追加分ここまで */
.main-content h1:first-child {
    margin-top: 24px;
}
.post-list .post__title {
    font-weight: bold;
    padding-left: 0;
}
/* 260807 追加分ここまで */