@charset "UTF-8";
/* --------------------
progress
---------------------*/
.progress-table_heading {
	display: none;
}

.progress-cols {
	display: flex;
	justify-content: space-between;
}

.progress-col_year {
	position: relative;
	text-align: center;
	width: 71px;
	padding: 0;
	font-size: 18px;
	line-height: 1;
	font-weight: bold;
	font-family: "M PLUS Rounded 1c";
	transform: rotate(0.03deg);
	color: #1546A9;
	left: -10px;
	z-index: 2;
}

.progress-col_year .year_sub {
	display: inline-block;
	font-size: 11px;
}

.progress-col_year::after {
	content: '';
	width: 18px;
	height: 18px;
	border-radius: 50%;
	position: absolute;
	right: -21px;
	top: 0;
	background-color: #fff;
	border: #1546A9 solid 3px;
}

.progress-col_summarys {
	position: relative;
	width: calc(100% - 71px);
	margin-left: 0;
	border-left: 3px solid #1546A9;
	z-index: 1;
	padding: 10px 0 5px 21px;
}

.summary {
	position: relative;
	margin: 0;
	font-size: 13px;
	font-size: 1.3rem;
	line-height: 1.6;
}

.summary::before {
	position: absolute;
	display: block;
	left: 0;
	top: -10px;
	color: #fff;
	border-radius: 10px;
	padding: 0 10px;
	height: 20px;
	font-family: "M PLUS Rounded 1c";
	transform: rotate(0.03deg);
	font-size: 10px;
	line-height: 20px;
	font-weight: bold;
}

.summary_1 .summary_content {
	background-color: #D4F2D0;
}

.summary_1::before {
	content: "札幌研究所";
	background-color: #71C065;
}

.summary_2 .summary_content {
	background-color: #E2F3FF;
}

.summary_2::before {
	content: "ミルクサイエンス研究所";
	background-color: #00B4F5;
}

.summary_3 .summary_content {
	background-color: #C5F2F1;
}

.summary_3::before {
	content: "チーズ研究所";
	background-color: #4CCFCC;
}

.summary_none::before {
	display: none;
}

.summary_content {
	border-radius: 6px;
	text-align: center;
	padding: 8px;
	display: flex;
	flex-direction: column;
	margin-bottom: 25px;
}

.summary_text {
	height: 58px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: -8px;
}

.summary_img {
	display: inline-block;
	border-radius: 4px;
	width: 100%;
	overflow: hidden;
	margin-top: 8px;
}

@media (min-width: 768px) {
	.progress-table {
		padding-top: 0;
	}
	.progress-table_heading {
		display: block;
		width: calc(100% - 128px);
		margin-left: auto;
	}
	.laboratorys {
		display: flex;
		padding-left: 32px;
		margin-left: auto;
		justify-content: space-between;
		margin-bottom: 55px;
		font-family: "M PLUS Rounded 1c";
		transform: rotate(0.03deg);
	}
	.laboratory {
		width: 240px;
		text-align: center;
		color: #fff;
		border-radius: 20px;
		height: 40px;
		line-height: 40px;
		margin-left: 40px;
	}
	.laboratory:nth-of-type(1) {
		margin-left: 0;
	}
	.laboratory_1 {
		background-color: #71C065;
	}
	.laboratory_2 {
		background-color: #00B4F5;
	}
	.laboratory_3 {
		background-color: #4CCFCC;
	}
	.progress-row:last-of-type .progress-col_summarys {
		padding-bottom: 50px;
	}
	.progress-col_year {
		width: 137px;
		padding: 0 0 0 25px;
		font-size: 24px;
	}
	.progress-col_year .year_text {
		width: auto;
	}
	.progress-col_year .year_sub {
		font-size: 11px;
		position: relative;
		top: -8px;
	}
	.progress-col_year::after {
		width: 25px;
		height: 25px;
		right: -25px;
		border: #1546A9 solid 5px;
	}
	.progress-col_summarys {
		width: calc(100% - 122px);
		border-left: 6px solid #1546A9;
		display: flex;
		justify-content: flex-start;
		padding: 0 0 15px 32px;
	}
	.summary {
		position: relative;
		border-radius: 6px;
		padding: 0;
		margin: 0 0 0 40px;
		font-size: 14px;
		font-size: 1.4rem;
		line-height: 1.6;
		width: 240px;
		top: -15px;
	}
	.summary::before {
		display: none;
	}
	.summary:nth-of-type(1) {
		margin-left: 0;
	}
	.summary_none {
		height: 0;
	}
	.summary_arrow {
		height: 100%;
	}
	.summary_arrow .summary_content::before,
	.summary_arrow .summary_content::after {
		content: "";
		display: block;
		position: absolute;
		z-index: 1;
		margin: auto;
		border-radius: 0;
		padding: 0;
	}
	.summary_arrow .summary_content::before {
		left: 50%;
		bottom: -10px;
		-webkit-transform: translateX(-50%) translateY(100%) rotate(45deg);
		transform: translateX(-50%) translateY(100%) rotate(45deg);
		width: 6px;
		height: 6px;
		background-color: transparent;
		border: 1px solid #D8D8D8;
		border-left: 1px solid transparent;
		border-top: 1px solid transparent;
		box-sizing: content-box;
		vertical-align: middle;
	}
	.summary_arrow .summary_content::after {
		left: 50%;
		top: inherit;
		bottom: -10px;
		-webkit-transform: translate(-50%, 100%);
		transform: translate(-50%, 100%);
		width: 2px;
		background-color: #D8D8D8;
	}
	.summary_arrow.summary_1_2 .summary_content::before {
		bottom: -139px;
	}
	.summary_arrow.summary_1_2 .summary_content::after {
		height: 139px;
	}
	.summary_arrow.summary_2_6 .summary_content::before {
		bottom: -143px;
	}
	.summary_arrow.summary_2_6 .summary_content::after {
		height: 143px;
	}
	.summary_arrow.summary_1_6 .summary_content::before {
		bottom: -479px;
	}
	.summary_arrow.summary_1_6 .summary_content::after {
		height: 479px;
	}
	.summary_arrow.summary_2_8 .summary_content::before {
		bottom: -139px;
	}
	.summary_arrow.summary_2_8 .summary_content::after {
		height: 139px;
	}
	.summary_arrow.summary_1_10 .summary_content::before {
		bottom: -125px;
	}
	.summary_arrow.summary_1_10 .summary_content::after {
		height: 125px;
	}
	.summary_arrow.summary_2_11 .summary_content::before {
		bottom: -53px;
	}
	.summary_arrow.summary_2_11 .summary_content::after {
		height: 53px;
	}
	.summary_arrow.summary_3_9 .summary_content::before {
		bottom: -200px;
	}
	.summary_arrow.summary_3_9 .summary_content::after {
		height: 200px;
	}
	.summary_content {
		margin-bottom: 0;
		position: relative;
		padding-top: 0;
		z-index: 2;
	}
	.summary_img {
		margin-top: 8px;
		overflow: hidden;
		font-size: 0;
	}
	.summary_img img {
		display: block;
		width: 100%;
		max-height: 145px;
	}
}
