/* --------------------------------------------------------------------------------------
	共有
--------------------------------------------------------------------------------------- */

.wrapper-75th { font-family: 'Yu Gothic', YuGothic,'メイリオ',Meiryo,'Osaka','ＭＳ Ｐゴシック','MS PGothic',sans-serif; }

.color-blue { color: var(--color-sky-blue); }

/* --------------------------------------------------------------------------------------
	キービジュアル
--------------------------------------------------------------------------------------- */

#page-75th main { background-color: #e6e3df; }

.key-75th {
	min-height: 1190px;
	position: relative;
	z-index: 0;
}

.key-75th h2 {
	left: 50%;
	position: absolute;
	top: 235px;
	transform: translateX(-50%);
	z-index: 3;
}

.key-75th h2 img {
	display: block;
	height: auto;
	width: 100%;
}

.key-75th h3 {
	font-size: 2.8rem;
	font-weight: var(--Bold);
	left: 50%;
	letter-spacing: 1px;
	position: absolute;
	top: 637px;
	transform: translateX(-50%);
	z-index: 3;
}

.key-75th h2,
.key-75th h3 {
	filter: blur(40px);
	opacity: 0;
	transition: all 1s cubic-bezier(.5, 1, .89, 1);
}

.key-75th h2.animate,
.key-75th h3.animate {
	filter: blur(0);
	opacity: 1;
	transform: translateY(0) translateX(-50%);
}

.key-75th .key-bg {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

#svg-container,
#svg-circle {
	height: 100%;
	left: 0;
	position: absolute;
	top: 0;
	width: 100%;
}

#svg-circle { z-index: -1; }

#svg-container image { transform-box: fill-box; }

@media (max-width: 1099px) {

	.key-75th { min-height: 154.975vw; }

	.key-75th h2 {
		top: 35.199vw;
		width: 47.264vw;
	}

	.key-75th h3 {
		font-size: 5.97vw;
		top: 101.741vw;
		width: 100%;
	}

	#svg-container svg {
		margin-left: -62%;
		width: 242%;
	}

	#svg-circle svg {
		height: auto;
		left: -30%;
		position: relative;
		top: -10.333vw;
		width: 250%;
	}
}

/* --------------------------------------------------------------------------------------
	リード
--------------------------------------------------------------------------------------- */

.lead-wrap { margin-top: -138px; }

.lead-wrap .inner {
	background-color: rgba(255, 255, 255, .4);
	border: 2px solid #fff;
	border-radius: 16px;
	max-width: 1280px;
	padding: 80px 150px 100px;
}

.lead-wrap .inner::before {
	color: #ccc9c6;
	content: "1951-2026";
	display: block;
	font-family: "a-otf-ud-shin-go-pr6n", sans-serif;
	font-size: 25rem;
	font-weight: var(--Bold);
	left: -190px;
	letter-spacing: 8px;
	line-height: .88;
	opacity: .5;
	position: absolute;
	-webkit-text-stroke: 8px #ccc9c6;
	top: -32px;
	white-space: nowrap;
	writing-mode: vertical-rl;
}

.lead-wrap .lead-main {
	align-items: center;
	display: flex;
	gap: 60px;
	min-height: 281px;
	position: relative;
}

.lead-wrap .lead-main h2 {
	font-size: 4rem;
	font-weight: var(--Bold);
}

.lead-wrap .lead-main h3 {
	font-size: 2.8rem;
	font-weight: var(--Bold);
	margin-top: 32px;
}

.lead-wrap .lead-main .image { max-width: 244px; }

.lead-wrap .lead-text { margin-top: 42px; }

.lead-wrap .lead-text p { line-height: 2; }

.lead-wrap .lead-text p:nth-of-type(n+2) { margin-top: 20px; }

.lead-wrap .lead-text p:last-of-type { text-align: right; }

.lead-wrap .brand {
	margin-top: 72px;
	text-align: center;
}

.lead-wrap .brand h4 strong { font-size: 5.6rem; }

.lead-wrap .brand .catch {
	display: flex;
	margin-left: -44px;
}

.lead-wrap .brand .catch h5 {
	align-items: center;
	background: url(../img/75th/lead-gradation-01.png) no-repeat center center;
	color: #fff;
	display: flex;
	font-size: 3.2rem;
	font-weight: var(--Bold);
	height: 434px;
	justify-content: center;
	margin-top: 48px;
	min-width: 434px;
}

.lead-wrap .brand .catch h5:nth-of-type(2) {
	background-image: url(../img/75th/lead-gradation-02.png);
	margin: 0 -120px;
}

.lead-wrap .brand .catch h5:nth-of-type(3) { background-image: url(../img/75th/lead-gradation-03.png); }

.lead-wrap .brand p {
	font-weight: var(--Bold);
	line-height: 1.9;
	margin-bottom: 32px;
	margin-top: 20px;
}

@media (max-width: 1099px) {

	.lead-wrap { margin-top: 0; }

	.lead-wrap .inner {
		border-radius: 3.98vw;
		padding: 9.95vw 4.975vw 11.94vw;
	}

	.lead-wrap .inner::before {
		font-size: 24.876vw;
		left: -3.667vw;
		-webkit-text-stroke-width: 3px;
		top: 45.333vw;
	}

	.lead-wrap .lead-main {
		gap: 6.965vw;
		min-height: 34.826vw;
	}

	.lead-wrap .lead-main .image { max-width: 30.348vw; }

	.lead-wrap .lead-main h2 { font-size: 5.97vw; }

	.lead-wrap .lead-main h3 {
		font-size: 4.478vw;
		left: 0;
		margin-top: 0;
		position: absolute;
		text-align: center;
		top: 40.333vw;
		width: 100%;
	}

	.lead-wrap .lead-text { margin-top: 32.333vw; }

	.lead-wrap .lead-text p:nth-of-type(n+2) { margin-top: 5.97vw; }

	.lead-wrap .brand { margin-top: 7.96vw; }

	.lead-wrap .brand h4 strong { font-size: 7.96vw; }

	.lead-wrap .brand h4 span { font-size: 3.98vw; }

	.lead-wrap .brand .catch { margin-left: -4.667vw; }

	.lead-wrap .brand .catch h5 {
		background-size: 100%;
		font-size: 3.98vw;
		height: 53.98vw;
		justify-content: center;
		margin-top: 21.333vw;
		min-width: 53.98vw;
	}

	.lead-wrap .brand .catch h5:nth-of-type(2) { margin: 0  -32.333vw; }

	.lead-wrap .brand p {
		margin-bottom: 5.333vw;
		margin-top: 3.333vw;
	}
}

/* --------------------------------------------------------------------------------------
	制作ストーリー
--------------------------------------------------------------------------------------- */

.story-wrap {
	margin: 160px auto 0;
	max-width: 1766px;
	/* overflow: hidden; */
	width: 100%;
}

.story-wrap .story-head {
	position: relative;
	z-index: 2;
}

.story-wrap .story-head h2 {
	font-size: 2.8rem;
	font-weight: var(--Bold);
}

.story-wrap .story-head h3 {
	font-size: 4.8rem;
	font-weight: var(--Bold);
	margin-top: 3px;
}

.story-wrap .story-text {
	font-weight: var(--Bold);
	line-height: 1.8;
	/* margin-top: 48px; */
	margin-top: -312px;
}

.story-wrap .story-slider {
	margin: 36px auto auto;
	max-width: 206px;
}

.story-wrap .story-slider .swiper-container { overflow: inherit; }

.story-wrap .story-slider .swiper-wrapper { align-items: center; }

.story-wrap .story-slider .flex {
	display: flex;
	gap: 48px;
	justify-content: center;
}

.story-wrap .story-slider .swiper-slide {
	flex-shrink: 0;
	margin-top: -125px;
	width: auto;
}

.story-wrap .story-slider .swiper-slide-active,
.story-wrap .story-slider .swiper-slide-prev,
.story-wrap .story-slider .swiper-slide-next { margin-top: 0; }

.story-wrap .story-slider .swiper-slide.logo img {
	display: block;
	height: auto;
	max-height: 240px;
	position: relative;
	width: 100%;
}

.story-wrap .story-slider .swiper-slide.analyzing img,
.story-wrap .story-slider .swiper-slide.thinking img,
.story-wrap .story-slider .swiper-slide.success img,
.story-wrap .story-slider .swiper-slide.exploring img,
.story-wrap .story-slider .swiper-slide.relaxed img,
.story-wrap .story-slider .swiper-slide.longday img {
	display: block;
	height: auto;
	max-height: 160px;
	position: relative;
	width: 100%;
}

.story-wrap .story-slider .swiper-slide.analyzing img,
.story-wrap .story-slider .swiper-slide.thinking img { max-height: 160px; }

.story-wrap .story-slider .swiper-slide.longday img,
.story-wrap .story-slider .swiper-slide.relaxed img { max-height: 146px; }

.story-wrap .story-slider .swiper-slide.relaxed img { max-height: 146px; }

.story-wrap .story-slider .swiper-slide.success img {
	left: -55px;
	max-height: 176px;
	position: relative;
}

.story-wrap .story-slider .swiper-slide.exploring img {
	position: relative;
	right: -34px;
}

.story-wrap .story-slider .swiper-slide.success,
.story-wrap .story-slider .swiper-slide.exploring { margin-top: -250px; }

.story-wrap .story-content {
	background: url(../img/75th/story-bg.png) no-repeat center top;
	height: 1020px;
	margin-top: -290px;
	padding-top: 290px;
}

.story-wrap .story-content .item {
	align-items: center;
	display: flex;
	gap: 74px;
	justify-content: center;
	margin-top: 92px;
}

.story-wrap .story-content .item .logo { max-width: 214px; }
.story-wrap .story-content .item .analyzing { max-width: 225px; }

.story-wrap .story-content .item img {
	display: block;
	height: auto;
	width: 100%;
}

.story-wrap .story-banner {
	display: inline-block;
	margin-top: 48px;
}

.story-wrap .story-banner a {
	align-items: center;
	background: rgba(255, 255, 255, 0.702) url(../img/75th/icon-arrow.svg) no-repeat calc(100% - 28px) center;
	border: 2px solid #fff;
	border-radius: 100vw;
	box-shadow: 0 0 6px rgba(154,154,154,.2);
	display: flex;
	font-weight: var(--Bold);
	gap: 16px;
	justify-content: center;
	min-height: 74px;
	min-width: 440px;
	padding: 10px 64px 10px 32px;
}

@media (max-width: 1099px) {

	.story-wrap { margin-top: 32.333vw; }

	.story-wrap .story-head h2 { font-size: 3.483vw; }

	.story-wrap .story-head h3 {
		font-size: 8.965vw;
		margin-top: 2.488vw;
	}

	.story-wrap .story-slider {
		margin: 5.224vw 6.667vw 0;
		max-width: 100%;
	}

	.story-wrap .story-slider .flex { gap: 5.97vw; }

	.story-wrap .story-slider .swiper-slide {
		margin-top: 0 !important;
		width: 100%;
	}

	.story-wrap .story-slider .swiper-slide.analyzing img,
	.story-wrap .story-slider .swiper-slide.thinking img { max-height: 51.333vw; }

	.story-wrap .story-slider .swiper-slide.success img {
		left: auto;
		max-height: 55.333vw;
	}

	.story-wrap .story-slider .swiper-slide.exploring img {
		max-height: 55.333vw;
		right: auto;
	}

	.story-wrap .story-slider .swiper-slide.relaxed img {
		margin-left: 5.333vw;
		max-height: 55.333vw;
	}

	.story-wrap .story-slider .swiper-slide.longday img,
	.story-wrap .story-slider .swiper-slide.relaxed img { max-height: 46.333vw; }

	.story-wrap .story-content {
		background: url(../img/75th/story-bg-sp.png) no-repeat center top;
		background-size: 100% auto;
		height: 218.035vw;
		margin-top: -53.667vw;
		padding-top: 53.667vw;
	}

	.story-wrap .story-content .item {
		gap: 5.721vw;
		margin-top: 8.955vw;
	}

	.story-wrap .story-content .item .logo { max-width: 36.443vw; }
	.story-wrap .story-content .item .analyzing { max-width: 38.682vw; }

	.story-wrap .story-text {
		/* margin: 5.97vw 6.667vw 0; */
		margin: -101.03vw 6.667vw 0;
	}

	.story-wrap .story-banner {
		display: block;
		margin: 14.925vw auto 0;
		max-width: 59.701vw;
	}

	.story-wrap .story-banner a {
		background-position: calc(100% - 4.478vw) center;
		background-size: 2.985vw auto;
		gap: 2.488vw;
		min-height: 14.925vw;
		min-width: 100%;
		padding: 1.99vw 11.94vw 1.99vw 5.721vw;
	}
}

/* --------------------------------------------------------------------------------------
	詳細
--------------------------------------------------------------------------------------- */

.details-75th .columns {
	display: flex;
	justify-content: space-between;
}

.details-75th .columns section { min-width: 513px; }

.details-75th .columns section h3 {
	padding-left: 72px;
	padding-right: 72px;
	position: relative;
	text-align: center;
}

.details-75th .columns section h3::before,
.details-75th .columns section h3::after {
	border-bottom: 2px solid #000;
	border-top: 2px solid #000;
	content: '';
	display: block;
	height: 100%;
	position: absolute;
	top: 0;
	width: 14px;
}

.details-75th .columns section h3::before {
	border-left: 2px solid #000;
	left: 0;
}
.details-75th .columns section h3::after {
	border-right: 2px solid #000;
	right: 0;
}

.details-75th .columns section h3 small {
	font-weight: var(--Bold);
	letter-spacing: 1px;
}

.details-75th .columns section h3 strong {
	display: block;
	font-size: 4rem;
	font-weight: var(--Bold);
}

.details-75th .columns section .text {
	font-weight: var(--Bold);
	letter-spacing: 1px;
	line-height: 2;
	margin-top: 32px;
	text-align: center;
}

.details-75th .columns section .list {
	counter-reset: number 0;
	margin: 48px 36px 0;
}

.details-75th .columns section .list li:nth-of-type(n+2) { margin-top: 10px; }

.details-75th .columns section .list li a {
	align-items: center;
	background: rgba(255, 255, 255, 0.702) url(../img/75th/icon-arrow.svg) no-repeat calc(100% - 28px) center;
	border: 2px solid #fff;
	border-radius: 100vw;
	box-shadow: 0 0 6px rgba(154,154,154,.2);
	display: flex;
	font-weight: var(--Bold);
	gap: 16px;
	min-height: 74px;
	padding: 10px 64px 10px 32px;
}

.details-75th .columns section .list li a::before {
	color: var(--color-sky-blue);
	content: '第' counter(number)'回';
	counter-increment: number 1;
	font-size: 1.4rem;
}

.details-75th .ufo { margin-top: 148px; }

.details-75th .ufo section { margin-top: 178px; }

.details-75th .ufo .images {
	height: 1168px;
	margin-top: -120px;
	position: relative;
	width: 1072px;
	z-index: 0;
}

.details-75th .ufo .images .ring {
	height: 566px;
	left: -146px;
	position: absolute;
	top: 300px;
	width: 593px;
}

.details-75th .ufo .images .ring .ring-section {
	position: absolute;
	transform: translateX(-1023px);
}

.details-75th .ufo .images .ring .ring-section:nth-of-type(1) {
	left: 0;
	top: 65px;
	width: 142px;
	z-index: 2;
}

.details-75th .ufo .images .ring .ring-section:nth-of-type(2) {
	left: 47px;
	top: 33px;
	width: 233px;
	z-index: 3;
}

.details-75th .ufo .images .ring .ring-section:nth-of-type(3) {
	left: 116px;
	top: 91px;
	width: 220px;
	z-index: 1;
}

.details-75th .ufo .images .ring .ring-section:nth-of-type(4) {
	left: 218px;
	top: 0;
	width: 374px;
	z-index: 4;
}

.details-75th .ufo .images .ring .ring-section:nth-of-type(1) .ring-item { transform: translateX(-223px); }
.details-75th .ufo .images .ring .ring-section:nth-of-type(2) .ring-item { transform: translateX(-376px); }
.details-75th .ufo .images .ring .ring-section:nth-of-type(3) .ring-item { transform: translateX(-617px); }
.details-75th .ufo .images .ring .ring-section:nth-of-type(4) .ring-item { transform: translateX(-817px); }

.details-75th .images .ring-item,
.details-75th .images .reveal-img { transition: all 5s cubic-bezier(.1, .9, .3, 1); }

.details-75th .images .reveal-img {
	opacity: 0;
	transform: scale(0,0) rotate3d(1, 1, 1, 360deg);
	transform-origin: center;
}

.details-75th .images .is-hidden {
	opacity: 0;
	visibility: hidden;
}

.details-75th .images .animate-translate { transform: translateX(0) !important; }

.details-75th .images .is-animate {
	opacity: 1;
	transform: scale(1,1) rotate3d(1, 1, 1, 0deg) !important;
	visibility: visible;
}

.details-75th .images .yurayura { animation: yurayura 3s infinite; }

@keyframes yurayura {
	0%, 100% { transform: translateY(0); }
	50% { transform: translateY(-20px); }
}

/* 角度をアニメ可能に */
@property --ang { inherits: false; initial-value: 0deg; syntax: '<angle>'; }
/* 境界を飲み込む微小オーバーラップ量（調整可） */
@property --pad { inherits: false; initial-value: .6deg; syntax: '<angle>'; }


/* 開始は“ほぼゼロ”から。負の角度スタートで見た目は白紙のまま */
@keyframes sweep {
	from { --ang: calc(0deg - var(--pad)); }
	to   { --ang: 360deg; }
}

.details-75th .ufo .images .item .item-section {
	position: absolute;
	z-index: 7;
}

.details-75th .ufo .images .item .item-section:nth-of-type(1) {
	left: -99px;
	top: 389px;
}

.details-75th .ufo .images .item .item-section:nth-of-type(2) {
	left: -9px;
	top: 642px;
}

.details-75th .ufo .images .item .item-section:nth-of-type(3) {
	left: 236px;
	top: 615px;
}

.details-75th .images .item .item-section > div {
	transform: scale(0);
	transition: all 2s cubic-bezier(.1, .9, .3, 1);
}

.details-75th .images .item .item-section > .scale-animate { transform: scale(1,1)!important; }

.details-75th .ufo .images .gradation {
	background: url(../img/75th/details-gradation-01.png) no-repeat;
	height: 1168px;
	position: absolute;
	right: 0;
	top: 0;
	width: 1072px;
	z-index: -1;
}

.details-75th .images .gradation {
	opacity: 0;
	transition: all 1s cubic-bezier(.5, 1, .89, 1);
}

.details-75th .images .gradation.animate { opacity: 1; }

.details-75th .interview { margin-top: -60px; }

.details-75th .interview .images {
	height: 1168px;
	min-width: 1072px;
	order: 2;
	position: relative;
}

.details-75th .interview .images .ring {
	height: 489px;
	left: 95px;
	position: absolute;
	top: -54px;
	width: 743px;
}

.details-75th .interview .images .ring .ring-section {
	position: absolute;
	transform: translateX(1023px);
}

.details-75th .interview .images .ring .ring-section:nth-of-type(1) {
	right: 0;
	top: 0;
	width: 222px;
	z-index: 3;
}

.details-75th .interview .images .ring .ring-section:nth-of-type(2) {
	right: 207px;
	top: 12px;
	width: 150px;
	z-index: 2;
}

.details-75th .interview .images .ring .ring-section:nth-of-type(3) {
	right: 201px;
	top: 136px;
	width: 191px;
	z-index: 1;
}

.details-75th .interview .images .ring .ring-section:nth-of-type(4) {
	right: 225px;
	top: 78px;
	width: 512px;
	z-index: 4;
}

.details-75th .interview .images .ring .ring-section img {
	height: auto;
	max-width: inherit;
	width: 100%;
}

.details-75th .interview .images .ring .ring-section:nth-of-type(1) .ring-item { transform: translateX(223px); }
.details-75th .interview .images .ring .ring-section:nth-of-type(2) .ring-item { transform: translateX(376px); }
.details-75th .interview .images .ring .ring-section:nth-of-type(3) .ring-item { transform: translateX(617px); }
.details-75th .interview .images .ring .ring-section:nth-of-type(4) .ring-item { transform: translateX(817px); }

.details-75th .interview .images .item .item-section {
	position: absolute;
	z-index: 7;
}

.details-75th .interview .images .item .item-section:nth-of-type(1) {
	left: 201px;
	top: -29px;
	width: 380px;
}

.details-75th .interview .images .item .item-section:nth-of-type(2) {
	left: 520px;
	top: 100px;
}

.details-75th .interview .images .item .item-section:nth-of-type(3) {
	left: 363px;
	top: 292px;
}

.details-75th .interview .images .profile {
	filter: blur(40px);
	font-size: 1.4rem;
	left: 128px;
	letter-spacing: 1px;
	opacity: 0;
	position: absolute;
	top: 476px;
	transition: all 1s cubic-bezier(.5, 1, .89, 1);
}

.details-75th .interview .images .profile.animate {
	filter: blur(0);
	opacity: 1;
}

.details-75th .interview .images .profile dt { font-weight: var(--Bold); }

.details-75th .interview .images .profile dd {
	line-height: 1.6;
	margin-top: 12px;
}

.details-75th .interview .images .gradation {
	background: url(../img/75th/details-gradation-02.png) no-repeat;
	height: 1168px;
	position: absolute;
	right: 0;
	top: -280px;
	width: 1072px;
	z-index: -1;
}

@media (max-width: 1099px) {

	.details-75th .columns { flex-direction: column; }

	.details-75th .columns section { min-width: 100%; }

	.details-75th .ufo {
		position: relative;
		z-index: 1;
	}

	.details-75th .ufo .images {
		height: 131.219vw;
		margin: 0 -6.667vw;
		width: auto;
	}

	.details-75th .ufo .images .ring {
		left: -3.109vw;
		top: 14.925vw;
	}

	.details-75th .ufo .images .ring .ring-section:nth-of-type(1) {
		top: 8.831vw;
		width: 19.403vw;
	}

	.details-75th .ufo .images .ring .ring-section:nth-of-type(2) {
		left: 6.343vw;
		top: 4.353vw;
		width: 32.338vw;
	}

	.details-75th .ufo .images .ring .ring-section:nth-of-type(3) {
		left: 15.92vw;
		top: 12.438vw;
		width: 30.224vw;
	}

	.details-75th .ufo .images .ring .ring-section:nth-of-type(4) {
		left: 30.1vw;
		width: 51.368vw;
	}

	.details-75th .ufo .images .gradation {
		background-position: -11.667vw top;
		background-size: 126% auto;
		height: 131.219vw;
		top: -6.667vw;
		width: 100%;
	}

	.details-75th .ufo .images .item .item-section:nth-of-type(1) {
		left: 12.065vw;
		top: 28.607vw;
		width: 83.458vw;
	}

	.details-75th .ufo .images .item .item-section:nth-of-type(2) {
		left: 22.512vw;
		top: 60.323vw;
		width: 19.403vw;
	}

	.details-75th .ufo .images .item .item-section:nth-of-type(3) {
		left: 52.985vw;
		top: 57.214vw;
		width: 36.07vw;
	}

	.details-75th .ufo section { margin-top: -26.667vw; }

	.details-75th .columns section h3 { padding: 2.488vw 6.219vw 1.244vw; }

	.details-75th .columns section h3 small {
		font-size: 3.483vw;
		letter-spacing: 0;
	}

	.details-75th .columns section h3 strong {
		font-size: 6.965vw;
		margin-top: 2.488vw;
	}

	.details-75th .columns section .text {
		letter-spacing: 0;
		margin-top: 6.468vw;
	}

	.details-75th .columns section .list { margin: 5.224vw 0 0; }

	.details-75th .columns section .list li:nth-of-type(n+2) { margin-top: 1.99vw; }

	.details-75th .columns section .list li a {
		background-position: calc(100% - 4.478vw) center;
		background-size: 2.985vw auto;
		gap: 2.488vw;
		min-height: 14.925vw;
		padding: 1.99vw 11.94vw 1.99vw 5.721vw;
	}

	.details-75th .columns section .list li a::before {
		font-size: 3.234vw;
		white-space: nowrap;
	}

	.details-75th .interview { margin-top: -10.667vw; }

	.details-75th .interview .images {
		height: 131.219vw;
		margin: 0 -6.667vw;
		min-width: auto;
		order: 0;
	}

	.details-75th .interview .images .gradation {
		background-position: -11.667vw top;
		background-size: 126% auto;
		height: 131.219vw;
		top: 0;
		width: 100%;
	}

	.details-75th .interview .images .ring {
		height: 74.627vw;
		left: auto;
		right: -7.463vw;
		top: 18.333vw;
		width: 111.567vw;
	}

	.details-75th .interview .images .ring .ring-section:nth-of-type(1) { width: 33.582vw; }

	.details-75th .interview .images .ring .ring-section:nth-of-type(2) {
		right: 31.592vw;
		top: 1.99vw;
		width: 22.637vw;
	}

	.details-75th .interview .images .ring .ring-section:nth-of-type(3) {
		right: 31.095vw;
		top: 20.398vw;
		width: 28.731vw;
	}

	.details-75th .interview .images .ring .ring-section:nth-of-type(4) {
		right: 34.826vw;
		top: 11.816vw;
		width: 76.741vw;
	}

	.details-75th .interview .images .item .item-section:nth-of-type(1) {
		left: 4.478vw;
		top: 23.134vw;
		width: 55.348vw;
	}

	.details-75th .interview .images .item .item-section:nth-of-type(2) {
		left: 69.154vw;
		top: 27.363vw;
		width: 19.154vw;
	}

	.details-75th .interview .images .item .item-section:nth-of-type(3) {
		left: 49.876vw;
		top: 61.567vw;
		width: 39.428vw;
	}

	.details-75th .interview .images .profile {
		font-size: 2.985vw;
		left: 9.328vw;
		top: 95.687vw;
	}

	.details-75th .interview .images .profile dd { margin-top: 2.239vw; }
}

/* --------------------------------------------------------------------------------------
	リガクの技術図鑑
--------------------------------------------------------------------------------------- */

:root {
	--book-width: 1017px;
	--book-height: 809px;
	--book-width-neg: calc(var(--book-width) * -1);
	--book-width-double: calc(var(--book-width) * 2);
	--book-content-width: 812px;
}

.illustrated-book {
	/* margin-top: -360px; */
	margin-top: 160px;
	min-height: 1100px;
	overflow: hidden;
	position: relative;
	z-index: 2;
}

.illustrated-book-lead h2 {
	font-weight: var(--Bold);
	letter-spacing: 1px;
}

.illustrated-book-lead h3 {
	font-size: 5.6rem;
	font-weight: var(--Bold);
	margin-top: 12px;
}

.illustrated-book-inner {
	margin: 56px auto 0;
	max-width: var(--book-width);
	min-height: var(--book-height);
	position: relative;
	width: 100%;
}

.illustrated-book-inner::before {
	color: #ccc9c6;
	content: "SPECIAL";
	display: block;
	font-family: "a-otf-ud-shin-go-pr6n", sans-serif;
	font-size: 25rem;
	font-weight: var(--Bold);
	letter-spacing: 8px;
	line-height: .88;
	opacity: .5;
	position: absolute;
	right: -360px;
	-webkit-text-stroke: 8px #ccc9c6;
	top: -162px;
	white-space: nowrap;
	writing-mode: vertical-rl;
}

.book-wrap {
	max-width: var(--book-width);
	min-height: var(--book-height);
	position: relative;
}

.book-wrap::before,
.book-wrap::after {
	background: url(../img/75th/book-cover.png) no-repeat;
	content: "";
	display: block;
	height: 910px;
	position: absolute;
	top: 0;
	width: 1112px;
	z-index: -1;
}

.book-wrap::before { right: -95px; }

.book-wrap::after {
	left: -1112px;
	transform: scale(-1,1);
}

.book-layout {
	margin-left: var(--book-width-neg);
	min-height: var(--book-height);
	position: relative;
	width: var(--book-width-double);
	z-index: 0;
}

.book-container { min-height: var(--book-height); }

.illustrated-book .page {
	color: #333;
	flex-direction: column;
	font-weight: bold;
	height: var(--book-height) !important;
	justify-content: space-between;
	margin: 0;
	min-width: var(--book-width);
	overflow: hidden;
	padding: 72px 0;
	position: absolute;
	width: 100%;
	z-index: 0;
}

.illustrated-book .page:before {
	background: url(../img/75th/book.png) no-repeat;
	content: '';
	display: block;
	height: var(--book-height);
	left: 0;
	position: absolute;
	top: 0;
	width: var(--book-width);
	z-index: -1;
}

.illustrated-book .page.is-empty::before { transform: scale(-1,1); }

.illustrated-book .stf__outerShadow { background: none !important; }

.illustrated-book .book-content {
	min-height: 650px;
	padding-bottom: 60px;
	position: relative;
}

.illustrated-book .book-content .book-head {
	align-items: center;
	display: flex;
	gap: 18px;
	justify-content: center;
}

.illustrated-book .book-content .book-head dt {
	background-color: var(--color-sky-blue);
	border-radius: 4px;
	color: #fff;
	font-weight: var(--Bold);
	min-width: 144px;
	padding: 6px;
}

.illustrated-book .book-content .book-head dd {
	font-size: 2.8rem;
	font-weight: var(--Bold);
}

.illustrated-book .tab-nav {
	max-width: 73px;
	position: absolute;
	right: -73px;
	text-align: left;
	top: 33px;
	z-index: 10;
}

.illustrated-book .tab-nav .tab-btn {
	background-color: #a0a0a0;
	border: none;
	border-radius: 0 8px 8px 0;
	box-sizing: border-box;
	color: white;
	cursor: pointer;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 2px;
	margin-bottom: 4px;
	margin-left: 10px;
	min-width: 63px;
	padding: 15px 10px;
	text-align: left;
	text-orientation: upright;
	transition: background-color 0.3s;
	writing-mode: vertical-rl;
}

.illustrated-book .tab-nav  .tab-btn.active {
	background-color: var(--color-sky-blue);
	margin-left: 0;
	min-width: 73px;
}

.illustrated-book .swiper-content {
	margin-top: 36px;
	text-align: center;
}

.illustrated-book .swiper-content .swiper-pagination {
	align-items: center;
	border-bottom: 4px solid #dadada;
	display: flex;
	justify-content: center;
	margin: auto;
	max-width: var(--book-content-width);
	min-height: 34px;
	position: relative;
	width: 100%;
}

.illustrated-book .swiper-content .swiper-pagination .swiper-pagination-bullet {
	background-color: transparent;
	border-radius: 0;
	color: #a7a7a7;
	display: block;
	height: auto;
	min-width: 120px;
	opacity: 1;
	padding-bottom: 6px;
	position: relative;
	width: auto;
}

.illustrated-book .swiper-content .swiper-pagination .swiper-pagination-bullet::before {
	display: block;
	letter-spacing: 1px;
}

.illustrated-book .swiper-content .swiper-pagination .swiper-pagination-bullet::after {
	background-color: #a7a7a7;
	bottom: -4px;
	content: '';
	display: block;
	height: 4px;
	left: 0;
	position: absolute;
	width: 100%;
}

.illustrated-book .swiper-content .swiper-pagination .swiper-pagination-bullet-active { color: var(--color-sky-blue); }
.illustrated-book .swiper-content .swiper-pagination .swiper-pagination-bullet-active::after { background-color: var(--color-sky-blue); }

.illustrated-book div[data-id="science"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(1):before { content: '製薬 その1'; }
.illustrated-book div[data-id="science"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(2):before { content: '製薬 その2'; }

.illustrated-book div[data-id="academic"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(1):before { content: '鑑識/考古学/文化財'; }
.illustrated-book div[data-id="academic"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(2):before { content: 'ノーベル'; }
.illustrated-book div[data-id="academic"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(3):before { content: '宇宙'; }

.illustrated-book div[data-id="battery"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(1):before { content: '電池'; }

.illustrated-book div[data-id="semiconductor"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(1):before { content: 'スマホ'; }
.illustrated-book div[data-id="semiconductor"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(2):before { content: '先進機能'; }

.illustrated-book div[data-id="electronic"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(1):before { content: '電子部品'; }

.illustrated-book div[data-id="others"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(1):before { content: '食品その1'; }
.illustrated-book div[data-id="others"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(2):before { content: '食品その2'; }
.illustrated-book div[data-id="others"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(3):before { content: '日用品'; }
.illustrated-book div[data-id="others"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(4):before { content: '化粧品'; }
.illustrated-book div[data-id="others"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(5):before { content: '建築など'; }
.illustrated-book div[data-id="others"] .swiper-content .swiper-pagination .swiper-pagination-bullet:nth-of-type(6):before { content: '土壌、河川'; }

.illustrated-book .swiper-content .book-section {
	align-items: center;
	display: flex;
	justify-content: center;
	margin: 100px auto 0;
	max-width: var(--book-content-width);
	text-align: left;
}

.illustrated-book .swiper-content .book-section .image {
	text-align: right;
	width: 50%;
}

.illustrated-book .swiper-content .book-section dl {
	margin-left: 60px;
	width: 50%;
}

.illustrated-book .swiper-content .book-section dt {
	font-size: 2rem;
	font-weight: var(--Bold);
	letter-spacing: 1px;
	line-height: 1.8;
}

.illustrated-book .swiper-content .book-section dd {
	line-height: 1.8;
	margin-top: 20px;
	max-width: 90%;
}

.illustrated-book .book-content-text {
	display: none;
	font-size: 1.4rem;
	line-height: 1.8;
	margin: 28px auto 0;
	max-width: var(--book-content-width);
	text-align: left;
}

.illustrated-book .book-navi {
	border-top: 2px solid #dadada;
	bottom: 0;
	display: flex;
	justify-content: space-between;
	left: 50%;
	margin: auto;
	max-width: var(--book-content-width);
	padding-top: 16px;
	position: absolute;
	transform: translateX(-50%);
	width: 100%;
}

.illustrated-book .book-navi.first,
.illustrated-book .book-navi.end { justify-content: flex-end; }

.illustrated-book .book-navi li {
	line-height: 1;
	position: relative;
}

.illustrated-book .book-navi.first li,
.illustrated-book .book-navi li:nth-of-type(2) { padding-right: 20px; }

.illustrated-book .book-navi li::after {
	border-bottom: 2px solid var(--color-sky-blue);
	border-right: 2px solid var(--color-sky-blue);
	content: '';
	display: block;
	height: 7px;
	position: absolute;
	right: 0;
	top: calc(50% - 2.5px);
	transform: rotate(-45deg);
	width: 7px;
}

.illustrated-book .book-navi:not(.first) li:nth-of-type(1) { padding-left: 20px; }

.illustrated-book .book-navi:not(.first) li:nth-of-type(1)::after {
	left: 0;
	right: auto;
	transform: scale(-1,1) rotate(-45deg);
}

.illustrated-book .book-navi li button {
	appearance: none;
	background-color: transparent;
	border: none;
	color: var(--color-sky-blue);
	cursor: pointer;
	font-size: 1.4rem;
	outline: none;
}

@media (max-width: 1099px) {

	:root {
		--book-width: 93.532vw;
		--book-height: 193.532vw;
		--book-content-width: 80.1vw;
	}

	/* .illustrated-book { margin-top: 16.418vw; } */
	.illustrated-book { margin-top: 44.418vw; }

	.illustrated-book-lead {
		padding-top: 10.194vw;
		position: relative;
		z-index: 0;
	}

	.illustrated-book-lead::before {
		color: #ccc9c6;
		content: "SPECIAL";
		display: block;
		font-family: "a-otf-ud-shin-go-pr6n", sans-serif;
		font-size: 21.876vw;
		font-weight: var(--Bold);
		left: 0;
		letter-spacing: 8px;
		line-height: .88;
		opacity: .5;
		position: absolute;
		-webkit-text-stroke: 4px #ccc9c6;
		top: -0;
		white-space: nowrap;
		z-index: -1;
	}

	.illustrated-book-lead h3 { font-size: 7.96vw; }

	.illustrated-book-inner { margin-top: 6.468vw; }

	.illustrated-book-inner::before { display: none; }

	.book-wrap { margin-top: 6.468vw; }

	.book-wrap::before,
	.book-wrap::after {
		background: url(../img/75th/book-cover-sp.png) no-repeat;
		background-size: 100% auto;
		height: 204.726vw;
		width: 98.259vw;
	}

	.book-wrap::before { right: -4.667vw; }

	.illustrated-book .tab-nav {
		display: flex;
		flex-wrap: wrap;
		gap: 0.995vw;
		max-width: inherit;
		position: relative;
		right: auto;
		top: auto;
	}

	.illustrated-book .tab-nav .tab-btn {
		align-items: center;
		border-radius: .995vw;
		display: flex;
		font-size: 2.985vw;
		justify-content: center;
		letter-spacing: 0;
		margin-bottom: 0;
		margin-left: 0;
		min-height: 8.955vw;
		padding: 0;
		width: 29.353vw;
		writing-mode: inherit;
	}

	.illustrated-book .page {
		padding-top: 4.726vw;
	}

	.illustrated-book .page:before {
		background-image: url(../img/75th/book-sp.png);
		background-size: 100% auto;
	}

	.illustrated-book .book-content { padding-bottom: 12.333vw; }

	.illustrated-book .book-content .book-head {
		display: block;
		margin: auto;
		max-width: var(--book-content-width);
		text-align: left;
	}

	.illustrated-book .book-content .book-head dt {
		border-radius: 0.498vw;
		display: inline-block;
		font-size: 2.488vw;
		min-width: 17.91vw;
		padding: 1.244vw;
		text-align: center;
	}

	.illustrated-book .book-content .book-head dd {
		font-size: 4.478vw;
		margin-top: 1.99vw;
		text-align: center;
	}

	.illustrated-book .swiper-content .book-section {
		display: block;
		margin-top: 15.97vw;
	}

	.illustrated-book .swiper-content .book-section .image {
		text-align: center;
		width: auto;
	}

	.illustrated-book .swiper-content .book-section .image img { max-height: 37.313vw; }

	.illustrated-book .swiper-content .book-section dl {
		margin-left: 0;
		margin-top: 3.98vw;
		width: auto;
	}

	.illustrated-book .swiper-content .book-section dt {
		font-size: 4.478vw;
		letter-spacing: 0;
		text-align: center;
	}

	.illustrated-book .swiper-content .book-section dd {
		line-height: 1.6;
		margin-top: 2.985vw;
		max-width: 100%;
	}

	.illustrated-book .book-content-text {
		font-size: 3.234vw;
		line-height: 1.6;
		margin-top: 3.483vw;
	}

	.illustrated-book .book-content-text br { display: none; }

	.illustrated-book .swiper-content { margin-top: 3.483vw; }

	.illustrated-book .swiper-content .swiper-pagination {
		border-bottom-width: .498vw;
		min-height: 6.468vw;
	}

	.illustrated-book .swiper-content .swiper-pagination .swiper-pagination-bullet {
		align-items: center;
		display: flex;
		min-height: 6.468vw;
		min-width: inherit;
		padding: 0 1.244vw 6px;
		position: relative;
		width: auto;
	}

	.illustrated-book .swiper-content .swiper-pagination .swiper-pagination-bullet::before {
		font-size: 2.985vw;
		letter-spacing: 1px;
	}

	.illustrated-book div[data-id="others"] .swiper-content .swiper-pagination .swiper-pagination-bullet::before {
		font-size: 2.488vw;
		letter-spacing: 0;
	}

	.illustrated-book .swiper-content .swiper-pagination .swiper-pagination-bullet::after {
		bottom: -.498vw;
		height: .498vw;
	}

	.illustrated-book .book-navi {
		border-top: .249vw solid #dadada;
		padding-top: 2.985vw;
	}


	.illustrated-book .book-navi li {
		line-height: 1;
		position: relative;
	}

	.illustrated-book .book-navi.first li,
	.illustrated-book .book-navi li:nth-of-type(2) { padding-right: 4.975vw; }

	.illustrated-book .book-navi:not(.first) li:nth-of-type(1) { padding-left: 4.975vw; }

	.illustrated-book .book-navi li button { font-size: 2.985vw; }

}

/* --------------------------------------------------------------------------------------
	リガクの技術図鑑
--------------------------------------------------------------------------------------- */

.closing-section {
	background: url(../img/75th/closing-gradation.png) no-repeat center top;
	margin-top: -159px;
	padding-bottom: 284px;
	padding-top: 433px;
}

.closing-section h2 {
	font-size: 4rem;
	font-weight: var(--Bold);
	letter-spacing: 1px;
}

.closing-section h2 span { display: block; }
.closing-section h2 span:nth-of-type(n+2) { margin-top: 28px; }

.closing-section .return-top-banner { margin-top: 130px; }

.closing-section .return-top-banner a {
	align-items: center;
	background-color: #fff;
	border-radius: 100vw;
	display: inline-flex;
	font-weight: var(--Bold);
	justify-content: center;
	min-height: 72px;
	min-width: 320px;
	transition: all .3s ease-in-out;
}

@media (any-hover: hover) {

	.closing-section .return-top-banner a:hover {
		background-color: var(--color-sky-blue);
		color: #fff;
		text-decoration: none;
	}
}

@media (max-width: 1099px) {

	.closing-section {
		background-image: url(../img/75th/closing-gradation-sp.png);
		background-size: 182% auto;
		margin-top: -12.667vw;
		padding-bottom: 48.01vw;
		padding-top: 54.333vw;
	}

	.closing-section h2 { font-size: 5.97vw; }
	.closing-section h2 span:nth-of-type(n+2) { margin-top: 7.214vw; }

	.closing-section .return-top-banner { margin-top: 18.657vw; }

	.closing-section .return-top-banner a {
		min-height: 11.94vw;
		min-width: 59.701vw;
	}
}