@charset "UTF-8";

.c-page-header-wrapper {
	padding-block-start: 24px;
	padding-inline: 10px;
	display: grid;
	align-items: center;
	grid-template-columns: 1fr 360px;
}

.c-page-header-wrapper > * {
	position: relative;
	z-index: 2;
}

.c-page-header-wrapper::after {
	content: '';
	position: absolute;
	inset: 0;
	z-index: 1;
	margin-inline: -140px;
	background-image: url(../images/top/background-mainvisual.svg);
	background-size: 100%;
	background-repeat: no-repeat;
	background-position: center bottom;
}

.c-page-header-wrapper .c-page-header {
	padding-block-end: 12px;
	padding-inline-start: 24px;
}

.c-page-header-wrapper .c-page-header > * {
	position: relative;
	z-index: 2;
}

.c-page-header-wrapper .c-page-header:has(.c-page-header-lead) {
	padding-block-start: 3px;
	display: grid;
	row-gap: 12px;
}

.c-page-header-wrapper .c-page-header:has(.c-page-header-lead) .c-page-header-lead {
	color: #a5baf2;
	font-size: 1rem;
	letter-spacing: 2%;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-title {
	margin-block-end: 8px;
	padding-inline-start: 12px;
	color: #e0e4f8;
	font-weight: 600;
	font-size: 0.875rem;
	letter-spacing: 2%;
	position: relative;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-title::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	border-radius: 100px;
	width: 4px;
	height: 1.1428571429em;
	z-index: 1;
	background-color: currentcolor;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-wrapper {
	padding-inline-start: 0;
	list-style-type: '';
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-item > a {
	padding-block: 8px;
	padding-inline: 8px 16px;
	border-radius: 12px;
	display: grid;
	align-items: start;
	grid-template-columns: 150px 1fr;
	-moz-column-gap: 12px;
	column-gap: 12px;
	background-color: #fff;
	text-decoration: none;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-item > a .c-page-header-latest-slider-item-image {
	border-radius: 12px;
	overflow: hidden;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-item > a .c-page-header-latest-slider-item-image img {
	width: 100%;
	aspect-ratio: 150/130;
	-o-object-fit: cover;
	object-fit: cover;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-item > a .c-page-header-latest-slider-item-text .c-page-header-latest-slider-item-title,
.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-item > a .c-page-header-latest-slider-item-text .c-page-header-latest-slider-item-excerpt {
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-item > a .c-page-header-latest-slider-item-text .c-page-header-latest-slider-item-title {
	margin-block: 4px;
	color: #1f3566;
	font-weight: 600;
	font-size: 0.875rem;
	letter-spacing: 2%;
	max-height: 3lh;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-item > a .c-page-header-latest-slider-item-text .c-page-header-latest-slider-item-excerpt {
	color: #4d4d4d;
	font-size: 0.75rem;
	letter-spacing: 2%;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-item > a .c-page-header-latest-slider-item-text .c-page-header-latest-slider-item-tags {
	padding-block-start: 18px;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-item > a:hover .c-page-header-latest-slider-item-title {
	color: #0c85f0;
	text-decoration: underline;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-item-pagination {
	position: static;
	margin-block-start: 12px;
	padding-block-end: 12px;
	padding-inline-start: 16px;
	display: flex;
	gap: 12px;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-item-pagination > * {
	margin-inline: 0;
	width: 8px;
	height: 8px;
	border-radius: 100%;
	background-color: #476fc6;
	opacity: 1;
}

.c-page-header-wrapper .c-page-header-latest .c-page-header-latest-slider .c-page-header-latest-slider-item-pagination > *.swiper-pagination-bullet-active {
	background-color: #f5f6fa;
}

.c-page-header-wrapper .c-page-header-note {
	grid-column: 1/-1;
	padding-block-end: 6px;
	padding-inline-start: 1em;
	line-height: 1.4;
	color: #7792d4;
	font-size: 0.625rem;
	letter-spacing: 2%;
	position: relative;
}

.c-page-header-wrapper .c-page-header-note::before {
	content: '※';
	position: absolute;
	top: 0;
	left: 0;
}

.c-header-nav-main {
	grid-column: 1/-1;
	margin-block-end: 32px;
	margin-inline: calc(50% - 50cqi);
	border-block-start: 0;
	border-block-end: 1px solid #e5e5e5;
	background-color: #fff;
}

.c-collections {
	padding-block: 24px 32px;
	display: grid;
	row-gap: 32px;
}

.c-collections .c-collection .c-collection-header {
	padding-block: 24px 12px;
}

.c-collections .c-collection .c-collection-header > h2 {
	padding-inline-start: 16px;
	line-height: 1.4166666667;
	color: #1f3566;
	font-weight: 600;
	font-size: 1.5rem;
	position: relative;
}

.c-collections .c-collection .c-collection-header > h2::before {
	content: '';
	position: absolute;
	top: 5px;
	bottom: 5px;
	left: 0;
	border-radius: 100px;
	width: 4px;
	background-color: #e5e5e5;
}

.c-collection-steps {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	-moz-column-gap: 4px;
	column-gap: 4px;
}

.c-collection-steps .c-collection-step {
	background-color: #fff;
}

.c-collection-steps .c-collection-step > dl {
	border-radius: 4px;
	overflow: hidden;
}

.c-collection-steps .c-collection-step > dl > dt > a {
	display: grid;
	text-decoration: none;
}

.c-collection-steps .c-collection-step > dl > dt > a .c-collection-step-image {
	grid-column: 1;
	grid-row: 1;
}

.c-collection-steps .c-collection-step > dl > dt > a .c-collection-step-image > img {
	width: 100%;
}

.c-collection-steps .c-collection-step > dl > dt > a .c-collection-step-number {
	grid-column: 1;
	grid-row: 1;
	place-self: start;
	padding-block: 4px;
	padding-inline: 12px 22px;
	border-bottom-right-radius: 10px;
	display: flex;
	align-items: center;
	line-height: 1.3;
	color: #fff;
	background-color: #1156bd;
	font-family: roboto, sans-serif;
	font-weight: 700;
	font-size: 0.6875rem;
	letter-spacing: 2%;
}

.c-collection-steps .c-collection-step > dl > dt > a .c-collection-step-number > span:last-child {
	display: flex;
	align-items: center;
}

.c-collection-steps .c-collection-step > dl > dt > a .c-collection-step-number > span:last-child::before {
	content: '';
	margin-inline: 4px;
	display: block;
	width: 1px;
	height: 8px;
	background-color: currentcolor;
}

.c-collection-steps .c-collection-step > dl > dt > a .c-collection-step-title {
	grid-column: 1;
	grid-row: 2;
	padding-block: 12px 8px;
	padding-inline: 16px;
	line-height: 1.375;
	color: #1156bd;
	font-weight: 600;
	font-size: 1rem;
}

.c-collection-steps .c-collection-step > dl > dd > .rag-arrow-list > .rag-arrow-list-item {
	border-block-end: 1px solid #e5e5e5;
}

.c-collection-steps .c-collection-step > dl > dd > .rag-arrow-list > .rag-arrow-list-item > .rag-arrow-list-item-link {
	padding-block: 4px;
	padding-inline: 16px 8px;
}

.c-collection-points > dl {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 16px 12px;
}

.c-collection-points > dl > div > dt {
	border-block-end: 1px solid #1156bd;
}

.c-collection-points > dl > div > dt > a {
	padding-block: 12px 8px;
	padding-inline: 16px;
	display: grid;
	align-items: center;
	grid-template-columns: 24px 1fr;
	-moz-column-gap: 12px;
	column-gap: 12px;
	line-height: 1.3888888889;
	color: #1156bd;
	font-weight: 600;
	font-size: 1.125rem;
	text-decoration: none;
}

.c-collection-points > dl > div > dd {
	margin-block-start: 4px;
}

.c-collection-points > dl > div > dd > .rag-arrow-list > .rag-arrow-list-item > .rag-arrow-list-item-link {
	padding-block: 4px;
	padding-inline: 16px 8px;
}
