@charset "UTF-8";

/* !foundation */
/* --------------------------- */
html,body {
	font-weight: 500;
	-webkit-font-feature-settings: 'palt' 1;
	font-feature-settings: 'palt' 1;
    -webkit-font-smoothing: antialiased;
}
* {
	box-sizing: border-box;
}
body {
	position: relative;
	color: #424242;
}
body::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url("../imgs/body_bg_2024.jpg") center top no-repeat;
	background-size: cover;
	position: fixed;
	top: 0;
	left: 0;
	z-index: -10;
	filter: grayscale(100%);
	transition: filter 10.0s ease;
}
body.loaded::before {
	filter: grayscale(0);
}
a,
a img {
	color: #424242;
	opacity: 1;
	-webkit-transition: all 0.4s ease;
	-moz-transition: all 0.4s ease;
	-o-transition: all 0.4s ease;
	-ms-transition: all 0.4s ease;
	transition: all 0.4s ease;
	transform: translate3d(0, 0, 0);
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
a:visited {
	color: #999;
}
a:hover {
	color: #08287F;
	text-decoration: none;
}
a:focus,
a:active {
	color: #f39800;
	text-decoration: none;
	outline: none;
}
a:hover img {
	opacity: 0.6;
}
img {
	max-width: 100%;
	height: auto;
}
hr {
    border: 0;
    height: 1px;
    background-image: -webkit-linear-gradient(left, rgba(255,255,255,0), rgba(255,255,255,1), rgba(255,255,255,0));
    background-image:    -moz-linear-gradient(left, rgba(255,255,255,0), rgba(255,255,255,1), rgba(255,255,255,0));
    background-image:     -ms-linear-gradient(left, rgba(255,255,255,0), rgba(255,255,255,1), rgba(255,255,255,0));
    background-image:      -o-linear-gradient(left, rgba(255,255,255,0), rgba(255,255,255,1), rgba(255,255,255,0));
    margin: 36px 0;
    clear: both;
}


/* material
--------------------------- */
.clearFloat {
	clear: both;
}
.floatLeft {
	float: left;
	margin-right: 1em;
	margin-bottom: 1em;
}
.floatRight {
	float: right;
	margin-bottom: 1em;
	margin-left: 1em;
}
.alignleft {
	float: left;
	margin: 0.375em 1.75em 1.75em 0;
}
.alignright {
	float: right;
	margin: 0.375em 0 1.75em 1.75em;
}
.aligncenter {
	clear: both;
	display: block;
	margin: 0.375em auto;
}
.sp {
	display: none;
}
.flexCont {
	-js-display: flex;
	display: -webkit-flex;
	display: flex;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

/* !font */
/* --------------------------- */
.wf-noto-r, body {font-family: 'Noto Sans JP', sans-serif; font-weight: 500;}
.wf-noto-m {font-family: 'Noto Sans JP', sans-serif; font-weight: 600;}
.wf-noto-b, b {font-family: 'Noto Sans JP', sans-serif; font-weight: 700;}
.wf-noto-bk, strong, h1, h2, h3, h4, h5, h6 {font-family: 'Noto Sans JP', sans-serif; font-weight: 900;}
.wf-noto-serif-b, .headerCatch, .headerStaff, .topicsTitle {font-family: 'Noto Serif JP', serif; font-weight: 700; }
.wf-noto-serif-bk, .castListDetail li dl dd, .storyTtl, .staffTtl, .aftertalk h4, .outlineTitle {font-family: 'Noto Serif JP', serif; font-weight: 900; }

.txtSdw {
	text-shadow: 0 0 40px rgba(var(--color-primary-rgb),.9),0 0 30px rgba(var(--color-primary-rgb),.9),0 0 20px rgba(var(--color-primary-rgb),.9),0 0 10px rgba(var(--color-primary-rgb),.9);
}
.txtSdwMin {
	text-shadow: 0 0 20px rgba(var(--color-primary-rgb),.9),0 0 15px rgba(var(--color-primary-rgb),.9),0 0 10px rgba(var(--color-primary-rgb),.9),0 0 5px rgba(var(--color-primary-rgb),.9);
}
.capsS {
	font-size: 0.8em;
}
.kerning {
	letter-spacing: -0.15em;
}
.tate {
	-webkit-font-feature-settings: 'palt' 0;
	font-feature-settings: 'palt' 0;
	-webkit-writing-mode: vertical-rl;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	min-width: 1em;
}

/* !layout */
/* --------------------------- */
.inner {
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
}
header {
	text-align: center;
	color: #fff;
	min-height: 100vh;
	position: relative;
	padding-top: 1rem;
}
header .inner {
	min-height: 100vh;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
header::after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: url("../imgs/main_visual.jpg") center top no-repeat;
	background-size: auto 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: -1;
	opacity: 0;
	scale: 1.5;
	transition: opacity 0.05s ease-out 1.9s, scale 0.05s ease-out 1.9s;
}
.loaded header::after {
	opacity: 1;
	scale: 1;
}

/* !header */
/* --------------------------- */
.siteTitle {
	margin: auto;
	opacity: 0;
	transition: opacity 1.0s ease 1.0s, filter 0.4s ease 1.8s;
	filter: blur(1rem);
}
.information .siteTitle {
	margin-top: 24px;
	margin-bottom: -16px;
	opacity: 1;
}
.siteTitle img {
	width: auto;
	height: 22.5vh;
}
.siteTitle .fr {
	display: inline-block;
	font-size: 0.5em;
	line-height: 1.5;
	opacity: 0;
	transition: opacity 0.6s ease 2.2s;
	text-shadow: 0 0 2px rgba(0,0,0,.75), 0 0 4px rgba(0,0,0,.75), 0 0 8px rgba(0,0,0,.75);
}
.loaded .siteTitle {
	opacity: 1;
	filter: blur(0);
}
.loaded .siteTitle .fr {
	opacity: 1;
}
.siteCatch {
	margin: 0 auto auto;
	font-size: 2vh;
	line-height: 1.5;
	font-weight: 900;
	opacity: 0;
	transition: all 0.8s ease 0.4s;
	transform: translateY(0.6em);
}
.siteCatch span {
	font-size: 0.5em;
	line-height: 1;
	border: solid 1px #fff;
	display: inline-block;
	padding: 0.5em 1em;
}
.loaded .siteCatch {
	opacity: 1;
	transform: translateY(0);
}
.headerCatch {
	font-size: 3vh;
	line-height: 1.5em;
	margin: 0 0 24px;
	opacity: 0;
	transition: all 0.4s ease 2.6s;
}
.headerCatch .tate {
	position: absolute;
	top: 50%;
	left: 50%;
}
.headerCatch .tate:first-of-type {
	translate: 40vh -40vh;
}
.headerCatch .tate:last-of-type {
	translate: -45vh -10vh;
}
.loaded .headerCatch {
	opacity: 1;
}
.headerStaff {
	font-size: 1.75em;
	line-height: 1.5;
	margin: auto 0 0.5em;
	opacity: 0;
	transition: all 0.4s ease 3.6s;
}
.headerStaff .author {
	font-size: 0.8em;
}
.loaded .headerStaff {
	opacity: 1;
}
.headerIntro {
	margin: 96px 0 48px;
	font-size: 2.375em;
	line-height: 1.8em;
}
.headerCast {
	list-style: none;
	margin: 0;
	padding: 0 1.5em 0 0;
	font-size: 2em;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 900;
}
.headerCast li {
	white-space: nowrap;
	margin: 0 0.6em 1em;
	transition: all 0.4s ease 4.6s;
	transform: translateY(0.5em);
	opacity: 0;
}
.loaded .headerCast li {
	opacity: 1;
	transform: translateY(0);
}
.loaded .headerCast li:nth-of-type(2) {
	transition-delay: 4.7s;
}
.loaded .headerCast li:nth-of-type(3) {
	transition-delay: 4.8s;
}
.loaded .headerCast li:nth-of-type(4) {
	transition-delay: 4.9s;
}
.loaded .headerCast li:nth-of-type(5) {
	transition-delay: 5.0s;
}
.loaded .headerCast li:nth-of-type(6) {
	transition-delay: 5.1s;
}
.cast {
	list-style: none;
	margin: 0;
	padding: 0;
}
.cast li {
	width: 136px;
	height: 158px;
	background: #fff;
	position: absolute;
	border-top: solid 2px rgba(210,208,206,1);
	border-bottom: solid 2px rgba(208,198,178,1);
	background: linear-gradient(180deg, rgba(241,241,241,1) 59%, rgba(232,232,232,1) 100%);
	opacity: 0;
	transition: all 0.6s ease 0.2s;
	transform: scale(1.5);
}
.loaded .cast li {
	opacity: 1;
}
.cast li::before,
.cast li::after {
	content: "";
	width: 2px;
	height: 100%;
	position: absolute;
	top: 0;
	background: linear-gradient(180deg, rgba(210,208,206,1) 5%, rgba(208,198,178,1) 95%);
}
.cast li::before {
	left: 0;
}
.cast li::after {
	right: 0;
}
.cast .thumb {
	width: 126px;
	height: 136px;
	overflow: hidden;
	margin: 6px auto 10px;
	border-top: solid 1px #655549;
	border-left: solid 1px #655549;
}
.cast .thumb img {
	width: auto;
	max-width: none;
	height: 100%;
}
.cast .thumb::before {
	content: "";
	display: block;
	width: 14px;
	height: 18px;
	background: url("../imgs/cast_icon_pin.png") 0 0 no-repeat;
	background-size: 100% auto;
	position: absolute;
	top: -12px;
	left: 50%;
}
.cast li p {
	color: #9A771F;
	font-size: 0.75em;
	line-height: 1;
	margin: 0;
}
.cast li.castKamikawa {
	top: 240px;
	left: 176px;
	transform: rotate(5deg) scale(1.2);
	transition-delay: 2.4s;
}
.cast li.castFujiwara {
	top: 144px;
	right: 172px;
	transform: rotate(-7deg) scale(1.2);
	transition-delay: 2.6s;
}
.cast li.castOuki {
	top: 496px;
	right: 80px;
	transform: rotate(-9deg);
	transition-delay: 2.8s;
}
.cast li.castZaiki {
	top: 440px;
	left: 40px;
	transform: rotate(-5deg);
	transition-delay: 3.0s;
}
.cast li.castFujimoto {
	top: 144px;
	left: 0px;
	transform: rotate(-10deg);
	transition-delay: 3.2s;
}
.cast li.castWatanabe {
	top: 288px;
	right: 0px;
	transform: rotate(14deg) scale(1.2);
	transition-delay: 3.4s;
}
.headerSchedule {
	background: rgba(0,0,0,.7);
	padding: 16px;
	opacity: 0;
	transition: all 0.8s ease 5.4s;
	transform: translateY(0.5em);
}
.loaded .headerSchedule {
	opacity: 1;
	transform: translateY(0);
}
.headerSchedule ul {
	display: inline-block;
	list-style: none;
	margin: 0 auto;
	padding: 0;
	text-align: left;
	font-size: 1.375em;
	line-height: 1.5;
	font-weight: 900;
}
.headerSchedule ul li {
	margin: 0 0 0.15em;
}
.headerSchedule ul li strong {
	display: inline-block;
	width: 18.5em;
}
.headerSchedule ul li strong span {
	display: inline-block;
	width: 5em;
}
.preTicket {
	background: rgba(182,0,0,.8);
	padding: 40px 0 24px;
	text-align: center;
	margin: 0;
	color: #fff;
}
.preTicket h2 {
	margin: 0 auto 0.5em;
}
.preTicket p {
	font-size: 1.2em;
	line-height: 1.5;
	font-weight: bold;
	text-shadow: 0 0 8px rgba(0,0,0,1);
	margin: 0 auto 1em;
}
.preTicket ul {
	display: inline-block;
	list-style: none;
	margin: 0 auto;
	padding: 0;
	font-size: 1em;
	line-height: 1.5;
	text-align: left;
	font-weight: bold;
}
.preTicket ul li {
	margin: 0 0.75em 0.5em;
	text-shadow: 0 0 8px rgba(0,0,0,1);
	text-indent: calc(-1em - 4px);
	padding-left: calc(1em + 4px);
}
.preTicket ul li::before {
	content: "★";
	color: yellow;
	display: inline-block;
	transform: rotate(-15deg);
	margin: 0 4px 0 0;
	text-indent: 0;
}

/* !main */
/* --------------------------- */
.topics {
	background: rgba(255,255,255,.875);
	padding: 3rem 0 5rem;
}
.topicsTitle {
	font-size: 3em;
	line-height: 1;
	text-align: center;
	margin: 0 auto 1em;
}
.topicsWrap {
	width: fit-content;
	padding: 0 3vw;
	margin-inline: auto;
	max-height: 33vh;
	overflow-y: scroll;
}
.topicsList {
	list-style: none;
	margin: 0 auto;
	font-size: 1.125em;
	line-height: 1.5;
	text-align: left;
	width: fit-content;
}
.topicsList li {
	border-bottom: dashed 1px rgba(0,0,0,.5);
	padding: 0.5em 1em 0.625em;
	position: relative;
}
.topicsList li.new::before {
	content: "NEW";
	font-size: 0.625em;
	line-height: 1;
	font-weight: 900;
	position: absolute;
	top: 0;
	left: 0;
	background: rgba(182,0,0,1);
	color: #fff;
	padding: 0.25em 0.5em 0.375em;
	transform: translate(-75%, 90%);
}
.topicsList li time {
	font-weight: 900;
	font-size: 0.875em;
	margin-right: 1em;
}
.xWrap {
	margin: 2em auto 0;
}
.xBtn,
.xBtn:visited {
	width: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 1.375em;
	font-weight: 900;
	margin: 0 auto 0.25em;
	padding: 0.375em 1.5em 0.375em 1em;
	border-radius: 2em;
	border: none;
	background: #000;
	color: #fff;
	text-decoration: none;
}
.xBtn:hover {
	color: #fff;
}
.xBtn svg {
	transition: transform 0.4s ease;
	margin-right: 0.375em;
}
.xBtn:hover svg {
	transform: scale(1.2);
}
.xBtn:hover {
	background: rgba(182,0,0,1);
}
.castList {
	background: rgba(0,0,0,.8);
	color: #fff;
	padding: 5rem 0 3rem;
}
.castListDetail {
	list-style: none;
	margin: 0 auto;
	padding: 0;
	text-align: center;
}
.castListDetail>li {
	margin: 0 auto 3rem;
	max-width: 280px;
}
.castListDetail li .thumb {
	margin: 0 auto 1rem;
}
.castListDetail li .thumb img {
	pointer-events: none;
}
.castListDetail li dl {
	margin: 0;
}
.castListDetail li dl dt {
	font-size: 2em;
	line-height: 1;
	font-weight: 900;
	margin: 0 0 0.5em;
}
.castListDetail li dl dd {
	font-size: 1.375em;
	line-height: 1;
	margin: 0;
}
.btnVideo,
.btnVideo:visited {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0.5em auto;
	font-size: 1.25em;
	font-weight: 900;
	text-decoration: none;
	background: linear-gradient(90deg, rgba(8, 40, 127, 0) 0%, rgba(8, 40, 127, 1) 10%, rgba(8, 40, 127, 1) 90%, rgba(8, 40, 127, 0) 100%);
	color: #fff;
}
.btnVideo:hover {
	color: rgba(255, 243, 0, 1);
	opacity: 0.85;
}
.btnVideo .snsIcon {
	margin-right: 0.25em;
}
.btnVideo .snsIcon .st0 {
	transition: fill 0.4s ease;
}
.btnVideo:hover .snsIcon .st0 {
	fill: rgba(255, 243, 0, 1);
}
.snsList {
	display: flex;
	justify-content: center;
	align-items: center;
	list-style: none;
	margin: 0.75rem auto 0;
	padding: 0;
	gap: 0.5rem;
}
.snsList li {
	width: 3rem;
	height: 3rem;
}
.snsList li a {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 100%;
	padding: 0.75rem;
	background: #333;
	border-radius: 0.375rem;
}
.snsList li a:hover {
	background: #424242;
}
.st0 {
	fill: #fff;
}
.intro {
	background: rgba(8, 40, 127, .875);
	color: #fff;
	padding: 48px 0;
}
.introTtl {
	font-size: 1.4375em;
	line-height: 1.6em;
	margin: 0 0 40px;
}
.introBody {
	font-size: 1.125em;
	line-height: 1.75em;
	margin: 0;
	font-weight: bold;
}
.actor {
	color: rgba(255, 243, 0, 1);
}
.storyTtl,
.staffTtl {
	font-size: 1.875em;
	line-height: 1.25em;
	font-weight: normal;
	margin: 0 0 24px;
	color: #B4B4B4;
}
.story {
	padding: 40px 0;
	background: rgba(182, 0, 0, .875);
	color: #fff;
}
.staff {
	padding: 40px 0;
	background: #fff;
	color: #08287F;
	overflow: hidden;
}
.staffTtl {
	float: left;
	white-space: nowrap;
}
.staffList {
	width: fit-content;
	margin: 0 auto;
	padding: 0;
	list-style: none;
	font-size: 1.125em;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 2rem;
}
.staffList li {
}
.staffList li b {
	font-size: 1.25em;
}

.kouen {
	background: #fff;
	padding: 40px 0 80px;
}
.kouenNav {
	width: 100%;
	list-style: none;
	margin: 0 0 8px;
	padding: 0;
	display: flex;
	justify-content: space-between;
}
.kouenNav li {
	font-size: 1.5em;
	line-height: 1;
	font-weight: 900;
	white-space: nowrap;
	text-align: center;
	width: 14.3%;
	margin: 0;
}
.kouenNav li + li {
	margin-left: 1px;
}
.kouenNav li a {
	display: block;
	background: #E6E6E6;
	color: #08287F;
	width: 100%;
	padding: 12px 0;
	text-decoration: none;
}
.kouenNav li a:hover,
.kouenNav li a.tabActive {
	background: #08287F;
	color: #fff;
}
.kouenCont {
	display: none;
	background: #E6E6E6;
	padding-top: 3rem;
}
.outlineTitle {
	font-size: 3em;
	text-align: center;
	margin: 0 auto;
	color: #08287F;
}
.outlineBody {
	padding: 40px 88px 32px;
	text-align: center;
}
.eventDate {
	margin: 0 auto 0.5em;
	font-size: 2em;
	line-height: 1.1;
	text-align: center;
	vertical-align: baseline;
}
.eventDate strong {
	font-size: 1.8em;
}
.eventDate em {
	font-size: 0.9em;
	font-weight: bold;
	font-style: normal;
}
.eventDate span {
	font-size: 0.7em;
}
.eventInfoWrap {
	display: inline-block;
	text-align: left;
}
.eventInfo {
	margin: 8px 24px 0 0;
	text-align: left;
	vertical-align: baseline;
	font-size: 1.25em;
	line-height: 2em;
	font-weight: bold;
	white-space: nowrap;
}
.eventInfo strong {
	font-size: 1.375em;
}
.outlineBody .flexCont {
	justify-content: flex-start;
}
.schedule {
	text-align: center;
	margin: 24px auto 16px;
	padding: 32px 0 24px;
	border-top: solid 2px #000;
	border-bottom: solid 2px #000;
}

.eventSchedule {
	margin: 0 auto 1em;
	max-width: 90%;
	border-collapse: collapse;
	border-spacing: 0;
}
.eventSchedule th {
	line-height: 1.375em;
}
.eventSchedule th .capsSmall {
	font-size: 0.666em;
	vertical-align: top;
	line-height: 1.75em;
}
.eventSchedule th .week {
	font-size: 0.5em;
	line-height: 1;
	display: block;
	background: #fff;
	padding: 0.25em 0;
	border-radius: 1em;
	margin: 0 0.25em;
	color: #000;
}
.eventSchedule th .sat {
	color: #005ac6;
}
.eventSchedule th .holi {
	color: #c80000;
}
.eventSchedule thead th {
	font-size: 1.75em;
	padding-bottom: 0.5rem;
}
.eventSchedule tbody th {
	padding-right: 0.5rem;
	line-height: 1;
}
.eventSchedule td {
	position: relative;
	width: 3rem;
	font-size: 1.375em;
	line-height: 1;
	padding: 0.375em 0 0.5em;
	color: yellow;
	text-shadow: 0 0 2px rgba(0,0,0,.875);
}
.eventSchedule td span {
	position: relative;
	z-index: 100;
}
.eventSchedule td span.reserved {
	color: #fff;
	background: #424242;
	font-size: 0.575em;
	font-weight: bold;
	display: inline-block;
	padding: 0.25em;
}
.eventSchedule td::before {
	content: "";
	display: block;
	width: 1px;
	height: 100%;
	background: rgba(0,0,0,.25);
	position: absolute;
	top: 0;
	left: 50%;
	z-index: 1;
}
.eventSchedule td::after {
	content: "";
	display: block;
	width: 100%;
	height: 1px;
	background: rgba(0,0,0,.25);
	position: absolute;
	top: 50%;
	left: 0;
	z-index: 1;
}
.eventSchedule td.nodata::before,
.eventSchedule td.nodata::after {
	display: none;
}
.caution {
	margin: 16px 0 0;
	padding: 0;
	font-size: 0.9em;
	line-height: 1.3em;
	list-style: none;
	text-align: left;
	display: inline-block;
}
.caution li {
	margin: 0 0 0.5em 0;
	white-space: nowrap;
}
.caution li::before {
	content: "※";
}
.aftertalk {
	margin: 8px 0 24px;
	background: #B60000;
	color: #fff;
	padding: 16px 24px;
	-webkit-align-items: center;
	align-items: center;
}
.aftertalk h4 {
	font-size: 1.875em;
	line-height: 1;
	white-space: nowrap;
	margin: 0 48px 0 0;
}
.aftertalk ul {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 1.25em;
	line-height: 1.3em;
}
.aftertalk ul li+li {
	margin: 0.375em 0 0;
}
.ticket {
	padding: 16px 0 0;
	margin: 16px 0 24px;
	font-size: 1.1em;
	line-height: 1.5;
	text-align: left;
	display: inline-block;
}
.ticket dt {
	width: 14em;
	float: left;
	margin: 0 0 0.5em;
	white-space: nowrap;
}
.ticket dt::before {
	content: "";
	display: inline-block;
	width: 0.7em;
	height: 0.7em;
	background: #000;
	vertical-align: 1px;
	margin-right: 0.15em;
}
.ticket dd {
	margin: 0 0 0.5em;
	padding: 0 0 0 14em;
}
.ticket dd.long {
	padding-top: 1.5em;
}
.ticket span {
	font-size: 0.75em;
	margin-left: 4px;
	vertical-align: top;
}
.ticket dd a {
	color: #000;
}
.ticket .kameariNotes {
	display: block;
	line-height: 1.5em;
	margin: 4px 0 -24px;
}
.contact {
	text-align: center;
	background: #08287F;
	color: #fff;
	margin: 0;
	padding: 16px;
}
.contact p {
	font-size: 1.1em;
	line-height: 1.5em;
	margin: 0 auto 8px;
}
.contact p span {
	font-size: 0.8em;
	vertical-align: top;
	margin-left: 4px;
}
.contact p strong {
	font-size: 1.35em;
	vertical-align: -2px;
	letter-spacing: 0.1em;
}
.contact p strong.ntv {
	font-size: 1.5em;
}

ul.flyerList {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	list-style: none;
	padding: 0;
	margin: 0 auto;
	text-align: center;
	font-size: 1em;
	line-height: 1;
	font-weight: 700;
}
ul.flyerList li {
	margin: 0 1.5rem;
}
ul.flyerList li img {
	display: block;
	box-shadow: 4px 4px 16px rgba(0,0,0,.15);
}

ul.videoList {
	display: flex;
	justify-content: center;
	align-items: flex-start;
	list-style: none;
	padding: 0;
	margin: 0 auto;
	text-align: center;
	font-size: 1em;
	line-height: 1;
	font-weight: 700;
}
ul.videoList li {
	margin: 0 1.5rem;
}
ul.videoList li img {
	display: block;
}
ul.videoList li a,
ul.videoList li a:visited {
	display: block;
	background: #fff;
	padding: 1em;
	text-decoration: none;
	box-shadow: 2px 2px 8px rgba(0,0,0,.15);
}

/* !footer */
/* --------------------------- */
footer {
	margin: 0 auto;
	padding: 24px 0 16px;
	text-align: center;
	color: #fff;
	background: rgba(0,0,0,.7);
}
footer p {
	font-size: 1.1em;
	line-height: 1.5em;
	margin: 0 auto 8px;
}
footer p span {
	font-size: 0.8em;
	vertical-align: top;
	margin-left: 4px;
}
footer p strong {
	font-size: 1.5em;
	vertical-align: -2px;
}
footer p:last-of-type {
	text-indent: -0.25em;
	letter-spacing: 0.1em;	
}
footer img {
	vertical-align: middle;
	margin-left: 16px;
}

/* !information */
/* --------------------------- */
.attnSubTitle {
	height: 46px;
	margin: 0 0 24px;
	padding: 0 32px;
	box-sizing: border-box;
	font-size: 1.4em;
	line-height: 46px;
	color: #fff;
	background: #08287F;
	text-align: center;
}
.attnContent {
	margin: 16px auto;
	padding: 0 0 24px;
	background: #fff;
}
.attnBody {
	font-size: 1em;
	line-height: 1.8em;
	text-align: justify;
	padding: 0 32px;
}
.attnBody p {
	margin: 0 0 0.5em;
}
.attnBody em {
	font-style: normal;
	text-decoration: underline;
}
.goodsLineup {
	margin: 16px 0 0;
	padding: 0;
	font-size: 1.1em;
	line-height: 1.8em;
}
.goodsLineup dt {
	text-align: center;
	margin: 0 auto 16px;
	font-size: 1.2em;
	font-weight: bold;
}
.goodsLineup dt::before,
.goodsLineup dt::after {
	content: "──";
	margin: 0 8px;
	font-weight: normal;
}
.goodsLineup dd {
	margin: 0;
}
.goodsLineup dd ul {
	list-style: none;
	margin: 0;
	padding: 0;
	font-weight: bold;
	text-align: center;
}
.goodsLineup dd ul li {
	display: inline-block;
	margin: 0 1em 1em;
}
.goodsLineup dd ul li::before {
	content: "★";
}

.infoTitle {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 1em;
	padding-top: 3rem;
	font-size: 3em;
	line-height: 1.125;
	color: #fff;
}
.infoTitle img {
	margin: auto 0.5em auto 0;
}
.infoBox {
	max-width: 960px;
	margin: 0 auto 3rem;
	background: rgba(255,255,255,.9);
	border-radius: 1rem;
	padding: 3rem 5rem 5rem;
}

.infoDetail {
	margin: 2rem auto;
	position: relative;
}
.infoDetail dt {
	font-size: 1.25em;
	line-height: 1;
	text-align: left;
	font-weight: 700;
	margin: 0 0 0.75em;
	padding: 0 0 0.75em;
	border-bottom: dashed 1px rgba(0,0,0,0.5);
}
.infoDetail dt::before {
	content: "■";
	margin: 0 0.25em 0 0;
	color: #08287F;
}
.infoDetail dd {
	margin: 0 0 3em;
	font-size: 1em;
	line-height: 1.75;
	text-align: justify;
}
ul.noticeList {
	font-size: 0.875em;
	line-height: 1.5;
	text-align: justify;
	margin: 1rem auto;
	list-style: none;
	padding: 0;
}
ul.noticeList>li {
	margin: 0 0 0.5em;
	text-indent: -1em;
	padding-left: 1em;
}
ul.noticeList>li::before {
	content: "※";
	text-indent: 0;
}
.godosTitle {
	font-size: 1.25em;
	line-height: 1;
	text-align: center;
	margin: 1em auto 0.5em;
}
.godosTitle::before,
.godosTitle::after {
	content: "";
	display: inline-block;
	width: 3em;
	height: 2px;
	background: #08287F;
	margin: 0 0.5em;
	vertical-align: 0.3125em;
}
ul.goodsLineup {
	margin: 1em auto 1em;
	font-size: 1.25em;
	line-height: 1.375;
	list-style: none;
	padding: 0;
	width: fit-content;
}
ul.goodsLineup li {
	margin: 0 0 0.375em;
	text-indent: -1em;
	padding-left: 1em;
}
ul.goodsLineup li::before {
	content: "★";
	text-indent: 0;
	color: #c80000;
}
.infoBtn {
	margin: 16px auto;
	font-size: 1.5em;
	line-height: 1;
	text-align: center;
	font-weight: 700;
}
.infoBtn a {
	display: inline-block;
	text-decoration: none;
	border: solid 4px #fff;
	background: #08287F;
	color: #fff;
	padding: 0.5em 1em 0.625em;
	box-shadow: 4px 4px 0 rgba(0,0,0,.25);
}
.infoBtn a span {
	color: yellow;
	font-size: 1.25em;
}
.infoBtn a:hover {
	background: #B60000;
}
.btn {
	margin: 24px auto 0;
	text-align: center;
}
.btn a {
	text-decoration: none;
	color: #fff;
	width: 8em;
	margin: 2em auto;
	position: relative;
	padding: 0.5em 1em 0.75em;
	background: #666;
	text-align: center;
	font-size: 1em;
	line-height: 1;
	border-radius: 3px;
	z-index: 800;
	-webkit-transition: all 0.4s ease;
	transition: all 0.4s ease;
}
.btn a:hover {
	background: #08287F;
	cursor: pointer;
}
.toujitsuken {
	width: 100%;
	margin: 1rem auto 1rem;
	border-collapse: collapse;
	font-size: 1em;
	line-height: 1.25;
	text-align: center;
}
.toujitsuken th,
.toujitsuken td {
	padding: 0.5em;
	border: solid 1px #08287F;
	background: #fff;
}

/* !sp */
/* --------------------------- */
@media screen and (max-width:768px) {
	/* !sp common */
	/* --------------------------- */
	.floatLeft,
	.floatRight,
	.alignleft,
	.alignright {
		display: block;
		text-align: center;
		float: none;
		margin: 16px auto;
	}
	.nosp {
		display: none;
	}
	.sp {
		display: block;
	}
	.flexCont {
		display: block;
	}
	.flexCont .content {
		width: auto;
		margin: 0 0 16px;
	}
	.flexCont .content .contBody {
		padding-right: 16px;
	}
	/* !sp layout */
	/* --------------------------- */
	body {
		overflow-x: hidden;
	}
	body::before {
		background-size: auto 100%;
	}
	/* !header */
	/* --------------------------- */
	header, header .inner {
		min-height: 90lvh;
	}
	header::after {
		background-position: center center;
		background-size: 100% auto;
	}
	.siteCatch {
		font-size: 1.25em;
		line-height: 1.5;
		margin: 16px auto 40px;
	}
	.siteTitle {
		position: relative;
		margin: 16px 0 80px;
		font-size: 1.2em;
		z-index: 100;
	}
	.siteTitle img {
		margin-top: 15lvh;
		width: 27.5%;
		height: auto;
	}
	.headerCatch {
		font-size: 1.25em;
		line-height: 1.5em;
		margin-bottom: 0.5em;
	}
	.headerCatch .tate:first-of-type {
		top: 8rem;
		left: auto;
		right: 0.5rem;
		translate: 0 0;
	}
	.headerCatch .tate:last-of-type {
		top: auto;
		bottom: 10rem;
		left: 0.5rem;
		translate: 0 0;
	}
	.headerStaff {
		font-size: 1.25em;
		line-height: 1;
		margin-bottom: 1em;
	}
	.headerIntro {
		margin: 96px 0 40px;
		font-size: 1.2em;
		line-height: 1.7em;
	}
	.headerCast {
		font-size: 1.375em;
		margin-bottom: 24px;
		flex-wrap: wrap;
		padding: 0;
	}
	.headerCast li {
		width: 30%;
		margin: 0 1.5% 0.75em;
	}
	.cast li.castKamikawa {
		top: 24%;
		left: 2%;
		-ms-transform: rotate(5deg) scale(0.5);
		-webkit-transform: rotate(5deg) scale(0.5);
		transform: rotate(5deg) scale(0.5);
	}
	.cast li.castFujiwara {
		top: 7.5%;
		right: 5%;
		-ms-transform: rotate(-10deg) scale(0.5);
		-webkit-transform: rotate(-10deg) scale(0.5);
		transform: rotate(-10deg) scale(0.5);
	}
	.cast li.castOuki {
		top: 40%;
		right: 0%;
		-ms-transform: rotate(-9deg) scale(0.4);
		-webkit-transform: rotate(-9deg) scale(0.4);
		transform: rotate(-9deg) scale(0.4);
	}
	.cast li.castZaiki {
		top: 40%;
		left: -3%;
		-ms-transform: rotate(-5deg) scale(0.4);
		-webkit-transform: rotate(-5deg) scale(0.4);
		transform: rotate(-5deg) scale(0.4);
	}
	.cast li.castFujimoto {
		top: 7.5%;
		left: 0%;
		-ms-transform: rotate(-10deg) scale(0.4);
		-webkit-transform: rotate(-10deg) scale(0.4);
		transform: rotate(-10deg) scale(0.4);
		z-index: 10;
	}
	.cast li.castWatanabe {
		top: 25%;
		right: -3%;
		-ms-transform: rotate(14deg) scale(0.5);
		-webkit-transform: rotate(14deg) scale(0.5);
		transform: rotate(14deg) scale(0.5);
	}
	.headerSchedule ul {
		font-size: 2.5vw;
	}
	.headerSchedule ul li {
		margin-bottom: 0.75em;
		display: flex;
		align-items: center;
	}
	.intro,
	.comment,
	.castList,
	.story,
	.staff {
		padding: 24px 16px;
	}
	.introTtl {
		font-size: 1.1em;
		margin-bottom: 24px;
	}
	.introBody {
		font-size: 0.85em;
		line-height: 1.8em;
	}
	.castListDetail>li {
		max-width: 60vw;
		margin: 0 auto 5rem;
	}
	.castListDetail li .thumb {
		max-width: 60vw;
	}
	.castListDetail li#akana .thumb {
		max-width: 30vw;
	}
	.story {
		overflow: hidden;
	}
	.topicsList time {
		display: block;
	}
	.topicsList li.new::before {
		transform: translate(-75%, 60%);
	}
	.staffTtl {
		float: none;
	}
	.staffList {
		grid-template-columns: repeat(1, 1fr);
	}
	.staffList li {
	}
	.kouenNav {
	}
	.kouenNav li {
		font-size: 3.5vw;
		width: 100%;
	}
	.kouenNav li a {
		padding: 0.5em 0.375em 0.625em;
	}
	.outlineTitle {
		font-size: 2.5em;
	}
	.outlineBody {
		padding: 32px 16px;
	}
	.eventDate {
		font-size: 1.375em;
		display: block;
		margin-bottom: 8px;
	}
	.eventDate strong {
		font-size: 1.375em;
	}
	.eventInfo {
		font-size: 0.9em;
		margin: 0;
	}
	.eventInfo strong {
		font-size: 1.2em;
	}
	.aftertalk {
		padding: 8px 16px;
	}
	.aftertalk h4 {
		text-align: center;
		margin: 0 0 8px;
		font-size: 1.5em;
	}
	.aftertalk ul {
		font-size: 0.7em;
		margin: 0 auto;
	}
	.aftertalk ul li+li {
		margin: 0.5em 0 0;
	}
	.ticket {
		font-size: 0.85em;
	}
	.ticket dt {
		float: none;
		width: auto;
		margin: 0;
	}
	.ticket dd {
		margin-bottom: 0.75em;
		padding: 0 0 0 0.85em;
	}
	.ticket dd.long {
		padding-top: 0;
	}
	.eventSchedule {
		font-size: 0.75rem;
	}
	.eventSchedule tbody th {
		white-space: nowrap;
	}
	ul.flyerList {
		display: block;
		font-size: 0.875em;
		padding: 0;
	}
	ul.flyerList li {
		margin: 0 auto 3rem;
	}
	ul.flyerList li img {
		margin: 0 auto;
		max-width: 66%;
	}
	.preTicket h2 {
		max-width: 90%;
	}
	.preTicket ul {
		padding: 0 1rem;
	}
	.infoBox {
		max-width: 91vw;
		padding: 1.5rem 2rem 3rem;
	}
	.infoDetail dd {
		font-size: 0.875em;
		line-height: 1.666;
	}
	.godosTitle::before,
	.godosTitle::after {
		width: 2em;
	}
	.toujitsuken {
		font-size: 0.75em;
	}
}
@media screen and (min-width: 414px) and (max-width: 500px) {
}
@media screen and (min-width: 320px) and (max-width: 374px) {
	body {
		font-size: 0.85em;
	}
}
@media screen and (min-width: 1366px) {
}
@media screen and (device-width: 768px) and (device-height: 1024px) and (-webkit-device-pixel-ratio: 2) {
}
@media only screen and (min-width: 768px) and (orientation:portrait){

}