@charset "UTF-8";
/*
 * STYLESHEET.
 *
################################################################################
 */
/* ========================================================================== *
.* variables.
.* ========================================================================== */
/* layout */
:root {
	--h-head-l:72px;
	--h-head-m:72px;
	--h-head-s:64px;
}

/* color */
:root {
	--c-active:#ed514e;
	--c-base:#fff;
	--c-bd:rgba(204, 204, 204, .5);
	--c-hover:#ed514e;
	--c-link:#4d4d4d;
	--c-primary:#3f51b5;
	--c-primary-dk:#303f9f;
	--c-primary-lt:#c5cae9;
	--c-secondary:#ff4081;
	--c-secondary-dk:#f50057;
	--c-secondary-lt:#ff80ab;
	--c-select-base:rgba(179, 212, 252, .75);
	--c-select-txt:#4d4d4d;
	--c-txt:#4d4d4d;
	--c-txt-dk:#272727;
	--c-txt-lt:#737373;
	--c-visited:#4d4d4d;
	--c-vividlink:#1a73e8;
}

/* typography */
:root {
	--ff-base:"Noto Serif JP", serif;
}

/* z-index */
:root {
	--z-contents:10;
	--z-head:1000;
	--z-menu:999;
	--z-menu-btn:1020;
	--z-pagetopanchor:990;
	--z-scrolldown:9;
	--z-sns:998;
	--z-wrap:0;
}

/* ========================================================================== *
.* normalize or reset.
.* ========================================================================== */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* normalize: document.
 * -------------------------------------------------------------------------- */
html {
	line-height:1.15;

	-webkit-text-size-adjust:100%;
}

/* normalize: sections.
 * -------------------------------------------------------------------------- */
body {
	margin:0;
}

main {
	display:block;
}

h1 {
	margin:.67em 0;
	font-size:2em;
}

/* normalize: grouping content.
 * -------------------------------------------------------------------------- */
hr {
	overflow:visible;
	box-sizing:content-box;
	height:0;
}

pre {
	font-size:1em;
	font-family:monospace, monospace;
}

/* normalize: text-level semantics.
 * -------------------------------------------------------------------------- */
a {
	background-color:transparent;
}

abbr[title] {
	border-bottom:none;
	text-decoration:underline;
	-webkit-text-decoration:underline dotted;
	text-decoration:underline dotted;
}

b,
strong {
	font-weight:bolder;
}

code,
kbd,
samp {
	font-size:1em;
	font-family:monospace, monospace;
}

small {
	font-size:80%;
}

sub,
sup {
	position:relative;
	vertical-align:baseline;
	font-size:75%;
	line-height:0;
}

sub {
	bottom:-.25em;
}

sup {
	top:-.5em;
}

/* normalize: embedded content.
 * -------------------------------------------------------------------------- */
img {
	border-style:none;
}

/* normalize: forms.
 * -------------------------------------------------------------------------- */
button,
input,
optgroup,
select,
textarea {
	margin:0;
	font-size:100%;
	font-family:inherit;
	line-height:1.15;
}

button,
input {
	overflow:visible;
}

button,
select {
	text-transform:none;
}

button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance:button;
}

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	padding:0;
	border-style:none;
}

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
	outline:1px dotted ButtonText;
}

fieldset {
	padding:.35em .75em .625em;
}

legend {
	display:table;
	box-sizing:border-box;
	padding:0;
	max-width:100%;
	color:inherit;
	white-space:normal;
}

progress {
	vertical-align:baseline;
}

textarea {
	overflow:auto;
}

[type=checkbox],
[type=radio] {
	box-sizing:border-box;
	padding:0;
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height:auto;
}

[type=search] {
	outline-offset:-2px;

	-webkit-appearance:textfield;
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance:none;
}

::-webkit-file-upload-button {
	font:inherit;

	-webkit-appearance:button;
}

/* normalize: interactive.
 * -------------------------------------------------------------------------- */
details {
	display:block;
}

summary {
	display:list-item;
}

/* normalize: misc.
 * -------------------------------------------------------------------------- */
template {
	display:none;
}

[hidden] {
	display:none;
}

/* ========================================================================== *
 * base.
.* ========================================================================== */
:root {
	font-size:62.5%;
	font-family:var(--ff-base);
	line-height:2;
}

html {
	scroll-behavior:smooth;
}

@media (max-width: 743.98px) {
	html.has-fixed-head {
		scroll-padding-top:var(--h-head-s);
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	html.has-fixed-head {
		scroll-padding-top:var(--h-head-m);
	}
}
@media (min-width: 992px) {
	html.has-fixed-head {
		scroll-padding-top:var(--h-head-l);
	}
}
body {
	overflow-y:scroll;
	background-color:var(--c-base);
	color:var(--c-txt);
	font-size:1.6rem;
}

:where(a:not([class])) {
	text-decoration:underline;
	transition:color .2s linear, opacity .2s linear;
}

:where(a:not([class]):link) {
	color:var(--c-link);
}

:where(a:not([class]):visited) {
	color:var(--c-visited);
}

@media (hover: hover) {
	:where(a:not([class]):hover) {
		color:var(--c-hover);
		text-decoration:none;
		opacity:.75;
	}
}
:where(a[class]) {
	color:currentColor;
	text-decoration:none;
}

:where(ol) {
	list-style-type:decimal-leading-zero;
}

:where(hr) {
	display:block;
	margin:1em 0;
	padding:0;
	height:1px;
	border:0;
	border-top:1px solid rgba(0, 0, 0, .2);
	background:rgba(255, 255, 255, .4);
}

:where(audio, canvas, iframe, img, svg, video) {
	vertical-align:middle;
}

:where(button, input, optgroup, select, textarea) {
	font-family:var(--ff-base);
}

:where(textarea) {
	resize:vertical;
}

::-moz-selection {
	background-color:rgba(179, 212, 252, .75);
	color:#4d4d4d;
	text-shadow:none;
}

::selection {
	background-color:rgba(179, 212, 252, .75);
	color:#4d4d4d;
	text-shadow:none;
}

body.lang-ja .lang-en {
	display:none !important;
}
body.lang-en .lang-ja {
	display:none !important;
}

dl {
	margin:1em 0;
}

/* ========================================================================== *
 * layout.
.* ========================================================================== */
.l-wrap {
	min-width:375px;
}

.l-layout {
	position:relative;
	margin-right:auto;
	margin-left:auto;
}
@media (max-width: 743.98px) {
	.l-layout {
		width:92%;
	}
}
@media (min-width: 744px) {
	.l-layout {
		max-width:690px;
	}
}
.l-layout-wide {
	margin-right:auto;
	margin-left:auto;
}
@media (max-width: 743.98px) {
	.l-layout-wide {
		width:92%;
	}
}
@media (min-width: 744px) {
	.l-layout-wide {
		padding-right:24px;
		padding-left:24px;
		max-width:1152px;
	}
}

.l-pagetitle {
	display:none;
}

.l-foot {
	padding-top:48px;
	padding-bottom:48px;
	background:#202020;
	color:#fff;
	text-align:center;
}
.l-foot_old {
	position:relative;
	transform:translateY(-1em);
}
.l-foot_old > a {
	color:#fff;
}
.l-foot_head {
	margin:0;
	letter-spacing:.2em;
	line-height:1;
}
.l-foot_head .head_main {
	margin:0;
	font-weight:700;
	font-size:24px;
	font-family:"Shippori Mincho", serif;
}
.l-foot_head .head_main > a {
	color:currentColor;
	text-decoration:none;
}
.l-foot_head .head_title {
	vertical-align:middle;
	font-size:50%;
}
.l-foot_head .head_sub {
	font-size:12px;
	opacity:.5;
}
.l-foot_sns {
	margin-top:48px;
}

.l-copyright {
	margin:0;
	background:#000;
	color:rgba(255, 255, 255, .75);
	text-align:center;
	font-size:12px;
	line-height:4;
}
.l-copyright > small {
	font-size:100%;
}

.l-mask {
	position:fixed;
	top:0;
	left:0;
	display:none;
	width:100%;
	height:100%;
	background:rgba(0, 0, 0, .5);
}

/* ========================================================================== *
 * module.
.* ========================================================================== */
/* module: m-rwd-hidden: 表示・非表示の切り替え.
.* -------------------------------------------------------------------------- */
.m-hidden {
	display:none;
}

@media (max-width: 543.98px) {
	.m-rwd-hidden-xs {
		display:none;
	}
}
@media (min-width: 544px) and (max-width: 743.98px) {
	.m-rwd-hidden-sm {
		display:none;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.m-rwd-hidden-md {
		display:none;
	}
}
@media (min-width: 992px) and (max-width: 1199.98px) {
	.m-rwd-hidden-lg {
		display:none;
	}
}
@media (min-width: 1200px) {
	.m-rwd-hidden-xl {
		display:none;
	}
}
@media (max-width: 743.98px) {
	.m-rwd-hidden-s {
		display:none;
	}
}
@media (min-width: 744px) and (max-width: 991.98px) {
	.m-rwd-hidden-m {
		display:none;
	}
}
@media (min-width: 992px) {
	.m-rwd-hidden-l {
		display:none;
	}
}
@media (max-width: 743.98px) {
	.m-rwd-hidden-sp {
		display:none;
	}
}
@media (min-width: 744px) {
	.m-rwd-hidden-pc {
		display:none;
	}
}
/* module: m-i: 画像サイズ調整.
.* -------------------------------------------------------------------------- */
.m-ifit,
.m-ifitX {
	width:100%;
	height:auto;
}

.m-ifitY {
	width:auto;
	height:100%;
}

.m-icover {
	width:100%;
	height:100%;

	-o-object-fit:cover;

	object-fit:cover;
}

.m-icontain {
	width:100%;
	height:100%;

	-o-object-fit:contain;

	object-fit:contain;
}

/* module: m-k: カーニング.
.* -------------------------------------------------------------------------- */
.m-kl-50,
.m-kr-50,
.m-k-50,
.m-kl-25,
.m-kr-25,
.m-k-25,
.m-kl-175,
.m-kr-175,
.m-k-175 {
	position:relative;
	display:inline-block;
}

.m-k-175 {
	margin-right:-.175em;
	margin-left:-.175em;
}

.m-kr-175 {
	margin-right:-.175em;
}

.m-kl-175 {
	margin-left:-.175em;
}

.m-k-25 {
	margin-right:-.25em;
	margin-left:-.25em;
}

.m-kr-25 {
	margin-right:-.25em;
}

.m-kl-25 {
	margin-left:-.25em;
}

.m-k-50 {
	margin-right:-.5em;
	margin-left:-.5em;
}

.m-kr-50 {
	margin-right:-.5em;
}

.m-kl-50 {
	margin-left:-.5em;
}

/* module: m-nowrap: 折り返し禁止.
.* -------------------------------------------------------------------------- */
.m-nowrap {
	white-space:nowrap;
}

.m-performanceTitle {
	display:inline-block;
	margin-top:2.5em;
	width:340px;
	height:300px;
	color:#fff;
	vertical-align:top;
	line-height:1.5;
}
.m-performanceTitle_sub {
	margin-bottom:.5em;
	font-size:16px;
}
.m-performanceTitle_main {
	margin:0;
	font-size:60px;
	line-height:1;
}

.m-performanceTitleEn {
	display:inline-block;
	margin-top:1.5em;
	width:340px;
	height:300px;
	color:#5f1616;
	vertical-align:top;
	text-align:center;
	line-height:1.5;
}
.m-performanceTitleEn_sub {
	margin:0 auto 1em;
	padding:.25em;
	width:-webkit-fit-content;
	width:-moz-fit-content;
	width:fit-content;
	background:#5f1616;
	color:#fff;
	font-size:16px;
}
.m-performanceTitleEn_main {
	margin:0;
	font-size:60px;
	line-height:1;
}
.m-performanceTitleEn_sub2 {
	margin:.5em 0 0;
	font-size:16px;
}

.m-sns {
	margin:0;
	padding-left:0;
	list-style-type:none;
	font-size:24px;
	line-height:1;
}
.m-sns.is-horizontal {
	display:flex;
	justify-content:center;
	margin:0;
}
.m-sns.is-horizontal > li:nth-child(n+2) {
	margin-left:24px;
}
.m-sns_fb,
.m-sns_tw,
.m-sns_ig,
.m-sns_yt {
	color:currentColor;
	text-decoration:none;
	transition:color .2s linear;
}
.m-sns_fb:hover {
	color:#1877f2;
}
.m-sns_tw:hover {
	color:#1da1f2;
}
.m-sns_ig:hover {
	color:rgb(231, 0, 88);
}
.m-sns_yt:hover {
	color:#f00;
}

.m-modal {
	position:fixed;
	top:50%;
	right:50%;
	box-sizing:border-box;
	padding-right:1em;
	padding-left:1em;
	max-width:600px;
	width:92%;
	height:80vh;
	background:#fff;
	transition:transform .2s ease-in-out;
	transform:translate(50%, -50%) scale(.7);
}
.m-modal.is-unready {
	opacity:0;
}
.m-modal.is-active {
	transform:translate(50%, -50%) scale(1);
}
.m-modal_head {
	margin:1em 0 0;
	height:4em;
	color:#000;
	text-align:center;
	font-weight:700;
	line-height:3;
}
.m-modal_headSub {
	display:inline-block;
	font-size:11px;
	transform:translateY(-2.5em);
}
.m-modal_inner {
	overflow-y:auto;
	height:calc(100% - 6em);
}
@media (min-width: 744px) {
	.m-modal_inner {
		padding-right:1em;
		padding-left:1em;
	}
}
.m-modal_def:nth-child(n+2) {
	margin-top:3em;
}
.m-modal_def > dt {
	text-align:center;
	font-weight:700;
}
.m-modal_def > dd {
	margin-left:0;
}
.m-modal_txt {
	font-size:14px;
}
.m-modal_txt::first-letter {
	margin-left:1em;
}
.m-modal_txt.is-space {
	margin-top:2em;
}
.m-modal_close {
	position:absolute;
	top:0;
	right:0;
	overflow:hidden;
	padding-top:48px;
	width:48px;
	height:0;
	color:currentColor;
	text-decoration:none;
	transition:background-color .2s linear;
}
.m-modal_close::before {
	position:absolute;
	top:50%;
	right:50%;
	content:"\e5cd";
	font-family:"Material Icons";
	transform:translate(50%, -50%);
}
.m-modal_close:hover {
	background:#f5f5f5;
}

.m-langSwitch {
	position:absolute;
	top:0;
	right:0;
}
.m-langSwitch > a {
	color:var(--c-link);
	text-decoration:underline;
	transition:opacity .2s linear;
}
@media (hover: hover) {
	.m-langSwitch > a:hover {
		text-decoration:none;
		opacity:.75;
	}
}

/* ========================================================================== *
 * component.
.* ========================================================================== */
.hero {
	background:url("../img/hero-bg.jpg.webp") no-repeat center top;
	text-align:center;
}
@media (max-width: 743.98px) {
	.hero_inner {
		width:100%;
	}
}
@media (min-width: 744px) {
	.hero_inner {
		margin-right:auto;
		margin-left:auto;
		max-width:1104px;
		width:100%;
	}
}

.cv {
	padding-top:32px;
	padding-bottom:24px;
	background:#421113;
	color:#fff;
}
@media (max-width: 743.98px) {
	.cv {
		background-size:200% auto;
	}
}
@media (min-width: 744px) {
	.cv_layout {
		display:flex;
		justify-content:space-between;
	}
}
.cv_head {
	position:relative;
	margin:0;
	text-align:center;
	font-weight:400;
	font-size:16px;
	line-height:1;
}
.cv_head::before,
.cv_head::after {
	position:absolute;
	top:0;
	width:calc(50% - 5em);
	height:1px;
	background:rgba(255, 255, 255, .5);
	content:"";
}
.cv_head::before {
	left:0;
}
.cv_head::after {
	right:0;
}
.cv_head .head_inner {
	position:relative;
	display:inline-block;
	padding-right:1em;
	padding-left:1em;
	transform:translateY(-50%);
}
.cv_date {
	margin:.25em 0;
	font-weight:700;
	font-size:48px;
	line-height:1;
}
.cv_dateNum {
	vertical-align:-2.5%;
	font-size:150%;
}
.cv_time {
	margin:0;
	padding-left:.2em;
	letter-spacing:.2em;
	font-weight:700;
	line-height:1.5;
}
@media (min-width: 744px) {
	.cv_start,
	.cv_ticket {
		width:47.8260869565%;
	}
}
.cv_start {
	text-align:center;
}
.cv_start .cv_body {
	margin-top:-.5em;
}
@media (max-width: 743.98px) {
	.cv_ticket {
		margin-top:32px;
	}
}
.cv_ticket .cv_body {
	margin-top:.5em;
}
.cv_ticketBtn {
	position:relative;
	display:flex;
	align-items:center;
	flex-direction:column;
	justify-content:center;
	box-sizing:border-box;
	margin:0;
	margin-right:auto;
	margin-left:auto;
	padding:0;
	max-width:500px;
	height:96px;
	border:none;
	border-radius:8px;
	background:#2e3551;
	box-shadow:0 4px 0 0 #222840;
	color:#fff;
	vertical-align:middle;
	text-align:center;
	text-decoration:none;
	font-weight:700;
	font-size:13px;
	font-family:"Noto Sans", sans-serif;
	line-height:1.5;
	cursor:pointer;
	transition:box-shadow .2s linear, background-color .2s linear, transform .2s linear;
}
.cv_ticketBtn:hover {
	background:#293049;
	box-shadow:0 2px 0 0 #222840;
	transform:translateY(2px);
}
.cv_ticketBtn::after {
	position:absolute;
	top:50%;
	right:6px;
	content:"\e89e";
	font-weight:400;
	font-family:"Material Icons";
	transform:translateY(-50%);
}
.cv_ticketBtn > img {
	width:132px;
	transform:translateX(-6px);
}

.detail {
	padding-bottom:48px;
}
.detail_head {
	text-align:center;
}
.detail_head .head_main {
	display:none;
}
.detail_body {
	position:relative;
}
.detail_bodyHead {
	margin-top:2.5em;
	margin-bottom:1.5em;
	text-align:center;
	font-size:1.5em;
}
.detail_details {
	margin:0;
	padding-left:0;
	list-style-type:none;
}
.detail_details > li {
	padding-top:32px;
	padding-bottom:32px;
}
.detail_details > li:nth-child(n+2) {
	border-top:1px solid #ccc;
}
.detail_detail {
	margin:0;
}
@media (min-width: 744px) {
	.detail_detail {
		display:flex;
	}
}
.detail_detail > dt {
	color:#000;
	font-weight:700;
}
@media (max-width: 743.98px) {
	.detail_detail > dt {
		margin-bottom:.5em;
		text-align:center;
	}
}
@media (min-width: 744px) {
	.detail_detail > dt {
		flex-shrink:0;
		width:120px;
	}
}
.detail_detail > dd {
	position:relative;
	margin-left:0;
}
@media (max-width: 743.98px) {
	.detail_detail > dd.type-date {
		text-align:center;
	}
}
@media (min-width: 744px) {
	.detail_detail > dd.type-date {
		margin-top:-.5em;
	}
}
@media (max-width: 743.98px) {
	.detail_detail > dd.type-dateEn {
		text-align:center;
	}
}
@media (max-width: 743.98px) {
	.detail_detail > dd.type-place {
		text-align:center;
	}
}
@media (min-width: 744px) {
	.detail_detail > dd.type-place {
		margin-top:-.5em;
	}
}
.detail_date {
	display:inline-block;
	white-space:nowrap;
	font-size:24px;
	line-height:1;
}
.detail_dateNum {
	font-size:150%;
}
.detail_time {
	display:inline-block;
	margin-right:.5em;
	margin-left:1em;
	white-space:nowrap;
}
.detail_place {
	margin:0;
	font-size:24px;
}
.detail_place a {
	font-size:14px;
}
@media (max-width: 743.98px) {
	.detail_place a {
		display:block;
		transform:translateY(-15%);
	}
}
@media (min-width: 744px) {
	.detail_place a {
		display:inline-block;
		margin-left:1.5em;
	}
}
.detail_place a::after {
	content:"\e89e";
	font-family:"Material Icons";
}
.detail_placeAddress {
	margin:0;
}
.detail_placeNote {
	margin:0;
}
@media (max-width: 543.98px) {
	.detail_placeNote {
		font-size:11px;
	}
}
@media (min-width: 544px) and (max-width: 1439.98px) {
	.detail_placeNote {
		font-size:12px;
	}
}
.detail_map {
	margin-top:24px;
}
.detail_map > iframe {
	width:100%;
	border:0;
}
@media (max-width: 743.98px) {
	.detail_map > iframe {
		height:300px;
	}
}
@media (min-width: 744px) {
	.detail_map > iframe {
		height:288px;
	}
}
.detail_more {
	margin:48px 0 0;
	border:1px solid #ccc;
	text-align:center;
}
.detail_more > dt {
	position:relative;
	color:#000;
	text-align:center;
	font-weight:700;
	transform:translateY(-50%);
}
.detail_more > dt > span {
	display:inline-block;
	padding-right:.5em;
	padding-left:.5em;
	background:#fff;
	line-height:1.5;
}
.detail_more > dd {
	margin-left:0;
}
.detail_moreBtnWrap {
	margin-right:auto;
	margin-bottom:1em;
	margin-left:auto;
	max-width:400px;
}
@media (max-width: 743.98px) {
	.detail_moreBtnWrap {
		padding-right:1em;
		padding-left:1em;
	}
}
.detail_moreBtn {
	position:relative;
	display:flex;
	align-items:center;
	flex-direction:column;
	justify-content:center;
	box-sizing:border-box;
	margin:0;
	padding:0;
	padding-top:.5em;
	padding-bottom:.5em;
	padding-left:16px;
	border:none;
	border-radius:8px;
	background:#41c9b4;
	box-shadow:0 4px 0 0 #2a9e8c;
	color:#fff;
	vertical-align:middle;
	text-align:center;
	text-decoration:none;
	font-family:"Noto Sans", sans-serif;
	line-height:1.5;
	cursor:pointer;
	transition:box-shadow .2s linear, background-color .2s linear, transform .2s linear;
}
.detail_moreBtn:hover {
	background:#3bb5a2;
	box-shadow:0 2px 0 0 #2a9e8c;
	transform:translateY(2px);
}
.detail_moreBtn::after {
	position:absolute;
	top:50%;
	right:6px;
	content:"\e89e";
	font-weight:400;
	font-family:"Material Icons";
	transform:translateY(-50%);
}
.detail_moreBtn .btn_ico {
	position:absolute;
	top:50%;
	left:20px;
	width:26px;
	transform:translateY(-50%);
}
.detail_moreBtn .btn_main {
	padding-top:.25em;
	font-weight:700;
	line-height:1.25;
}
.detail_moreBtn .btn_sub {
	font-size:14px;
}
.detail_moreNote {
	position:relative;
	display:inline-block;
	color:#b11b1b;
	transform:translateY(20%);
}
.detail_moreTxt {
	margin:0;
	text-align:left;
}
@media (max-width: 743.98px) {
	.detail_moreTxt {
		padding:0 1em 1em;
		font-size:13px;
	}
}
@media (min-width: 744px) {
	.detail_moreTxt {
		display:inline-block;
		padding-right:1.5em;
		padding-bottom:1em;
		padding-left:1.5em;
	}
}

@media (min-width: 744px) {
	.price_layout {
		display:flex;
		flex-direction:row-reverse;
		justify-content:space-between;
	}
}
.price_media {
	width:236px;
}
@media (max-width: 743.98px) {
	.price_media {
		margin-right:auto;
		margin-bottom:1.5em;
		margin-left:auto;
	}
}
@media (min-width: 744px) {
	.price_media {
		flex-shrink:0;
	}
}
.price_detail {
	display:flex;
	line-height:1.5;
}
@media (max-width: 743.98px) {
	.price_detail {
		justify-content:center;
		margin-right:auto;
		margin-left:auto;
		max-width:500px;
	}
}
.price_detail > dt {
	flex-shrink:0;
	color:#000;
	font-weight:700;
}
@media (max-width: 743.98px) {
	.price_detail > dt {
		width:5em;
	}
}
@media (min-width: 744px) {
	.price_detail > dt {
		width:80px;
	}
}
.price_detail > dd {
	position:relative;
	margin-left:0;
	min-width:240px;
}
.price_detail:nth-child(n+2) {
	margin-top:2em;
}
.price_list {
	margin:0;
	padding-left:0;
	list-style-type:none;
}
.price_list > li:nth-child(n+2) {
	margin-top:2em;
}
.price_item {
	display:flex;
	justify-content:space-between;
	margin:0;
}
.price_item > dt {
	box-sizing:border-box;
	padding:0 .5em;
	width:11em;
	font-weight:700;
}
.price_item > dd {
	margin-top:-.66em;
	margin-left:0;
	white-space:nowrap;
}
.price_itemNum {
	display:inline-block;
	font-size:150%;
	transform:translateY(1.5%);
}
.price_itemNum.is-digit5 {
	margin-left:-.5em;
}
.price_itemTxt {
	margin:.5em .5em .5em;
}
@media (max-width: 743.98px) {
	.price_itemTxt {
		font-size:13px;
	}
}
@media (min-width: 744px) {
	.price_itemTxt {
		font-size:14px;
	}
}
@media (max-width: 743.98px) {
	.price_item.lang-en {
		font-size:14px;
	}
}
.price_item.lang-en > dt {
	width:13em;
}
@media (max-width: 743.98px) {
	.price_item.lang-en > dt.family {
		width:11em;
	}
}
.price_note {
	margin-top:2em;
	margin-bottom:0;
	color:#b11b1b;
}
@media (max-width: 743.98px) {
	.price_note {
		margin-right:auto;
		margin-left:auto;
		width:-webkit-fit-content;
		width:-moz-fit-content;
		width:fit-content;
	}
}
@media (min-width: 744px) {
	.price_note {
		text-align:center;
	}
}
.price_more {
	margin-top:1.5em;
	background:#f5f5f5;
}
@media (max-width: 743.98px) {
	.price_more {
		padding:1em;
	}
}
@media (min-width: 744px) {
	.price_more {
		padding:2em;
	}
}
.price_moreHead {
	margin:0 auto;
	width:-webkit-fit-content;
	width:-moz-fit-content;
	width:fit-content;
	font-weight:400;
}
.price_moreDef {
	margin-bottom:0;
	padding-top:1em;
	border-top:1px dashed #ccc;
}
.price_moreDef > dt {
	font-weight:700;
}
.price_moreDef > dd {
	margin-left:0;
	font-size:13px;
}
.price_moreTxt {
	margin:.25em 0 0 0;
}

.credit {
	margin-top:2.5em;
}
.credit_head {
	text-align:center;
	font-size:12px;
}
.credit_head::before {
	display:inline-block;
	margin-right:1em;
	content:"─";
	transform:scaleX(3);
	transform-origin:right center;
}
.credit_head::after {
	display:inline-block;
	margin-left:1em;
	content:"─";
	transform:scaleX(3);
	transform-origin:left center;
}
.credit_list {
	margin:0;
	padding-left:0;
	list-style-type:none;
	font-size:13px;
}
.credit_list.lang-en {
	position:relative;
	margin-right:-4.347826087%;
	margin-left:-4.347826087%;
	white-space:nowrap;
	font-size:12px;
}
.credit_list.lang-en .credit_item > dt {
	width:11em;
}
.credit_list.lang-en .credit_item > dd {
	width:16em;
}
.credit_item {
	display:flex;
	justify-content:center;
	margin:0;
}
.credit_item > dt {
	margin-right:.75em;
	width:8em;
	text-align:right;
}
.credit_item > dd {
	margin-left:.75em;
	width:13em;
	font-weight:700;
}

.associate {
	padding-top:36px;
	padding-bottom:45px;
}
@media (max-width: 543.98px) {
	.associate {
		background:#231816;
	}
}
@media (min-width: 544px) {
	.associate {
		background:#231816 url("../img/associate.jpg") no-repeat center top/auto 100%;
	}
}
.associate_head {
	color:#fff;
	line-height:1.5;
}
@media (max-width: 543.98px) {
	.associate_head {
		text-align:center;
	}
}
.associate_head .head_main {
	margin:0;
}
@media (min-width: 544px) {
	.associate_head .head_main {
		display:inline-block;
	}
}
.associate_head .head_sub {
	margin-right:1em;
	font-size:16px;
}
.associate_head .head_opt {
	margin:0;
	font-size:14px;
}
@media (min-width: 544px) {
	.associate_head .head_opt {
		display:inline-block;
	}
}
.associate_txt {
	margin-top:1em;
	margin-bottom:1.5em;
	color:rgba(255, 255, 255, .75);
	font-size:14px;
	font-family:"Noto Sans JP", sans-serif;
}
@media (min-width: 544px) {
	.associate_foot {
		display:flex;
		justify-content:space-between;
	}
}
@media (min-width: 544px) {
	.associate_signup {
		width:210px;
	}
}
.associate_signupBtn {
	position:relative;
	display:flex;
	align-items:center;
	flex-direction:column;
	justify-content:center;
	box-sizing:border-box;
	margin:0;
	padding:0;
	height:40px;
	border:none;
	border-radius:8px;
	background:#fff;
	box-shadow:0 4px 0 0 #7f7f7f;
	color:#333;
	vertical-align:middle;
	text-align:center;
	text-decoration:none;
	font-weight:700;
	font-size:14px;
	font-family:"Noto Sans", sans-serif;
	line-height:1.5;
	cursor:pointer;
	transition:box-shadow .2s linear, background-color .2s linear, transform .2s linear;
}
.associate_signupBtn:hover {
	background:#e6e6e6;
	box-shadow:0 2px 0 0 #7f7f7f;
	transform:translateY(2px);
}
.associate_signupBtn::after {
	position:absolute;
	top:50%;
	right:6px;
	content:"\e89e";
	font-weight:400;
	font-family:"Material Icons";
	transform:translateY(-50%);
}
@media (max-width: 543.98px) {
	.associate_youtube {
		margin-top:16px;
	}
}
@media (min-width: 544px) {
	.associate_youtube {
		width:210px;
	}
}
.associate_youtubeBtn {
	position:relative;
	display:flex;
	align-items:center;
	flex-direction:column;
	justify-content:center;
	box-sizing:border-box;
	margin:0;
	padding:0;
	height:40px;
	border:none;
	border-radius:8px;
	background:#f00;
	box-shadow:0 4px 0 0 #7f0000;
	color:#fff;
	vertical-align:middle;
	text-align:center;
	text-decoration:none;
	font-weight:700;
	font-size:14px;
	font-family:"Noto Sans", sans-serif;
	line-height:1.5;
	cursor:pointer;
	transition:box-shadow .2s linear, background-color .2s linear, transform .2s linear;
}
.associate_youtubeBtn:hover {
	background:#e60000;
	box-shadow:0 2px 0 0 #7f0000;
	transform:translateY(2px);
}
.associate_youtubeBtn::after {
	position:absolute;
	top:50%;
	right:6px;
	content:"\e89e";
	font-weight:400;
	font-family:"Material Icons";
	transform:translateY(-50%);
}

.program {
	padding-bottom:48px;
}
.program_head {
	text-align:center;
}
.program_head .head_main {
	display:none;
}
.program_body {
	position:relative;
}
.program_bodyHead {
	margin-top:2.5em;
	margin-bottom:1.5em;
	text-align:center;
	font-size:1.5em;
}
.program_list {
	margin:0;
	padding-left:0;
	list-style-type:none;
}
.program_list > li {
	position:relative;
}
.program_list > li:nth-child(n+2) {
	border-top:1px solid #ccc;
}
@media (max-width: 743.98px) {
	.program_txt {
		text-align:center;
	}
}
@media (min-width: 744px) {
	.program_def {
		display:flex;
	}
}
@media (max-width: 743.98px) {
	.program_def > dt {
		margin-top:1em;
		text-align:center;
	}
}
@media (min-width: 744px) {
	.program_def > dt {
		flex-shrink:0;
		padding-right:.5em;
		width:210px;
	}
}
.program_def > dd {
	margin-left:0;
}
@media (max-width: 743.98px) {
	.program_def > dd {
		text-align:center;
	}
}
.program_defEnHead {
	font-size:11px;
}
@media (max-width: 743.98px) {
	.program_defModal {
		display:none;
	}
}
@media (min-width: 744px) {
	.program_defModal {
		margin-top:.5em;
	}
}
.program_defFoot {
	line-height:1.75;
}
@media (max-width: 743.98px) {
	.program_defFoot {
		margin-top:1em;
		margin-bottom:1em;
		text-align:center;
	}
}
@media (min-width: 744px) {
	.program_defFoot {
		display:none;
	}
}
.program_credits {
	margin:0;
	padding-left:0;
	list-style-type:none;
	text-align:left;
}
@media (max-width: 743.98px) {
	.program_credits {
		display:inline-block;
		margin-top:1em;
		width:280px;
		font-size:14px;
	}
}
.program_credit {
	display:flex;
	margin:0;
}
.program_credit > dt {
	flex-shrink:0;
	padding-right:.5em;
	width:5em;
}
.program_credit > dd {
	margin-left:0;
}
@media (max-width: 743.98px) {
	.program_credit.lang-en {
		margin-right:-20px;
		margin-left:-20px;
	}
}
.program_credit.lang-en > dt {
	width:6.5em;
}
.program_modal {
	display:inline-block;
	padding-right:.5em;
	padding-left:.5em;
	border:1px solid #188b9d;
	color:#188b9d;
	vertical-align:top;
	text-decoration:none;
	font-size:12px;
	font-family:"Noto Sans", sans-serif;
	transition:opacity .2s linear;
}
.program_modal:hover {
	opacity:.5;
}

.guests {
	padding-bottom:48px;
}
.guests_head {
	margin-bottom:2em;
	text-align:center;
	font-size:1.25em;
}
@media (min-width: 992px) {
	.guests_layout {
		display:flex;
		margin:0 -24px;
	}
}
@media (max-width: 991.98px) {
	.guests_guest:nth-child(n+2) {
		margin-top:48px;
	}
}
@media (min-width: 992px) {
	.guests_guest {
		margin:0 24px;
		width:50%;
	}
}

.guest {
	display:flex;
}
.guest_media {
	flex-shrink:0;
	margin-right:24px;
	max-width:160px;
	width:30.4347826087%;
}
.guest_media > img {
	width:100%;
	height:auto;
}
.guest_profile {
	margin:0;
}
.guest_profile > dt {
	font-weight:700;
}
.guest_profile > dd {
	margin-left:0;
	font-size:14px;
}

.greeting {
	padding-top:40px;
	padding-bottom:40px;
	background:#f5f5f5;
}
@media (min-width: 992px) {
	.greeting_layout {
		display:flex;
	}
}
.greeting_main {
	position:relative;
}
@media (max-width: 991.98px) {
	.greeting_main {
		margin-bottom:1em;
	}
}
.greeting_head {
	margin-top:0;
	color:#000;
}
@media (max-width: 743.98px) {
	.greeting_head {
		text-align:center;
	}
}
.greeting_lead {
	font-weight:700;
}
.greeting_txt::first-letter {
	margin-left:1em;
}
.greeting_sign {
	margin:0;
	text-align:right;
	font-weight:700;
}
@media (min-width: 544px) and (max-width: 991.98px) {
	.greeting_sub {
		display:flex;
	}
}
@media (min-width: 992px) {
	.greeting_sub {
		flex-shrink:0;
		margin-left:48px;
		width:336px;
	}
}
@media (min-width: 544px) and (max-width: 991.98px) {
	.greeting_media {
		flex-shrink:0;
		margin-right:4.347826087%;
		max-width:336px;
		width:47.8260869565%;
	}
}
.greeting_profile {
	font-size:12px;
	font-family:"Noto Sans JP", sans-serif;
}
@media (min-width: 544px) and (max-width: 991.98px) {
	.greeting_profile {
		margin:0;
	}
}

.contact {
	padding-top:40px;
	padding-bottom:40px;
	text-align:center;
}
.contact_head {
	margin:0;
	color:#000;
	font-size:24px;
}
.contact_profile {
	margin-top:2em;
}
@media (max-width: 543.98px) {
	.contact_profile {
		font-size:14px;
	}
}
.contact_profile > dt {
	color:#000;
	font-weight:700;
}
.contact_profile > dd {
	margin-left:0;
}
.contact_detail {
	margin:0;
}
.contact_detail > dt,
.contact_detail > dd {
	display:inline-block;
}
.contact_detail > dt::after {
	content:"：";
}
.contact_detail > dd {
	margin-left:0;
}
.contact_detail > dd > a {
	color:var(--c-link);
	text-decoration:underline;
	transition:opacity .2s linear;
}
@media (hover: hover) {
	.contact_detail > dd > a:hover {
		text-decoration:none;
		opacity:.75;
	}
}
.contact_txt {
	margin:0;
}
@media (max-width: 543.98px) {
	.contact_note {
		font-size:12px;
	}
}
@media (min-width: 544px) and (max-width: 1439.98px) {
	.contact_note {
		font-size:13px;
	}
}
.contact_noteList {
	display:inline-block;
	text-align:left;
	line-height:1.33;
}
.contact_noteList > li:nth-child(n+2) {
	margin-top:.75em;
}
