@charset "utf-8";

/* components
============================== */

.red{
    color: #ffdb56;
}
.center	{ text-align: center; }
.bold	{ font-weight: 600; }
.btn {
	max-width: 400px;
	padding: 1em 0;
	margin: 0 auto;
	text-align: center;
}
.btn a{
    background: #000;
    color: #fff;
    border: 1px solid #000;
    padding: 15px;
    width: 300px;
    border-radius: 999px;
    font-size: 14px;
}
.btn--main,
.btn--sub {
	color: inherit;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.05em;
	-webkit-appearance: none;
	display: inline-block;
	min-width: 200px;
	text-align: center;
	text-decoration: none;
	cursor: pointer;
	border-radius: 120px;
    line-height: 1.5em;
    padding: 12px 1.5em;
}
.btn--main {
	color: #fff;
	border: none;
	background: #000000;
}
.btn--sub {
	background: transparent;
	color: #000000;
	border: 1px solid #000000;
}
.btn--chevron {
	display: inline-block;
	background: transparent;
	color: #000000;
	position: relative;
	text-decoration: none;
}
.btn--chevron::after {
	display: block;
	content: '';
	display: inline-block;
	width: .5em;
	height: .5em;
	border: 0.5px solid #000000;
	border-top: none;
	border-right: none;
	margin: -0.25em 0 0;
	position: absolute;
	right: -0.75em;
	top: 50%;
	-webkit-transform: rotate(-135deg);
	transform: rotate(-135deg);
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
.ph {
    line-height: 0;
    margin: 0;
}
.block--base {position: relative;}
.block--gray {
    background:#054463;
    padding: 20px;
    margin: 20px 0;
}
.txt {
    margin: 0 0 1em;
    line-height: 1.5;
    font-size: 14px;
    font-weight: 500;
}
.txt--sub {font-size: .8em;}
.txt--lead {margin: 0 0 50px; font-size: 16px;}
.section-tit {
	font-size: 2.5em;
	text-align: center;
	font-weight: 500;
	position: relative;
	transition: padding .3s ease;
	-webkit-transition: padding .3s ease;
}
.link{
text-decoration: underline!important;
    text-align: center;
    display: block;
    font-weight: bold;
}

.section-tit span.ph--member{
line-height: 1;
display: inline-block;
padding: 15px 0 0;
}

.section-tit.en {
	font-size: 5em;
	letter-spacing: -0.01em;
	font-weight: bold;
}
.section--base {
	border-top: 3px solid;
	position: relative;
	transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
.section--base:last-of-type {border-bottom: 3px solid;}
.section--before .area--detail,
.section--before .section-tit{opacity: .3;}
.block-tit,
.area-tit {
    color: inherit;
    font-size: 20px;
    font-weight: 500;
    line-height: 1.5;
    letter-spacing: 0.06em;
    padding-bottom: 20px;
    position: relative;
}
.tit--label {
	display: inline-block;
	font-weight: normal;
	margin-bottom: 10px;
	font-size: 11px;
	background: #f5f5f5;
	border: 1px solid ;
	padding: 2px 10px;
	line-height: 1.2;
}
.list--indent {margin: 0 0 30px;}
.list--indent li {
	text-indent: -0.5em;
	padding-left: 0.5em;
	margin-bottom: 5px;
	line-height: 1.5em;
}
.list--attention > li {
	position: relative;
	margin-bottom: 10px;
	padding-left: 1.5em;
	line-height: 1.5;
}
.list--attention > li:last-of-type {margin-bottom: 0;}
.list--attention > li::before {
	content: "\f00c";
	color: #888;
	font-family: FontAwesome;
	font-size: 0.8em;
	font-weight: normal;
	position: absolute;
	left: 0;
	top: 0.1em;
}
.list--horizontal > dt {width: 8em; padding-top: 20px; position: relative;}
.list--horizontal > dt:first-of-type,
.list--horizontal > dd:first-of-type {border-top: 1px solid #ccc;}
.list--horizontal > dd {border-bottom: 1px solid #ccc; padding: 20px 0 20px 8em;}
.list--horizontal .switch + dd {
	display: none;
	padding-top: 20px;
	-webkit-transition: none;
	transition: none;
}
.list--one-line li {
	border-bottom: 1px solid #ccc;
	position: relative;
}
.list--one-line li:first-of-type {border-top: 1px solid #ccc;}
.list--one-line .tit {
	font-weight: bold;
	padding: 25px 2em 10px 0;
}
.list--one-line .tit.switch {
	cursor: pointer;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	padding-bottom: 25px;
}
.list--one-line .tit + div {
	padding-bottom: 25px;
}
.list--one-line .tit.switch + div {
	display: none;
	padding-bottom: 25px;
}

/* switch */
.switch {
	position: relative;
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	cursor: pointer;
}
.switch::after {
	content: '';
	width: 1em;
	height: 1em;
	border: 0.5px solid #000000;
	border-top: none;
	border-right: none;
	margin: -0.25em 0 0;
	position: absolute;
	right: 3px;
	top: 50%;
	-webkit-transform: rotate(-45deg) translateY(-50%);
	transform: rotate(-45deg) translateY(-50%);
	-webkit-transition: all 0.3s ease;
	transition: all 0.3s ease;
	cursor: pointer;
	pointer-events: none;
}
.switch.switch--visible::after {
	-webkit-transform: rotate(135deg) translateY(-50%);
	transform: rotate(135deg) translateY(-50%);
	right: 10px;
}
.switch-trigger:not(.visible) { cursor: pointer;}
.section-tit > .switch{
	width: 50px;
	height: 50px;
	position: absolute;
	top: 50%;
	right: 5vw;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
}
.section-tit > .switch::after{
    border: 3px solid #000000;
    border-top: none;
    border-right: none;
    margin: -0.2em 0 0;
    width: 16px;
    height: 16px;
}
.section-tit > .switch.switch--visible::after { right: 15px; margin: 0;}


.link--base { text-decoration: none; font-weight: bold;}

.link--base::after {display: inline-block; position: relative;}
.link--page::after {
	content: '';
    border: 1px solid #000000;
    border-top: none;
    border-right: none;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    width: 10px;
    height: 10px;
    right: -13px;
    top: -4px;
}
.link--external::after {
	content: "\f08e";
	font-family: 'FontAwesome';
	margin: 0 0 0 5px;
}
.anchor-pos {
	position: absolute;
	top: -25px;
}

/* topPage
============================== */
/* scroll */
.scroll{
	width: 100%;
	height:5vh;
	text-align: center;
	position: fixed;
	bottom: 0;
	left: 0%;
	z-index: 1;
	transition: all .3s ease;
	pointer-events: none;
}
.scroll:after{
	content:" ";
	display: block;
	width: 3px;
	height: 0;
	position: absolute;
	content: "";
	top: 0;
	left: 50%;
	background: #000;
	animation: scroll 1.2s linear 0s infinite;
}
body.scrolled .scroll {opacity: 0;}
@keyframes scroll {
	0% { height:0%; top: 0; bottom:auto }
	40% { height: 100%; top: 0; bottom: auto }
	45% { height: 100%; bottom: 0px; top: auto }
	50% { height: 100%; bottom: 0px; top: auto }
	90% { height: 0%; bottom: 0px; top: auto }
	0% { height:0%; top: 0; bottom:auto }
}

.section--hero {
	text-align: center;
	height: 100vh;
	display: flex;
	display: webkit-flex;
	justify-content: center;
	align-items: center;
}
.section--hero .tour-tit {
	line-height: 0;
	margin: 0 0 40px;
	width: 50vw;
}
.section--hero .tit--hall {
    margin: -10px 0 10px;
    position: relative;
    font-size: 16px;
    letter-spacing: -0.01em;
    font-weight: bold;
    text-align: right;
    text-align: left;
    line-height: 2.5em;
}
.section--hero .tit--hall span{
    background: #fff;
    position: relative;
    z-index: 1;
    padding-right: 10px;
}
.section--hero .tit--hall::after {
	content:'';
	width: 100%;
	height: 1px;
	background: #000;
	position: absolute;
	right: 0;
	top: 1.25em;
}
.section--hero .lead {
    margin: 0 0 50px;
    font-size: 42px;
    font-size: 2.5vw;
    font-weight: bold;
    line-height: 1.6;
}
.section--hero .lead--img img{
	height: 32px;
	margin: 0 5px;
}
.section--hero .list--topicsL {margin: 0 0 40px;}
.section--hero .list--topicsL li + li{ margin-top:10px;}
.section--hero .list--topicsL li a {
    display: block;
    text-align: left;
    background: #000;
    color: #fff;
    padding: 20px 30px;
    font-weight: normal;
    position: relative;
}
.section--hero .list--topicsL li a::after {
    border-bottom: 2px solid #fff;
    border-left: 2px solid #fff;
    position: absolute;
    right: 4%;
    top: 50%;
    -webkit-transform: translateY(-50%) rotate(-45deg);
    transform: translateY(-50%) rotate(-45deg);
    width: 1em;
    height: 1em;
}
.section--hero .list--topicsL .link__txt dt {
    font-size: 18px;
    margin: 0 0 10px;
}
.section--hero .list--topicsL .link__txt dd {font-size: 12px;}
.section--hero .list--topicsL .link__txt dd:not(:last-child) {margin: 0 0 5px;}
.section--hero .list--topicsL .link__txt dd::before {
    content: '―';
    position: relative;
    top: -2px;
    transform: scaleX(.5);
    display: inline-block;
    transform-origin: left;
}
.section--hero .list--topics li + li {margin-top: 15px;}

.section--schedule .list--schedule {width: 100%;}
.section--schedule .list--schedule td,
.section--schedule .list--schedule th {
	font-size: 13px;
	padding: 15px 15px 15px 0;
	border-bottom: 1px solid #ccc;
}
.section--schedule .list--schedule th {
	font-weight: normal;
	font-size: 10px;
	padding-bottom: 10px;
}
.section--schedule .list--schedule th span {
	display: inline-block;
	line-height: 1.6;
	color: #aaa;
}
.section--schedule .list--schedule td.date {min-width: 150px;}
.section--schedule .list--schedule .date {display: table-cell;}
.section--schedule .list--schedule .area {min-width: 70px;}
.section--schedule .list--schedule .time {min-width: 100px;}
.section--schedule .list--schedule .info {padding-right: 0; font-size: 11px; line-height: 1.5;}
.section--schedule p {
	color: inherit;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.05em;
	margin-bottom: 20px;
}
.section--ticket .block--base:not(:last-of-type) { padding-bottom: 80px;}
.section--ticket .box--base { border: 1px solid #000; margin: 0 0 15px; position: relative;}
.section--ticket .box--base:last-of-type { margin: 0 0 20px;}
.section--ticket .box--base.status--after { background: #ddd;}
.section--ticket .box--base.status--after > *{opacity: .5;}
.section--ticket .box--base.status--after > dt {opacity: 1;}
.section--ticket .box--base.status--after{border-color: rgba(0,0,0,0.25);}
.section--ticket .box--base.status--after dd.txt--after{
    display: block;
    opacity: 1;
    z-index: 1;
    font-weight: bold;
    padding-bottom: 0;
}
.section--ticket .box--base dt { clear: left; float: left; padding: 15px; }
.section--ticket .box--base dd { padding: 15px 15px 15px 15em; }
.section--ticket .box--base dd.txt--after {display: none;}
.section--ticket .box--base .tokuten { padding-top: 0; }
.section--ticket .tokuten li {
    margin: 12px 0;
    padding: 0 0 0 4.25em;
    position: relative;
    line-height: 1.5;
}
.section--ticket .tokuten li:first-child {padding: 0;}
.section--ticket .tokuten .tit { font-weight: bold; margin: 20px 0 0 ;}
.section--ticket .tokuten .tit--label {
    width: 4em;
    text-align: center;
    padding: 2px 5px;
    position: absolute;
    left: 0;
    top: 1px;
}
.section--ticket .tokuten > li .txt--sub {display: block; margin: 3px 0 0 ;}
.section--ticket .block--ticket-kinds dl dd:not(:last-of-type) { margin-bottom: 25px;}
.section--ticket .block--table {border: 1px solid #ccc; border-bottom: none;margin-top: 25px;}
.section--ticket .block--table th { border-right: 1px solid #ccc; background: #f5f5f5;}
.section--ticket .block--table th,
.section--ticket .block--table td {padding: 10px 20px; border-bottom: 1px solid #ccc;}
.section--ticket .reception-box--base { border: 1px solid #111; padding: 40px; position: relative;}
.section--ticket .reception-box--base + .reception-box--base{ margin-top: 30px;}
.section--ticket .reception-box--base .box-tit {font-size: 30px;}
.section--ticket .reception-box--playguide .btn {margin-top: 20px;}
.section--ticket .reception-box--base.status--after {border-color: #ccc;}
.section--ticket .reception-box--base.status--after .box-tit {margin: 0;}
.section--ticket .reception-box--base.status--after .box-tit::before,
.section--ticket .reception-box--base.reception-box--playguide .status--after .tit::before {
    content: '受付終了';
    background: #000;
    color: #fff;
    font-size: 13px;
    padding: 7px 15px;
    margin-right: 15px;
    position: relative;
    top: -5px;
}
.section--ticket .reception-box--base.status--after .box-tit::after {
    width: .5em;
    height: .5em;
    margin: -0.2em 0 0;
}
.section--ticket .reception-box--base.status--after .box-tit span{opacity: .3;}
.section--ticket .reception-box--base.status--after .box-tit + div {display: none;}
.section--ticket .reception-box--base .reception-box__detail {padding-top: 40px;}
.section--ticket .block--term {
	font-size: 18px;
	line-height: 60px;
	font-weight: bold;
	border: 1px solid #ccc;
}
.section--ticket .block--term dt {
	width: 170px;
	float: left;
	text-align: center;
	border-right: 1px solid #ccc;
	background: #f5f5f5;
}
.section--ticket .block--term dd {
	z-index: 1;
	position: relative;
	padding: 0 0 0 190px;
	border-top: 1px solid #ccc;
}
.section--ticket .block--term dd:first-of-type {border-top: none;}

.section--ticket .list--order { width: 100%; margin-bottom: 50px;}
.section--ticket .list--order td,
.section--ticket .list--order th {
	font-size: 13px;
	padding: 15px 15px 15px 0;
	border-bottom: 1px solid #ccc;
	text-align: center;
}
.section--ticket .list--order th {
	color: #fff;
	font-size: 11px;
	font-weight: normal;
	line-height: 1.4;
	padding-bottom: 10px;
}
.section--ticket .list--order th span {
	display: inline-block;
	line-height: 1.6;
	color: #aaa;
}
.section--ticket .list--order th.order { text-align: center;}
.section--ticket .list--order th.entry-detail { padding-left: 6%;}
.section--ticket .list--order tr:nth-of-type(even) {background: #f5f5f5;}
.section--ticket .list--order td.order {
	color: #000;
	font-weight: 600;
	text-align: center;
	position: relative;
}
.section--ticket .list--horizontal > dd:last-of-type {border-bottom: none;}
.section--ticket .reception-box--playguide .status--after .tit span{opacity: .3;}
.section--ticket .reception-box--playguide .list--one-line .tit--label {margin-bottom: 5px;}
.section--ticket .reception-box--playguide .list--one-line dt {margin: 20px 0 0;}
.section--ticket .reception-box--base.reception-box--playguide .status--after .tit::before {
    font-size: 10px;
    padding: 5px 15px;
    top: 0px;
    font-weight: normal;
}

.section--ticket-issuing .block--gray ul li::before{ content:'・ ';}
.section--ticket-issuing .list--horizontal dl {
    margin-bottom: 20px;
    border-bottom: 1px dotted #ccc;
    padding-bottom: 17px;
}
.section--ticket-contact dd:not(:last-of-type) {margin-bottom: 20px;}
.section--trade .btn {margin: 20px auto 0;}
.section--trade .list--trade {margin-top: 40px;}
.section--trade .list--trade table {width: 100%;}
.section--trade .list--trade .tit {
	font-size: 20px;
	padding-left: 0;
	padding-bottom: 0;
}
.section--trade .list--trade th {
	font-size: 10px;
	padding: 15px 15px 15px 0;
	border-bottom: 1px solid #ccc;
	font-weight: normal;
}
.section--trade .list--trade th span {
	display: inline-block;
	color: #aaa;
	line-height: 1.6;
}
.section--trade .list--trade td {
	font-size: 12px;
	padding: 15px 15px 15px 0;
	border-bottom: 0.5px solid #ccc;
}
.section--trade .list--trade td.order { font-size: 16px; font-weight: bold;}
.section--challenge { background: #000; color: #fff;}
.section--challenge .link--page a {color: #fff; text-decoration: none;}
.section--challenge .link--page::after {border-color: #fff;}
.section--challenge .section-tit > .switch::after {border-color: #fff;}
.section--challenge .ph { text-align: center;}
.section--challenge .btn {margin-top: 20px; background: #000; color: #fff;}
.section--special .block--present {margin-top: 30px;}


/* entry-page
============================== */
body:not(.page--home) section.section--detail {
    margin: 50px auto;
    width: 90%;
    max-width: 1000px;
    border-radius: 0;
    padding: 40px;
    box-sizing: border-box;
    background: #003149;
    color: #fff;
    border: 5px solid #3A6376;
    box-shadow: 3px 3px #3A6376;
    -webkit-box-shadow: 3px 3px #3A6376;
        border-radius: 20px;
}
body:not(.page--home) section.section--detail .fs-small {
    color: inherit;
    font-size: 12px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0em;
}
body:not(.page--home) section.section--detail .fa-arrow-right {font-weight: normal; margin-right: 5px;}
body:not(.page--home) section.section--detail .list--horizontal{ margin: 0 0 15px;}
body:not(.page--home) section.section--detail .list--horizontal > dd > .tit {
	font-size: 16px;
	margin: 0 0 15px;
}
body:not(.page--home) section.section--detail .list--attention .block--gray {font-size: 12px;}
body:not(.page--home) section.section--detail .list--attention .block--gray .list--indent {margin: 0;}
body:not(.page--home) section.section--detail .area--step > ul > li {
    border: 1px solid #fff;
    padding: 40px;
}
body:not(.page--home) section.section--detail .area--step > ul > li + li{ margin-top: 30px;}
body:not(.page--home) section.section--detail .area--step > ul > li > .tit {
    font-size: 15px;
    font-weight: bold;
    margin: 0 0 14px;
}
body:not(.page--home) section.section--detail .area--step > ul > li .list--indent {margin: 0;}

body:not(.page--home) section.section--detail .tit{
        font-size: 15px;
        margin: 0 0 10px 0;
}


/* popup */
.popup__bg{
	z-index: 2;
	position: fixed;
	top:0;
	left:0;
	bottom:0;
	right:0;
	width: 100%;
	background: rgba(0,0,0,0.7);
}
.block--popup {
    z-index: 3;
    position: fixed;
    width: 500px;
    background: #fff;
    padding: 20px 0;
    border-radius: 6px;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%,-50%);
    -moz-transform: translate(-50%,-50%);
    transform: translate(-50%,-50%);
}
.block--popup > .tit {
    font-weight: bold;
    font-size: 22px;
    text-align: center;
    height: 60px;
    line-height: 60px;
    opacity: 0;
    transition: all .3s ease;
	-webkit-transition: all .3s ease;
}
.block--popup > .tit {

}
#block--popup:has(#slick-slide010.slick-active) .tit,
#block--popup:has(#slick-slide013.slick-active) .tit{
	opacity: 0;
}


.block--popup.popup--start > .tit {opacity: 1;}
.block--popup .block--you {
    position: absolute;
    top: 44px;
    right: 0;
    padding-right: 15px;
    font-size: 11px;
    line-height: 2em;
    background: #fff;
    display: block;
    z-index: 1;
}
.block--popup .block--you img {
    width: 13px;
    position: relative;
    top: 4px;
    margin: 0 3px 0 0;
}
.block--popup .box{
	height: 365px;
	font-size: 15px;
	padding: 0 30px;
}
.block--popup .lead{
    font-size: 22px;
    margin: 0 0 25px;
    text-align: center;
    font-weight: bold;
}
.block--popup .slide--case {text-align: center;}
.block--popup .slide--case .lead{ background: linear-gradient(transparent 60%, #c7ff3c 60%); display: inline-block;}
.block--popup .slide--cover .logo{width: 180px; margin: 0 auto 20px;}
.block--popup .slide--cover .lead {color: #ec453b;}
.block--popup .lead span {
    color: #000;
    background: linear-gradient(transparent 60%, #c7ff3c 60%);
    display: inline-block;
    margin: 0 0 20px;
    font-size: 1.5em;
    font-weight: 900;
    letter-spacing: 0.05em;
    font-family: "futura-pt", sans-serif;
}
.block--popup .case__numb {
	margin: 5px 0 20px;
    font-weight: bold;
    font-size: 14px;
}
.case__list {margin: 0 0 20px;}
.case__list > li {position: relative;}
.case__list > li > div {
    display: flex;
    display: webkit-flex;
    align-items: center;
    background: #f5f5f5;
    padding: 10px 20px;
    position: relative;
}
.case__list > li + li { margin-top: 40px;}
.case__list > li + li::before,
.case__list > li + li::after{
    content: '';
    background: #000;
    width: 20px;
    height: 4px;
    position: absolute;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    top: -20px;
}
.case__list > li + li::after {
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
    margin-left: -10px;
}
.case__list > li .ph {
	float: left;
	width: 30%;
	text-align: center;
}
.case__list > li .ph span{
    width: 40px;
    display: inline-block;
    margin: 0 9px;
}
.case__list > li .ph span::after{
    display: block;
    font-size: 11px;
    line-height: 1em;
    margin-top: 6px;
}

.case__list > li .ph .ph--entry::after {content:'申込者';}

.case__list > li .ph .ph--accompany::after {content:'同行者';}
.case__list > li .txt {
    float: left;
    width: 70%;
    margin: 0;
    padding: 0 0 0 15px;
    text-align: left;
    font-weight: bold;
}
.case__list.codeArea{

}
.case__list.codeArea > li .ph{
    width: 55%;
}
.case__list.codeArea > li .ph span{
    position: relative;
    width: 65px;
    margin: 0 9px 15px;
}
.case__list.codeArea > li .ph span img {
    display: block;
    width: 80%;
    margin: auto;
}
.case__list.codeArea > li .ph span .code{
    position: absolute;
    bottom: -10px;
    left: 50%;
    transform: translate(-50%, 0);
    -webkit-transform: translate(-50%, 0);
    -ms-transform: translate(-50%, 0);
    width: 100%;
    font-size: 10px;
    display: block;
    margin: 0;
    letter-spacing: 0;
}
.case__list > li .subTit{
    font-size: 12px;
    font-weight: bold;
    margin: 0 0 5px 0;
}
.block--popup .slide--last .lead span {margin-bottom: 40px;}
.block--popup .slide--last .txt {color: #ec453b;font-weight: bold;}

.block--popup .slick-dots button{
	-webkit-appearance: none;
	padding:0;
	margin: 0;
	width: 8px;
	height: 8px;
	background: #ccc;
	text-indent: 100%;
	white-space: nowrap;
	overflow: hidden;
	border-radius: 10px;
	border: none;
	outline: 0;
}
.block--popup .slick-dots{margin-top: 10px;text-align: center;}
.block--popup .slick-dots li{display: inline-block;margin: 0 4px;}
.block--popup .slick-dots .slick-active button{background: #000;}

.block--popup .slick-list {
    overflow-y: initial;
}
.slick-slide {
    aspect-ratio: initial!important;
}
/* Slideshow
============================== */

* {box-sizing:border-box}

/* Slideshow container */
.slideshow-container {
  max-width: 1000px;
  position: relative;
  margin: auto;
}

/* Hide the images by default */
.mySlides {
    display: none;
}

/* Next & previous buttons */
.prev, .next {
  cursor: pointer;
  position: absolute;
  top: 50%;
  width: auto;
  margin-top: -22px;
  padding: 16px;
  color: white;
  font-weight: bold;
  font-size: 18px;
  transition: 0.6s ease;
  border-radius: 0 3px 3px 0;
}

/* Position the "next button" to the right */
.next {
  right: 0;
  border-radius: 3px 0 0 3px;
}

/* On hover, add a black background color with a little bit see-through */
.prev:hover, .next:hover {
  background-color: rgba(0,0,0,0.8);
}

/* Caption text */
.text {
  color: #f2f2f2;
  font-size: 15px;
  padding: 8px 12px;
  position: absolute;
  bottom: 8px;
  width: 100%;
  text-align: center;
}

/* Number text (1/3 etc) */
.numbertext {
  color: #f2f2f2;
  font-size: 12px;
  padding: 8px 12px;
  position: absolute;
  top: 0;
}

/* The dots/bullets/indicators */
.dot {
  cursor: pointer;
  height: 15px;
  width: 15px;
  margin: 0 2px;
  background-color: #bbb;
  border-radius: 50%;
  display: inline-block;
  transition: background-color 0.6s ease;
}

.active, .dot:hover {
  background-color: #717171;
}

/* Fading animation */
.fade {
  -webkit-animation-name: fade;
  -webkit-animation-duration: 1.5s;
  animation-name: fade;
  animation-duration: 1.5s;
}

@-webkit-keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}

@keyframes fade {
  from {opacity: .4}
  to {opacity: 1}
}


/* slider-wrapper
============================== */

.slider-wrapper {
  width: 600px;
  padding: 5px;
  overflow-x: auto;
  overflow-y: hidden;
  background: #CCC;
}

.slider {
  width: 850px;
  -webkit-overflow-scrolling: touch;
}

.slider > * {
  -webkit-transform: translateZ(0px);
}

.slider-wrapper::-webkit-scrollbar {
  display: none;
  height: 0 !important;
}

.unit {
  float: left;
  width: 150px;
  margin: 0 0 0 5px;
  border: 1px solid #DDDDDD;
  background: #EFEFEF;
}

.unit:first-child {
  margin: 0;
}

.unit .img {
  text-align: center;
}



.area--base .block--term {
	font-size: 18px;
	line-height: 60px;
	font-weight: bold;
	border: 1px solid #ccc;
	margin: 0 auto 20px;
}
.area--base .block--term dt {
	width: 170px;
	float: left;
	text-align: center;
	border-right: 1px solid #ccc;
	background: #f5f5f5;
}
.area--base .block--term dd {
	z-index: 1;
	position: relative;
	padding: 0 0 0 190px;
	border-top: 1px solid #ccc;
}
.area--base .block--term dd:first-of-type {border-top: none;}


.area--base .subTxt {
text-align: center;
margin: 0 auto 30px;
font-size: 16px;
}



.area--base .block--term.multiRow dt {
color: #000;
}
.btn--chevron {
color: #fff;
}
.btn--chevron::after {
border: 0.5px solid #fff;
border-top: none;
border-right: none;
}
.btn--main {
color: #000;
background: #fff;
}
.btn--sub {
color: #fff;
border: 1px solid #fff;
}
.section--detail .area--step > ul > li {
border: 1px solid #666;
}
a { color: #fff;}

.block--popup {
color: #000;
}
.block--popup a.btn--main {
background-color: #000;
color: #fff;
}

.block--popup .lead span,
.block--popup .slide--case .lead {
background: linear-gradient(transparent 60%, #e2ba3e 60%);
}
.area--base .block--term.multiRow {
display: flex;
flex-wrap: wrap;
}
.area--base .block--term.multiRow dt {
border-top: 1px solid #ccc;
padding: 15px 20px;
line-height: 1.8;
}
.area--base .block--term.multiRow dt:first-of-type {
border-top: none;
}
.area--base .block--term.multiRow dd {
width: calc(100% - 170px);
padding: 15px 20px;
line-height: 1.8;
}


.ticketAccordion dd .txtBoxWrap h4 {
font-size: 18px;
font-weight: bold;
margin-bottom: 15px;
text-align: center;
}
.ticketAccordion dd .txtBoxWrap .txtBox {

    padding: 20px;
    margin-bottom: 40px;
}
.ticketAccordion dd .txtBoxWrap .txtBox h5 {
font-size: 16px;
font-weight: bold;
text-align: center;
}
.ticketAccordion dd .txtBoxWrap .txtBox .btn + h5 {
margin-top: 20px;
}
.ticketAccordion dd .txtBoxWrap .txtBox p {
margin-bottom: 15px;
text-align: center;
}
.ticketAccordion dd .txtBoxWrap .txtBox p strong {
color: #f49d44;
}
.ticketAccordion dd .txtBoxWrap .txtBox .btn{
    padding: 0;
}
.ticketAccordion dd .txtBoxWrap .txtBox .btn a{
    margin: 0 auto;
}
.ticketAccordion dd .txtBoxWrap .txtBox .btn.btnSub a{
    border: 1px solid #000;
    background: #fff;
    color: #000;
    margin: 0 auto 15px;
}
.ticketAccordion dd .dateList .txtBoxWrap {
width: calc(100% - 140px);
}
.ticketAccordion dd .dateList .txtBoxWrap h6 {
font-size: 18px;
color: yellow;
margin-bottom: 10px;
}
.ticketAccordion dd .dateList .txtBoxWrap p {
width: 100%;
text-align: left;
font-size: 14px;
}
.ticketAccordion dd .dateList .txtBoxWrap p strong {
font-weight: bold;
}




h2.pageTitle {
text-align: center;
    font-size: 32px;
    font-weight: bold;
    margin-bottom: 30px;
    line-height: 1.5;
}

.ticketAccordion {
	border: solid 2px;
    margin-bottom: 40px;
}
.ticketAccordion dt {
	padding: 30px 80px 30px 50px;
	font-size: 24px;
	font-weight: bold;
	position: relative;
	cursor: pointer;
    line-height: 1.5;
}
.ticketAccordion dt::after {
	content: "";
	display: block;
	width: 20px;
	height: 20px;
	border-right: #fff solid 2px;
	border-bottom: #fff solid 2px;
	position: absolute;
	top: 45%;
	right: 40px;
	transform: translateY(-50%) rotate(45deg);
	transition: all 0.3s ease-out;
}
.ticketAccordion dt.open::after {
	top: 50%;
	transform: translateY(-50%) rotate(-135deg);
}

.ticketAccordion.end dt {

}
.ticketAccordion.end dt::before {
	content: "受付終了";
    margin-right: 15px;
    font-size: 14px;
	display: inline-block;
}
.ticketAccordion.end dt::after {
	border-right: #fff solid 2px;
	border-bottom: #fff solid 2px;
}

.ticketAccordion dd {
	padding: 30px 50px;
	font-size: 14px;
	line-height: 2;
	display: none;
}
.ticketAccordion dd h4 {
	font-size: 20px;
	margin-bottom: 20px;
}



.dateList {
	margin-bottom: 60px;
}
.dateList li {
	display: flex;
	justify-content: space-between;
	font-size: 16px;
	padding: 20px 0;
	border-bottom: #fff solid 1px;
}
.dateList li h5 {
    width: 150px;
    font-weight: bold;
    font-size: 15px;
    line-height: 1.5;
}
.ticketAccordion dd .dateList > li .box {
	width: calc(100% - 170px);
}
.ticketAccordion dd .dateList > li p{
	margin: 0;
    font-size: 14px;
}
.ticketAccordion dd .dateList > li .box .attentionList{
    margin: 0 0 20px 0;
}
.ticketAccordion dd .dateList > li .box .attentionList li{
    border: none;
    font-size: 13px;
    padding: 0;
}
.ticketAccordion dd .dateList > li .box .attentionList li.picup {
    background: rgba(255,255,255,0.1);
    text-indent: -1em;
    margin: 0 0 10px 0;
    padding: 15px 15px 15px 25px;
}

.ticketAccordion dd .contBox {
	padding-bottom: 30px;
	margin-bottom: 60px;
	border-bottom: #fff solid 1px;
}
.ticketAccordion dd p {
	margin-bottom: 30px;
}
.ticketAccordion dd p a {
	font-size: 16px;
	text-decoration: underline;
}
.ticketAccordion dd p a:hover {
	text-decoration: none;
}

.ticketAccordion dd .news {
	padding-bottom: 30px;
    border-bottom: #fff solid 1px;
}
.ticketAccordion dd .news p {
	margin-bottom: 20px;
}

.ticketAccordion dd .entrybtn {
	max-width: 320px;
	margin: 0 auto;
}
.ticketAccordion dd .entrybtn a {
	display: block;
	background-color: #fff;
	padding: 15px;
	text-align: center;
	color: #000;
	text-decoration: none;
	font-size: 20px;
	font-weight: bold;		
}
.ticketAccordion dd p .btn a {
	font-size: 13px;
	text-decoration: none;
}

.status {
	border: #ccc solid 1px;
	width: 100%;
	text-align: center;
	vertical-align: center;
	margin-bottom: 60px;
}
.status td {
	border: #ccc solid 1px;
	padding: 15px;
	font-size: 14px;
	background-color: rgba(0,0,0,0.5);
    vertical-align: middle;
    text-align: center;
}
.status td.bgColor01 { background-color: rgba(103,84,68,0.5);}
.status td.bgColor02 { background-color: rgba(4,9,35,0.5);}
.status td.bgColor03 { background-color: rgba(24,49,94,0.5);}
.status td.bgColor04 { background-color: rgba(5,91,149,0.5);}
.status td.bgColor05 { background-color: rgba(115,179,196,0.5);}



#faq {
	margin: 80px 0;
}
#faq h3 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 30px;
}
.ticketAccordion.faq {
	margin-bottom: 15px;
}
.ticketAccordion.faq dt {
	padding: 20px 80px 20px 80px;
    font-size: 18px;
}
.ticketAccordion.faq dt::before {
    content: "Q.";
    display: block;
    position: absolute;
    top: 23px;
    left: 30px;
    font-size: 24px;
    font-weight: bold;
    line-height: 1;
}
.ticketAccordion.faq dd {
    padding: 20px 40px 20px 80px;
	position: relative;
}
.ticketAccordion.faq dd::before {
    content: "A.";
    display: block;
    position: absolute;
    top: 8px;
    left: 30px;
    font-size: 24px;
    font-weight: bold;
}

#vacancy {
    margin-top: 60px;
}
#vacancy h3 {
	font-size: 20px;
	font-weight: bold;
	margin-bottom: 30px;
	text-align: center;
}
#vacancy .vacancyHead {
	display: flex;
	justify-content: space-between;
	margin-bottom: 20px;
}
#vacancy .vacancyHead p {
	font-size: 14px;
}
#vacancy .vacancyWrap {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	margin-bottom: 40px;
}
#vacancy .vacancyTable {
	border-collapse: separate;
	border-spacing: 1px;
	background-color: #ccc;
	width: 48%;
	margin-bottom: 30px;
}
#vacancy .vacancyTable th,
#vacancy .vacancyTable td {
    padding: 3px 5px;
    font-size: 14px;
	background-color: #000;
	text-align: center;
	vertical-align: middle;
}
#vacancy .vacancyTable th {
	background-color: #272727;
	width: 30%;
}
#vacancy .vacancyTable td {
	width: 20%;
}
#vacancy .vacancyTable .seat,
#vacancy .vacancyTable .ok {
	background-color: #555;
}

#vacancy .btn a {
	font-weight: bold;
}



/* sp
============================== */
@media screen and (max-width: 900px){
	.pc { display: none!important; }
	body {
		font-size: 13px;
	}
	body:not(.page--home) section.section--detail {
	    margin: 50px auto;
	    padding: 20px;
	}
	.btn {
		text-align: center;
		width: 100%;
		max-width: inherit;
		padding: 1em 0;
		margin: 0 auto;
	}
	.btn a {
	    padding: 15px 5px;
	    max-width: 300px;
	    font-size: 11px;
	    width: 95%;
	}
	.btn + .btn {padding-top: 0.5em;}
	.btn .btn--main {
		width: 80%;
		min-width: inherit;
		color: #fff;
		line-height: 1.8;
		padding: 10px 1.5em;
		border-radius: 50px;
	}
	.btn .btn--sub {
		width: 80%;
		font-size: 14px;
		line-height: 1.8;
		padding: 10px 1.5em;
		color: #000;
		border-radius: 100px;
	}
	.drawer .g-nav li a {font-size: 14px;}
	.drawer__btn {
		width: 45px;
		height: 45px;
		right: 5%;
		top: 40px;
		top: 7vh;
	}
	.drawer__btn span { width: 80%; left: 5px;}
	footer .copyright {
		font-size: 10px;
		padding-left: 0;
		text-align: center;
	}
	.txt {
	    margin: 0 0 1em;
	    line-height: 1.6;
	    font-size: 12px;
	    font-weight: 500;
	}
	body:not(.page--home) section.section--detail .tit {
	    font-size: 13px;
	    margin: 0 0 10px 0;
	}
	.list--indent {
	    margin: 0 0 10px 0;
	    font-size: 12px;
	}
	.area--detail {padding: 0 6% 50px;}
	.section-tit { font-size: 1.65em; line-height: 1.5em;}
	.page--home .section-tit {padding: 50px 14%;}
	.visible .section-tit {padding-bottom: 30px;}
	.txt--lead {font-size: inherit; margin: 0 0 30px;}
	.section-tit.en { font-size: 2.25em; }
	.block-tit,
	.area-tit { font-size: 16px; padding-bottom: 20px;}
	.block--gray {padding: 15px;}
	.switch::after { width: 0.75em; height: 0.75em;}
	.section--base > .switch {
		top: 85px;
		right: 1%;
		width: 30px;
    	height: 30px;
	}
	.section--base > .switch::after { width: 1.25em; height: 1.25em;}
	.section--base > .switch.switch--visible::after {margin-top: -1.5em;}
	.list--horizontal > dd {border-color: #ccc;}
	.list--horizontal > dt:first-of-type {border-color: #ccc;}
	.list--horizontal .tit:not(:first-of-type) {
		border-top: none;
		padding-top: 0;
		margin-top: 20px;
	}
	.list--horizontal {font-size: 13px;}
	.list--horizontal > dt {
		float: none;
		width: 100%;
		margin-bottom: 0;
		padding-top: 15px;
	}
	.list--horizontal > dd {
		font-size: 13px;
		padding: 0 0 15px;
		margin-bottom: 0;
	}
	.list--horizontal > dd:first-of-type {border-top: none;}
	.list--one-line .tit {padding: 20px 2em 10px 0;}
	.list--one-line .tit.switch { padding-bottom: 20px;}
	.list--one-line .tit + div {padding-bottom: 20px;}
	.section--ticket .reception-box--playguide .list--one-line dt:first-of-type {margin-top: 0;}
	.anchor-pos {top: -15px;}
	.section--hero {height: 92vh; padding: 0 6%;}
	.section--hero .hero__inner {width: 100%; padding: 30px 0 0;}
	.section--hero .tour-tit {width: 82vw; margin: 0 auto 25px;}
	.section--hero .lead {font-size: 22px;}
	.section--hero .lead--img {margin-top: 40px;}
	.section--hero .lead--img img{
	    height: 20px;
	    margin: 14px auto;
	    display: block;
	}
	.section--hero .tit--hall {font-size: 13px; margin: -10px 0 5px;}
	.section--hero .list--topicsL {margin: 0 0 30px;}
	.section--hero .list--topicsL li a {
	    line-height: 1.5;
	    padding: 15px 5% 10px;
	}
	.section--hero .list--topicsL .link__txt {margin: 0 0 5px;}
	.section--hero .list--topicsL .link__txt dt {font-size: 13px; margin: 0 0 10px;}
	.section--hero .list--topicsL .link__txt dd{font-size: 10px;}
	.section--hero .list--topicsL .link__txt dd:not(:last-child) {margin:0 0 5px;}
	.section--hero .list--topicsL li a::after {
		left: 50%;
		position: relative;
		-webkit-transform:translateX(-50%) rotate(-45deg);
		transform:translateX(-50%) rotate(-45deg);
		top: -2px;
		border-width: 1px;
		width: 10px;
    	height: 10px;
	}
	.section--schedule p {margin-bottom: 10px;}
	.section--schedule .list--schedule {width: 100%; margin-bottom: 0;}
	.section--schedule .list--schedule tr {display: block; }
	.section--schedule .list--schedule th {display: none !important;}
	.section--schedule .list--schedule td {
		width: 100%;
		display: block;
		line-height: 1.4;
		border: none;
		padding: 5px 0 0 60px;
		font-size: 12px;
		position: relative;
	}
	.section--schedule .list--schedule tr:last-child .info {
		border: none;
		padding-bottom: 0;
		margin: 0;
	}
	.section--schedule .list--schedule td::before {
		display: inline-block;
		width: 60px;
		color: #aaa;
		position: absolute;
		top: 5px;
		left: 0;
	}
	.section--schedule .list--schedule .date::before {content: 'DATE';}
	.section--schedule .list--schedule .area::before {content: 'AREA';}
	.section--schedule .list--schedule .venue::before {content: 'VENUE';}
	.section--schedule .list--schedule .time::before {content: 'OP/ST';}
	.section--schedule .list--schedule .info::before {content: 'INFO'; font-size: 12px;}
	.section--schedule .list--schedule td.date {display: inline-block; margin-bottom: 0;}
	.section--schedule .list--schedule .info {
		border-bottom: 1px solid #ccc;
		padding-bottom: 15px;
		margin: 0 0 8px;
	}
	.section--ticket .block--base:not(:last-of-type) {padding-bottom: 50px;}
	.section--ticket .box--base {padding: 15px;}
	.section--ticket .box--base dt {
		float: none;
		width: 100%;
		padding: 0;
		margin: 0 0 10px;
		font-size: 16px;
	}
	.section--ticket .box--base.status--after dd.txt--after {margin: 0 0 15px;}
	.section--ticket .box--base dd {padding: 0;}
	.section--ticket .list--horizontal dd dt::before {content: '・';}
	.section--ticket .block--table {margin-top: 15px; width: 100%;}
	.section--ticket .block--table th,
	.section--ticket .block--table td {
		padding: 8px 10px;
	    font-size: 11px;
	    line-height: 1.6;
    }
	.section--ticket .block--table th {width: 7.5em;}
	.section--ticket .reception-box--base {padding: 20px 15px;}
	.section--ticket .reception-box--base + .reception-box--base {margin-top: 15px;}
	.section--ticket .reception-box--base .block-tit {
		font-size: 16px;
		font-size: 4vw;
		padding: 0 0 10px;
	}
	.section--ticket .reception-box--playguide dl dl dt {margin: 20px 0 0 ;font-weight: normal;}
	.section--ticket .reception-box--playguide .playguide {margin: 0 0 10px;}
	.section--ticket .reception-box--playguide .btn {margin-top: 10px;}
	.section--ticket .block--term {
		font-size: 12px;
		line-height: 1.4;
		font-weight: bold;
	}
	.section--ticket .block--term dt {
		width: 73px;
		padding: 0 10px;
		height: 48px;
		line-height: 50px;
		font-size: 12px;
	}
	.section--ticket .block--term dd {padding: 5px 5px 5px 85px; height: 48px;}
	.section--ticket .block--term dd > span {
	    position: absolute;
	    top: 50%;
	    -webkit-transform: translateY(-50%);
	    transform: translateY(-50%);
	}
	.section--ticket .block--term .term--small,
	.section--ticket .block--term .term--small + dd {
	    font-size: 10px;
	    font-weight: normal;
	}
	.section--ticket .reception-box--ippan .block--term dd{padding-top: 15px;}
	.section--ticket .reception-box--base .box-tit {
		font-size: 22px;
		font-size: 5.5vw;
		font-weight: 500;
	}
	.section--ticket .reception-box--base.status--after .box-tit::before {
	    font-size: 10px;
	    padding: 5px 10px;
	    margin-right: 8px;
	    top: -2px;
	}
	.section--ticket .reception-box--base .box-tit + div {margin-top: 15px;}
	.section--ticket .reception-box--base .reception-box__detail {padding-top: 25px; }
	.section--ticket .reception-box--base .reception-box__detail .txt--lead {margin: 0 0 10px;}
	.section--ticket .block--ticket-order {margin-top: 30px;}
	.section--ticket .list--order {margin-bottom: 35px;}
	.section--ticket .list--order th {color: inherit;}
	.section--ticket .list--order th span {background: none;line-height: 1.2; font-weight: bold;}
	.section--ticket .list--order td {
	    font-size: 11px;
	    padding: 4px 8px 4px 0;
	    border-bottom: 0.5px solid #ccc;
	}
	.section--ticket .reception-box--base.reception-box--playguide .status--after .tit::before {
	    padding: 2px 6px;
	    margin-right: 8px;
	    top: 0px;
	}
	.section--trade .ph {padding: 20px 0;}
	.section--trade .list--trade { margin-top: 30px; margin-bottom: 10px;}
	.section--trade .list--trade .tit { font-size: 18px; margin: 0 0 15px;}
	.section--trade .list--trade table { border-top: .5px solid #ccc;}
	.section--trade .list--trade tr {
		display: block;
		border-bottom: 1px solid #ccc;
		padding: 15px 0;
	}
	.section--trade .list--trade tr:first-of-type {display: none;}
	.section--trade .list--trade td {
		width: 100%;
		display: block;
		border: none;
		padding: 10px 0 0;
		font-size: 12px;
	}
	.section--trade .list--trade td.ticket,
	.section--trade .list--trade td.trade {position: relative;}
	.section--trade .list--trade td.ticket::before,
	.section--trade .list--trade td.trade::before {
		content: '';
		display: block;
		font-weight: bold;
	}
	.section--trade .list--trade td.ticket::before {content: 'チケット';}
	.section--trade .list--trade td.trade::before {content: 'トレードセンター';}
	.section--trade .list--trade .info {
		border-bottom: 1px solid #ccc;
		padding: 0 0 15px;
		margin: 0 0 8px;
	}
	.section--trade .list--trade td.status {
		display: inline-block;
		font-weight: normal;
		font-size: 11px;
		background: #f5f5f5;
		border: 1px solid ;
		padding: 2px 10px;
		line-height: 1.2;
		width: auto;
	}
	.section--trade .block--about + .block--about { padding-top: 30px;}
	.section--ticket-issuing .list--horizontal dl {
	    margin-bottom: 20px;
	    border-bottom: 1px solid #ccc;
	    padding-bottom: 17px;
	}
	.section--ticket-issuing .list--horizontal dl:last-of-type {margin: 0;}
	.section--ticket-issuing .list--horizontal dl:first-of-type {border-top: 1px solid #ccc; padding-top: 17px;}
	.section--ticket-issuing .list--horizontal > dt {
		border: none;
		padding:0;
		margin: 0 0 10px;
	}
	.section--ticket-issuing .list--horizontal > dd { border: none; margin: 0 0 20px;}
	.section--ticket-issuing .list--horizontal > dd:last-of-type {margin: 0;}
	.section--ticket-issuing .list--horizontal .tit {padding-right: 7%;}
	.section--ticket-issuing .list--horizontal .list--indent {margin: 0;}
	.section--challenge .block-tit {margin: 0 0 20px; font-size: inherit; line-height: inherit;}
	.section--challenge .block--txt:not(:last-of-type) {margin: 0 0 60px;}
	.section--challenge .ph {margin: 0 0 25px;}
	.section--challenge .clm--txt dt {margin: 0 0 25px; font-size: 16px;}
	.section--challenge .challenge__denshi .ph img{width: 30%;}
	.section--challenge .challenge__trade .ph img{width: 80%;}
	
	.section--detail {padding: 80px 6% 0;}
	.section--detail .section-tit { margin: 0 0 50px;}
	.section--detail .area--base {margin: 0 0 20px;}
	.section--detail .area--base:last-of-type {margin: 0;}
    .section--detail .area-tit {
        font-size: 15px;
        padding-bottom: 0;
        margin: 0 0 10px 0;
    }
	.section--detail .list--horizontal > dd {line-height: 1.6em;}
	.section--detail .list--horizontal > dt {margin: 0 0 15px;}
	.section--detail .area--sammary .list--horizontal > dd dd { margin: 0 0 20px;}
	.section--detail .fs-small > dt{ margin: 0 0 5px;}
	body:not(.page--home) section.section--detail .area--step > ul > li {padding: 15px;}
	.block--popup {width: 92%; padding: 10px 0;}
	.block--popup .lead {font-size: 15px;}
	.block--popup .box {height: 320px; padding: 0 15px;}
	.block--popup > .tit {height: 40px; line-height: 40px; font-size: 16px;}
	.block--popup .slide--cover .logo {width: 50%;}
	.case__list > li .ph {width: 40%; text-align: center;}
	.case__list > li .ph img {width: 70%; margin: 0 auto;}
	.case__list > li .ph span {width: 50%;margin: 0; padding: 0 5px;}
	.case__list > li .txt {width: 60%; line-height: 1.55;}
	.case__list.codeArea > li .ph span {
	    position: relative;
	    width: 50%;
	    margin: 0;
	    padding: 0 5px 15px;
	}
	.case__list.codeArea > li .ph span img {
	    display: block;
	    width: 60%;
	    margin: auto;
	}
	.case__list.codeArea > li .ph span .code {
	    font-size: 9px;
	    letter-spacing: -0.08em;
	}
	.block--popup .case__numb {font-size: 12px; margin-top: 2px;}
	.case__list > li + li {margin-top: 30px;}
	.case__list > li + li::before, .case__list > li + li::after {
	    width: 14px;
    	height: 3px;
    	top: -16px;
	}
	.case__list > li + li::after {margin-left: -7px;}
	
.block--popup .slick-dots {
    margin-top: 5px;
    text-align: center;
}
.block--popup .box .txt{
line-height: 1.4;
font-size: 13px;
}

.area--base .block--term {
		font-size: 12px;
		line-height: 1.4;
		font-weight: bold;
	}
	.area--base  .block--term dt {
		width: 73px;
		padding: 0 10px;
		height: 48px;
		line-height: 50px;
		font-size: 12px;
	}
	.area--base  .block--term dd {padding: 5px 5px 5px 85px; height: 48px;}
	.area--base  .block--term dd > span {
	    position: absolute;
	    top: 50%;
	    -webkit-transform: translateY(-50%);
	    transform: translateY(-50%);
	}

.area--base .subTxt {
font-size: 13px;
margin: 0 auto 20px;
}

.section-tit span.ph--member {
padding: 10px 0 0;
}



.area--base .block--term.multiRow dt {
padding: 3vw 1vw;
height: auto;
}
.area--base .block--term.multiRow dd {
width: calc(100% - 73px);
height: auto;
padding: 3vw 3vw;
}

.section-tit span.ph--member {
line-height: 1.6;
}

.btn .btn--main {
color: #000;
}
.btn .btn--sub {
font-size: 3.2vw;
color: #fff;
}

.dateList li {
    display: block;
}
.dateList li h5 {
        width: 100%;
        font-size: 12px;
        margin: 0 0 10px 0;
}
.ticketAccordion dd .dateList > li .box {
    width: 100%;
}
.ticketAccordion dd .dateList li p {
    width: 100%;
        font-size: 13px;
}
.ticketAccordion dd .dateList > li .box .attentionList {
    margin: 0 0 10px 0;
}
.ticketAccordion dd .dateList > li .box .attentionList li {
    border: none;
    font-size: 11px;
    padding: 0;
    margin: 0 0 5px 1em;
}
.ticketAccordion dd .dateList .txtBoxWrap {
    width: 100%;
}
.ticketAccordion dd .txtBoxWrap .txtBox .btn.btnSub a {
    margin: 0 auto 10px;
}
.ticketAccordion dd .txtBoxWrap h4 {
    font-size: 14px;
}
.ticketAccordion dd .dateList .txtBoxWrap p {
    font-size: 12px;
}
.ticketAccordion dd .txtBoxWrap .txtBox h5 {
    font-size: 13px;
    font-weight: bold;
    text-align: center;
}
.ticketAccordion dd .txtBoxWrap .txtBox {
    padding: 15px;
    margin-bottom: 20px;
}

    h2.pageTitle {
        font-size: 19px;
        margin-bottom: 15px;
        width: 100%;
    }
	
    .ticketAccordion {
        border: solid 1px;
        margin: 0 0 20px 0;
    }
	.ticketAccordion dt {
		padding: 4vw 12vw 4vw 5vw;
		font-size: 4vw;
	}
	.ticketAccordion dt.open::after {
		top: 58%;
	}
	.ticketAccordion dt::after {
		width: 10px;
		height: 10px;
		top: 45%;
		right: 5vw;
	}
	.ticketAccordion.end dt::before {
		margin-right: 3vw;
		font-size: 3vw;
	}
	
	.ticketAccordion dd {
		padding: 4vw 5vw;
		font-size: 3.2vw;
	}
	.dateList li {
		font-size: 3.2vw;
		padding: 3vw 0;
	}
	.dateList li h5 {
		width: 100%;
	}
	.ticketAccordion dd .dateList li p {

	}
	.dateList {
		margin-bottom: 10vw;
	}
	.ticketAccordion dd h4 {
		font-size: 4vw;
		margin-bottom: 4vw;
	}
	.ticketAccordion dd p {
		margin-bottom: 6vw;
	}
	
	.ticketAccordion dd .news {
		padding-bottom: 4vw;
	}
	.ticketAccordion dd .news p {
		margin-bottom: 4vw;
	}

	.ticketAccordion dd .contBox {
		padding-bottom: 4vw;
		margin-bottom: 10vw;
	}
	
	.ticketAccordion dd .entrybtn a {
		padding: 3vw;
		font-size: 4.2vw;
	}
	
	#faq {
		margin: 10vw 0;
	}
	#faq h3 {
		font-size: 4vw;
		margin-bottom: 6vw;
	}
	.ticketAccordion.faq {
		margin-bottom: 4vw;
	}
	.ticketAccordion.faq dt {
		padding: 4vw 12vw 4vw 14vw;
    	font-size: 13px;
	}
	.ticketAccordion.faq dt::before {
		top: 4vw;
		left: 4vw;
		font-size: 6vw;
	}
	.ticketAccordion.faq dd {
		padding: 4vw 6vw 4vw 14vw;
	}
	.ticketAccordion.faq dd::before {
		top: 0;
		left: 4vw;
		font-size: 6vw;
	}
	
	.status {
		margin-bottom: 8vw;
	}
	.status td {
		padding: 2vw;
		font-size: 3vw;
	}
	.ticketAccordion dd p a {
        font-size: 12px;
	}

	#vacancy h3 {
		font-size: 4vw;
		margin-bottom: 6vw;
	}
	#vacancy .vacancyHead {
		margin-bottom: 4vw;
	}
	#vacancy .vacancyHead p {
		font-size: 14px;
	}
	#vacancy .vacancyWrap {
		margin-bottom: 4vw;
	}
	#vacancy .vacancyTable {
		width: 100%;
		margin-bottom: 4vw;
	}
	#vacancy .vacancyTable th,
	#vacancy .vacancyTable td {
		padding: 1vw 2vw;
		font-size: 3vw;
	}
	
	
	
}
/* iPhone6 未満用
------------------------------------------------*/
@media screen and (max-width: 374px) {
	.drawer__btn {right: 3%;}
	.seminar-link {left: 3%;}
	.section--ticket .block--term dt {height: 43px; line-height: 43px;}
	.section--ticket .block--term dd {height: 45px; font-size: 12px;}
	.block--popup .box {height: 230px;}
	.block--popup .slide--cover .logo {width: 40%; margin-bottom: 10px;}
	.case__list {margin: 0 0 10px;}
	.case__list > li > div {padding: 5px;}
	.case__list > li .txt {font-size: 12px;}
	.block--popup .lead {font-size: 14px; margin-bottom: 10px;}
	.block--popup .lead + .txt {font-size: 11px;}
	.case__list > li .ph img {width: 50%;}
	.block--popup .slide--last .txt {font-size: 12px;}
	.block--popup .slick-dots {margin: 0;}
	.block--popup .slide--last .lead span {margin-bottom: 20px;}
}
/* iOS7以下もしくはAndroid5以下
------------------------------------------------*/
	.low-spec .seminar-link svg {height: 15px;}
	.low-spec .section--hero {height: auto; display: block;}
	.low-spec .hero__inner {padding: 100px 0;}
	.low-spec header {display: none;}


/* pc
============================== */
@media screen and (min-width: 900px){
	.sp { display: none!important; }

	a {-webkit-transition: all .3s ease;transition: all .3s ease;}
	a:hover {text-decoration: none;}
	.drawer__btn { top: 5.5vh; right: 5%; margin: 0;}
	.drawer .g-nav li a:hover { background: #000; color: #fff;}
	.seminar-link {left: 5%; top: 5vh;}
	.seminar-link a {
		padding: 9px 18px 9px 38px;
		font-size: 12px;
		letter-spacing: 0.05em;
		margin-right: 5px;
	}
	.btn a:hover {
        background: #fff;
        border: 1px solid #000;
        color: #000;
    }
	.btn.btnSub a:hover {
    background: #000;
    color: #fff;
    }
	.seminar-link a svg{ width: 24px; }
	.seminar-link a:hover {background: #000;color: #fff;}
	.seminar-link a:hover svg {fill: #fff;}

	.btn .btn--sub:hover,
	.btn--chevron:hover {opacity: 0.5;}
	.btn--chevron:hover::after {right: -1em;}
	.page--home .section-tit { padding: 100px 20%;}
	.page--home .visible .section-tit {padding-bottom: 50px;}
	.area--detail {padding: 0 20% 100px;}
	.list--horizontal > dt {
		float: left;
		width: 14em;
		clear: left;
	}
	.list--horizontal > dd {padding-left: 14em;}
	.list--horizontal > dd dd:not(:last-of-type) {margin-bottom: 20px;}
	.link--base:hover {opacity: .5;}
	.switch.tit:hover,
	.switch.box-tit:hover {opacity: 0.5;}
	.switch-trigger:not(.visible):hover { background: #000; color: #fff;}
	.switch-trigger:not(.visible):hover .section-tit .switch::after {border-color: #fff;}
	.section-tit > .switch::after {width: 30px; height: 30px;}
	.section--trade .ph {width: 60%; padding: 40px 0; margin: 0 auto;}
	.section--trade .block--about + .block--about { padding-top: 70px;}
	.section--ticket-issuing .list--horizontal dl:last-of-type {
	    border: none;
	    margin: 0;
	    padding: 0;
	}
	.section--ticket-contact .list--one-line .tit { font-size: 15px;}
	.section--ticket .box--base dt {font-size: 16px;}
	.section--ticket .reception-box--base .box-tit + div {margin-top: 30px;}
	.section--ticket .block--term .term--small,
	.section--ticket .block--term .term--small + dd{
	    font-size: 14px;
	    font-weight: normal;
	    line-height: 40px;
	}
	.section--challenge .block-tit {margin: 0 0 60px;}
	.section--challenge .block--txt:not(:last-of-type) {margin: 0 0 70px;}
	.section--challenge .block--txt dt {font-size: 16px; margin: 0 0 15px;}
	.section--challenge .ph { width: 35%; float: right;}
	.section--challenge .clm--txt {
	    float: left;
	    margin: 0 5% 0 0;
	    width: 60%;
	}
	.section--challenge .challenge__denshi .ph img{width: 35%;}
	
	.section--detail {padding: 80px 20% 0;}
	.section--detail .section-tit { margin: 0 0 80px; font-size: 3em;}
	.section--detail .area--base {margin: 0 0 50px;}
	.section--detail .area--sammary .list--horizontal > dt,
	.section--detail.detail--family .area--necessary .list--horizontal > dt {width: 6em;}
	.section--detail .area--sammary .list--horizontal > dd,
	.section--detail.detail--family .area--necessary .list--horizontal > dd {padding-left: 9em;}
	.section--detail .area--sammary .list--horizontal dd dl {float: left;width: 80%;}
	.section--detail .list--horizontal dd .qr {width: 20%;float: right;}
	.section--detail .list--horizontal dd .qr .ph {padding: 0;}
	.section--detail .area--step > ul > li {padding: 40px;}
	.block--popup .block--you { top: 76px; padding-right: 30px;}
	.block--popup .block--you img {width: 16px;}

.fs15 {
    font-size: 15px;
}
}
