@charset "UTF-8";
/*
Theme Name: LEADING EDGE Store Theme
Theme URI: https://yocabito.jp/
Description: LEADING EDGE スポーツECサイトの下層・投稿機能（コラム・新着情報）専用のカスタムテーマです。futureshopのヘッダー・フッターを自動同期します。
Author: コーディング パートナー
Version: 1.0.0
*/

/*
ここから下に独自の共通スタイル（CSS）を自由に追加できます。
既存の style.css や独自パーツのスタイルはここに記述するか、
header.php で読み込んでいる外部CSSに記述してください。
*/
.pankuzu{
  background:transparent;
  max-width:1400px;
  margin:16px auto;
}
.pankuzu_list > span{
  margin:0;
  line-height:1;
  -webkit-box-align:center;
      -ms-flex-align:center;
          align-items:center;
  display:block;
  padding:0 20px;
  font-size:0;
  @media screen and (max-width: 767px) {
    padding-left:16px;
    padding-right:16px;
    white-space:nowrap;
    overflow:auto;
    margin-bottom:0;
    scrollbar-width:none;
  }
  & > span{
    line-height:1.5;
    padding:10px 5px 10px 0;
    color:#000;
    font-size:1.2rem;
    @media screen and (max-width: 767px) {
      display:inline-block;
      padding:0 5px 0 0;
    }
  }
  & > span a{
    color:#000;
  }
}

.pankuzu_list > span > span::before{
     margin-right:10px;
     border: 1px solid #999;
      width: 6px;
      height: 6px;
      display: inline-block;
     content: "";
     -webkit-transform: rotate(45deg);
            transform: rotate(45deg);
     border-bottom: 0;
     border-left: 0;
     border-color:#000;
}

.pankuzu_list > span > span:first-of-type::before{
     display:none;
}
.fs-clientInfo:not(.is-ready){
     display:block!important;
}



/* 共通
------------------------------------------------------------------------------ */
.post_category{
  background: #ebf0f2;
  color: #111;
  padding: 4px 12px;
  font-size: 1.2rem;
  text-decoration: none;
  border-radius:12px;
}
.post_category.post_category_basketball ,
.column-related__post-category.post_category_basketball{
  background: #ff7100;
  color: #fff;
}
.post_category.post_category_soccer ,
.column-related__post-category.post_category_soccer{
  background: #0093ff;
  color: #fff;
}
.post_category.post_category_baseball ,
.column-related__post-category.post_category_baseball{
  background: #c6762b;
  color: #fff;
}
.sidebar_area{
  width: 300px;
  flex-shrink: 0;
  @media screen and (max-width: 767px) {
    width:100%;
  }
}
.section_pdg{
  margin:40px 0 80px;
  gap:40px;
  @media screen and (max-width: 767px) {
    margin:24px 0 40px;
  }
}



/* シングル
------------------------------------------------------------------------------ */
.block-editor-iframe__body a:not(.wp-block-button__link),
.body_single .entry_content a:not(.wp-block-button__link){
  color:var(--accent-color);
  text-decoration:underline;
}
.body_single .post_category_wrap{
  margin-bottom:16px;
  @media screen and (max-width: 767px) {
    margin-bottom:8px;
  }
}
.body_single .post_category{
  font-size:1.3rem;
  @media screen and (max-width: 767px) {
    font-size:1.2rem;
  }
}
.body_single .post_meta_dates{
  margin-bottom:24px;
}
.body_single .post_meta_dates time{
  color: #666;
  font-size:1.4rem;
  font-weight:400;
  font-family:"Arimo", sans-serif;
}
.body_single .entry_title.heading-1{
  font-size: 3.2rem;
  line-height: 1.4;
  margin: 0 0 10px;
  font-weight: 500;
  text-align: left;
  @media screen and (max-width: 767px) {
    font-size:2.4rem;
    margin:0 0 8px;
  }
}
.body_single .entry_thumbnail{
  margin-bottom: 40px;
  border-radius: 6px;
  overflow: hidden;
  box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}
.body_single .entry_content{
  /* font-size: 1.05em; */
  line-height: 1.8;
  color: #333;
  margin-bottom: 60px;
}
.body_single .entry_footer{
  margin-top: 60px;
  padding-top: 30px;
  /* border-top: 1px solid #e5e5e5; */
}

.prev_post a::before ,
.next_post a::before {
  content:"";
  width: 6px;
  height: 6px;
  display: block;
  position: absolute;
}
.prev_post a::before {
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  transform: rotate(-45deg);
  left: 14px;
}
.next_post a::before {
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  transform: rotate(45deg);
  right: 14px;
}
.prev_post a ,
.next_post a {
  display: block;
  text-decoration: none;
  border-radius: 5px;
  position: relative;
  display: flex;
  align-items: center;
  background:var(--accent-color);
  color:#fff;
  @media screen and (max-width: 767px) {
    font-size:1.3rem;
  }
}

.prev_post a {
  padding: 15px 15px 15px 30px;
  justify-content:flex-start;
}
.next_post a {
  padding: 15px 30px 15px 15px;
  justify-content:flex-end;
}


/* 記事 アーカイブ
------------------------------------------------------------------------------ */

.body_archive .post_list{
  gap: 24px;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  @media screen and (max-width: 767px) {
    display:flex;
    flex-direction:column;
    gap:0;
  }
}
.body_archive .post_item{
  display: flex;
  flex-direction: column;
  background: #fff;
  /* border: 1px solid #e5e5e5; */
  /* border-radius: 8px; */
  overflow: hidden;
  transition: transform 0.3s, box-shadow 0.3s;
  height: 100%;
  @media screen and (max-width: 767px) {
    margin-bottom:24px;
    padding-bottom:24px;
    border-bottom:1px dashed #eee;
  }
}
.body_archive .post_item > a{
  text-decoration: none;
  color: inherit;
  display: flex;
  flex-direction:
  column; height: 100%;
  @media screen and (max-width: 767px) {
    flex-direction:row;
    align-items:flex-start;
    gap:16px;
  }
}
.body_archive .post_thumbnail{
  background: #eee;
  overflow: hidden;
  width: 100%;
  border-radius:3px;
  @media screen and (max-width: 767px) {
    width:128px;
    flex:none;
  }
}
.body_archive .post_thumbnail img{
  @media screen and (max-width: 767px) {
    aspect-ratio:1;
    object-position:center;
    object-fit:cover;
  }
}
.body_archive .post_content{
  padding: 12px 0;
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  justify-content: space-between;
  @media screen and (max-width: 767px) {
    padding:0;
  }
}
.body_archive .post_meta{
  line-height:1;
}
.body_archive .post_date{
  color:#666;
  font-weight:400;
  font-size:1.3rem;
  font-family:"Arimo", sans-serif;
}
.body_archive .post_title{
  font-size:1.6rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 8px 0 5px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden;
  @media screen and (max-width: 767px) {
    font-size:1.4rem;
  }
}
.body_archive .post_excerpt{
  font-size: 0.9em;
  color: #555;
  line-height: 1.5;
  margin: 10px 0 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  display:none;
}
.body_archive .pagination{
  margin-top: 50px;
  text-align: center;
}



/* 新着情報 アーカイブ
------------------------------------------------------------------------------ */
.news_list{
  list-style: none;
  padding: 0;
  margin: 0;
  border-top: 1px solid #e5e5e5;
}
.news_item{
  border-bottom: 1px solid #e5e5e5;
  transition: background-color 0.3s;
}
.news_item > a{
  text-decoration: none;
  color: inherit;
  display: flex;
  padding: 20px 10px;
  gap: 20px;
  align-items: center;
  width: 100%;
  @media screen and (max-width: 767px) {
    gap:8px;
    flex-wrap:wrap;
    position:relative;
    padding:16px 24px 16px 0px;
  }
}
.news_date{
  font-size: 1em;
  color: #666;
  min-width: 88px;
  flex-shrink: 0;
  font-family:"Arimo", sans-serif;
}
.news_title{
  font-size: 1.05em;
  font-weight: normal;
  line-height: 1.4;
  margin: 0;
  flex-grow: 1;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  @media screen and (max-width: 767px) {
    width:100%;
    font-size:1.4rem;
  }
}
.news_arrow{
  display: inline-block;
  width: 8px;
  height: 8px;
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
  flex-shrink: 0;
  margin-left: auto;
  @media screen and (max-width: 767px) {
    position:absolute;
    right:10px;
  }
}
.news_category {
  line-height: 1;
  background: #ebf0f2;
  color: #111;
  font-size: 1.2rem;
  padding: 5px 12px;
  border-radius:12px;
  min-width: 112px;
  text-align: center;
  @media screen and (max-width: 767px) {
    min-width:auto;
    padding:4px 12px;
  }
}

/* サイドパーツ
------------------------------------------------------------------------------ */
.sidebar_content{
  display: flex;
  flex-direction: column;
  gap: 40px;
}
.widget.widget_profile{
  background: #fafafa;
  padding: 20px;
  border-radius: 5px;
  border: 1px solid #e5e5e5;
}
.widget_title{
  font-size: 1.1em;
  font-weight: bold;
  margin: 0 0 15px;
  border-left: 4px solid var(--accent-color);
  padding-left: 10px;
  line-height: 1.2;
}
.widget p{
  font-size: 0.9em;
  line-height: 1.6;
  color: #555;
  margin: 0;
}
.widget.widget_categories ul{
  list-style: none;
  padding: 0;
  margin: 0;
}
.widget.widget_categories li{
  border-bottom: 1px solid #eee;
  padding: 10px 0;
}
.widget.widget_categories li a{
  text-decoration: none;
  color: #333;
  font-size: 0.95em;
  display: flex;
  justify-content: space-between;
  align-items: center;
  transition: color 0.3s;
}
.widget.widget_recent_posts ul,
.widget.widget_popular_posts ul{
  list-style: none;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
}
.widget.widget_recent_posts li,
.widget.widget_popular_posts li{
  display: flex;
  gap: 12px;
  align-items: flex-start;
  border-bottom: 1px dashed #eee;
  padding-bottom: 15px;
  padding-top:15px;
}

/* --------------------------------------
   サイドバー 記事リスト用共通スタイル
-------------------------------------- */

/* リストアイテム全体（フレックスボックス化・リンクの基準点） */
.widget-post-item {
    position: relative; /* aタグを絶対配置するための基準 */
    display: flex;      /* サムネイルとテキストを横並びにするため */
    align-items: flex-start;
    gap: 10px;          /* サムネイルとテキストの隙間 */
}

/* 記事全体を覆うリンク */
.widget-post-link {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    display: block;
    z-index: 1;
}

/* サムネイル領域 */
.widget-post-thumb {
    width: 70px;
    height: 50px;
    flex-shrink: 0;
    background: #eee;
    border-radius: 3px;
    overflow: hidden;
    position: relative; /* 順位バッジの基準点 */
}

/* サムネイル画像 */
.widget-post-thumb-img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

/* NO IMGテキスト */
.widget-post-noimg {
    font-size: 0.6em;
    color: #aaa;
    text-align: center;
    line-height: 50px;
}

/* 順位バッジ */
.widget-post-rank {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    background: #000;
    color: #fff;
    font-size: 0.7em;
    font-weight: bold;
    width: 18px;
    height: 18px;
    line-height: 18px;
    text-align: center;
    border-bottom-right-radius: 3px;
}

/* 記事テキスト情報エリア */
.widget-post-info {
    min-width: 0; /* flexアイテム内でテキスト省略(...)を効かせるための必須設定 */
}

/* 日付 */
.widget-post-date {
    line-height: 1;
    font-family: 'Arimo', sans-serif;
    font-size: 0.75em;
    color: #888;
    display: block;
    margin-bottom: 3px;
}

/* タイトル (2行で三点リーダー省略) */
.widget-post-title {
    text-decoration: none;
    color: #333;
    font-size: 0.85em;
    font-weight: bold;
    line-height: 1.4;
    display: -webkit-box;
    -webkit-line-clamp: 2;
    -webkit-box-orient: vertical;
    overflow: hidden;
}

/* 任意：マウスオーバー（ホバー）時の動作を追加する場合 */
.widget-post-item:hover .widget-post-title {
    /* text-decoration: underline; */
    /* opacity: 0.8; */
}

/* 記事（見出し）
------------------------------------------------------------------------------ */
.column .heading-1,
.news .heading-1,
h2.wp-block-heading,
h3.wp-block-heading {
  position: relative;
  letter-spacing: .1em;
}
h2.wp-block-heading:not(:last-child),
h3.wp-block-heading:not(:last-child) {
  margin-bottom: 1em;
}
.column .heading-1,
.news .heading-1{
  font-size: 3.2rem;
  @media screen and (max-width: 767px) {
    font-size: 2.4rem;
  }

}
h2.wp-block-heading {
  font-size: 2.2rem;
  margin-top:3em!important;
  position: relative;
  padding: 0.85rem 1.25rem;
  background-color: #333;
  border-left: 8px solid var(--accent-color);
  border-radius: 0 0.5rem 0.5rem 0;
  font-weight: 700;
  color: #fff;
  margin: 2.2rem 0 1.2rem;
  font-weight:500;
  @media screen and (max-width: 767px) {
    font-size: 1.8rem;
  }
}
h3.wp-block-heading {
  font-size: 2rem;
  position:relative;
  padding-left: 16px;
  &::before {
    content: '';
    position: absolute;
    top: 45%;
    left: 0;
    transform: translateY(-50%);
    width: 6px;
    height: 90%;
    background-color: #161616;
  }
  @media screen and (max-width: 767px) {
    font-size: 1.7rem;
  }
}
h4.wp-block-heading {
  font-size: 1.8rem;
  margin-bottom:1em;
  position: relative;
  padding-left: 2rem;
  font-weight: 700;
  /* color: #334155; */
  @media screen and (max-width: 767px) {
    font-size: 1.6rem;
  }
  &::before{
    content: '✔';
    position: absolute;
    left: 0;
    top: 0;
    color: var(--accent-color);
  }
}
.wp-block-paragraph + .wp-block-heading ,
.wp-block-table + .wp-block-heading ,
.wp-block-image + .wp-block-heading,
.custom_blog_card + .wp-block-heading{
  margin-top: 3em;
  @media screen and (max-width: 767px) {
    margin-top:2em;
  }
}
.wp-block-image img{
  max-width:640px;
  width:100%;
  margin-top:16px;
  margin-bottom:16px;
  @media screen and (max-width: 767px) {
    max-width:100%;
  }
}
mark{
    background: linear-gradient(transparent 50%, #ffff00 50%) !important;
}

/* 記事本文（引用）
------------------------------------------------------------------------------ */
blockquote {
  background-color: #fafbfc;
  border: 1px solid #ddd;
  padding: 1.8em 2.8em;
  position: relative;
  margin:0 0 24px;
  border-radius: 8px;
}
blockquote p:last-of-type{
  margin-bottom:0;
}
blockquote::before, blockquote::after {
  color: #C8C8C8;
  font-family: 'Noto Sans JP';
  position: absolute;
  font-size: 5.4rem;
}
blockquote::before {
  content: "“";
  line-height: 1.1;
  left: 13px;
  top: 5px;
}
blockquote::after {
  content: "”";
  line-height: 0;
  right: 13px;
  bottom: 5px;
}
blockquote cite {
  font-size: 0.7em;
}


/* 記事（リスト）
------------------------------------------------------------------------------ */
.wp-block-list{
  padding-left: 1.5em;
  margin:0 0 24px;
  display:flex;
  flex-direction: column;
  gap:10px;
}
.block-editor-iframe__body .wp-block-list li{
  margin-left:0!important;
  margin-right:0!important;
}



/* 記事（表・テーブル）
------------------------------------------------------------------------------ */
.wp-block-table {
  overflow-x: auto;
  margin: 0 0 24px;
  padding: 1px; /* 罫線のはみ出しによる微小スクロール対策 */
  display: block !important;
  max-width: 100%;
}
.wp-block-table table {
  width: 100%;
  max-width: 800px;
  min-width: 0 !important;
  table-layout: auto !important; /* 「セル幅を固定」を打ち消して中身に合わせる */
  font-size: 0.9em;
}
.wp-block-table th,
.wp-block-table td {
  border-color: #ddd !important;
  white-space: nowrap !important; /* 自動で折り返さない（<br>の改行は有効） */
}
.wp-block-table thead {
  border-bottom: 0;
  background: #333;
  color: #fff;
}
.wp-block-table thead th {
  border-color: #333 !important;
  border-right: 1px solid #ddd !important;
}
.wp-block-table thead th:last-child {
  border-right: 1px solid #333 !important;
}
.wp-block-table.is-style-stripes {
  border-bottom: 0;
}

/* 記事（ページネーション）
------------------------------------------------------------------------------ */

.page-numbers {
  line-height: 32px;
  display: inline-block;
  text-align: center;
  padding: 0 8px;
}
.page-numbers.current {
  background: #000;
  color: #fff;
  min-width: 32px;
  margin: 0 5px;
}
.prev.page-numbers,
.next.page-numbers {
  color: #fff!important;
  position: relative;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}
.prev.page-numbers::before,
.next.page-numbers::before{
  content: "";
  display: block;
  width: 8px;
  height: 8px;
  position: absolute;
}
.prev.page-numbers::before {
  border-top: 1px solid #000;
  border-left: 1px solid #000;
  transform: rotate(-45deg);
}
.next.page-numbers::before {
  border-top: 1px solid #000;
  border-right: 1px solid #000;
  transform: rotate(45deg);
}


/* 記事（Yoast よくある質問）
------------------------------------------------------------------------------ */
.schema-faq-section {
  background:#f5f5f5;
}
.schema-faq.wp-block-yoast-faq-block {
  display: flex;
  flex-direction: column;
  gap: 3px;
}
.schema-faq-answer {
  overflow: hidden;
  padding: 0 15px;
  margin: 0;
  background-color: #fff;
  transition: ease-in-out 0.3s;
  background:#fafafa;
  display:none;
}
.schema-faq-answer img{
  max-width:540px!important;
  display:block;
  margin-top:16px;
  width:100%;
}

/* =======================================
   質問部分のスタイル
======================================= */
.schema-faq-question {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px;
  cursor: pointer;
  font-weight: 500;
  margin: 0;
  position: relative;
}

/* =======================================
   右側のアイコン（現在のまま）
======================================= */
.schema-faq-question::before,
.schema-faq-question::after {
  position: absolute;
  content: "";
  width: 15px;
  height: 1px;
  background: #000;
  transition: transform 0.3s ease;
  right: 15px;
}

.schema-faq-question::after {
  transform: rotate(90deg);
}

/* =======================================
   アコーディオンが開いた状態のスタイル
======================================= */
.schema-faq-section.is-open .schema-faq-answer {
  padding:15px;
  display:block;
}

.schema-faq-section.is-open .schema-faq-question::after {
  transform: rotate(180deg);
}

/* 記事（メディアとテキスト）
------------------------------------------------------------------------------ */
.wp-block-media-text{
  margin:0 0 24px;
}
.wp-block-media-text__content p:last-of-type{
  margin-bottom:0;
}
.wp-block-media-text__content .wp-block-list:last-of-type{
  margin-bottom:0;
}
.wp-block-media-text>.wp-block-media-text__content{
  @media screen and (max-width: 767px) {
    padding:1em 0 0;
  }
}

/* 記事（ボタン）
------------------------------------------------------------------------------ */
.wp-block-buttons {
  margin: 24px 0;
}

/* 記事（YouTube）
------------------------------------------------------------------------------ */
.wp-block-embed:has(.youtube){
  margin-top:24px;
  margin-bottom:24px;
  max-width:600px;
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%; /* 16:9のアスペクト比 */
  margin-top:24px;
}
.youtube iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/* 記事（詳細ブロック）
------------------------------------------------------------------------------ */
.wp-block-details {
  background-color: #f5f5f5; /* フラットな背景色 */
  border-radius: 8px;
  margin-bottom: 16px;
  border: 1px solid #eee;
}

/* タイトル（summary）部分 */
.wp-block-details > summary {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 16px;
  line-height:1;
  color: #444;
  cursor: pointer;
  list-style: none; /* 標準の矢印を非表示 */
  font-size:1.5rem;
  border:none;
  font-weight:500;
  position:relative;
}
.wp-block-details[open] > summary {
  border-bottom:1px solid #eee;
}

/* ブラウザ固有の矢印アイコンを消す */
.wp-block-details > summary::-webkit-details-marker {
  display: none;
}

/* 開閉アイコン（閉じている状態：＋） */
.wp-block-details > summary::after  {
  content: "";
  position:absolute;
  height: 1px;
  width:15px;
  display:block;
  background:#444;
  right:20px;
}
.wp-block-details > summary::before  {
  content: "";
  position:absolute;
  height:1px;
  width:15px;
  display:block;
  background:#444;
  right:20px;
  transform:rotate(-90deg);
  transition:0.3s ease-in-out;
}

/* 開いている状態のアイコン（マイナス：−） */
.wp-block-details[open] > summary::after {
}
.wp-block-details[open] > summary::before  {
  transform:rotate(0);
}

/* 本文エリア */
.wp-block-details .wp-block-paragraph {
  padding: 16px;
  margin: 0;
  color: #333;
  line-height: 1.6;
}

/* 記事（ブログカード）
------------------------------------------------------------------------------ */

.custom_blog_card{
  border:1px solid #e5e5e5;
  border-radius:6px;
  padding:15px;
  margin:24px 0;
  max-width:600px;
}
.body_single .entry_content .custom_blog_card-link{
  display:flex;
  text-decoration:none;
  color:inherit;
  gap: 32px;
  align-items: center;
  text-decoration:none!important;
  color:#111!important;
  @media screen and (max-width: 767px) {
    flex-direction:column-reverse;
    gap:16px;
  }
}
.custom_blog_card-image{
  width: 192px;
  height: 192px;
  flex-shrink:0;
  @media screen and (max-width: 767px) {
    width:auto;
    height:160px;
  }
}
.custom_blog_card-image img{
  width:100%;
  height:100%;
  object-fit:cover;
  border-radius:4px;
}
.custom_blog_card-title{
  display:block;
  font-size:1.6rem;
  margin-bottom:5px;
  line-height:1.5;
  @media screen and (max-width: 767px) {
    font-size:1.4rem;
    margin-bottom:10px;
    line-height:1.7;
  }
}
.custom_blog_card-txt{
  font-size:1.2rem;
  color:#444;
  margin:0;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  line-height:1.5;
}
.custom_blog_cart-btn {
  margin-top: 16px;
}
.custom_blog_cart-btn p {
  background: var(--accent-color);
  color: #fff;
  text-align: center;
  font-size: 1.3rem;
  padding: 0 16px;
  line-height: 32px;
  border-radius: 5px;
  position:relative;
  display:flex;
  align-items:center;
  justify-content:center;
}
.custom_blog_cart-btn p::before {
  content: "";
  display: block;
  width: 7px;
  height: 7px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  position: absolute;
  transform: rotate(45deg);
  right: 14px;
}

/* 記事（商品紹介）
------------------------------------------------------------------------------ */

.wp-block-columns.item-block {
  background: #f5f5f5;
  padding: 24px;
  margin-top:24px;
  margin-bottom:24px;
  border-radius: 8px;
  gap: 24px;
  max-width: 600px;
}
.wp-block-columns.item-block h4.wp-block-heading {
  font-size: 1.6rem;
  margin: 0;
}
.wp-block-columns.item-block .is-layout-flow.wp-block-column-is-layout-flow:first-of-type .wp-block-image{
  margin:0;
}
.wp-block-columns.item-block .is-layout-flow.wp-block-column-is-layout-flow:first-of-type img{
  @media screen and (max-width: 767px) {
    width:70%;
    margin:0 auto;
    display:block;
  }
}
.wp-block-columns.item-block .is-layout-flow.wp-block-column-is-layout-flow:last-of-type {
  gap: 8px;
  display: flex;
  flex-direction: column;
}
.wp-block-columns.item-block p {
  font-size: 1.4rem;
  margin: 0;
}
.wp-block-columns.item-block .wp-block-buttons {
  margin: 0;
  @media screen and (max-width: 767px) {
    margin:0 auto;
  }
}

/* ドロワーメニュー ウェルカムメッセージ
------------------------------------------------------------------------------ */

.fs-p-drawer__welcomeMsg {
  display: none;
}
.fs-p-drawer__loginLogout a:nth-of-type(2),
.fs-p-drawer__loginLogout a:nth-of-type(4) {
  display: none;
}


/* 記事 シングル 関連記事
------------------------------------------------------------------------------ */
.column-related__list {
  display: grid;
  gap: 24px;
  list-style-type: none;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  @media screen and (max-width: 767px) {
    display:flex;
    flex-direction:column;
  }
}
.column-related__item {
  @media screen and (max-width: 767px) {
    width:100%;
  }
}
.column-related__thumbnail-wrapper{
  border-radius:3px;
  overflow:hidden;
}
.column-related__thumbnail-wrapper img {
  width: 100%;
  height: auto;
}
.column-related__content {
  padding: 12px 0;
}
.column-related__post-category {
  background: #ebf0f2;
  color: #111;
  padding: 4px 12px;
  font-size: 1.2rem;
  text-decoration: none;
  border-radius:11px;
}
.column-related__post-title {
  font-size:1.6rem;
  font-weight: 500;
  line-height: 1.5;
  margin: 8px 0 5px;
  display: -webkit-box;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  @media screen and (max-width: 767px) {
    font-size:1.4rem;
  }
}
.column-related__date {
  color:#666;
  font-weight:400;
  font-size:1.3rem;
  font-family:"Arimo", sans-serif;
  line-height: 1;
  display: block;
}
.column-related__btn-wrapper {
  text-align: center;
  margin-top: 24px;
  margin-bottom:40px;
}

/* 記事（目次）
------------------------------------------------------------------------------ */
.body_single .entry_content #toc {
  max-width: 800px;
  /* border: 1px solid var(--accent-color); */
  margin: 2em 0;
  background: #f5f5f5;
  line-height: 1.8;
  border-radius: 5px;
  overflow: hidden;
}
.body_single .entry_content .toc-title {
  padding: .5em 1em;
  background: #cfcfcf;
  color:#111;
  display: block;
  display: flex;
  justify-content: space-between;
  font-family: 'Arimo';
  font-weight: 700;
}
.body_single .entry_content .toc-container {
  padding: 14px 24px 14px 9px !important;
  margin: 0!important;
}
@media screen and (max-width: 767px) {
  .body_single .entry_content .toc-container{
    padding: 14px 20px 14px 0px !important;
  }
}
.body_single .entry_content .toc-container, .toc-container ul {
  counter-reset: ul-counter;
  list-style: none;
}
.body_single .entry_content .toc-container ul {
  padding-left: 24px;
}
.body_single .entry_content .toc-container li a {
  display: flex;
  color: #000 !important;
  text-decoration: none;
  align-items: center;
}
.body_single .entry_content .toc-container > li > a {
  font-weight: bold;
  text-decoration: none!important;
  padding:5px 0;
  font-size: 1.4rem;
  align-items: flex-start;
}
.body_single .entry_content .toc-container li a:before {
  counter-increment: ul-counter;
  content: counters(ul-counter, ".", decimal-leading-zero);
  padding-right: .5em;
  white-space: nowrap;
  color: var(--accent-color);
  font-size: 1.7rem;
  line-height:1.5;
}
.body_single .entry_content .toc-container li ul a:before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  background: var(--accent-color);
  padding: 0;
  margin: 0 12px 0 0;
  border-radius: 50%;
}
.body_single .entry_content #toc .toc-title:after {
  content: 'OPEN';
  margin-left: .5em;
  background: #aaa;
  line-height: 1;
  font-size: 1.2rem;
  color: #fff;
  padding: 5px;
  font-weight:400;
}
.body_single .entry_content #toc[open] .toc-title:after {
  content: 'CLOSE';
  font-size: 1.2rem;
  background: #aaa;
  line-height: 1;
  padding: 5px;
  color: #fff;
  font-weight:400;
}
.body_single .entry_content .toc-container > li > ul * {
  font-size: 1.4rem;
  line-height:1.3;
}
@media screen and (max-width: 767px) {
  .body_single .entry_content .toc-container > li > ul * {
    font-size: 1.3rem;
  }
}
.body_single .entry_content .toc-container > li{
  border-bottom: 1px solid #ddd;
  padding-bottom: 8px;
  margin-bottom: 8px;
}
.body_single .entry_content .toc-container > li:last-of-type{
  border:none;
  margin-bottom:0;
  padding-bottom:0;
}
