@charset "UTF-8";
#case_block {
	position: relative;
}
@media screen and (min-width: 769px) {
	#case_block {
		padding: clamp(0px, 10.204081632653061vw, 120px) 0;
	}
}
@media screen and (max-width: 768px) {
	#case_block {
		padding: clamp(0px, 21.333333333333336vw, 80px) 0;
	}
}
.case_title {
	border-bottom: 1px dashed #888;
	font-weight: 700;
}
@media screen and (min-width: 769px) {
	.case_title {
		padding-bottom: clamp(0px, 3.741496598639456vw, 44px);
		font-size: clamp(0.75rem, 2.72108843537415vw, 2rem);
		line-height: clamp(0.75rem, 3.741496598639456vw, 2.75rem);
	}
}
@media screen and (max-width: 768px) {
	.case_title {
		padding-bottom: clamp(0px, 9.6vw, 36px);
		font-size: clamp(0.75rem, 6.4vw, 1.5rem);
		line-height: clamp(0.75rem, 8.533333333333333vw, 2rem);
	}
}
@media screen and (min-width: 769px) {
	.case_thumbnail {
		margin-bottom: clamp(0px, 4.081632653061225vw, 48px);
	}
	.case_thumbnail img {
		border-radius: clamp(0px, 3.401360544217687vw, 40px);
	}
}
@media screen and (max-width: 768px) {
	.case_thumbnail {
		margin-bottom: clamp(0px, 10.666666666666668vw, 40px);
	}
	.case_thumbnail img {
		border-radius: clamp(0px, 4.266666666666667vw, 16px);
	}
}
.case_summary_head {
	font-weight: 700;
}
.case_summary_table dl {
	border-bottom: 1px dashed #888;
}
.case_summary_table dl:first-child {
	border-top: 1px dashed #888;
}
.case_summary_table dt {
	font-weight: 700;
}
@media screen and (min-width: 769px) {
	.case_summary_head {
		margin-bottom: clamp(0px, 2.040816326530612vw, 24px);
		font-size: clamp(0.75rem, 1.530612244897959vw, 1.125rem);
	}
	.case_summary_table {
		font-size: clamp(0.75rem, 1.360544217687075vw, 1rem);
		line-height: clamp(0.75rem, 2.551020408163265vw, 1.875rem);
	}
	.case_summary_table dl {
		display: -webkit-box;
		display:    -moz-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         box;
		display:         flex;
		padding: clamp(0px, 2.551020408163265vw, 30px) 0;
	}
	.case_summary_table dt {
		width: calc((160 / 800) * 100%);

		-webkit-flex-shrink: 0;
		        flex-shrink: 0;
	}
	.case_summary_table dd {
		width: auto;
	}
}
@media screen and (max-width: 768px) {
	.case_summary_table {
		font-size: clamp(0.75rem, 3.733333333333334vw, 0.875rem);
		line-height: clamp(0.75rem, 6.4vw, 1.5rem);
	}
	.case_summary_table dl {
		padding: clamp(0px, 8vw, 30px) 0;
	}
	.case_summary_table dl + dl {
		border-top: 1px dashed #888;
	}
	.case_summary_table dt:first-child, .case_summary_table dd:first-child {
		margin-bottom: 1em;
	}
}
.case_button {
	display: block;
	height: 100%;
	border: 2px solid #eee;
	border-radius: 6px;
	background-color: #eee;
	-webkit-transition-duration: 0.3s;
	   -moz-transition-duration: 0.3s;
	    -ms-transition-duration: 0.3s;
	     -o-transition-duration: 0.3s;
	        transition-duration: 0.3s;
	-webkit-transition-property: color, background-color, border-color;
	   -moz-transition-property: color, background-color, border-color;
	    -ms-transition-property: color, background-color, border-color;
	     -o-transition-property: color, background-color, border-color;
	        transition-property: color, background-color, border-color;
}
.case_buttons_box {
	display: -webkit-box;
	display:    -moz-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         box;
	display:         flex;
}
.case_button_inner {
	height: 100%;
}
.case_button_icon {
	-webkit-flex-shrink: 0;
	        flex-shrink: 0;
}
.case_button_icon svg {
	display: block;
}
.case_button_icon .icon_report_back {
	fill: #fff;
}
.case_button_icon .icon_report_path {
	fill: currentColor;
}
.case_button_icon .icon_yt_back {
	fill: #e60012;
}
.case_button_icon .icon_yt_front {
	fill: #fff;
}
.case_button:hover {
	border-color: #e60012;
	background-color: #fff;
	color: #e60012;
}
@media screen and (min-width: 769px) {
	.case_button {
		padding: clamp(0px, 0.76530612244898vw, 9px) 0;
	}
	.case_buttons {
		margin-top: clamp(0px, 2.72108843537415vw, 32px);
	}
	.case_button_container {
		width: clamp(0px, 13.60544217687075vw, 160px);
	}
	.case_button_container + .case_button_container {
		margin-left: clamp(0px, 1.020408163265306vw, 12px);
	}
	.case_button_inner {
		display: -webkit-box;
		display:    -moz-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         box;
		display:         flex;

		-webkit-align-items: center;
		        align-items: center;
		-webkit-box-align: center;
		   -moz-box-align: center;
		     -o-box-align: center;
		-webkit-box-pack: center;
		   -moz-box-pack: center;
		     -o-box-pack: center;
		-ms-flex-align: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;
	}
	.case_button_icon {
		width: clamp(0.75rem, 1.530612244897959vw, 1.125rem);
	}
	.case_button_label {
		padding-left: 0.8em;
		font-size: clamp(1px, 1.020408163265306vw, 0.75rem);
		line-height: clamp(0.75rem, 1.530612244897959vw, 1.125rem);
	}
}
@media screen and (max-width: 768px) {
	.case_button {
		padding: clamp(0px, 2.666666666666667vw, 10px) 0 clamp(0px, 3.2vw, 12px);
		text-align: center;
	}
	.case_buttons {
		margin-top: clamp(0px, 6.4vw, 24px);
	}
	.case_buttons_box {
		-webkit-box-lines: multiple;
		   -moz-box-lines: multiple;
		     -o-box-lines: multiple;
		-webkit-box-pack: justify;
		   -moz-box-pack: justify;
		     -o-box-pack: justify;
		-ms-flex-pack: justify;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
	}
	.case_button_container {
		width: calc((150 / 315) * 100%);
	}
	.case_button_container:first-child:last-child, .case_button_container_yt:nth-child(n+3) {
		width: 100%;
		margin-left: 0;
	}
	.case_button_container:nth-child(n+3) {
		margin-top: clamp(0px, 3.2vw, 12px);
	}
	.case_button_icon {
		display: block;
		margin-bottom: clamp(0px, 1.333333333333333vw, 5px);
	}
	.case_button_icon svg {
		width: clamp(0px, 6.4vw, 24px);
		margin: 0 auto;
	}
}
.case_content * {
	max-width: 100%;
}
.case_content h2 {
	font-weight: 700;
}
.case_content img {
	display: block;
}
.case_content a {
	text-decoration: underline;
}
.case_content a:hover {
	opacity: 0.6;

	-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
	    filter: alpha(opacity=60);
}
.case_content a[target="_blank"]:after {
	display: inline-block;
	width: 9px;
	height: 1lh;
	margin: 0 0.25em 0 0.5em;
	background-image: url("../images/global/external_icon.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
	vertical-align: bottom;
	content: "";
}
.case_content .wp-caption img {
	margin: 0;
}
.case_content .wp-caption-text {
	margin-top: 1em;
}
.case_content table th:first-child, .case_content table td:first-child {
	font-weight: 700;
}
.case_content > img:first-child, .case_content .wp-caption:first-child {
	margin-top: 0;
}
.case_content > img:last-child, .case_content .wp-caption:last-child {
	margin-bottom: 0;
}
.case_content > *:first-child img {
	margin-top: 0;
}
@media screen and (min-width: 769px) {
	.case_content {
		margin-top: clamp(0px, 5.102040816326531vw, 60px);
		font-size: clamp(0.75rem, 1.360544217687075vw, 1rem);
		line-height: clamp(0.75rem, 2.551020408163265vw, 1.875rem);
	}
	.case_content_block {
		padding: clamp(0px, 4.081632653061225vw, 48px) 0;
	}
	.case_content_container {
		max-width: 800px;
		margin: 0 auto;
	}
	.case_content p + p, .case_content img + p, .case_content table + p, .case_content h2 + p, .case_content p + table, .case_content img + table, .case_content table + table, .case_content h2 + table, .case_content p + h2, .case_content img + h2, .case_content table + h2, .case_content h2 + h2 {
		margin-top: clamp(0.75rem, 2.551020408163265vw, 1.875rem);
	}
	.case_content h2 {
		margin-bottom: clamp(0px, 1.700680272108844vw, 20px);
		font-size: clamp(0.75rem, 2.040816326530612vw, 1.5rem);
		line-height: clamp(0.75rem, 2.72108843537415vw, 2rem);
	}
	.case_content table tr th, .case_content table tr td {
		border-bottom: 1px dashed #888;
	}
	.case_content table tr:first-child th, .case_content table tr:first-child td {
		border-top: 1px dashed #888;
	}
	.case_content table th, .case_content table td {
		padding: clamp(0px, 2.551020408163265vw, 30px) 0;
	}
	.case_content table th:first-child, .case_content table td:first-child {
		width: calc((160 / 800) * 100%) !important;
		padding-right: 1em;
	}
	.case_content table th:nth-child(n+2), .case_content table td:nth-child(n+2) {
		width: auto !important;
	}
	.case_content .wp-caption-text {
		font-size: clamp(0.625rem, 1.020408163265306vw, 0.75rem);
		line-height: clamp(0.75rem, 1.360544217687075vw, 1rem);
	}
	.case_content img, .case_content .wp-caption {
		margin: clamp(0px, 3.401360544217687vw, 40px) 0;
	}
	.case_content img {
		border-radius: clamp(0px, 3.401360544217687vw, 40px);
	}
}
@media screen and (max-width: 768px) {
	.case_content {
		margin-top: clamp(0px, 10.666666666666668vw, 40px);
		font-size: clamp(0.75rem, 3.733333333333334vw, 0.875rem);
		line-height: clamp(0.75rem, 6.4vw, 1.5rem);
	}
	.case_content_block {
		padding: clamp(0px, 10.666666666666668vw, 40px) 0;
	}
	.case_content p + p, .case_content img + p, .case_content table + p, .case_content h2 + p, .case_content p + table, .case_content img + table, .case_content table + table, .case_content h2 + table, .case_content p + h2, .case_content img + h2, .case_content table + h2, .case_content h2 + h2 {
		margin-top: clamp(0.75rem, 9.6vw, 2.25rem);
	}
	.case_content h2 {
		margin-bottom: clamp(0px, 5.333333333333334vw, 20px);
		font-size: clamp(0.75rem, 5.333333333333334vw, 1.25rem);
		line-height: clamp(0.75rem, 7.466666666666668vw, 1.75rem);
	}
	.case_content table {
		display: block;
		width: auto !important;
		height: auto !important;
	}
	.case_content table * {
		display: block;
		width: auto !important;
		height: auto !important;
	}
	.case_content table tr {
		padding: clamp(0px, 8vw, 30px) 0;
	}
	.case_content table tr + tr {
		border-top: 1px dashed #888;
	}
	.case_content table th:first-child, .case_content table td:first-child {
		margin-bottom: 1em;
	}
	.case_content .wp-caption-text {
		font-size: 0.625rem;
		line-height: clamp(0.75rem, 4.266666666666667vw, 1rem);
	}
	.case_content img, .case_content .wp-caption {
		margin: clamp(0px, 9.6vw, 36px) 0;
	}
	.case_content img {
		border-radius: clamp(0px, 4.266666666666667vw, 16px);
	}
}
.case_sns_container {
	border-block: 1px dashed #888;
}
.case_sns_container_box {
	display: -webkit-box;
	display:    -moz-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         box;
	display:         flex;

	-webkit-box-pack: center;
	   -moz-box-pack: center;
	     -o-box-pack: center;
	-ms-flex-pack: center;
	-webkit-justify-content: center;
	        justify-content: center;
}
.case_sns_link {
	display: -webkit-box;
	display:    -moz-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         box;
	display:         flex;
}
.case_sns_link:hover .case_sns_link_label {
	color: #e60012;
}
.case_sns_link_icon img {
	height: 100%;
}
.case_sns_link_label {
	padding-left: 1em;
}
@media screen and (min-width: 769px) {
	.case_sns_container {
		margin-bottom: clamp(0px, 4.081632653061225vw, 48px);

		padding-block: clamp(0px, 4.081632653061225vw, 48px);
	}
	.case_sns + .case_sns {
		margin-left: clamp(0px, 4.081632653061225vw, 48px);
	}
	.case_sns_link_icon {
		height: clamp(0.75rem, 2.040816326530612vw, 1.5rem);
	}
	.case_sns_link_label {
		font-size: clamp(0.75rem, 1.19047619047619vw, 0.875rem);
		line-height: clamp(0.75rem, 2.040816326530612vw, 1.5rem);
	}
}
@media screen and (max-width: 768px) {
	.case_sns_container {
		margin-bottom: clamp(0px, 6.4vw, 24px);

		padding-block: clamp(0px, 6.4vw, 24px);
	}
	.case_sns_link_icon {
		height: clamp(0.75rem, 6.4vw, 1.5rem);
	}
	.case_sns_link_label {
		font-size: clamp(0.75rem, 3.733333333333334vw, 0.875rem);
		line-height: clamp(0.75rem, 6.4vw, 1.5rem);
	}
}
@media screen and (min-width: 500px) and (max-width: 768px) {
	.case_sns + .case_sns {
		margin-left: clamp(0px, 12.8vw, 48px);
	}
}
@media screen and (max-width: 499px) {
	.case_sns_container_box {
		display: block;
	}
	.case_sns + .case_sns {
		margin-top: clamp(0px, 6.4vw, 24px);
	}
	.case_sns_link {
		width: clamp(0px, 37.333333333333336vw, 140px);
		margin: 0 auto;
	}
	.case_sns_link_icon {
		width: clamp(0.75rem, 6.4vw, 1.5rem);
		text-align: center;
	}
}
#case_pager_box {
	display: -webkit-box;
	display:    -moz-box;
	display: -webkit-flex;
	display: -ms-flexbox;
	display:         box;
	display:         flex;
}
@media screen and (min-width: 769px) {
	#case_pager_box {
		-webkit-box-pack: center;
		   -moz-box-pack: center;
		     -o-box-pack: center;
		-ms-flex-pack: center;
		-webkit-justify-content: center;
		        justify-content: center;
	}
	#case_pager .arrowbutton_container + .arrowbutton_container {
		margin-left: 64px;
	}
}
@media screen and (max-width: 768px) {
	#case_pager_box {
		-webkit-box-pack: justify;
		   -moz-box-pack: justify;
		     -o-box-pack: justify;
		-ms-flex-pack: justify;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
	}
}
.case_project {
	border-top: 1px dashed #888;
}
.case_project_head {
	font-weight: 700;
}
@media screen and (min-width: 769px) {
	.case_project {
		margin-top: clamp(0px, 10.204081632653061vw, 120px);
		padding-top: clamp(0px, 4.081632653061225vw, 48px);
	}
	.case_project_head {
		margin-bottom: clamp(0px, 5.442176870748299vw, 64px);
		font-size: clamp(0.75rem, 2.72108843537415vw, 2rem);
	}
}
@media screen and (max-width: 768px) {
	.case_project {
		margin-top: clamp(0px, 17.066666666666666vw, 64px);
		padding-top: clamp(0px, 10.666666666666668vw, 40px);
	}
	.case_project_head {
		margin-bottom: clamp(0px, 10.666666666666668vw, 40px);
		font-size: clamp(0.75rem, 6.4vw, 1.5rem);
	}
}
.case_list_item_thumbnail_link {
	display: block;
	overflow: hidden;
	position: relative;
	z-index: 1;
}
.case_list_item_thumbnail_link img {
	-webkit-transition-duration: 0.3s;
	   -moz-transition-duration: 0.3s;
	    -ms-transition-duration: 0.3s;
	     -o-transition-duration: 0.3s;
	        transition-duration: 0.3s;
	-webkit-transition-property: scale;
	   -moz-transition-property: scale;
	    -ms-transition-property: scale;
	     -o-transition-property: scale;
	        transition-property: scale;
}
.case_list_item_thumbnail_link:hover img {
	scale: 1.05;
}
.case_list_item_text_basicData {
	color: #888;
}
.case_list_item_text_title {
	display: -webkit-box;
	overflow: hidden;

	-webkit-box-orient: vertical;
}
.case_list_item_text_organization {
	color: #888;
}
@media screen and (min-width: 769px) {
	.case_list {
		display: -webkit-box;
		display:    -moz-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         box;
		display:         flex;

		-webkit-box-lines: multiple;
		   -moz-box-lines: multiple;
		     -o-box-lines: multiple;
		-webkit-box-pack: justify;
		   -moz-box-pack: justify;
		     -o-box-pack: justify;
		-ms-flex-pack: justify;
		-webkit-flex-wrap: wrap;
		    -ms-flex-wrap: wrap;
		        flex-wrap: wrap;
		-webkit-justify-content: space-between;
		        justify-content: space-between;
	}
	.case_list:after {
		display: block;
		width: calc((328 / 1080) * 100%);
		content: "";
	}
	.case_list_item {
		display: -webkit-box;
		display:    -moz-box;
		display: -webkit-flex;
		display: -ms-flexbox;
		display:         box;
		display:         flex;
		        flex-direction: column;
		width: calc((328 / 1080) * 100%);

		-webkit-box-orient: vertical;
		   -moz-box-orient: vertical;
		     -o-box-orient: vertical;
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
	}
	.case_list_item_thumbnail_link {
		margin-bottom: clamp(0px, 1.530612244897959vw, 18px);
		border-radius: clamp(0px, 1.700680272108844vw, 20px);
	}
	.case_list_item:nth-child(n+4) {
		margin-top: clamp(0px, 6.802721088435375vw, 80px);
	}
	.case_list_item_text:has(+.case_list_item_buttons) {
		margin-bottom: clamp(0px, 1.700680272108844vw, 20px);
	}
	.case_list_item_text_basicData, .case_list_item_text_organization {
		font-size: clamp(0.625rem, 1.020408163265306vw, 0.75rem);
		line-height: clamp(0.75rem, 1.700680272108844vw, 1.25rem);
	}
	.case_list_item_text_basicData {
		margin-bottom: clamp(0px, 1.020408163265306vw, 12px);
	}
	.case_list_item_text_title {
		font-size: clamp(0.75rem, 1.360544217687075vw, 1rem);
		line-height: clamp(0.75rem, 2.040816326530612vw, 1.5rem);

		-webkit-line-clamp: 2;
	}
	.case_list_item_text_organization {
		margin-top: clamp(0px, 1.020408163265306vw, 12px);
	}
}
@media screen and (max-width: 768px) {
	.case_list_item + .case_list_item {
		margin-top: clamp(0px, 10.666666666666668vw, 40px);
	}
	.case_list_item_thumbnail_link {
		margin-bottom: clamp(0px, 4.266666666666667vw, 16px);
		border-radius: clamp(0px, 2.666666666666667vw, 10px);
	}
	.case_list_item_text:has(+.case_list_item_buttons) {
		margin-bottom: clamp(0px, 6.4vw, 24px);
	}
	.case_list_item_text_basicData {
		margin-bottom: clamp(0px, 2.133333333333333vw, 8px);
		font-size: clamp(0.625rem, 3.2vw, 0.75rem);
		line-height: clamp(0.75rem, 4.8vw, 1.125rem);
	}
	.case_list_item_text_title {
		font-size: clamp(0.75rem, 4vw, 0.9375rem);
		line-height: clamp(0.75rem, 5.866666666666666vw, 1.375rem);

		-webkit-line-clamp: 3;
	}
	.case_list_item_text_organization {
		margin-top: clamp(0px, 2.133333333333333vw, 8px);
		font-size: 0.625rem;
		line-height: clamp(0.75rem, 4.266666666666667vw, 1rem);
	}
}
