@charset "utf-8";
main {
    margin-top: 94px;
	overflow-x: inherit;
}
@media (min-width: 1024px) {
	main {
		margin-top: 124px;
	}
}
.case_article {
    display: flex;
    flex-direction: row-reverse;
	width: 90%;
    max-width: 1100px;
    margin-inline: auto;
	padding-bottom: 80px;
	.case_article_main {
		/*width: 750px;*/
		flex: 1;
		h1 {
    		font-size: clamp(24px, 2.5vw, 36px);
			font-weight: 600;
			line-height: 1.4;
		}
		.company {
			margin: 16px 0;
			font-size: clamp(18px, 2.5vw, 24px);
		}
		h2 {
			margin-bottom: 1.5em;
			padding: 0.25em 0.5em;
			border-left: solid .25em var(--color-secondary);
			font-size: clamp(18px, 2.5vw, 28px);
			font-weight: 600;
		}
		h3 {
    		margin-top: 1.5em;
    		margin-bottom: 1.0em;
			font-size: clamp(16px, 2.5vw, 20px);
			font-weight: 600;
		}
		.read_text {
			margin: 2.0em 0;
			p {
                font-weight: 300;
				line-height: 2.0;
				& + p {
					margin-top: 1em;
				}
			}
		}
		.point {
			p {
				color: var(--color-secondary);
				font-size: clamp(18px, 2.5vw, 24px);
				font-weight: 600;
			}
			ul {
				margin-top: 1em;
				li {
					margin: 8px 0;
					padding: 16px;
					list-style: none;
					background-color: #fff;
					box-shadow: 0 4px 20px #e8f5ef;
					font-weight: 600;
				}
			}
		}
		.main_img {
			img {
				width: 100%;
			}
		}
		.main_text {
			margin-top: 64px;
			.paragraph {
				& + .paragraph {
					margin-top: 64px;
				}
				p {
                    font-weight: 300;
					line-height: 2;
					& + p {
						margin-top: 1.0em;
					}
				}
			}
			.notice {
				margin-top: 1.5em;
                font-weight: 300;
			}
		}
	}
	.case_article_aside {
		width: 340px;
		.company-card {
			position: sticky;
			top: 124px;
			margin-left: 16px;
			border: 1px solid #dfdfdf;
			border-radius: 8px;
			padding: 24px;
			/*width: 324px; */
			.company_img {
				img {
					display: block;
					width: 250px;
					margin-inline: auto;
					border-radius: 8px;
				}
			}
			.company_info {
				margin-top: 16px;
				p {
					display: flex;
					flex-flow: row wrap;
					gap: 8px;
                    font-weight: 300;
					.label {
						width: 40px;
						font-weight: 600;
					}
					.info {
						flex: 1;
					}
					& + p {
						margin-top: .5em;
					}
				}
			}
			.cta {
				margin-top: 24px;
				text-align: center;
				p {
					font-weight: 600;
				}
				a {
					display: inline-block;
					margin-top: 8px;
					padding: 8px 12px;
					width: 100%;
					background-color: var(--color-secondary);
					border-radius: 100vmax;
					color: #fff;
					font-size: 14px;
					font-weight: 700;
					&:hover {
						opacity: .7;
					}
				}
			}
		}
	}
}

@media (max-width: 768px) {
    .case_article {
        flex-direction: column-reverse;
		padding-bottom: 48px;
		.case_article_main {
			width: 100%;
			flex: inherit;
			.main_text {
				margin-top: 32px;
				.paragraph {
					& + .paragraph {
						margin-top: 32px;
					}
				}
			}
		}
		.case_article_aside {
			margin-top: 32px;
			width: 100%;
			.company-card {
				margin-left: 0;
				margin-inline: auto;
				max-width: 324px;
			}
			.cta {
				display: none;
			}
		}
	}
}