@charset "UTF-8";
/*==============================================
    EVOL - used styles only
==============================================*/

/* RESET */
html, body, div, span, applet, object,
iframe, h1, h2, h3, h4, h5, h6, p, blockquote,
pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp, small,
strike, strong, sub, sup, tt, var, b, u, i, center,
dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, article,
aside, canvas, details, embed, figure, figcaption, footer,
header, hgroup, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	border: 0;
	font-size: 100%;
	font-style: normal;
	font-weight: normal;
	font: inherit;
	margin: 0;
	padding: 0;
	vertical-align: baseline;
	line-height: 1;
}

article, aside, details, figcaption, figure,
footer, header, hgroup, menu, nav, section {
	display: block;
}

html.hidden {
    overflow: hidden;
}

ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}

blockquote:before, blockquote:after, q:before, q:after {
	content: '';
	content: none;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

th, td {
	text-align: left;
	vertical-align: top;
}

img {
	border: none;
	vertical-align: top;
}

/* BASE */
html {
	font-size: 14px;
	margin-right: 0 !important;
}

body {
	line-height: 1.5;
	letter-spacing: .06em;
	background-color: #ffffff;
	color: #000000;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	-webkit-overflow-scrolling: touch;
	-webkit-text-size-adjust: 100%;
	margin: 0 auto;
	position: relative;
	overflow-x: hidden;
	font-family: 'Shippori Mincho', serif;
}

@-webkit-keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

@keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}

a {
	text-decoration: none;
}

li {
	list-style: none;
}

*:focus {
	outline: none;
}

main {
	display: block;
}

@font-face {
	font-family: "BauerBodoni LT";
	src: url('BauerBodoniLT-Roman.woff2') format('woff2'),
        url('BauerBodoniLT-Roman.woff') format('woff');
    font-weight: normal;
    font-style: normal;
    font-display: swap;
}

.mw {
	width: 62.5rem;
	margin: 0 auto;
}

.top-col {
	font-size: 1.15rem;
}

.top-col section {
	position: relative;
}

.top-col .title p {
	font-size: 1.75rem;
	text-align: center;
	font-family: BauerBodoni LT;
}

.top-col .line {
	width: 10rem;
	height: 13.5rem;
	position: absolute;
	bottom: -6.8rem;
	z-index: 100;
	left: 50%;
	margin-left: -5rem;
	text-align: center;
}

.top-col .line .line-col {
	width: 1.6rem;
	height: 13.5rem;
	overflow: hidden;
	margin: 0 auto;
}

.top-col .line .line-col img {
	display: block;
	width: 1.6rem;
	height: auto;
	position: relative;
	top: -13.5rem;
	transition: top 2s;
}

.top-col .line .line-col.active img {
	top: 0;
}

.top-col .line .scroll-text {
	position: absolute;
	right: 1.6rem;
	top: 1.6rem;
	font-size: 1.05rem;
	font-weight: 600;
	color: #a49576;
	transform: rotate(90deg);
}

/* PC: 首屏 Scroll 箭头先短，向下滚动后一次拉长 */
@media screen and (min-width: 1026px) {
	.page-evol-top .top-first .line-col img,
	.page-evol-top .top-first .line-col.active img {
		top: -7.5rem;
		transition: top 1.2s ease;
	}

	.page-evol-top .top-first .line-col.is-long img,
	.page-evol-top .top-first .line-col.active.is-long img {
		top: 0;
	}
}

.img100 {
	display: block;
	width: 100%;
}

.pc {
	display: block;
}

.mobile {
	display: none;
}

/* TOP FIRST */
.top-first {
	background: #000;
	padding: 0;
	height: 100vh;
	height: 100dvh;
	width: 100%;
	overflow: visible;
	z-index: 2;
}

.top-first-img {
	width: 100%;
	height: 100%;
	margin: 0;
	overflow: hidden;
}

.top-first-img video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top-first-img video.pc {
	display: block;
}

.top-first-img video.mobile {
	display: none;
}

/* TOP SECOND */
.top-second {
	color: #000000;
	padding: 12.38rem 0 0 0;
	background-image: url("../image/top/top_bg_01.png");
	background-repeat: repeat-y;
	background-position: center top;
	background-size: 100% auto;
	z-index: 1;
}

.top-second .sub-title {
	color: #ffffff;
	font-size: 2.5rem;
	line-height: 3.6rem;
	padding-top: 5.7rem;
	padding-bottom: 3.7rem;
	padding-left: 13.0rem;
}

.top-second .sub-title p span {
	background-color: #000000;
	line-height: 3.6rem;
	letter-spacing: 0.01em;
}

.top-second .c-info {
	font-size: 0.95rem;
	line-height: 2.4rem;
	padding-left: 13.0rem;
	padding-bottom: 5.2rem;
}

.top-second .c-info div {
	font-size: 0.95rem;
	line-height: 2.4rem;
}

.top-second .c-info .c-en {
	font-size: 1.6rem;
	font-family: "BauerBodoni LT", serif;
}

.top-second .c-info .c-info-evol div {
	display: flex;
	align-items: baseline;
	line-height: 3.4rem;
}

@media screen and (min-width: 1026px) {
	.top-second .c-info .c-info-evol {
		display: flex;
		flex-direction: column;
		gap: 0.9rem;
		margin-top: 1.8rem;
	}

	.top-second .c-info .c-info-sign {
		display: flex;
		align-items: flex-end;
		gap: 0;
	}

	.top-second .c-info .c-info-sign__img.pc {
		display: block;
		width: 20rem;
		height: auto;
		flex-shrink: 0;
	position: relative;
		z-index: 1;
		margin-right: 1rem;
		margin-left: auto;
		top: -6rem;
	}

	.top-second .c-info .c-info-sign__img.mobile {
		display: none;
	}
}

.top-second .c-info .c-info-evol .c-en {
	display: inline-block;
	min-width: 9.5rem;
	flex-shrink: 0;
}

.top-second .c-info .c-info-evol .c-evol-sep {
	flex-shrink: 0;
	margin: 0 0.6rem;
}

.top-second .c-info .c-info-evol .c-evol-ja {
	text-align: left;
}

.top-second .c-info .c-en-initial {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 1.15em;
	height: 1.15em;
	padding-top: 0.12em;
	margin-right: 0.05em;
	color: #fff;
	background: #000;
	border-radius: 50%;
	line-height: 1;
	vertical-align: middle;
	margin-bottom: 0.35em;
}

/* TOP THIRD */
.top-third {
	background: #fff;
	padding: 11.7rem 0 12.15rem 0;
}

.top-third .sub-title {
	color: #ffffff;
	font-size: 2.5rem;
	line-height: 3.6rem;
	padding-top: 5.7rem;
	padding-bottom: 0.5rem;
	padding-left: 13.0rem;
}

.top-third .sub-title p span {
	background-color: #000000;
	line-height: 3.6rem;
	letter-spacing: 0.01em;
}

.top-third .c-info {
	font-size: 0.95rem;
	line-height: 2.4rem;
	padding-left: 13.0rem;
	padding-bottom: 5.2rem;
}

.top-third .c-info div {
	font-size: 0.95rem;
	line-height: 2.4rem;
}

.top-third .btn-bottom {
	text-align: center;
	padding-top: 3.2rem;
}

.top-third .btn-col {
	width: 15rem;
	height: 3.2rem;
	border: 1px solid #2e2e2e;
	background: transparent;
	text-align: center;
	line-height: 3.2rem;
	display: block;
	margin: 0 auto;
	cursor: pointer;
	position: relative;
	z-index: 100;
	text-decoration: none;
	color: #000;
	box-sizing: border-box;
	font-family: "BauerBodoni LT", serif;
	font-size: 1.7rem;
	transition: background 0.2s, color 0.2s;
}

.top-third .btn-col:hover {
	background: #000;
	color: #fff;
}

/* TOP FOURTH */
.top-fourth {
	padding: 9.9rem 0 12.9rem 0;
	background-image: url("../image/top/top_bg_02.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: cover;
}

.top-fourth .sub-title {
	color: #ffffff;
	font-size: 2.5rem;
	line-height: 3.6rem;
	padding-top: 5.7rem;
	padding-bottom: 3.7rem;
	padding-left: 13.0rem;
}

.top-fourth .sub-title p span {
	background-color: #000000;
	line-height: 3.6rem;
	letter-spacing: 0.01em;
}

.top-fourth .act-col {
	display: flex;
	align-items: stretch;
	margin: 0 auto;
	box-sizing: border-box;
	padding: 0;
}

.top-fourth .act-col__left {
	width: 54%;
	flex-shrink: 0;
}

.top-fourth .act-col__left img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.top-fourth .act-col__left img.pc {
	display: block;
}

.top-fourth .act-col__left img.mobile {
	display: none;
}

.top-fourth .act-col__right {
	width: 46%;
	box-sizing: border-box;
	padding: 2.5rem 3rem 2.5rem 5.5rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.top-fourth .act-col__text {
	padding-bottom: 1.8rem;
}

.top-fourth .act-col__text,
.top-fourth .act-col__text div {
	font-size: 0.95rem;
	line-height: 2.4rem;
	color: #000;
}

.top-fourth .btn-bottom {
	text-align: left;
	padding-top: 2rem;
}

.top-fourth .btn-col {
	width: 15rem;
	height: 3.2rem;
	border: 1px solid #2e2e2e;
	background: transparent;
	text-align: center;
	line-height: 3.2rem;
	display: block;
	margin: 0;
	cursor: pointer;
	position: relative;
	z-index: 100;
	text-decoration: none;
	color: #000;
	box-sizing: border-box;
	font-family: "BauerBodoni LT", serif;
	font-size: 1.7rem;
	transition: background 0.2s, color 0.2s;
}

.top-fourth .btn-col:hover {
	background: #000;
	color: #fff;
}

.top-fourth .act-band {
	margin-top: 4rem;
}

.top-fourth .act-band__line {
	width: 100%;
	height: 1px;
	background: #000;
}

.top-fourth .act-band__row {
	display: flex;
	align-items: center;
}

.top-fourth .act-band__link {
	display: flex;
	align-items: center;
	width: 100%;
	text-decoration: none;
	color: inherit;
	cursor: pointer;
}

.top-fourth .act-band__media--40 {
	width: 40%;
	flex-shrink: 0;
	position: relative;
	overflow: hidden;
}

.top-fourth .act-band__copy--60 {
	width: 60%;
	box-sizing: border-box;
	padding: 2rem 0rem 2rem 2.8rem;
}

.top-fourth .act-band-left__copy--60 {
	width: 60%;
	box-sizing: border-box;
	padding: 2rem 2.6rem 2rem 0rem;
}

.top-fourth .act-band__media img {
	display: block;
	width: 100%;
	height: auto;
}

.top-fourth .act-band__media img.pc {
	display: block;
}

.top-fourth .act-band__media img.mobile {
	display: none;
}

.top-fourth .c-hover-filter--person {
	background-color: rgba(0, 0, 0, 0.2);
	display: block;
	position: absolute;
	z-index: 1;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	opacity: 0;
	transition: 0.6s;
	pointer-events: none;
}

@media screen and (min-width: 769px) {
	.top-fourth .c-hover-item:hover .c-hover-filter--person {
		opacity: 1;
	}
}

.top-fourth .act-band__copy {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1.5rem;
	text-decoration: none;
	cursor: pointer;
	color: #000;
}

.top-fourth .act-band__copy,
.top-fourth .act-band__copy .act-band__copy-text {
	font-size: 1.25rem;
	line-height: 2.4rem;
	letter-spacing: 0.2em;
	font-weight: 600;
}

.top-fourth .act-band__copy .act-band__copy-text {
	display: inline-flex;
	align-items: center;
	gap: 0.6rem;
	min-width: 0;
}

.top-fourth .act-band__slash {
	display: block;
	width: auto;
	height: 1.1rem;
	flex-shrink: 0;
}

/* person-nav style delayed text fade */
.js-ani-text-messeage {
	opacity: 0;
	transition: 0.9s;
}

.js-ani-tex-fade {
	opacity: 1;
}

.top-fourth .act-band__copy-btn {
	flex-shrink: 0;
	display: flex;
	align-items: center;
}

.top-fourth .c-btn-black {
	position: relative;
	display: inline-block;
	padding-left: 20px;
	box-sizing: border-box;
	width: 22px;
	height: 22px;
	border: 1px solid #1a1a1a;
	border-radius: 50%;
	transition: 0.2s;
}

.top-fourth .c-btn-black:after {
	content: "";
	width: 6px;
	height: 6px;
	border: 0;
	border-top: solid 1px #1a1a1a;
	border-right: solid 1px #1a1a1a;
	position: absolute;
	top: 10.8px;
	left: 5px;
	margin-top: -4px;
	transform: rotate(45deg);
	transition: 0.2s;
}

@media screen and (min-width: 769px) {
	.top-fourth .c-btn-hover:hover .c-btn-black {
		background-color: #1a1a1a !important;
		border: 1px solid #1a1a1a !important;
		width: 40px;
		border-radius: 20px;
	}
	.top-fourth .c-btn-hover:hover .c-btn-black:after {
		border-top: solid 1px #fff;
		border-right: solid 1px #fff;
		left: 23px;
	}
}

/* index: 视频播完后再淡入 header / Scroll（保留滚动收起/展开的 transform） */
.page-evol-top .top-header {
	opacity: 0;
	pointer-events: none;
	transition:
		opacity 0.9s ease,
		transform 0.75s cubic-bezier(0.755, 0.050, 0.855, 0.060),
		background 0.6s linear;
}

.page-evol-top .top-first .line {
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.9s ease;
}

.page-evol-top.is-hero-ui-ready .top-header,
.page-evol-top.is-hero-ui-ready .top-first .line {
	opacity: 1;
	pointer-events: auto;
}

/* HEADER / MENU */
.header {
	position: fixed;
	padding: 1.5rem 0 1.3rem 2.95rem;
	z-index: 1000;
	width: 100%;
	left: 0;
	box-sizing: border-box;
	height: 6.6rem;
	transition: transform 0.75s cubic-bezier(0.755, 0.050, 0.855, 0.060), background 0.6s linear;
}

.header--overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: auto;
	padding: 0;
	background: transparent;
	z-index: 10000;
	transition: none;
}

.header-logo {
	width: 8.35rem;
	display: block;
}

.header-logo img {
	width: 8.35rem;
}

.top-header.on {
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(6px);
}

.top-header.active {
	transform: translate3d(0, -100%, 0);
}

.menu-img {
	z-index: 100;
	width: 4.8rem;
	position: absolute;
	right: 1.8rem;
	top: 2.1rem;
	cursor: pointer;
}

.top-header .menu-img {
	filter: invert(1);
}

.menu-img:hover {
	opacity: 0.8;
}

/* index: PC/SP menu 切换（对齐 top-message 手机尺寸） */
.page-evol-top .top-header .menu-img.mobile {
	display: none;
}
.page-evol-top .top-header .menu-img.pc {
	display: block;
}

.menu-list {
	display: none;
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	z-index: 10000;
	align-items: center;
	background-color: #fff;
	background-image: url("../image/common/menu_bg.png");
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.menu-list.active {
	display: flex;
}

.lang-switch {
	display: none;
}

.lang-switch span {
	color: #000;
}

.lang-switch .switch-on {
	color: #000;
	display: block;
	font-size: 1rem;
	padding: 1.2rem 0;
	cursor: pointer;
	text-decoration: none;
	font-family: "BauerBodoni LT";
}

.lang-switch .switch-off {
	color: #666666;
	display: block;
	font-size: 1rem;
	padding: 1.2rem 0;
	cursor: pointer;
	text-decoration: none;
	font-family: "BauerBodoni LT";
}

.lang-switch .switch-off.is-disabled {
	pointer-events: none;
	cursor: default;
	opacity: 0.5;
}

.close-icon {
	position: absolute;
	right: 1.2rem;
	top: 2rem;
	width: 2.4rem;
	cursor: pointer;
	z-index: 2;
	filter: invert(1);
}

.close-icon:hover {
	opacity: 0.7;
}

.menu-list .link-list {
	width: 13rem;
	margin: 0 auto;
}

.menu-list .link-list a {
	color: #000;
	display: block;
	font-size: 1.2rem;
	padding: 1.2rem 0;
	cursor: pointer;
	text-decoration: none;
	font-family: "BauerBodoni LT";
}

.menu-list .link-list a:hover {
	opacity: 0.7;
}

.menu-list .menu-sub-mark {
	display: inline-block;
	font-size: 0.75em;
	margin-left: 1.4em;
}

/* SP */
@media screen and (max-width: 1025px) {
	a {
		-webkit-tap-highlight-color: rgba(255, 255, 255, 0);
		-webkit-user-select: none;
		-moz-user-select: none;
	}

	html, body {
		overflow-x: hidden;
	}

	.pc {
	display: none;
}

	.mobile {
	display: block;
}

	.mw {
		width: 100%;
	}

	.top-col .title p {
		font-size: 5.5vw;
		color: #000;
		line-height: 7.5vw;
		width: 69.74vw;
		margin: 0 auto;
	}

	.top-first {
		padding: 0;
		height: 100vh;
		height: 100dvh;
	}

	.top-first-img {
		width: 100%;
		height: 100%;
	}

	.top-col .line {
		display: flex;
		flex-direction: column;
		align-items: center;
		height: auto;
		width: auto;
		margin-left: 0;
		transform: translateX(-50%);
		bottom: -17.5vw;
	}

	.top-col .line .scroll-text {
		position: static;
		right: auto;
		top: auto;
		transform: none;
		order: -1;
		margin-bottom: 2vw;
		font-size: 3.5vw;
		letter-spacing: 0.08em;
	}

	/* 手机：首屏 Scroll 箭头先短，向下滚动后一次拉长 */
	.page-evol-top .top-first .line-col img,
	.page-evol-top .top-first .line-col.active img {
		top: -7.5rem;
		transition: top 1.2s ease;
	}

	.page-evol-top .top-first .line-col.is-long img,
	.page-evol-top .top-first .line-col.active.is-long img {
		top: 0;
	}

	.top-first-img video.pc {
		display: none;
	}

	.top-first-img video.mobile {
		display: block;
	}

	.top-second {
		padding: 23.35vw 0 5vw 0;
		background-image: url("../image/top/top_bg_01_sp.png");
		background-repeat: repeat-y;
		background-position: center top;
		background-size: 100% auto;
	}

	.top-second .sub-title,
	.top-third .sub-title,
	.top-fourth .sub-title,
	.top-second .c-info,
	.top-third .c-info {
		padding-left: 2.3rem;
	}

	.top-second .sub-title,
	.top-third .sub-title,
	.top-fourth .sub-title {
		font-size: 1.95rem;
		line-height: 2.82rem;
		letter-spacing: 0.01em;
	}

	.top-second .sub-title p span,
	.top-third .sub-title p span,
	.top-fourth .sub-title p span {
		line-height: 2.82rem;
		letter-spacing: 0.01em;
	}

	/* 手机端：无 class 的 span 换行（与普通 div 行距一致）；PC 仍同一行 */
	.page-evol-top .c-info span:not([class])::before {
		content: "\A";
		white-space: pre;
	}

	.top-second .c-info,
	.top-second .c-info div,
	.top-third .c-info,
	.top-third .c-info div {
		font-size: 3.7vw;
		line-height: 8vw;
		font-weight: 600;
		letter-spacing: 0.01em;
	}

	/* EVOL 四词：英文加大、行距加大；英文同宽保证日文左对齐（仅手机） */
	.top-second .c-info .c-info-evol div {
		line-height: 12vw;
		margin-bottom: 1.5vw;
	}

	.top-second .c-info .c-info-evol .c-en {
		font-size: 6.1vw;
		font-weight: 400;
		min-width: 42vw;
		flex-shrink: 0;
	}

	.top-second .c-info .c-info-evol .c-evol-ja {
		text-align: left;
		flex: 1;
		min-width: 0;
	}

	/* Mission A/B：加大、去粗体（仅手机） */
	.top-second .c-info > div > .c-en {
		font-size: 6.1vw;
		font-weight: 400;
	}

	/* 签名图：类似 PC，右对齐并上移叠在末行文字旁 */
	.top-second .c-info .c-info-sign {
		display: flex;
		justify-content: flex-end;
		position: relative;
	}

	.top-second .c-info .c-info-sign__img.pc {
	display: none;
}

	.top-second .c-info .c-info-sign__img.mobile {
		display: block;
		width: 52vw;
		height: auto;
		margin-right: 4vw;
		position: relative;
		top: -14vw;
		z-index: 1;
	}

	.top-third {
		padding: 26vw 0 20vw 0;
	}

	.top-third .c-info {
		padding-top: 7.29vw;
		padding-bottom: 9.85vw;
	}

	.top-third .img100 {
		width: 89.30vw;
		margin: 0 auto;
	}

	.top-third .btn-col {
		width: 40vw;
		height: 9vw;
		font-size: 4.5vw;
		line-height: 9vw;
	}

	.top-third .btn-bottom {
		padding-top: 6vw;
		padding-bottom: 12vw;
	}

	.top-fourth .act-col {
		flex-direction: column;
		width: 100%;
	}

	.top-fourth .act-col__left,
	.top-fourth .act-col__right {
		width: 100%;
	}

	.top-fourth .act-col__left img.pc {
	display: none;
}

	.top-fourth .act-col__left img.mobile {
		display: block;
		width: 89.30vw;
		height: auto;
		margin: 0 auto;
		object-fit: contain;
	}

	.top-fourth .act-col__right {
		padding: 6vw 5vw 0;
	}

	.top-fourth .act-col__text,
	.top-fourth .act-col__text div {
		font-size: 3.7vw;
		line-height: 8vw;
		font-weight: 600;
		letter-spacing: 0.01em;
	}

	.top-fourth .btn-col {
		width: 40vw;
		height: 9vw;
		font-size: 4.5vw;
		line-height: 9vw;
		margin: 0 auto;
	}

	.top-fourth .btn-bottom {
		padding-top: 6vw;
		text-align: center;
	}

	.top-fourth .act-band {
		width: 100%;
		margin-top: 10vw;
	}

	.top-fourth .act-band__line {
		display: none;
	}

	.top-fourth .act-band__row {
		flex-direction: column;
	}

	.top-fourth .act-band__link {
		flex-direction: column;
	}

	/* 手机端统一：图上、文下（与第一组一致） */
	.top-fourth .act-band__media--40 {
		order: 1;
	}

	.top-fourth .act-band__copy--60,
	.top-fourth .act-band-left__copy--60 {
		order: 2;
	}

	.top-fourth .act-band__media--40,
	.top-fourth .act-band__copy--60,
	.top-fourth .act-band-left__copy--60 {
		width: 100%;
	}

	.top-fourth .act-band__media img.pc {
	display: none;
}

	.top-fourth .act-band__media img.mobile {
	display: block;
		width: 89.30vw;
		height: auto;
		margin: 0 auto;
	}

	.top-fourth .act-band__copy--60,
	.top-fourth .act-band-left__copy--60 {
		padding: 5vw;
	}

	.top-fourth .act-band__copy,
	.top-fourth .act-band__copy .act-band__copy-text {
		font-size: 3.2vw;
		line-height: 7.5vw;
	}

	.header {
		height: 16vw;
	}

	.header-logo img {
		width: 21.37vw;
	}

	.menu-img {
		width: 4.93vw;
		top: 6.85vw;
		right: 3.58vw;
	}

	.menu-list {
		background-image: url("../image/common/menu_bg_sp.png");
	}

	.menu-list .link-list {
		width: auto;
	}

	.menu-list .link-list a {
		font-size: 4vw;
		padding: 2.3vw 0;
	}

	.lang-switch {
		display: none;
	}

	.lang-switch .switch-on,
	.lang-switch .switch-off {
		font-size: 3.5vw;
		padding: 2vw 0;
	}

	.close-icon {
		width: 5vw;
		right: 3vw;
		top: 4vw;
	}
}

/*==== PRESIDENT / TOP-MESSAGE PAGE ====*/
.page-top-message .menu-img {
	width: 4.8rem;
	right: 1.8rem;
	top: 2.1rem;
	filter: none;
}
.page-top-message .menu-img:hover {
	opacity: 0.8;
}
.page-top-message .top-header .menu-black {
	filter: invert(1);
}
/* PC: 只显示 pc 图，强制隐藏 mobile（含 .on 状态） */
.page-top-message .top-header .menu-img.mobile,
.page-top-message .top-header.on .menu-img.mobile {
	display: none;
}
.page-top-message .top-header .menu-img.pc.menu-black,
.page-top-message .top-header.on .menu-img.pc.menu-white {
	display: none;
}
.page-top-message .top-header .menu-img.pc.menu-white {
	display: block;
}
.page-top-message .top-header.on .menu-img.pc.menu-black {
	display: block;
}

/* activities: menu 常时黑色（与 index 一致） */
.page-activities.page-top-message .menu-img {
	filter: invert(1);
}
.page-activities .top-header .menu-img.pc {
	display: block;
}
.page-activities .top-header .menu-img.mobile {
	display: none;
}

/* activities hero: 底部三竖线 + Vol 文案 */
.page-activities .act-hero {
	position: relative;
}

.page-activities .act-hero-nav {
	position: absolute;
	left: 50%;
	bottom: 2.4rem;
	transform: translateX(-50%);
	display: flex;
	align-items: stretch;
	justify-content: center;
	z-index: 2;
	box-sizing: border-box;
}

.page-activities .act-hero-nav__line {
	display: block;
	width: 2px;
	height: 1.4rem;
	min-height: 0;
	background: #888888;
	align-self: center;
	flex-shrink: 0;
}

.page-activities .act-hero-nav__item {
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 12rem;
	padding: 0 1.2rem;
	box-sizing: border-box;
	font-family: "BauerBodoni LT", serif;
	font-size: 1.5rem;
	line-height: 1.4;
	color: #000;
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
}

.page-activities .act-hero-nav__item:hover {
	opacity: 0.7;
}

.page-activities .act-vol {
	background: #fff;
	padding: 8rem 0 2rem 0;
	box-sizing: border-box;
}

.page-activities .act-vol .title p {
	font-size: 1.75rem;
	text-align: center;
	font-family: "BauerBodoni LT", serif;
	margin: 0;
}

.page-activities .act-vol__lead {
	margin: 3.5rem auto 4rem;
	max-width: 62.5rem;
	padding: 0 1rem;
	box-sizing: border-box;
	font-size: 2.5rem;
	line-height: 1.6;
	text-align: center;
	font-weight: 500;
	color: #000;
}

.page-activities .act-vol__img {
	display: block;
	width: 62.5rem;
	max-width: 100%;
	height: auto;
	margin: 0 auto;
}

.page-activities .act-vol__img.pc {
	display: block;
}

.page-activities .act-vol__img.mobile {
	display: none;
}

.page-activities .pre-list > .pre-col:first-child .pre-text {
	padding-top: 3rem;
}

.page-activities .pre-col-second .pre-bg,
.page-activities .pre-col-third .pre-bg,
.page-activities .pre-col-fourth .pre-bg {
	background: rgb(139, 219, 230);
}

.page-activities .act-vol2-wrap .pre-col-second .pre-bg,
.page-activities .act-vol2-wrap .pre-col-third .pre-bg,
.page-activities .act-vol2-wrap .pre-col-fourth .pre-bg {
	background: rgb(220, 188, 215);
}

.page-activities .act-vol2-wrap .pre-col-third .pre-bg img.img-btm.pc {
		display: block;
	top: 20.5rem;
	left: 50.24rem;
	right: auto;
	width: 15.8rem;
	height: auto;
}

.page-activities .act-vol2-wrap .pre-col-third .pre-bg img.img-btm.mobile {
		display: none;
	}

.page-activities .act-vol2-wrap {
	background-image: url("../image/activities/vol2_bg.png");
	background-repeat: repeat-y;
	background-position: center top;
	/* 宽度铺满；高度按图比例并多 2px，盖住重复接缝亚像素缝 */
	background-size: 100% calc(100vw * 8657 / 3840 + 2px);
}

.page-activities .act-vol2-wrap .act-vol {
	background: transparent;
}
/* Extracted from 100th/asset/css/message-common.css — president page rules */

.footer-col{
	padding:2.29rem 0;box-sizing: border-box;text-align: center;font-size:0;
}

.footer-col a{display: inline-block;margin-right:2.5rem;font-size:1.04rem;font-family: BauerBodoni LT;cursor: pointer;color:#000;}

.footer-col a:last-child{margin-right:0;}

.president-top{
	width:100%;background-size: 100% 100%;
}

.president-top .top{
	width:100%;
}

.president-top .mobile{
		display: none;
	}

.president-top .pc{
	display: block;
}

.president-top p{
	font-family: BauerBodoni LT;
	font-weight: 400;
	font-size: 3.39rem;
	color: #FFFFFF;
	line-height: 3.54rem;padding-left:6.45rem;padding-top:22.45rem;
}

.pre-col .pre-text{
	padding:6.6rem 0 3.53rem 0;
	width:62.53rem;
	margin:0 auto;
	box-sizing: border-box;
	color: #ffffff;
	font-size: 1.5rem;
	line-height: 2rem;
	text-align: left;
}

.pre-list .pre-col .pre-text-en{
	padding-top:0;
}

.pre-col .pre-text .has-line{display: flex;align-items: center;justify-content: flex-start;}

.pre-col .pre-text .has-line span{
	min-height:1px;width:1.48rem;display: inline-block;background: #A49576;
	height:0.07rem;

}

.pre-col .pre-content p{
	width:62.53rem;margin:0 auto;
	font-weight: 500;
	font-size: 0.95rem;
	color: #000000;
	line-height: 2.0rem;
	letter-spacing: 0.1em;
}

.pre-col .pre-content .space{
	padding-top:2rem;
}

.pre-sign{
	width:62.53rem;
	margin:2.5rem auto 6.5rem;
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 1.2rem;
	box-sizing: border-box;
}

.pre-sign-title{
		font-weight: 500;
	font-size: 0.85rem;
		color: #000000;
	line-height: 1.67rem;
	white-space: nowrap;
}

.pre-sign-title--sp{
	display: none;
}

.pre-sign img{
	display: block;
	width:10.5rem;
	height: auto;
}

.pre-col .pre-text p{
	margin: 0;
	font-weight: 400;
	font-size: 1.5rem;
	color: #ffffff;
	text-align: left;
	line-height: 2rem;
}

.pre-col .pre-text p + p{
	margin-top: -1px;
}

.pre-col .pre-text p span{
	display: inline-block;
	background-color: #000000;
	line-height: 2rem;
	letter-spacing: -0.01em;
	vertical-align: top;
}

.pre-col .img100{
	margin-top:8.4rem;
	margin-bottom:6.08rem;
	display: block;
}

.pre-footer{
	background-size: 100% 100%;
	margin-top:6.8rem;
	position: relative;
}

.pre-text-img{
	padding-top:6.0rem;
	padding-bottom:3rem;
}

.pre-text-img img.pc{
	display: block;
	width:53.5rem;
	margin:0 auto;
	padding-left: 22.9rem;
}

.pre-text-img img.mobile{
	display: none;
}

.pre-footer-text
{
	font-family: BauerBodoni LT;
	font-weight: 400;
	font-size: 5.16rem;
	color: #000000;
	line-height: 6.73rem;
	top:15.78rem;
	right:6.73rem;
	text-align: left;
	width:34.23rem;
	position: absolute;
}

.pre-footer-sign img{
	width:16.1rem;margin-left:1.4rem;
}

.pre-footer-sign{
	right:11.83rem;
	top:33.3rem;
	position: absolute;
	display: flex;align-items: center;
	font-weight: 500;
	font-size: 1.27rem;
	color: #000000;
	line-height: 2.76rem;
}

.pre-col-img .pre-bg{
	background: rgb(211, 211, 211);position: relative;
}

.pre-col-img{
	position: relative;
}

.pre-col-img.right-col{
	display: flex;flex-direction: row-reverse;
}

.pre-col-img img{
	position: absolute;
}

.menu-modal{
	position: fixed;width:100%;height:100%;
	background: #000;z-index:10000;top:0;left:0;
	display: none;
}

.menu-modal .menu-modal-col{
	display: flex;align-items: center;
	height:100%;
}

.menu-modal .menu-right .text{
	color:#fff;padding:0 0 2.69rem 6.48rem;
	font-size:1.68rem;
	font-family: "BauerBodoni LT";
}

.menu-modal .menu-right .text a{
	cursor: pointer;
}

.menu-modal .close{
	position: absolute;right:0;top:0rem;width:5.52rem;cursor: pointer;
}

.menu-modal .close:hover{
	opacity: 0.8;
}

.menu-modal .logo-img{
	width:60.56rem;text-align: center;
}

.menu-modal .logo-img img{
	width:40.8rem
}

.menu-modal .link-list a{
	color:#fff;display: block;font-size:1.29rem;padding:0.7rem 0;margin:0.8rem 0;
	font-family: "BauerBodoni LT";cursor: pointer;
}

.menu-modal .link-list a:hover{
	opacity: 0.8;
}

.top-header.on{
	background: rgba(255, 255, 255, 0.92);
	backdrop-filter: blur(6px);
}

.top-header.on .menu-white{
	display: none;
}

.top-header.on .menu-black{
	display: block;
}

.top-header .menu-black{
	display: none;
}

.top-header .menu-white{
	display: block;
}

.top-header.active{
	transform: translate3d(0, -100%, 0);
}



.pre-footer img{
	display: block;width:100%;
}

.pre-footer .mobile{
	display: none;
}

.pre-col-first .pre-bg{
	width: 68.88rem;height: 29.05rem;margin-top:9.93rem;margin-bottom:20.65rem;
	margin-left:6rem;
}

.pre-col-first .pre-bg img:first-child{
	top:-3.05rem;width:31.2rem;left:-6rem;
}

.pre-col-first .pre-bg img:last-child{
	top:9.45rem;width:44.56rem;left:31.12rem;
}

.pre-col-second .pre-bg{
	width: 75.36rem;height: 28.57rem;margin-top:9.85rem;margin-bottom:15.45rem;
}

.pre-col-second .pre-bg img.img-sm{
	top:-3.03rem;width:31.36rem;right:50.24rem;
}

.pre-col-second .pre-bg img.img-lg{
	top:6.65rem;width:44.4rem;right:0;
}

.pre-col-fourth .pre-bg{
	width: 75.36rem;height: 28.57rem;margin-top:9.85rem;margin-bottom:15.45rem;
}

.pre-col-fourth .pre-bg img.img-sm{
	top:-3.03rem;width:31.36rem;right:50.24rem;
}

.pre-col-fourth .pre-bg img.img-lg{
	top:6.65rem;width:44.4rem;right:0;
}

.pre-col-third .pre-bg{
	width: 75.36rem;height: 28.57rem;margin-top:9.85rem;margin-bottom:15.45rem;
}

.pre-col-third .pre-bg img.img-sm{
	top:-3.03rem;width:31.36rem;left:50.24rem;right:auto;
}

.pre-col-third .pre-bg img.img-lg{
	top:6.65rem;width:44.4rem;left:0;right:auto;
}

.pre-col-img .pre-bg img.mobile{
	display: none;
}

.pre-col-img .pre-bg img.pc{
	display: block;
}

.pre-middle-col img{
	width:100%;
}

.pre-middle-col .mobile{
	display: none;
}

.pre-middle-col .pc{
	display: block;
}

.pre-middle-col{
	width:100%;
	overflow: hidden;
	padding-top:4.0rem;
	padding-bottom:11.0rem;
}

.pre-middle-col .img-swiper{
	width:114%;
}

.pre-middle-col .swiper-wrapper {
	transition-timing-function: linear !important; /* 没错就是这个属性 */
}

@media screen and (max-width: 1025px) {

	.pre-middle-col .img-swiper{
		width:150%;
	}

	.pre-middle-col .mobile{
		display: block;
	}

	.pre-middle-col .pc{
		display: none;
	}

	.pre-col-second .pre-col-img.right-col,
	.pre-col-fourth .pre-col-img.right-col{
		flex-direction: row;
	}

	.pre-col-third .pre-col-img{
		display: flex;
		flex-direction: row-reverse;
	}

	.pre-col-img .pre-bg img.pc{
		display: none;
	}

	.pre-col-img .pre-bg img.mobile{
		display: block;
	}

	.pre-col-second .pre-bg{
		width: 86.63vw;
		height: 68vw;
		margin-top:22vw;
		margin-bottom:18vw;
	}

	/* mobile: 大图左上、小图右下（上下关系） */
	.pre-col-second .pre-bg img.img-lg{
		top: -12vw;
		left: 0;
		right: auto;
		width: 78vw;
	}

	.pre-col-second .pre-bg img.img-sm{
		top: 54vw;
		right: -7vw;
		left: auto;
		width: 48vw;
	}

	.pre-col-fourth .pre-bg{
		width: 86.63vw;
		height: 68vw;
		margin-top:22vw;
		margin-bottom:18vw;
	}

	.pre-col-fourth .pre-bg img.img-lg{
		top: -12vw;
		left: 0;
		right: auto;
		width: 78vw;
	}

	.pre-col-fourth .pre-bg img.img-sm{
		top: 54vw;
		right: -7vw;
		left: auto;
		width: 48vw;
	}

	.pre-col-third .pre-bg{
		width: 86.63vw;
		height: 68vw;
		margin-top:34vw;
		margin-bottom:32vw;
	}

	/* mobile: 04↔02 同尺寸左上/右下对称；05↔03 同尺寸右下/左上对称 */
	.pre-col-third .pre-bg img.img-sm{
		top: -19vw;
		left: -7vw;
		right: auto;
		width: 48vw; /* = message_02_sp */
	}

	.pre-col-third .pre-bg img.img-lg{
		top: 24vw;
		right: 0;
		left: auto;
		width: 78vw; /* = message_03_sp */
	}

	.pre-col-first .pre-bg{
		width: 86.82vw;
		height: 33.2vw;
		margin-top:21.94vw;margin-bottom:25.12vw;
	}

	.pre-col-first .pre-bg img:first-child{
		top:-9.85vw;width:33vw;left:-7vw;
	}

	.pre-col-first .pre-bg img:last-child{
		top:6.25vw;width:54.68vw;right:0;left:auto;
	}


	.menu-modal .menu-modal-col{
		flex-direction: column;overflow-y: auto;overflow-x:hidden;
	}

	.menu-modal .logo-img{
		width:100%;
	}

	.menu-modal .logo-img img{
		width:100%;
	}

	.menu-modal .menu-modal-col .menu-right{
		padding-bottom:10vw;
	}

	.president-top{
		background-size: auto 100%;
		background-position: 80%;
	}

	.president-top .pc{
		display: none;
	}

	.president-top .mobile{
		display: block;
	}

	.president-top p{
		width: 57.39vw;
		font-family: BauerBodoni LT;
		font-weight: 400;
		font-size: 8vw;
		color: #FFFFFF;
		line-height: 12.64vw;
		padding-left:20.3vw;
		padding-top:68.87vw
	}

	.pre-list{
		box-sizing: border-box;
	}

	.pre-col .pre-content .space{
		padding-top:5vw;
	}

	.pre-sign{
		width:100%;
		padding:0 6.78vw;
		margin-top:6vw;
		margin-bottom:12vw;
		flex-direction: column;
		align-items: flex-end;
		gap: 3vw;
		box-sizing: border-box;
	}

	.pre-sign-title--pc{
		display: none;
	}

	.pre-sign-title--sp{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		justify-content: flex-start;
		width: 30vw;
		text-align: left;
		white-space: normal;
		font-size: 3.8vw;
		line-height: 1.8;
		gap: 2.2vw;
	}

	.pre-sign img{
		width:30vw;
	}

	.pre-col .pre-text{
		padding: 10.73vw 6.78vw 8vw 6.78vw;
		width:100%;
		font-size: 4.5vw;
		line-height: 6vw;
		text-align: left;
	}

	.pre-col .pre-content
	{
		padding:0 6.78vw;
	}

	.pre-col .pre-content p{
		font-weight: 500;
		font-size: 3.4vw;
		color: #000000;
		line-height: 9vw;
		letter-spacing: 0.12em;
		width:100%;
	}

	.pre-col .pre-text p{
		font-weight: 400;
		font-size: 4.5vw;
		color: #ffffff;
		line-height: 6vw;
		text-align: left;
	}

	.pre-col .pre-text p + p{
		margin-top: -1px;
	}

	.pre-col .pre-text p .br{
		display: none;
	}

	.pre-col .pre-text p span{
		display: inline-block;
		background-color: #000000;
		line-height: 6vw;
		letter-spacing: -0.01em;
		vertical-align: top;
	}

	.pre-col-first{

	}

	.pre-text-img{
		padding:21.75vw 0 12.14vw 0;
		text-align: right;
	}

	.pre-text-img img.pc{
		display: none;
	}

	.pre-text-img img.mobile{
		display: block;
		width:85vw;
		max-width: 100%;
		margin: 0 0 0 auto;
		padding-left: 0;
	}

	.pre-footer{
		margin-top: 14.15vw;
		box-sizing: border-box;
	}

	.pre-footer-text{
		display: none;
	}

	.pre-footer-sign{
		display: none;
	}

	.pre-footer .pc{
		display: none;
	}

	.pre-footer .mobile{
		display: block;
	}

	.menu-modal .link-list a{
		font-size:4vw;
		padding: 2.3vw 0;
		margin: 1.8vw 0;
	}

	.menu-modal .menu-right .text{
		font-size:4.5vw;
	}

	.footer-col{
		padding:6vw 0 6vw 10.53vw;
	}

	.footer-col a{
		display: block;
		text-align: left;
		font-size:3.73vw;
		line-height: 10.67vw;
		position: relative;
		padding-left:4vw;
	}

	.footer-col a:before{
		width:1vw;height:1vw;background: #000;border-radius: 50%;content:" ";display: block;
		position: absolute;left:0;top:50%;margin-top:-0.5vw;
	}

}

@media screen and (max-width: 1025px) {
	.page-top-message .menu-img {
		width: 11vw;
		top: 5vw;
		right: 3.58vw;
	}
	/* 手机: 强制隐藏全部 pc 图（优先级需高于 PC 端 display:block） */
	.page-top-message .top-header .menu-img.pc.menu-black,
	.page-top-message .top-header .menu-img.pc.menu-white,
	.page-top-message .top-header.on .menu-img.pc.menu-black,
	.page-top-message .top-header.on .menu-img.pc.menu-white {
		display: none;
	}
	.page-top-message .top-header .menu-img.mobile.menu-black,
	.page-top-message .top-header.on .menu-img.mobile.menu-white {
		display: none;
	}
	.page-top-message .top-header .menu-img.mobile.menu-white {
		display: block;
	}
	.page-top-message .top-header.on .menu-img.mobile.menu-black {
		display: block;
	}

	.page-evol-top .top-header .menu-img.pc {
		display: none;
	}
	.page-evol-top .top-header .menu-img.mobile {
		display: block;
		width: 11vw;
		top: 5vw;
		right: 3.58vw;
	}

	.page-activities .top-header .menu-img.pc,
	.page-activities .top-header.on .menu-img.pc {
		display: none;
	}
	.page-activities .top-header .menu-img.mobile,
	.page-activities .top-header.on .menu-img.mobile {
		display: block;
		width: 11vw;
		top: 5vw;
		right: 3.58vw;
		filter: invert(1);
	}

	.page-activities .act-hero-nav {
		bottom: 12vw;
		flex-direction: column;
		align-items: center;
		gap: 3vw;
	}

	.page-activities .act-hero-nav__line {
		display: none;
	}

	.page-activities .act-hero-nav__item {
		min-width: 0;
		padding: 0 0 0.2vw;
		font-size: 4vw;
		line-height: 1.3;
		border-bottom: 1px solid #000;
	}

	.page-activities .act-vol {
		padding: 16vw 0 4vw 0;
	}

	.page-activities .act-vol .title p {
		font-size: 4vw;
	}

	.page-activities .act-vol__lead {
		margin: 8vw auto 10vw;
		padding: 0 6.78vw;
		font-size: 4.8vw;
		line-height: 1.7;
	}

	.page-activities .act-vol__lead span:not([class])::before {
		content: "\A";
		white-space: pre;
	}

	.page-activities .act-vol__img {
		width: 89.30vw;
	}

	.page-activities .act-vol__img.pc {
		display: none;
	}

	.page-activities .act-vol__img.mobile {
		display: block;
	}

	.page-activities .pre-list > .pre-col:first-child .pre-text {
		padding-top: 6vw;
	}

	.page-activities .pre-middle-col {
		margin-top: 12vw;
	}

	.page-activities .act-vol2-wrap {
		background-image: url("../image/activities/vol2_bg_sp.png");
		background-repeat: repeat-y;
		background-position: center top;
		background-size: 100% auto;
	}

	/* Vol.2 第二组：手机端两图位置对换，尺寸不变 */
	.page-activities .act-vol2-wrap .pre-col-second .pre-bg img.img-sm{
		top: -18vw;
		left: 0;
		right: auto;
		width: 48vw;
	}

	.page-activities .act-vol2-wrap .pre-col-second .pre-bg img.img-lg{
		top: 23vw;
		right: -7vw;
		left: auto;
		width: 78vw;
	}

	/* Vol.2 第三组：图片位置调整 */
	.page-activities .act-vol2-wrap .pre-col-third .pre-bg {
		height: 122vw;
	}

	.page-activities .act-vol2-wrap .pre-col-third .pre-bg img.img-sm {
		top: -25.5vw;
		left: auto;
		right: 0;
		width: 65vw;
	}
	.page-activities .act-vol2-wrap .pre-col-third .pre-bg img.img-lg {
		top: 23vw;
		right: auto;
		left: -7vw;
		width: 78vw;
	}
	.page-activities .act-vol2-wrap .pre-col-third .pre-bg img.img-btm.pc {
		display: none;
	}

	.page-activities .act-vol2-wrap .pre-col-third .pre-bg img.img-btm.mobile {
		display: block;
		top: 88vw;
		left: auto;
		right: 0;
		width: 44vw;
	}

	/* Vol.2 第四组：同上 */
	.page-activities .act-vol2-wrap .pre-col-fourth .pre-bg img.img-sm{
		top: -18vw;
		left: 0;
		right: auto;
		width: 48vw;
	}

	.page-activities .act-vol2-wrap .pre-col-fourth .pre-bg img.img-lg{
		top: 23vw;
		right: -7vw;
		left: auto;
		width: 78vw;
	}
}
