
* {
	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 */
/* ���C���r�W���A�� */
/* ------------------------------------------------------------------------ */
.top-section{
	position: relative;
	height: 488px;
	overflow: hidden;               /* �͂ݏo���h�~ */
}

.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;
}

/* �O���f�[�V�����͏�ɏd�˂� */
.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 */
/* ���C���R���e���c */
/* ------------------------------------------------------------------------ */
.case-section {
	/*padding: 100px 193px;*/
	padding: 100px 173px 100px 190px;
	background-color: #F3F8FC;
	padding-top: 80px;
}
/* LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL */
/* �I���^�u */
/* ------------------------------------------------------------------------ */
.case-section .case-tab {
	display: flex;
	margin: 0;
	gap: 16px;
	margin: 0 0 64px 0;
	flex-wrap: wrap;
}

.case-section .case-tab li {
	/*flex: auto;*/
	flex: 0 0 calc((100% - 3 * 16px) / 4);

	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: flex;
	justify-content: center;
	align-items: center;
	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: flex;
	justify-content: center;
	align-items: center;
	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 */
/* �L�����X�g */
/* ------------------------------------------------------------------------ */
.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 */

/* �R���e�i */
.pagination{
	display:flex;
	justify-content:center;
	align-items:center;
	gap:18px;               /* li �� margin �̑���ɊԊu�𐧌� */
	list-style:none;
	padding-left:0;

	font-family: Satoshi;
	font-weight: 500;
	font-style: Medium;
	font-size: 24px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0%;

}
.pagination li{ margin:0; }

/* �����E���݃y�[�W�iWP�̏o�̓N���X�ɍ��킹��j */
.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:none;
	border-radius:50%;

	font-family: Satoshi;
	font-weight: 500;
	font-style: Medium;
	font-size: 24px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0%;

}

/* ���݃y�[�W */
.pagination li > span.page-numbers.current{
	background:#005EAD;
	color:#F2F2F2;
	border-color:#005EAD;
	border:1px solid #005EAD;

	font-family: Satoshi;
	font-weight: 500;
	font-style: Medium;
	font-size: 24px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0%;

	border:1px solid #005EAD;

}


/* �O��/���ցi�����߁E�]�������d�l�Ɂj */
.pagination li > a.page-numbers.prev,
.pagination li > a.page-numbers.next{
	width:50px;
	height:50px;
	font-size:14px;
	color:#005EAD;
	border:1px solid #005EAD;

	font-family: Satoshi;
	font-weight: 500;
	font-style: Medium;
	font-size: 24px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0%;

	border:1px solid #005EAD;
}

/* ��CSS�� margin-right/left �� prev/next �ɑΉ������� */
.pagination a.page-numbers.prev{ margin-right:20px; }
.pagination a.page-numbers.next{ margin-left:20px; }

/* �ȗ��L���i�c�j�͉~�`�ɂ��Ȃ� */
.pagination li > span.page-numbers.dots{
	border:0;
	width:auto;
	height:auto;
	padding:14px 6px;
	font-size:24px;
	color:#9C9C9C;

	font-family: Satoshi;
	font-weight: 500;
	font-style: Medium;
	font-size: 24px;
	leading-trim: NONE;
	line-height: 100%;
	letter-spacing: 0%;

	  border:none;
}


.pagination li A:hover,
.pagination li A:active,
.pagination li A:focus {
	text-decoration: none;
}

.pagination_pc {
	display: flex;
}
.pagination_sp {
	display: none;
}




@media (max-width: 1024px){

	.pagination li > a.page-numbers.prev{
		margin-right: 10px;

	}
	.pagination li > a.page-numbers.next{
		margin-left: 10px;
	}
	.pc_br {
		display: none;
	}
	.sp_br {
		display: block;
	}

	.top-section{
		height: 390px;
	}

	.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%;
	}

	.top-title-area-right {
		flex: 0 1 544px;
		margin-top: 70px;
		margin-left: auto;
	}

	.top-title-area {
		display: block;
	}


	.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-section .case-tab li {
		flex: auto;
	}

	.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;
		margin: 0 auto;
	}

	.case-image-slider {
		width: 360px;
		padding-bottom: 20px;
		height: 258px;
		margin: 0 auto;
	}

	.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;
	}

	/* �{�^���i���ʁj */
	.case-section .case-tab li{
		flex:0 0 auto;       /* �� ���ꂪ�|�C���g */
		width:auto;          /* �� 25% ������ */
		margin:0;            /* gap �ŊԊu�Ǘ� */
		white-space:nowrap;   /* �����̓r���Ő܂�Ԃ��Ȃ� */
	}
	.case-section .case-tab li A {
		border-radius:6px;
		font-weight:700;
		font-size:14px;
		white-space:nowrap;   /* �����̓r���Ő܂�Ԃ��Ȃ� */
	}

	/* �I���� */
	.case-section .case-tab li.active{
		flex:0 0 auto;       /* �� ���ꂪ�|�C���g */
		width:auto;          /* �� 25% ������ */
		margin:0;            /* gap �ŊԊu�Ǘ� */
		white-space:nowrap;   /* �����̓r���Ő܂�Ԃ��Ȃ� */
	}
	.case-section .case-tab li.active A{
		border-radius:6px;
		font-weight:700;
		font-size:14px;
		white-space:nowrap;   /* �����̓r���Ő܂�Ԃ��Ȃ� */
	}

	.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 �ł̓T�C�Y�w�肵�Ȃ� */
		padding:0;
	}

	/* �����E���݃y�[�W�i�~�`�j */
	.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:none
		border-radius:50%;
	}

	/* ���݃y�[�W */
	.pagination li > span.page-numbers.current{
		background:#005EAD;
		color:#F2F2F2;
		border-color:#005EAD;
		border:1px solid #005EAD;
	}

	/* �O�ցE���ցiWP�� prev/next �N���X��t�^�j */
	.pagination li > a.page-numbers.prev,
	.pagination li > a.page-numbers.next{
		width:40px;
		height:40px;
		font-size:12px;      /* ������菬���� */
		color:#005EAD;
	}

	/* �ȗ��L���i�c�j�͉~�ɂ��Ȃ� */
	.pagination li > span.page-numbers.dots{
		border:0;
		width:auto;
		height:auto;
		padding:0 6px;
		font-size:18px;
		color:#9C9C9C;
		border:none;
	}


	.top-title-area-right {
		margin-top: 40px;

		font-family: Noto Sans JP;
		font-weight: 400;
		font-style: Regular;
		font-size: 14px;
		leading-trim: NONE;
		line-height: 180%;
		letter-spacing: 0%;
	}

	.top-section {
		height: 380px;
	}

	.top-text {
		color: #fff;
		font-family: Noto Sans JP;
		font-weight: 300;
		font-style: Regular;
		font-size: 14px;
		leading-trim: NONE;
		line-height: 180%;
		letter-spacing: 0%;
		padding-left: 48px;
	}

	.pagination_pc {
		display: none;
	}
	.pagination_sp {
		display: flex;
	}



	#sp {
		display: none;
	}

	.case-item {
		padding-bottom: 0;
	}
}

