@charset "utf-8";



:root{
	--device-ratio: 1;
}
@media (max-width: 768px){
	:root{
		--device-ratio: .8;
	}
}

.sect-lv1{
	padding-block: calc(5.625em * var(--device-ratio));
	
	&:nth-child(2n + 1){
		background: #f0e9d2;
	}
	&.sect-lv1--header{
		padding-top: 0;
	}
}

:is(.stack-page, .stack-content, .stack-sentence) > *{
	margin-block: 0;
}

.stack-page > * + *{
	margin-top: calc(5.625rem * var(--device-ratio));
}
.stack-content > * + *{
	margin-top: calc(2.5rem * var(--device-ratio));
}
.stack-sentence > * + *{
	margin-top: calc(1rem * var(--device-ratio));
}



/* components */
.p-ttl{
	line-height: 1.5;
	font-size: 1em;
	font-weight: bold;
	text-align: center;
	color: #269A67;
	
	&.p-ttl--lv1{
		font-size: 1.5em;
	}
	&.p-ttl--lv2{
		font-size: 1.333em;
	}
	&.p-ttl--plain{
		font-size: 1em;
		color: inherit;
	}
}

.p-split{
	display: flex;
	gap: 2.5rem 1.666rem;
}
@media (max-width: 768px){
	.p-split{
		flex-direction: column;
	}
}
.p-split > *{
	flex: 1 1 0;
}
.p-split--with-separate{
	border-block: 1px solid #000;
	padding-block: 1.75rem;
}
@media (min-width: 769px){
	.p-split--with-separate{
		border-block: 1px solid #000;
		padding-block: 1.75rem;
		
		&::after{
			content: "";
			border-left: 1px solid #BFBEBE;
		}
		& > :last-child{
			order: 1;
		}
	}
}

.fig{
	line-height: 1.5;
	text-align: center;
	margin-inline: 0;
	color: #375B13;
}
.fig > *{
	font-size: .8em;
}



/* contents */
.hero{
	margin-block: 0;
	text-align: center;
	min-height: calc(30rem * var(--device-ratio));
	display: grid;
	place-items: center;
	background: url(./img/hero-bg.jpg) no-repeat center bottom / cover;
}
.hero__logo{
	max-width: min(700px, 100%);
}
.hero-desc--offset{
	margin-top: calc(-6rem * var(--device-ratio));
}



.p-split--goal-summary{
	align-items: center;
}
@media (min-width: 769px){
	.p-split--goal-column{
		display: grid;
		grid-template-columns: 1fr auto 1fr;
	}
	.p-split--goal-column.p-split--with-separate::after{
		grid-row: span 3;
	}
	.p-split--goal-column .goal-column{
		display: grid;
		grid-template-rows: subgrid;
		grid-row: span 3;
		gap: 0;
	}
	.p-split--goal-column .goal-column__ttl{
		min-width: 10em;
		max-width: none;
	}
}
.goal-summary{
	text-align: center;
}
.goal-summary__banner{
	
}
.p-ttl--goal-summary{
	font-size: 1.5em;
	font-weight: normal;
	color: inherit;
}



.goal-history{
	display: grid;
	grid-template-columns: auto 1fr;
	gap: 0 1em;
}
.goal-history__note{
	margin-inline: 0;
}



.goal-column__ttl{
	line-height: 1.5;
	font-size: 1.25em;
	text-align: center;
	
	color: white;
	background: #269A67;
	border-radius: 99em;
	
	max-width: 10em;
	margin-inline: auto;
	padding: .75em;
}
.goal-column__image{
	width: 100%;
}



.activity-list{
	list-style: none;
	padding-inline: 0;
	
	display: flex;
	gap: calc(3.75em * var(--device-ratio) * var(--device-ratio) * var(--device-ratio) * var(--device-ratio));
}
.activity-list__item{
	flex: 1 1;
}
@media (max-width: 768px){
	.activity-list{
		overflow: auto;
		margin-inline: -4vw;
		padding-inline: 4vw;
	}
	.activity-list__item{
		flex: 1 0 64%;
	}
}
.activity-list__more{
	
}
.activity-list__tmp-banner{
	width: 100%;
}
.activity-list__more{
	text-decoration: none;
	color: inherit;
	background: white;
	
	box-shadow: 0 4px 4px color-mix(in srgb, transparent, black 20%);
	border-radius: .75rem;
	padding: 1rem;
	
	display: block;
}
.activity-list__more > *{
	margin-block: 0;
	
	* + &{
		margin-top: 1rem;
	}
}
.activity-list__photo{
	border-radius: .5em;
	width: 100%;
}
.activity-list__button{
	font-weight: bold;
	text-decoration: none;
	
	background: 0;
	border: 0;
	padding: 0;
	
	box-sizing: border-box;
	width: 100%;
	
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.activity-list__button::after{
	content: "";
	width: 1.5em;
	height: 1.5em;
	background: url(./img/icon-anylink.svg) no-repeat center / contain;
}
.activity-list__button:where(:any-link[target="_blank"] *){
	text-decoration: underline;
}
.activity-list__button:where(:any-link[target="_blank"] *)::after{
	width: 1.25em;
	height: 1.25em;
	background-image: url(./img/icon-blank.svg);
}
