@charset "UTF-8";

/* ****************************************************************************

　目次

-------------------------------------------------------------------------------

　01.メインビジュアル
　02.概要文
　03.開催レポート
　04.レンタルラボ紹介

******************************************************************************* */
/* ==

　01.メインビジュアル

=============================================================================== */
.heroVisual {
	position: relative;
	line-height: 0;
}
.heroVisual__image img {
	display: block;
	width: 100%;
	height: auto;
}
@media (min-width: 768px) {
	.heroVisual__image img {
		height: 500px;
		object-fit: cover;
	}
}
.heroVisual__logo {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 33.6%;
	max-width: 642px;
	margin: 0;
	transform: translate(-50%, -50%) translateY(-40px);
}
.heroVisual__logo.fnVisualHeadingFadeIn {
	opacity: 0;
	animation: heroLogoIn 1s ease 0.25s forwards;
}
.heroVisual__logo img {
	display: block;
	width: 100%;
	height: auto;
}
@media (max-width: 767px) {
	.heroVisual__logo {
		transform: translate(-50%, -50%) translateY(10px);
	}
}
@keyframes heroLogoIn {
	0% {
		opacity: 0;
	}
	100% {
		opacity: 1;
	}
}
@media (prefers-reduced-motion: reduce) {
	.heroVisual__logo.fnVisualHeadingFadeIn {
		opacity: 1;
		animation: none;
	}
}


/* ==

　02.概要文

=============================================================================== */
.leadTxt {
	width: 100%;
	box-sizing: border-box;
	background: #fff;
}
.leadTxt__inner {
	width: calc(100% - 60px);
	max-width: 1120px;
	margin: 0 auto;
	padding: 100px 0;
	box-sizing: border-box;
}
.leadTxt__txt {
	margin: 0;
	font-size: 20px;
	line-height: 1.9;
	color: #000;
	text-align: left;
}


/* ==

　03.開催レポート

=============================================================================== */
.reportSec {
	width: 100%;
	box-sizing: border-box;
	padding: 60px 25px 70px;
	background: #fcf9f3 url(../images/bg.png) center top no-repeat;
	background-size: 100% auto;
}
.reportSec__inner {
	width: calc(100% - 60px);
	max-width: 1120px;
	margin: 0 auto;
	box-sizing: border-box;
}
.reportSec__title {
	margin: 0 0 40px;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.4;
	color: #333;
	text-align: center;
}
.reportSec__list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 30px;
	width: 100%;
	margin: 0;
	padding: 0;
	list-style: none;
}
.reportSec__item {
	margin: 0;
	height: 100%;
}
.reportSec__link {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s ease;
}
.reportSec__link:hover {
	opacity: 0.75;
}
.reportSec__img {
	display: block;
	flex: none;
	width: 100%;
	height: auto;
	border-radius: 10px 10px 0 0;
}
.reportSec__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
	padding: 20px;
	background: #fff;
	border-radius: 0 0 10px 10px;
}
.reportSec__date {
	display: block;
	font-size: 16px;
	line-height: 1.6;
	color: #000;
}
.reportSec__cardTitle {
	position: relative;
	display: block;
	margin-top: 14px;
	padding-left: 24px;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	color: #000;
}
.reportSec__cardTitle::before {
	content: "→";
	position: absolute;
	top: 0;
	left: 0;
	color: #c80028;
	font-weight: 700;
}


/* ==

　04.レンタルラボ紹介

=============================================================================== */
.smart {
	width: 100%;
	box-sizing: border-box;
	padding: 60px 25px;
	background: url(../images/smart_bg01.jpg) center center / cover no-repeat;
	letter-spacing: 0.045em;
}
.smartCatch {
	margin: 0 0 40px;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.5;
	color: #000;
	text-align: center;
}
.smartInner {
	box-sizing: border-box;
	display: flex;
	align-items: center;
	gap: 40px;
	width: calc(100% - 60px);
	max-width: 1120px;
	min-height: 380px;
	margin: 0 auto;
	padding: 40px;
	background: #fff;
}
.smartInner__body {
	flex: 1 1 auto;
	min-width: 0;
}
.smartInner__body h2 {
	margin: 0;
}
.smartInner__body h2 img {
	display: block;
	width: 424px;
	max-width: 100%;
	height: auto;
}
.smartImage {
	flex: 0 0 320px;
	width: 320px;
}
.smartImage img {
	display: block;
	width: 100%;
	height: auto;
}
.smartTxt {
	margin: 28px 0 20px;
	font-size: 16px;
	line-height: 1.75;
	letter-spacing: 0.045em;
	color: #000;
}
.smartLink {
	margin: 0;
}
