@charset "UTF-8";
/*
Theme Name: NSK 50th Theme
Theme URI: https://muuru-yoron.com/
Description: This is our original theme.
Author: Open Hand Service
Author URI: www.open-hand.jp
Version:1.0
/*

/*-------------------------------------------------
	Reset
-------------------------------------------------*/
html, body, div, span, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, abbr, address, cite, code, del, dfn, em, img, ins, kbd, q, samp, small, strong, sub, sup, var, b, i, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, figcaption, figure, footer, header, hgroup, menu, nav, section, summary, time, mark, audio, video {margin:0; padding:0; border:0; outline:0; vertical-align:baseline;background:transparent;}
body {line-height:1;}
article,aside,details,figcaption,figure, footer,header,hgroup,menu,nav,section {display:block;}
ul {list-style:none;}
blockquote, q {quotes:none;}
blockquote:before, blockquote:after, q:before, q:after {content:''; content:none;}
a {margin:0; padding:0; vertical-align:baseline; background:transparent;}
ins {background-color:#fff; color:#000; text-decoration:none;}
mark {background-color:#ff9; color:#000; font-style:italic; font-weight:bold;}
del {text-decoration: line-through;}
abbr[title], dfn[title] {border-bottom:1px dotted; cursor:help;}
table {border-collapse:collapse; border-spacing:0; font-size:inherit;}
hr {display:block; height:1px; border:0; border-top:1px solid #cccccc; margin:1em 0; padding:0;}
input, select {vertical-align:middle;}
img {vertical-align:top; font-size:0; line-height:0;}
button {margin: 0; padding: 0; border: none; background: none; cursor: pointer;}
figure {margin: 0;}

/*-------------------------------------------------
	Clearfix
-------------------------------------------------*/
.cf:after {content:"."; display:block; height:0; clear:both; visibility:hidden;}

/*-------------------------------------------------
	Base
-------------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
:root {
	--font-ja: "Noto Sans JP", "ヒラギノ角ゴシック", "Hiragino Sans", YuGothic, "Yu Gothic", "メイリオ", Meiryo, sans-serif;
	--font-en: "DM Sans", sans-serif;
	--font-tegaki: "Slackside One", cursive;
	--key-color: #1DBBA3;
	--key-color-orange: #EAAC2F;
	--text-color-grey: #747474;
	--text-color: #000;
	--text-color-white: #FFFDF3;
	--bg-color: #FFFDF3;
	--pd-side: 30px;
	--logo-box-width: 618px;
	--scrollbar-width: 10px;
}
@media screen and (max-width: 666px) {
	:root {
		--pd-side: 30px;
	}
}

body {
	position: relative;
	margin: 0;
	padding: 0;
	width: 100%;
	min-width: 1280px;
	font-family: var(--font-ja);
	font-weight: normal;
	font-style: normal;
	font-size: 100%;
	line-height: 1;
	letter-spacing: 0;
	color: var(--text-color);
	background-color: var(--bg-color);
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
.loading {
	width: 100%;
	height: 100%;
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	z-index: calc(infinity);
}
@media (scripting: none) {
	.loading {
		display: none;
	}
}
a:link,
a:visited {
	font-family: var(--font-ja);
	color: var(--text-color);
	text-decoration: none;
	outline: none;
	opacity: 1;
	transition: all .36s;
}
@media (hover: hover) {
	a:hover {
		text-decoration: none;
		opacity: .4;
		cursor: pointer;
	}
}
img {
	width: 100%;
	height: auto;
}
@media screen and (max-width: 666px) {
	body {
		min-width: 100%;
	}
}

/*-------------------------------------------------
	Commons
-------------------------------------------------*/
.ly_container {
	position: relative;
}
/* .ly_contents {
	padding: 0;
	width: 100%;
	height: 100%;
} */
.un_overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 253, 243, .6);
    z-index: 100;
}
body.un_noScroll {
	overflow: hidden;
}

/* Layout */
.ly_fL {
	float: left;
}
.ly_fR {
	float: right;
}
.ly_flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.ly_flex.fdC {
	flex-direction: column;
}
.ly_flex.fdR {
	flex-direction: row-reverse;
}
.ly_flex.jcC {
	justify-content: center;
}
.ly_flex.jcFs {
	justify-content: flex-start;
}
.ly_flex.jcFe {
	justify-content: flex-end;
}
.ly_flex.aiC {
	align-items: center;
}
.ly_w_100 {
	width: 100%;
}
.ly_w_100vw {
	margin-left: calc( -1 * var(--pd-side));
	width: calc(100% + (var(--pd-side) * 2));
}
.ly_w_wide {
	max-width: calc(1210px + (var(--pd-side) * 2));
}
.ly_w_mid {
	max-width: calc(1010px + (var(--pd-side) * 2));
}
.ly_w_wide,
.ly_w_mid {
	padding-left: var(--pd-side);
	padding-right: var(--pd-side);
	width: 100%;
	margin-inline: auto;
}
.hp_mA {
	margin-inline: auto;
}
@media screen and (max-width: 666px) {
	.sm_floatNone {
		float: none;
	}
	.sm_flexNone {
		display: block;
	}
}

/* Helper */
.la_dn, .la_dn_ib {
	display: none;
}
.sm_dn {
	display: block;
}
.sm_dn_ib {
	display: inline-block;
}
span.ib {
	display: inline-block;
}
.hp_pos_rel {
	position: relative;
}
.hp_txtA_c {
	text-align: center !important;
}
.hp_txtA_l {
	text-align: left !important;
}
.hp_txtA_r {
	text-align: right !important;
}
.hp_txt_bw {
	word-break: break-all;
}
.hp_txt_palt {
	font-feature-settings: "palt";
}
@media screen and (max-width: 666px) {
	.la_dn {
		display: block;
	}
	.la_dn_ib {
		display: inline-block;
	}
	.sm_dn, .sm_dn_ib {
		display: none !important;
	}
	.sm_w_100 {
		width: 100% !important;
	}
	.sm_w_100vw {
		margin-left: calc( -1 * var(--pd-side));
		width: calc(100% + (var(--pd-side) * 2)) !important;
	}
}

/* Margin */
.mgn_btm_high {
	margin-bottom: 150px;
}
.mgn_btm_mid {
	margin-bottom: 90px;
}
@media screen and (max-width: 666px) {
	.mgn_btm_high,
	.mgn_btm_mid {
		margin-bottom: 60px;
	}
}

/* Heading + Text */
.el_lv1H {
	margin-bottom: 0.8em;
	font-family: var(--font-ja);
	font-weight: 700;
	font-size: 30px;
	line-height: 1.333;
}
.el_lv1H.white {
	color: var(--text-color-white);
}
.el_lv1H.orange {
	color: var(--key-color-orange);
}
.el_lv1H.green {
	color: var(--key-color);
}
.el_lv1H span.en {
	display: block;
	margin-bottom: .4em;
	font-family: var(--font-tegaki);
	font-weight: 400;
	font-size: 25px;
	line-height: 1.333;
}
.el_lv2H {
	font-weight: 700;
	font-size: 15px;
	line-height: 1.8;
	color: var(--key-color);
	text-align: justify;
}
.el_lv2H.wht {
	color: var(--text-color-white);
}
.el_lv2H.grey {
	color: var(--text-color-grey);
}
p {
	font-size: 16px;
	line-height: 2;
	letter-spacing: 0;
	text-align: justify;
}
p:not(:last-of-type) {
	margin-bottom: 1em;
}
@media screen and (max-width: 666px) {
	.el_lv1H {
		margin-bottom: 1.7em;
		font-size: 22px;
	}
	.el_lv1H span.en {
		font-size: 18px;
	}
	.el_lv2H {
		font-size: 12px;
		line-height: 2;
	}
}

/* Fade in animation */
.bl_fadeIn {
	position: relative;
    opacity: 0;
	top: 0;
    transition-property: opacity, top;
	transition-delay: 300ms;
	transition-duration: 900ms;
	transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
.bl_fadeIn.in {
    opacity: 1;
	top: -10px;
}

/* Button */
.ly_btn_right {
	display: flex;
	justify-content: flex-end;
	width: 100%;
}
.el_btn_pill {
	display: flex;
	justify-content: center;
	align-items: center;
	margin-inline: auto;
	position: relative;
	width: 290px;
	height: 55px;
	text-align: center;
	border-radius: 100vh;
	/* background-color: rgba(255, 248, 215, 0.3); */
	background-color: rgba(29, 187, 163, 1);
	transition: background-color 0.3s;
}
a.el_btn_pill:hover {
	opacity: 1;
}
.el_btn_pill span.txt,
a.el_btn_pill span.txt {
	display: flex;
    align-items: center;
	font-weight: 700;
	font-size: 18px;
	line-height: 1;
	color: var(--text-color-white);
}
.el_btn_pill span.txt::before {
	content: "";
	display: inline-block;
	margin-right: 25px;
	width: 42px;
	height: 18px;
	background: center / contain no-repeat url("./img/cmn/arrow_left_md.svg");
}
.el_btn_pill:hover::before,
.el_btn_pill:hover::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	width: 24px;
	height: 60px;
	background: center / contain no-repeat url("./img/cmn/fig_btn_hover.svg");
	opacity: 0;
	transition: opacity 0.3s;
}
.el_btn_pill:hover::before {
	left: -7px;
}
.el_btn_pill:hover::after {
	right: -7px;
	transform: scale(-1, 1);
}
.el_btn_pill.green {
	background-color: var(--key-color);
}
a.el_btn_pill.green span.txt {
	transition: color 0.3s;
}
a.el_btn_pill.green:hover span.txt {
	color: var(--text-color-grey);
}
.el_btn_pill.green span.txt::before {
	transition: background-image 0.3s;
}
.el_btn_pill.green:hover span.txt::before {
	background-image: url("./img/cmn/arrow_left_md_grey.svg");
}
.el_btn_sm,
a.el_btn_sm {
	font-weight: 700;
	font-size: 12px;
	line-height: 1;
	color: var(--key-color);
}
.el_btn_sm::before {
	content: "";
	display: inline-block;
	margin-right: 18px;
	width: 50px;
	height: 10px;
	background: center / contain no-repeat url("./img/cmn/arrow_left_sm.svg");
}
@media (hover: hover) {
	.el_btn_pill:hover {
		/* background-color: rgba(255, 248, 215, 0); */
		background-color: rgba(29, 187, 163, 0);
	}
	.el_btn_pill:hover::before,
	.el_btn_pill:hover::after {
		opacity: 1;
	}
}
@media screen and (max-width: 666px) {
	.el_btn_pill {
		width: 220px;
		height: 45px;
	}
	.el_btn_pill span.txt::before {
		margin-right: 20px;
		width: 34px;
		height: 13px;
		background-image: url("./img/cmn/arrow_left_md_sm.svg");
	}
	.el_btn_pill span.txt, a.el_btn_pill span.txt {
		font-size: 14px;
	}
	.sm_btn_center {
		display: flex;
		justify-content: center;
	}
}

/* BG - Green Paper */
.un_bg_greenPaper_top,
.un_bg_greenPaper_bottom {
	position: relative;
	aspect-ratio: 1512 / 75;
	width: 100%;
	height: auto;
	background: top left / 100% auto url("./img/cmn/bg_greenPaper_top_x2_8b_v2.png");
}
.un_bg_greenPaper_bottom {
	background-image: url("./img/cmn/bg_greenPaper_bottom_x2_8b_v2.png");
}
.un_bg_greenPaper_top.rev,
.un_bg_greenPaper_bottom.rev {
	transform: scale(-1, 1);
}
.hp_bg_greenPaper {
	width: 100%;
	height: auto;
	background: center / 100% auto url("./img/cmn/bg_greenPaper_h300_x2_8b_v2.png");
}
@media screen and (max-width: 666px) {
	.un_bg_greenPaper_top,
	.un_bg_greenPaper_bottom {
		aspect-ratio: 390 / 50;
		background-image: url("./img/cmn/bg_greenPaper_top_x2_sm_v2.png");
	}
	.un_bg_greenPaper_bottom {
		background-image: url("./img/cmn/bg_greenPaper_bottom_x2_sm_v2.png");
	}
	.hp_bg_greenPaper {
		background-image: url("./img/cmn/bg_greenPaper_h400_x2_sm_v2.png");
	}
}

/* Modal Window */
.ly_modalWindow {
	display: none;
	justify-content: center;
	align-items: center;
	position: fixed;
	top: 0;
    left: 0;
	width: 100vw;
	height: 100svh;
	z-index: 201;
	pointer-events: none;
}
.bl_modalWindow {
	position: relative;
	border: 2px solid var(--key-color);
	border-radius: 20px;
	background-color: var(--bg-color);
	pointer-events: auto;
}
.el_modalWindow_ttl {
	font-family: var(--font-en);
	font-weight: 700;
	font-size: 18px;
	line-height: 1.333;
	color: var(--key-color);
	text-align: center;
}
.el_modalWindow_ttl span.ja {
	display: block;
	margin-top: 7px;
	font-family: var(--font-ja);
	font-size: 12px;
}
.bl_modalWindow_txt p,
p.el_modalWindow_txt {
	padding-right: var(--scrollbar-width);
	font-weight: 400;
	font-size: 15px;
	line-height: 1.866;
	overflow-y: auto;
}
.el_modalWindow_headline {
	margin-bottom: .85em;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.666;
}
.bl_modalWindow_txt p {
	line-height: 2;
}
.ly_modalClose {
	position: absolute;
	top: 12px;
	right: 12px;
	z-index: 113;
	cursor: pointer;
	text-align: center;
}
.el_iconClose {
	position: relative;
	width: 50px;
	height: 50px;
	cursor: pointer;
}
.el_iconClose::before,
.el_iconClose::after {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 20%;
	width: 60%;
	height: 2px;
	border-radius: 100vh;
	background-color: var(--key-color);
}
.el_iconClose::before {
	transform: rotate(-45deg);
}
.el_iconClose::after {
	transform: rotate(45deg);
}
.bl_modalWindow .ly_btn_right {
	margin-top: 12px;
	padding-right: var(--scrollbar-width);
}
.hp_original_scrollbar {
	overflow-y: scroll;
}
.hp_original_scrollbar::-webkit-scrollbar {
	width: 5px; /* 横スクロールバーの高さ、縦の幅 */
	background: transparent; /* スクロールバーの背景色 */
	border-radius: 0;
}
.hp_original_scrollbar::-webkit-scrollbar-thumb {
	background: #D9D9D9;
	border-radius: 100vh;
}
@media screen and (max-width: 666px) {
	.ly_modalWindow {
		padding-left: var(--pd-side);
		padding-right: var(--pd-side);
	}
	.el_modalWindow_ttl {
		font-size: 16px;
	}
	.el_modalWindow_ttl span.ja {
		margin-top: 3px;
		font-size: 11px;
	}
	.el_modalWindow_headline {
		margin-bottom: 0.6em;
		font-size: 15px;
		line-height: 1.6;
	}
	.bl_modalWindow_txt p, p.el_modalWindow_txt {
		padding-right: 0;
		font-size: 12px;
	}
	.ly_modalClose {
		top: 8px;
		right: 8px;
	}
	.el_iconClose {
		width: 40px;
		height: 40px;
	}
	.bl_modalWindow .ly_btn_right.sm_btn_center,
	.ly_rel .bl_modalWindow .ly_btn_right.sm_btn_center {
		position: absolute;
		right: 0;
		bottom: 35px;
		padding-right: 0;
	}
	/* .hp_original_scrollbar::-webkit-scrollbar {
		width: auto;
		background: initial;
		border-radius: initial;
	}
	.hp_original_scrollbar::-webkit-scrollbar-thumb {
		background: initial;
		border-radius: initial;
	} */
}

/* Pager */
.nav-links {
	text-align: center;
}
a.page-numbers,
.page-numbers {
	margin: 0 .5em;
	font-family: var(--font-en);
	font-weight: 500;
	font-size: 20px;
	line-height: 1;
	color: var(--key-color);
}
.page-numbers.current {
	color: var(--text-color-grey);
}
.nav-links a.next::after,
.nav-links a.prev::after {
	content: "";
	display: inline-block;
	margin: 0 0 0 .5em;
	width: 50px;
    height: 10px;
    background: center / contain no-repeat url(./img/cmn/arrow_left_sm.svg);
}
.nav-links a.prev::after {
	margin: 0 .5em 0 0;
	transform: scale(-1, 1);
}
@media screen and (max-width: 666px) {
	a.page-numbers,
	.page-numbers {
		font-size: 18px;
	}
}

/*-------------------------------------------------
	Header
-------------------------------------------------*/
.ly_hdr {
	position: relative;
	z-index: 101;
}
/* Global-Nav */
.ly_gNav {
	position: fixed;
	top: 0;
	right: 0;
	width: var(--logo-box-width);
	height: 100%;
	visibility: hidden;
	opacity: 0;
	transition: opacity .4s;
	z-index: 102;
	pointer-events: none;
}
.ly_gNav.active {
	visibility: visible;
	opacity: 1;
	transition: opacity .4s;
	pointer-events: auto;
}
.ly_gNav .bl_50th_logoSet {
	margin-top: 43px;
}
.bl_gNav {
	display: flex;
}
.ly_gNav .bl_gNav {
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 58px;
	width: 75%;
}
.ly_gNav .bl_gNav > li {
	margin-top: 37px;
	margin-left: 1em;
	margin-right: 1em;
}
.bl_gNav > li + li {
	margin-left: 2em;
}
.bl_gNav > li > a {
	display: block;
	font-weight: 700;
	font-size: 16px;
	line-height: 1;
	color: var(--key-color);
}
.bl_gNav > li.hp_enTtl > a::before {
	content: "";
	display: block;
	margin-bottom: 0.6em;
	font-family: var(--font-tegaki);
	font-weight: 400;
	font-size: 13px;
	line-height: 1;
	text-align: center;
	text-transform: uppercase;
}
.bl_gNav > li.message > a::before {
	content: "message";
}
.bl_gNav > li.history > a::before {
	content: "timeline";
}
.bl_gNav > li.episode > a::before {
	content: "episode";
}
.bl_gNav > li.relations > a::before {
	content: "relations";
}
.bl_gNav > li.topics > a::before {
	content: "topics";
}
@media screen and (max-width: 666px) {
	/* Global-Nav */
	.ly_gNav .ly_50th_logoSet {
		margin-top: 0;
		padding: 0 0 35px;
		width: 100vw;
		/* height: 100svh; */
		height: 100vh;
		overflow-y: auto;
	}
	.ly_gNav .bl_50th_logoSet {
		margin-top: 0;
	}
	.ly_gNav .bl_gNav {
		flex-direction: column;
		align-items: center;
		margin-top: 45px;
	}
	.ly_gNav .bl_gNav > li {
		margin-top: 25px;
	}
}
@media (max-width: 666px) and (max-height: 666px) {
	.ly_gNav .bl_gNav {
		margin-top: 20px;
	}
	.ly_gNav .bl_gNav > li {
        margin-top: 20px;
    }
}

/* Hamburger Menu */
.un_btn_hbg {
	display: block;
	position: fixed;
	top: 55px;
	right: 55px;
	margin: auto;
	width: 75px;
	height: 40px;
	z-index: 102;
}
.un_btn_hbg > span {
	display: block;
	position: absolute;
	left: 10px;
	width: 55px;
	height: 3px;
	border-radius: 100vh;
	background-color: var(--key-color);
	transition: all .4s;
}
.un_btn_hbg.active span {
	left: 15px;
	width: 45px;
}
.un_btn_hbg span:nth-of-type(1) {
	top: 10px;
}
.un_btn_hbg span:nth-of-type(2) {
	top: 27px;
}
.un_btn_hbg.active span:nth-of-type(1) {
	transform: translateY(8.5px) translateX(0) rotate(40deg);
}
.un_btn_hbg.active span:nth-of-type(2) {
	transform: translateY(-8.5px) translateX(0) rotate(-40deg);
}
.un_btn_hbg.wht > span {
	background-color: var(--text-color-white);
}
.un_btn_hbg.wht.active > span {
	background-color: var(--key-color);
}
@media screen and (max-width: 666px) {
	.un_btn_hbg {
		position: fixed;
		top: 20px;
		right: 20px;
		width: 62px;
		/* height: 34px; */
		height: 36px;
	}
	.un_btn_hbg > span {
		width: 42px;
		height: 2px;
	}
	.un_btn_hbg.active span {
		left: 9px;
	}
	.un_btn_hbg span:nth-of-type(1) {
		top: 11px;
	}
	.un_btn_hbg span:nth-of-type(2) {
		/* top: 21px; */
		top: 23px;
	}
	.un_btn_hbg.active span:nth-of-type(1) {
		/* transform: translateY(5px) translateX(0) rotate(40deg); */
		transform: translateY(6px) translateX(0) rotate(40deg);
	}
	.un_btn_hbg.active span:nth-of-type(2) {
		/* transform: translateY(-5px) translateX(0) rotate(-40deg); */
		transform: translateY(-6px) translateX(0) rotate(-40deg);
	}
}

/*-------------------------------------------------
	Top | First View
-------------------------------------------------*/
.ly_fV {
	aspect-ratio: 2 / 1;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.ly_fV_photoGrid {
	/* width: 100%; */
	width: 100vw;
	height: 100%;
	/* background-color: #eee; */
	overflow: hidden;
}
@media screen and (max-width: 666px) {
	.ly_fV {
		/* aspect-ratio: 52 / 117; */
		aspect-ratio: 1 / 2.124;
	}
}

/* Random Photo Grid */
/* PC共通 */
.ly_randomPhoto {
  display: flex;
  position: relative;
  width: 100vw; /* 初期値OK（JSで上書きされる） */
  /* height: 50vw; ← JSでセットするなら不要 */
  will-change: transform;
  margin: 0; padding: 0; box-sizing: border-box;
  overflow: hidden; /* 追加推奨 */
}
.bl_randomPhoto {
  flex-shrink: 0;
  margin: 0; padding: 0; box-sizing: border-box;
  display: grid;
  grid-template-rows: repeat(4, 1fr);
  grid-template-columns: repeat(9, 1fr);
  /* width/height: JSでセットするので初期値は不要 */
}
.el_randomPhoto {
  aspect-ratio: 1 / 1;
  width: 100%;
  height: 100%;
  background-size: cover;
  background-position: center;
  box-sizing: border-box;
  margin: 0; padding: 0;
  opacity: 0;
  transition: opacity 0.5s ease;
}
/* スマホ用 */
@media (max-width: 666px) {
  .ly_randomPhoto {
    display: block;
    position: relative;
    width: 100vw;
    /* height: 225vw; ← 不要。高さはJSでセットするので削除 */
    overflow: hidden;
  }
  .bl_randomPhoto {
    display: grid;
    grid-template-rows: repeat(9, 1fr);
    grid-template-columns: repeat(4, 1fr);
    width: 100vw;
    /* height: 225vw; ← 不要。高さはJSでセットするので削除 */
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }
}

/* 50th Logo + Fade Animation */
.un_btn_hbg,
body.home .ly_50th_logoSet,
body.home .el_50th_arigato,
body.home .el_50th_logo,
body.home .el_50th_nsk,
body.home .un_fv_lv2H {
    opacity: 0; /* 初期状態で非表示 */
    transition: opacity 0.2s ease-out; /* アニメーション効果 */
}
.ly_50th_logoSet,
.bl_50th_logoSet {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.ly_50th_logoSet {
	position: absolute;
	top: 0;
	right: 0;
	width: var(--logo-box-width);
	height: 100%;
	background-color: var(--bg-color);
}
.ly_fV .bl_50th_logoSet,
.ly_fV .un_fv_lv2H {
	margin-left: -20px;
}
.el_50th_arigato {
	margin-bottom: 21px;
	width: 228px;
}
.el_50th_logo,
.ly_fV .el_50th_logo::after {
	width: 320px;
	height: 186px;
}
.el_50th_logo {
	position: relative;
	margin-bottom: 30px;
	margin-left: -10px;
}
.ly_fV .el_50th_logo::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	background: center / contain no-repeat url("./img/top/fv_logo_50th_aft_part.png");
	opacity: 0;
	animation: blink 1s infinite steps(1, start); /* 点滅アニメーション */
}
/* 点滅アニメーション */
@keyframes blink {
	0%, 50% {
		opacity: 0; /* 最初と中間は透明 */
	}
	51%, 100% {
		opacity: 1; /* 表示 */
	}
}
.el_50th_nsk {
	margin-left: -20px;
	width: 296px;
}
.un_fv_lv2H {
	margin-top: 90px;
	font-weight: 700;
	font-size: 16px;
	line-height: 1.538;
	letter-spacing: .05em;
	text-align: center;
	color: var(--key-color);
}
@media screen and (max-width: 666px) {
	.ly_fV .ly_50th_logoSet {
		width: 100vw;
		/* height: 112.8vw; */
		height: auto;
	}
	.ly_fV .ly_50th_logoSet::after {
		content: "";
		position: absolute;
		bottom: -6.4vw;
		left: 0;
		width: 100vw;
		height: 6.41vw;
		background: top left / 100% auto url("./img/top/bg_fv_bottom_x2_sm.png")
	}
	.ly_50th_logoSet,
	.bl_50th_logoSet{
		justify-content: flex-start;
	}
	.bl_50th_logoSet {
		margin-left: 0 !important;
		/* padding-top: 18.5vw; */
		padding-top: 16.5vw;
	}
	.el_50th_arigato {
		/* margin-bottom: 3.33vw; */
		margin-bottom: 3vw;
		/* width: 46.15vw; */
		width: 41vw;
	}
	.el_50th_logo,
	.ly_fV .el_50th_logo::after {
		/* width: 53.85vw; */
		width: 48vw;
		/* height: 31.28vw; */
		height: 27.84vw;
	}
	.el_50th_logo {
		position: relative;
		/* margin-bottom: 5.13vw; */
		margin-bottom: 4.5vw;
		margin-left: 0;
	}
	.el_50th_nsk {
		/* margin-left: -1.54vw; */
		margin-left: 0;
		/* width: 49.74vw; */
		width: 47vw;
	}
	.ly_fV .un_fv_lv2H {
		/* margin-top: 11.54vw; */
		margin-top: 10vw;
		margin-left: 0;
		padding-bottom: 6vw;
		/* font-size: 3.33vw; */
		font-size: 3vw;
		letter-spacing: .075em;
	}
}

/*-------------------------------------------------
	Top | Message
-------------------------------------------------*/
#message {
	position: relative;
	opacity: 0;
    top: 0;
    transition-property: opacity, top;
	transition-duration: 900ms;
	transition-timing-function: cubic-bezier(0.445, 0.05, 0.55, 0.95);
}
#message.fadeIn {
    opacity: 1;
    top: -70px;
}
.ly_msg {
	position: relative;
	padding: 40px 0 80px;
}
.ly_msg .el_lv1H {
	margin-bottom: 1.85em;
}
.un_illust_msg {
	position: absolute;
	top: 84px;
	left: 50%;
	transform: translateX(-50%);
	margin-left: 110px;
	width: 45px;
	height: auto;
}
.ly_msg p {
	font-weight: 500;
	font-size: 19px;
	line-height: 2;
	text-align: center;
	color: var(--text-color-white);
}
.ly_msg p:not(:last-of-type) {
	margin-bottom: 1.8em;
}
.ly_msg .el_btn_pill {
	margin-top: 73px;
}
@media screen and (max-width: 666px) {
	#message.fadeIn {
		top: -50px;
	}
	.ly_msg {
		padding: 110px 10px 70px;
	}
	.un_illust_msg {
		top: 40px;
		margin-left: 0;
		width: 40px;
	}
	.ly_msg .el_lv1H {
		margin-bottom: 1.5em;
	}
	.ly_msg p {
		font-size: 14px;
		line-height: 2.5;
	}
	.ly_msg p:not(:last-of-type) {
		margin-bottom: 2.5em;
	}
	.ly_msg .el_btn_pill {
		margin-top: 68px;
	}
}

/*-------------------------------------------------
	Top | History
-------------------------------------------------*/
.ly_hist {
	padding: 60px 0 150px;
}
.ly_hist_ttl {
	position: relative;
	margin-bottom: 70px;
	align-items: flex-start;
}
.un_illust_hist {
	position: absolute;
	top: -21px;
    left: 249px;
    width: 200px;
    height: auto;
    transform: rotate(10deg);
}
.bl_hist_decade {
	text-align: center;
	margin-top: 60px;
}
.el_hist_decade {
	position: relative;
	font-family: var(--font-en);
	font-weight: 600;
	font-size: 20px;
	line-height: 1.2;
	color: var(--text-color-grey);
	transition: color .3s;
	cursor: pointer;
}
.el_hist_decade::before {
    content: "";
    display: block;
    position: absolute;
	left: 0;
	right: 0;
    bottom: 14px;
	margin: auto;
    width: 24px;
    height: 60px;
    background: center / contain no-repeat url(./img/cmn/fig_btn_hover.svg);
    opacity: 0;
	transform: rotate(90deg);
    transition: opacity 0.3s;
}
.el_hist_decade:hover,
.el_hist_decade.active {
	color: var(--key-color-orange);
}
.el_hist_decade:hover::before,
.el_hist_decade.active::before {
	opacity: 1;
}
.el_hist_decade + .el_hist_decade {
	margin-left: 2em;
}
.ly_hist_slider .slick-slide {
    margin-right: 25px !important;
    margin-left: 25px !important;
}
.el_hist_year {
	display: inline-block;
	position: relative;
	margin-bottom: 44px;
	width: 100%;
	font-family: var(--font-en);
	font-weight: 600;
	font-size: 40px;
	line-height: 1;
	color: #000;
	background-color: var(--bg-color);
}
.el_hist_year.hp_year_dn {
	color: transparent;
}
.el_hist_year::before {
	content: '';
	display: block;
	position: absolute;
	top: 18px;
	left: 120px;
	width: calc(100% - 120px);
	height: 4px;
	background-color: var(--key-color-orange);
}
.el_hist_year.hp_year_dn::before {
	left: -50px;
	width: calc(100% + 50px);
}
.el_hist_year::after {
	content: '';
	display: block;
	position: absolute;
	top: 10px;
	/* left: 107px; */
	left: 117px;
	width: 19px;
	height: 19px;
	border-radius: 100%;
	background-color: var(--key-color-orange);
}
.el_hist_year.hp_year_dn::after {
	display: none;
}
.bl_hist_article {
	padding: 42px 44px 54px 54px;
	width: 563px;
	height: 400px !important;
	border-radius: 20px;
	background-color: #FFF3D1;
}
.el_hist_ttl {
	font-weight: 500;
	font-size: 23px;
	line-height: 1.5;
}
.bl_hist_meta {
	margin: 20px 0;
	min-height: 29px;
}
.el_hist_wareki {
	margin-right: 15px;
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	color: var(--text-color-grey);
}
.el_hist_kind {
	display: block;
	padding: 4px 10px 6px;
	font-weight: 700;
	font-size: 15px;
	line-height: 1;
	color: var(--key-color-orange);
	border: 1px solid var(--key-color-orange);
	border-radius: 6px;
	background-color: var(--bg-color);
}
.el_hist_kind.tag-houjin {
	color: #fff;
	border-color: #1DBBA3;
	background-color: #1DBBA3;
}
.el_hist_kind.tag-shitsu-koujou {
	color: #fff;
	border-color: #D1C63D;
	background-color: #D1C63D;
}
.el_hist_kind.tag-seisaku {
	color: #fff;
	border-color: #6697CE;
	background-color: #6697CE;
}
.el_hist_kind.tag-fukyu-keihatsu {
	color: #fff;
	border-color: #F7768B;
	background-color: #F7768B;
}
.el_hist_kind.tag-seishin-shien {
	color: #fff;
	border-color: #2BCFD2;
	background-color: #2BCFD2;
}
.el_hist_kind.tag-saigai {
	color: #fff;
	border-color: #E35353;
	background-color: #E35353;
}
.el_hist_kind + .el_hist_kind {
	margin-left: 6px;
}
.el_hist_kind > a {
	color: var(--key-color-orange);
	pointer-events: none;
}
.el_hist_img {
	display: grid;
    place-items: center;
	align-items: start;
	padding-right: 30px;
	width: calc(100% - 210px);
	height: 200px;
}
.el_hist_img img {
	display: block;
    max-width: 225px;
    max-height: 200px;
    width: auto;
    height: auto;
}
.bl_hist_txt p {
	padding-right: var(--scrollbar-width);
	font-weight: 500;
	font-size: 15px;
	line-height: 1.666;
	color: #000;
}
.bl_hist_txt p {
	width: 100%;
	max-height: 200px;
	overflow-y: auto;
}
.bl_hist_txt.ly_flex p {
	margin-top: -0.4em;
	width: 210px;
}
.slick-arrow {
	display: block;
	position: absolute;
	bottom: -75px;
	font-weight: 700;
	font-size: 20px;
	line-height: 1;
	color: var(--text-color-grey);
	cursor: pointer;
	opacity: 1;
	transition: opacity .3s;
}
@media (hover: hover) {
	.slick-arrow:hover {
		opacity: .4;
	}
}
.slick-arrow.slick-disabled {
	opacity: 0;
	transition: opacity .3s;
	pointer-events: none;
}
.slick-arrow::after {
	content: "";
	display: block;
	position: absolute;
	top: 4px;
	width: 62px;
	height: 12px;
	background: center / contain no-repeat url(./img/cmn/arrow_left_la.svg);
}
.slick-arrow.prev {
	left: 90px;
}
.slick-arrow.prev::after {
	left: 60px;
	transform: scale(-1, 1);
}
.slick-arrow.next {
	right: 90px;
}
.slick-arrow.next::after {
	right: 60px;
}
.ly_w_hist_single {
	margin-top: 80px;
	width: calc(563px + (var(--pd-side) * 2));
}
@media screen and (max-width: 666px) {
	.ly_hist {
		padding: 20px 0 135px;
	}
	.ly_hist_ttl {
		margin-bottom: 45px;
	}
	.un_illust_hist {
		top: -5px;
		left: unset;
		right: var(--pd-side);
		width: 170px;
		transform: none;
	}
	.bl_hist_decade {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		margin-top: 47px;
	}
	.el_hist_decade {
		font-size: 14px;
	}
	.el_hist_decade + .el_hist_decade {
		margin-left: 0.5em;
	}
	.el_hist_decade::before {
		bottom: 10px;
		width: 15px;
		height: 38px;
	}

	.el_hist_year {
		margin-bottom: 30px;
		font-size: 32px;
	}
	.el_hist_year::before {
		top: 14px;
		left: 100px;
		width: calc(100% - 100px);
		height: 3px;
	}
	.el_hist_year::after {
		top: 8px;
		left: 95px;
		width: 15px;
		height: 15px;
	}
	.bl_hist_article {
		padding: 20px 25px;
		width: 290px;
		height: 460px !important;
		border-radius: 14px;
	}
	.el_hist_ttl {
		font-size: 18px;
		line-height: 1.444;
	}
	.el_hist_wareki {
		margin-right: 10px;
		font-size: 12px;
	}
	.el_hist_kind {
		padding: 3px 8px 4px;
		font-size: 12px;
		border-radius: 4px;
	}
	.bl_hist_meta {
		margin: 6px 0 12px;
	}
	.bl_hist_txt.ly_flex {
		flex-direction: column;
	}
	.el_hist_img {
		margin-bottom: 10px;
		width: 100%;
		height: 180px;
	}
	.el_hist_img img {
		max-width: 240px;
		max-height: 180px;
	}
	.bl_hist_txt p,
	.bl_hist_txt.ly_flex p {
		font-size: 12px;
		line-height: 1.833;
	}
	.bl_hist_txt p {
		margin-top: 30px;
		max-height: 310px;
	}
	.bl_hist_txt.ly_flex p {
		margin-top: 0;
		width: 100%;
		max-height: 135px;
	}

	.ly_hist_slider .slick-slide {
		margin-right: 12px !important;
		margin-left: 12px !important;
	}
	.slick-arrow {
		bottom: -53px;
		font-size: 14px;
	}
	.slick-arrow::after {
		top: 0;
		width: 50px;
		height: 13px;
		background-image: url(./img/cmn/arrow_left_la_sm.svg);
	}
	.slick-arrow.prev {
		left: var(--pd-side);
	}
	.slick-arrow.prev::after {
		left: 40px;
		transform: scale(-1, 1);
	}
	.slick-arrow.next {
		right: var(--pd-side);
	}
	.slick-arrow.next::after {
		right: 40px;
	}
	.ly_w_hist_single {
		margin-top: 65px;
		width: calc(290px + (var(--pd-side) * 2));
	}
}
@media screen and (max-width: 389px) {
	.ly_hist_slider .slick-slide {
		margin-right: 12px !important;
		margin-left: 12px !important;
	}
}

/*-------------------------------------------------
	Top | Episode
-------------------------------------------------*/
.wrap_epi {
	padding: 60px 0;
}
.ly_epi {
	position: relative;
	padding-bottom: 52px;
}
.un_illust_epi {
	position: absolute;
	top: 64px;
	left: 500px;
	width: 220px;
	height: auto;
}
.ly_epi_mrq {
	display: flex;
	position: relative;
	margin-bottom: 60px;
	height: 398px;
	overflow: hidden;
}
.bl_epi_mrq { /* マルキュー効果: 20秒で1周 */
	display: flex;
	animation: marquee 30s linear infinite;
}
@keyframes marquee {
	from {
		transform: translateX(0); /* 初期位置 */
	}
	to {
		transform: translateX(-33.33%); /* コンテナ全体を左に移動（3回繰り返した場合） */
	}
}
/* ホバー時にアニメーションを一時停止 */
/* .ly_epi_mrq:hover .bl_epi_mrq {
	animation-play-state: paused;
} */
.ly_epi_box,
.ly_epi_box::after {
	position: relative;
	width: 480px;
	height: 180px;
	overflow: hidden;
}
.ly_epi_box {
	border-radius: 25px;
	background-color: #fff;
}
.bl_epi_mrq .ly_epi_box {
	margin-bottom: 20px;
}
.ly_epi_box:hover {
	cursor: pointer;
}
.ly_epi_box::after {
	content: "";
	display: block;
	position: absolute;
	top: 0;
	left: 0;
	border: 0 solid transparent;
	border-radius: 24px;
	box-sizing: border-box;
	transition: border .3s;
}
.ly_epi_box:hover::after,
.bl_epiPage .ly_epi_box::after {
	border: 2px solid var(--key-color);
}
.bl_epi_mrq .ly_epi_box:nth-of-type(even) {
	margin-left: -240px; /* 偶数ボックスを右に240pxずらす */
	margin-top: 218px; /* 偶数ボックスを下にずらす */
}
.bl_epi_mrq .ly_epi_box:nth-of-type(odd) {
	margin-left: -215px; /* 奇数ボックスはそのまま */
}
a.ly_epi_link {
	display: flex;
}
a.ly_epi_link:hover {
	opacity: 1;
}
.bl_epi_port {
	width: 190px;
	height: 180px;
}
.bl_epi_txt {
	display: flex;
	flex-direction: column;
	justify-content: center;
	width: calc(100% - 190px);
	padding: 15px 30px;
}
.el_epi_name {
	margin-bottom: 1em;
	font-weight: 700;
	font-size: 12px;
	line-height: 1.666;
	color: var(--text-color-grey);
}
span.el_epi_role {
	display: block;
}
p.el_epi_message {
	max-height: 75px;
	font-weight: 500;
	font-size: 16px;
	line-height: 1.5;
	color: #000;
}
@media screen and (max-width: 1289px) {
	.un_illust_epi {
		left: 525px;
	}
}
@media screen and (max-width: 666px) {
	#episode .un_bg_greenPaper_top.rev,
	#episode .un_bg_greenPaper_bottom.rev {
		transform: unset;
	}
	.wrap_epi {
		padding: 70px 0 50px;
	}
	.ly_epi {
		padding-bottom: 40px;
	}
	.un_illust_epi {
		top: 7px;
		left: unset;
		right: var(--pd-side);
		width: 127px;
	}
	.ly_epi_mrq {
		margin-bottom: 55px;
		height: 285px;
	}
	.ly_epi_box,
	.ly_epi_box::after {
		width: 330px;
		height: 130px;
		border-radius: 18px;
	}
	.bl_epi_mrq .ly_epi_box:nth-of-type(even) {
		margin-left: -165px; /* 偶数ボックスを右に240pxずらす */
		margin-top: 155px; /* 偶数ボックスを下にずらす */
	}
	.bl_epi_mrq .ly_epi_box:nth-of-type(odd) {
		margin-left: -140px; /* 奇数ボックスはそのまま */
	}
	.bl_epi_port {
		width: 130px;
		height: 130px;
	}
	.bl_epi_port img {
		aspect-ratio: 1 / 1;
		overflow: hidden;
		object-fit: cover;
		object-position: center;
	}
	.bl_epi_txt {
		width: calc(100% - 130px);
		padding: 10px 20px;
	}
	.el_epi_name {
		font-size: 10px;
		line-height: 1.5;
	}
	p.el_epi_message {
		font-size: 12px;
	}
}

/* #episode - Modal Window */
.bl_modalWindow.mid {
	width: 100%;
	max-width: 700px;
	height: 100%;
	max-height: 348px;
	padding: 38px 68px 48px 78px;
}
.bl_modalWindow.mid .el_modalWindow_ttl {
	margin-bottom: 14px;
}
.bl_mdlEpi_port {
	width: 160px;
}
.bl_mdlEpi_port img {
	aspect-ratio: 1 / 1;
    overflow: hidden;
    object-fit: cover;
    object-position: center;
}
.bl_mdlEpi_txt {
	width: calc(100% - 160px);
	padding-left: 30px;
}
.bl_mdlEpi_txt .el_epi_name {
	margin-top: -0.4em;
	padding-right: var(--scrollbar-width);
}
.bl_mdlEpi_txt .el_epi_role {
	display: unset;
	margin-left: 1em;
}
.bl_mdlEpi_txt p.el_modalWindow_txt {
	max-height: 140px;
}
@media screen and (max-width: 666px) {
	.bl_modalWindow.mid {
		padding: 25px 20px 30px 30px;
		max-width: 330px;
		max-height: 550px;
	}
	.bl_modalWindow.mid::after {
		content: "";
		display: block;
		position: absolute;
		bottom: 55px;
		left: 0;
		width: 100%;
		height: 50px;
		background: linear-gradient(to top, rgba(255, 253, 243, 1) 0%, rgba(255, 253, 243, 1) 50%, rgba(255, 253, 243, 0) 100%);
	}
	.bl_modalWindow.mid .el_modalWindow_ttl {
		margin-bottom: 35px;
		padding-right: var(--scrollbar-width);
	}
	.bl_modalWindow.mid .ly_flex {
        padding-right: var(--scrollbar-width);
        max-height: 375px;
        overflow-y: auto;
    }
	.bl_mdlEpi_port {
		margin-inline: auto;
		margin-bottom: 13px;
		width: 150px;
		height: 150px;
	}
	.bl_mdlEpi_txt {
		width: 100%;
		padding-left: 0;
	}
	.bl_mdlEpi_txt .el_epi_name {
		margin-top: 0;
		padding-right: 0;
		font-weight: 500;
		text-align: center;
		height: 43px;
	}
	.bl_mdlEpi_txt .el_epi_role {
		display: block;
		margin-left: 0;
	}
	.bl_mdlEpi_txt p.el_modalWindow_txt {
		padding-bottom: 2em;
		max-height: unset;
		font-size: 13px;
		line-height: 2;
	}
}

/*-------------------------------------------------
	Top | Relations
-------------------------------------------------*/
.ly_rel {
	padding-top: 120px;
	padding-bottom: 35px;
}
.ly_rel_ttl {
	position: relative;
	padding-right: 30px;
	width: 310px;
}
.un_illust_rel {
	position: absolute;
	top: 234px;
	left: 30px;
	width: 205px;
	height: auto;
}
.wrap_rel_slider {
	margin-right: -15px;
	width: calc(100% - 310px);
}
.ly_rel_slider {
	margin-bottom: 54px;
}
.ly_rel_slider .slick-slide {
    margin-right: 15px !important;
    margin-left: 15px !important;
}
a.ly_rel_link {
	display: block;
	padding: 43px 25px 25px;
	height: 100%;
	min-height: 360px;
	border: 2px solid var(--key-color);
	border-radius: 25px;
	background-color: #DEF7F3;
	transition: background-color .3s;
}
a.ly_rel_link:hover {
	opacity: 1;
	background-color: #DAF9EA;
}
.bl_rel_port {
	margin-inline: auto;
	margin-bottom: 20px;
	width: 150px;
	height: 150px;
	border-radius: 100%;
	overflow: hidden;
}
#top-message .bl_rel_port {
	/* width: 160px;
	height: 160px; */
	border-radius: 0;
}
.bl_rel_port img {
	aspect-ratio: 1 / 1;
	object-fit: cover;
	object-position: center;
}
.el_rel_name {
	font-weight: 700;
	font-size: 18px;
	line-height: 1.333;
	color: #000;
	text-align: center;
}
span.el_rel_role {
	display: block;
	margin-top: 1em;
	margin-bottom: 0.75em;
	font-weight: 500;
	font-size: 12px;
	line-height: 1.666;
	color: var(--text-color-grey);
}
.slick-arrow.mini {
	bottom: -54px;
	font-size: 16px;
}
.slick-arrow.mini::after {
	top: 2px;
	background-image: url("./img/cmn/arrow_left_la_green.svg");
}
.slick-arrow.mini.prev {
	left: 40px;
}
.slick-arrow.mini.prev::after {
	left: 52px;
}
.slick-arrow.mini.next {
	right: 40px;
}
.slick-arrow.mini.next::after {
	right: 52px;
}
.ly_rel_slider .el_btn_pill {
	display: block;
}
@media screen and (max-width: 666px) {
	.ly_rel {
		padding-top: 90px;
		padding-bottom: 60px;
	}
	.ly_rel_ttl {
		margin-bottom: 40px;
		padding-right: 0;
	}
	.un_illust_rel {
		top: 6px;
		left: unset;
		right: 0;
		width: 137px;
	}
	.ly_rel_slider {
		margin-bottom: 100px;
	}
	.ly_rel_slider .slick-slide {
		margin-right: 12px !important;
		margin-left: 12px !important;
	}
	a.ly_rel_link {
		padding: 30px 20px 10px;
		width: 250px;
		min-height: 320px;
	}
	.bl_rel_port {
		margin-bottom: 12px;
		width: 130px;
		height: 130px;
	}
	.ly_rel_link .bl_rel_port {
		margin-bottom: 20px;
	}
	.ly_rel_link .el_rel_name {
		font-size: 16px;
	}
	span.el_rel_role {
		margin-top: 0.3em;
		margin-bottom: 0.3em;
	}
	.ly_rel_link span.el_rel_role {
		margin-top: 1em;
		margin-bottom: 0;
		font-weight: 500;
		font-size: 12px;
	}
	.slick-arrow.mini {
		bottom: -56px;
		font-size: 14px;
	}
	.slick-arrow.mini::after {
		top: 0;
		width: 50px;
		height: 13px;
		background-image: url("./img/cmn/arrow_left_la_green_sm.svg");
	}
	.slick-arrow.mini.prev {
		left: var(--pd-side);
	}
	.slick-arrow.mini.next {
		right: var(--pd-side);
	}
	.slick-arrow.mini.prev::after {
		left: 40px;
	}
	.slick-arrow.mini.next::after {
		right: 40px;
	}
}

/* #relations - Modal Window */
.bl_modalWindow.wide {
	width: 100%;
	max-width: 800px;
	height: 100%;
	max-height: 500px;
	padding: 38px 70px 48px 60px;
}
.bl_modalWindow.wide .el_modalWindow_ttl {
	margin-bottom: 40px;
}
.bl_mdRel_port {
	width: 190px;
}
.bl_mdRel_txt {
	position: relative;
	margin-top: -0.3em;
	padding-left: 55px;
	width: calc(100% - 190px);
}
.bl_mdRel_txt::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 0;
	left: 15px;
	width: calc(100% - 20px);
	height: 70px;
	background: linear-gradient(to top, rgba(255, 253, 243, 1) 0%, rgba(255, 253, 243, 0) 100%);
	/* background: linear-gradient(to top, rgba(255, 253, 243, 1) 0%, rgba(255, 253, 243, .25) 50%, rgba(255, 253, 243, 0) 100%); */
}
.bl_mdRel_txt .bl_modalWindow_txt {
	padding-bottom: 50px;
	max-height: 290px;
	overflow-y: auto;
}
.ly_rel .bl_modalWindow .ly_btn_right {
	position: absolute;
	bottom: 45px;
	right: 60px;
}
@media screen and (max-width: 666px) {
	.bl_modalWindow.wide {
		position: relative;
		padding: 25px 20px 30px 30px;
		max-width: 330px;
		max-height: 550px;
	}
	.bl_modalWindow.wide::after {
		content: "";
		display: block;
		position: absolute;
		bottom: 50px;
		left: 0;
		width: 100%;
		height: 50px;
		background: linear-gradient(to top, rgba(255, 253, 243, 1) 0%, rgba(255, 253, 243, 1) 50%, rgba(255, 253, 243, 0) 100%);
	}
	#message .bl_modalWindow.wide::after {
		bottom: 30px;
		height: 50px;
		/* background: linear-gradient(to top, rgba(255, 253, 243, 1) 0%, rgba(255, 253, 243, 0) 100%); */
	}
	.bl_modalWindow.wide .el_modalWindow_ttl {
		margin-bottom: 20px;
		padding-right: 10px;
	}
	#message .bl_modalWindow.wide .el_modalWindow_ttl {
		margin-bottom: 30px;
	}
	.bl_modalWindow.wide .ly_flex {
		padding-right: var(--scrollbar-width);
		max-height: 390px;
		overflow-y: auto;
	}
	#message .bl_modalWindow.wide .ly_flex {
		max-height: 410px;
	}
	.bl_mdRel_port {
		margin-inline: auto;
		margin-bottom: 10px;
		min-height: 215px;
	}
	.el_rel_name {
		font-size: 12px;
	}
	span.el_rel_role {
		font-weight: 400;
		font-size: 10px;
	}
	.bl_mdRel_txt {
		margin-top: 0;
		padding-left: 0;
		width: 100%;
	}
	.bl_mdRel_txt::after {
		display: none;
	}
	.bl_mdRel_txt .bl_modalWindow_txt {
		padding-bottom: 30px;
		max-height: unset;
		overflow: auto;
	}
}

/*-------------------------------------------------
	Top | Topics
-------------------------------------------------*/
#topics {
	padding-top: 135px;
}
.ly_tpsTtl {
	position: relative;
	width: 285px;
}
.un_illust_tps {
	position: absolute;
	top: 37px;
	left: 62px;
	width: 180px;
	height: auto;
}
.ly_tpsList {
	margin-bottom: 90px;
	padding-right: 60px;
	width: calc(100% - 285px);
	max-width: 835px; /* 775px＋pr60px */
}
.bl_tpsList:first-of-type {
	border-top: 1px solid var(--key-color-orange);
}
.bl_tpsList {
	padding: 22px 10px 16px;
	border-bottom: 1px solid var(--key-color-orange);
}
.el_tpsList_date {
	display: block;
	padding-bottom: 10px;
	font-family: var(--font-en);
	font-weight: 500;
	font-size: 15px;
	line-height: 1;
	color: var(--text-color-grey);
}
.el_tpsList_ttl {
	position: relative;
	font-weight: 500;
	font-size: 18px;
	line-height: 1.666;
	color: #000;
}
.el_tpsList_ttl,
.bl_tpsList_txt {
	padding-right: 90px;
}
.el_tpsList_date.hp_hover:hover,
.el_tpsList_ttl.el_acMenu:hover {
	cursor: pointer;
}
.el_tpsList_ttl.el_acMenu::before,
.el_tpsList_ttl.el_acMenu::after {
	content: '';
	display: block;
	position: absolute;
	top: -2px;
	right: 10px;
	width: 30px;
	height: 2px;
	background-color: var(--key-color-orange);
}
.el_tpsList_ttl.el_acMenu::after {
	transform: rotate(-90deg);
	transition: transform .3s;
}
.el_tpsList_ttl.el_acMenu.open::after {
	transform: rotate(0deg);
	transition: transform .3s;
}
.bl_tpsList_txt {
	display: none;
	max-width: 660px;
}
.bl_tpsList_txt p {
	font-weight: 400;
	font-size: 14px;
	line-height: 2;
	color: #000;
	text-align: justify;
}
.bl_tpsList_txt > *:first-child {
	margin-top: 12px;
}
/* .bl_tpsList_txt > *:last-child {
	margin-bottom: 35px;
} */
.bl_tpsList_txt a {
	text-decoration: underline;
}
@media screen and (max-width: 666px) {
	#topics {
		padding-top: 60px;
	}
	.un_illust_tps {
		top: 0;
		left: unset;
		right: 0;
		width: 117px;
	}
	.ly_tpsList {
		margin-top: 56px;
		margin-bottom: 30px;
		padding-right: 0;
	}
	.bl_tpsList {
		padding: 27px 0 14px;
	}
	.el_tpsList_ttl {
		margin-top: -2px;
		padding-top: 0;
		padding-bottom: 12px;
		font-size: 16px;
		line-height: 1.5;
	}
	.el_tpsList_ttl.el_acMenu {
		padding-right: 50px;
	}
	.el_tpsList_ttl.el_acMenu::before, .el_tpsList_ttl.el_acMenu::after {
		top: 50%;
		right: 10px;
		margin-top: -20px;
		width: 20px;
		height: 2px;
	}
	.ly_tpsList_txt {
		width: 100%;
	}
	.bl_tpsList_txt {
		padding-right: 0;
	}
	.bl_tpsList_txt > *:first-child {
		margin-top: 7px;
	}
	.bl_tpsList_txt > *:last-child {
		margin-bottom: 14px;
	}
	.bl_tpsList_txt p {
		font-size: 12px;
	}
}

/*-------------------------------------------------
	Page
-------------------------------------------------*/
/* Common */
body.page .un_btn_hbg,
body.single .un_btn_hbg {
	opacity: 1 !important;
}
.ly_pageTtl {
	margin-inline: auto;
	padding: 97px var(--pd-side) 25px;
	width: 100%;
	max-width: calc(1110px + (var(--pd-side) * 2));
}
.ly_pageTtl .un_illust_epi {
	top: 42px;
	left: 508px;
	width: 246px;
}
@media screen and (max-width: 666px) {
	.ly_pageTtl {
		padding-top: 67px;
		padding-bottom: 5px;
	}
	body.page .ly_pageTtl .el_lv1H {
		margin-bottom: 1.4em;
	}
}

/* Episode Page */
.ly_epiPage {
	margin-top: 80px;
}
.bl_epiPage {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 50px;
	margin-bottom: 100px;
}
@media screen and (max-width: 666px) {
	.ly_epiPage {
		margin-top: 65px;
	}
	.ly_pageTtl .un_illust_epi {
		top: 9px;
		left: unset;
		right: 15px;
		width: 127px;
	}
	.bl_epiPage {
		justify-content: center;
		gap: 20px;
		margin-bottom: 60px;
	}
	.bl_epiPage .ly_epi_box,
	.bl_epiPage .ly_epi_box::after {
		width: 100%;
		max-width: 370px;
	}
}
@media screen and (max-width: 389px) {
	.bl_epiPage p.el_epi_message {
        font-size: 11px;
    }
}

/* Relations Page */
.ly_pageTtl .un_illust_rel {
	top: 66px;
	left: 552px;
	width: 198px;
}
.ly_relPage {
	margin-inline: auto;
	margin-top: 80px;
	padding: 0 var(--pd-side);
	width: 100%;
	max-width: calc(980px + (var(--pd-side) * 2));
}
@media screen and (max-width: 666px) {
	.ly_pageTtl .un_illust_rel {
		top: 12px;
		left: unset;
		right: 17px;
		width: 123px;
	}
	.ly_relPage {
		max-width: calc(530px + (var(--pd-side) * 2));
	}
}

/* Column-3 */
.ly_col3 {
	display: grid;
	grid-template-columns: repeat(3, minmax(280px, 1fr));
	column-gap: 70px;
	row-gap: 50px;
}
@media screen and (max-width: 666px) {
	.ly_col3 {
		grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
		justify-items: center;
		column-gap: 30px;
		row-gap: 30px;
	}
}

/* Modal Slider */
.wrap_modalSlider {
	display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    /* background-color: rgba(255, 253, 243, .6); */
	background-color: transparent;
    z-index: 100;
}
.wrap_modalSlider.active {
    display: block !important;
	z-index: 201;
	pointer-events: none;
}
.wrap_modalSlider .ly_modalWindow {
	display: flex !important;
	justify-content: center;
	align-items: center;
	position: relative;
	top: unset;
	left: unset;
	width: 100%;
	height: 100svh;
}
.ly_modalSlider.page::before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
    width: 100%;
    height: 100%;
	border-radius: 20px;
	background-color: var(--bg-color);
}
.ly_modalSlider.mid::before {
    max-width: 700px;
    max-height: 348px;
}
.ly_modalSlider.wide::before {
    max-width: 800px;
    max-height: 500px;
}
.ly_modalSlider.page .slick-arrow {
	margin-bottom: 42px;
	font-size: 12px;
	color: var(--key-color);
	z-index: 1;
	pointer-events: all;
}
.ly_modalSlider.mid .slick-arrow {
	bottom: calc((100svh - 348px) / 2);
}
.ly_modalSlider.wide .slick-arrow {
	bottom: calc((100svh - 500px) / 2);
}
.ly_modalSlider.page .slick-arrow.prev {
	margin-left: 85px;
	padding-left: 50px;
}
.ly_modalSlider.mid .slick-arrow.prev {
	left: calc((100vw - 700px) / 2);
}
.ly_modalSlider.wide .slick-arrow.prev {
	left: calc((100vw - 800px) / 2);
}
.ly_modalSlider.page .slick-arrow.next {
	margin-right: 85px;
	padding-right: 50px;
}
.ly_modalSlider.mid .slick-arrow.next {
	right: calc((100vw - 700px) / 2);
}
.ly_modalSlider.wide .slick-arrow.next {
	right: calc((100vw - 800px) / 2);
}
.ly_modalSlider.page .slick-arrow::after {
    content: "";
    display: block;
	position: absolute;
	top: -2px;
    width: 40px;
    height: 10px;
    background: center / contain no-repeat url(./img/cmn/arrow_left_sm_short.svg);
}
.ly_modalSlider.page .slick-arrow.prev::after {
	left: 0;
	transform: scale(-1, 1);
}
.ly_modalSlider.page .slick-arrow.next::after {
	right: 0;
}
.ly_modalSlider.page .slick-arrow::before {
	display: none;
}
@media screen and (max-width: 666px) {
	.ly_modalSlider.mid::before,
	.ly_modalSlider.wide::before {
		max-width: 330px;
		max-height: 550px;
	}
	.ly_modalSlider.page .slick-arrow {
		margin-bottom: 32px;
	}
	.ly_modalSlider.mid .slick-arrow,
	.ly_modalSlider.wide .slick-arrow {
		bottom: calc((100svh - 550px) / 2);
	}
	.ly_modalSlider.page .slick-arrow.prev {
		margin-left: var(--pd-side);
	}
	.ly_modalSlider.mid .slick-arrow.prev,
	.ly_modalSlider.wide .slick-arrow.prev {
		left: calc((100vw - 330px) / 2);
	}
	.ly_modalSlider.page .slick-arrow.next {
		margin-right: var(--pd-side);
	}
	.ly_modalSlider.mid .slick-arrow.next,
	.ly_modalSlider.wide .slick-arrow.next {
		right: calc((100vw - 330px) / 2);
	}
}
@media screen and (max-width: 389px) {
	.ly_modalSlider.mid::before,
	.ly_modalSlider.wide::before {
		max-width: 315px;
	}
	.ly_modalSlider.mid .slick-arrow.prev,
	.ly_modalSlider.wide .slick-arrow.prev {
		left: calc((100vw - 315px) / 2);
	}
	.ly_modalSlider.mid .slick-arrow.next,
	.ly_modalSlider.wide .slick-arrow.next {
		right: calc((100vw - 315px) / 2);
	}
}

/*-------------------------------------------------
	Single
-------------------------------------------------*/

/*-------------------------------------------------
	Footer
-------------------------------------------------*/
.ly_ftr {
	align-items: flex-end;
	margin-top: 170px;
	margin-bottom: 100px;
}
.bl_ftr_txt {
	text-align: right;
}
.un_ftrLogo {
	width: 150px;
}
h1 + .el_ftr_txt {
	margin-top: 3em;
}
.el_ftr_txt,
.un_copyRight {
	font-weight: 500;
	font-size: 12px;
	line-height: 2;
	color: var(--key-color);
	text-align: right;
}
.un_copyRight {
	margin-top: 1.5em;
    font-family: var(--font-en);
    line-height: 0.75;
}
@media screen and (max-width: 666px) {
	.ly_ftr {
		margin-top: 140px;
		margin-bottom: 55px;
	}
	#global-nav-footer.bl_gNav {
		flex-direction: column;
	}
	#global-nav-footer.bl_gNav > li + li {
		margin-top: 1.1em;
		margin-left: 0;
	}
	#global-nav-footer.bl_gNav > li > a {
		font-size: 14px;
	}
	#global-nav-footer.bl_gNav > li.hp_enTtl > a::before {
		margin-bottom: 0.5em;
		font-size: 13px;
		text-align: left;
	}
	.bl_ftr_txt {
		margin-top: -83px;
	}
	.un_ftrLogo {
		width: 100px;
	}
	h1 + .el_ftr_txt {
		margin-top: 45px;
	}
	.el_ftr_txt, .un_copyRight {
		font-size: 10px;
		text-align: left;
	}
}