/*
Theme Name: Koenowa Child
Description: 『こえのわ』プロジェクト専用子テーマ - 舞台芸術と子育ての創造環境・労働環境改善のための交流プラットフォーム
Template: koenowa
Version: 1.0.0
Author: こえのわプロジェクト
Text Domain: koenowa-child
*/

/* ===========================================
   親テーマのスタイルを読み込み
   =========================================== */
/* 親テーマのstyle.cssは functions.php で読み込まれます */

/* ===========================================
   カラーパレット読み込み（functions.phpでenqueueに統一）
   =========================================== */
/* colors.css は functions.php で読み込みます */

/* ===========================================
   子テーマ専用カスタムスタイル (モバイルファースト対応版)
   =========================================== */

/* ==========================================
   font (ベース：スマホ表示)
   ========================================== */
html { font-size: 62.5%;}/* 1rem = 10px */
body {
    color: var(--koenowa-dark-gray);
    font-family: "Yu Gothic","Hiragino Sans", "ヒラギノ角ゴシック", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
    font-size: 1.6rem; /* 16px */
    line-height: 1.6;
    background-color: var(--koenowa-white);
}

/* リンク */
a {
    color: var(--koenowa-primary);
    text-decoration: none;
    transition: all 0.3s ease;
}
a:link,a:visited { color:#2396f4 ;}
a:hover { color: var(--koenowa-primary);}


:root {
	--xserver-heading-font:"Yu Gothic", "Hiragino Sans",  Meiryo, sans-serif;
	--noto-heading-font: 'Noto Sans JP', var(--xserver-heading-font);
  --mplus-rounded-heading-font: 'Kosugi Maru', var(--noto-heading-font);
  
}

/* 見出し（スマホ用サイズ） */
h1, h2, h3, h4, h5, h6 {
	color: var(--koenowa-dark-gray);
	font-family: var(--noto-heading-font);
	line-height: 1.4;
}

/* 丸ゴ（Kosugi Maru）はH1/H2のみで試験適用 */
h1, h2 {
/*     font-family: var(--mplus-rounded-heading-font); */
}
h1 { font-size: 2.6rem;}
h2 { font-size: 2.4rem;}
h3 { font-size: 2.1rem;}
h4 { font-size: 2.0rem;}
h5 { font-size: 1.8rem;}
h6 { font-size: 1.7rem;}
p,
.text-base {
	font-size: 1.7rem;
	line-height: 1.6;
	letter-spacing: .01em;
}
ul li, ol li, dl dt, dl dd {
	font-size: 1.7rem;
	line-height: 1.6;
	letter-spacing: .01em;
}
small,span,strong,em { display: inline-block;}
hr.wp-block-separator {
    margin: 0;
    border: none;
    background: none;
}
.admin-debug-info {
    position: fixed;
    right: 10px;
    bottom: 10px;
    z-index: 9999;
}
.admin-debug-info a {
    display: inline-block;
    padding: 4px 8px;
    border-radius: 4px;
    color: rgba(0,0,0,1);
    font-size: 1.3rem;
    text-decoration: none;
    opacity: 0.6;
    transition: all 0.3s;
}
.admin-debug-info a:hover {
    color: white;
    background: rgba(255,107,157,0.9);
    opacity: 1;
}
.wp-block-image figure figcaption {
    font-size: 1.2rem;
    text-align: right;
}

.banner-widget .banner-area {
    padding: 20px;
    text-align: center;
}
.banner-widget .banner-area p {
    padding: 20px;
    color: #999;
    font-size: 1.4rem;
}
.banner-placeholder {
    padding: 50px 20px;
    border: 2px dashed #ccc;
    border-radius: 5px;
    color: #999;
    font-size: 15px;
    background-color: #f9f9f9;
}
.ad-space, .ad-space.ad-after-toc {
    margin: 40px 0;
    padding: 20px;
    border: 1px dashed #ccc;
    border-radius: 5px;
    text-align: center;
    background-color: #f9f9f9;
}
.ad-space .ad-placeholder {
    padding: 20px;
    color: #999;
    font-size: 1.4rem;
    background: none;
}




/* ===========================================
   URL・リンクの改行制御
   =========================================== */
/* 長いURLの改行制御 */
a[href^="http://"],
a[href^="https://"],
a[href^="mailto:"],
a[href^="tel:"] {
    word-break: break-all; /* 強制改行 */
    overflow-wrap: break-word; /* 単語境界での改行 */
    hyphens: auto; /* ハイフネーション */
    max-width: 100%; /* 最大幅制限 */
}

/* 特に長いURL用の追加制御 */
p a[href^="http://"],
p a[href^="https://"],
.wp-block-paragraph a[href^="http://"],
.wp-block-paragraph a[href^="https://"] {
    word-break: break-all;
    overflow-wrap: anywhere; /* より積極的な改行 */
    max-width: 100%;
    line-height: 1.4;
}

/* コードブロック内のURL */
code a[href^="http://"],
code a[href^="https://"],
pre a[href^="http://"],
pre a[href^="https://"] {
    word-break: break-all;
    overflow-wrap: break-word;
    white-space: pre-wrap; /* 改行を保持 */
}

/* テーブル内のURL */
table a[href^="http://"],
table a[href^="https://"] {
    word-break: break-all;
    max-width: 200px; /* テーブル内は幅制限 */
    display: inline-block;
}

/* ===========================================
   汎用クラス
   =========================================== */

.center { text-align: center !important;}
.frame {
	position: relative;
	margin: 3em auto;
	text-align: center;
}
.frame .wp-block-group__inner-container {
	position: relative;
	display: inline-block;
	padding: clamp(1em,4vw,2.3em);
/* 	border: 4px solid #ddd; */
	border-radius: 30px;
	background-color: #ffdd8c;
	overflow: visible;
  z-index: 2;
}
.frame .wp-block-group__inner-container::after {
	content: "";
	position: absolute;
  bottom: -7px;
  right: -7px;
  border-right: solid 2px #333;
  border-bottom: solid 2px #333;
  width: 96%;
  height: 86%;
  border-radius: 0 0 32px 0;
  z-index: -2;
}
.page-content .frame p { margin:.3em auto;}
.page-content .frame h2:first-child,
.page-content .frame h3:first-child,
.page-content .frame h4:first-child,
.page-content .frame h5:first-child,
.page-content .frame h6:first-child {
	margin-top: 0;
}


/* ===========================================
   WP用クラス
   =========================================== */
.wp-block-list li {
	margin: .1em 0 !important;
	vertical-align: top;
}
.wp-block-list li::marker {
	vertical-align: text-top;
}

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

/* ===========================================
   ボタン類
   =========================================== */

.wp-block-buttons {margin: 3em 0;}

a.wp-block-button__link,
a.btn,
.button,
button,
input[type="submit"],
input[type="button"] {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: .5em;
	padding: .6em 2em; /* スマホ用のpadding */
	color: #333;
	font-size: 1.65rem; /* スマホ用のフォントサイズ */
	font-weight: 600;
	text-align: right;
	text-decoration: none;
	background: none;
	border-radius: 5rem;
	cursor: pointer;
	transition: all 0.3s ease;
}

a.wp-block-button__link:hover,
a.btn:hover,
.button:hover,
button:hover,
input[type="submit"]:hover,
input[type="button"]:hover {
	color: #fff;
	background-color: #333;
}
button.menu-toggle:hover {
	background-color: #fff;
}


.wp-block-buttons {
  display: flex; /* ← これが最も重要な命令です */
  flex-direction: column;
  align-items: center;
  gap: 1rem;
  width: max-content;
  margin: 0 auto;
}
.wp-block-buttons > .wp-block-button {
	display: flex;
	width: 100%;
	margin: 0;
}
a.wp-block-button__link {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-grow: 1;
	padding: .6em 4.6em .6em 2em ;
	width: 100%;
	height: 4em;
	text-align: center;
/* 	background-color: #aaa; */
	border:none;
	opacity: .9;
}
a.wp-block-button__link::after {
	content: ''; 
	position: absolute;
	right: .5em; 
	top: 50%;
	transform: translateY(-50%);

	width: 3.4em;
	height: 3.4em;
	/* 背景としてSVGを指定 */
	background-image: url('assets/images/arrow-ron-right.svg');
	background-size: contain; /* サイズ内に収まるように調整 */
	background-repeat: no-repeat;
	background-position: right center;
/* 	opacity: .9; */
/* 	filter: invert(91%) sepia(57%) saturate(1550%) hue-rotate(169deg) brightness(99%) contrast(110%); */
}
a.wp-block-button__link:hover {
	background-color: #000;
	border:none;
}
.btn-primary {
    color: var(--koenowa-white);
    background-color: var(--koenowa-primary);
    border-color: var(--koenowa-primary);
}
.btn-primary:hover {
    color: var(--koenowa-white);
    background-color: var(--koenowa-primary-hover);
    border-color: var(--koenowa-primary-hover);
}
.btn-secondary {
    color: var(--koenowa-secondary);
    background-color: transparent;
    border-color: var(--koenowa-secondary);
}
.btn-secondary:hover {
    color: var(--koenowa-white);
    background-color: var(--koenowa-secondary);
}


.more-posts a.btn {
	display: inline-block;
	margin: 0.5em 1em;
	padding: .4em 2em .45em;
	color: #333;
	font-size: 1.35rem; 
	font-weight: 500;
	text-decoration: none;
	background-color: #ddd;
	border: none;
	border-radius: 0;
	transition: all 0.3s ease;
}
.more-posts a.btn.voice {
/*
	-webkit-mask: url("assets/images/mask-book-label.png") center / 100% 100% no-repeat;
	mask: url("assets/images/mask-book-label.png") center / 100% 100% no-repeat;
*/
	padding: .5em 2em .6em;
	-webkit-mask: url("assets/images/mask-book-label.png") center / 100% 100% no-repeat;
	mask: url("assets/images/mask-book-label.png") center / 100% 100% no-repeat;
}
.more-posts a.btn:hover {
 	color: #fff;
	background-color: #454545 !important;
	filter: brightness( 110% ) contrast( 110% ) grayscale(0%) saturate( 130% ) ;	
	transform: scale(110%);
}

/* 外部ボタン（.outerlink）
	-------------------------------------------- */
.wp-block-buttons.outerlink { margin: 3em auto 4em;}
.wp-block-buttons.outerlink .wp-block-button {position: relative;}
.wp-block-buttons.outerlink .wp-block-button::after {
	content: '';
  position: absolute;
  bottom: -7px;
  right: -7px;
  border-right: solid 3px #777;
  border-bottom: solid 3px #777;
  width: 98%;
  height: 90%;
  border-radius: 0 0 2.1rem 0;
  z-index: -1;
}
.wp-block-buttons.outerlink a.wp-block-button__link {
	position: relative;
	color: #333;
	border: solid 3px #777;
	border-radius: 1.7rem !important;
	opacity: .85;
}
.wp-block-buttons.outerlink a.wp-block-button__link::after {
	content: '';
  position: absolute;
  right: .5em;
  top: 50%;
  transform: translateY(-50%);
  width: 3.4em;
  height: 3.4em;
/*   filter: invert(92%) sepia(92%) saturate(34%) hue-rotate(127deg) brightness(108%) contrast(111%); */
  background-image: url('assets/images/icon-linkouter.svg?123asq');
  background-size: contain;
  background-repeat: no-repeat;
  background-position: right center;
}
.wp-block-buttons.outerlink a.wp-block-button__link:hover {
	background-color: #fff;
  transform: translate(-1px ,-1px);
	opacity: 1;
}
.wp-block-buttons.outerlink a.wp-block-button__link:active {
  transform: translate(1px ,1px);
	filter: brightness( 104% ) contrast( 106% ) grayscale(0%) saturate( 140% ) ;
	opacity: 1;
}

/* ===========================================
   広告・アフェリエイト
   =========================================== */

.production-site .banner-widget.banner-top,
.production-site .ad-space { display: none !important;}


/* ===========================================
   構造
   =========================================== */
body.page,body.post { margin: 0;}
.single-post-container,
.page-container {
	 margin: 0 auto;
	 width: 91%;
}
main {
	margin: 0 auto;
	width: 100%;
}


/* ===========================================
   検索結果ページ
   =========================================== */

.popular-tags {
	margin: 4rem auto;
	max-width: 700px;
}
.popular-tags .tag-link {
  display: inline-block; /* レイアウト */
  margin: 0 0.2rem 0.2rem 0;
  padding: .2rem .5rem; /* ボックス */
  color: #666; /* タイポ */
  font-size: 1.35rem; /* タイポ（少し大きめ） */
  font-weight: 600; /* タイポ */
  line-height: 1.5; /* タイポ */
  text-decoration: none; /* タイポ */
  background: transparent; /* 背景：通常はなし */
  border: none; /* 装飾 */
  transition: background-color .2s ease, color .2s ease, border-color .2s ease; /* その他 */
}
.popular-tags .tag-link:hover {
	color: #222;
	background: none;
}

/* ===========================================
   サイドバー
   =========================================== */
aside.widget-area {
	margin:0 auto;
	max-width: 450px;
}
.banner-widget.banner-top {
	margin-bottom: 5vh;
	min-height:400px;
	background-color: #f9f9f9;
	border: 1px dashed #ccc;
	border-radius: 8px;
	overflow: hidden;
}



.widget {
	margin-bottom: 5vh;
	padding: 3px 20px 15px 10px;
	border-right: 2px solid #333;
	border-bottom: 2px solid #333;
	border-radius: 0 0 2.7rem 0;
}
.widget h3.widget-title {
	margin: 0 0 1em;
	line-height: 1;
	font-weight: 600;
	letter-spacing: 0.041em;
}
.widget h3.widget-title::before {
	content: ''; 
  display: inline-block;
  margin-right: .1em;
  width: .67em;
  height: .67em;  
  background: var(--page-bg, #f8f9fb); /* 背景色（青） #f8f9fb */
  background-image: url(assets/images/headline-ron2.svg); /* SVGアイコン */
  background-repeat: no-repeat;
	background-size: 93%,auto;
  border-radius: 50%;
  mix-blend-mode: multiply;
}

.widget-list a:hover {
	color: #000;
	filter: brightness( 104% ) contrast( 106% ) grayscale(0%) saturate( 100% ) ;
}
/* サイドバー: 人気のよみもの */
.widget-list .popular-content { display: grid; }
.widget-list .popular-item { display: block; }
.widget-list .popular-link {
	display: flex;
	align-items: center;
	gap: 1rem;
	text-decoration:none;
	color:inherit;
}
.widget-list .popular-thumbnail {
	flex: 0 0 auto;
	width: 64px;
	height: 64px;
	border-radius: 6px;
	overflow: hidden;
	background: #f0f1f3;
}
.widget-list .popular-thumbnail img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center center;
  transform: scale(1.43);/* 中央70%を見せるイメージ（1/0.7） */
  transform-origin: center center;
}
.widget-list .popular-title { font-size: 1.5rem; font-weight: 600; line-height: 1.3; }
.widget-list .popular-date { margin-top: .2rem; color: #888; font-size: 1.2rem; }

/* ドット区切り線（隣接する要素間） */
.widget-list .popular-item + .popular-item {
  margin-top: 1.2rem;
  padding-top: 1.2rem;
  background: none;
  background-image: radial-gradient(circle, #555 1px, transparent 1px);
  background-position: left top;
  background-repeat: repeat-x;
  background-size: 6px 2px;
  border-top: 0;
}


/* CTA: もっと見る */
.widget-list .popular-cta {
	margin-top: 1.6rem;
	text-align: right;
}
.widget-list .popular-more-link {
	position: relative;
  display: inline-block;
  padding: .6rem 5.2rem .6rem 1.2rem;
  color: #444;
  font-size: 1.5rem;
  font-weight: 500;
  transition: all .25s ease;
}
.widget-list .popular-more-link:hover { color: #222;}
.widget-list .popular-more-link:after {
  content: "";
  position: absolute;
  top: 50%;
  right: .9rem;
  transform: translateY(-50%);
  width: 3.6rem;
  height: 3.6rem;
  background: transparent url("assets/images/arrow-ron-right.svg") center / 100% 100% no-repeat;
  transition: all .25s ease;
  opacity: .7;
}
.widget-list .popular-more-link:hover:after { opacity: 1;}



/* -------------------------------------------
   気になるキーワード（タグ一覧）
   ------------------------------------------- */
.keyword-tags {
	display: flex;
	flex-wrap: wrap;
	gap: .6rem;
	margin-top: .8rem;
}
.keyword-tags .tag-chip {
  display: inline-block; /* レイアウト */
  margin: 0 0.2rem 0.2rem 0;
  padding: .2rem .5rem; /* ボックス */
  color: #666; /* タイポ */
  font-size: 1.35rem; /* タイポ（少し大きめ） */
  font-weight: 600; /* タイポ */
  line-height: 1.5; /* タイポ */
  text-decoration: none; /* タイポ */
  background: transparent; /* 背景：通常はなし */
  border: none; /* 装飾 */
  transition: background-color .2s ease, color .2s ease, border-color .2s ease; /* その他 */
}
.keyword-tags .tag-chip:hover {
  color: #222;
  background: none;
  border: none;
}
.widget .keyword-tags { gap: .2rem;}
.widget .keyword-tags .tag-chip {
	color: #333;
	font-size: 1.45rem;
}


/* -------------------------------------------
   キーワード検索（サイドバー、メニュー、検索結果ページ共通）
   ------------------------------------------- */
.keyword-search {
	display: block;
	margin: 2.2rem auto 0.65rem;
	max-width: 400px;
}
.keyword-search form {
	display: flex;
	align-items: center;
	gap: .6rem;
}
.keyword-search input[type="search"] {
  padding: .6rem 3.2rem .6rem 1.2rem; /* 右にアイコン分の余白 */
  width: 100%;
  height: 3.6rem;
  color: #555;
  font-size: 1.45rem;
  line-height: 1.6;
  border: 1px solid #333;
  border-radius: 999px;
  background: none;
  -webkit-appearance: none;
          appearance: none;
  transition: all .25s ease;
  box-shadow: inset 0 0 0 1px rgba(51,51,51,.85) !important;
}
.keyword-search input[type="search"]::placeholder {
	color: #777;
	font-size: 1.35rem;
	font-weight: 500;
}
.keyword-search input[type="search"]::-webkit-search-decoration { -webkit-appearance: none; }


.keyword-search input[type="submit"] {
  position: absolute;
  right: .65rem;
  top: 50%;
  transform: translateY(-50%);
  padding: .2em 1.2em .2em;
  width: 2.4rem;
  height: 2.4rem;
  font-size: 0.00001em;
  cursor: pointer;
	background: none;
  border: 0 !important;
  background: transparent url("assets/images/icon-search.svg") center / 1.65rem no-repeat;
  transition: background-color .2s ease, border-color .2s ease, color .2s ease;
  text-indent: -9999px;
  opacity: .6;
}
.keyword-search input[type="submit"]:hover { opacity: 1;}

/* サイドバー検索：ピル型＋虫眼鏡アイコン */
.keyword-search .search-form {
	position: relative;
	display: block;
}

.keyword-search .search-field:focus,
.keyword-search input[type="search"]:focus,
.keyword-search .search-form:focus-within .search-field,
.keyword-search .search-form:focus-within input[type="search"] {
  box-shadow: inset 0 0 0 1px rgba(51,51,51,.85) !important;
  background-color: #fff;
  outline: none;
}



/* ===========================================
   お問い合わせフォーム（wpcf7-form）
   =========================================== */
.wpcf7-form {
	margin: auto;
	max-width: 600px;
}
.wpcf7-form dt {
	margin: .3em 0;
	font-size: 1.45rem;
	text-align: left;
}
.wpcf7-form dt p {
	margin-bottom: .8em;
	font-size: 1.55rem;
	line-height: 1.2;
	letter-spacing: .07em;
}
.wpcf7-form dt span {
	display: inline-block;
	margin-top: -.2em;
	margin-right: 1em;
	padding: .3em .5em .25em;
	color: #fff;
	font-size: 1.1rem;
	text-align: center;
/* 	text-shadow: 1px 1px 0px rgba(0, 0, 0, .1); */
	vertical-align: middle;
	background-color: var(--koenowa-ko);
}
.wpcf7-form dt span.required { background-color: var(--koenowa-e);}/* 必須 */
.wpcf7-form dd {
	margin: .3em 0 1.6em;
	width: 100%;
	max-width: 600px;
}
.wpcf7-form dd p { margin: 0;}
.wpcf7-form dd .wpcf7-form-control {
	padding: .4em .6em;
	width: 100%;
	color: #666;
	font-size: 1.8rem;
	border: 1px solid #ccc;
	border-radius: 3px;
}
.wpcf7-form dd .wpcf7-form-control-wrap span {
	display: inline-block;
	margin-top: .4em;
	font-size: 1.3rem;
	letter-spacing: 0.01em;
}
.wpcf7-form .submit p { text-align: center;}

/* メッセージ */
.wpcf7 form .wpcf7-response-output {
  margin: 2em 0.5em 1em;
  padding: 0.2em 1em;
  text-align: center;
  border: 2px solid var(--koenowa-wa);
}
.wpcf7 form.sent .wpcf7-response-output {border-color: var(--koenowa-ko);}

@media (min-width: 769px) {
  .widget-list .popular-item + .popular-item {
    margin-top: 1.4rem;
    padding-top: 1.4rem;
  }
}

/* タブレット中域: 769px〜950pxでサイドバーの.widgetを2列配置（間延び対策） */
@media (min-width: 769px) and (max-width: 950px) {
aside.widget-area {
	max-width: 900px;
}
  .single-sidebar {
	  display: grid;
	  grid-template-columns: repeat(2, minmax(0, 1fr));
	  gap: clamp(6vmin, 4vmin, 4vmin);
	 }    

  .single-sidebar .widget { margin-bottom: 0; }
}


/* reCAPTCHA 
	---------------------------------- */
body .grecaptcha-badge { display: none !important;}/* 全ページでreCAPTCHAを非表示 */

/* 特定のページ（お問い合わせページなど）でのみ表示 */
body.page-id-15 .grecaptcha-badge {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
}


/* ===========================================
   ページネーション（円形ボタン・モダンデザイン）
   全ページ共通スタイル
   =========================================== */

/* wp_link_pages用（記事詳細ページのページ遷移） */
.page-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 1.45rem;
    margin: 3rem 0;
    padding: 2rem 1rem;
    text-align: center;
}

.page-links-title {
    display: none; /* ラベルは非表示 */
}

/* wp_link_pagesの出力に対応 - 円形ボタンデザイン */
.page-links a,
.page-links span,
.page-links > a,
.page-links > span {
    display: inline-flex ;
    align-items: center ;
    justify-content: center ;
    width: 40px ;
    height: 40px ;
    border: 2px solid #666 ;
    border-radius: 50% ;
    color: #666 ;
    font-size: 1.4rem ;
    font-weight: 500 ;
    text-decoration: none ;
    transition: all 0.2s ease ;
}

.page-links a:hover {
    color: #333 ;
    background-color: var(--page-bg, #f8f9fb);
    border-color: #333 ;
    mix-blend-mode: multiply;
}

.page-links span {
    color: #fff ;
    background: #333 ;
    border-color: #333 ;
}

/* 前へ・次へボタンの特別スタイル */
.page-links a:first-child,
.page-links a:last-child {
    width: 40px ;
    height: 40px ;
    font-size: 1.2rem ;
}



/* the_posts_pagination用（カテゴリー・タグ・検索結果ページ） */
.pagination-nav {
    margin: 3rem 0;
    text-align: center;
}

.pagination .nav-links {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 0.6rem;
    padding: 2rem 1rem;
}

.pagination .nav-links a, 
.pagination .nav-links .current {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	color: #666;
	font-size: 1.4rem;
	letter-spacing: 0.1em;
	font-weight: 500;
	text-decoration: none;
	background: #fff;
	transition: all 0.25s ease;
}
.pagination .nav-links a:hover,
.pagination .nav-links .current {
	color: #fff;
	background: #333;
}
.pagination .nav-links a.next,
.pagination .nav-links a.prev {
	margin: 0 .5rem;
	width: auto;
	background: none;
	border: none;
}
.pagination .nav-links a.next:hover,
.pagination .nav-links a.prev:hover {
	color: #000;
}



/* 前へ・次へボタンの特別スタイル */
.pagination .nav-links .prev,
.pagination .nav-links .next {
    width: 40px;
    height: 40px;
    font-size: 1.2rem;
}


/* タブレット・PCサイズでの調整 */
@media (min-width: 769px) {
    .page-links {
        margin: 4rem 0;
        padding: 2.5rem 2rem;
    }
    
    .page-links a,
    .page-links span,
    .page-links > a,
    .page-links > span {
        width: 44px !important;
        height: 44px !important;
        font-size: 1.5rem !important;
    }
    
    .page-links a:first-child,
    .page-links a:last-child {
        width: 44px !important;
        height: 44px !important;
        font-size: 1.4rem !important;
    }
    
    .pagination-nav {
        margin: 4rem 0;
    }
    
    .pagination .nav-links {
        gap: 1.2rem;
        padding: 2.5rem 2rem;
    }
    
    .pagination .nav-links a, 
    .pagination .nav-links .current {
        width: 44px;
        height: 44px;
        font-size: 1.35rem;
    }
    
    .pagination .nav-links .prev,
    .pagination .nav-links .next {
        width: 44px;
        height: 44px;
        font-size: 1.4rem;
    }
}






