@charset "UTF-8";
/*
 * STYLESHEET.
 *
################################################################################
 */
/* ========================================================================== *
 * 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;
	-webkit-box-sizing:content-box;
	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;
	-webkit-box-sizing:border-box;
	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"] {
	-webkit-box-sizing:border-box;
	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.
.* ========================================================================== */
html {
	font-size:62.5%;
	font-family:"Noto Serif JP", serif;
	line-height:2;
}

body {
	background:#fff;
	color:#4d4d4d;
}

@media (max-width: 743px) {
	body {
		font-size:16px;
		font-size:1.6rem;
	}
}

@media (min-width: 744px) {
	body {
		font-size:16px;
		font-size:1.6rem;
	}
}

button,
input,
optgroup,
select,
textarea {
	font-family:"Noto Serif JP", serif;
}

:focus {
	outline:none;
}

::-moz-selection {
	background:#b3d4fc;
	color:#4d4d4d;
	text-shadow:none;
}

::selection {
	background:#b3d4fc;
	color:#4d4d4d;
	text-shadow:none;
}

hr {
	display:block;
	margin:1em 0;
	padding:0;
	height:1px;
	border:0;
	border-top:1px solid rgba(0, 0, 0, .25);
	background:rgba(255, 255, 255, .25);
}

audio,
canvas,
iframe,
img,
svg,
video {
	vertical-align:middle;
}

fieldset {
	margin:0;
	padding:0;
	border:0;
}

textarea {
	resize:vertical;
}

body.lang-ja .lang-en {
	display:none !important;
}

body.lang-en .lang-ja {
	display:none !important;
}

/* ========================================================================== *
 * layout.
.* ========================================================================== */
.l-wrap {
	min-width:375px;
}

.l-layout {
	position:relative;
	margin-right:auto;
	margin-left:auto;
}

@media (max-width: 743px) {
	.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: 743px) {
	.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;
	-webkit-transform:translateY(-1em);
	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: ボックスフィット画像.
 * -------------------------------------------------------------------------- */
.fitimg,
.fitimg-w {
	width:100%;
	height:auto;
}

.fitimg-h {
	width:auto;
	height:100%;
}

/* module: レスポンシブ表示切り替え.
 * -------------------------------------------------------------------------- */
.hidden {
	display:none;
}

@media (max-width: 543px) {
	.rwd-hidden-xs {
		display:none;
	}
}

@media (min-width: 544px) and (max-width: 743px) {
	.rwd-hidden-sm {
		display:none;
	}
}

@media (min-width: 744px) and (max-width: 991px) {
	.rwd-hidden-md {
		display:none;
	}
}

@media (min-width: 992px) and (max-width: 1199px) {
	.rwd-hidden-lg {
		display:none;
	}
}

@media (min-width: 1200px) {
	.rwd-hidden-xl {
		display:none;
	}
}

@media (min-width: 992px) {
	.rwd-hidden-l {
		display:none;
	}
}

@media (min-width: 744px) and (max-width: 991px) {
	.rwd-hidden-m {
		display:none;
	}
}

@media (max-width: 743px) {
	.rwd-hidden-s {
		display:none;
	}
}

@media (max-width: 743px) {
	.rwd-hidden-sp {
		display:none;
	}
}

@media (min-width: 744px) {
	.rwd-hidden-pc {
		display:none;
	}
}

/* module: カーニング.
 * -------------------------------------------------------------------------- */
.k-175,
.kr-175,
.kl-175,
.k-25,
.kr-25,
.kl-25,
.k-50,
.kr-50,
.kl-50 {
	position:relative;
	display:inline-block;
}

.k-175 {
	margin-right:-.175em;
	margin-left:-.175em;
}

.kr-175 {
	margin-right:-.175em;
}

.kl-175 {
	margin-left:-.175em;
}

.k-25 {
	margin-right:-.25em;
	margin-left:-.25em;
}

.kr-25 {
	margin-right:-.25em;
}

.kl-25 {
	margin-left:-.25em;
}

.k-50 {
	margin-right:-.5em;
	margin-left:-.5em;
}

.kr-50 {
	margin-right:-.5em;
}

.kl-50 {
	margin-left:-.5em;
}

/* module: 独自リストスタイル.
 * -------------------------------------------------------------------------- */
p.kome {
	margin-left:1em;
}

p.kome::before {
	position:relative;
	display:inline-block;
	margin-left:-1em;
	width:1em;
	content:"※";
}

ul.kome,
ol.kome {
	padding-left:0;
	list-style-type:none;
}

ul.kome > li,
ol.kome > li {
	margin-left:1em;
}

ul.kome > li::before,
ol.kome > li::before {
	position:relative;
	display:inline-block;
	margin-left:-1em;
	width:1em;
	content:"※";
}

p.ast {
	margin-left:1em;
}

p.ast::before {
	position:relative;
	display:inline-block;
	margin-left:-1em;
	width:1em;
	content:"＊";
}

ul.ast,
ol.ast {
	padding-left:0;
	list-style-type:none;
}

ul.ast > li,
ol.ast > li {
	margin-left:1em;
}

ul.ast > li::before,
ol.ast > li::before {
	position:relative;
	display:inline-block;
	margin-left:-1em;
	width:1em;
	content:"＊";
}

p.arrow {
	margin-left:1em;
}

p.arrow::before {
	position:relative;
	display:inline-block;
	margin-left:-1em;
	width:1em;
	content:"→";
}

ul.arrow,
ol.arrow {
	padding-left:0;
	list-style-type:none;
}

ul.arrow > li,
ol.arrow > li {
	margin-left:1em;
}

ul.arrow > li::before,
ol.arrow > li::before {
	position:relative;
	display:inline-block;
	margin-left:-1em;
	width:1em;
	content:"→";
}

p.dot {
	margin-left:1em;
}

p.dot::before {
	position:relative;
	display:inline-block;
	margin-left:-1em;
	width:1em;
	content:"・";
}

ul.dot,
ol.dot {
	padding-left:0;
	list-style-type:disc;
}

ul.dot > li,
ol.dot > li {
	margin-left:1.5em;
}

ul.num,
ol.num {
	padding-left:0;
	list-style-type:decimal;
}

ul.num > li,
ol.num > li {
	margin-left:2em;
}

ul.alp,
ol.alp {
	padding-left:0;
	list-style-type:lower-latin;
}

ul.alp > li,
ol.alp > li {
	margin-left:2em;
}

[data-headmark] {
	position:relative;
	background:#ccc;
	list-style-type:none;
}

[data-headmark]::before {
	position:absolute;
	top:0;
	right:100%;
	display:block;
	margin-right:.5em;
	content:attr(data-headmark);
	white-space:nowrap;
}

[data-headmark-inset]::before {
	position:relative;
	top:auto;
	right:auto;
	display:inline-block;
}

/* module: 折り返し禁止.
 * -------------------------------------------------------------------------- */
.nowrap {
	white-space:nowrap;
}

.ellipsis {
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
}

.m-performanceTitle {
	display:inline-block;
	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;
	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:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	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;
	-webkit-transition:color .2s linear;
	transition:color .2s linear;
}

.m-sns_fb:hover {
	color:#1877f2;
}

.m-sns_tw:hover {
	color:#1da1f2;
}

.m-sns_ig:hover {
	color:#e70058;
}

.m-sns_yt:hover {
	color:#f00;
}

.m-modal {
	position:fixed;
	top:50%;
	right:50%;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	padding-right:1em;
	padding-left:1em;
	max-width:600px;
	width:92%;
	height:80vh;
	background:#fff;
	-webkit-transition:-webkit-transform .2s ease-in-out;
	transition:-webkit-transform .2s ease-in-out;
	transition:transform .2s ease-in-out;
	transition:transform .2s ease-in-out, -webkit-transform .2s ease-in-out;
	-webkit-transform:translate(50%, -50%) scale(.7);
	transform:translate(50%, -50%) scale(.7);
}

.m-modal.is-unready {
	opacity:0;
}

.m-modal.is-active {
	-webkit-transform:translate(50%, -50%) scale(1);
	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;
	-webkit-transform:translateY(-2.5em);
	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;
	-webkit-transition:background-color .2s linear;
	transition:background-color .2s linear;
}

.m-modal_close::before {
	position:absolute;
	top:50%;
	right:50%;
	content:"\e5cd";
	font-family:"Material Icons";
	-webkit-transform:translate(50%, -50%);
	transform:translate(50%, -50%);
}

.m-modal_close:hover {
	background:#f5f5f5;
}

.m-langSwitch {
	position:absolute;
	top:0;
	right:0;
}

/* ========================================================================== *
 * component.
.* ========================================================================== */
.hero {
	background:#e7804b url(../img/hero-bg.png.webp) no-repeat center top;
	text-align:center;
}

@media (max-width: 743px) {
	.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:#005461 url(../img/cv.png) center center/100% auto;
	color:#fff;
}

@media (max-width: 743px) {
	.cv {
		background-size:200% auto;
	}
}

@media (min-width: 744px) {
	.cv_layout {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		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;
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}

.cv_date {
	margin:0;
	font-weight:700;
	font-size:48px;
	line-height:1;
}

.cv_dateNum {
	vertical-align:-2.5%;
	font-size:200%;
}

.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.82609%;
	}
}

.cv_start {
	text-align:center;
}

.cv_start .cv_body {
	margin-top:-.5em;
}

@media (max-width: 743px) {
	.cv_ticket {
		margin-top:32px;
	}
}

.cv_ticket .cv_body {
	margin-top:.5em;
}

.cv_ticketBtn {
	position:relative;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-ms-flex-direction:column;
	flex-direction:column;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
	-webkit-box-sizing:border-box;
	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;
	-webkit-box-shadow:0 4px 0 0 #222840;
	box-shadow:0 4px 0 0 #222840;
	color:#fff;
	vertical-align:middle;
	text-align:center;
	text-decoration:none;
	font-family:"Noto Sans", sans-serif;
	line-height:1.5;
	cursor:pointer;
	-webkit-transition:background-color .2s linear, -webkit-box-shadow .2s linear, -webkit-transform .2s linear;
	transition:background-color .2s linear, -webkit-box-shadow .2s linear, -webkit-transform .2s linear;
	transition:box-shadow .2s linear, background-color .2s linear, transform .2s linear;
	transition:box-shadow .2s linear, background-color .2s linear, transform .2s linear, -webkit-box-shadow .2s linear, -webkit-transform .2s linear;
}

.cv_ticketBtn:hover {
	background:#293049;
	-webkit-box-shadow:0 2px 0 0 #222840;
	box-shadow:0 2px 0 0 #222840;
	-webkit-transform:translateY(2px);
	transform:translateY(2px);
}

.cv_ticketBtn::after {
	position:absolute;
	top:50%;
	right:6px;
	content:"\e89e";
	font-weight:400;
	font-family:"Material Icons";
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}

.cv_ticketBtn > img {
	width:132px;
	-webkit-transform:translateX(-6px);
	transform:translateX(-6px);
}

.detail {
	padding-bottom:48px;
}

.detail_head {
	text-align:center;
}

.detail_head .head_main {
	display:none;
}

.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:-webkit-box;
		display:-ms-flexbox;
		display:flex;
	}
}

.detail_detail > dt {
	color:#000;
	font-weight:700;
}

@media (max-width: 743px) {
	.detail_detail > dt {
		margin-bottom:.5em;
		text-align:center;
	}
}

@media (min-width: 744px) {
	.detail_detail > dt {
		-ms-flex-negative:0;
		flex-shrink:0;
		width:120px;
	}
}

.detail_detail > dd {
	position:relative;
	margin-left:0;
}

@media (max-width: 743px) {
	.detail_detail > dd.type-date {
		text-align:center;
	}
}

@media (min-width: 744px) {
	.detail_detail > dd.type-date {
		margin-top:-.5em;
	}
}

@media (max-width: 743px) {
	.detail_detail > dd.type-dateEn {
		text-align:center;
	}
}

@media (max-width: 743px) {
	.detail_detail > dd.type-place {
		text-align:center;
	}
}

@media (min-width: 744px) {
	.detail_detail > dd.type-place {
		margin-top:-.5em;
	}
}

@media (max-width: 743px) {
	.detail_detail > dd.type-price {
		margin-right:auto;
		margin-left:auto;
		max-width:500px;
	}
}

.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: 743px) {
	.detail_place a {
		display:block;
		-webkit-transform:translateY(-15%);
		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: 543px) {
	.detail_placeNote {
		font-size:11px;
	}
}

@media (min-width: 544px) {
	.detail_placeNote {
		font-size:12px;
	}
}

.detail_map {
	margin-top:24px;
}

.detail_map > iframe {
	width:100%;
	border:0;
}

@media (max-width: 743px) {
	.detail_map > iframe {
		height:300px;
	}
}

@media (min-width: 744px) {
	.detail_map > iframe {
		height:288px;
	}
}

.detail_priceMedia {
	width:236px;
}

@media (max-width: 543px) {
	.detail_priceMedia {
		margin-right:auto;
		margin-bottom:1.5em;
		margin-left:auto;
	}
}

@media (min-width: 544px) {
	.detail_priceMedia {
		position:absolute;
		top:0;
		right:0;
	}
}

.detail_prices {
	margin:0;
	padding-left:0;
	list-style-type:none;
}

.detail_prices > li:nth-child(n + 2) {
	margin-top:2em;
}

.detail_price {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	margin:0;
}

.detail_price > dt {
	width:7em;
	font-weight:700;
}

.detail_price > dd {
	margin-top:-.66em;
	margin-left:0;
}

.detail_priceNum {
	display:inline-block;
	font-size:150%;
	-webkit-transform:translateY(1.5%);
	transform:translateY(1.5%);
}

.detail_priceNum.is-digit5 {
	margin-left:-.5em;
}

.detail_priceTxt {
	margin:.5em 0;
}

@media (max-width: 743px) {
	.detail_priceTxt {
		font-size:13px;
	}
}

.detail_priceNote {
	margin-top:2em;
	margin-bottom:0;
	color:#b11b1b;
}

.detail_price.lang-en > dt {
	width:13em;
}

@media (max-width: 743px) {
	.detail_price.lang-en > dt.family {
		width:11em;
	}
}

.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;
	-webkit-transform:translateY(-50%);
	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: 743px) {
	.detail_moreBtnWrap {
		padding-right:1em;
		padding-left:1em;
	}
}

.detail_moreBtn {
	position:relative;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-ms-flex-direction:column;
	flex-direction:column;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	margin:0;
	padding:0;
	padding-top:.5em;
	padding-bottom:.5em;
	padding-left:16px;
	border:none;
	border-radius:8px;
	background:#41c9b4;
	-webkit-box-shadow:0 4px 0 0 #2a9e8c;
	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;
	-webkit-transition:background-color .2s linear, -webkit-box-shadow .2s linear, -webkit-transform .2s linear;
	transition:background-color .2s linear, -webkit-box-shadow .2s linear, -webkit-transform .2s linear;
	transition:box-shadow .2s linear, background-color .2s linear, transform .2s linear;
	transition:box-shadow .2s linear, background-color .2s linear, transform .2s linear, -webkit-box-shadow .2s linear, -webkit-transform .2s linear;
}

.detail_moreBtn:hover {
	background:#3bb5a2;
	-webkit-box-shadow:0 2px 0 0 #2a9e8c;
	box-shadow:0 2px 0 0 #2a9e8c;
	-webkit-transform:translateY(2px);
	transform:translateY(2px);
}

.detail_moreBtn::after {
	position:absolute;
	top:50%;
	right:6px;
	content:"\e89e";
	font-weight:400;
	font-family:"Material Icons";
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}

.detail_moreBtn .btn_ico {
	position:absolute;
	top:50%;
	left:20px;
	width:26px;
	-webkit-transform:translateY(-50%);
	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;
	-webkit-transform:translateY(20%);
	transform:translateY(20%);
}

.detail_moreTxt {
	margin:0;
	text-align:left;
}

@media (max-width: 743px) {
	.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;
	}
}

.credit {
	margin-top:2.5em;
}

.credit_head {
	text-align:center;
	font-size:12px;
}

.credit_head::before {
	display:inline-block;
	margin-right:1em;
	content:"─";
	-webkit-transform:scaleX(3);
	transform:scaleX(3);
	-webkit-transform-origin:right center;
	transform-origin:right center;
}

.credit_head::after {
	display:inline-block;
	margin-left:1em;
	content:"─";
	-webkit-transform:scaleX(3);
	transform:scaleX(3);
	-webkit-transform-origin:left center;
	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.34783%;
	margin-left:-4.34783%;
	white-space:nowrap;
	font-size:12px;
}

.credit_list.lang-en .credit_item > dt {
	width:9em;
}

.credit_list.lang-en .credit_item > dd {
	width:16em;
}

.credit_item {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	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: 543px) {
	.associate {
		background:#202020;
	}
}

@media (min-width: 544px) {
	.associate {
		background:#202020 url(../img/associate.jpg) no-repeat center top/auto 100%;
	}
}

.associate_head {
	color:#fff;
	line-height:1.5;
}

@media (max-width: 543px) {
	.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:-webkit-box;
		display:-ms-flexbox;
		display:flex;
		-webkit-box-pack:justify;
		-ms-flex-pack:justify;
		justify-content:space-between;
	}
}

@media (min-width: 544px) {
	.associate_signup {
		width:210px;
	}
}

.associate_signupBtn {
	position:relative;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-ms-flex-direction:column;
	flex-direction:column;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	margin:0;
	padding:0;
	height:40px;
	border:none;
	border-radius:8px;
	background:#fff;
	-webkit-box-shadow:0 4px 0 0 #7f7f7f;
	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;
	-webkit-transition:background-color .2s linear, -webkit-box-shadow .2s linear, -webkit-transform .2s linear;
	transition:background-color .2s linear, -webkit-box-shadow .2s linear, -webkit-transform .2s linear;
	transition:box-shadow .2s linear, background-color .2s linear, transform .2s linear;
	transition:box-shadow .2s linear, background-color .2s linear, transform .2s linear, -webkit-box-shadow .2s linear, -webkit-transform .2s linear;
}

.associate_signupBtn:hover {
	background:#e6e6e6;
	-webkit-box-shadow:0 2px 0 0 #7f7f7f;
	box-shadow:0 2px 0 0 #7f7f7f;
	-webkit-transform:translateY(2px);
	transform:translateY(2px);
}

.associate_signupBtn::after {
	position:absolute;
	top:50%;
	right:6px;
	content:"\e89e";
	font-weight:400;
	font-family:"Material Icons";
	-webkit-transform:translateY(-50%);
	transform:translateY(-50%);
}

@media (max-width: 543px) {
	.associate_youtube {
		margin-top:16px;
	}
}

@media (min-width: 544px) {
	.associate_youtube {
		width:210px;
	}
}

.associate_youtubeBtn {
	position:relative;
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	-webkit-box-align:center;
	-ms-flex-align:center;
	align-items:center;
	-webkit-box-orient:vertical;
	-webkit-box-direction:normal;
	-ms-flex-direction:column;
	flex-direction:column;
	-webkit-box-pack:center;
	-ms-flex-pack:center;
	justify-content:center;
	-webkit-box-sizing:border-box;
	box-sizing:border-box;
	margin:0;
	padding:0;
	height:40px;
	border:none;
	border-radius:8px;
	background:#f00;
	-webkit-box-shadow:0 4px 0 0 #7f0000;
	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;
	-webkit-transition:background-color .2s linear, -webkit-box-shadow .2s linear, -webkit-transform .2s linear;
	transition:background-color .2s linear, -webkit-box-shadow .2s linear, -webkit-transform .2s linear;
	transition:box-shadow .2s linear, background-color .2s linear, transform .2s linear;
	transition:box-shadow .2s linear, background-color .2s linear, transform .2s linear, -webkit-box-shadow .2s linear, -webkit-transform .2s linear;
}

.associate_youtubeBtn:hover {
	background:#e60000;
	-webkit-box-shadow:0 2px 0 0 #7f0000;
	box-shadow:0 2px 0 0 #7f0000;
	-webkit-transform:translateY(2px);
	transform:translateY(2px);
}

.associate_youtubeBtn::after {
	position:absolute;
	top:50%;
	right:6px;
	content:"\e89e";
	font-weight:400;
	font-family:"Material Icons";
	-webkit-transform:translateY(-50%);
	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: 743px) {
	.program_txt {
		text-align:center;
	}
}

@media (min-width: 744px) {
	.program_def {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
	}
}

@media (max-width: 743px) {
	.program_def > dt {
		text-align:center;
	}
}

@media (min-width: 744px) {
	.program_def > dt {
		-ms-flex-negative:0;
		flex-shrink:0;
		width:210px;
	}
}

.program_def > dd {
	margin-left:0;
}

@media (max-width: 743px) {
	.program_def > dd {
		text-align:center;
	}
}

.program_defEnHead {
	font-size:11px;
}

@media (max-width: 743px) {
	.program_defModal {
		display:none;
	}
}

@media (min-width: 744px) {
	.program_defModal {
		margin-top:.5em;
	}
}

.program_defFoot {
	line-height:1.75;
}

@media (max-width: 743px) {
	.program_defFoot {
		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: 743px) {
	.program_credits {
		display:inline-block;
		margin-top:1em;
		width:280px;
		font-size:14px;
	}
}

.program_credit {
	display:-webkit-box;
	display:-ms-flexbox;
	display:flex;
	margin:0;
}

.program_credit > dt {
	-ms-flex-negative:0;
	flex-shrink:0;
	width:5em;
}

.program_credit > dd {
	margin-left:0;
}

@media (max-width: 743px) {
	.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;
	-webkit-transition:opacity .2s linear;
	transition:opacity .2s linear;
}

.program_modal:hover {
	opacity:.5;
}

.greeting {
	padding-top:40px;
	padding-bottom:40px;
	background:#f5f5f5;
}

@media (min-width: 992px) {
	.greeting_layout {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
	}
}

.greeting_main {
	position:relative;
}

@media (max-width: 991px) {
	.greeting_main {
		margin-bottom:1em;
	}
}

.greeting_head {
	margin-top:0;
	color:#000;
}

@media (max-width: 743px) {
	.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: 743px) {
	.greeting_sub::after {
		display:block;
		clear:both;
		content:"";
	}
}

@media (min-width: 744px) and (max-width: 991px) {
	.greeting_sub {
		display:-webkit-box;
		display:-ms-flexbox;
		display:flex;
	}
}

@media (min-width: 992px) {
	.greeting_sub {
		-ms-flex-negative:0;
		flex-shrink:0;
		margin-left:48px;
		width:336px;
	}
}

@media (min-width: 544px) and (max-width: 743px) {
	.greeting_media {
		float:left;
		margin-right:4.34783%;
		max-width:336px;
		width:47.82609%;
	}
}

@media (min-width: 744px) and (max-width: 991px) {
	.greeting_media {
		-ms-flex-negative:0;
		flex-shrink:0;
		margin-right:4.34783%;
		max-width:336px;
		width:47.82609%;
	}
}

.greeting_profile {
	font-size:12px;
	font-family:"Noto Sans JP",sans-serif;
}

@media (min-width: 544px) and (max-width: 991px) {
	.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: 543px) {
	.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_txt {
	margin:0;
}

@media (max-width: 543px) {
	.contact_note {
		font-size:12px;
	}
}

@media (min-width: 544px) {
	.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;
}
