/* -------------------------------------------------
Menu
------------------------------------------------- */
.site-header .site-menu__list li a span {
	text-transform: uppercase;
}
@media screen and (min-width: 1250px) {
    .site-header__menu {
        padding: 0 260px 0 100px;
    }
	.site-header .site-menu__item {
		margin-right: 30px;
	}
}

@media screen and (min-width: 1151px) and (max-width: 1249px) {
	.site-header .site-menu__list li a {
		font-size: 13px ;
	}
}

/* -------------------------------------------------
Ticket
------------------------------------------------- */
@media screen and (min-width: 1250px) {
    .site-header .site-ticket-info__link {
		width: 200px;
	}
}
/* -------------------------------------------------
やさしい
------------------------------------------------- */
.sp-link-yasashii {
	display: flex;
    align-items: center;
    gap: 5px;
    position: absolute;
    top: 15px;
    right: 202px;
    height: 30px;
    padding: 5px 10px;
    background-color: #fff;
    border: 1px #555 solid;
    color: #555;
    z-index: 7;
}
@media screen and (max-width: 576px) {
	.sp-link-yasashii {
		position: fixed;
		top: auto;
		right: auto;
		bottom: 15px;
		left: 20px;	
	}
}
/* -------------------------------------------------
Language
------------------------------------------------- */
/* 
PC
------------------------------------------------- */
.site-lang .site-lang__container {
	height: 24px;
	position: relative;
	font-size: 12px;
}
.site-lang.--active .site-lang__container,
.site-lang .site-lang__container:hover,
.site-lang .site-lang__container:hover a {
	background: #fff;
	color: #000;
}
.site-lang .lang__subhead {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 24px;
	cursor: pointer;
}
.site-lang .site-lang__container .dropdown__lists {
	display: none;
	width: 100%;
	position: absolute;
	top: 24px;
	left: 0;
	visibility: hidden;
	opacity: 0;
	transition: all .3s;
}
.site-lang .site-lang__container .dropdown__lists a {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 5px 0;
}
.site-lang .site-lang__container .dropdown__lists a:hover {
	background: #0000ff;
	color: #fff;
}
.site-lang.--active .site-lang__container .dropdown__lists {
	display: block;
	visibility: visible;
	opacity: 1;
}

@media screen and (min-width: 1151px) {
	.site-header .link-yasashii {
		display: flex;
		align-items: center;
		justify-content: center;
		position: absolute;
		bottom: 10px;
		right: 120px;
		width: 100px;
		height: 24px;
		font-size: 11px;
	}
	.site-header .link-yasashii:hover {
		background-color: #fff;
		color: #000;
	}
	.site-header .link-yasashii:before {
		content: "";
		position: absolute;
		top: 50%;
		left: 0;
		-webkit-transform: translateY(-50%);
		transform: translateY(-50%);
		width: 1px;
		height: 14px;
		background: #333;
	}
	.site-header .site-lang {
		width: 100px;
	}
}

@media screen and (max-width: 768px) {
	.site-header .site-lang {
		height: auto;
	}
	.site-lang .site-lang__container {
		height: auto;
		font-size: 16px;
	}
	.site-lang .lang__subhead {
		height: auto;
		padding: 10px 0;
		font-size: 16px;
	}
	.site-lang .site-lang__container .dropdown__lists {
		height: auto;
		position: static;
	}
	.site-lang .site-lang__container .dropdown__lists a {
		padding: 10px 0;
	}
}

@media screen and (max-width: 1150px) {
	.site-header .link-yasashii {
		display: none;
	}
}

/**/

.sp-lang {
	display: flex;
	align-items: center;
	gap: 5px;
	position: absolute;
	top: 15px;
	right: 90px;
	height: 30px;
	padding: 5px 10px;
	background-color: #fff;
	border: 1px #555 solid;
	color: #555;
	z-index: 7;
}
.sp-lang svg {
	height: 16px;
}

@media screen and (max-width: 576px) {
	.sp-lang {
		position: fixed;
		top: auto;
		right: auto;
		bottom: 15px;
		left: 126px;
	}
}

@media screen and (max-width: 1040px) {
	.site-lang {
		display: none;
	}
}


.description {
    display: none;
    position: absolute;
    padding: 10px;
    font-size: 12px;
    line-height: 1.6em;
    color: #fff;
    border-radius: 5px;
    background: #555;
    width: 100%;
}
.description:before {
    content: "";
    position: absolute;
    top: -24px;
    right: 60%;
    border: 15px solid transparent;
    border-top: 15px solid #555;
    margin-left: -15px;
    transform: rotateZ(180deg);
}
.lang__subhead:hover .description {
    display: inline-block;
    top: 30px;
    left: 0px;
}
/* 
SP
------------------------------------------------- */

.sp-lang-area {
	display: none;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: fixed;
	z-index: 115;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background: #fff;
	color: #000;
	-webkit-transition: opacity .6s cubic-bezier(.19,1,.22,1);
	transition: opacity .6s cubic-bezier(.19,1,.22,1);
}
.sp-lang-area.--active {
	display: flex;
}
.sp-lang-area .sp-close {
	position: fixed;
	z-index: 115;
	right: 15px;
	top: 15px;
	width: 50px;
	height: 50px;
	border: 2px #555 solid;
	border-radius: 50%;
}
.sp-lang-area ul {
	width: 80%;
	padding: 30px;
}
.sp-lang-area ul	li {
	line-height: 2;
}
.sp-lang-area ul li		a {
	font-size: 3vh;
}
.sp-lang-area ul li span {
	display: block;
	margin-top: 15px;
	font-size: 2vh;
}
/* -------------------------------------------------
Set Tickets
------------------------------------------------- */
.top-info {
	@media screen and (max-width: 768px) {
		padding-bottom: 40px;
	}
}
/* -------------------------------------------------
Program
------------------------------------------------- */
.program .program-list .program-item .data .text,
.program .mod-tags .mod-tags__list .mod-tag > span {
	text-transform: capitalize;
}

.program-detail .prg_detail__meta .prg_detail__meta dl dt,
.program-detail .mod-tags .mod-tags__list .mod-tag > span,
.program-detail .mod-accessibility .mod-tag > span {
	text-transform: capitalize;	
}

/* -------------------------------------------------
Ticket
------------------------------------------------- */
.ticket .ticket__data-contents .ticket__program .data_body .prg_detail__meta dl dt {
	text-transform: capitalize;	
}
.ticket .ticket-settickets {
	max-width: 1920px;
	margin: auto;
	padding: 0 40px 0 40px;
	text-align: center;
	@media screen and (max-width: 768px) {
		padding: 20px 20px 0 20px;
	}
}
.ticket-settickets img {
	max-width: 100%;
	height: auto;
}
.ticket-settickets img:nth-of-type(1) {
	display: inline;
	@media screen and (max-width: 768px) {
		display: none;
	}
}
.ticket-settickets img:nth-of-type(2) {
	display: none;
	@media screen and (max-width: 768px) {
		display: inline;
	}
}
/* 
Set Ticket
------------------------------------------------- */
@media screen and (max-width: 768px) {
	.img[alt^="SET-TICKETS-PC"]{
		display: none;
	}
}
@media screen and (min-width: 769px) {
	.img[alt^="SET-TICKETS-SP"]{
		display: none;
	}
}

#set-ticket-title span {
		display: block;
		line-height: 2;
		font-size: 16px;	
}

#set-ticket-title + .mod-block__contents ul,
#set-ticket-price + .mod-block__contents ul {
	padding-left: 0;
}

#set-ticket-title + .mod-block__contents ul li,
#set-ticket-price + .mod-block__contents ul li {
	margin-bottom: 0.5em;
	font-size: 20px;
}

#set-ticket-title + .mod-block__contents ul li:before,
#set-ticket-price + .mod-block__contents ul li:before {
	display: none;
} 

#set-ticket-title + .mod-block__contents em {
		display: inline-block;
		text-decoration: underline;
		font-weight: normal;
		font-size: 20px;
}

#set-ticket-period + .mod-block__contents strong {
		display: inline-block;
		border-bottom: 1px #fff solid;
		font-weight: bold;
		font-size: 20px;
}

#set-ticket-period + .mod-block__contents em {
		display: inline-block;
		border-bottom: 1px #fff solid;
		font-weight: bold;
		font-size: 20px;
}

#set-ticket-price + .mod-block__contents ul li strong {
		background: none;
		color: #fff;
		font-size: 200%;
}

#set-ticket-price + .mod-block__contents ul li em {
				display: inline-block;
                transform: translate(1em, -7px) rotate(0deg);
				text-decoration: underline;
                line-height: 2;
                font-size: 20px;
}

@media screen and (max-width: 768px) {
	#set-ticket-price + .mod-block__contents ul li em {
		display: block;
		margin: 15px 0;
		font-size: 16px;
	}
}

#set-ticket-price ~ .mod-table .mod-table__scroll table tbody tr:nth-of-type(1) td {
		background-color: #ccc;
}
				

#set-ticket-price ~ .mod-table .mod-table__scroll table tbody tr:nth-of-type(2) td,
#set-ticket-price ~ .mod-table .mod-table__scroll table tbody tr:nth-of-type(3) td,
#set-ticket-price ~ .mod-table .mod-table__scroll table tbody tr:nth-of-type(4) td,
#set-ticket-price ~ .mod-table .mod-table__scroll table tbody tr:nth-of-type(5) td{
						color: #333;
}
#set-ticket-price ~ .mod-table .mod-table__scroll table tbody tr:nth-of-type(5) td {
	text-align: center;
	background-color: #f7f7f7;
}

#set-ticket-price ~ .mod-table .mod-table__scroll table tbody tr:nth-of-type(6) td {
						background-color: #00f;
						text-align: center;
						font-size: 240%;
						font-weight: bold;
						color: #fff;
}

@media screen and (max-width: 768px) {
	#set-ticket-price ~ .mod-table .mod-table__scroll table tbody tr td {
		font-size: 120%;
	}
}

@media screen and (max-width: 768px) {
	#set-ticket-price ~ .mod-table .mod-table__scroll table tbody tr:nth-of-type(6) td {
		font-size: 180% ;

	}
}
/* -------------------------------------------------
Set Tickets
------------------------------------------------- */
.home-settickets {
	max-width: 1920px;
	margin: auto;
	padding: 0 40px;
	text-align: center;
	@media screen and (max-width: 768px) {
		padding: 0 20px;
	}
}
.home-settickets img {
	max-width: 100%;
	height: auto;
}
.home-settickets img:nth-of-type(1) {
	display: inline;
	@media screen and (max-width: 768px) {
		display: none;
	}
}
.home-settickets img:nth-of-type(2) {
	display: none;
	@media screen and (max-width: 768px) {
		display: inline;
	}
}
/* -------------------------------------------------
Tour to Discover
------------------------------------------------- */
@media screen and (max-width: 768px) {
	.img[alt*="Tour-to-DISCOVER-PC"]{
		display: none;
	}
}
@media screen and (min-width: 769px) {
	.img[alt*="Tour-to-DISCOVER-SP"]{
		display: none;
	}
}

.mod-heading3 + .mod-wysiwyg.mod-block__contents ul.tour-lang {
	padding-top: 20px;
}
ul.tour-lang {
	display: flex;
	gap: 15px;
	padding-left: 0;
}
ul.tour-lang li {
	padding: 0.25em 2em;
	border-radius: calc(1px / 0);
	background-color: #fff;
	font-size: 18px;
	color: #000;
}
ul.tour-lang li:before {
	display: none;
}
@media screen and (max-width: 768px) {
	ul.tour-lang {
		gap: 10px;
	}
	ul.tour-lang li {
		padding: 0.15em 1em;
		font-size: 16px;
	}
}
/* -------------------------------------------------
Footer
------------------------------------------------- */
.mail__block > div > div > div > div > fieldset:last-of-type > div {
	border-radius: 80px !important;
    width: auto;
	min-width: 80px;
    color: #fff !important;
    background: #333 !important;
}
@media (max-width: 576px) {
	.site-footer__contents {
		padding-bottom: 60px;
	}
}
/* -------------------------------------------------
やさしい日本語
------------------------------------------------- */
.yasashii {
	@media screen and (max-width: 1080px) {
		.site-header .site-menu__list li a:hover span {
			color: #fff !important;
		}	
	}
	@media screen and (max-width: 768px) {
		.site-header .site-menu__list li a:hover span {
			color: #000 !important;
		}	
	}
	.mod-button.return a span {
		color: #fff !important;
	}
	.mod-button.return a:hover span {
		color: #000 !important;
	}
	.site-footer .footer-site-logo img {
		filter: invert(100%);
	}
	.site-footer .mail__block #_mce_caret span, .site-footer .mail__block div input[type="text"]{
		border: 1px #000 solid;
	}
	.mod-wysiwyg p {
		line-height: 3;
	}
	.mod-heading2, 
	.mod-wysiwyg h2 {
		line-height: 3;
	}
	.mod-wysiwyg h3,
	.mod-heading3 {
		font-size: calc(24px * 1.1);
		line-height: calc(42px * 1.1);
	}
	.mod-wysiwyg.mod-block__contents *:not(rp,rt) {
		font-size: calc(16px * 1.1);
	}
	.mod-article.mod-block {
		font-family: メイリオ, Meiryo, sans-serif;
	}
	rt {
		margin-bottom: 5px;
		translate: 0 -.5em;
		font-size: 10px;
	}
	@-moz-document url-prefix() {
		rt {
			position: relative;
			top: -.5em;
		}
	}
	#introduction-programs ~ .mod-heading3 {
		cursor: pointer;
		position: relative; /* 子要素に対して相対位置を設定 */
		padding-right: 60px;
	}
	#introduction-programs ~ .mod-heading3:hover {
		text-decoration: underline;
	}
	#introduction-programs ~ .mod-heading3::after {
		content: "";
		position: absolute;
		top: 50%;
		right: 10px;
		transform: translateY(-50%);
		border-top: 15px solid transparent;
		border-left: 15px solid #fff;
		border-bottom: 15px solid transparent;
		transition-duration: 0.5s;
	}
	#introduction-programs ~ .mod-heading3.--open::after {
		transform: rotate(90deg);
		top: calc(50% - 15px);
	}
	@media screen and (max-width: 768px) {
		#introduction-programs ~ .mod-heading3::after {
			border-top: 10px solid transparent;
			border-left: 10px solid #fff;
			border-bottom: 10px solid transparent;
		}
		#introduction-programs ~ .mod-heading3.--open::after {
			top: calc(50% - 10px);
		}
	}
	#introduction-programs ~ .mod-block__contents {
		max-height: 0;
		transition-duration: 0.5s;
		overflow-y: hidden;
		margin-bottom: 40px;
	}
	#introduction-programs ~ .mod-block__contents.--open {
		max-height: 1000vh;
		margin-bottom: 80px;
	}
}

