
* {
	box-sizing: border-box;
}

html, body {
	width: 100%;
	height: 100%;
	overflow: auto;
	margin: 0;
	padding: 0;
	
	-ms-overflow-style: none;
	scrollbar-width: none;
}
/*
.page {
	overflow-x: hidden;
	overflow-y: auto;
	height: 100%;
}
*/
.page {
	overflow-x: hidden;
	overflow-y: auto;
	height: auto;
	-ms-overflow-style: none; /* Edge */
	scrollbar-width: none; /* Firefox */
}
.page::-webkit-scrollbar {
	display: none; /* Chrome,Safari */
}


.slide {
	position: -webkit-sticky;
	position: sticky;
	top: 0;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: 0.2em;
	color: white;
	background-size: cover;
	background-position: center;
}
section {
	width: 100%;
}

.pc_br {
	display: block;
	display: unset;
}
.sp_br {
	display: none;
}


/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
/* メインビジュアル */
/* ------------------------------------------------------------------------ */
.top-section{
	position: relative;
	height: 488px;
	overflow: hidden;               /* はみ出し防止 */
}

.top-section .top-bg{
	position: absolute;
	width: 100%;
	height: auto;
	object-fit: cover;
	z-index: 0;
	max-width: none;
	border: none;
	top: -70%;
	left: 0;
}

/* グラデーションは上に重ねる */
.top-section::after{
	content:"";
	position:absolute;
	inset:0;
	background: linear-gradient(270deg,
		rgba(0,0,0,.2) 0.02%,
		rgba(0,0,0,.41) 27.51%,
		rgba(0,0,0,.5) 50.66%,
		#000 94.1%);
	z-index: 1;
}


.top-section-inner {
	position: relative;
	padding: 166px 118px 134px 118px;
	z-index:2;
}

.top-title-area {
	display: flex;
	gap: 64px;
}
.top-title-area-left {
	flex: 0 0 407px;
}
.top-title-area-right {
	flex: 0 1 544px;
	margin-top: 70px;
	margin-left: auto;
}

.top-title {
	color: #fff;

	font-family: Satoshi;
	font-weight: 500;
	font-style: Medium;
	font-size: 80px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0%;

	margin-bottom: 24px;
}
.top-title-sub {
	color: #fff;

	font-family: Noto Sans JP;
	font-weight: 500;
	font-style: Medium;
	font-size: 18px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0%;
}

.top-text {
	color: #fff;

	font-family: Noto Sans JP;
	font-weight: 300;
	font-style: Regular;
	font-size: 16px;
	leading-trim: NONE;
	line-height: 180%;
	letter-spacing: 0%;
}


.pankuzu-list {
	display: flex;
	width: 108px;
	margin-bottom: 48px;
}

.pankuzu-unit {
	color: #fff;
	font-family: Noto Sans JP;
	font-weight: 400;
	font-style: Regular;
	font-size: 12px;
	leading-trim: NONE;
	line-height: 150%;
	letter-spacing: 0%;
}

.pankuzu-separator {
	position: relative;
	width: 24px;
	height: 18px;
}
.pankuzu-separator img{	
	margin: 0 auto;
	width: 10px;
	height: 16px;
	display: block;
}
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
/* メインコンテンツ */
/* ------------------------------------------------------------------------ */
.case-section {
	/*padding: 100px 193px;*/
	padding: 100px 173px 100px 190px;
	background-color: #F3F8FC;
	padding-top: 80px;
}
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
/* 選択タブ */
/* ------------------------------------------------------------------------ */
.case-section .case-tab {
	display: flex;
	margin: 0;
	gap: 16px;
	margin: 0 0 64px 0;
}

.case-section .case-tab li {
	flex: auto;
	margin: 0px;
	padding: 0px;
	cursor: pointer;
	width: 25%;

	border-radius: 0;
	border: none;
	background: none;
}

.case-section .case-tab li.active {
}

.case-section .case-tab li A {
	font-weight: 700;
	font-size: 14px;
	text-align: center;

	display: block;
	color: #005EAD;
	background: #FFFFFF;

	border-radius: 4px;
	border: solid 1px #005EAD;
	padding: 8px 20px;
	width:100%;
	height:100%;

	text-decoration: none;
}
.case-section .case-tab li A:hover,
.case-section .case-tab li A:active,
.case-section .case-tab li A:focus {
	text-decoration: none;
	color: #005EAD;
	background: #FFFFFF;
}

.case-section .case-tab li.active A {
	font-weight: 700;
	font-size: 14px;
	text-align: center;

	display: block;
	color: #fff;
	background: #005EAD;
	border: solid 1px #005EAD;

	border-radius: 4px;
	border: solid 1px #005EAD;
	padding: 8px 20px;
	width:100%;
	height:100%;
}
.case-section .case-tab li.active A:hover,
.case-section .case-tab li.active A:active,
.case-section .case-tab li.active A:focus {
	text-decoration: none;
	color: #fff;
	background: #005EAD;
}
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
/* 記事リスト */
/* ------------------------------------------------------------------------ */
.case-list {
margin: 0;
width: 100%;
border-radius: 8px;
padding-bottom: 0px;
}

.case-item {
background-color: #fff;
margin: 0 0 64px 0;
width: 100%;
border-radius: 8px;
padding: 56px;
}

.case-headline {
display: flex;
gap: 28px;
}

.case-image-slider {
width: 360px;
padding-bottom: 40px;
height: 288px;
}

.case-swiper {
width: 360px;
padding-bottom: 44px;
}

.swiper-pagination-bullet {
margin: 8px !important;
}

.swiper-pagination-bullet-active {
background: #000000;
}

.swiper-slide.case-card {
aspect-ratio: 360/238;
width: 360px;
height: auto;
}

.swiper-slide.case-card img {
width: 100%;
height: 100%;
object-fit: contain;
}

.swiper-horizontal > .swiper-pagination-bullets, .swiper-pagination-bullets.swiper-pagination-horizontal {
bottom: 0;
left: 0;
width: 100%;
text-align: left;
}
.swiper-pagination-bullet-active {
background: #000000;
}

.case-head {
width: 100%;
margin-right: 0;
}

.head-company-name {
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 16px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
color: #151515;
margin-bottom: 8px;
}

.head-case-name {
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 24px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
calor: #151515;
margin-bottom: 24px;
}

.head-case-genre {
display: flex;
flex-wrap: wrap;
gap: 24px;
margin-bottom: 32px;
}

.genre-unit {
display: flex;
align-items: center;
}

.genre-type {
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 14px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
color: #fff;
background-color: #000;
padding: 1px 8px 2px 8px;
border-radius: 3px;
}

.genre-title {
font-family: Noto Sans JP;
font-weight: 400;
font-style: Regular;
font-size: 16px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
padding: 1px 8px 1px 8px;
}

.genre-unit {
display: flex;
align-items: center;
}

.genre-type {
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 14px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
color: #fff;
background-color: #000;
padding: 1px 8px 2px 8px;
}

.genre-title {
font-family: Noto Sans JP;
font-weight: 400;
font-style: Regular;
font-size: 16px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
padding: 1px 8px 1px 8px;
}

.case-category {
display: flex;
flex-wrap: wrap;
gap: 13px;
margin-bottom: 32px;
}

.category-unit {
background-color: #F2F2F2;
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 14px;
leading-trim: NONE;
line-height: 160%;
letter-spacing: 0%;
color: #565656;
padding: 1px 8px 1px 8px;
border-radius :3px;
}

.case-line {
display: flex;
gap: 6px;
margin-bottom: 16px;
}
.case-line {
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 20px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
color: #151515;
}

.case-issu {
display: flex;
gap: 24px;
align-items: stretch;
margin-bottom: 16px;
}

.case-title {
background-color: #151515;
color: #fff;
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 14px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
background: #151515;
color: #fff;
width: 80px;
border-radius: 5px;
display: flex;
align-items: center;
justify-content: center;
padding: 8px 16px;
align-self: stretch;
width: 80px;
flex: 0 0 80px;
}

.case-body {
padding: 8px 0;
font-family: Noto Sans JP;
font-weight: 400;
font-style: Regular;
font-size: 16px;
leading-trim: NONE;
line-height: 160%;
letter-spacing: 4%;
vertical-align: middle;
color: #151515;
display: flex;
flex: 1 1 auto;
}

.case-effect {
display: flex;
gap: 24px;
align-items: stretch;
margin-bottom: 40px;
}

.case-title.effect {
background-color: #005EAD;
}
.case-title {
background-color: #151515;
color: #fff;
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 14px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
background: #151515;
background-color: rgb(21, 21, 21);
color: #fff;
width: 80px;
border-radius: 5px;
display: flex;
align-items: center;
justify-content: center;
padding: 8px 16px;
align-self: stretch;
width: 80px;
flex: 0 0 80px;
}

.case-body {
padding: 8px 0;
font-family: Noto Sans JP;
font-weight: 400;
font-style: Regular;
font-size: 16px;
leading-trim: NONE;
line-height: 160%;
letter-spacing: 4%;
vertical-align: middle;
color: #151515;
display: flex;
flex: 1 1 auto;
}

.case-link {
display: flex;
justify-content: flex-end;
}

.case-link a {
padding: 0;
margin: 0;
margin-right: 0px;
margin-left: 0px;
display: flex;
width: auto;
margin-left: auto;
margin-right: 0;
display: inline-flex;
align-items: center;
gap: 8px;
color: #005EAD;
font-family: "Noto Sans JP", system-ui, sans-serif;
font-weight: 700;
font-size: 16px;
line-height: 1;
text-decoration: none;
}


/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */

/* コンテナ */
.pagination{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:18px;               /* li の margin の代わりに間隔を制御 */
  list-style:none;
  padding-left:0;
}
.pagination li{ margin:0; }

/* 数字・現在ページ（WPの出力クラスに合わせる） */
.pagination li > a.page-numbers,
.pagination li > span.page-numbers{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:50px;
  height:50px;
  padding:0;              /* ここに padding を入れない */
  font-weight:500;
  font-size:24px;
  color:##666666;
  text-decoration:none;
  border:1px solid #005EAD;
  border-radius:50%;
}

/* 現在ページ */
.pagination li > span.page-numbers.current{
  background:#005EAD;
  color:#F2F2F2;
  border-color:#005EAD;
}


/* 前へ/次へ（小さめ・余白を旧仕様に） */
.pagination li > a.page-numbers.prev,
.pagination li > a.page-numbers.next{
  width:50px;
  height:50px;
  font-size:14px;
  color:#005EAD;
}

/* 旧CSSの margin-right/left を prev/next に対応させる */
.pagination a.page-numbers.prev{ margin-right:20px; }
.pagination a.page-numbers.next{ margin-left:20px; }

/* 省略記号（…）は円形にしない */
.pagination li > span.page-numbers.dots{
  border:0;
  width:auto;
  height:auto;
  padding:14px 6px;
  font-size:24px;
  color:#9C9C9C;
}


.pagination li A:hover,
.pagination li A:active,
.pagination li A:focus {
	text-decoration: none;
}





/* 塗りの青ボタン */
.btn-solid-blue{
	--btn-h: 56px;
	display: inline-flex;
	gap: 16px;
	min-width: 260px;
	font-family: "Noto Sans JP",system-ui,sans-serif;
	align-items: center;
	justify-content: left;
	height: 56px;
	width: 260px;
	padding: 16px 0 16px 24px;
	border-radius: 64px;
	border: 1px solid #005EAD;
	background: #005EAD;
	color: #F2F2F2;
	text-decoration: none;
	font-weight: 700;
	font-size: 16px;
	position: relative;
}

/* 右端の矢印（指定SVGをそのまま使用） */
.btn-solid-blue::after{
	content: "";
	position: absolute;
	left: 24px;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background: url(/common/asset/btn-bule_arrow_reverse.svg) no-repeat center / contain;
	/* SVGが透過前提なので背景は塗らない */
}
.btn-solid-blue:hover{
	color: #F2F2F2;
	text-decoration: none;
}
.btn-solid-blue:active{
	transform: translateY(0);
	color: #F2F2F2;
	text-decoration: none;
}
.btn-solid-blue:focus-visible{
	color: #F2F2F2;
	text-decoration: none;
}

.btn-solid-blue-case {
	padding-left: 74px;
}







@media (max-width: 1024px){
	.pc_br {
		display: none;
	}
	.sp_br {
		display: block;
	}

	.top-section{
		height: 250px;
	}

	.top-section .top-bg {
		object-position: revert;
		width: 206%;
		height: auto;
		top: -80px;
		left: -70%;
	}

	.top-section::after {
		linear-gradient(270deg, rgba(0,0,0,.2) 0.02%, rgba(0,0,0,.41) 27.51%, rgba(0,0,0,.5) 50.66%)
	}

	.pankuzu-list {
		margin-bottom: 32px;
	}

	.top-section-inner {
		padding: 72px 24px 40px 24px;
	}

	.pankuzu-unit {
		color: #fff;
		font-family: Noto Sans JP;
		font-weight: 400;
		font-style: Regular;
		font-size: 12px;
		leading-trim: NONE;
		line-height: 150%;
		letter-spacing: 0%;
	}

	.top-title {
		font-family: Satoshi;
		font-weight: 500;
		font-style: Medium;
		font-size: 48px;
		leading-trim: NONE;
		line-height: 100%;
		letter-spacing: 0%;

		margin-bottom: 16px;
	}

	.top-title-sub {
		color: #fff;
		font-family: Noto Sans JP;
		font-weight: 500;
		font-style: Medium;
		font-size: 14px;
		leading-trim: NONE;
		line-height: 100%;
		letter-spacing: 0%;
	}

.case-list{
padding-bottom: 0px;
}

.case-section{
padding: 56px 24px;
padding-bottom: 10px;
}


.case-section .case-tab {
display: flex;
gap: 12px;
margin: 0 0 32px;
padding: 0;
list-style: none;
flex-wrap:wrap;
}

.case-item {
background-color: #fff;
margin: 0 0 40px 0;
width: 100%;
border-radius: 8px;
padding: 36px 16px;
}
.last-item {
margin: 0 0 0 0;
}

.genre-unit {
margin-bottom: 8px;
}

.swiper-slide.case-card {
aspect-ratio: 310/204;
width: 100%;
height: auto;
}

.case-headline {
gap: 40px;
display: flex;
flex-direction: column-reverse;
}

.case-head {
width: 100%;
margin-right: 0;
}

.case-issu {
display: block;
}

.case-title {
width: 100%;
}

.case-effect {
display: block;
}

.head-case-genre {
display: block;
}

.head-company-name {
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 14px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
margin-bottom: 8px;
}

.head-case-name {
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 18px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
margin-bottom: 16px;
}

.genre-type {
border-radius: 2px;
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 12px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
}

.genre-title {
font-family: Noto Sans JP;
font-weight: 400;
font-style: Regular;
font-size: 14px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
}

.case-swiper {
width: 310px;
padding-bottom: 44px;
margin: 0;
}


.case-image-slider {
width: 360px;
padding-bottom: 20px;
height: 258px;
}


.category-unit {
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 12px;
leading-trim: NONE;
line-height: 160%;
letter-spacing: 0%;
}

.category-unit {
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 12px;
leading-trim: NONE;
line-height: 160%;
letter-spacing: 0%;
padding: 1px 8px 3px 8px;
}


.case-line {
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 16px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
margin-bottom: 16px;
}

.case-title {
font-family: Noto Sans JP;
font-weight: 700;
font-style: Bold;
font-size: 14px;
leading-trim: NONE;
line-height: 140%;
letter-spacing: 0%;
}

.case-body {
font-family: Noto Sans JP;
font-weight: 400;
font-style: Regular;
font-size: 14px;
leading-trim: NONE;
line-height: 160%;
letter-spacing: 4%;
vertical-align: middle;
}





/* ボタン（共通） */
.case-section .case-tab li{
	flex:0 0 auto;       /* ← これがポイント */
	width:auto;          /* ← 25% を消す */
	margin:0;            /* gap で間隔管理 */
	white-space:nowrap;   /* 文字の途中で折り返さない */
}
.case-section .case-tab li A {
	border-radius:6px;
	font-weight:700;
	font-size:14px;
	white-space:nowrap;   /* 文字の途中で折り返さない */
}

/* 選択時 */
.case-section .case-tab li.active{
	flex:0 0 auto;       /* ← これがポイント */
	width:auto;          /* ← 25% を消す */
	margin:0;            /* gap で間隔管理 */
	white-space:nowrap;   /* 文字の途中で折り返さない */
}
.case-section .case-tab li.active A{
	border-radius:6px;
	font-weight:700;
	font-size:14px;
	white-space:nowrap;   /* 文字の途中で折り返さない */
}

.case-category {
position: relative;
}
.case-line {
margin-top: 48px;
position: relative;
}


  .pagination{
    display:flex;
    justify-content: space-evenly; /* ご希望どおり */
    align-items:center;
    gap:0;
    list-style:none;
    padding-left:0;
    text-align:center;
  }
  .pagination li{
    margin:0;        /* li ではサイズ指定しない */
    padding:0;
  }

  /* 数字・現在ページ（円形） */
  .pagination li > a.page-numbers,
  .pagination li > span.page-numbers{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    width:40px;
    height:40px;
    padding:0;
    font-weight:500;
    font-size:18px;
    color:#9C9C9C;
    text-decoration:none;
    border:1px solid #005EAD;
    border-radius:50%;
  }

  /* 現在ページ */
  .pagination li > span.page-numbers.current{
    background:#005EAD;
    color:#F2F2F2;
    border-color:#005EAD;
  }

  /* 前へ・次へ（WPは prev/next クラスを付与） */
  .pagination li > a.page-numbers.prev,
  .pagination li > a.page-numbers.next{
    width:40px;
    height:40px;
    font-size:12px;      /* 数字より小さめ */
    color:#005EAD;
  }

  /* 省略記号（…）は円にしない */
  .pagination li > span.page-numbers.dots{
    border:0;
    width:auto;
    height:auto;
    padding:0 6px;
    font-size:18px;
    color:#9C9C9C;
  }

#sp {
display: none;
}

.case-item {
padding-bottom: 0;
}
}
