
/*Blog Common*/
.wp-block-embed iframe{
width: 100%;
  height: auto;
  aspect-ratio: 16/9;
}


html{
    /*max-width: 1440px;*/
    margin: 0 auto;
}
body {
    font-family: "Noto Sans JP", sans-serif;
    color: #000;
    background-color: #ebebeb;
        /* background-position: left top, right top, top center, center calc(100% - 165px)!important; */
}

main {
    padding: 0 40px;
}
@media screen and (max-width: 767px) {
    main {
        padding: 0 25px;
    }
}

.ads {
    min-height: 200px;
    background: #efefef;
    margin: 20px 0;
}
.logo__link img.sp{
    display: none;
}

.header.blog_heder {
    max-width: 1440px;
    margin: 0 auto;
    background-color: unset;
    position: relative;
    padding: 0;
    z-index: 102;
}

.blog_heder .hamburger {
    width: 2.3125rem;
}

@media screen and (max-width: 1298px) {
    .blog_heder .header__drawer {
        right: 50px;
        display: grid;
        transform: scale(1);
        top: 70%;
        gap: 0.75rem;
    }

    .dg-part1 {
        display: none;
    }

}

.blog_heder .hamburger span {
    display: block;
    background-color: rgb(32, 32, 32);
    height: 3px;
    height: 0.1875rem;
    width: 100%;
    -webkit-transition: all 0.3s 0s ease;
    transition: all 0.3s 0s ease;
}

.header.blog_heder .header__nav-link {
    font-family: "Zen Maru Gothic", serif;
    background-color: #FFF;
    border-radius: 20px;
    border: solid 1px #000;
    font-size: 0.93rem;
    font-weight: bold;
    color: #000;
    text-decoration: none;
    height: unset;
    padding: 2px 8px;
}

.header.blog_heder .header__nav-item:not(:last-child) {
    margin: 0 10px;
}

.header.blog_heder .header__nav-item:last-child {
    margin-left: 15px;
}

.header.blog_heder .header__nav-link::after {
    content: unset;
    position: absolute;
    height: unset;
    bottom: unset;
    -webkit-transition: unset;
    transition: unset;
}

.header.blog_heder .header__nav-item .header__search {
    display: inline-block;
}

.header.blog_heder .header__nav-item .header__search label {
    display: inline-block;
    width: 85px;
}

.header.blog_heder .header__nav-item .header__search input {
    max-width: 100%;
}

.header.blog_heder .header__nav-item .header__search input::placeholder {
    text-align: center;
}
.sp-nav{
    background-color: #75d6e4;
    padding: 1.25rem;
    border-bottom: none;
}
.sp-nav-wrapper{
    background-color: #FFF;
    margin-top: 2%;
    padding: 70px 0 30px 0;
    border-radius: 40px;
    background-position: right 80%!important;
}
.sp-nav .header__nav-link {
    font-size: 2.7rem;
    width: 60%;
    padding: 0.4rem 0;
    margin: 0 auto 0 14px;
}
.sp-nav .sp-nav__items1,.sp-nav .sp-nav__items2{
    margin-top: 30px;
    margin-left: 5%;
}
.sp-nav .sp-nav__items1 .sp-nav__item{
    margin-top: 20px;
    font-size: 20px;
    border-bottom: none;
    font-weight: normal;
}
.sp-nav .sp-nav__items2 .sp-nav__item{
    font-size: 12px;
    border-bottom: none;
    font-weight: normal;
}
.sp-nav__item:not(:first-child) {
    margin-top: 1rem;
}
.sp-nav .header__nav-link.header__search {
    display: flex;
    width: 80%;
    font-size: 14px;
    border-radius: 30px;
}
.sp-nav .sp-nav_sns{
display: flex;
    margin-left: 5%;
    margin-top: 30px;
    align-items: center;
}
.sp-nav .blog_sns {
    display: block;
    width: 25px;
    height: auto;
    margin-right: 50px;
}
.sp-nav .sp-nav_related{
    display: flex;
    align-items: center;
    font-size: 14px;
    margin-left: 5%;
    font-family: "Noto Sans JP", sans-serif;
}
.sp-nav .sp-nav_bottom-link {
    width: 65px;
    margin-left: 30px;
    padding: 4px 15px;
    background-color: #FECF3E;
    border-radius: 50px;
}
.sp-nav .sp-nav_copy{
    margin-left: 5%;
    margin-top: 8%;
    color: #707070;
    font-size: 14px;
}
.blog_header__logo {
    margin-left: 35px;
    /* margin-right: 100px; */
    max-width: 160px;
    width: 100%;
    place-items: center;
    padding-top: 80px;
    z-index: -1;
}

main #main-content {
    position: relative;
    z-index: 101;
    width: 100%;
    margin: 0 auto;
    margin-top: 10px;
}

article > * + *{
    margin-top: unset;
}
.posts-wrapper a:hover, .popular-post-item a:hover,article.post a:hover{
    text-decoration: underline;
}
.posts-wrapper .post-category a:hover{
    text-decoration: none;
}

@media screen and (max-width: 1298px) {
    body{
        margin-top: 0px;
    }
    main #main-content {
        margin-top: 75px;
    }
    .pc{
    display: none;
    }
    .blog_header__logo {
    margin-left: 0;
}
    .logo__link img.pc{
        display: none;
    }
    .blog_header__logo{
        max-width: unset;
    }
    .logo__link img.sp {
        position: relative;
        top: 0;
        display: block;
        width: 21.9375rem;
        margin: 0 auto;
    }
    .headr-section-title img{
        max-height: 32px !important;
    }
    .popular-posts-wrapper {
    margin-top: 5px;
    }
    .header-special-pagination{
    display: none;
    }
    .study-tv-title{
        /* max-height: 28px !important; */
    }

}



.sp-nav__logo .logo__link{
aspect-ratio: unset;

}

#spliden{
    padding: 20px 0;
    background-color: #F35C71;
        margin-top: 36px;


}

.section-title {
    font-family: "Zen Maru Gothic", serif;
    position: relative;
    font-weight: 700;
    font-size: 48px;
    text-align: center;
    text-shadow: -1px 0px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 2px #fff;
}

.new.section-title::before {
    font-family: "M PLUS Rounded 1c", sans-serif;
    font-size: 33px;
    content: "NEW";
    display: inline-block;
    position: relative;
    top: -6px;
    letter-spacing: -1px;
    vertical-align: middle;
    margin-right: 25px;
    color: #E4A1FE;
    font-weight: bold;
    text-shadow: -1px -1px 0 #000, 1px -1px 0 #000, -1px 1px 0 #000, 1px 1px 0 #000;
}

/*sidebar*/
.right-sidebar {
position: absolute;
    top: 120px;
    right: 50px;
    max-width: 250px;
    width: calc(14% + 30px);
    overflow-y: auto;
    padding: 20px;
}
@media (min-width: 1600px) {
    .right-sidebar {
        right: calc((100% - 1440px ) / 2 + 50px); /* 親要素の右端に固定 */
    }
    .about-blog .page-content{
        width: 60%!important;
    }
.separator{
    background-size: contain!important;
}
.post-grid-list{
    /* height: 100vw; */
}
}
.bg-part2 {
    display: none!important;
}


.rsidebar-thumbnails {
    display: flex;
    flex-direction: column;
    gap: 10px;
    /* サムネイル間のスペース */
}

.thumbnail-item img {
    width: 100%;
    /* サムネイルの幅を100%に */
    height: auto;
    /* 高さを自動調整 */
    display: block;
    /* ブロック要素として表示 */
}

@media screen and (max-width: 1024px) {
    .right-sidebar {
        position: static;
        /* モバイル表示では固定を解除 */
        width: 100%;
        /* 幅を100%に */
        height: auto;
        /* 高さを自動調整 */
        box-shadow: none;
        /* 影を削除 */
    }
}

@media screen and (max-width: 800px) {
    .right-sidebar {
        position: static;
        /* モバイル表示では固定を解除 */
        width: 100%;
        /* 幅を100%に */
        height: auto;
        /* 高さを自動調整 */
        box-shadow: none;
        /* 影を削除 */
    }

    .main-content {
        margin-right: 0;
        /* マージンをリセット */
    }
}

.left-sidebar {
    font-family: "Zen Maru Gothic", serif;
    font-size: 15px;
    position: absolute;
    top: 90px;
    /*left: 70px;*/
    margin-left: 20px;
    width: 195px;
    width: calc(10% + 40px);
    overflow-y: auto;
    z-index: 101;
    border-radius: 20px;
    background-color: #FFF;
}


.left-sidebar h3 {
    font-size: 15px;
    display: block;
    width: 140px;
    margin: 30px auto 10px;
}

.left-sidebar h3 span {
    color: #FFF;
    background-color: #000;
    padding: 0 12px;
    border-radius: 4px;
    letter-spacing: -1px;
}

.left-sidebar .category-accordion {
    width: 140px;
    list-style: none;
    /* リストマーカーを削除 */
    padding: 0;
    /* パディングをリセット */
    margin: 0 auto 25px;
}

.parent-category-link {
    display: inline-block;
    font-weight: bold;
    margin-bottom: 10px;
    color: #333;
    text-decoration: none;
    border: solid 1px #000;
    border-radius: 20px;
    padding: 2px 8px;
}

.parent-category.active .parent-category-link {
    background-color: #FFF35C;
}

.child-categories li {
    margin-bottom: 10px;
    /* 各子カテゴリリンクの間にマージンを追加 */
}

.child-categories a {
    color: #666;
    /* 子カテゴリリンクの色 */
    text-decoration: none;
    /* リンクの下線を削除 */
}

.child-categories a:hover {
    text-decoration: underline;
    /* ホバー時に下線を表示 */
}

@media screen and (max-width: 800px) {
    .left-sidebar {
        position: static;
        /* モバイルでは固定を解除 */
        width: 100%;
        /* 幅を100%に */
        height: auto;
        /* 高さを自動調整 */
        box-shadow: none;
        /* 影を削除 */
    }

    .main-content {
        margin-left: 0;
        /* マージンをリセット */
    }
}

.child-categories {
    list-style-type: none;
    margin: 0;
    display: none;
    /* 初期状態では子カテゴリを非表示に */
}

.child-categories li::before {
    content: "― ";
}

/* 親カテゴリに 'active' クラスがある場合、子カテゴリを表示 */
.parent-category.active .child-categories {
    display: block;
}


.child-categories li a {
    text-decoration: none;
    color: #000;
    font-weight: bold;
}

.child-categories li a:hover {
    text-decoration: underline;
}


footer.blog_footer {
    background-color: #F9F9F5;
    background-size: cover;
    background-repeat: no-repeat;
    background-position: bottom;
    padding-top: 2.5rem;
    padding-bottom: 0.625rem;
    max-height: 250px;
}

footer.blog_footer .footer__container {
    display: flex;
    max-width: 750px;
    margin: 0 auto;
}

footer.blog_footer .footer__container .footer_left {
    flex: 1;
}

footer.blog_footer .footer__container .footer_left .footer__logo {
    width: 150px;
}

footer.blog_footer .footer__container .footer_right {
    margin-top: 10px;
    flex: 3;
}

footer.blog_footer .footer__container .footer_right .footer__items {
    display: flex;
    justify-content: center;
    align-items: baseline;
    margin-right: 0;
    border-top: none;
    padding-block: 0;
}
.footer__item:not(:first-child){
    margin-left: 0.5rem;
}
.footer__item:not(:last-child) {
    border-right: none;
    padding-right: 0;
    margin-right: 0;
}

footer.blog_footer .footer__container .footer_right .footer__link {
    background-color: #FFF;
    border-radius: 20px;
    border: solid 1px #000;
    font-weight: 500;
    color: #000;
    text-decoration: none;
    height: unset;
    padding: 7px 13px;
    line-height: 1;
}

footer.blog_footer .footer__container .footer_right .footer_right_bottom {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: bold;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 12px;
    margin-top: 15px;
}

footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_sns {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
}

footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_sns h4,
footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_sns a {
    margin-left: 20px;
    font-size: 11px;
    font-weight: 400;
}

footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_sns {
    border-right: solid 1px #000;
}

footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_sns .blog_sns {
    width: 25px;
    height: auto;
}

footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_related {
    display: flex;
    align-items: center;
    justify-content: center;
    flex: 1;
    font-family:"Noto Sans JP", sans-serif
}

footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_related h4 {
    font-size: 11px;
    font-weight: 400;
}

footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_related a {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 120px;
    height: 33px;
    background-color: #FECF3E;
    border-radius: 20px;
    margin-left: 1rem;
}

footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_related a img {
    width: 60px;
}

footer.blog_footer .footer__bottom-copy {
    color: #707070;
    text-align: center;
    font-size: 12px;
    margin: 15px 0 0 0;
}


@media screen and (max-width: 1298px) {


    .hide-tab {
        display: none;
    }
    /* .header.blog_heder{
        position: fixed;
    } */
    .header__drawer {
        position: absolute;
        right: 50px;
        display: inline-block;
        transform: scale(1);
        top: 70%;
    }
    .sp-nav{
        display: block;
    }
    footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_related h4 {
        font-size: 10px;
    }
}

@media screen and (max-width: 1024px) {
    .hide-sp{
        display: none;
    }
    .footer.blog_footer{
        padding-top: 25px;
    }
    .header.blog_heder .header__inner{
        max-width: unset;
    }
}
/*Blog Top*/

.main-header {
    width: 100%;
    max-width: 1060px;
    margin:0 auto;
    padding-top: 32px;
    position: relative;
}

.main-header .section-title {
    font-size: 32px;
}

/**スライダー**/
#splideh{
    width: 100%;
        margin-top:1rem;
    }
    .header-special-pagination{
       display: none;
    }
    #splideh .splide__pagination__page {
    background: #CCCCCC;
    border: 0;
    border-radius: 50%;
    display: inline-block;
    height: 16px;
    width: 16px;
    margin: 6px;
    opacity: .7;
    padding: 0;
    position: relative;
    transition: transform .2s linear;
    }
    #splideh .splide__pagination__page.is-active {
    background: #F35C71;
    z-index: 1;
    }
    #splideh .splide__arrow {
    -ms-flex-align: center;
    align-items: center;
    border: 0;
    border-radius: 50%;
    cursor: pointer;
    /*display: -ms-flexbox;
    display: flex;*/
    display: none;
    height: 2.5em;
    -ms-flex-pack: center;
    justify-content: center;
    opacity: 1;
    padding: 0;
    position: absolute;
    top: 97%;
    transform: translateY(-50%);
    width: 2.5em;
    z-index: 1;
    }
    #splideh .splide__arrow--prev {
    left: 14em;
    }
    #splideh .splide__arrow--prev svg {
    transform: scaleX(-1);
    }
    #splideh .splide__arrow--next {
    right: 14em;
    }
    #splideh .splide__arrow svg{
    width: 24px;
    height: 24px;
    }
    #splideh .splide__arrow svg path{
    fill: #333;

    }

h4.post-title.sp-slide {
    display: block;
    text-align: left;
    min-height: 62px;
    font-size: 14px;
    background-color: #E4A1FE;
    margin: 0;
}
h4.post-title.sp-slide a {
    display: block;
    font-size: 14px;
    padding: 8px;
    height: 54px;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

    .splide__arrow svg path {
    fill: #fff;
    }
        #splideh .spliden-item{
        width: 357px;
        aspect-ratio: 357/201; /* 幅と高さの比率を設定 */
        -o-object-fit: cover;
        object-fit: cover;
        border-radius: 10px;
    }


#spliden .splide__arrow {
    background: unset;
    border: 0;
    border-radius: 0;
    height: 100%;
    top: 50%;
    transform: translateY(-50%);
    width: 3em;
    z-index: 1;
    position: absolute;
    display: flex;
    align-items: center;
}


#spliden .splide__arrow--prev {
    left: 0;
    justify-content: left;
    background: linear-gradient(to right, rgba(0, 0, 0, .5), transparent);
}

#spliden .splide__arrow--next {
    right: 0em;
    justify-content: right;
    background: linear-gradient(to left, rgba(0, 0, 0, .5), transparent);
}

#spliden .splide__arrow--prev svg {
    transform: scaleX(-1);
}

.splide__arrow svg {
    color: #fff;
    width: 35px;
    height: 35px;
}



section.contents-section {
    width: 100%;
}


.inner-contents-section-wrapper{
    margin: 0 3px;
}
.ranking{
    margin: 0!important;
}

.inner-contents-section-wrapper.recommended{
    background-color: #75d6e4;
}

section.contents-section div.inner-contents-section {
    position: relative;
    z-index: 101;
    margin: 0px auto;
    padding: 32px 0 18px 10px;
}
@media screen and (max-width: 767px) {
    section.contents-section div.inner-contents-section {
        padding-left: 0;
    }
}

.headr-section-title{
    color: #01D78C;
    font-size: 32px;
    font-family: "DelaSukoGothicOne", sans-serif;
    font-weight: 400;
    font-style: normal;
    letter-spacing: 5px;
    text-align: center;
    text-shadow: -2px -2px 0 #fff, 2px -2px 0 #fff, -2px 2px 0 #fff, 2px 2px 0 #fff;
}

.popular-posts-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 20px;
    margin: 0px auto 20px auto;
    max-width: 100%;
    flex-wrap: wrap;
}

.popular-post-item {
    flex: 0 0 31%;
    /* 各記事の幅を30%に設定 */
    box-sizing: border-box;
    text-align: center;
    /* 中央揃え */
}

.post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    /* 画像を中央に */
}

.post-title a {
    text-decoration: none;
    color: #000;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}

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

.popular-posts-wrapper .popular-post-item a:has(h4.post-title) {
    padding: 10px 20px;
    background-color: #E4A1FE;
    display: inline-block;
}

.popular-posts-wrapper .popular-post-item h4.post-title {
    display: block;
    text-align: left;
    /* height: 62px; */
    font-size: 14px;
    background-color: #E4A1FE;
    /* padding: 10px 20px; */
    margin: 0;
    overflow: hidden;
   display: -webkit-box;
   -webkit-box-orient: vertical;
   -webkit-line-clamp: 2;
}

a.to-list {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: bold;
    font-size: 15px;
    text-align: center;
    width: 258px;
    height: 54px;
    margin: 20px auto 30px auto;
    background-color: #E4A1FE;
    border: solid 1px #000;
    border-radius: 50px;
    box-shadow: 5px 5px 0px #fff, 5px 5px 0px 1px #000;
}
a.to-list::after {
    content: "\f061";
    /* Unicode for the Font Awesome icon */
    font-family: "Font Awesome 6 Free";
    /* Font Awesome 6 */
    font-weight: 900;
    /* アイコンが正しく表示されるように指定 */
    display: inline-block;
    position: relative;
    left: 40px;
    background-color: unset;
    transition: transform 0.3s ease-in-out;
    /* アニメーションのスムーズさを設定 */
}

a.to-list:hover {
    background-color: #EFC7FF;
}

a.to-list:hover::after {
    transform: translateX(10px);
    /* ホバー時に10px右に移動 */
}

@media screen and (max-width: 767px) {
    .popular-posts-wrapper{
        justify-content: center;
        align-items: center;
    }
    .popular-post-item {
        flex: 0 0 80%;
        /* モバイルでは各記事を100%幅に */

    }
}

.study-tv {
    background-color: #7678E5;
    width: 100%;
    max-width: 1060px;
    padding-bottom: 38px;
}

.study-tv-title {
    color: #FF5500;
 padding-top: 38px;
 padding-bottom: 20px;
}

.study-thumbnails-wrapper {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    margin: 0 auto;
    width: 100%;
    max-width: 960px;
    flex-wrap: wrap;
}

.study-thumbnail-item {
    flex: 0 0 31%;
    box-sizing: border-box;
    text-align: center;
}

.study-thumbnail-item img {
    width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    /* 画像を中央に */
}

@media screen and (max-width: 767px) {
    .study-tv{
        border-radius: 8px;
    }
    .study-thumbnails-wrapper{
        justify-content: center;
    }
    .study-thumbnail-item {
        flex: 0 0 88%;
        /* モバイルでは各サムネイルを100%幅に */
    }
    .study-thumbnail-item:nth-of-type(3){
        /*display: none;*/
    }
}

.enclose {
    border-radius: 20px;
    border: solid 1px #000;
}

section.contents-section .enclose .section-title {
    text-shadow: -1px 0px 0 #fff, 1px -1px 0 #fff, -1px 1px 0 #fff, 1px 1px 2px #fff;
}



.section-recommend.enclose, .section-trivia.enclose, .section-dictionary.enclose {
    max-width: 1160px;
    margin: 0 auto;
    background-color: #FFF35C;
    border-radius: 40px;
}


.first-post .post-category a {
    background-color: #FFAAD8;
    right: 0;
    top: 15px;
    font-size: 15px;
    height: 30px;
    padding: 0px 20px;
}

.other-posts .post-category a {
    right: 0;
    top: 15px;
    font-size: 15px;
    height: 30px;
    padding: 0 20px;
}

.posts2 .post-category a {
    background-color: #ACC4E7;
}

.posts3 .post-category a {
    background-color: #FFB176;
}

.posts4 .post-category a {
    background-color: #F2F5B2;
}

.posts5 .post-category a {
    background-color: #B2F5DB;
}

.post-meta-wrapper {
    background-color: #FFF;
    margin: 0;
    min-height: 64px;
    border-bottom-left-radius: 10px;
    border-bottom-right-radius: 10px;
}


.post-list .post-meta-wrapper {
    min-height: 100px;
}

.first-post .post-meta-wrapper {
    min-height: 150px;
    padding: 16px;
}

.first-post .post-meta-wrapper .post-excerpt{
    font-size: 14px;
}
.first-post .post-meta-wrapper .post-date,
.other-posts .post-meta-wrapper .post-date{
    font-size: 11px;
}

.other-posts .post-meta-wrapper .post-title {
    font-size: 13px;
}

.first-post .post-meta-wrapper .post-title {
    font-size: 20px;
}

.other-posts .post-meta-wrapper {
    min-width: 68px;
    padding: 3px 10px;
}

.other-posts .post-excerpt {
    display: none;
}


/* 共通スタイル */
.posts-wrapper {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 40px auto;
}

.posts-wrapper .first-post {
    flex: 0 0 49%;
    /* 1件目を幅66%に設定 */
}

.posts-wrapper .other-posts-wrapper {
    flex: 0 0 50%;
    display: flex;
    flex-direction: row; /* 横方向に配置 */
    flex-wrap: wrap; /* 要素を複数行に折り返し */
    align-content: space-between;
    margin-top: 2px;
}

.posts-wrapper .other-posts-wrapper .other-posts {
    flex: 0 0 50%; /* 子要素の幅を50%に設定し、2個で改行 */
    box-sizing: border-box; /* パディングやボーダーを含めた幅を考慮 */
    padding: 0 10px; /*必要に応じてスペースを調整*/
}
@media screen and (max-width: 767px) {
    .posts-wrapper .other-posts-wrapper .other-posts{
        padding: 0;
    }
}

.post-thumbnail {
    margin: 0;
}

.post-thumbnail img {
    width: 100%;
    height: auto;
    display: block;
}

.post-category,
.post-date,
.post-title,
.post-excerpt {}

.post-title a {
    text-decoration: none;
    color: #000;
}

.post-title a:hover {
    text-decoration: underline;
}
@media screen and (max-width: 767px) {
.posts-wrapper .other-posts-wrapper .other-posts {
    flex: 0 0 90%; /* 子要素の幅を50%に設定し、2個で改行 */
}

    .posts-wrapper {
        flex-direction: column;
        /* モバイル表示では縦並びに変更 */
    }

    .posts-wrapper .first-post{
        width:90%;
        margin: 0 auto;

    }
    .posts-wrapper .other-posts-wrapper {
        flex: 0 0 90%;
        justify-content:center;
    }
    .other-posts.posts3,.other-posts.posts4{
        display: none;
    }
    a.to-list {
        font-size: 15px;
        width: 230px;
        height: 55px;
}

.post-grid-list .bg-part1{
    display: none;
}
.post-grid-list #main-content {
    min-height: 0px!important;
}

}


/**/

@media screen and (min-width: 900px) {
    .inner {
        max-width: 100%;
        padding-right: 50px;
        padding-left: 50px;
        justify-content: space-between;
    }
    .section-title img{
        max-height: 56px!important;
    }
}

/*IndexCSS*/
.post-list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    /* 3カラムに分ける */
    gap: 20px;
    /* 各カラム間の隙間を設定 */
    max-width: 912px;
        margin: 210px auto 0 auto;
}

.post-grid-list #main-content {
    min-height: 1400px;
}

.post-grid-list .no-post-found {
    display: block;
    width: 850px;
    margin: 0 auto;
}

.post-grid-list .section-title {
    /* margin: 4rem 0; */
}

.post-list article {}

.post-list article:hover {
    transform: translateY(-5px);
    /* ホバー時に少し持ち上がるエフェクト */
}

.post-thumbnail img {
    display: block;
    width: 100%;
    /* height: 150px; */
    /* object-fit: cover; */
}

.post-meta-wrapper {
    padding: 12px;
}

.post-meta {
    margin-top: 10px;
    /* メタ情報と画像の間に余白を追加 */
}


.post-category {
    text-align: right;
    font-weight: bold;
}

.post-category a {
    position: relative;
    display: inline-block;
    border-radius: 20px;
    border: solid 1px #000;
    z-index: 1;
    line-height: 25px;
}

.post-category a:hover {
    opacity: unset;
}

.post-grid-list .post-category a {
    display: none;
     background-color: #75d6e4;
    right: 0;
    top: 17px;
    font-size: 20px;
    height: 34px;
    padding: 0 20px;
}
.post-grid-list article:nth-child(3n+1) .post-category a {
    background-color: #FFAAD8;
}

.post-grid-list article:nth-child(3n+2) .post-category a {
    background-color: #75d6e4;
}

.post-grid-list article:nth-child(3n+3) .post-category a {
    background-color: #B2F5DB;
}


.post-meta-wrapper .post-date,
.post-meta-wrapper .post-title {
    font-size: 14px;
    overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2; /* 任意の行数を指定 */
}


.post-grid-list .blog-paging {
    margin: 40px auto 0 auto;
    padding-bottom: 60px;
}

.post-grid-list .blog-paging {
    display: flex;
    align-items: center;
    justify-content: center;
}

.post-grid-list .blog-paging .page-numbers {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    font-size: 16px;
    color: #000;
    background: none;
    border: none;
}

.post-grid-list .blog-paging .page-numbers.current {
    background-color: #E4A1FE;
    border: solid 1px #000;
    border-radius: 23px;
}

.post-grid-list .blog-paging .prev,
.post-grid-list .blog-paging .next {
    display: none;
}
/*
@media screen and (max-width: 1024px) {
    .post-list {
        grid-template-columns: repeat(2, 1fr);
    }
}*/

@media screen and (max-width: 767px) {
    .post-list {
        grid-template-columns: 1fr;
        /* モバイル表示では1カラムに変更 */
        margin: 90px 10px 0 10px!important;
    }
    .about-blog .about-title{
        padding-bottom: 0!important;
    }
    .about-title {
    font-size: 32px!important;
    }
    /* .post-thumbnail img {
        height: 180px;
    } */
}

/*Aboutページ*/
.about-blog {
    background: none;
    color: #000;
}

.about-blog .about-title {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 270px;
    aspect-ratio: 5.4 / 1;
    /* 2880:534 の比率に相当 */
    width: 100%;
    /* 必要に応じて幅を設定 */
    height: auto;
    /* 高さは自動調整 */
    padding-bottom: 5rem;
}
.about-blog .page-content {
    width: 80%;
    margin: 0 auto;
    padding-top: 0;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    font-weight: 500;
    background-size: 100%;
    background-repeat: no-repeat;
    background-position-y: 0;
    background-position-x: center;
    min-height: 960px;
    text-shadow: 1px 1px 1px #FFF, -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF;
}
/*.about-blog .page-content {
    width: 80%;
    margin: 0 auto 60px auto;
    padding-top: 190px;
    display: flex;
    align-items: center;
    justify-content: flex-start;
    flex-direction: column;
    font-family: "Noto Sans JP", sans-serif;
    font-size: 16px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position-y: 0;
    background-position-x: center;
    min-height: 50vw;
    text-shadow: 1px 1px 1px #FFF, -1px -1px 1px #FFF, 1px -1px 1px #FFF, -1px 1px 1px #FFF;
}*/
.about-blog .page-content p {
    margin: 0 auto;
    max-width: 700px;

}

.about-blog .page-content h3 {
    color: #EB6100;
    font-size: 32px;
    font-family: "Zen Maru Gothic", serif;
    font-weight: bold;
    margin-top: 16%;
    margin-bottom: 32px;
}

/*投稿ページ*/
body.single {
    background-color: #F9F9F5;
}
.blog-single {
    padding-top: 70px;

}

.blog-single .post-header {
    text-align: center;
    position: relative;
    overflow: hidden;
}

.blog-single .post-header img {
    width: 800px;
    height: 420px;
    object-fit: cover;
    margin: 0 auto;
}

.blog-single .post-header::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: center;
    filter: blur(10px);
    z-index: -1;
}

.blog-single .single-content-wrapper {
    max-width: 800px;
    margin: 0 auto;
}

.blog-single .single-content-wrapper .categories-tags .category a {
    background-color: #FFAAD8;
    font-size: 20px;
    /* height: 34px; */
    padding: 0 15px;
    margin-bottom: 10px;
    /* margin-left: 10px; */
    display: inline-block;
    border-radius: 20px;
    border: solid 1px #000;
}
.blog-single .single-content-wrapper .categories-tags .category a:nth-of-type(1) {
    margin-left: 0;
}

.blog-single .single-content-wrapper .post-meta {
    display: flex;
    justify-content: space-between;
    padding: 0.5rem 0;
    font-size: 16px;
}


.single-content-wrapper .post-meta .categories-tags {
    flex: 70%;
}

.single-content-wrapper .post-meta .date {
    flex: 30%;
    text-align: right;
}

.single-content-wrapper .post-description {
    color: #4c4c4c;
    margin: 20px auto;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

.single-content-wrapper .post-title {
    width: 100%;
    /* font-size: 2.5rem; */
    margin: 20px 0;
}

.single-content-wrapper .post-author {
    margin-bottom: 16px;
    max-width: 300px;
}

.single-content-wrapper .post-author a {
    display: flex;

    justify-content: flex-start;
    align-items: center;
}

.single-content-wrapper .post-author img {
    max-width: 36px;
    height: auto;
    border-radius: 50%;
    margin-right: 10px;
}

.single-content-wrapper .post-content {
    line-height: 1.7;
    min-height: 800px;
    letter-spacing: 0.1px;
}

.posts-wrapper {
    display: flex;
    justify-content: space-between;
    margin: 0 auto 40px auto;
    max-width: 1060px;
}

.blog-single .related-post-wrapper h4 {
    font-family: "Noto Sans JP", sans-serif;
    font-weight: 900;
    color: #8e8d8d;
    font-size: 16px;
    margin: 20px 10px;

}

.blog-single .related-post-wrapper .related-post {
    margin-bottom: 10px;
}

.blog-single .related-post a {
    display: flex;
}

.blog-single .related-post a img {
    flex: 1;
    width: 45%;
}

.blog-single .related-post a .text-wrap {
    flex: 1;
    width: 45%;
    margin: 10px;

}


.blog_header_ilust {
    position: absolute;
    left: -10px;
    width: 20%;
    bottom: 100%;
}
@media screen and (max-width: 768px) {
    .blog_header_ilust {
        width: 110px;
    }
}

.blog_header_circle {
    position: absolute;
    right: 0;
    bottom: 102%;
    width: 126px;
    display: none;
}
@media screen and (max-width: 1298px) {
     .blog-single .post-header img {
    height: auto;
    object-fit: unset;
    }
    .blog-single {
        padding-top: 70px;
    }
    .single-content-wrapper .post-meta .date {
    font-size: 14px;
}
.single-content-wrapper .post-author img{
    max-width:40px;
}
.single-content-wrapper .post-author {
    max-width: 400px;
    font-size: 16px;
}
.blog-single .single-content-wrapper .categories-tags .category a{
    font-size: 14px;
}
.about-blog .page-content h3 {
    font-size: 17px!important;
    margin-top: 14%!important;
}
/*
.single-content-wrapper .post-content-wrapper{
   zoom: 2.083;
   width: 100%;

}*/
.addtoany_list a:not(.addtoany_special_service)>span{
    width: 40px!important;
    height: 40px!important;
}
.addtoany_list a{
    padding: 0 2px;
}

}
@media screen and (min-width: 1298px) {
    .blog_header_ilust {
        display: none;
    }
    /* .blog_header_circle {
        display: none;
    } */
    .addtoany_content{
        margin: 0!important;
    }
    .headr-section-title1{
        margin-bottom: 20px;
    }.blog{
        background-position: left top, right top, top center, center calc(100% - 113px)!important;
        /* background-image: url(https://locagoo.co.jp/wp-content/themes/locagu_dev2408/blog-assets/images/list-bg.png);
        background-size: 40px auto, 40px auto, 100% auto, 100% auto; */
}
.blog-single .related-post-wrapper h4{
    font-size: 20px;
}
}
.addtoany_content{
    margin: -10px 0;
}



/* .post-content h2{
    font-size: 2.1rem;
}

.post-content h3{
    font-size: 1.8rem;
} */

#toc_container{
    width: 70%;
    padding: 20px 40px;
    border: none;
    background: white;
    margin-bottom: 40px;
}
#toc_container p.toc_title+ul.toc_list{
    FONT-SIZE: 16px;
    line-height: 1.8;
}
#toc_container p.toc_title{
    text-align: left;
    padding-left: 25px;
font-size: 16px;
}


@media screen and (max-width: 767px) {
    #toc_container{
        width: 100%;
    }
    /* .post-content p {
    font-size: 8px!important;
    letter-spacing: 0.8px!important;
    }
    .single-content-wrapper .post-title{
        font-size: 30px!important;
    } */
    /* .post-content h2{
        font-size: 28px!important;
    } */
    /* .post-content h3{
        font-size: 22px!important;
    } */
    /* .blog-single .related-post a .text-wrap{
        font-size: 12px!important;
    }
    #toc_container p.toc_title+ul.toc_list{
        margin-top: 0;
    }
    .toc_list a{
        font-size: 8px;
    }
    #toc_container li{
        line-height: 0.5!important;
    }
    .wp-block-table{
         font-size: 8px;
    } */
    .footer__link{
        font-size: 10px!important;
    }
    .liquid-speech-balloon-avatar {
width: 70px;
}
/* .post-content p {
    font-size: 19px;
} */
.liquid-speech-balloon-text{
padding: 5px;
}
.liquid-speech-balloon-avatar::after {
font-size: 8px;
}
#toc_container li{
    line-height: 1.8;
}
/* .post-content h2{
    font-size: 2rem;
} */

.wp-block-image figcaption{
    font-size: 0.7rem;
 }
/* .post-content h2{
    font-size: 20px!important;
}
.post-content h3{
    font-size: 18px!important;
}
.post-content h4{
    font-size: 16px!important;
}
.post-content h5{
    font-size: 14px!important;
} */
footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_related a img {
    width: 50px;
}
footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_related a{
width: 80px;
height: 20px;
}
body {
    background-size: 25px auto, 25px auto, 520px auto, 350px auto!important;
  }
  .section-title{
font-size: 27px;
  }
  .new.section-title::before{
    font-size: 27px;
  }
.headr-section-title1 img{
    max-height: 33px!important;
    }
.study-tv-title {
    padding-top: 23px!important;
    /* padding-bottom: 38px!important; */
    }
#splideh{
    margin-top: 5px;
    }
#spliden .splide__slide{
    width: calc(60% - 0.75rem) !important;
    }
.about-blog .page-content{
    min-height: 850px!important;
    }
    .sp-nav .sp-nav_related{
        font-size: 12px;
    }
    .about-blog .page-content {
    width: 90%;
    padding: 0 5%;
    }
}

@media (max-width: 767px) {
    .single-content-wrapper .post-title {
    font-size: 25px;
    }
.footer__logo{
    display: none;
}
    /* #toc_container{
        font-size: 9px!important;
    } */
    .popular-posts-wrapper .popular-post-item h4.post-title {
        height: 55px;
        font-size: 12px;
    }
.separator{
    height: 24px!important;
}
h4.post-title.sp-slide a{
    font-size: 16px;
}
.splide__arrow svg {
    width: 25px;
}
footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_sns{
    border-right: none;
}

footer.blog_footer .footer__container .footer_right .footer_right_bottom .footer_right_bottom_related{
    display: none;
}
.toc_title:before{
    left: -300px!important;
}
}


/* 本山　実装予定 */
.toc_title{
    position: relative;
}

.toc_title:before{
    font-size: 12px;
    content: url(https://locagoo.co.jp/wp-content/themes/locagu_dev2408/blog-assets/images/mokuji.jpg);
    transform: scale(0.04);
    position: absolute;
    top: -294px;
    left: -298px;

}
.toc_depth_1{
font-size:0;
}
.toc_depth_1:before {
    font-size: 12px; content: "▼";
    color: #00e074;
}

.toc_depth_2,.toc_depth_3,.toc_depth_4,.toc_depth_5{
    font-size:0;
    }
    .toc_depth_2:before {
        font-size: 12px; content: "ー";
        color: #45f6a1;
    }
    .toc_depth_3:before {
        font-size: 12px; content: "ー";
        color: #00e074;
    }
    .toc_depth_4:before {
        font-size: 12px; content: "ー";
        color: #00e074;
    }
    .toc_depth_5:before {
        font-size: 12px; content: "ー";
        color: #00e074;
    }
.post-content h2{
    background: #f2fdf8;
    border-left: solid 5px #45f6a1;
    line-height: 1.9;
    padding: 5px 15px;
}
.post-content h3,.post-content h4,.post-content h5{
    border-left: solid 5px #00e074;
    line-height: 1.9;
    padding: 5px 15px;
}

.blog_sns--tiktok {
    width: 30px !important;
}


.blog-single .quiz-view .react-share__ShareButton svg {
    padding-top: 0;
    height: 50px;
}
@media (max-width: 767px) {
    .blog-single .quiz-view .react-share__ShareButton svg {
        height: 30px;
    }
}