/* ==================================================
  ベースレイアウト微調整（共通）
================================================== */
@media screen and (min-width: 960px) {
  .p-mainVisual__inner {
    height: auto;
    max-height: 770px;
    max-width: 1200px;
    margin: 0 auto;
  }
}

.l-content { margin-bottom: 2em; }
@media (min-width: 600px) {
  .l-content { padding-top: 2em; }
}

.l-mainContent__inner > .post_content { margin: 2em 0; }

#main_content .p-toc { margin: 2em auto 0.5em auto; }
.top #content { padding-top: 1.6em; }
.home .top #content { padding-top: 0; }

.post_content h2 { margin-top: 3em; }

/* ==================================================
  KV：u-gradient-kv（統合版）
================================================== */
.u-gradient-kv {
  background: linear-gradient(135deg, #6366f1 0%, #a855f7 100%) !important;
  border-radius: 22px !important;
  padding: 28px 34px !important;
  margin: 0 0 28px 0 !important;
  border: none !important;
  color: #fff !important;
  position: relative !important;
  overflow: hidden !important;
  box-shadow: 0 12px 30px rgba(0,0,0,.06) !important;
}

.u-gradient-kv::before{
  content:"";
  position:absolute;
  inset:0;
  background: rgba(255,255,255,.05);
  border-radius: inherit;
  pointer-events:none;
}

/* KV内：白文字固定 */
.u-gradient-kv,
.u-gradient-kv *{
  color:#fff !important;
}
.u-gradient-kv a{
  color:#fff !important;
  text-decoration:none;
}

/* FullWide inner */
.u-gradient-kv .swell-block-fullWide__inner,
.u-gradient-kv .l-fullwide__inner{
  max-width: 1000px !important;
}

/* 上バッジ（LETTER NEWS） */
.u-gradient-kv .swell-block-linkList{
  margin: 0 0 12px 0 !important;
  justify-content: flex-start !important;
}
.u-gradient-kv .swell-block-linkList__item{ margin:0 !important; }
.u-gradient-kv .swell-block-linkList__link{
  background: rgba(255,255,255,.12) !important;
  border: 1px solid rgba(255,255,255,.18) !important;
  border-radius: 999px !important;
  padding: 6px 12px !important;
  font-weight: 700 !important;
}
.u-gradient-kv .swell-block-linkList__text{
  font-size: 11px !important;
  letter-spacing: .05em !important;
}

/* KV内見出し */
.u-gradient-kv h2{
  background: transparent !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  text-align: left !important;
  margin: 0 0 10px 0 !important;
  font-size: 1.55rem !important;
  font-weight: 800 !important;
  line-height: 1.25 !important;
  letter-spacing: -0.01em !important;
}

/* KV説明文 */
.u-gradient-kv p{
  text-align: left !important;
  margin: 0 0 18px 0 !important;
  max-width: 560px !important;
  opacity: .9 !important;
  font-size: .92rem !important;
  line-height: 1.65 !important;
}

/* KVボタン */
.u-gradient-kv .swell-block-button{
  display: inline-block !important;
  margin: 0 8px 8px 0 !important;
}
.u-gradient-kv .swell-block-button__link{
  border-radius: 999px !important;
  padding: 8px 14px !important;
  min-height: 36px !important;
  font-size: 11px !important;
  font-weight: 700 !important;
  transition: all .2s ease !important;
  box-shadow: none !important;
}

/* 白ボタン（more_btn） */
.u-gradient-kv .is-style-more_btn .swell-block-button__link,
.u-gradient-kv .is-style-more_btn .swell-block-button__link *{
  background:#fff !important;
  color:#6366f1 !important;
  border:none !important;
  box-shadow: 0 6px 18px rgba(0,0,0,.08) !important;
}

/* ゴーストボタン（btn_line） */
.u-gradient-kv .is-style-btn_line .swell-block-button__link{
  background: rgba(255,255,255,.14) !important;
  border: 1px solid rgba(255,255,255,.28) !important;
  color:#fff !important;
  backdrop-filter: blur(4px);
}

.u-gradient-kv .swell-block-button__link:hover{
  opacity: .92 !important;
  transform: translateY(-1px) !important;
}

/* SP */
@media (max-width: 768px){
  .u-gradient-kv{
    padding: 22px 18px !important;
    border-radius: 20px !important;
    margin-bottom: 22px !important;
  }
  .u-gradient-kv h2{ font-size: 1.35rem !important; }
  .u-gradient-kv p{
    font-size: .86rem !important;
    margin-bottom: 16px !important;
  }
  .u-gradient-kv .swell-block-button__link{
    padding: 8px 14px !important;
    min-height: 34px !important;
    font-size: 11px !important;
  }
}

/* ==================================================
  H2 統一デザイン：u-heading-bar
================================================== */
h2.u-heading-bar {
  background: none !important;
  box-shadow: none !important;
  border: none !important;
  padding: 0 !important;
  margin: 3em 0 1.2em 0 !important;
  color: #1a1a2e !important;
  text-align: left !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
}

@media (min-width: 600px){
  h2.u-heading-bar{
    font-size: 1.4rem !important;
    margin: 2em 0 0.8em 0 !important;
  }
}

/* ==================================================
  Pochipp（既存のまま整理）
================================================== */
.pochipp-box{
  position: relative;
  display: grid;
  grid-gap: 0 24px;
  grid-template-areas:
    "areaImg areaBody"
    "areaBtns areaBtns";
  grid-template-rows: auto auto;
  grid-template-columns: 100px 1fr;
  max-width: 960px;
  padding: 24px !important;
  color: #353535;
  font-size: 16px;
  background: #fff;
  box-shadow: none !important;
}

body:not(#__) .pochipp-box{
  margin: 0 0 2em;
}

@media screen and (max-width: 768px) {
  .pochipp-btn-wrapper{
    display: flex;
    flex-direction: column-reverse;
  }
  div.pochipp-box__image img{
    width: 100% !important;
    height: auto !important;
    max-width: 100% !important;
  }
  div.pochipp-box__image{
    max-width: 100% !important;
  }
}

.pochipp-box__image img{
  display: block;
  width: 100%;
  height: auto;
  max-height: 300px;
  object-fit: contain;
}

.mark_yellow,
.mark_orange{
  background: none;
}

/* インラインボタン中央寄せ */
.pochipp-inline__btnwrap{
  width: 270px !important;
  max-width: 100% !important;
  display: block !important;
  margin: 8px auto !important;
}
.pochipp-inline__btnwrap a{
  width: 100% !important;
  padding: 10px 0 !important;
  font-size: 14px !important;
  text-align: center !important;
  box-shadow: 0 2px 4px rgba(0,0,0,0.1) !important;
}
.pochipp-inline__btnwrap.-amazon a{ background-color:#f5a623 !important; color:#fff !important; }
.pochipp-inline__btnwrap.-rakuten a{ background-color:#d9534f !important; color:#fff !important; }
.pochipp-inline__btnwrap.-yahoo a{ background-color:#438ee8 !important; color:#fff !important; }

/* ボタン順序 */
.pochipp-box__btnwrap.-amazon{ order: 1; }
.pochipp-box__btnwrap.-rakuten{ order: 2; }
.pochipp-box__btnwrap.-yahoo{ order: 3; }

/* ==================================================
  プロフィールSNSアイコン
================================================== */
.profile-icons{ text-align:center; }
.profile-icons a{ display:inline-block; margin: 0 10px; }
.profile-icons img.sns-icon{ width:45px; height:45px; }

.p-authorBox__desc.u-thin{
  font-size: 14px;
  text-align: left;
  line-height: 1.6;
}

/* ==================================================
  ランキング表：画像を同一枠に（共通）
================================================== */
.wp-block-table.is-style-simple tbody tr:first-child td img{
  width: 120px !important;
  height: 120px !important;
  object-fit: contain !important;
  display: block !important;
  margin: 0 auto !important;
}

/* ==================================================
  投稿リストカルーセル（JSなし／SWELL標準スクロールのみ）
  対象：.u-postlist-scroll を付けたブロック
================================================== */

/* 全体の余白 */
.u-postlist-scroll.wp-block-group{
  padding: 20px 0 !important;
  margin: 0 !important;
}

/* SWELLの isScrollable を使っている columns */
.u-postlist-scroll .swell-block-columns[data-scrollable="1"]{
  /* ここはSWELLに任せる。overflow強制はしない */
}

/* 中身（横一列＋スナップ） */
.u-postlist-scroll .swell-block-columns[data-scrollable="1"] .swell-block-columns__inner{
  padding: 10px 0 24px !important;
  gap: 14px !important;

  /* 1枚ずつ止まる */
  scroll-snap-type: x mandatory;
  /*scroll-padding-left: 20px;*/
}

/* カラムをスナップ対象に */
.u-postlist-scroll .swell-block-columns[data-scrollable="1"] .swell-block-column{
  scroll-snap-align: start;
}

/* 端の余白 */
.u-postlist-scroll .swell-block-column:first-child{ margin-left: 20px !important; }
.u-postlist-scroll .swell-block-column:last-child { margin-right: 20px !important; }

/* スクロールヒントは非表示（好み） */
.u-postlist-scroll .c-scrollHint{ display:none !important; }

/* --- カード本体 --- */
.u-postlist-scroll .p-postList__item{
  border-radius: 16px !important;
  background: #fff;
  box-shadow: 0 4px 6px -1px rgba(0,0,0,0.05),
              0 10px 20px -5px rgba(0,0,0,0.08) !important;
  transition: all .25s ease;
  border: 1px solid rgba(0,0,0,0.03);
  height: 100%;
  display: flex;
  flex-direction: column;
  overflow: hidden; /* 角丸に画像を沿わせる */
}

/* hover（壊れてた部分を正しく） */
.u-postlist-scroll .p-postList__item:hover{
  box-shadow: 0 20px 30px -10px rgba(0,0,0,0.15) !important;
  transform: translateY(-6px);
}

/* サムネ */
.u-postlist-scroll .p-postList__thumb{
  border-radius: 16px 16px 0 0 !important;
  overflow: hidden;
  position: relative;
}
.u-postlist-scroll .p-postList__thumb img{
  transition: transform .5s ease;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.u-postlist-scroll .p-postList__item:hover .p-postList__thumb img{
  transform: scale(1.06);
}

/* カテゴリラベル（SWELLの色を維持） */
.u-postlist-scroll .c-postThumb__cat{
  top: 0 !important;
  right: 0 !important;
  left: auto !important;
  border-radius: 0 16px 0 8px !important;
  padding: 3px 10px !important;
  font-size: 10px !important;
  font-weight: 600 !important;
  letter-spacing: 0.02em;
}

/* 本文 */
.u-postlist-scroll .p-postList__body{
  padding: 20px 18px 22px;
  flex-grow: 1;
}

.u-postlist-scroll .p-postList__title{
  font-size: 15px !important;
  font-weight: 700 !important;
  line-height: 1.6;
  color: #333;
  margin-bottom: 12px;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.u-postlist-scroll .p-postList__meta{
  margin-top: auto;
  font-size: 12px;
  color: #888;
  display: flex;
  align-items: center;
}

/* 日付に時計アイコン */
.u-postlist-scroll .p-postList__meta .post_date::before{
  content: "\f017";
  font-family: "icomoon" !important;
  margin-right: 5px;
  opacity: 0.7;
}

/* PC時のカラム幅上書き（あなたの意図を維持） */
@media (min-width: 960px){
  .u-postlist-scroll .swell-block-columns{
    --clmn-w--pc: 340px !important;
  }
}

/* ==================================================
  レコメンド → 次の見出しの余白だけ詰める
================================================== */
.post_content .u-postlist-scroll{
  margin-bottom: 8px !important;
  padding-bottom: 0 !important;
}
.post_content .u-postlist-scroll + .wp-block-heading.u-heading-bar{
  margin-top: 8px !important;
}
.post_content .wp-block-heading.u-heading-bar.u-mb-ctrl.u-mb-0{
  margin-top: 8px !important;
}

/* ==================================================
  機種別ガジェット・レビュー：u-device-grid
================================================== */
.u-device-grid{
  background: #f4f5f7 !important;
  border-radius: 20px !important;
  padding: 28px 32px !important;
  margin: 0 auto 28px auto !important;
  max-width: 100% !important;
  box-sizing: border-box !important;
}

.u-device-grid .swell-block-columns{
  overflow: visible !important;
}
.u-device-grid .swell-block-columns__inner{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  overflow: visible !important;
  padding: 0 !important;
  justify-content: center !important;
  margin: 2px !important;
}

.u-device-grid .swell-block-column{
  margin: 0 !important;
  padding: 0 !important;
  width: calc((100% - 24px) / 4) !important;
  min-width: 0 !important;
  flex: 0 0 calc((100% - 24px) / 4) !important;
  max-width: calc((100% - 24px) / 4) !important;
}

.u-device-grid .swell-block-button{
  margin: 0 !important;
  width: 100% !important;
}

.u-device-grid .swell-block-button__link{
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 10px !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.06) !important;
  border-radius: 16px !important;
  padding: 24px 12px !important;
  min-height: 110px !important;
  width: 100% !important;
  box-shadow: none !important;
  transition: all .2s ease !important;
  text-decoration: none !important;
}

.u-device-grid .swell-block-button__link span{
  color: #1a1a2e !important;
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.3 !important;
}

/* アイコン */
.u-device-grid .swell-block-button__link i,
.u-device-grid .swell-block-button__link .icon-class,
.u-device-grid .swell-block-button__link [class^="icon-"]{
  font-size: 28px !important;
  color: #6366f1 !important;
  background: #eef0ff !important;
  width: 52px !important;
  height: 52px !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  border-radius: 14px !important;
}

.u-device-grid .swell-block-button__link:hover{
  border-color: #6366f1 !important;
  box-shadow: 0 0 0 2px rgba(99,102,241,.15) !important;
  transform: translateY(-2px) !important;
}

/* SP */
@media (max-width: 768px){
  .u-device-grid{
    padding: 18px 12px !important;
    border-radius: 16px !important;
  }
  .u-device-grid .swell-block-columns__inner{ gap: 6px !important; }
  .u-device-grid .swell-block-column{
    width: calc((100% - 6px) / 2) !important;
    flex: 0 0 calc((100% - 6px) / 2) !important;
    max-width: calc((100% - 6px) / 2) !important;
  }
  .u-device-grid .swell-block-button__link{
    padding: 16px 8px !important;
    min-height: 80px !important;
    border-radius: 12px !important;
  }
  .u-device-grid .swell-block-button__link span{ font-size: 11px !important; }
  .u-device-grid .swell-block-button__link i,
  .u-device-grid .swell-block-button__link .icon-class,
  .u-device-grid .swell-block-button__link [class^="icon-"]{
    font-size: 22px !important;
    width: 42px !important;
    height: 42px !important;
    border-radius: 11px !important;
  }
}

/* ==================================================
  新着一覧（-type-list）
================================================== */
.post_content .p-postList.-type-list .p-postList__item{
  padding: 18px !important;
  border-radius: 18px !important;
  background: #fff !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.05) !important;
}

.post_content .p-postList.-type-list .p-postList__thumb{
  border-radius: 14px !important;
}

.post_content .p-postList.-type-list .p-postList__thumb img{
  width: 100% !important;
  height: 100% !important;
  object-fit: cover !important;
  display: block !important;
  margin: 0 !important;
}

@media (max-width:768px){
  .post_content .p-postList.-type-list .p-postList__thumb{
    flex: 0 0 125px !important;
  }
  .post_content .p-postList.-type-list .p-postList__title{
    font-size: 14px !important;
  }
}

/* ==================================================
  YouTube埋め込み：カード化
================================================== */
.post_content .wp-block-embed.is-provider-youtube{
  position: relative;
  margin: 18px 0 28px !important;
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #fff !important;
  box-shadow: 0 10px 28px rgba(0,0,0,0.08) !important;
}

.post_content .wp-block-embed.is-provider-youtube .wp-block-embed__wrapper{
  margin: 0 !important;
}

.post_content .wp-block-embed.is-provider-youtube iframe{
  display: block !important;
  width: 100% !important;
  height: 100% !important;
  border: 0 !important;
}

@media (max-width: 768px){
  .post_content .wp-block-embed.is-provider-youtube{
    border-radius: 14px !important;
    box-shadow: 0 8px 20px rgba(0,0,0,0.06) !important;
  }
}

/* ==================================================
  2カラム投稿リスト：カード化（-type-listは除外）
================================================== */
.post_content .swell-block-postList{
  margin: 18px 0 30px !important;
}

.post_content .p-postList:not(.-type-list) .p-postList__item,
.post_content .swell-block-postList__item{
	margin: 0 0 0 8px !important;
  padding: 0 !important; /* ← これを追加してください！ */
  border-radius: 18px !important;
  overflow: hidden !important;
  background: #fff !important;
  border: 1px solid rgba(0,0,0,.05) !important;
  box-shadow: 0 10px 26px rgba(0,0,0,.06) !important;
}

.post_content .p-postList:not(.-type-list) .p-postList__thumb,
.post_content .p-postList:not(.-type-list) .c-postThumb{
  border-radius: 18px 18px 0 0 !important;
  overflow: hidden !important;
}

.post_content .p-postList:not(.-type-list) .p-postList__thumb img,
.post_content .p-postList:not(.-type-list) .c-postThumb__img{
  width: 100% !important;
  aspect-ratio: 16 / 9 !important;
  height: auto !important;
  object-fit: cover !important;
  display: block !important;
}

.post_content .p-postList:not(.-type-list) .p-postList__body{
  padding: 14px 16px 16px !important;
}
.post_content .p-postList:not(.-type-list) .p-postList__title{
  font-size: 13px !important;
  font-weight: 700 !important;
  line-height: 1.55 !important;
  margin: 0 0 10px 0 !important;
}
.post_content .p-postList:not(.-type-list) .p-postList__meta{
  font-size: 12px !important;
}

/* ポチップ全体を中央寄せ */
.pochipp-box {
  margin-left: auto !important;
  margin-right: auto !important;
}

/* ボタン列を中央配置 */
.pochipp-box__btns {
  display: flex !important;
  justify-content: center !important;
  flex-wrap: wrap;
  gap: 8px;
}