.pager .pagination .pre.disabled,
.pager .pagination .next.disabled
{
display: none;
}

a {
  word-break: break-all;
}

/*
サイトトップページのメインカラムのカテゴリ別リストのレイアウト崩れの暫定対策。
*/
.list-wrap ul > li > ul {
    margin-right: 3.9%;
}

/*
サイドバータブ切り替え.
*/
#content-wrap .side-menu .popularity-wrap .popularity ul li {
  display: none;
}

@media only screen and (min-width: 1025px){
  header .header-inner .logo-wrap .bnr-link {
    padding: 10px 0;
  }
  #tag__area {
    margin-top: 180px;
  }
}

@media only screen and (max-width: 1024px){
  #userArea {
    display: none;
  }
}

/* ●リスト用 */
.details .detail-content ul.detail_list {
    padding: 20px 0 0 15px;
    margin: 0 0 0 10px;
}
.details .detail-content ul.detail_list li {
    line-height: 1.5;
    margin-bottom: 15px;
    list-style-type: disc;
    font-size:1.0rem;
}
.details .detail-content ul.detail_list li:last-child {
    margin-bottom: 0;
}

/* 追加h4 */
.details .detail-content h4 {
    font-size: 16px;
    line-height: 1.5;
    margin: 25px 0 15px !important;
}


/* 書影用 */
.details img.book {
    display:block !important;
    width: 200px !important;
    height: auto;
}
@media only screen and (max-width: 640px) {
.details img.book {
    width: 65% !important;
    margin: 0 auto !important;
}
}

/* 最近見たページ
-----------------------------------------------------------*/
.recent-area {
  padding: 20px 30px;
  border-top: 1px solid #000;
  margin-bottom: 40px;
  position: relative; /* 矢印の基準 */
  overflow: visible;
}
.recent-area #midashi {
  font-size: 1.2rem;
  margin: 0 auto 30px;
	font-weight: 700;
}
/* Swiperスライド本体 */
.swiper-slide {
  height: auto !important;
  border: 1px solid #aaa;
  box-sizing: border-box;
  display: flex;
}

/* カード全体 */
.recent-card {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  background: #fff;
  width: 100%;
  padding: 4%;
  box-sizing: border-box;
  transition: opacity 0.3s;
}

.recent-card:hover {
  opacity: 0.7;
}
#no-recent {
	border: none;
}

/* 画像部分 */
.recent-card .thumb {
  width: 100%;
  overflow: hidden;
}

.recent-card img {
  width: 100%;
  height: auto;
}

/* 代替画像時 */
.recent-card .noimg {
  display: flex;
  align-items: center;
  justify-content: center;
  color: #999;
  font-size: 0.9rem;
  background: #ddd;
}

/* 更新日 */
.recent-card .update {
  font-size: 0.8rem;
  color: #999;
  margin-top: 6px;
  text-align: right;
  flex-shrink: 0;
}

/* タイトル */
.recent-card .title {
  padding-top: 8px;
  font-size: 0.9rem;
  line-height: 1.4;
  flex-grow: 1;
  display: flex;
  align-items: flex-end;
  word-break: break-word;
}

/* 矢印の共通スタイル */
.swiper-button-prev,
.swiper-button-next {
  width: 15px !important;
  height: 17px !important;
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  display: none; /* デフォルトの矢印を消す */
}

.swiper-button-next:hover,
.swiper-button-prev:hover {
  opacity: 0.8;
}

/* ← 左矢印 */
.swiper-button-prev {
  background-image: url("/magazine/common/images/swiper-arrow.png");
  transform: rotate(180deg) translateY(50%);
  left: 0 !important;
  top: 63% !important;
}

/* → 右矢印 */
.swiper-button-next {
  background-image: url("/magazine/common/images/swiper-arrow.png");
  right: 0 !important;
  top: 60% !important;
}


/* 外側に配置 */
.swiper-button-prev {
  left: -45px;  /* ← 位置を外側に */
}

.swiper-button-next {
  right: -45px; /* → 位置を外側に */
}

@media (max-width: 1024px) {
.recent-area #midashi {
  font-size: calc(24 *(100vw / 640));
	font-weight: 700;
	margin-bottom: 10px;
}
}
/* ===== レスポンシブ設定 ===== */
@media (max-width: 767px) {
  .recent-area {
    padding: 15px 20px;
  }
  .swiper-slide {
    border-width: 1px;
  }

  .recent-card {
    padding: 3%;
  }

  .recent-card .title {
    font-size: 0.85rem;
  }
/* スマホでは中に戻す（はみ出さないように） */
  .swiper-button-prev {
    left: 5px;
  }
  .swiper-button-next {
    right: 5px;
  }
}
@media (max-width: 440px) {
	.details .detail-content a {
		text-decoration: none !important;
		color: #000 !important;
	}
	.details .detail-content img {
		padding-top: 0;
	}
.recent-card .update {
  font-size: 0.65rem;
  margin-top:0;
}
  .recent-card .title {
    font-size: 0.7rem;
  }
}

.display_del .display_sp {
  display: none !important;
}




/* あなたへのおすすめの記事
-----------------------------------------------------------*/
.recommend {
	margin: 15px 0 30px;
	padding: 0;
}
.recommend .ttl{
	background: #fdf2f5;
	padding: 5px 15px;
	margin-bottom: 15px;
	color: #d5063b;
	font-weight: 500;
}
.recommend .ttl2 {
	background: #f0f0f0;
	padding: 5px 15px;
	margin-bottom: 15px;
	font-weight: 500;
}
.recommend_list li {
	padding: 0 0 10px;
}
.recommend_list li a:before {
    content: "";
    background-image: url(/magazine/assets/img/common/icon_arrow_black.svg);
    width: 5px;
    height: 10px;
    display: inline-block;
    margin-right: 5px;
    background-size: 5px 10px;
}
.details .detail-content .recommend_list li a {
	color: #333 !important;
	line-height: 1.5;
}
@media (max-width: 835px) {
.recommend {
	margin: 30px 0 50px;
}
.recommend .ttl, .recommend .ttl2 {
	margin-bottom: 20px;
	font-size: calc(20 *(100vw / 640));
}
.recommend_list li {
	padding: 0 0 20px;
	font-size: calc(20 *(100vw / 640));
}
}

@media (max-width: 480px) {
.recommend .ttl, .recommend .ttl2 {
	margin-bottom: 15px;
	font-size: calc(24 *(100vw / 640));
}
.recommend_list li {
	padding: 0 0 15px;
	font-size: calc(24 *(100vw / 640));
}
}




/* サイドバー固定（2026.08.21わけ合って解除）
-----------------------------------------------------------*/
/* side-menu {
	position: sticky;
	position: -webkit-sticky;
	top: 195px;
}
*/




/* ブックマークボタン＆商品問い合わせボタン
-----------------------------------------------------------*/
/* ========== PC版：右固定・縦並び ========== */
#fav-contact {
	display: block;
	position: fixed;
	bottom: 10%;
	transform: translateY(-50%);
	left: 0;
	z-index: 100;
}
/* ブックマーク */
.fav {
	margin-bottom: 10px;
}
#fav-contact .fav a:hover {
    opacity: 1 !important;
}
.fav_button {
	background: #fff;
	cursor: pointer;
	border-right: 2px solid #666464;
	border-top: 2px solid #666464;
	border-bottom: 2px solid #666464;
	padding: 10px 10px 0;
	position: relative;
	width: 80px;
	height: 65px; /* ← 高さ固定 */
	box-sizing: border-box;
	position: relative;
}
.fav_button p {
	display: inline-block;
	margin: 25px 0 0;
	padding-bottom: 8px;
	font-size: 0.6rem;
	text-align: center;
	font-weight: 700;
	line-height: 1.5;
}
.fav_button::before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 30px;
	height: 30px;
	background-image: url("/magazine/common/images/ico_fav_off.png");
	background-size: 100% auto;
	background-repeat: no-repeat;
	z-index: 2; /* ← アイコンを前面に */
}
.is-choosen .fav_button {
	background: #2f2f2f;
	border-right: 2px solid #2f2f2f;
	border-top: 2px solid #2f2f2f;
	border-bottom: 2px solid #2f2f2f;
}
.is-choosen .fav .fav_button::before {
	background-image: url("/magazine/common/images/ico_fav_on.png");
}
.is-choosen .fav_button p {
	font-size: 0;
	padding-bottom: 8px;
	color: #fff;
	line-height: 1.2;
}
.is-choosen .fav_button p::before {
	font-weight: 700;
	font-size: 0.6rem;
	white-space: pre;
	content: "登録済み";
	line-height: 1.5;
	display: inline-block;
}
.fav_button:hover {
	background: #ededed;
    opacity: 1 !important;
}
.is-choosen .fav_button:hover {
	background: #2f2f2f;
    opacity: 1 !important;
}
/* --- hover 時の吹き出し（背景） --- */
.fav_button:hover::after {
	content: "「後で読む」機能を使うには、無料の会員登録が必要です。"; /* ← 表示したい文言 */
	position: absolute;
	top: 50%;
	left: 110%; /* ← ボタンの右側に表示 */
	transform: translateY(-50%);
	width: 140px;
	background: #fff;
	border: 2px solid #999;
	border-radius: 8px;
	padding: 8px 12px;
	font-size: 14px;
	color: #000;
	white-space: normal; 
	z-index: 1;
	text-align: left;
    opacity: 1 !important;
}
/* --- 三角部分（吹き出しの矢印） --- */
.fav_button:hover .arrow {
	content: "";
	position: absolute;
	top: 50%;
	left: 100%;
	transform: translateY(-50%);
	border-style: solid;
	border-width: 7.5px 15px 7.5px 0;
	border-color: transparent #999 transparent transparent;
	z-index: 1;
}
/* ▼ is-choosen が付いたら hover を無効化（吹き出し非表示） */
.is-choosen .fav_button:hover::after,
.is-choosen .fav_button:hover .arrow,
.is-choosen .fav_button:hover .arrow::after {
    content: none !important;
    display: none !important;
}

/* 商品問い合わせボタン */
.contact_button {
	background: #fff;
	cursor: pointer;
	border-right: 2px solid #d5063b;
	border-top: 2px solid #d5063b;
	border-bottom: 2px solid #d5063b;
	padding: 10px 10px 0;
	line-height: 1.5;
	position: relative;
	height: 80px; /* ← 高さ固定 */
	box-sizing: border-box;
}
.contact_button p {
	display: inline-block;
	margin: 25px 0 0;
	padding-bottom: 8px;
	font-size: 0.6rem;
	text-align: center;
	color: #d5063b;
	font-weight: 700;
	line-height: 1.5;
}
.contact_button::before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 33px;
	height: 33px;
	background-image: url("/magazine/common/images/ico_mail.png");
	background-size: 100% auto;
	background-repeat: no-repeat;
}
.contact a {
	display: block;
}
.contact a:hover {
	opacity: 1 !important;
}
.contact a .contact_button:hover {
	background: #fdf2f6;
}

/* ========== 1024px以下：下部固定・横並び ========== */
@media screen and (max-width: 1024px) {
	#fav-contact {
		position: fixed;
		top: auto;
		bottom: 0;
		left: 0;
		right: 0;
		transform: none;
		display: flex;
		justify-content: center;
		align-items: stretch;
		width: 100%;
		z-index: 100;
		background: #fff;
	}

	.fav,
	.contact {
		flex: 1; /* 均等幅 */
		margin: 0;
	}

	.fav_button,
	.contact_button {
		width: 100%;
		border: none;
		padding: 0;
		background: #fff;
		height: 60px;
	}
	.fav_button {
		border: 2px solid #666464;
	}

	.contact_button {
		border: 2px solid #d5063b;
	}

	.fav_button::before,
	.contact_button::before {
		top: 50%;
		left: 4%;
		transform: translateY(-50%);
	}

	.fav_button p,
	.contact_button p {
		font-size: 0.7rem;
		line-height: 1.4;
		margin: 0 0 0 30px;
		padding: 0;
	}

	/* スマホでは1行表示に戻す */
	.is-choosen .fav_button p {
		font-size: 0; /* ← 元に戻す */
		line-height: 0;
		margin-left: 16px;
		padding: 0;
	}
	.is-choosen .fav_button p::before {
	content: "登録済み";
		font-size: 0.7rem; /* ← 元に戻す */
		color: #fff;
		margin-left: 16px;
	}

	.is-choosen .fav_button {
		background: #2f2f2f;
		color: #fff;
	}
.fav_button:hover {
	background: #fff;
}
.is-choosen .fav_button:hover {
	background: #2f2f2f;
}
.contact a .contact_button:hover {
	background: #fff;
}

.fav_button:hover::after {
	font-size: 12px;
}
	
    /* --- 吹き出しをボタンの「上」に表示 --- */
    .fav_button:hover::after {
		display: none;
    }

    /* --- 下向きの矢印 ▼ --- */
.fav_button:hover .arrow {
		display: none;
  }
    /* --- 矢印の白い中抜き --- */
    .fav_button:hover .arrow::after {
		display: none;
    }
}

@media screen and (max-width: 320px) {
	.fav_button p,
	.contact_button p {
		font-size: 0.65rem;
		margin-left: 30px;
	}

	/* スマホでは1行表示に戻す */
	.is-choosen .fav_button p {
		font-size: 0; /* ← 元に戻す */
		margin-left: 16px;
	}
	.is-choosen .fav_button p::before {
		font-size: 0.65rem; /* ← 元に戻す */
	}
.fav_button::before {
	width: 20px;
	height: 20px;
}
.contact_button::before {
	width: 24px;
	height: 24px;
}
}

/* 公式商品スペック表用
---------------------------------------------------------*/
.products_detail_spec_table {
    margin: 30px 0;
}
.products_detail_spec_table table {
	width: 100%;
	border-collapse: collapse;
    border-spacing: 0;
	text-align: left;
}
@-moz-document url-prefix(){
	.products_detail_spec_table table {
		border-collapse: separate;
	}
}
@media all and (-ms-high-contrast: none) {
	.products_detail_spec_table table {
		border-collapse: separate;
	}
}
.products_detail_spec_table th,
.products_detail_spec_table td {
	border: solid 1px #ccc;
    font-size: 0.85rem;
    font-weight: normal;
    padding: 12px !important;
    background-color: #fff;
    vertical-align: middle;
	/*white-space: nowrap;*/
	text-align: left;
	z-index: 1;
}
.products_detail_spec_table th {
    background-color: #f1f1f1;
	/*position: sticky;
	left: 0;
	white-space: normal;*/
	width: 40% !important
}
@media all and (-ms-high-contrast: none) {
	.products_detail_spec_table th {
		position: relative;
	}
}

/*.products_detail_spec_table th::before {
    content: "";
    position: absolute;
    top: 0;
    left: -1px;
    width: 100%;
    height: 100%;
    border-left : 1px solid #ccc;
}
.products_detail_spec_table th::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border-right : 1px solid #ccc;
}*/
.products_detail_spec_table_header th,
.products_detail_spec_table_header td {
	background-color: #000 !important;
	color: #fff;
	font-weight: bold;
}
.products_detail_spec_area .products_detail_spec_annotation {
    margin-top: 10px;
	font-size: 1.3rem;
	line-height: 1.5;
}
.details .detail-content .products_detail_spec_table table tr:nth-child(odd) td {
    background: #fff;
}
@media screen and (max-width: 750px) {
	#products_detail_spec {
		margin-top: 60px;
	}
	.products_detail_spec_area .products_detail_spec_title {
		font-size: 2.8rem;
		margin-bottom: 10px;
		padding-left: 26px;
	}
	.products_detail_spec_title::before {
		top: 9px;
		width: 18px;
		height: 18px;
		border-radius: 2px;
	}
.products_detail_spec_table th,
	.products_detail_spec_table td {
		font-size: 0.85rem;
		padding: 12px !important;
}
	.products_detail_spec_area .products_detail_spec_annotation {
		font-size: 0.85rem;
	}
}




/* メンテナンス掲出用 */
.maintenance_text {
    color: #000;
    max-width: 1015px;
    margin: 15px auto;
    padding: 5px 10px;
    background: #f0f0f0;
    line-height: 1.5;
}

@media only screen and (max-width: 1024px) {
    .maintenance_text {
        max-width: 90%;
        font-size: 0.8rem;
    }
}

.toc { padding: 0 0 0 20px !important; margin: 0; }
.toc-h2 { list-style: disc !important; padding-left: 0 !important ; font-weight: bold; margin-top: 5px; }
.toc-h3 { list-style: none !important; font-weight: bold; padding-left: 1.2em !important; margin-top: .5em; }
.toc-h4 { list-style: none !important; font-weight: bold; padding-left: 2.4em !important; }