@charset "utf-8";

@media screen and (max-width: 767px) {
  .columnArea {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
  }

  #columnTitleBox {
    position: relative;
    width: 95%;
    border: solid 2px #9d9d9d;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 5vw 0px;
    margin: 0px auto 2.5vh auto;
    box-sizing: border-box;
  }

  #columnTitleBox h1 {
    font-size: clamp(20px, 5vw, 24px) !important;
  }

  .addtoany_shortcode {
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: 0px;
    right: 17px;
  }

  .addtoany_list.a2a_kit_size_32 a {
    font-size: 24px !important;
  }

  .a2a_svg {
    height: 24px !important;
    line-height: 24px !important;
    width: 24px !important;
  }

  .columnSnsArea {
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: 10px;
    right: 0px;
  }

  .columnSnsArea li {
    margin-right: 15px;
  }

  .columnSnsArea li img {
    max-width: 40px;
    width: 5vw;
  }

  /*本文*/
  .columnLeft h1 {
    font-size: clamp(20px, 5.5vw, 24px) !important;
    margin: 20px 0;
    padding-bottom: 5px;
    border-bottom: solid 1px #9d9d9d;
    line-height: 1.4;
  }

  .singleTextArea h2 {
    width: 95%;
    font-size: clamp(20px, 5.5vw, 24px) !important;
    margin: 30px auto 0px auto;
    padding-bottom: 5px;
    border-bottom: solid 1px #9d9d9d;
  }

  .singleTextArea h3 {
    width: 95%;
    font-size: clamp(18px, 5vw, 22px) !important;
    margin: 30px auto 0px auto;
    padding-bottom: 5px;
    border-bottom: solid 1px #9d9d9d;
  }

  .singleTextArea h4 {
    width: 95%;
    font-size: clamp(16px, 4.5vw, 20px) !important;
    margin: 30px auto 0px auto;
    padding-bottom: 5px;
    border-bottom: solid 1px #9d9d9d;
  }

  .singleTextArea p {
    font-size: clamp(16px, 3.8vw, 18px);
    margin: 30px auto 0px auto;
    width: 95%;
    line-height: 1.8;
  }

  .singleTextArea p a {
    color: #4d7aff;
  }

  .singleTextArea ul {
    margin: 30px auto 0px auto;
    /* width: 95%; */
    list-style-type: disc;
    list-style-position: inside;
    width: calc(95% - 1em);
  }

  .singleTextArea ul li {
    font-size: clamp(16px, 3.8vw, 18px);
    line-height: 1.8;
    padding-left: 1em;
    text-indent: -1.5em;
    line-height: 1.8;
  }

  .singleTextArea ol {
    margin: 30px auto 0px auto;
    /* width: 95%; */
    list-style-type: decimal;
    list-style-position: inside;
    width: calc(95% - 1em);
  }

  .singleTextArea ol li {
    font-size: clamp(16px, 3.8vw, 18px);
    line-height: 1.8;
    padding-left: 1em;
    text-indent: -1.3em;
    line-height: 1.8;
  }

  .columnLeft blockquote {
    width: 100%;
    background-color: #f7f7f7;
    padding: 20px;
    margin: 40px auto;
  }

  .singleTextArea>blockquote>p {
    font-size: clamp(14px, 4vw, 16px) !important;
    line-height: 1.5 !important;
    margin: 0 0 20px 0 !important;
  }

  .singleTextArea>blockquote>h2,
  .singleTextArea>blockquote>h3,
  .singleTextArea>blockquote>h4 {
    margin: 20px 0px 0px 0px !important;
    font-size: clamp(16px, 4.5vw, 20px) !important;
    border: none !important;
    width: 100% !important;
  }

  .slick-track {
    margin: 0 !important;
  }

  #mainFlexBlock {
    width: 100%;
    margin: 0 auto;
  }

  .columnLeft {
    width: 95%;
    margin: 0 auto;
  }

  .columnRight {
    width: 95%;
    margin: 50px auto 0px auto;
  }

  .eyeCatchImg {
    width: 100%;
    margin: 0px 0 0px 0;
  }

  .eyeCatchImg img {
    width: 100% !important;
    max-width: 100% !important;
  }

  .grandchildCategories {
    width: 100%;
    margin: 30px 0px;
  }

  .gcate {
    font-size: 16px;
    display: inline-block;
    padding: 3px 20px;
    border-radius: 20px;
    border: solid 1px #666;
  }

  .childCategories {
    text-align: right;
    margin: 10px 0;
  }

  .ccate {
    display: inline-block;
    background-color: #000;
    color: #fff;
    padding: 0 10px;
    font-size: 13px !important;
  }

  .overviewArea {
    width: 95% !important;
    margin: 0 auto 30px auto !important;
  }

  #ez-toc-container {
    background-color: #f0f0f0 !important;
    border-radius: 0px !important;
    border: none !important;
    padding: 15px 20px 15px 20px !important;
  }

  .ez-toc-title {
    font-size: clamp(18px, 5vw, 24px) !important;
    color: #1a1210 !important;
  }

  div#ez-toc-container ul.ez-toc-list a {}

  .ez-toc-list {
    margin-top: 20px !important;
    margin-left: 10px !important;
  }

  .ez-toc-link::before {
    display: none !important;
  }

  .ez-toc-link {
    font-size: clamp(14px, 3vw, 16px) !important;
    color: #1a1210 !important;
    margin-bottom: 10px;
  }

  .contactBlock {
    width: 100%;
    background-color: #7c7c7c;
    margin: 40px auto 0px auto;
  }

  ul.infoBlockColumn {
    width: 95% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: flex !important;
    padding: 20px 0 !important;
    align-items: center !important;
    list-style-type: none !important;
    list-style-position: initial !important;
  }

  ul.infoBlockColumn li {
    color: #fff !important;
    line-height: 1 !important;
    padding-left: 0px !important;
    text-indent: 0px !important;
  }

  .columnWide {
    width: 33%;
  }

  .button01 {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    width: 100%;
    padding: 10px;
    background-color: #eb5e01;
    overflow-wrap: break-word;
    color: #fff;
    border-radius: 30px;
    justify-content: center;
  }

  .button01icon {
    flex-shrink: 0;
    width: 20px;
    height: 20px;
    margin-right: 5px;
    fill: #fff !important;
    transition: 0.7s;
  }

  .button02 {
    display: flex;
    align-items: center;
    flex-shrink: 0;
    width: 100%;
    padding: 10px 0px;
    overflow-wrap: break-word;
    color: #fff;
    justify-content: center;
    transition: all 0.3s ease 0s;
  }

  .infoBlockText {
    font-size: clamp(13px, 3vw, 16px) !important;
  }

  .authorProfile {
    margin: 30px 0px 0px 0px;
    width: 100%;
    background-color: #efefef;
    padding: 20px 20px 30px 20px;
    box-sizing: border-box;
  }

  .authorProfile dl {
    width: 100%;
    display: flex;
    flex-wrap: wrap;
  }

  .authorProfile dl dt {
    width: 70%;
    margin: 0 auto;
  }

  .authorProfile dl dt img {
    width: 100%;
  }

  .authorProfile dl dd {
    width: 100%;
    margin-top: 30px;
  }

  .authorProfile dl dd p.authorText {
    font-size: clamp(14px, 4vw, 16px) !important;
    color: #033333;
    margin: 0 !important;
  }

  .authorProfile dl dd p.authorText2 {
    font-size: clamp(14px, 2vw, 16px) !important;
    color: #033333;
    line-height: 1.8 !important;
    margin: 10px 0px 0px 0px !important;
  }

  .authorTitle {
    text-align: center;
    font-size: clamp(16px, 4.5vw, 18px) !important;
    color: #033333;
    margin-bottom: 20px !important;
    margin-top: 0px !important;
  }

  .wp-block-image {
    width: 100%;
    margin: 30px auto 0px auto;
  }

  .wp-block-image img {
    width: 100%;
  }

  .singleTextArea img {
    margin: 30px auto 30px auto;
  }

  .summaryBlock {
    width: 100%;
    margin: 30px auto 0px auto;
  }

  .summaryBlock h2 {
    width: 100%;
    text-align: center;
    font-size: clamp(20px, 5.5vw, 24px) !important;
    padding-bottom: 5px;
    border-bottom: solid 1px #9d9d9d;
  }

  .summaryBlock p {
    width: 95%;
    margin: 30px auto 0px auto;
    font-size: clamp(14px, 1.5vw, 16px) !important;
  }

  .recommendedArticles {
    width: 100%;
    background-color: #fff2e3;
    margin: 50px auto 0px auto;
    padding-top: 30px;
    overflow-x: hidden !important;
  }

  .relatedNews {
    width: 98%;
    /* margin: 0 auto; */
  }

  .relatedNews>h3 {
    text-align: center;
    font-size: clamp(20px, 5.5vw, 24px) !important;
  }

  .spRecommended {
    width: 100%;
  }

  #recommendedList {
    width: 100%;
    padding-top: 2vh;
    box-sizing: border-box;
    text-align: center;
    position: relative;
  }

  #recommendedList li {
    width: 49.75%;
    /* margin-right: 0.25%; */
    margin-right: 0.5%;
    margin-bottom: 50px;
  }

  dl.newsPageText2 {
    width: 90%;
    position: relative;
    z-index: 9;
    background-color: #fff;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
    margin-top: -20px;
    margin-left: auto;
    margin-right: auto;
  }

  dl.newsPageText2 dt {
    padding: 10px 5px 0px 5px;
    display: flex;
    flex-wrap: wrap;
  }

  dl.newsPageText2 dd {
    font-size: clamp(13px, 1.5vw, 14px) !important;
    text-align: left;
    line-height: 1.4;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 40px;
    line-height: 1;
  }

  .recommendedCate {
    width: 100%;
    display: flex;
    align-items: center;
    margin: 0 auto;
    flex-wrap: wrap;
  }

  .textRight {
    text-align: right;
    width: 100%;
  }

  .recommendCateTag {
    font-size: clamp(10px, 1.2vw, 12px) !important;
    display: inline-block;
  }

  .columnDate {
    font-size: clamp(10px, 1.2vw, 12px) !important;
  }

  .columnMark {
    position: absolute;
    right: 10px;
    bottom: 10px;
  }

  .recommendColumnTitle {
    width: 90%;
    margin: 0px auto;
    padding: 10px 0px;
    text-align: left;
  }

  .columnRight h2 {
    width: 100%;
    border-bottom: solid 2px #363636;
    /* padding: 0 0px 0 5%; */
    vertical-align: middle;
    font-size: clamp(22px, 5vw, 28px) !important;
    font-weight: normal;
    text-align: center;
  }

  img.crownImg {
    width: 10%;
    vertical-align: middle;
    margin-right: 10px;
    max-width: 30px;
  }

  ul.popularPosts {
    width: 100%;
    margin: 10px 0;
  }

  ul.popularPosts li {
    width: 100%;
    position: relative;
    padding-bottom: 15px;
    /* ボーダーとの余白調整 */
    /* margin-bottom: 10px; */
    /* li間の余白 */
  }

  .popularPosts li::after {
    content: "";
    display: block;
    width: 80%;
    /* 幅を80%に */
    margin: 0 auto;
    /* 中央寄せ */
    border-bottom: 1px solid #d0d0d0;
    /* ボーダー色と太さ */
    margin-top: 30px;
    /* ボーダーと中身の間隔 */
  }

  .popularPosts li:last-child::after {
    content: none;
  }

  .speciaFirst img.thumbnailRankin1 {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 4 / 3;
  }

  .rank1Block {
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-top: 10px;
  }

  .rankCate {
    display: inline-block;
    font-size: 13px;
    color: #fff;
    background-color: #000;
    padding: 0 5px;
  }

  .rank1Img {
    width: 15%;
  }

  .rank1Img img {
    width: 100%;
    min-width: 50px;
  }

  .rankDate {
    text-align: right;
    font-size: 13px;
  }

  .rank1Title {
    font-size: clamp(14px, 1.5vw, 16px) !important;
    line-height: 1.4;
    margin-top: 20px;
    color: #4a4a4a;
  }

  .otherRanking {
    padding-top: 10px;
  }

  ul.popularPosts li dl {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }

  ul.popularPosts li dl dt {
    width: 38%;
    margin-right: 2%;
    position: relative;
  }

  ul.popularPosts li dl dt img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
    aspect-ratio: 1 / 1;
  }

  ul.popularPosts li dl dd {
    width: 60%;
  }

  .rankCate2 {
    position: absolute;
    top: 0px;
    left: 0px;
    display: inline-block;
    font-size: 13px;
    color: #fff;
    background-color: #000;
    padding: 0 5px;
  }

  .rank2Block {
    width: 95%;
    margin-left: 5%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    margin: 0px auto 10px auto;
  }

  .rank2Img {
    width: 25%;
  }

  .rank2Img img {
    width: 100%;
    max-width: 50px;
  }

  .grandchildCats {
    text-align: center !important;
  }

  ul.grandchildCatLinks {
    width: 100%;
  }

  ul.grandchildCatLinks li {
    width: 100%;
    font-size: clamp(14px, 1.5vw, 18px) !important;
    padding: 15px 10px 15px 10px;
    border-bottom: solid 1px #4a4a4a;
    text-align: center !important;
    display: flex;
    justify-content: flex-start !important;
  }

  .mark2Plus {
    position: absolute;
    right: 10px !important;
  }

  .sidebarGrandchildCats {
    margin-top: 50px;
  }
}

@media screen and (min-width: 768px) {
  .columnArea {
    width: 100%;
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
  }

  #columnTitleBox {
    position: relative;
    width: 100%;
    border: solid 2px #9d9d9d;
    display: flex;
    justify-content: center;
    align-items: center;
    max-width: 1200px;
    padding: 2.5vw 0px;
    margin: 20px auto 2.5vh auto;
  }

  #columnTitleBox h1 {
    font-size: clamp(35px, 3.33vw, 40px) !important;
  }

  .addtoany_shortcode {
    display: flex !important;
    justify-content: space-between !important;
    position: absolute !important;
    bottom: 10px !important;
    right: 20px !important;
  }

  .columnSnsArea {
    display: flex;
    justify-content: space-between;
    position: absolute;
    bottom: 20px;
    right: 20px;
  }

  .columnSnsArea li {
    margin-right: 10px;
  }

  .columnSnsArea li img {
    max-width: 30px;
    width: 2.5vw;
  }

  /*本文*/
  .columnLeft h1 {
    font-size: clamp(30px, 4vw, 40px) !important;
    margin: 20px 0;
    padding-bottom: 5px;
    border-bottom: solid 1px #9d9d9d;
  }

  .singleTextArea h2 {
    width: 95%;
    font-size: clamp(28px, 3.5vw, 32px) !important;
    margin: 40px auto 0px auto;
    padding-bottom: 5px;
    border-bottom: solid 1px #9d9d9d;
  }

  .singleTextArea h3 {
    width: 95%;
    font-size: clamp(24px, 3vw, 28px) !important;
    margin: 40px auto 0px auto;
    padding-bottom: 5px;
    border-bottom: solid 1px #9d9d9d;
  }

  .singleTextArea h4 {
    width: 95%;
    font-size: clamp(22px, 2.5vw, 24px) !important;
    margin: 40px auto 0px auto;
    padding-bottom: 5px;
    border-bottom: solid 1px #9d9d9d;
  }

  .singleTextArea p {
    font-size: clamp(16px, 2.5vw, 18px);
    line-height: 1.8;
    margin: 40px auto 0px auto;
    width: 95%;
    text-align: justify;
  }

  .singleTextArea p a {
    color: #4d7aff;
  }

  .singleTextArea p a:hover {
    opacity: 0.5;
  }

  .singleTextArea ul {
    margin: 40px auto 0px auto;
    /* width: 95%; */
    list-style-type: disc;
    list-style-position: inside;
    width: calc(95% - 1em);
  }

  .singleTextArea ul li {
    font-size: clamp(16px, 2.5vw, 18px);
    line-height: 1.8;
    padding-left: 1em;
    text-indent: -1.5em;
    line-height: 1.8;
  }

  .singleTextArea ol {
    margin: 40px auto 0px auto;
    /* width: 95%; */
    list-style-type: decimal;
    list-style-position: inside;
    width: calc(95% - 1em);
  }

  .singleTextArea ol li {
    font-size: clamp(16px, 2.5vw, 18px);
    line-height: 1.8;
    padding-left: 1em;
    text-indent: -1.3em;
    line-height: 1.8;
  }

  .contact-button {
    display: block;
    margin: 20px auto;
    width: 30%;
    padding: 12px 24px;
    color: #fff;
    border-radius: 6px;
    text-decoration: none;
    font-weight: bold;
    transition: background 0.3s;
    text-align: center;
  }

  .columnLeft blockquote {
    width: 100%;
    background-color: #f7f7f7;
    padding: 20px;
    margin: 40px auto;
  }

  .singleTextArea>blockquote>p {
    font-size: clamp(14px, 4vw, 16px) !important;
    line-height: 1.5 !important;
    margin: 0 0 20px 0 !important;
  }

  .singleTextArea>blockquote>h2,
  .singleTextArea>blockquote>h3,
  .singleTextArea>blockquote>h4 {
    margin: 20px 0px 0px 0px !important;
    font-size: clamp(16px, 4vw, 18px) !important;
    border: none !important;
    width: 100% !important;
  }

  #mainFlexBlock {
    width: 90%;
    margin: 0 auto;
  }

  .columnLeft {
    width: 70%;
  }

  .columnRight {
    width: 25%;
    margin-left: 5%;
  }

  .eyeCatchImg {
    width: 100%;
    margin: 0px 0 0px 0;
  }

  .eyeCatchImg img {
    width: 100% !important;
    max-width: 100% !important;
  }

  .grandchildCategories {
    width: 100%;
    margin: 20px 0px;
  }

  .gcate {
    font-size: 16px;
    display: inline-block;
    padding: 3px 20px;
    border-radius: 20px;
    border: solid 1px #666;
  }

  .childCategories {
    text-align: right;
    margin: 10px 0;
  }

  .ccate {
    display: inline-block;
    background-color: #000;
    color: #fff;
    padding: 0 10px;
    font-size: clamp(13px, 1.5vw, 16px) !important;
  }

  .overviewArea {
    width: 95% !important;
    margin: 0 auto 30px auto !important;
  }

  #ez-toc-container {
    background-color: #f0f0f0 !important;
    border-radius: 0px !important;
    border: none !important;
    padding: 25px 20px 20px 20px !important;
  }

  .ez-toc-title {
    font-size: clamp(22px, 4vw, 28px) !important;
    color: #1a1210 !important;
  }

  div#ez-toc-container ul.ez-toc-list a {}

  .ez-toc-list {
    margin-top: 20px !important;
    margin-left: 20px !important;
  }

  .ez-toc-link::before {
    display: none !important;
  }

  .ez-toc-link {
    font-size: clamp(14px, 3vw, 18px) !important;
    color: #1a1210 !important;
    margin-bottom: 10px;
  }

  .contactBlock {
    width: 100%;
    background-color: #7c7c7c;
    margin: 40px auto 0px auto;
  }

  ul.infoBlockColumn {
    width: 90% !important;
    display: flex;
    padding: 20px 0;
    margin: 0px auto !important;
    list-style-type: none !important;
    list-style-position: initial !important;
  }

  ul.infoBlockColumn li {
    color: #fff;
    line-height: 1 !important;
    padding-left: 0px !important;
    text-indent: 0px !important;
  }

  .columnWide {
    width: 33%;
  }

  .authorProfile {
    margin: 5vw 0px;
    width: 100%;
    background-color: #efefef;
    padding: 20px 50px 30px 50px;
    box-sizing: border-box;
  }

  .authorProfile dl {
    width: 100%;
    display: flex;
  }

  .authorProfile dl dt {
    width: 15%;
  }

  .authorProfile dl dt img {
    width: 100%;
  }

  .authorProfile dl dd {
    width: 81%;
    margin-left: 4%;
  }

  .authorProfile dl dd p.authorText {
    font-size: clamp(13px, 2vw, 16px) !important;
    color: #033333;
    margin: 0 !important;
  }

  .authorProfile dl dd p.authorText2 {
    font-size: clamp(12px, 2vw, 13px) !important;
    color: #033333;
    line-height: 1.8 !important;
    margin: 10px 0px 0px 0px !important;
  }

  .authorTitle {
    text-align: center;
    font-size: clamp(13px, 2vw, 16px) !important;
    color: #033333;
    margin-bottom: 10px !important;
    margin-top: 0px !important;
  }

  .wp-block-image {
    width: 100%;
    margin: 40px auto 0px auto;
  }

  .wp-block-image img {
    width: 100%;
  }

  .singleTextArea img {
    margin: 40px auto 40px auto;
  }

  .summaryBlock {
    width: 100%;
    margin: 40px auto 0px auto;
  }

  .summaryBlock h2 {
    width: 100%;
    text-align: center;
    font-size: clamp(28px, 3.5vw, 32px) !important;
    padding-bottom: 5px;
    border-bottom: solid 1px #9d9d9d;
  }

  .summaryBlock p {
    width: 95%;
    margin: 30px auto 0px auto;
    font-size: clamp(16px, 2.5vw, 18px) !important;
  }

  .recommendedArticles {
    width: 100%;
    background-color: #fff2e3;
    max-width: 1200px;
    margin: 0 auto;
    padding-top: 20px;
  }

  .relatedNews {
    width: 85%;
    margin: 0 auto;
  }

  .relatedNews>h3 {
    text-align: center;
    font-size: clamp(28px, 3.5vw, 32px) !important;
  }

  #recommendedList {
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    display: flex;
    padding-top: 2vh;
    flex-wrap: wrap;
    justify-content: space-between;
    box-sizing: border-box;
    text-align: center;
  }

  #recommendedList li {
    /* flex-basis: calc((100% - 40px) / 4);
		max-width: calc((100% - 40px) / 4); */
    flex-basis: calc((100% - 50px) / 3);
    max-width: calc((100% - 50px) / 3);
    position: relative;
    margin-bottom: 5%;
  }

  #recommendedList::after {
    display: block;
    content: "";
    width: calc((100% - 50px) / 3);
  }

  #recommendedList::before {
    display: block;
    content: "";
    width: calc((100% - 50px) / 3);
    order: 1;
  }

  dl.newsPageText2 {
    width: 85%;
    position: relative;
    z-index: 9;
    background-color: #fff;
    box-shadow: 2px 2px 4px rgba(0, 0, 0, 0.2);
    margin-top: -40px;
    margin-left: auto;
    margin-right: auto;
  }

  dl.newsPageText2 dt {
    padding: 20px 5px 10px;
    display: flex;
    flex-wrap: wrap;
  }

  dl.newsPageText2 dd {
    font-size: clamp(13px, 1.5vw, 14px) !important;
    text-align: left;
    line-height: 1.4;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
    padding-bottom: 40px;
    line-height: 1;
  }

  .recommendedCate {
    width: 90%;
    display: flex;
    align-items: center;
    justify-content: space-between;
    margin: 0 auto;
  }

  .textRight {
    text-align: right;
    width: 100%;
  }

  .recommendCateTag {
    width: 100%;
  }

  .recommendColumnTitle {
    width: 90%;
    margin: 0px auto;
    padding: 20px 0px;
    text-align: left;
  }

  .columnRight h2 {
    width: 100%;
    border-bottom: solid 2px #363636;
    /* padding: 0 0px 0 5%; */
    vertical-align: middle;
    font-size: clamp(28px, 3.5vw, 32px) !important;
    font-weight: normal;
    text-align: center;
  }

  img.crownImg {
    width: 15%;
    vertical-align: middle;
    margin-right: 10px;
  }

  ul.popularPosts {
    width: 100%;
    margin: 10px 0;
  }

  ul.popularPosts li {
    width: 100%;
    position: relative;
    padding-bottom: 10px;
    /* ボーダーとの余白調整 */
    margin-bottom: 10px;
    /* li間の余白 */
  }

  .popularPosts li::after {
    content: "";
    display: block;
    width: 80%;
    /* 幅を80%に */
    margin: 0 auto;
    /* 中央寄せ */
    border-bottom: 1px solid #d0d0d0;
    /* ボーダー色と太さ */
    margin-top: 20px;
    /* ボーダーと中身の間隔 */
  }

  .popularPosts li:last-child::after {
    content: none;
  }

  .speciaFirst img.thumbnailRankin1 {
    width: 100%;
    object-fit: cover;
    aspect-ratio: 4 / 3;
  }

  .rank1Block {
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    padding-top: 10px;
  }

  .rankCate {
    display: inline-block;
    font-size: 12px;
    color: #fff;
    background-color: #000;
    padding: 0 5px;
  }

  .rank1Img {
    width: 25%;
  }

  .rank1Img img {
    width: 100%;
    min-width: 50px;
  }

  .rankDate {
    text-align: right;
    font-size: 10px;
  }

  .rank1Title {
    font-size: clamp(13px, 1.3vw, 14px) !important;
    line-height: 1.4;
    margin-top: 10px;
    color: #4a4a4a;
  }

  .otherRanking {
    padding-top: 10px;
  }

  ul.popularPosts li dl {
    width: 100%;
    display: flex;
    justify-content: space-between;
  }

  ul.popularPosts li dl dt {
    width: 45%;
    position: relative;
  }

  ul.popularPosts li dl dt img {
    width: 100% !important;
    height: auto !important;
    object-fit: cover;
    aspect-ratio: 4 / 3;
  }

  ul.popularPosts li dl dd {
    width: 52%;
    margin-left: 3%;
  }

  .rankCate2 {
    position: absolute;
    top: 0px;
    left: 0px;
    display: inline-block;
    font-size: 12px;
    color: #fff;
    background-color: #000;
    padding: 0 5px;
  }

  .rank2Block {
    width: 100%;
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
  }

  .rank2Img {
    width: 30%;
  }

  .rank2Img img {
    width: 100%;
    min-width: 40px;
  }

  .grandchildCats {
    text-align: center !important;
  }

  ul.grandchildCatLinks {
    width: 100%;
  }

  ul.grandchildCatLinks li {
    width: 100%;
    font-size: clamp(13px, 2vw, 16px) !important;
    padding: 15px 0px 20px 0px;
    border-bottom: solid 1px #4a4a4a;
  }

  .mark2Plus {
    margin-left: 90% !important;
    margin-top: -27px !important;
  }

  .sidebarGrandchildCats {
    margin-top: 50px;
  }

  .aligncenter {
    clear: both;
    display: block;
    float: none;
    margin-right: auto;
    margin-left: auto;
    text-align: center;
  }

  .alignright {
    margin-top: 0;
    margin-left: 40px !important;
  }

  .alignleft {

    text-align: left;
    margin-right: 40px !important;
  }
}

.a2a_s_facebook {
  background-color: rgb(0, 0, 0) !important;
}

.a2a_s_line {
  background-color: rgb(0, 0, 0) !important;
}

ul.ez-toc-list li {
  padding-left: 0px !important;
  text-indent: 0 !important;
}