@charset "UTF-8";

/*--------------------------------------------
HEADER
---------------------------------------------*/

:root {
	--bg-base: #f5f3d0;
	--bg-soft: #fff9cc;
	--accent-blue: #3da6d9;
	--accent-cyan: #58c3d6;
	--accent-orange: #f57a24;
	--accent-red: #ef3e2e;
	--text-main: #1b1a1d;
	--text-invert: #ffffff;

	/* Backward-compatible aliases used across this stylesheet */
	--gg06-yellow: var(--bg-base);
	--gg06-ink: var(--text-main);
	--gg06-blue: var(--accent-blue);
	--gg06-cyan: var(--accent-cyan);
	--gg06-red: var(--accent-red);
	--gg06-orange: var(--accent-orange);
	--fixed-head-topbar-bg: #40A2D7;
}

@keyframes fadein {
	0% {
		filter: blur(100px)
	}

	100% {
		filter: blur(0px)
	}
}

html {
	scroll-behavior: smooth;
}

#page-end {
	height: 1px;
}

#home_header .top {
	width: 100vw;
	height: 100vh;
	margin: 0;
	padding: 0
}

#home_header .fadeIn {
	animation-name: fadein;
	animation-duration: 1s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
	overflow-x: hidden
}

#home_header .main-visual {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

#home_header .head_bg {
	position: relative;
	height: 100%;
}

#home_header .main-visual img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	object-position: top;
}

#home_header .mv-overlay {
	position: absolute;
	inset: 0;
	display: grid;
	grid-template-columns: minmax(180px, 22%) minmax(420px, 1fr) minmax(200px, 26%);
	gap: 0vw;
	/*padding: 4.5vh 4vw 5vh;*/
	max-width: 1280px;
	margin: 0 auto;
	align-items: stretch;
	color: #000;
	text-shadow: none;
	pointer-events: none;
	--mv-title-gap: clamp(90px, 16vh, 180px);
}

#home_header .mv-title-wide {
	display: none;
	position: absolute;
	top: 24px;
	left: calc(22% + 0vw);
	right: 0;
	width: calc(100% - (22% + 0vw));
	z-index: 3;
	padding: 0;
	pointer-events: none;
}

#home_header .mv-title-wide img {
	width: 100%;
	height: auto;
	filter: none;
}

#home_header .mv-col {
	display: flex;
	flex-direction: column;
}

#home_header .mv-left {
	align-items: center;
	height: 100%;
	padding-top: 24px;
	position: relative;
	z-index: 2;
}

#home_header .mv-center {
	align-items: center;
	height: 100%;
	padding-top: var(--mv-title-gap);
	position: relative;
	z-index: 1;
}

#home_header .mv-right {
	align-items: center;
	height: 100%;
	padding-top: var(--mv-title-gap);
	position: relative;
	z-index: 1;
}

#home_header .mv-center-inner {
	width: 100%;
	max-width: 720px;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 2vh;
	position: relative;
	height: 100%;
}

#home_header .mv-center .main-visual {
	position: relative;
	height: 100%;
	width: 100%;
	flex: 1;
	margin-top: 0;
	padding: 0;
	z-index: -1;
}

#home_header .mv-center .main-visual img {
	height: 100%;
	width: 100%;
	object-fit: contain;
	max-height: 86vh;
	margin-top: 0;
}

#home_header .mv-brand {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 10px;
	padding: 0 20px;
	width: 100%;
}

#home_header .mv-brand img {
	width: 100%;
	height: auto;
	filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.25));
}

#home_header .mv-brand span {
	letter-spacing: .12em;
	font-weight: 700;
	font-size: clamp(12px, 1.2vw, 16px);
}

#home_header .mv-title {
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	z-index: 2;
	padding: 35px 20px;
}

#home_header .mv-title img {
	width: 100%;
	height: auto;
	/*filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.3));*/
}

#home_header .mv-info {
	align-self: start;
	/*border-left: 1px solid rgba(255, 255, 255, 0.6);*/
	padding-left: 18px;
	display: grid;
	gap: 18px;
	font-size: 18px;
	line-height: 1.6;
	margin-top: 30px;
	padding: 20px 20px;

}

#home_header .mv-info-block h3 {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: .08em;
	margin-bottom: 6px;
	display: inline-block;
	padding-left: 8px;
	border-left: 5px solid rgba(217, 14, 0, 0.7);
}

#home_header .mv-info-block p.en {
	opacity: 0.88;
	margin-top: 6px;
	display: block;
	color: #000;
}

#home_header .mv-info-block .en,
#home_header .mv-announce .en {
	display: block;
}

#home_header .mv-announce {
	position: static;
	width: 100%;
	padding: 12px 16px;
	background: #000;
	border-radius: 0;
	font-weight: 600;
	color: #fff;
	line-height: 1.6;
}

#home_header .mv-announce.overlay {
	position: static;
	width: 100%;
	min-height: auto;
}

#home_header .mv-announce .en {
	font-weight: 400;
	opacity: 0.9;
	margin-top: 6px;
}

#home_header .fixed-head.transform {
	background: url(../images/home/main_visual.webp) center 0/ cover no-repeat;
	background-blend-mode: normal;
}

#home_header .links a,
#home_header .links a span,
#home_header .links a:visited {
	color: var(--gg06-ink);
}

#nav a,
#nav a:visited,
#nav .lang-toggle,
#nav .lang-toggle label,
#home_header #nav a,
#home_header #nav a span,
#home_header #nav a:visited,
#home_header #nav .lang-toggle,
#home_header #nav .lang-toggle label {
	color: #fff;
}

#home_header #ctp {
	display: none;
}


@media screen and (max-width: 1024px) {

	html,
	body {
		height: 100%;
		background: #FFF300;
		overflow: auto;
	}

	#home_header {
		position: relative;
		height: auto;
		background: #FFF300;
		padding-top: 0;
	}

	.scroll-arrow {
		position: fixed;
		left: 50%;
		bottom: calc(var(--sp-fixed-menu-h, 0px) + 16px);
		transform: translateX(-50%);
		width: 44px;
		height: 44px;
		border-radius: 50%;
		border: 2px solid rgba(0, 0, 0, 0.6);
		background: rgba(255, 255, 255, 0.65);
		display: inline-flex;
		align-items: center;
		justify-content: center;
		z-index: 110;
	}

	.scroll-arrow::after {
		content: "";
		width: 10px;
		height: 10px;
		border-right: 2px solid rgba(0, 0, 0, 0.8);
		border-bottom: 2px solid rgba(0, 0, 0, 0.8);
		transform: rotate(45deg) translateY(-1px);
	}

	.scroll-arrow.is-bottom::after {
		transform: rotate(-135deg) translateY(-1px);
	}

	#home_header::before {
		content: "";
		position: absolute;
		inset: 0;
		background: none;
		filter: drop-shadow(-18px 0 22px rgba(0, 0, 0, 0.25)) drop-shadow(18px 0 22px rgba(0, 0, 0, 0.25));
		z-index: 0;
		pointer-events: none;
	}

	#home_header .fixed-head.transform {
		/*padding-bottom: calc(15.5 * 100vw / 1024)*/
		padding: calc(10 * 100vw / 1024) calc(14 * 100vw / 1024) 0;
		box-sizing: border-box;
	}

	#home_header .main-visual {
		padding: 0;
	}

	#home_header .main-visual img {
		max-height: 78vh;
		object-fit: contain;
	}

	#home_header .mv-overlay {
		grid-template-columns: 1fr;
		padding: 0;
		gap: 0vh;
		text-align: left;
		display: block;
		position: relative;
		inset: auto;

	}

	#home_header .mv-center {
		position: static;
		flex: 0 0 auto;
		padding-top: 0;
		z-index: 1;
	}

	#home_header .mv-center-inner {
		width: 100%;
		max-width: none;
		height: auto;
		padding: 0;
		justify-content: flex-start;
		z-index: 2;
		overflow: visible;
	}

	#home_header .mv-center .main-visual {
		height: auto;
		/*margin: 2vh auto 0;*/
		width: 100vw;
		max-width: 100vw;
		/*max-height: 70vh;*/
		aspect-ratio: 3 / 4;
		/*padding: 0 18px;*/
		box-sizing: border-box;
		/*overflow: visible;*/
	}

	#home_header .mv-center .main-visual img {
		object-fit: contain;
		width: 100%;
		height: auto;
	}

	#home_header .mv-left {
		position: relative;
		z-index: 2;
		/*padding: 6vh 6vw 0;*/
		padding-top: 0;
	}

	#home_header .mv-brand img {
		width: 50%;
		height: auto;
	}

	#home_header .mv-title {
		position: static;
		transform: none;
		z-index: 2;
		padding: 0px;
	}

	#home_header .mv-title-wide {
		display: none;
	}

	#home_header .mv-right {
		position: relative;
		z-index: 2;
		padding: 3vh 6vw 0;
		color: #000;
		font-weight: 400;
	}

	#home_header .mv-info-block h3 {
		border-left: 2px solid rgba(0, 0, 0, 0.7);
	}

	#home_header .mv-center-inner {
		width: 100%;

	}

	#home_header .mv-brand {
		align-items: flex-start;
		padding: 20px 20px 0px 20px;
		width: 100%;
	}

	#home_header .mv-info {
		border-left: none;
		padding-left: 18px;
		font-size: 18px;
		padding: 20px 20px;
		background: transparent;
		backdrop-filter: none;
		border-radius: 0;
		width: 100%;
		margin-bottom: 30px;
	}

	#home_header .mv-info-block h3 {
		font-size: 18px;

	}

	#home_header .mv-announce {
		position: static;
		transform: none;
		width: 100%;
		font-size: 18px;
		background: #000;
		backdrop-filter: none;
		border-radius: 0;

	}

}

@media screen and (max-width: 1200px) and (min-width: 1025px) {
	#home_header .mv-overlay {
		grid-template-columns: minmax(160px, 20%) minmax(320px, 1fr) minmax(180px, 24%);
		gap: 0vw;
		padding: 3.5vh 3vw 4vh;
	}

	#home_header .mv-title img {
		width: min(560px, 100%);
	}

	#home_header .mv-info {
		font-size: 13px;
		gap: 14px;
	}
}

@media print,
screen and (min-width: 1025px) {
	#home_header {
		width: 100vw;
		/*height: calc(100vh - 60px);*/
		margin: 0;
		padding: 0;
		background: #FFF300;
		position: relative;
	}

	#home_header .head_bg {
		position: relative;
		width: 100%;
		max-width: 1440px;
		height: 100%;
		margin: 0 auto;
		overflow: hidden;

	}

	#home_header .mv-center,
	#home_header .mv-right {
		box-sizing: border-box;
	}

	#home_header .main-visual {
		/*padding: 6vh 6vw 4vh;*/
	}

	#home_header .main-visual img {
		max-height: 70vh;
		width: 100%;
		height: auto;
	}

	#home_header .mv-center .main-visual {
		display: flex;
		align-items: flex-end;
		justify-content: center;
		height: auto;
		min-height: 0;
	}

	#home_header .mv-center .main-visual img {
		width: auto;
		max-width: 100%;
		height: auto;
		max-height: calc(100vh - 60px - var(--mv-title-gap) - 16px);
		object-fit: contain;
		object-position: center bottom;
	}

	#home_header .mv-title-wide {
		display: block;
	}

	#home_header .mv-info-block p.en {
		color: #000;
	}

}



/*--------------------------------------------
LIVE
---------------------------------------------*/

#main {
	background-color: #fff9cc;


}


#main .title01 {
	color: var(--gg06-ink);
}

#main .container {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
}

#outline,
#outline .title01,
#outline a {
	color: var(--gg06-ink);
}

#outline a:hover {
	color: var(--gg06-blue);
}

#preface dl,
#squareenix dl,
#message-from-usc dl,
.message dl {
	background-color: var(--text-main);
	border: 1px solid rgba(61, 166, 217, 0.35);
	color: var(--text-invert);
	box-shadow: 0 8px 18px rgba(0, 0, 0, 0.2);
}

#games h3,
#geidaiusc h3,
#squareenix h3,
#preface h3,
#message-from-usc h3 {
	border-color: var(--gg06-blue);
}

#games h3 {
	border-bottom-width: 3px;
	border-bottom-style: solid;
}

#games .work-list h4 {
	border-bottom: none !important;
	padding-bottom: 0;
}

#message-from-usc .jp h3:after,
#message-from-usc .en h3:after {
	background-color: var(--gg06-blue);
}

.work-list img {
	border-color: rgba(61, 166, 217, 0.45);
}

.work-list .detail_link a {
	background: linear-gradient(120deg, var(--gg06-blue), var(--gg06-cyan));
	color: var(--text-invert);
	box-shadow: 0 6px 16px rgba(61, 166, 217, 0.28);
	transition: transform 0.2s ease, box-shadow 0.2s ease, filter 0.2s ease;
}

.work-list .detail_link a:hover {
	filter: saturate(1.1);
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(245, 122, 36, 0.28);
	background: linear-gradient(120deg, var(--gg06-orange), var(--gg06-red));
}

#live .iframe-container {
	position: relative;
	height: 0;
	padding: 0 0 56.25%;
	overflow: hidden
}

#live iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

@media screen and (max-width: 1024px) {
	#live {
		width: 100%;
		padding: calc(34 * 100vw / 1024)
	}
}

@media print,
screen and (min-width: 1025px) {
	#live {
		width: 100%;
		padding: 28px 81px
	}
}





/*--------------------------------------------
OUTLINE
---------------------------------------------*/

#outline,
#outline .title01,
#outline a {
	color: var(--gg06-ink);
}

#outline .jp p {
	line-height: 1.75
}

#outline .en {
	font-weight: 600;
	letter-spacing: .04em
}

#outline dl {
	display: flex;
	margin-top: 1em
}

#outline dt {
	flex-shrink: 0
}

#outline dt:after {
	content: '：'
}

@media screen and (max-width: 1024px) {
	#outline {}

	#outline dl {
		flex-direction: column
	}

	#outline p,
	#outline dt,
	#outline dd {
		letter-spacing: .05em
	}
}

@media print,
screen and (min-width: 1025px) {
	#outline {}
}





/*--------------------------------------------
PREFACE
---------------------------------------------*/
#preface h3 {
	font-weight: 700;
	position: relative;
	border-bottom: 3px solid;
	border-color: var(--gg06-blue);
}

#preface .en h3 {
	letter-spacing: .04em
}

#preface h3:after {
	content: '';
	left: 0;
	position: absolute;
	top: 100%
}

#preface .jp h3:after {
	/*background-color: var(--blue)*/
	/*background-color: #8dc21f;*/
}

#preface .en h3:after {
	/*background-color: var(--blue)*/
	/*background-color: #e0c2a2;*/
}

#preface .en p {
	/*font-weight: 600;*/
}

#preface p+p {
	margin-top: 1em
}

#preface dl {
	background-color: var(--gg06-ink);
	color: #f7f7f7;
	display: flex
}

#preface dt {
	display: flex
}

#preface dt img {
	width: auto
}

#preface dt div {
	display: flex;
	flex-direction: column;
	justify-content: center
}

#preface dt span {
	display: block
}

#preface dt span:nth-child(1) {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	letter-spacing: .06em
}

#preface dt span:nth-child(2) {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	letter-spacing: .04em
}

#preface dd {
	display: flex;
	flex-direction: column
}

#preface dd span:nth-child(1) {
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .06em;
	line-height: 1.5
}

#preface dd span:nth-child(2) {
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .02em;
	line-height: 1.42
}

@media screen and (max-width: 1024px) {
	#preface li:not(:last-child) {
		margin-bottom: calc(90 * 100vw / 1024)
	}

	#preface dl {
		flex-direction: column;
		margin-bottom: calc(60 * 100vw / 1024)
	}

	#preface dt {
		position: relative
	}

	#preface dt img {
		height: calc(149 * 100vw / 1024)
	}

	#preface dt div {
		padding: calc(30 * 100% / 1024);
		z-index: 2
	}

	#preface dt div span:nth-child(1) {
		font-size: 3.3rem
	}

	#preface dt div span:nth-child(2) {
		font-size: 2.4rem;
		margin-top: calc(14 * 100vw / 1024)
	}

	#preface dt:after {
		background: url(../images/ui/logo/badge_geidai01.svg) 0 0/ contain no-repeat;
		bottom: 50%;
		content: '';
		height: calc(99 * 100vw / 1024);
		margin-bottom: calc((-99 / 2) * 100vw / 1024);
		position: absolute;
		right: calc(26 * 100% / 1024);
		width: calc(93 * 100% / 1024)
	}

	#preface dd {
		border-top: .5px solid #fff;
		padding: calc(26 * 100vw / 1024)
	}

	#preface dd span:nth-child(1) {
		font-size: 2.7rem
	}

	#preface dd span:nth-child(2) {
		font-size: 2.3rem;
		margin-top: calc(10 * 100vw / 1024)
	}

	#preface h3 {
		font-size: 3.4rem;
		letter-spacing: .02em;
		line-height: 1.2;
		margin-bottom: calc(24 * 100vw / 1024);
		padding-bottom: calc(14 * 100vw / 1024)
	}
}

@media print,
screen and (min-width: 1025px) {
	#preface li {
		margin-bottom: 60px
	}

	#preface dl {
		align-items: center;
		margin-bottom: 40px;
		position: relative
	}

	#preface dl:after {
		background: url(../images/ui/logo/badge_geidai01.svg) 0 0/ contain no-repeat;
		bottom: 50%;
		content: '';
		height: 86px;
		margin-bottom: -43px;
		position: absolute;
		right: 30px;
		width: 80px
	}

	#preface dt {
		width: 345px
	}

	#preface dt img {
		height: 130px
	}

	#preface dt div {
		padding-left: 20px
	}

	#preface dt span:nth-child(1) {
		font-size: 2rem
	}

	#preface dt span:nth-child(2) {
		font-size: 1.6rem;
		margin-top: 10px
	}

	#preface dd {
		border-left: 1px solid #fff;
		min-height: 98px;
		padding: 16px 30px;
		width: 755px
	}

	#preface dd span:nth-child(1) {
		font-size: 1.4rem
	}

	#preface dd span:nth-child(2) {
		font-size: 1.4rem;
		margin-top: 5px
	}

	#preface h3 {
		font-size: 2.5rem;
		margin-bottom: 12px;
		padding-bottom: 10px
	}
}

/*--------------------------------------------
GAMES
---------------------------------------------*/
#games h3 {
	font-weight: 700;
	position: relative;
	border-bottom: 3px solid;
	border-color: var(--gg06-blue);
}

#games .en h3 {
	letter-spacing: .04em
}

#games h3:after {
	content: '';
	left: 0;
	position: absolute;
	top: 100%
}


@media screen and (max-width: 1024px) {
	#games h3 {
		font-size: 3.6rem;
		letter-spacing: .02em;
		line-height: 1.2;
		margin-bottom: calc(60 * 100vw / 1024);
		padding-bottom: calc(14 * 100vw / 1024)
	}
}
}

@media print,
screen and (min-width: 1025px) {
	#games h3 {
		font-size: 2.5rem;
		margin-bottom: 12px;
		padding-bottom: 10px
	}
}

/*--------------------------------------------
GAMES _ WORK LIST
---------------------------------------------*/
.work-list {
	margin-top: 15px;
}

.work-list ul {
	display: flex;
	flex-wrap: wrap;

}

.work-list li {
	display: flex;
	flex-direction: column;
}

.work-list h4 {
	align-items: center;
	display: inline-block;
	flex-direction: column;
	font-weight: 700;
	justify-content: center;
	letter-spacing: .02em;
	border: none !important;
	line-height: 1.8em;
}

.work-list img {
	height: auto;
	width: 100%;
	border: solid 1px #ddd;
}

.work-list div span {
	letter-spacing: .02em;
	line-height: 1.8em;
}

.work-list div .en {}

.work-list a {
	justify-content: center;
	align-items: center;
}

.work-list .detail_link a {
	align-items: center;
	background: linear-gradient(120deg, var(--gg06-blue), var(--gg06-cyan));
	color: #fff;
	display: flex;

	font-weight: 700;
	justify-content: center;
	letter-spacing: .05em;
}

.work-list .detail_link a span {
	align-items: center;
	display: flex;
}

.work-list .detail_link a span:before {
	background: url("../images/ui/icon/controller01.svg");
	content: '';
}

@media screen and (max-width: 1024px) {
	.title01+.work-list {
		margin-top: calc(30 * 100vw / 1024);
	}

	.work-list {
		margin-top: calc(30 * 100vw / 1024);
	}

	.work-list li {
		width: 100%;
	}

	.work-list li:not(:nth-child(1)) {
		padding-top: calc(30 * 100vw / 1024);
	}

	.work-list h4 {
		margin-bottom: calc(30 * 100vw / 1024);
		color: var(--gg06-ink);
	}

	.work-list h4:not(.jp) {
		font-size: 3.6rem;
	}

	.work-list h4 .jp {
		font-size: 3.6rem;
	}

	.work-list img {
		margin-bottom: calc(30 * 100vw / 1024);
		height: 200px;
		width: 100%;
		object-fit: cover;
	}

	.work-list div {
		margin-bottom: calc(40 * 100vw / 1024);
	}

	.work-list div p {
		align-items: center;
		display: inline-flex;
		margin-right: calc(20 * 100% / 1024);
	}

	.work-list div span:not(.icon01):not(.icon02) {
		font-size: 3.4rem;
	}

	.work-list .detail_link a {
		border-radius: calc(8 * 100vw / 1024);
		font-size: 3rem;
		height: calc(62 * 100vw / 1024);
	}

	.work-list .detail_link a span {
		position: relative;
	}

	.work-list .detail_link a span:before {
		height: calc(26 * 100vw / 1024);
		margin-right: calc(14 * 100vw / 1024);
		width: calc(53 * 100vw / 1024);
	}
}

@media print,
screen and (min-width: 1025px) {

	.role+.work-list,
	.note+.work-list,
	.texts01+.work-list {
		margin-top: 40px;
	}

	.work-list li {
		padding-bottom: 10px;
		padding-top: 10px;
	}

	.work-list li:not(:nth-child(4n+2)),
	.work-list li:not(:nth-child(4n+3)) {
		width: 261px;
	}

	.work-list li:nth-child(4n+2) {
		width: 287px;
	}

	.work-list li:nth-child(4n+3) {
		width: 287px;
	}

	.work-list li:not(:nth-child(4n+4)) {
		padding-right: 26px;
	}

	.work-list li:not(:nth-child(4n+1)) {
		padding-left: 26px;
	}

	.work-list li:not(:nth-child(4n+1)) {
		border-left: 1px solid var(--gg06-cyan);
	}

	.work-list li:nth-child(n+5) {
		margin-top: 60px;
	}

	.work-list h4 {
		/*min-height: 65px;*/
		order: 2;
		margin-top: 20px;
		margin-bottom: 15px;
		color: var(--gg06-ink);
	}

	.work-list h4:not(span) {
		font-size: 2.8rem;
	}

	.work-list h4 .jp {
		font-size: 2.0rem;
	}

	.work-list h4 .en {
		font-size: 2.0rem;
	}

	.work-list h4 span+span {
		margin-top: 10px;
	}

	#event .work-list li>p {
		order: 3;
		margin-top: 0;
	}

	#event .work-list li>p+p {
		margin-top: 8px;
	}

	.work-list img {
		order: 1;
		height: 133px;
		width: 235px;
		object-fit: cover;
	}

	.work-list div {
		margin-bottom: 25px;
		order: 3;
	}

	.work-list div span:not(.icon01):not(.icon02) {
		font-size: 1.6rem;
	}

	.work-list div span.jp+span.en:before {
		/*content: '/';*/
		margin: 0 5px;
	}

	.work-list .detail_link {
		margin-top: auto;
	}

	.work-list .detail_link a {
		border-radius: 4px;
		font-size: 1.7rem;
		height: 30px;
		margin-top: auto;
		order: 4;
	}

	.work-list .detail_link a span {
		position: relative;
	}

	.work-list .detail_link a span:before {
		height: 15px;
		margin-right: 7px;
		width: 29px;
	}
}

/*--------------------------------------------
USC
---------------------------------------------*/
#geidaiusc h3 {
	font-weight: 700;
	position: relative;
	border-bottom: 3px solid;
	border-color: var(--gg06-blue);
}

#geidaiusc .en h3 {
	letter-spacing: .04em
}

#geidaiusc h3:after {
	content: '';
	left: 0;
	position: absolute;
	top: 100%
}

#geidaiusc .work-list {
	letter-spacing: .04em
}

@media screen and (max-width: 1024px) {
	#geidaiusc h3 {
		font-size: 3.4rem;
		letter-spacing: .02em;
		line-height: 1.2;
		margin-bottom: calc(24 * 100vw / 1024);
		padding-bottom: calc(14 * 100vw / 1024)
	}
}

@media print,
screen and (min-width: 1025px) {
	#geidaiusc h3 {
		font-size: 2.5rem;
		margin-bottom: 12px;
		padding-bottom: 10px
	}
}

/*--------------------------------------------
SQUARE ENIX
---------------------------------------------*/
#squareenix h3 {
	font-weight: 700;
	position: relative;
	border-bottom: 3px solid;
	border-color: var(--gg06-blue);
}

#squareenix .en h3 {
	letter-spacing: .04em
}

#squareenix h3:after {
	content: '';
	left: 0;
	position: absolute;
	top: 100%
}

#squareenix p+p {
	margin-top: 1em
}

#squareenix dl {
	background-color: var(--gg06-ink);
	color: #f7f7f7;
	display: flex
}

#squareenix dt {
	display: flex
}

#squareenix dt img {
	width: auto
}

#squareenix dt div {
	display: flex;
	flex-direction: column;
	justify-content: center
}

#squareenix dt span {
	display: block
}

#squareenix dt span:nth-child(1) {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	letter-spacing: .06em
}

#squareenix dt span:nth-child(2) {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 700;
	letter-spacing: .04em
}

#squareenix dd {
	display: flex;
	flex-direction: column
}

#squareenix dd span:nth-child(1) {
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .06em;
	line-height: 1.5
}

#squareenix dd span:nth-child(2) {
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: .02em;
	line-height: 1.42
}

@media screen and (max-width: 1024px) {
	#squareenix li:not(:last-child) {
		margin-bottom: calc(90 * 100vw / 1024)
	}

	#squareenix dl {
		flex-direction: column;
		margin-bottom: calc(60 * 100vw / 1024)
	}

	#squareenix dt {
		position: relative
	}

	#squareenix dt img {
		height: calc(149 * 100vw / 1024)
	}

	#squareenix dt div {
		padding-left: calc(30 * 100% / 1024);
		z-index: 2
	}

	#squareenix dt div span:nth-child(1) {
		font-size: 4.3rem
	}

	#squareenix dt div span:nth-child(2) {
		font-size: 2.4rem;
		margin-top: calc(14 * 100vw / 1024)
	}

	#squareenix dt:after {
		/*background: url("../images/ui/logo/sqenixlogo.svg") 0 0/ contain no-repeat;*/
		top: 40%;
		content: '';
		height: calc(99 * 100vw / 1024);
		margin-bottom: calc((-99 / 2) * 100vw / 1024);
		position: absolute;
		right: calc(26 * 100% / 1024);
		width: calc(293 * 100% / 1024)
	}

	#squareenix dd {
		border-top: .5px solid #fff;
		padding: calc(26 * 100vw / 1024)
	}

	#squareenix dd span:nth-child(1) {
		font-size: 2.7rem
	}

	#squareenix dd span:nth-child(2) {
		font-size: 2.3rem;
		margin-top: calc(10 * 100vw / 1024)
	}

	#squareenix h3 {
		font-size: 3.4rem;
		letter-spacing: .02em;
		line-height: 1.2;
		margin-bottom: calc(24 * 100vw / 1024);
		padding-bottom: calc(14 * 100vw / 1024)
	}
}

@media print,
screen and (min-width: 1025px) {
	#squareenix li {
		margin-bottom: 60px
	}

	#squareenix dl {
		align-items: center;
		margin-bottom: 40px;
		position: relative
	}

	#squareenix dl:after {
		/*background: url("../images/ui/logo/sqenixlogo.svg") 0 0/ contain no-repeat;*/
		top: 40%;
		content: '';
		height: 186px;
		margin-bottom: -43px;
		position: absolute;
		right: 30px;
		width: 280px
	}

	#squareenix dt {
		width: 345px
	}

	#squareenix dt img {
		height: 130px
	}

	#squareenix dt div {
		padding-left: 20px
	}

	#squareenix dt span:nth-child(1) {
		font-size: 2rem
	}

	#squareenix dt span:nth-child(2) {
		font-size: 1.6rem;
		margin-top: 10px
	}

	#squareenix dd {
		border-left: 1px solid #fff;
		min-height: 98px;
		padding: 16px 30px;
		width: 755px
	}

	#squareenix dd span:nth-child(1) {
		font-size: 1.4rem
	}

	#squareenix dd span:nth-child(2) {
		font-size: 1.4rem;
		margin-top: 5px
	}

	#squareenix h3 {
		font-size: 2.5rem;
		margin-bottom: 12px;
		padding-bottom: 10px
	}
}



/*--------------------------------------------
CREDIT
---------------------------------------------*/

#credit {
	/*background-color: var(--darkgray);*/
}

#credit,
#credit a {
	color: var(--gg06-ink)
}

#credit dt {
	font-weight: 700;
	font-size: 120%
}

#credit dt:after {
	content: '：'
}

#credit .en dd {
	/*font-weight: 600;*/
}

#credit dl dl dt {
	font-weight: 600;
	font-size: 100%
}

@media screen and (max-width: 1024px) {

	#credit dl:not(:nth-child(1)),
	#credit .logo dl,
	#credit p {
		margin-top: calc(40 * 100vw / 1024)
	}

	#credit dt,
	#credit dd {
		letter-spacing: .02em
	}

	#credit .logo img {
		height: calc(102 * 100vw / 1024);
		margin-top: calc(14 * 100vw / 1024)
	}

	#credit .campus_map {
		width: 100%;
		height: auto;
		margin: 30px auto
	}

	#credit .campus_map img {
		width: 100%;
		height: auto
	}
}

@media print,
screen and (min-width: 1025px) {

	#credit dl:not(:nth-child(1)),
	#credit .logo dl,
	#credit p {
		margin-top: 20px
	}

	#credit .logo {
		display: flex;
		position: relative;
		align-items: flex-end
	}

	#credit .logo img {
		flex-shrink: 0;
		margin-left: 10px;
		width: 162px
	}

	#credit .campus_map {
		width: 50%;
		height: auto;
		margin: 30px auto
	}

	#credit .campus_map img {
		width: 100%;
		height: auto
	}
}

.ggmap {
	width: 100%;
	position: relative;
	padding-top: 56.25%;
	margin-top: 15px
}

.ggmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

#credit table {
	border-collapse: collapse;
	background-color: #ffffff;
	width: 100%;
	border-style: solid;
	border-width: 1px;
	border-color: rgba(61, 166, 217, 0.35);
	table-layout: auto;
	word-break: break-all;
	word-wrap: break-word;
	margin-top: 15px
}

#credit table thead th,
#credit table tbody th,
#credit table tbody td {
	border-style: solid;
	border-width: 1px;
	border-color: rgba(61, 166, 217, 0.35);
	padding: 8px 11px;
	/*font-size: 12px;
	line-height: 18px;*/
	color: #000000
}

#credit table thead th,
#credit table tbody th {
	background-color: #eeeeee
}

#credit table.table_list {
	border-width: 0
}

#credit table.table_list thead th,
#credit table.table_list tbody td {
	border-width: 0;
	vertical-align: top;
	padding: 4px 0;
	background-color: #ffffff
}

#credit table.table_noborder,
#credit table.table_noborder thead th,
#credit table.table_noborder tbody td {
	border: 0
}

#credit table.table_list tbody td:first-child {
	white-space: nowrap;
	vertical-align: top;
	padding: 4px 0;
	width: 1px;
	background-color: #ffffff
}


/*--------------------------------------------
GEIDAI-USC
---------------------------------------------*/

#message-from-usc h3 {
	font-weight: 700;
	position: relative
}

#message-from-usc .en h3 {
	letter-spacing: .04em
}

#message-from-usc h3:after {
	content: '';
	left: 0;
	position: absolute;
	top: 100%
}

#message-from-usc .jp h3:after {
	background-color: var(--gg06-blue)
}

#message-from-usc .en h3:after {
	background-color: var(--gg06-blue)
}

#message-from-usc .en p {
	/*font-weight: 600;*/
}

#message-from-usc p+p {
	margin-top: 1em
}

@media screen and (max-width: 1024px) {
	#message-from-usc h3 {
		font-size: 3.4rem;
		letter-spacing: .02em;
		line-height: 1.2;
		margin-bottom: calc(24 * 100vw / 1024);
		padding-bottom: calc(14 * 100vw / 1024)
	}

	#message-from-usc h3:after {
		height: calc(6 * 100vw / 1024);
		width: calc(400 * 100vw / 1024)
	}
}

@media print,
screen and (min-width: 1025px) {
	#message-from-usc h3 {
		font-size: 2.5rem;
		margin-bottom: 12px;
		padding-bottom: 10px
	}

	#message-from-usc h3:after {
		height: 3px;
		width: 50%
	}
}

#geidai-usc h2 {
	align-items: center;
	border: 2px solid #ccc;
	display: flex;
	flex-direction: column
}

#geidai-usc h2 span {
	text-align: center
}

#geidai-usc h2>span {
	align-items: center;
	display: flex;
	flex-direction: column;
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 500;
	letter-spacing: .08em;
	line-height: 1.29
}

#geidai-usc span>span {
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 700;
	letter-spacing: .02em;
	line-height: 1.28
}

#geidai-usc h2>span:after {
	background: url(../images/ui/icon/cross01.svg) 0 0/ contain no-repeat;
	content: ''
}

#geidai-usc .geidai:before {
	background: url(../images/ui/logo/badge_geidai02.svg) 0 0/ contain no-repeat;
	content: ''
}

#geidai-usc .usc:before {
	background: url(../images/ui/logo/logo_usc01.svg) 0 0/ contain no-repeat;
	content: ''
}

@media screen and (max-width: 1024px) {
	#geidai-usc {
		padding-bottom: calc(30 * 100vw / 1024);
		padding-top: calc(60 * 100vw / 1024)
	}

	#geidai-usc h2 {
		margin-bottom: calc(40 * 100vw / 1024);
		padding: calc(30 * 100vw / 1024) 0;
		background-color: #fff;
	}

	#geidai-usc h2>span {
		font-size: 3.4rem
	}

	#geidai-usc span>span {
		font-size: 2.3rem;
		margin-top: calc(8 * 100vw / 1024)
	}

	#geidai-usc .geidai:before {
		height: calc(106 * 100vw / 1024);
		margin-bottom: calc(16 * 100vw / 1024);
		width: calc(100 * 100vw / 1024)
	}

	#geidai-usc .usc:before {
		height: calc(87 * 100vw / 1024);
		width: calc(289 * 100vw / 1024)
	}

	#geidai-usc .geidai:after {
		height: calc(55 * 100vw / 1024);
		margin-top: calc(15 * 100vw / 1024);
		width: calc(55 * 100vw / 1024)
	}
}

@media print,
screen and (min-width: 1025px) {
	#geidai-usc {
		/*padding: 50px 0*/
	}

	#geidai-usc h2 {
		margin-bottom: 40px;
		padding: 40px 0;
		background-color: #fff;
	}

	#geidai-usc h2>span {
		font-size: 2.6rem
	}

	#geidai-usc span>span {
		font-size: 1.8rem;
		margin-top: 5px
	}

	#geidai-usc .geidai:before {
		height: 86px;
		margin-bottom: 12px;
		width: 81px
	}

	#geidai-usc .usc:before {
		height: 70px;
		width: 233px
	}

	#geidai-usc .geidai:after {
		height: 38px;
		margin: 15px 0 5px;
		width: 38px
	}
}


/*--------------------------------------------
message-from-usc
---------------------------------------------*/

#message-from-usc dl {
	background-color: var(--gg06-ink);
	color: #f7f7f7;
	display: flex
}

#message-from-usc dt {
	display: flex
}

#message-from-usc dt img {
	width: auto
}

#message-from-usc dt div {
	display: flex;
	flex-direction: column;
	justify-content: center
}

#message-from-usc dt span {
	display: block
}

#message-from-usc dt span:nth-child(1) {
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 700;
	letter-spacing: .06em
}

#message-from-usc dt span:nth-child(2) {
	font-family: 'Noto Serif JP', sans-serif;
	font-weight: 700;
	letter-spacing: .04em
}

#message-from-usc dd {
	display: flex;
	flex-direction: column
}

#message-from-usc dd span:nth-child(1) {
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing: .06em;
	line-height: 1.5
}

#message-from-usc dd span:nth-child(2) {
	font-family: 'Noto Serif JP', sans-serif;
	letter-spacing: .02em;
	line-height: 1.42
}

@media screen and (max-width: 1024px) {
	#message-from-usc li:not(:last-child) {
		margin-bottom: calc(90 * 100vw / 1024)
	}

	#message-from-usc dl {
		flex-direction: column;
		margin-bottom: calc(60 * 100vw / 1024)
	}

	#message-from-usc dt {
		position: relative
	}

	#message-from-usc dt img {
		height: calc(149 * 100vw / 1024)
	}

	#message-from-usc dt div {
		padding-left: calc(30 * 100% / 1024);
		z-index: 2
	}

	#message-from-usc dt div span:nth-child(1) {
		font-size: 4.3rem
	}

	#message-from-usc dt div span:nth-child(2) {
		font-size: 2.4rem;
		margin-top: calc(14 * 100vw / 1024)
	}

	/*#message-from-usc dt:after {
		display:none;
		background: url("../images/ui/logo/logo_usc01.webp") 0 0/ contain no-repeat;
		content: '';
		height: calc( 99 * 100vw / 1024 );
		margin-bottom: calc( ( -99 / 2 ) * 100vw / 1024 );
		position: absolute;
		right: calc( 26 * 100% / 1024 );
		width: calc( 125 * 100% / 1024 );
	}
	*/
	#message-from-usc dd {
		border-top: .5px solid #fff;
		padding: calc(26 * 100vw / 1024)
	}

	#message-from-usc dd span:nth-child(1) {
		font-size: 2.7rem
	}

	#message-from-usc dd span:nth-child(2) {
		font-size: 2.3rem;
		margin-top: calc(10 * 100vw / 1024)
	}
}

@media print,
screen and (min-width: 1025px) {
	#message-from-usc li {
		margin-bottom: 60px
	}

	#message-from-usc dl {
		align-items: center;
		margin-bottom: 40px;
		position: relative
	}

	/*#message-from-usc dl:after {
		background: url("../images/ui/logo/logo_usc01.webp") 0 0/ contain no-repeat;
		bottom: 50%;
		content: '';
		margin-bottom: -63px;
		position: absolute;
		right: 30px;
	}
	*/
	#message-from-usc dt {
		width: 345px
	}

	#message-from-usc dt img {
		height: 130px
	}

	#message-from-usc dt div {
		padding-left: 20px
	}

	#message-from-usc dt span:nth-child(1) {
		font-size: 3rem
	}

	#message-from-usc dt span:nth-child(2) {
		font-size: 1.6rem;
		margin-top: 10px
	}

	#message-from-usc dd {
		border-left: 1px solid #fff;
		min-height: 98px;
		padding: 16px 30px;
		width: 755px
	}

	#message-from-usc dd span:nth-child(1) {
		font-size: 1.4rem
	}

	#message-from-usc dd span:nth-child(2) {
		font-size: 1.4rem;
		margin-top: 5px
	}
}

#message-from-usc h3 {
	font-weight: 700;
	position: relative
}

#message-from-usc .en h3 {
	letter-spacing: .04em
}

#message-from-usc h3:after {
	content: '';
	left: 0;
	position: absolute;
	top: 100%
}

#message-from-usc .jp h3:after {
	background-color: var(--gg06-blue)
		/*background-color: #8dc21f;*/
}

#message-from-usc .en h3:after {
	background-color: var(--gg06-blue)
		/*background-color: #e0c2a2;*/
}

#message-from-usc .en p {
	/*font-weight: 600;*/
}

#message-from-usc p+p {
	margin-top: 1em
}

@media screen and (max-width: 1024px) {
	#message-from-usc h3 {
		font-size: 3.4rem;
		letter-spacing: .02em;
		line-height: 1.2;
		margin-bottom: calc(24 * 100vw / 1024);
		padding-bottom: calc(14 * 100vw / 1024)
	}

	#message-from-usc h3:after {
		height: calc(6 * 100vw / 1024);
		width: calc(400 * 100vw / 1024)
	}
}

@media print,
screen and (min-width: 1025px) {
	#message-from-usc h3 {
		font-size: 2.5rem;
		margin-bottom: 12px;
		padding-bottom: 10px
	}

	#message-from-usc h3:after {
		height: 3px;
		width: 50%
	}
}

/*--------------------------------------------
message
---------------------------------------------*/
.message dl {
	background-color: var(--gg06-ink);
	color: #f7f7f7;
	display: flex
}

.message dt {
	display: flex
}

.message dt div {
	display: flex;
	flex-direction: column;
	justify-content: center
}

.message dt span {
	display: block
}

.message dt span:nth-child(1) {
	
	font-weight: 700;
	letter-spacing: .04em
}

.message dt span:nth-child(2) {

	font-weight: 700;
	letter-spacing: .06em
}

.message dd {
	/*align-items: center;*/
	display: flex;

	letter-spacing: .02em;
	line-height: 1.5
}

@media screen and (max-width: 1024px) {
	.message li:not(:last-child) {
		margin-bottom: calc(90 * 100vw / 1024)
	}

	.message dl {
		flex-direction: column;
		margin-bottom: calc(40 * 100vw / 1024)
	}

	.message dt {
		position: relative
	}

	.message dt img {
		height: calc(149 * 100vw / 1024);
		width: auto
	}

	.message dt div {
		padding-left: calc(30 * 100% / 1024);
		z-index: 2
	}

	.message dt div span:nth-child(1) {
		font-size: 3.9rem
	}

	.message dt div span:nth-child(2) {
		font-size: 2.2rem;
		margin-top: calc(10 * 100vw / 1024)
	}

	/*.message dt:after {
		background: url("../images/ui/logo/logo_usc01.webp") 0 0/ contain no-repeat;
		bottom: 0;
		content: '';
		height: calc( 75 * 100vw / 1024 );
		position: absolute;
		right: calc( 8 * 100% / 1024 );
		width: calc( 249 * 100% / 1024 );
	}*/
	.message dd {
		border-top: 1px solid #fff;
		font-size: 2.7rem;
		padding: calc(26 * 100vw / 1024)
	}
}

@media print,
screen and (min-width: 1025px) {
	.message li {
		margin-bottom: 60px
	}

	.message dl {
		align-items: center;
		margin-bottom: 30px;
		position: relative
	}

	/*.message dl:after {
		background: url("../images/ui/logo/logo_usc01.webp") 0 0/ contain no-repeat;
		bottom: 0;
		content: '';
		height: 70px;
		position: absolute;
		right: 10px;
		width: 228px;
	}*/
	.message dt {
		width: 345px
	}

	.message dt img {
		height: 130px;
		width: auto
	}

	.message dt div {
		padding-left: 20px
	}

	.message dt div span:nth-child(1) {
		font-size: 2rem
	}

	.message dt div span:nth-child(2) {
		font-size: 1.2rem;
		margin-top: 5px
	}

	.message dd {
		border-left: 1px solid #fff;
		font-size: 1.4rem;
		min-height: 98px;
		padding: 16px 30px;
		width: 755px
	}
}

/*--------------------------------------------
EVENT
---------------------------------------------*/

#event {
	/*background-color: var(--darkgray);*/
}

#event,
#event a {
	color: var(--gg06-ink)
}

#event dt {
	font-weight: 700;
	font-size: 120%
}

#event dt:after {
	content: '：'
}

#event .en dd {
	/*font-weight: 600;*/
}

#event dl dl dt {
	font-weight: 600;
	font-size: 100%
}

#event .event {
	margin: 0;
	padding: 0 0 28px;
}

#event .event+.event {
	margin-top: 28px;
	padding-top: 28px;
	border-top: 1px solid rgba(0, 0, 0, 0.45);
}

#event h3 {
	font-weight: 700;
	position: relative;
	border-bottom: 3px solid;
	border-color: var(--gg06-blue);
}

@media screen and (max-width: 1024px) {
	#event .event {
		padding-bottom: calc(36 * 100vw / 1024);
	}

	#event .event+.event {
		margin-top: calc(36 * 100vw / 1024);
		padding-top: calc(36 * 100vw / 1024);
	}

	#event h3 {
		letter-spacing: .02em;
		line-height: 1.2;
		margin-bottom: calc(24 * 100vw / 1024);
		padding-bottom: calc(14 * 100vw / 1024)
	}

	#event dl:not(:nth-child(1)),
	#event .logo dl,
	#event p {
		margin-top: calc(40 * 100vw / 1024)
	}

	#event dt,
	#event dd {
		letter-spacing: .02em
	}

	#event .logo img {
		height: calc(102 * 100vw / 1024);
		margin-top: calc(14 * 100vw / 1024)
	}

	#event .campus_map {
		width: 100%;
		height: auto;
		margin: 30px auto
	}

	#event .campus_map img {
		width: 100%;
		height: auto
	}

	#event .texts02 {
		align-items: flex-start;
		display: flex;
		justify-content: left;

	}

	#event .texts02 .photo {
		width: 60%;
	}

	#event .texts02 .photo img {
		width: 100%;
	}

	#event .texts02 .text {
		padding-left: 20px;
		width: 100%;
	}

	#event .texts01.has-event-image {
		display: block;
	}

	#event .texts01.has-event-image .event_img {
		width: 100%;
		margin: 0 0 calc(24 * 100vw / 1024);
	}

	#event .texts01.has-event-image .event_img img {
		display: block;
		width: 100%;
		height: auto;
	}

	#event .texts01.has-event-image .event_img img+img {
		margin-top: calc(16 * 100vw / 1024);
	}

	#event .texts01.has-event-image .text {
		width: 100%;
		padding-left: 0;
	}

	#event .work-list h4 .jp,
	#event .work-list h4 .en {
		display: block;
		letter-spacing: .01em;
		line-height: 1.2;
	}

	#event .work-list .jp dl,
	#event .work-list .en dl {
		margin: 0 0 calc(22 * 100vw / 1024);
	}

	#event .work-list .jp dt,
	#event .work-list .en dt {
		line-height: 1.25;
	}

	#event .work-list .jp dd,
	#event .work-list .en dd {
		margin-top: calc(6 * 100vw / 1024);
		line-height: 1.35;
	}
}

@media print,
screen and (min-width: 1025px) {
	#event .event {
		padding-bottom: 34px;
	}

	#event .event+.event {
		margin-top: 34px;
		padding-top: 34px;
	}

	#event h3 {
		font-size: 2.5rem;
		margin-bottom: 12px;
		padding-bottom: 10px
	}

	#event dl:not(:nth-child(1)),
	#event .logo dl,
	#event p {
		margin-top: 20px
	}

	#event .logo {
		display: flex;
		position: relative;
		align-items: flex-end
	}

	#event .logo img {
		flex-shrink: 0;
		margin-left: 10px;
		width: 162px
	}

	#event .campus_map {
		width: 50%;
		height: auto;
		margin: 30px auto
	}

	#event .campus_map img {
		width: 100%;
		height: auto
	}

	#event .texts02 {
		align-items: flex-start;
		display: flex;
		justify-content: left;

	}

	#event .texts02 .photo {
		width: 20%;
	}

	#event .texts02 .photo img {
		width: 100%;
	}

	#event .texts02 .text {
		padding-left: 30px;
		width: 100%;
	}

	#event .texts01.has-event-image {
		display: flex;
		align-items: flex-start;
		column-gap: 36px;
	}

	#event .texts01.has-event-image .event_img {
		flex: 0 0 42%;
		max-width: 42%;
	}

	#event .texts01.has-event-image .event_img img {
		display: block;
		width: 100%;
		height: auto;
	}

	#event .texts01.has-event-image .event_img img+img {
		margin-top: 14px;
	}

	#event .texts01.has-event-image .text {
		flex: 1 1 auto;
		min-width: 0;
	}

	#event .work-list h4 .jp,
	#event .work-list h4 .en {
		display: block;
		line-height: 1.2;
	}

	#event .work-list .jp dl,
	#event .work-list .en dl {
		margin: 0 0 16px;
	}

	#event .work-list .jp dt,
	#event .work-list .en dt {
		line-height: 1.3;
	}

	#event .work-list .jp dd,
	#event .work-list .en dd {
		margin-top: 4px;
		line-height: 1.45;
	}
}

#event table {
	border-collapse: collapse;
	background-color: #ffffff;
	width: 100%;
	border-style: solid;
	border-width: 1px;
	border-color: rgba(61, 166, 217, 0.35);
	table-layout: auto;
	word-break: break-all;
	word-wrap: break-word;
	margin-top: 15px
}

#event table thead th,
#event table tbody th,
#event table tbody td {
	border-style: solid;
	border-width: 1px;
	border-color: rgba(61, 166, 217, 0.35);
	padding: 8px 11px;
	/*font-size: 12px;
	line-height: 18px;*/
	color: #000000
}

#event table thead th,
#event table tbody th {
	background-color: #fff6a5
}

#event table.table_list {
	border-width: 0
}

#event table.table_list thead th,
#event table.table_list tbody td {
	border-width: 0;
	vertical-align: top;
	padding: 4px 0;
	background-color: #ffffff
}

#event table.table_noborder,
#event table.table_noborder thead th,
#event table.table_noborder tbody td {
	border: 0
}

#event table.table_list tbody td:first-child {
	white-space: nowrap;
	vertical-align: top;
	padding: 4px 0;
	width: 1px;
	background-color: #ffffff
}

.ggmap {
	width: 100%;
	position: relative;
	padding-top: 56.25%;
	margin-top: 15px
}

.ggmap iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%
}

/*--------------------------------------------
TEXTS
---------------------------------------------*/

@media screen and (max-width: 1024px) {

	.texts01 .jp dt,
	.texts01 .jp dd {
		font-size: 3.2rem;
		line-height: 1.74
	}

	.texts01 .en dt,
	.texts01 .en dd {
		font-size: 3.2rem;
		line-height: 1.6
	}

	.texts01 .jp dt {
		font-weight: 700
	}

	.texts01 .en dt {
		font-weight: 700
	}

	.texts01 .session_title {
		font-weight: 700
	}

	.texts02 .jp dt,
	.texts02 .jp dd {
		font-size: 3.2rem;
		line-height: 1.74
	}

	.texts02 .en dt,
	.texts02 .en dd {
		font-size: 3.2rem;
		line-height: 1.6
	}

	.texts02 .jp dt {
		font-weight: 700
	}

	.texts02 .en dt {
		font-weight: 700
	}

	.texts02 .session_title {
		font-weight: 700
	}

	.texts02 .profile_name {
		font-weight: 700
	}
}

@media print,
screen and (min-width: 1025px) {

	.texts01 .jp dt,
	.texts01 .jp dd {
		font-size: 1.6rem;
		line-height: 1.75
	}

	.texts01 .jp dt {
		font-weight: 700
	}

	.texts01 .en dt,
	.texts01 .en dd {
		font-size: 1.7rem;
		line-height: 1.6
	}

	.texts01 .en dt {
		font-weight: 700
	}

	.texts01 .session_title {
		font-weight: 700
	}

	.texts02 .jp dt,
	.texts02 .jp dd {
		font-size: 1.6rem;
		line-height: 1.75
	}

	.texts02 .jp dt {
		font-weight: 700
	}

	.texts02 .en dt,
	.texts02 .en dd {
		font-size: 1.7rem;
		line-height: 1.6
	}

	.texts02 .en dt {
		font-weight: 700
	}

	.texts02 .session_title {
		font-weight: 700
	}

	.texts02 .profile_name {
		font-weight: 700
	}
}


/*--------------------------------------------
CATALOG_DOWNLOAD BANNER
---------------------------------------------*/

#catalog_download {
	margin-top: 0;

}

@media screen and (max-width: 1024px) {
	#catalog_download .catalog_download_banner {
		width: 80%;
		margin: 20px auto
	}

	#catalog_download .catalog_download_banner a {
		align-items: center;
		background: linear-gradient(120deg, var(--gg06-blue), var(--gg06-cyan));
		color: #fff;
		display: flex;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		justify-content: center;
		letter-spacing: .05em;
		line-height: 1.5;
		border: 5px solid rgba(240, 74, 58, 0.4);
		border-radius: 4px;
		font-size: 3.2rem;
		height: 70px;
		margin-top: auto;
		order: 4;
		text-align: center;
		box-shadow: 0 10px 20px rgba(30, 125, 214, 0.2)
	}

	#catalog_download .catalog_download_banner span {
		vertical-align: middle;
		/*font-family: "DotGothic16", sans-serif;*/

	}

	#catalog_download .catalog_download_banner span img {
		vertical-align: middle
	}
}

@media print,
screen and (min-width: 1025px) {
	#catalog_download .catalog_download_banner {
		width: 80%;
		margin: auto;
	}

	#catalog_download .catalog_download_banner a {
		align-items: center;
		background: linear-gradient(120deg, var(--gg06-blue), var(--gg06-cyan));
		color: #fff;
		display: flex;
		font-family: 'Noto Sans JP', sans-serif;
		font-weight: 700;
		justify-content: center;
		letter-spacing: .05em;
		line-height: 1.5;
		border: 5px solid rgba(240, 74, 58, 0.4);
		border-radius: 4px;
		font-size: 3.3rem;
		height: 150px;
		margin-top: auto;
		order: 4;
		text-align: center;
		box-shadow: 0 10px 20px rgba(30, 125, 214, 0.2)
	}

	#catalog_download .catalog_download_banner span {
		vertical-align: middle;
		/*font-family: "DotGothic16", sans-serif;*/
	}

	#catalog_download .catalog_download_banner span img {
		vertical-align: middle
	}
}

/*--------------------------------------------
INLINE CSS MIGRATED FROM index.html
---------------------------------------------*/

.index2-tabs #games .games-tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin: 0 0 40px;
}

.index2-tabs #games .games-tab-btn {
	border: 1px solid rgba(0, 0, 0, 0.2);
	background: #fff;
	color: #1b1a1d;
	width: 220px;
	padding: 10px 14px;
	font-weight: 700;
	line-height: 1.2;
	font-size: 2.2rem;
	text-align: center;
}

.index2-tabs #games .games-tab-btn.is-active {
	background: #40A2D7;
	color: #fff;
	border-color: transparent;
}

.index2-tabs #games .games-tab-btn .jp,
.index2-tabs #games .games-tab-btn .en {
	display: inline;
}

.index2-tabs #games .games-tab-pane[hidden] {
	display: none !important;
}

#home_header {
	width: 100%;
	max-width: 1440px;
	margin: 0 auto;
	background: #fff300;
}

#home_header .pc-layout,
#home_header .sp-layout {
	display: none;
}

@media (min-width: 1025px) {
	#home_header {
		position: relative;
	}

	#home_header::after {
		content: "";
		position: absolute;
		top: 0;
		left: 100%;
		width: calc((100vw - 100%) / 2);
		height: calc(100vh - var(--home-local-nav-height, 70px));
		height: calc(100svh - var(--home-local-nav-height, 70px));
		min-height: 864px;
		background: #4aa3d8;
		pointer-events: none;
	}

	#home_header .pc-layout {
		display: block;
	}

	#home_header .header-container {
		position: relative;
		width: 100%;
		max-width: 1440px;
		height: calc(100vh - var(--home-local-nav-height, 70px));
		height: calc(100svh - var(--home-local-nav-height, 70px));
		min-height: 864px;
		background: #fff300;
		overflow: hidden;
	}

	#home_header .header-background {
		position: relative;
		width: 100%;
		height: 100%;
		display: grid;
		grid-template-columns: 286px minmax(0, 1fr) 256px 144px;
		gap: 0;
	}

	#home_header .logo-area {
		display: flex;
		align-items: flex-start;
		justify-content: flex-start;
		padding: 24px 20px 0 22px;
		position: relative;
		z-index: 10;
	}

	#home_header .logo-wrapper {
		width: 100%;
		filter: drop-shadow(0 6px 12px rgba(0, 0, 0, 0.23));
	}

	#home_header .logo-wrapper img {
		display: block;
		width: 252px;
		height: auto;
	}

	#home_header .main-visual-area {
		display: flex;
		align-items: flex-start;
		justify-content: center;
		padding: 0;
		position: relative;
		z-index: 5;
		overflow: hidden;
	}

	#home_header .main-visual-img {
		display: block;
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		object-fit: cover;
		object-position: center center;
	}

	#home_header .info-area {
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		height: 100%;
		gap: 24px;
		padding-bottom: 26px;
		padding-left: 20px;
		padding-right: 20px;
		z-index: 10;
	}

	#home_header .info-block {
		display: flex;
		flex-direction: column;
		gap: 10px;
	}

	#home_header .info-title-wrapper {
		display: flex;
		align-items: center;
		gap: 10px;
	}

	#home_header .info-title-line {
		width: 3px;
		height: 33px;
		background: #000;
	}

	#home_header .info-title {
		font-size: 23px;
		font-weight: 700;
		letter-spacing: 0.02em;
		line-height: 1;
		color: #000;
	}

	#home_header .info-content {
		font-size: 14px;
		line-height: 1.6;
		letter-spacing: 0.02em;
		font-weight: 500;
		color: #000;
	}

	#home_header .title-bar-vertical {
		background: #4aa3d8;
		display: flex;
		align-items: center;
		justify-content: center;
		z-index: 10;
	}

	#home_header .title-bar-vertical img {
		display: block;
		width: 100%;
		height: 100%;
		max-width: 100%;
		max-height: 100%;
		object-fit: contain;
		object-position: center center;
	}
}

@media (max-width: 1024px) {
	.index2-tabs #games .games-tabs {
		gap: calc(10 * 100vw / 1024);
		margin-bottom: calc(30 * 100vw / 1024);
	}

	.index2-tabs #games .games-tab-btn {
		width: calc((100% - calc(10 * 100vw / 1024)) / 2);
		font-size: 3.6rem;
		padding: calc(12 * 100vw / 1024) calc(16 * 100vw / 1024);
	}

	#home_header .sp-layout {
		display: block;
	}

	#home_header .header-container {
		width: 100%;
		min-height: 0;
		height: auto;
		background: #fff300;
	}

	#home_header .title-bar-horizontal {
		background: #4aa3d8;
		padding: 5px;
		width: 100%;
	}

	#home_header .title-horizontal-content {
		width: 100%;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	#home_header .title-horizontal-content img {
		width: 100%;
		height: auto;
		display: block;
	}

	#home_header .main-visual-area-sp {
		width: 100%;
		position: relative;
		overflow: hidden;
	}

	#home_header .main-visual-img-sp {
		display: block;
		width: 100%;
		height: auto;
		max-width: 100%;
		max-height: none;
		object-fit: contain;
		object-position: center top;
	}
}

@media (min-width: 1025px) and (max-width: 1360px) {
	#home_header .header-container {
		height: calc(100vw * 864 / 1344);
		min-height: 0;
	}

	#home_header .header-background {
		grid-template-columns: 21.3% minmax(0, 1fr) 19.1% 10.7%;
	}

	#home_header .logo-wrapper img {
		width: 100%;
	}

	#home_header .info-area {
		justify-content: flex-end;
		padding-bottom: 2.4vw;
		gap: 2vw;
	}

	#home_header .info-title {
		font-size: 1.72vw;
	}

	#home_header .info-title-line {
		height: 2.6vw;
	}

	#home_header .info-content {
		font-size: 1.13vw;
		line-height: 1.55;
	}
}

#home_header~nav#local-nav-wrap {
	margin: 0;
	padding: 0;
}

#home_header~nav#local-nav-wrap #localNav {
	position: relative;
	top: 0;
	margin: 0;
}

html,
body {
	background: #fff300;
}

h2,
h3 {
	border: none !important;
}

h2::before,
h2::after,
h3::before,
h3::after {
	border: none !important;
}

#main h3 {
	display: flex;
	align-items: center;
}

#main h3::before {
	content: "";
	display: inline-block;
	width: 0.95em;
	height: 0.95em;
	margin-right: 0.28em;
	background: #40A2D7;
	flex: 0 0 auto;
}

#main h4 {
	font-size: 120%;
}

@keyframes homeHeaderFadeIn {
	0% {
		opacity: 0;
		filter: blur(20px);
	}

	100% {
		opacity: 1;
		filter: blur(0);
	}
}

#home_header .main-visual-img,
#home_header .main-visual-img-sp {
	animation: homeHeaderFadeIn 1s ease-out;
}

#main h2.title01 {
	padding: 45px 16px 0 100px;
	font-size: 40px;
}

#preface .texts01 .text.jp p>span,
#preface .texts01 .text.en p>span {
	display: block;
	width: 100%;
	text-align: right;
}

@media screen and (max-width: 1024px) {

	#main h2.title01 {
		padding: 8vw 2vw 0 8vw;
		font-size: clamp(35px, 2.4vw, 25px);
	}

	#home_header+.fixed-head .logo {
		margin-top: calc(4 * 100vw / 1024);
	}
}

body.is-modal-open {
	overflow: hidden;
}

#event .work-list li > img {
	cursor: zoom-in;
}

#event-work-modal {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 2000;
}

#event-work-modal.is-open {
	display: flex;
}

#event-work-modal .event-work-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.78);
}

#event-work-modal .event-work-modal__content {
	position: relative;
	z-index: 1;
	width: auto;
	max-width: min(92vw, 1200px);
	max-height: 90vh;
	padding: 0;
}

#event-work-modal .event-work-modal__image {
	display: block;
	max-width: 100%;
	max-height: calc(90vh - 40px);
	width: auto;
	height: auto;
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: #000;
}

#event-work-modal .event-work-modal__close {
	position: absolute;
	top: -14px;
	right: -14px;
	width: 32px;
	height: 32px;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.2);
	color: #fff;
	font-size: 22px;
	line-height: 32px;
	text-align: center;
	cursor: pointer;
}

#event a[target="_blank"].t_blank::after {
	content: "";
	display: inline-block;
	width: 0.75em;
	height: 0.75em;
	margin-left: 0.25em;
	vertical-align: middle;
	background: url("../images/ui/icon/t_blank.svg") center / contain no-repeat;
}
