/*  ========================
    *********  Topics section  *********
=============================================  */
.box_type01 {
	max-width: 1000px;
	margin: var(--gutter-6x) auto 0;
	padding: var(--gutter-5x);
	background-color: var(--white);
	border: 1px solid var(--gray-medium);
	border-radius: var(--border-radius-medium);
}

.box_type01__inner {
	display: flex;
	align-items: center;
	gap: var(--gutter-4x);
}

.box_type01__media {
	flex: 0 0 50%;
}

.box_type01__img {
	width: 100%;
	border-radius: var(--border-radius-small);
}

.box_type01__content {
	flex: 1;
}

.box_type01__label {
	display: inline-block;
	background-color: var(--primary-dark);
	color: var(--white);
	font-size: var(--font-size-12);
	padding: 4px var(--gutter-1x);
	border-radius: 2px;
	margin-right: 0.5em;
	vertical-align: middle;
}

.box_type01__title {
	margin: 0 0 var(--gutter-2x);
	font-weight: 700;
	line-height: 1.2;
	font-size: var(--font-size-20);
	color: var(--primary-dark);
	display: flex;
	align-items: center;
}

.box_type01__description p {
	font-size: var(--font-size-16);
	line-height: 1.6;
}

.box_type01__description p:last-child {
	margin-bottom: var(--gutter-3x);
}

.box_type01__cta {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	width: fit-content;
	font-weight: 500;
	text-decoration: none;
	border-bottom: 1px solid currentColor;
	transition: color var(--transition-fast), border-color var(--transition-fast);
	color: var(--black);
	font-size: var(--font-size-14);
}

.box_type01__cta:hover {
	color: var(--primary-color);
	border-color: var(--primary-color);
}

.box_type01__arrow {
	margin-left: 0.25em;
	transition: transform var(--transition-fast);
}

.box_type01__cta:hover .box_type01__arrow {
	transform: translateX(4px);
}

/*  ========================
    *********  SP Responsive  *********
=============================================  */
@media screen and (max-width: 768px) {
	.box_type01 {
		width: 90%;
		margin: var(--gutter-8x) auto 0;
		padding: var(--gutter-4x) var(--gutter-3x);
	}
	.box_type01__inner {
		flex-direction: column;
	}
	.box_type01__media {
		flex: none;
	}
}