/* =======================================
   staging.css (最終CSSテスト: 画像の垂直配置修正)
   ======================================= */

/* H1との重なり対策（念のため残す） */
.c_item_wrp {
    clear: both !important;
}

/* item内の画像を囲む要素の垂直位置を強制的にトップに設定 */
.c_item_wrp .item .img {
    /* インライン要素のずれを防ぐための定番 */
    display: block !important;
    vertical-align: top !important;
}

/* 画像自体にも適用 */
.c_item_wrp .item .img img {
    vertical-align: top !important;
}

.no_hover_wrapper .item:hover, 
.no_hover_wrapper .item a:hover {
    opacity: 1 !important; /* 不透明度変化を無効化 */
    transition: none !important; /* 遷移効果を無効化 */
    cursor: default; /* カーソルをデフォルトに戻す（必要な場合） */
}

/* past-archives 系統のカテゴリ見出しに対するホバー無効化の対応 */
.no_hover_wrapper .headline .title a:hover .icon_arw:before,
.no_hover_wrapper .headline .title a:hover .icon_arw:after {
    animation: none; /* headline のアニメーションを無効化 [5] */
}

/* サイトマップ用のアイコン共通設定 */
.sitemap_nav .nav_icon {
    display: inline-block;
    vertical-align: middle;
    margin-right: 10px; /* テキストとの間隔 */
}

/* 既存のアイコン定義をサイトマップにも適用 */
.nav_icon.icon_magazine {
    width: 26px; height: 18px;
    background: url(/common/images/assets/icon_nav/magazine.svg) no-repeat center/contain;
}
.nav_icon.icon_book {
    width: 17px; height: 22px;
    background: url(/common/images/assets/icon_nav/book.svg) no-repeat center/contain;
}
.nav_icon.icon_comic {
    width: 23px; height: 18px;
    background: url(/common/images/assets/icon_nav/comic.svg) no-repeat center/contain;
}
.nav_icon.icon_ebook {
    width: 19px; height: 24px;
    background: url(/common/images/assets/icon_nav/ebook.svg) no-repeat center/contain;
}
.nav_icon.icon_order {
    width: 21px; height: 22px;
    background: url(/common/images/assets/icon_nav/order.svg) no-repeat center/contain;
}
.nav_icon.icon_contact {
    width: 23px; height: 18px;
    background: url(/common/images/assets/icon_nav/contact.svg) no-repeat center/contain;
}

/* レスポンシブ（スマホ等でのサイズ調整） */
@media screen and (max-width: 767px) {
    .sitemap_nav .nav_icon {
        transform: scale(0.8); /* スマホでは少し小さく */
        margin-right: 5px;
    }
}
/* ----------------------------------------------------- */
/* サイトマップのカテゴリグループ間余白調整と文字サイズ調整 */
/* ----------------------------------------------------- */

/* カテゴリグループ間の余白を調整するためのクラス */
/* 既存のCSSで .headline に上下マージンがあるため、ここでは最小限の調整をします */
.sitemap_nav .sitemap_category_block {
    /* 必要であれば上下マージンをここで調整してください */
    margin-top: 20px; 
    margin-bottom: 30px;
}

/* 子カテゴリの文字サイズを拡大する */
.sitemap_nav .sub_category_list .txt {
    font-size: 1.1em; /* 既存のフォントサイズよりも少し大きく設定 */
    /* 1.1em は現在（おそらく）設定されているサイズに対して10%拡大の意味です */
    font-weight: 700; /* 必要であれば太字に */
}

/* 子カテゴリリストと親カテゴリタイトルの間の余白も調整が必要な場合があります */
.sitemap_nav .sub_category_list {
    margin-top: 15px; /* 親タイトルとの間に適切な余白を設定 */
}
/* ----------------------------------------------------- */
/* サイトマップ：フッターリンク専用スタイルの最終修正 */
/* ----------------------------------------------------- */

/* 1. 過剰な共通スタイル（ul/li）をリセットし、罫線（border-bottom）を無効化 */
.sitemap_nav .footer_menu li {
    /* 念のため li に適用されている可能性のある罫線を無効化 */
    border-bottom: none !important; 
    margin: 0;
    padding: 0;
}

/* 2. 境界線を持つ .headline の罫線を削除し、行間（パディング）を定義 */
.sitemap_nav .footer_menu li .headline {
    border-bottom: none !important; /* ★罫線を完全に削除★ */
    margin: 0;
    
    /* 適切な行間をパディングで設定し直す */
    padding-top: 1.1rem; 
    padding-bottom: 1.1rem;
}

/* 3. マージンとパディングをリセットしたことで行間が詰まった要素を再調整 */
/* 必要に応じて、前回の修正で追加した sitemap_list のリセットCSSも削除してください */
/* （もしあれば） */

/* ==========================
   Top Page : Label Buttons
   ========================== */

.c_label_buttons__list {
  display: flex;
  flex-wrap: wrap;
  gap: 1rem;
  margin-top: 3rem;
}

.c_label_buttons__item {
  width: calc((100% - 3rem) / 4);
}

.c_label_buttons__link {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 5rem;
  color: #272C35;
  background: #fff;
  text-decoration: none;
}

.c_label_buttons__label {
  font-size: 1.4rem;
  line-height: 1.2;
  font-weight: 700;
  text-align: center;
}

.c_label_buttons__icon {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 1rem;
  margin: auto;
  width: 1rem;
  height: 1rem;
  background: url(/common/images/assets/icon/blank.svg) no-repeat center/contain;
}

@media (hover: hover) {
  .c_label_buttons__link:hover {
    color: #fff;
    background: #272C35;
  }
  .c_label_buttons__link:hover .c_label_buttons__icon {
    background: url(/common/images/assets/icon/blank_white.svg) no-repeat center/contain;
  }
}

/* e-book_label一覧ページ全体のコンテナ */
/* 一覧の枠組み */
.label_list_wrapper {
    display: block;
    width: 100%;
}

/* 1. まず、すべてのアイテムから線を消し、余白だけ作る */
.label_list_wrapper .c_item_detail {
    display: block;
    overflow: hidden;
    clear: both;
    padding-bottom: 80px !important;
    margin-bottom: 80px !important;
    border-bottom: none !important; /* 下線を完全に消す */
    width: 100%;
}

/* 2. 「2番目以降」のアイテムの「上」にだけ線を引く */
/* これで、1番目の上には線が出ず、アイテム間だけに線が出ます */
.label_list_wrapper .c_item_detail + .c_item_detail {
    border-top: 1px solid #cccccc !important; 
    padding-top: 80px !important; /* 上側にも余白を足してバランスをとる */
}

/* 中のレイアウト維持 */
.label_list_wrapper .c_item_detail .left {
    float: left;
    width: 30%; /* お好みの幅に */
}

.label_list_wrapper .c_item_detail .right {
    float: right;
    width: 65%; /* お好みの幅に */
}

/* 画像サイズをシングル同様に（制限を解除） */
.label_list_wrapper .c_label_book_image img {
    max-width: 100% !important;
    width: auto !important;
}

/* 3. ページネーション周りの余計な線を掃除 */
.label_list_wrapper .c_pagenation {
    margin-top: 0 !important;
    border-top: none !important;
}

/* 詳細を見るボタンの装飾（お好みに合わせて） */
.btn_more a {
    display: inline-block;
    margin-top: 15px;
    padding: 8px 25px;
    background: #333;
    color: #fff;
    text-decoration: none;
    border-radius: 5px;
    font-size: 0.9em;
    transition: 0.3s;
}

.btn_more a:hover {
    background: #666;
}

/* スマホ対応 */
@media (max-width: 767px) {
    .label_list_wrapper .c_item_detail {
        flex-direction: column; /* スマホでは縦並び */
        align-items: center;
        text-align: center;
    }
    .label_list_wrapper .left {
        margin-bottom: 15px;
    }
}