/* page-common
-------------------------------------------------------------*/
body { background-color:#eee; }

/* case-archive
-------------------------------------------------------------*/
.oem-section { padding: 80px 0px 96px; }

.case-list { position: relative; z-index: 2;}
.case-item { width:30%; }
.case-item:nth-child(3n-1) { margin:0 5%; }
.case-item:nth-child(4),.case-item:nth-child(5),.case-item:nth-child(6){ margin-top:5%; }

.case-link { overflow:hidden; display: block; background-color:#fff; 
	    box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px; color:#111; }
.case-text { padding:24px; }
.case-image { overflow:hidden; }
.case-link img { height: auto; }
.case-link h3 { color:#111; font-size:120%; }
.case-link p { font-size:90%; margin-top:12px; }
.case-link img { transition:transform var(--base-duration) var(--base-easing); }
.case-link:hover img { transform: scale(1.06,1.06); }

.case-intro-text { margin-top:24px; line-height: 1.8; }
.button-wrap-case { margin-top:24px; }
.button-wrap-case .button-primary { margin: auto; border-color:#fff; }

.case-pagination {
  margin: 40px 0;
  text-align: center;
}
/* ▼ ページネーション全体（navで囲っているならここも使う） */
.case-pagination {
  margin: 40px 0;
  text-align: center;
}

/* ▼ ul.page-numbers を横並び＆中央寄せに */
.case-pagination .page-numbers,
ul.page-numbers {
  display: inline-flex;
  gap: 8px;
  list-style: none;
  padding: 0;
  margin: 0;
}

/* ▼ 各ボタンのベーススタイル */
.case-pagination .page-numbers li a,
.case-pagination .page-numbers li span,
ul.page-numbers li a,
ul.page-numbers li span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 36px;
  height: 36px;
  padding: 0 10px;
  border-radius: 999px; /* pill型 */
  border: 1px solid #ddd;
  background-color: #fff;
  font-size: 14px;
  line-height: 1;
  color: #333;
  text-decoration: none;
  box-sizing: border-box;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    transform 0.1s ease;
}

/* ▼ hover時 */
.case-pagination .page-numbers li a:hover,
ul.page-numbers li a:hover {
  background-color: var(--blue-color-primary);
  color: #fff;
  border-color: var(--blue-color-primary);
  transform: translateY(-1px);
}

/* ▼ 現在ページ（.current は span） */
.case-pagination .page-numbers li span.current,
ul.page-numbers li span.current {
  background-color: var(--blue-color-primary);
  color: #fff;
  border-color: var(--blue-color-primary);
  font-weight: 700;
}

/* ▼ 「次へ」「前へ」などテキスト長いボタン用（任意） */
.case-pagination .page-numbers li .prev,
.case-pagination .page-numbers li .next,
ul.page-numbers li .prev,
ul.page-numbers li .next {
  padding: 0 14px;
}

/* ▼ スマホで少しコンパクトに */
@media (max-width: 599px) {
  .case-pagination {
    margin: 24px 0;
  }

  .case-pagination .page-numbers,
  ul.page-numbers {
    gap: 4px;
  }

  .case-pagination .page-numbers li a,
  .case-pagination .page-numbers li span,
  ul.page-numbers li a,
  ul.page-numbers li span {
    min-width: 30px;
    height: 30px;
    font-size: 12px;
    padding: 0 8px;
  }
}


@media (max-width:991px){
	.oem-section { padding:40px 0 0; }
	.case-list { width:80%; margin:48px 10% 0; }
	.case-item:nth-child(3n-1) { margin:0; }
	.case-item:nth-child(4),.case-item:nth-child(5),.case-item:nth-child(6){ margin-top:0; }
	.case-list .case-item { width:100%; margin-bottom:6.4%; }
	.case-list .case-item:last-child { margin-bottom:0; }}
@media (max-width:480px){
	.heading-case { margin-top: 12px; }
	.case-list { width:100%; margin:0; }}



/* case-single
-------------------------------------------------------------*/
.single-case-sec .case-image img { max-width:480px; height:auto; }
.single-case-sec .case-title { font-size:180%; margin-top:24px; }

.single-case-sec h2 { margin:40px 0 12px; font-size:140%; }
.single-case-sec .heading2-cat { margin-top:64px; }
.single-case-sec ul { padding:24px; background-color:#efefef; border-radius:4px; }
.single-case-sec ul li { position:relative; padding-left:24px; }
.single-case-sec ul li:before { content:""; width:8px; height:8px; border-radius:4px; position:absolute; left:0px; 
	background-color:var(--blue-color-primary); top:8px; }

.single-case-sec .mark { 
	font-weight:900;
	background:linear-gradient(transparent 60%, rgba(var(--blue-color-primary-rgb),.4) 60%); }

.case-image-wrap { margin-top:24px; justify-content: space-between; }
.case_image { width:48%; }

.other-case-area { margin:80px 0 64px; }
.single-case .other-case-area h1 { margin-bottom:40px; color:#333; }

.column3 li { width:31%; }
.column3 li:nth-child(3n-1) {  margin:0 3.5%; }

.single-case-sec .case-cat-list { padding:0; background-color:#fff; }
.single-case-sec .case-cat-list li { padding-left:0; display: inline-block; position:inherit; margin-bottom:16px; margin-right:16px; }
.single-case-sec .case-cat-list li:before { content: none; }

.case-cat-list li a { padding:8px 16px; display:inline-block; line-height:1; border-radius:40px; font-size:90%;
	border:2px solid var(--blue-color-primary); color:var(--blue-color-primary);
	transition: color var(--base-easing) var(--base-duration),background-color var(--base-easing) var(--base-duration); }
.case-cat-list li a:hover {
	color:#fff; background-color:var(--blue-color-primary); }
	

@media (max-width:991px){
	.single-case .case-list { width:inherit; margin:inherit; }}

@media (max-width:767px){
	.column3 li { width:100%; }
	.column3 li:nth-child(3n-1) {  margin:0; }
	.column3 li:not(:first-child) { margin-top:40px;}
}


/* news
-------------------------------------------------------------*/
.news-title { font-size:160%; }
.entry-date { color:#666; display:block; margin-top:12px; }
.news-conts { margin-top:56px; }

