@charset "UTF-8";
:root {
	/* font */
	--gothic: "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	--mincho: "游明朝", "Yu Mincho", YuMincho, "Hiragino Mincho Pro", serif;
	--hiragino: "Hiragino Mincho Pro", "游明朝", "Yu Mincho", YuMincho, serif;
	--Garamond: "garamond-premier-pro", serif;
	--shippori: "Shippori Mincho", serif;
	--figtree: "Figtree", sans-serif;

	/* color */
	--blk: 98, 95, 95;
	--wht: 255, 255, 255;
	--brw: 188, 130, 87;
	--lightBlue: 220, 241, 244;
	--mainColor: 193, 174, 137;
	--periodColor: 98, 95, 95;
	--textColor: 112, 112, 112;
}

main {
	background: rgb(var(--wht));
	font-size: 62.5%;
	line-height: 1.5;
	color: #000;
	font-family: var(--shippori);
	font-feature-settings: "palt"1;
	letter-spacing: 0.05em;
}

main button {
	appearance: none;
	-webkit-appearance: none;
	border: none;
	outline: none;
	background: transparent;
	padding: 0;
	margin: 0;
	font: inherit;
	color: inherit;
	cursor: pointer;
}


/* ----------------------------------------------------
 kv
---------------------------------------------------- */
.kv {
	background: url(../img/founder/kv-bg.webp) no-repeat;
	background-size: cover;
	background-position: center;
	width: 100%;
	/* height: clamp(1200px, 100vw, 1366px); */
	height: clamp(860px, 60vw, 1366px);
	position: relative;
	margin-top: -80px;
}

.kv .kv-inner {
	max-width: 1366px;
	height: 100%;
	margin: 0 auto;
	position: relative;
}

.kv h1 {
	/* width: 44.7%; */
	width: 33.6%;
	position: absolute;
	/* top: 280px; */
	top: 27%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 5;
}

.kv .kv-img {
	/* width: 47.52%; */
	width: 44.2%;
	position: absolute;
	/* top: 570px; */
	top: 55%;
	left: 28%;
	transform: translate(-50%, -50%);
	z-index: 4;
}

.kv .kv-profile {
	/* width: 51%; */
	width: 42.83%;
	background: rgba(21, 21, 21, 0.80);
	color: #fff;
	text-align: left;
	/* padding: clamp(40px, 6vw, 90px) clamp(40px, 8vw, 116px); */
	padding: clamp(40px, 3vw, 90px) clamp(40px, 5vw, 116px);
	box-sizing: border-box;
	position: absolute;
	top: 41%;
	right: 9%;
	z-index: 3;
}

.kv-profile__heading {
	font-family: var(--Garamond);
	font-size: 41px;
	font-weight: 400;
}

.kv-profile__name {
	font-size: 30px;
	font-weight: 500;
	line-height: 44px;
	letter-spacing: 2.8px;
}

.kv-profile__name-note {
	font-size: 14px;
	font-weight: 500;
	letter-spacing: 0;
}

.kv-profile__list {
	margin-top: 10px;
}

.kv-profile__item {
	font-size: 16px;
	font-weight: 400;
	line-height: 26px;
	padding-left: 1em;
	text-indent: -1em;
}
.kv-profile__item::before {
	content: '●';
}

.kv-profile__value {
	/* width: 74.8%; */
	width: 62.8%;
	margin-top: 5px;
}

/* marker animation */
/* .kv h1,
.kv .kv-img,
.kv .kv-profile {
	clip-path: inset(0 100% 0 0);
}

.kv h1.is-show,
.kv .kv-img.is-show,
.kv .kv-profile.is-show {
	animation: kvContentReveal .9s ease forwards;
}

@keyframes kvContentReveal {
	0% {
		clip-path: inset(0 100% 0 0);
	}

	100% {
		clip-path: inset(0 0 0 0);
	}
} */

@media screen and (max-width: 768px) {
	.kv {
		height: clamp(880px, 100vw, 1366px);
		margin-top: 10px;
	}
	.kv h1 {
		width: 77.2%;
		top: 110px;
	}
	.kv .kv-img {
		width: 80%;
		top: 140px;
		left: 0;
		transform: none;
	}
	.kv .kv-profile {
		width: 77%;
		padding: 80px 0 50px 30px;
		top: 310px;
	}
	.kv-profile__heading {
		font-size: min(3.3em, 8.8vw);
	}
	.kv-profile__name {
		font-size: min(2.4em, 6.4vw);
		letter-spacing: 1.92px;
		margin-top: 0;
	}
	.kv-profile__name-note {
		font-size: min(1.4em, 3.733vw);
	}
	.kv-profile__list {
		margin-top: 10px;
	}
	.kv-profile__item {
		font-size: min(1.6em, 4.267vw);
		line-height: 24px;
		letter-spacing: 0;
		margin-bottom: 0;
	}
	.kv-profile__value {
		width: 95%;
		margin-top: 10px;
	}
}


/* ----------------------------------------------------
 activities
---------------------------------------------------- */
.activities {
	padding-top: 200px;
}

.activities__title {
	margin-bottom: 14px;
	line-height: normal;
	color: #D56839;
	font-size: 60px;
	font-weight: 700;
	text-align: center;
}

.activities__content {
	background-color: #F6F3E8;
	margin: 0 auto;
	padding: 0 56px;
	max-width: 800px;
	position: relative;
}

.activities__list {
	padding: 100px 0 70px;
	position: relative;
}

.activities__list::before {
	background-color: #000;
	width: 1px;
	height: 108px;
	position: absolute;
	top: 0;
	left: 8px;
	transform: translateX(-50%);
	content: "";
}

.activities__item {
	display: flex;
	position: relative;
}

.activities__item::after {
	background-color: #000;
	width: 1px;
	height: 100%;
	position: absolute;
	top: 8px;
	left: 8px;
	transform: translateX(-50%);
	content: "";
}

.activities__item:last-child::after {
	display: none;
}

.activities__item-year {
	width: 110px;
	padding-left: 24px;
	line-height: 1.33;
	font-family: var(--Garamond);
	font-size: 24px;
	font-weight: 600;
	letter-spacing: -0.005em;
	align-self: stretch;
	position: relative;
}

.activities__item-year::before {
	background-color: #D56839;
	width: 16px;
	height: 16px;
	border-radius: 16px;
	position: absolute;
	top: 8px;
	left: 0;
	z-index: 1;
	content: "";
}

.activities__item-year small {
	font-size: 15px;
	font-weight: 700;
}

.activities__item-detail {
	margin-bottom: 35px;
	width: calc(100% - 110px);
	line-height: 2;
	font-size: 16px;
	text-align: left;
	font-weight: 600;
	position: relative;
}

.activities__item-detail b {
	font-weight: 800;
	display: inline;
}

.activities__item-detail a {
	color: #1E70E8;
}

.activities__item-detail .circle-list li {
	padding-left: 1em;
	text-indent: -1em;
}

.activities__item-detail .circle-list li::before {
	color: #878787;
	content: "●";
}

.year2021 .activities__item-detail .text,
.year2026 .activities__item-detail .text {
	width: calc(100% - (25.6% + 3.1%));
}

.year2026 .activities__image {
	width: 37.7%;
	position: absolute;
	right: 11.1%;
	bottom: 0;
}

.activities__item-detail .text span.pc {
	display: inline;
}

.activities__item-detail .text span.sp {
	display: none;
}

@media screen and (max-width: 768px) {
	.activities {
		padding-top: 77px;
	}
	.activities__title {
		margin-bottom: 12px;
		line-height: 1.95;
		font-size: min(4em, 10.667vw);
	}
	.activities__content {
		padding: 0 22px 0 16px;
	}
	.activities__list {
		padding: 50px 0 70px;
	}
	.activities__list::before {
		height: 60px;
	}
	.activities__item-year {
		width: 100%;
		padding-left: 32px;
		font-size: min(2.4em, 6.4vw);
		text-align: left;
		box-sizing: border-box;
	}
	.activities__item-year::before,
	.activities__item::after {
		top: 10px;
	}
	.activities__item {
		display: flow-root;
	}
	.activities__item-detail {
		margin-bottom: 20px;
		padding-left: 32px;
		width: 100%;
		font-size: min(1.6em, 4.267vw);
		letter-spacing: -0.005em;
		box-sizing: border-box;
	}
	.activities__item-detail b {
		display: inline;
	}
	.year2021 .activities__item-detail .text,
	.year2026 .activities__item-detail .text {
		width: 100%;
	}
	.year2026 .activities__image {
		margin: 14px auto 0;
		width: 205px;
		position: static;
	}
	.activities__item-detail .text span.pc {
		display: none;
	}
	.activities__item-detail .text span.sp {
		display: inline;
	}
}

/* ----------------------------------------------------
 fujii-quote
---------------------------------------------------- */
.fujii-quote {
	max-width: 760px;
	margin: 260px auto 274px;
}

.fujii-quote h2 {
	color: #D56839;
	text-align: center;
	font-size: 60px;
	font-weight: 700;
	letter-spacing: 4.8px;
}

.fujii-quote .txt {
	color:#000;
	text-align: center;
	font-size: 20px;
	font-weight: 600;
	margin-top: 70px;
}

.fujii-quote .quote-puzzle {
	position: relative;
	margin: 73px auto 0;
	aspect-ratio: 1 / 1;
	overflow: hidden;
}

@media screen and (max-width: 768px) {
	.fujii-quote {
		margin: 112px auto;
	}
	.fujii-quote h2 {
		font-size: min(4em, 10.667vw);
		letter-spacing: 3.2px;
	}
	.fujii-quote .txt {
		font-size: min(1.8em, 4.8vw);
		margin-top: 45px;
		position: relative;
	}
	.fujii-quote .txt::before {
		content: '';
		background: url(../img/founder/fujii-quote-txt-itemA.webp) no-repeat;
		background-size: 100%;
		display: block;
		width: 36px;
		height: 40px;
		position: absolute;
		top: 53%;
		left: 13%;
		transform: translate(-50%, -50%);
	}
	.fujii-quote .txt::after {
		content: '';
		background: url(../img/founder/fujii-quote-txt-itemB.webp) no-repeat;
		background-size: 100%;
		display: block;
		width: 36px;
		height: 45px;
		position: absolute;
		top: 52%;
		right: 3%;
		transform: translate(-50%, -50%);
	}
	.fujii-quote .txt span {
		display: none;
	}
	.fujii-quote .quote-puzzle {
		margin: 39px auto 0;
	}
}


.fujii-quote .quote-puzzle__image,
.fujii-quote .quote-puzzle__image img {
	width: 100%;
	height: 100%;
}

.fujii-quote .quote-puzzle__image img {
	object-fit: cover;
}

.fujii-quote .quote-puzzle__tiles {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	grid-template-rows: repeat(3, 1fr);
}

.fujii-quote .quote-puzzle__tile {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	padding: 0;
	margin: 0;
	cursor: pointer;
	background: #FF7E66;
	transition: opacity .4s ease;
}

.fujii-quote .quote-puzzle__tile:nth-of-type(2) {
	background: rgba(255, 255, 255, 0.95);
	animation: tileBlink 2s ease-in-out infinite;
}
@keyframes tileBlink {
	0%,
	100% {
		background: rgba(255, 255, 255, 0.95);
	}

	50% {
		background: rgba(255, 255, 255, 0.65);
	}
}

.fujii-quote .quote-puzzle__tile:nth-of-type(3),
.fujii-quote .quote-puzzle__tile:nth-of-type(4),
.fujii-quote .quote-puzzle__tile:nth-of-type(8) {
	background: #E6BD81;
}

.fujii-quote .quote-puzzle__tile:nth-of-type(5),
.fujii-quote .quote-puzzle__tile:nth-of-type(9) {
	background: #D56839;
}

.fujii-quote .quote-puzzle__tile.is-open {
	opacity: 0;
	pointer-events: none;
}

.fujii-quote .quote-puzzle__bubbles {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 2;
}

.fujii-quote .quote-puzzle__bubble {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 30%;
	opacity: 0;
	transform: translate(-50%, -40%);
	transition: opacity .5s ease, transform .5s ease;
}

.fujii-quote .quote-puzzle__bubble.is-show {
	opacity: 1;
	transform: translate(-50%, -50%);
}

.fujii-quote .quote-puzzle__pointer {
	position: absolute;
	width: 13%;
	top: 30%;
	left: 64%;
	z-index: 5;
	pointer-events: none;
	animation: pointerPoyon 1.2s ease-in-out infinite;
	transition: opacity .3s ease;
}

.fujii-quote .quote-puzzle__pointer img {
	display: block;
	width: 100%;
	height: auto;
}

.fujii-quote .quote-puzzle__pointer.is-hide {
	opacity: 0;
	pointer-events: none;
}

@keyframes pointerPoyon {
	0%,
	100% {
		transform: translate(-50%, -50%) scale(1);
	}

	30% {
		transform: translate(-50%, -50%) scale(1.12, .88);
	}

	50% {
		transform: translate(-50%, -50%) scale(.9, 1.1);
	}

	70% {
		transform: translate(-50%, -50%) scale(1.05, .95);
	}
}


/*-- fujii-quote .quote-puzzle__bubble--01 --*/
.fujii-quote .quote-puzzle__bubble--01 {
	width: 22.5%;
	top: 21%;
	left: 15%;
}

.fujii-quote .quote-puzzle__bubble--01.is-show {
	opacity: 1;
	animation: bubble01Animation 1.2s ease forwards;
}
@keyframes bubble01Animation {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(.8) rotate(0deg);
	}

	100% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1) rotate(360deg);
	}
}
/*--end fujii-quote .quote-puzzle__bubble--01 --*/


/*-- fujii-quote .quote-puzzle__bubble--02 --*/
.fujii-quote .quote-puzzle__bubble--02 {
	width: 24.2%;
	top: 8%;
	left: 47%;
	opacity: 0;
	transform: translate(-50%, -20%);
}

.fujii-quote .quote-puzzle__bubble--02.is-visible {
	opacity: 1;
	transform: translate(-50%, -50%);
	transition: opacity .8s ease, transform .8s ease;
}

.fujii-quote .quote-puzzle__bubble--02.is-show {
	opacity: 1;
	animation: bubbleWobble 1s ease forwards;
}
@keyframes bubbleWobble {
	0%, 80%, 100% {
		transform: translate(-50%, -50%) rotate(0);
	}
	84% {
		transform: translate(-53%, -50%) rotate(-5deg);
	}
	88% {
		transform: translate(-47%, -50%) rotate(4deg);
	}
	92% {
		transform: translate(-52%, -50%) rotate(-3deg);
	}
	96% {
		transform: translate(-48%, -50%) rotate(2deg);
	}
}
/*--end fujii-quote .quote-puzzle__bubble--02 --*/


/*-- fujii-quote .quote-puzzle__bubble--03 --*/
.fujii-quote .quote-puzzle__bubble--03 {
	width: 21.1%;
	top: 23%;
	left: 79%;
	opacity: 0;
	transform: translate(-50%, -20%);
	transition: opacity .8s ease, transform .8s ease;
}

.fujii-quote .quote-puzzle__bubble--03.is-show {
	opacity: 1;
	transform: translate(-50%, -50%);
}
/*--end fujii-quote .quote-puzzle__bubble--03 --*/


/*-- fujii-quote .quote-puzzle__bubble--04 --*/
.fujii-quote .quote-puzzle__bubble--04 {
	width: 23.1%;
	top: 45%;
	left: 12%;
}

.fujii-quote .quote-puzzle__bubble--04.is-show {
	opacity: 1;
	animation: bubble04Bounce .9s ease;
}
@keyframes bubble04Bounce {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(.3);
	}

	20% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(1.15);
	}

	40% {
		transform: translate(-50%, -50%) scale(.9);
	}

	60% {
		transform: translate(-50%, -50%) scale(1.05);
	}

	80% {
		transform: translate(-50%, -50%) scale(.98);
	}

	100% {
		transform: translate(-50%, -50%) scale(1);
	}
}
/*--end fujii-quote .quote-puzzle__bubble--04 --*/


/*-- fujii-quote .quote-puzzle__bubble--05 --*/
.fujii-quote .quote-puzzle__bubble--05 {
	width: 18.91%;
	top: 60%;
	left: 46%;
	opacity: 0;
	transform: translate(-50%, -10%);
	transition: opacity .8s ease, transform .8s ease;
}

.fujii-quote .quote-puzzle__bubble--05.is-show {
	opacity: 1;
	transform: translate(-50%, -50%);
}
/*--end fujii-quote .quote-puzzle__bubble--05 --*/


/*-- fujii-quote .quote-puzzle__bubble--06 --*/
.fujii-quote .quote-puzzle__bubble--06 {
	width: 26.4%;
	top: 43%;
	left: 85%;
}

.fujii-quote .quote-puzzle__bubble--06.is-show {
	opacity: 1;
	animation: bubble06Tada 1s ease forwards;
}
@keyframes bubble06Tada {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) scale(1);
	}

	10%, 20% {
		opacity: 1;
		transform: translate(-50%, -50%) scale(.9) rotate(-3deg);
	}

	30%, 50%, 70%, 90% {
		transform: translate(-50%, -50%) scale(1.1) rotate(3deg);
	}

	40%, 60%, 80% {
		transform: translate(-50%, -50%) scale(1.1) rotate(-3deg);
	}

	100% {
		transform: translate(-50%, -50%) scale(1) rotate(0);
	}
}
/*--end fujii-quote .quote-puzzle__bubble--06 --*/


/*-- fujii-quote .quote-puzzle__bubble--07 --*/
.fujii-quote .quote-puzzle__bubble--07 {
	width: 23.4%;
	top: 76%;
	left: 13%;
}

.fujii-quote .quote-puzzle__bubble--07.is-show {
	opacity: 1;
	transform-origin: center top;
	animation: bubble07Swing 1s ease forwards;
}
@keyframes bubble07Swing {
	0% {
		opacity: 0;
		transform: translate(-50%, -50%) rotate(0deg);
	}

	20% {
		opacity: 1;
		transform: translate(-50%, -50%) rotate(15deg);
	}

	40% {
		transform: translate(-50%, -50%) rotate(-10deg);
	}

	60% {
		transform: translate(-50%, -50%) rotate(6deg);
	}

	80% {
		transform: translate(-50%, -50%) rotate(-3deg);
	}

	100% {
		transform: translate(-50%, -50%) rotate(0deg);
	}
}
/*--end fujii-quote .quote-puzzle__bubble--07 --*/


/*-- fujii-quote .quote-puzzle__bubble--08 --*/
.fujii-quote .quote-puzzle__bubble--08 {
	width: 32.4%;
	top: 83%;
	left: 50%;
}

.fujii-quote .quote-puzzle__bubble--08.is-show {
	opacity: 1;
	animation: bubble08FadeInRightBig .9s ease forwards;
}
@keyframes bubble08FadeInRightBig {

	0% {
		opacity: 0;
		transform: translate(50%, -50%);
	}

	100% {
		opacity: 1;
		transform: translate(-50%, -50%);
	}
}
/*--end fujii-quote .quote-puzzle__bubble--08 --*/


/*-- fujii-quote .quote-puzzle__bubble--09 --*/
.fujii-quote .quote-puzzle__bubble--09 {
	width: 20.4%;
	top: 93%;
	left: 80%;
}

.fujii-quote .quote-puzzle__bubble--09.is-show {
	opacity: 1;
	animation: bubble09FadeIn .8s ease forwards;
}
@keyframes bubble09FadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}
/*--end fujii-quote .quote-puzzle__bubble--09 --*/


/*-- fujii-quote .quote-puzzle__bubble--complete --*/
.fujii-quote .quote-puzzle__bubble--complete {
	width: 37.3%;
	top: 68%;
	left: 73%;
}

.fujii-quote .quote-puzzle__bubble--complete.is-show {
	opacity: 1;
	animation: bubbleCompleteBounceLoop 2s ease infinite;
}
@keyframes bubbleCompleteBounceLoop {
	0% {
		transform: translate(-50%, -50%) scale(1);
	}

	20% {
		transform: translate(-50%, -50%) scale(1.15);
	}

	40% {
		transform: translate(-50%, -50%) scale(.9);
	}

	60% {
		transform: translate(-50%, -50%) scale(1.05);
	}

	80% {
		transform: translate(-50%, -50%) scale(.98);
	}

	100% {
		transform: translate(-50%, -50%) scale(1);
	}
}
/*--end fujii-quote .quote-puzzle__bubble--complete --*/

@media screen and (max-width: 768px) {
	.fujii-quote .quote-puzzle__bubble--02 {
		width: 26.2%;
		top: 11%;
		left: 50%;
	}
	.fujii-quote .quote-puzzle__bubble--03 {
		width: 29%;
		top: 15%;
		left: 82%;
	}
	.fujii-quote .quote-puzzle__bubble--04 {
		width: 32%;
		top: 45%;
		left: 16%;
	}
	.fujii-quote .quote-puzzle__bubble--05 {
		width: 27%;
		top: 59%;
		left: 50%;
	}
	.fujii-quote .quote-puzzle__bubble--06 {
		width: 30%;
		top: 44%;
		left: 84%;
	}
	.fujii-quote .quote-puzzle__bubble--07 {
		width: 30%;
		top: 77%;
		left: 16%;
	}
	.fujii-quote .quote-puzzle__bubble--08 {
		width: 33.4%;
		top: 85%;
		left: 50%;
	}
	.fujii-quote .quote-puzzle__bubble--09 {
		width: 30%;
		top: 91%;
		left: 83%;
	}
	.fujii-quote .quote-puzzle__bubble--complete {
		width: 39%;
		top: 68%;
		left: 77%;
	}
}


/* ----------------------------------------------------
 fujii-episode
---------------------------------------------------- */
.fujii-episode {
	background: #D56839;
	padding: 204px 0 213px;
}

.fujii-episode h2 {
	color: #fff;
	text-align: center;
	font-size: 60px;
	font-weight: 700;
	line-height: 58px;
}

.fujii-episode h2 span {
	display: block;
	font-size: 36px;
	font-weight: 600;
	letter-spacing: 2.88px;
}

@media screen and (max-width: 768px) {
	.fujii-episode {
		padding: 89px 20px 105px;
	}
	.fujii-episode h2 {
		font-size: min(4em, 10.667vw);
		line-height: 40px;
	}
	.fujii-episode h2 span {
		font-size: min(2.3em, 6.133vw);
		letter-spacing: 0;
	}
}

.fujii-episode__list {
	max-width: 800px;
	margin: 74px auto 0;
	display: grid;
	grid-template-columns: repeat(6, 1fr);
	gap: 60px 32px;
}

.fujii-episode__item {
	appearance: none;
	-webkit-appearance: none;
	border: 0;
	padding: 0;
	margin: 0;
	background: transparent;
	cursor: pointer;
	width: 100%;
	display: block;
	opacity: 0;
	transform: translateY(-80px);
	transition:
		opacity .8s ease,
		transform .8s cubic-bezier(.22, 1, .36, 1);
}

.fujii-episode__item.is-show {
	opacity: 1;
	transform: translateY(0);
}

.fujii-episode__item img {
	display: block;
	width: 100%;
	height: auto;
}

/* 1段目：2カラム */
.fujii-episode__item--01 { grid-column: 2 / span 2; }
.fujii-episode__item--02 { grid-column: 4 / span 2; }

/* 2段目：3カラム */
.fujii-episode__item--03 { grid-column: 1 / span 2; }
.fujii-episode__item--04 { grid-column: 3 / span 2; }
.fujii-episode__item--05 { grid-column: 5 / span 2; }

/* 3段目：2カラム */
.fujii-episode__item--06 { grid-column: 2 / span 2; }
.fujii-episode__item--07 { grid-column: 4 / span 2; }

/* 4段目：3カラム */
.fujii-episode__item--08 { grid-column: 1 / span 2; }
.fujii-episode__item--09 { grid-column: 3 / span 2; }
.fujii-episode__item--10 { grid-column: 5 / span 2; }

/* 5段目：2カラム */
.fujii-episode__item--11 { grid-column: 2 / span 2; }
.fujii-episode__item--12 { grid-column: 4 / span 2; }

/* 6段目：3カラム */
.fujii-episode__item--13 { grid-column: 1 / span 2; }
.fujii-episode__item--14 { grid-column: 3 / span 2; }
.fujii-episode__item--15 { grid-column: 5 / span 2; }

/* 7段目：2カラム */
.fujii-episode__item--16 { grid-column: 2 / span 2; }
.fujii-episode__item--17 { grid-column: 4 / span 2; }

/* 8段目：3カラム */
.fujii-episode__item--18 { grid-column: 1 / span 2; }
.fujii-episode__item--19 { grid-column: 3 / span 2; }
.fujii-episode__item--20 { grid-column: 5 / span 2; }

/* 9段目：2カラム */
.fujii-episode__item--21 { grid-column: 2 / span 2; }
.fujii-episode__item--22 { grid-column: 4 / span 2; }


@media screen and (max-width: 768px) {
	.fujii-episode__list {
		grid-template-columns: repeat(2, 1fr);
		gap: 24px 16px;
		margin-top: 60px;
	}

	.fujii-episode__item {
		grid-column: auto !important;
	}
}

/* ポップアップ表示 */
.fujii-episode-modal {
	display: none;
	position: fixed;
	font-family: var(--gothic);
	inset: 0;
	z-index: 9999;
}

.fujii-episode-modal.is-show {
	display: block;
}

.fujii-episode-modal__overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, .7);
}

.fujii-episode-modal__content {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 680px;
	max-width: calc(100% - 40px);
	background: #fff;
	padding: 60px 70px 50px;
	box-shadow: 4px 4px 0 rgba(0, 0, 0, .8);
}

.fujii-episode-modal__num {
	color: #878787;
	font-family: var(--figtree);
	font-size: 22px;
	font-weight: 600;
	text-align: left;
}

.fujii-episode-modal__title {
	color: #D56839;
	font-size: 33px;
	font-weight: 600;
	text-align: left;
	margin-top: 20px;
}

.fujii-episode-modal__text {
	color: #000;
	font-size: 18px;
	font-weight: 500;
	line-height: 32px;
	text-align: left;
	margin-top: 35px;
}

.fujii-episode-modal__close {
	display: block;
	margin: 50px auto 0;
	width: 80px;
	height: 30px;
	border-radius: 999px;
	background: #D56839;
	position: relative;
}

.fujii-episode-modal__close::before,
.fujii-episode-modal__close::after {
	content: "";
	width: 22px;
	height: 2px;
	background: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
}

.fujii-episode-modal__close::before {
	transform: translate(-50%, -50%) rotate(45deg);
}

.fujii-episode-modal__close::after {
	transform: translate(-50%, -50%) rotate(-45deg);
}

@media screen and (max-width: 768px) {
	.fujii-episode-modal__content {
		width: 80%;
		padding: 40px 20px 30px;
	}
	.fujii-episode-modal__num {
		font-size: min(1.8em, 4.8vw);
	}
	.fujii-episode-modal__title {
		font-size: min(3.1em, 8.267vw);
		margin-top: 10px;
	}
	.fujii-episode-modal__text {
		font-size: min(1.6em, 4.267vw);
		line-height: 28px;
		margin-top: 10px;
	}
	.fujii-episode-modal__close {
		margin: 30px auto 0;
	}
}

/* ----------------------------------------------------
 collection
---------------------------------------------------- */
.collection {
	padding: 160px 0 168px;
	overflow: hidden;
}

.collection h2 {
	color: #D56839;
	text-align: center;
	font-family: var(--Garamond);
	font-size: 90px;
	font-weight: 600;
}

.collection__list {
	position: relative;
	max-width: 1366px;
	height: 1300px;
	margin: 60px auto 0;
}

.collection__item {
	position: absolute;
}

.collection__item img {
	display: block;
	width: 100%;
	height: auto;
	opacity: 0;
	transform: scale(.85);
	transform-origin: center center;
	transition:
		opacity .35s ease,
		transform .35s ease;
}

.collection__item img.is-in {
	opacity: 1;
	transform: scale(1);
}

.collection__item img.is-out {
	opacity: 0;
	transform: scale(.85);
}

/* 左上 */
.collection__item--01 {
	width: 374px;
	top: 0;
	left: -80px;
}

/* 中央大 */
.collection__item--02 {
	width: 515px;
	top: 40px;
	left: 280px;
	z-index: 5;
}

/* 上中央右 */
.collection__item--03 {
	width: 343px;
	top: 40px;
	left: 720px;
}

/* 右上 */
.collection__item--04 {
	width: 399px;
	top: 0;
	right: -107px;
}

/* 左下 */
.collection__item--05 {
	width: 347px;
	top: 760px;
	left: -60px;
}

/* 中央小 */
.collection__item--06 {
	width: 343px;
	top: 470px;
	left: 160px;
	z-index: 6;
}

/* 下中央 */
.collection__item--07 {
    width: 478px;
    top: 880px;
    left: 310px;
}

/* 右下大 */
.collection__item--08 {
	width: 597px;
	top: 480px;
	right: 70px;
	z-index: 4;
}

@media screen and (max-width: 1366px) {
	.collection__list {
		max-width: 1000px;
		/* height: 95.17vw; */
		height: 74.17vw;
	}

	/* 左上 */
	.collection__item--01 {
		width: 27.38%;
		top: 0;
		left: -5.86%;
	}

	/* 中央大 */
	.collection__item--02 {
		width: 37.70%;
		top: 2.93vw;
		left: 20.50%;
	}

	/* 上中央右 */
	.collection__item--03 {
		width: 25.11%;
		top: 2.93vw;
		left: 52.71%;
	}

	/* 右上 */
	.collection__item--04 {
		width: 29.21%;
		top: 0;
		right: -7.83%;
	}

	/* 左下 */
	.collection__item--05 {
		width: 25.40%;
		/* top: 55.64vw; */
		top: 44.64vw;
		left: -4.39%;
	}

	/* 中央小 */
	.collection__item--06 {
		width: 25.11%;
		/* top: 34.41vw; */
		top: 31.41vw;
		left: 11.71%;
	}

	/* 下中央 */
	.collection__item--07 {
		width: 34.99%;
		/* top: 64.42vw; */
		top: 53.42vw;
		left: 22.69%;
	}

	/* 右下大 */
	.collection__item--08 {
		width: 43.70%;
		/* top: 35.14vw; */
		top: 27.14vw;
		right: 5.12%;
	}
}

@media screen and (max-width: 768px) {
	.collection {
		padding: 60px 0;
		overflow: hidden;
	}
	.collection__list {
		height: 95.17vw;
		margin: 10px auto 0;
	}
	.collection h2 {
		font-size: min(4.9em, 13.067vw);
		font-weight: 600;
	}
}

/* ----------------------------------------------------
fadeIn
---------------------------------------------------- */
/*
透明度が変化
------------------------------ */
.fadeBlock {
opacity: 0;
transition: all 1.5s;
}

.fadeBlock.fadeIn {
opacity: 1;
}

.title_fadeIn {
animation-name: fadeInAnime;
animation-duration: 3s;
animation-fill-mode: forwards;
opacity: 0;
}
@keyframes fadeInAnime{
from {
	opacity: 0;
}

to {
	opacity: 1;
}
}


/*
下から
------------------------------ */
.fadeBottom {
transform: translateY(100px);
}

.fadeBottom.fadeIn {
transform: translateY(0);
}

/*
上から
------------------------------ */
.fadeTop {
transform: translateY(-100px);
}

.fadeTop.fadeIn {
transform: translateY(0);
}


/*
右から
------------------------------ */
.fadeRight {
transform: translateX(100px);
}

.fadeRight.fadeIn {
transform: translateX(0);
}

/*
左から
------------------------------ */
.fadeLeft {
transform: translateX(-100px);
}

.fadeLeft.fadeIn {
transform: translateX(0);
}

/* ----------------------------------------------------
object
---------------------------------------------------- */
.object {
animation: korokoro 2.5s linear 0s infinite;
}

@keyframes korokoro {
10% {
	-webkit-transform: rotate(-10deg);
}

20% {
	-webkit-transform: rotate(8deg);
}

30% {
	-webkit-transform: rotate(-5deg);
}

40% {
	-webkit-transform: rotate(4deg);
}

50% {
	-webkit-transform: rotate(-3deg);
}

60% {
	-webkit-transform: rotate(2deg);
}

70% {
	-webkit-transform: rotate(-1deg);
}

80% {
	-webkit-transform: rotate(1deg);
}

90% {
	-webkit-transform: rotate(-1deg);
}

100% {
	-webkit-transform: rotate(0deg);
}
}