@charset "UTF-8";

/* ページトップ */
#topImage-block figure {
	height: 640px;
}


/* サーキュラーエコノミーとは？ */
#concept-block .content {
	margin-right: 14%;
	display: flex;
	justify-content: space-between;
	gap: 32px 6%;
}

#concept-block .concept__text {
	width: 53%;
	position: relative;
	z-index: 3;
}

#concept-block .concept__img {
	width: 41%;
	position: relative;
	z-index: 1;
}
#concept-block .concept__img::after {
	content: "";
	position: absolute;
	bottom: -10%;
	right: 85%;
	z-index: 2;
	width: 90%;
	max-width: 400px;
	aspect-ratio: 32/21;
	background-image: url(../img/common/illust_treats01_white.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
}

#concept-block figure {
	height: 480px;
	border-radius: 24px;
	-webkit-border-radius: 24px;
	-moz-border-radius: 24px;
	-ms-border-radius: 24px;
	-o-border-radius: 24px;
	overflow: hidden;
}


/* うまぷれとサーキュラーエコノミー */
#relation-block .content {
	margin-left: 14%;
	display: flex;
	justify-content: space-between;
	flex-direction: row-reverse;
	gap: 32px 6%;
}

#relation-block .relation__text {
	width: 53%;
	position: relative;
	z-index: 3;
}

#relation-block .relation__img {
	width: 41%;
	position: relative;
	z-index: 1;
}

#relation-block figure {
	height: 480px;
	border-radius: 24px;
	-webkit-border-radius: 24px;
	-moz-border-radius: 24px;
	-ms-border-radius: 24px;
	-o-border-radius: 24px;
	overflow: hidden;
}

#relation-block img {
	object-position: 65% 40%;
}

#relation-block .loop-txt__unit {
	margin-top: -1.2em;
}


/* サーキュラーエコノミーと仲間たち一覧 */
#list-block .content {
	margin-left: calc(50% - 50vw);
	background-color: var(--color_white);
	padding: 80px 0;
	border-radius: 0 80px 0 0;
	-webkit-border-radius: 0 80px 0 0;
	-moz-border-radius: 0 80px 0 0;
	-ms-border-radius: 0 80px 0 0;
	-o-border-radius: 0 80px 0 0;
	position: relative;
	z-index: 2;
}
#list-block .content::after {
	content: "COMMUNITY";
	position: absolute;
	top: 80px;
	left: 100%;
	z-index: 1;
	font-family: var(--ff_en);
	font-size: clamp(48px, 152 / 1280 * 100vw, 152px);
	line-height: 1.0;
	font-weight: var(--fw_en_bold);
	letter-spacing: 0.05em;
	color: var(--color03);
	white-space: nowrap;
	transform-origin: top left;
	transform: rotate(90deg);
	-webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
	-o-transform: rotate(90deg);
}

#list-block .inner {
	width: 95%;
	max-width: var(--content_w_lg);
	margin: 0 0 0 auto;
	padding: 0 80px;
	display: flex;
	flex-direction: column;
	gap: 120px;
	position: relative;
	z-index: 2;
}

#list-block .list-ttl {
	font-size: clamp(16px, 24 / 768 * 100vw, 24px);
	line-height: 1.6;
	font-weight: var(--fw_jp_bold);
	letter-spacing: 0.1em;
	text-align: center;
	color: var(--color_white);
	padding: 16px;
	background-color: var(--color01);
	border-radius: 24px 24px 0 0;
	-webkit-border-radius: 24px 24px 0 0;
	-moz-border-radius: 24px 24px 0 0;
	-ms-border-radius: 24px 24px 0 0;
	-o-border-radius: 24px 24px 0 0;
}

#list-block .list-unit {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(256px, 1fr));
	gap: 40px 3%;
	margin-top: 60px;
}

#list-block .list-item {
	color: var(--color_black);
	text-decoration: none;
	display: block;
}

#list-block .list-item__img {
	border-radius: 24px;
	-webkit-border-radius: 24px;
	-moz-border-radius: 24px;
	-ms-border-radius: 24px;
	-o-border-radius: 24px;
	overflow: hidden;
}

#list-block .list-item__img figure {
	height: 240px;
	transition: .3s;
	-webkit-transition: .3s;
	-moz-transition: .3s;
	-ms-transition: .3s;
	-o-transition: .3s;
}
#list-block .list-item:hover .list-item__img figure {
	transform: scale(1.1);
	-webkit-transform: scale(1.1);
	-moz-transform: scale(1.1);
	-ms-transform: scale(1.1);
	-o-transform: scale(1.1);
}

#list-block .list-item__text {
	margin-top: 16px;
}

#list-block .list-item__text .item-ttl {
	font-size: clamp(15px, 18 / 768 * 100vw, 18px);
	line-height: 1.6;
	font-weight: var(--fw_jp_bold);
}



/* サーキュラーエコノミーと仲間たち詳細 */
#detail-block {
	margin-top: 0;
}

#detail-block .content {
	max-width: 960px;
	margin: 0 auto;
}

#detail-block .main-image {
	border-radius: 80px;
	-webkit-border-radius: 80px;
	-moz-border-radius: 80px;
	-ms-border-radius: 80px;
	-o-border-radius: 80px;
	overflow: hidden;
}

#detail-block .main-image figure {
	height: 640px;
}

#detail-block .message-unit {
	max-width: 800px;
	margin: 24px auto 0;
}

#detail-block .message-ttl {
	font-size: clamp(16px, 24 / 768 * 100vw, 24px);
	line-height: 1.6;
	font-weight: var(--fw_jp_bold);
	letter-spacing: 0.1em;
	color: var(--color01);
	border-bottom: 1px solid currentColor;
	padding-bottom: 0.5em;
	margin-bottom: 16px;
}

#detail-block .message-unit .text {
	line-height: 1.8;
}

#detail-block .information-unit {
	margin-top: 80px;
	border-radius: 40px;
	-webkit-border-radius: 40px;
	-moz-border-radius: 40px;
	-ms-border-radius: 40px;
	-o-border-radius: 40px;
	background-color: var(--color_white);
	padding: 40px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap: 16px 6%;
}

#detail-block .information__image {
	width: 55%;
	border-radius: 24px;
	-webkit-border-radius: 24px;
	-moz-border-radius: 24px;
	-ms-border-radius: 24px;
	-o-border-radius: 24px;
	overflow: hidden;
}

#detail-block .information__image figure {
	height: 360px;
}

#detail-block .information__list {
	flex-grow: 1;
}

#detail-block .information__list-items dl {
	display: flex;
	gap: 0 6%;
	border-bottom: 1px solid var(--color_gray03);
	padding: 1.6em 0;
	font-size: 14px;
	line-height: 1.8;
}

#detail-block .information__list-items dt {
	width: 14%;
}

#detail-block .information__list-items dd {
	width: 80%;
	word-break: break-all;
}

#detail-block .information__list-sns {
	margin-top: 24px;
	display: flex;
	gap: 8px;
}

#detail-block .information__list-sns .sns-btn {
	width: 40px;
	aspect-ratio: 1/1;
	border: 1px solid var(--color_black);
	padding: 12px;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	-ms-border-radius: 50%;
	-o-border-radius: 50%;
}
#detail-block .information__list-sns .sns-btn:hover {
	opacity: 0.7;
}

#detail-block .information__list-sns .sns-btn figure {
	width: 100%;
	aspect-ratio: 1/1;
}


/* サーキュラーエコノミーと仲間たち詳細-戻るボタン */
#detail-return-block .link-return {
	display: block;
	background-color: var(--color_white);
	margin: 0 calc(50% - 50vw);
	padding: 40px 0;
	font-size: clamp(15px, 20 / 768 * 100vw, 20px);
	line-height: 1.6;
	font-weight: var(--fw_jp_bold);
	letter-spacing: 0.05em;
	text-align: center;
	color: var(--color01);
	text-decoration: none;
	transition: .3s;
	-webkit-transition: .3s;
	-moz-transition: .3s;
	-ms-transition: .3s;
	-o-transition: .3s;
}
#detail-return-block .link-return:hover {
	background-color: var(--color01);
	color: var(--color_white);
}

#detail-return-block .link-return span {
	padding-right: 1.5em;
	position: relative;
}
#detail-return-block .link-return span::after {
	content: "";
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
	-webkit-transform: translateY(-50%);
	-moz-transform: translateY(-50%);
	-ms-transform: translateY(-50%);
	-o-transform: translateY(-50%);
	width: 1em;
	aspect-ratio: 1/1;
	background-image: url(../img/common/icon_list_blue.svg);
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	transition: .3s;
	-webkit-transition: .3s;
	-moz-transition: .3s;
	-ms-transition: .3s;
	-o-transition: .3s;
}
#detail-return-block .link-return:hover span::after {
	background-image: url(../img/common/icon_list_white.svg);
}


/* エラーテキスト */
#detail-block .err_msg {
	font-size: 30px;
	line-height: 1.5;
	font-weight: var(--fw_jp_bold);
	letter-spacing: 0.05em;
	color: #d12926;
	text-align: center;
}



/* スマートフォン用 - ブレイクポイント768 */
@media screen and (max-width: 768px) {

	/* ページトップ */
	#topImage-block figure {
		height: 240px;
	}


	/* サーキュラーエコノミーとは？ */
	#concept-block .content {
		margin-right: 0;
		flex-direction: column;
	}

	#concept-block .concept__text {
		width: 100%;
	}

	#concept-block .concept__img {
		width: 100%;
	}
	#concept-block .concept__img::after {
		content: "";
		position: absolute;
		bottom: 80%;
		right: -3%;
		width: 80%;
	}

	#concept-block figure {
		height: 240px;
		border-radius: 16px;
		-webkit-border-radius: 16px;
		-moz-border-radius: 16px;
		-ms-border-radius: 16px;
		-o-border-radius: 16px;
	}


	/* うまぷれとサーキュラーエコノミー */
	#relation-block .content {
		margin-left: 0;
		flex-direction: column;
	}

	#relation-block .relation__text {
		width: 100%;
	}

	#relation-block .relation__img {
		width: 100%;
	}

	#relation-block figure {
		height: 240px;
		border-radius: 16px;
		-webkit-border-radius: 16px;
		-moz-border-radius: 16px;
		-ms-border-radius: 16px;
		-o-border-radius: 16px;
	}

	#relation-block .loop-txt__unit {
		margin-top: 0;
	}


	/* サーキュラーエコノミーと仲間たち一覧 */
	#list-block .content {
		padding: 40px 0;
		border-radius: 0 40px 0 0;
		-webkit-border-radius: 0 40px 0 0;
		-moz-border-radius: 0 40px 0 0;
		-ms-border-radius: 0 40px 0 0;
		-o-border-radius: 0 40px 0 0;
	}
	#list-block .content::after {
		top: 40px;
	}

	#list-block .inner {
		width: 90%;
		padding: 0 40px 0 0;
		gap: 64px;
	}

	#list-block .list-ttl {
		padding: 16px 0.5em;
		letter-spacing: 0;
		border-radius: 16px 16px 0 0;
		-webkit-border-radius: 16px 16px 0 0;
		-moz-border-radius: 16px 16px 0 0;
		-ms-border-radius: 16px 16px 0 0;
		-o-border-radius: 16px 16px 0 0;
	}

	#list-block .list-unit {
		gap: 24px 3%;
		margin-top: 40px;
	}

	#list-block .list-item__img {
		border-radius: 16px;
		-webkit-border-radius: 16px;
		-moz-border-radius: 16px;
		-ms-border-radius: 16px;
		-o-border-radius: 16px;
	}

	#list-block .list-item__img figure {
		height: 180px;
	}

	#list-block .list-item__text {
		margin-top: 8px;
	}



	/* サーキュラーエコノミーと仲間たち詳細 */
	#detail-block .main-image {
		border-radius: 40px;
		-webkit-border-radius: 40px;
		-moz-border-radius: 40px;
		-ms-border-radius: 40px;
		-o-border-radius: 40px;
	}

	#detail-block .main-image figure {
		height: 280px;
	}

	#detail-block .message-ttl {
		letter-spacing: 0;
	}

	#detail-block .information-unit {
		margin-top: 40px;
		border-radius: 24px;
		-webkit-border-radius: 24px;
		-moz-border-radius: 24px;
		-ms-border-radius: 24px;
		-o-border-radius: 24px;
		padding: 24px;
		flex-direction: column;
	}

	#detail-block .information__image {
		width: 100%;
		border-radius: 16px;
		-webkit-border-radius: 16px;
		-moz-border-radius: 16px;
		-ms-border-radius: 16px;
		-o-border-radius: 16px;
	}

	#detail-block .information__list {
		width: 100%;
	}

	#detail-block .information__image figure {
		height: 200px;
	}


	/* サーキュラーエコノミーと仲間たち詳細-戻るボタン */
	#detail-return-block .link-return {
		padding: 24px 0;
	}


	/* エラーテキスト */
	#detail-block .err_msg {
		font-size: 18px;
		letter-spacing: 0;
	}

}