@charset "UTF-8";

.loading{
	position: fixed;
	left: 0;
	top: 0;
	z-index: 10011;
	width: 100%;
	height: 100vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #fff;
	opacity: 1;
	visibility: visible;
	transition: all 1s;
}
.loading.is-active{
	opacity: 0;
	visibility: hidden;
}
.loading-animation {
	width: 100%;
	transition: all 0.5s;
	opacity: 0;
	visibility: hidden;
}
.loading-animation.is-active {
	opacity: 1;
	visibility: visible;
}
.loading-animation #pc{
	display: block;
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
}
.loading-animation #sp{
	display: none;
	width: 100%;
}

#cbnr{
	position: fixed;
	right: var(--size-38px);
	bottom:  var(--size-38px);
	z-index: 998;
	width: 670px;
}

header{
	position: fixed;
	left: 0;
	top: 0;
	z-index: 998;
	width: 100%;
}
header #header{
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 100%;
	padding: var(--size-40px) var(--size-40px);
	line-height: normal;
}
header h1{
	max-width: 200px;
}
header h1 a{
	display: block;
}
header ul{
	display: flex;
	align-items: center;
	color: #fff;
}
header li{
	display: flex;
	align-items: center;
	line-height: normal;
}
header li a{
	display: block;
	padding: 0 var(--size-20px);
	font-weight: 700;
	color: #111;
}
header li a span{
	display: block;
	width: 8px;
	height: 8px;
	overflow: hidden;
	border-radius: 1000px;
	border: solid 4px rgba(255,255,255,0.001);
	margin: 0 auto;
	margin-top: 0.3em;
	transition: .2s;
}
header li a:hover{
	/*color: var(--blue);*/
}
header li a:hover span{
	border: solid 4px var(--blue);
}
header li:last-child{
	width: calc(36px + var(--size-20px));
	height: calc(36px + var(--size-20px));
	margin-left: var(--size-20px);
}
header li:last-child a{
	padding: var(--size-20px);
}
header li:last-child img{
	width: 36px;
	height: auto;
}

#top nav #navTop a,
#eo nav #navEo a,
#event nav #navEvent a,
#goods nav #navGoods a{
	color: #111;
}
#top nav #navTop a span,
#eo nav #navEo a span,
#event nav #navEvent a span,
#goods nav #navGoods a span{
	border: solid 4px var(--blue);
}


#base article{
	padding-top: 120px;
	background: #fff;
}

footer{
	line-height: normal;
	color: #fff;
}
footer a{
	color: #fff;
}
footer #pageTop{
	background: #fff;
	padding-bottom: var(--size-60px);
}
footer #pageTop a{
	width: 50px;
	display: block;
	margin: 0 auto;
}
footer #footerNav{
	padding-top: var(--size-120px);
	padding-bottom: var(--size-240px);
}
footer #footerNavBox{
	display: flex;
	justify-content: space-between;
	padding-bottom: var(--size-100px);
}
footer #footerNavBox div{
	display: flex;
}
footer #footerNavBox div ul{
	width: 208px;
	padding-right: var(--size-40px);
}
footer #footerNavBox div li{
	margin-top: calc(var(--size-10px) + var(--size-20px));
}
footer #footerNavBox div li:first-child{
	margin-top: 0;
}
footer #footerNavBox h1{
	width: 384px;
}

.btnBox{
	text-align: center;
	margin-top: 1em;
	margin-bottom: 1em;
}
.btnBox a{
	display: inline-block;
	padding: 2em 1em;
	width: 256px;
	background: url("../img/link.svg") right 2em center no-repeat var(--blue);
	background-size: 15px;
	border-radius: 10px;
	margin: 0 5px;
	color: #fff;
	line-height: 1.3;
	transition: .2s;
}
.btnBox a:hover{
	background: url("../img/link.svg") right 1.5em center no-repeat var(--blueOn);
	background-size: 15px;
	color: #fff;
}
.btnBox a:first-child{
	margin-left: 0;
}
.btnBox a:last-child{
	margin-right: 0;
}


.under #topImg{
	background: url("/parts/img/borderImg.gif") center top;
	padding: 10px 0;
}
.under #topImg div{
	height: 380px;
}
.under section > h3{
	font-weight: 700;
	text-align: center;
	line-height: normal;
	margin-top: var(--size-38px);
	margin-bottom: var(--size-57px);
}
.under section > h3 strong{
	display: block;
	font-size: 262%;
	font-family: 'Oswald', 'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Hiragino Sans W3", "ヒラギノ角ゴ ProN W3", "Yu Gothic Medium", "游ゴシック Medium", "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
	color: #111;
}

.blue{
	color: var(--blue);
}
.red{
	color: var(--red);
}
.fontSize1down{
	font-size: 87%;
}
.atnt{
	background: #f7f7f7;
	text-align: center;
	line-height: 1.5;
	padding: var(--size-19px);
	margin-top: var(--size-38px);
	margin-bottom: var(--size-38px);
	font-size: 88%;
}
.caption{
	font-size: 87%;
	line-height: 1.5;
	color: #666;
	margin-top: 1em;
}
.rightTxt{
	text-align: right;
}

main{
	background: #fff;
	padding-bottom: var(--size-240px);
}

#ttl{
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #fff;
	line-height: normal;
	background: var(--blue);
	padding: var(--size-40px);
	margin-left: var(--size-40px);
	margin-bottom: var(--size-160px);
}
#ttl strong{
	font-size: 260%;
	font-weight: 400;
}

/*-- ========== infoBox ========== --*/
#infoBox{
	border: var(--border);
	padding: var(--size-80px);
}
#infoBox #infoBoxOverview{
	display: flex;
}
#infoBox #infoBoxOverview div:first-child{
	width: 26%;
	padding: 0 var(--size-10px);
	text-align: center;
}
#infoBox #infoBoxOverview div:first-child p{
	font-size: 87%;;
	line-height: normal;
	text-align: center;
	margin-top: 0.5em;
}
#infoBox #infoBoxOverview div:first-child p span{
	font-size: 87%;
	color: var(--red);
}
#infoBox #infoBoxOverview div:first-child p a{
	text-decoration: underline;
}
#infoBox #infoBoxOverview div:first-child p a:hover{
	text-decoration: none;
}
#infoBox #infoBoxOverview > div:last-child{
	width: 74%;
	padding-left: var(--size-40px);
}
#infoBox #infoBoxOverview > div:last-child > div{
	text-align: left;
}
#infoBox .ovList p{
	font-weight: 700;
}
#infoBox .ovList p strong{
	font-size: 215%;
	line-height: 1.3;
	color: var(--blue);
}
#infoBox .ovList dl{
	display: flex;
	width: 100%;
	border-bottom: var(--borderDot1px);
	padding: var(--size-10px) var(--size-20px);
	margin-top: var(--size-20px);
	line-height: 1.5;
}
#infoBox .ovList dt{
	display: flex;
	justify-content: space-between;
	width: 9.4em;
	font-weight: 700;
	padding-right: 1em;
	text-align: right;
}
#infoBox #infoList.ovList dl:nth-child(2) dt{
	padding-top: 0.5em;
}
#infoBox .ovList dt span{
	width: 7em;
	padding-right: 1em;
	display: inline-block;
}
#infoBox .ovList dt::after{
	content: "　:";
}
#infoBox .ovList dd{
	width: calc(100% - 9.4em);
}
#infoBox .ovList dd strong{
	font-size: 162%;
	line-height: normal;
}
#infoBox .ovList dd span{
	font-size: 88%;
}
#infoBox .ovList dd ul{
	padding-top: 0.3em;
}
#infoBox .ovList dd li{
	font-size: 87%;
	text-indent: -1.5em;
	padding-left: 1.5em;
	margin-bottom: 0.2em;
}
#infoBox .ovList dd li::before{
	content: "※ ";
}
#infoBox .ovList dd a{
	text-decoration: underline;
}
#infoBox .ovList dd a:hover{
	text-decoration: none;
}
#infoBox #infoBoxTicket{
	margin-top: var(--size-60px);
	margin-bottom: var(--size-60px);
}
#infoBox #infoBoxTicket h3{
	font-size: 162%;
	line-height: normal;
	margin-bottom: 0.5em;
}
#infoBox #ticketBox{
	margin-bottom: 1em;
}
#infoBox .spTable{
	display: none;
}
#infoBox #ticketBox table{
	width: 100%;
	border-collapse: collapse;
}
#infoBox #ticketBox th,
#infoBox #ticketBox td{
	border: solid 1px #ddd;
	width: 37%;
	text-align: center;
	padding: var(--size-40px) var(--size-10px);
	line-height: normal;
	font-weight: 400;
}
#infoBox #ticketBox th{
	font-size: 112%;
	color: #fff;
	background: var(--blue);
}
#infoBox #ticketBox td{
	font-size: 88%;
}
#infoBox #ticketBox td span{
	font-size: 128%;
}
#infoBox #ticketBox td strong{
	color: var(--blue);
}
#infoBox #ticketBox tr th:first-child{
	width: 26%;
}
#infoBox #infoBoxTicket .btnBox{
	text-align: left;
}
#infoBox #infoBoxTicket ul{
	margin-top: 2em;
}
#infoBox #infoBoxTicket ul li{
	margin-top: 0.5em;
	text-indent: -1.5em;
	padding-left: 1.5em;
	font-size: 88%;
	line-height: 1.3;
}
#infoBox #infoBoxTicket ul li::before{
	content: "※ ";
}
#infoBox .btnBox{
	display: flex;
}
#infoBox .btnBox a{
	display: flex;
	align-items: center;
	background: url("../img/link_b.svg") right 2em center no-repeat #eee;
	background-size: 15px;
	border: solid 1px #eee;
	color: #111;
}
#infoBox .btnBox a:hover{
	background: url("../img/link_b.svg") right 1.5em center no-repeat #fff;
	background-size: 15px;
}



/*-- ========== TOP ========== --*/
#top main article{
	background: url("../img/topImg.jpg") right -34vw top 298px no-repeat;
	background-size: 125vw;
	padding-top: 188px;
}

#mv{
	position: relative;
}
#mvSp{
	display: none;
	position: relative;
}
#mv .caption{
	position: absolute;
	right: var(--size-20px);
	bottom: calc(var(--size--100px) + var(--size--20px));
	z-index: 2;
	font-size: 65%;
	text-align: right;
}

#mv h1{
	width: 50vw;
}

#newsBox{
	display: flex;
	margin-top: var(--size-200px);
	margin-bottom:  var(--size-160px);
}
.newsCon{
	display: flex;
	background: #fff;
	border: var(--border);
	width: 82%;
	padding: var(--size-40px) var(--size-40px);
	transition: .15s;
}
.newsCon:hover{
	background: #f7f7f7;
}
.newsCon .day{
	width: 8.5em;
}
.newsCon .day span{
	display: inline-block;
	margin-right: 1em;
}
.newsCon .newsTtl{
	width: calc(100% - 11.5em);
}
.newsCon .newsTtl a{
	text-decoration: underline;
}
#newsList{
	display: flex;
	justify-content: center;
	align-items: center;
	background: #111;
	border-radius: 20px;
	width: calc(18% - 10px);
	margin-left: 10px;
}
#newsList a{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	width: 100%;
	height: 100%;
	background: var(--blue);
	color: #fff;
	transition: .2s;
	border: solid 2px var(--blue);
	border-radius: 10px;
}
#newsList a:hover{
	background: var(--blueOn);
}
#newsList a span{
	display: block;
	width: 100%;
	text-align: center;
}
#newsList a span:last-child{
	margin-top: 0.5em;
}
#newsList a span img{
	display: block;
	line-height: normal;
	width: 13px;
	margin: 0 auto;
}

#youtubeBox iframe{
	display: block;
	width: 672px;
	height: 378px;
	margin: 0 auto;
	margin-top: var(--size-160px);
	margin-bottom:  var(--size-160px);
}

#intro{
	display: flex;
	margin-top: var(--size-160px);
	margin-bottom: var(--size-160px);
}
#intro > div{
	width: calc(100% / 2);
}
#intro #introImg{
	position: relative;
}
#intro #introImg img{
	position: absolute;
	left: 0;
	top: 0;
}
#intro #introImg #introImg01{
	width: 600px;
	left: 6px;
}
#intro #introImg #introImg02{
	width: 250px;
	left: -58px;
	top: 368px;
}
#intro #introImg #introImg03{
	width: 350px;
	left: 288px;
	top: 464px;
}
#intro #introImg #introImg04{
	width: 216px;
	left: 20px;
	top: 750px;
}
#intro #introTxt{
	padding-left: var(--size-40px);
}

#intro #introTxt h2{
	font-size: 150%;
	line-height: 1.5;
	margin-bottom: calc(var(--size-20px) + var(--size-20px));
}
#intro #introTxt h2 span{
	display: block;
	font-weight: 400;
	font-size: 58%;
	margin-top: 0.5em;
}
#intro #introTxt p{
	font-size: 112%;
}
#intro #introTxt .caption{
	display: block;
	font-size: 87%;
	margin-top: 2em;
}
#intro #eoBtn{
	margin-top: var(--size-40px);
}
#intro #eoBtn a{
	display: block;
	padding: 2.5em;
	color: #fff;
	background: url("../img/link.svg") right 2.5em center no-repeat var(--blue);
	border-radius: 10px;
	transition: .2s;
}
#intro #eoBtn a:hover{
	background: url("../img/link.svg") right 2em center no-repeat var(--blueOn);
}
#intro #eoBtn a strong{
	display: block;
	font-size: 175%;
	line-height: normal;
	margin-bottom: 0.2em;
}
#intro #eoBtn a span{
	display: block;
	font-size: 87%;
	line-height: normal;
}

#introFoot p{
	text-align: right;
}

#imgListBox .credit{
	font-size: 87%;
	line-height: normal;
	text-align: right;
	margin-top: var(--size-10px);
}
#imgListBox .credit a{
	text-decoration: underline;
}
#imgListBox .credit a:hover{
	text-decoration: none;
}
#imgListBox .credit span{
	color: var(--red);
	font-size: 87%;
}

#topNav{
	margin-top: var(--size-160px);
	margin-bottom: var(--size-160px);
}
#topNav > div{
	display: flex;
	justify-content: space-between;
}
#topNav > div a{
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: calc(100%/4);
	height: 532px;
	overflow: hidden;
	background: #111;
	color: #fff;
	/*border-right: solid 1px #fff;*/
}
#topNav > div a p{
	position: relative;
	z-index: 2;
	text-align: center;
	width: 100%;
}
#topNav a p span{
	display: block;
	font-size: 87%;
	line-height: 1.2;
	margin-top: 0.7em;
}
#topNav > div a p >span:nth-child(3){
	display: block;
	margin-top: 1.2em;
}
#topNav > div a p >span img{
	display: block;
	margin: 0 auto;
	width: 13px;
}
#topNav > div a > img{
	position: absolute;
	left: 0;
	top: 0;
	z-index: 1;
	transition: .3s;
}
#topNav > div a:hover > img{
	transform:scale(1.05,1.05);
}
#topNav a p strong{
	display: block;
	font-size: 175%;
	line-height: 1.3;
}

#info{
	margin-top: var(--size-160apx);
}



/*-- ========== EVENT ========== --*/
#event #atntBox{
	background: #f0dede;
	padding: var(--size-40px) var(--size-80px);
}
#event #atntBox h4{
	text-align: center;
	color: var(--red);
	font-size: 112%;
	font-weight: 700;
	margin-bottom: 0.5em;
	line-height: normal;
}

#event .eventList{
	margin-top: var(--size-80px);
	line-height: 1.5;
	padding-bottom: var(--size-40px);
	margin-bottom:  var(--size-80px);
	border-bottom: var(--border);
}
#event .eventList h4{
	font-size: 150%;
	line-height: 1.4;
	font-weight: 700;
	margin-bottom: 0.8em;
}
#event .eventList h4 a{
	text-decoration: underline;
	color: var(--blue);
}
#event .eventList h4 a:hover{
	text-decoration: none;
}
#event .eventList p{
	margin-bottom: 0.5em;
}
#event .eventList p a,
#event .eventList li a{
	text-decoration: underline;
}
#event .eventList p img{
	width: auto;
	max-width: 1216px;
}
#event .eventList p.imgC{
	text-align: center;
	margin-bottom: 1em;
}
#event .eventList p.imgP{
	text-align: center;
	margin-bottom: 1em;
}
#event .eventList p.imgP img{
	max-width: 30%;
	height: auto;
	margin: 0 var(--size-10px);
}
#event .eventList div > p:last-child{
	margin-bottom: 0;
}
#event .eventList ul{
	margin-bottom: 0.5em;
}
#event .eventList li{
	text-indent: -1.3em;
	padding-left: 1.3em;
	margin-bottom: 0.5em;
	font-size: 87%;
	line-height: 1.25;
}
#event .eventList li::before{
	content: "※ ";
}
#event .tableBox{
	background: #ddd;
	padding: 1px 1px 0 1px;
	margin-top: var(--size-20px);
}
#event .tableBox .tableFlex{
	width: 100%;
	display: flex;
	padding-bottom: 1px;
}
#event .tableBox .tableFlex .tableBoxTh{
	padding: var(--size-40px);
	font-weight: 700;
	background: var(--blue);
	color: #fff;
	margin-right: 1px;
	width: 26%;
	text-align: center;
}
#event .tableBox .tableFlex .tableBoxTd{
	padding: var(--size-40px);
	background: #fff;
	width: 74%;
}
#event .eventList .btnBox a{
	background: url("../img/link_b.svg") right 2em center no-repeat #eee;
	background-size: 15px;
	border: solid 1px #eee;
	color: #111;
	width: 512px;
}
#event .eventList .btnBox a:hover{
	background: url("../img/link_b.svg") right 1.5em center no-repeat #fff;
	background-size: 15px;
}
#event .eventList.eventEnd{
	border-color: #999;
}
#event .eventList.eventEnd h4{
	color: #adc1cc;
}
#event .eventList.eventEnd > div{
	color: #999;
}
#event .eventList.eventEnd .tableBox{
	background: #eee;
	color: #999;
}
#event .eventList.eventEnd .tableBox .tableFlex .tableBoxTh{
	background: #f7f7f7;
	color: #999;
}
#event .eventList.eventEnd .tableBox .tableFlex .tableBoxTd{
	color: #999;
}
#event .eventList.eventEnd .btnBox{
	display: none;
}


/*-- ========== Exhibition Overview ========== --*/
#eo #info{
	margin-top: 0;
}
#eo #eoImg01{
	position: relative;
	z-index: 1;
	bottom: calc(var(--size--100px) + var(--size--60px));
	background: url("../img/eo/eoImg01.jpg") center center no-repeat;
	background-size: cover;
	height: 25vw;
	max-height: 380px;
}
#eo #ehBox #ehBoxIn{
	position: relative;
	z-index: 2;
	top: var(--size--40px);
	padding: var(--size-80px) var(--size-60px) 0;
	background: #fff;
}
#eo #ehBox h4{
	font-size: 170%;
	line-height: 1.3;
	margin-bottom: var(--size-40px);
}
#eo #sirTOC{
	display: flex;
	padding-top: var(--size-40px);
}
#eo #sirTOC .profileImg .caption{
	text-align: right;
}

#eo #profileBox{
	margin-top: var(--size-160px);
}
#eo #profileBoxIn{
	display: flex;
	border: var(--border);
	padding: var(--size-60px);
}
#eo .profileImg{
	width: 35%;
	text-align: center;
}
#eo .profileTxt{
	width: 75%;
	padding-left: var(--size-40px);
}
#eo .profileTxt h5{
	margin-bottom: 1em;
}
#eo .profileTxt h5 span{
	display: block;
	margin-bottom: 0.2em;
}
#eo .profileTxt h5 strong{
	font-size: 200%;
}
#eo #eoImg02{
	display: flex;
	margin-top: var(--size-160px);
}
#eo #eoImg02 img{
	display: block;
	width: 50%;
}


/*-- ========== Goods ========== --*/
#goodsBox p:first-child{
	margin-bottom: var(--size-80px);
}
#goodsBox p:first-child span{
	font-size: 87%;
	display: block;
	margin-top: 0.5em;
}
#goods .goods1{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	line-height: normal;
}
#goods .goods2,
#goods .goods3{
	display: flex;
	flex-wrap: wrap;
	line-height: normal;
}
#goods .goods1 > div,
#goods .goods2 > div{
	width: calc(50% - var(--size-20px));
	margin-bottom: var(--size-80px);
	margin-right: var(--size-40px);
}
#goods .goods2 > div:nth-child(2){
	margin-right: 0;
}
#goods .goods3 > div{
	width: calc(100% / 3.051 - var(--size-20px));
	margin-bottom: var(--size-80px);
	margin-right: var(--size-40px);
}
#goods .goods3 > div:nth-child(3n){
	margin-right: 0;
}
#goods .goods1 dl,
#goods .goods2 dl,
#goods .goods3 dl{
	display: flex;
	justify-content: space-between;
	padding: 0 var(--size-10px);
	margin: var(--size-20px) 0 var(--size-10px);
}
#goods .goods1 dt,
#goods .goods2 dt,
#goods .goods3 dt{
	padding-right: 1em;
	font-weight: 700;
}
#goods .goods1 dd span,
#goods .goods2 dd span,
#goods .goods3 dd span{
	font-size: 87%;
}
#goods .goods1 p,
#goods .goods2 p,
#goods .goods3 p{
	padding: 0 var(--size-10px);
}

/*-- ========== NEWS ========== --*/
#news .newsCon{
	width: 100%;
	margin-bottom: 1em;
}

#news .newsBox{
	background: #fff;
	margin-top: 1em;
	padding-bottom: var(--size-40px);
	margin-bottom:  var(--size-80px);
	border-bottom: var(--border);
}

#news .newsBox .date{
	margin-bottom: 0.2em;
	color: #666;
}
#news .newsBox h4{
	font-size: 150%;
	line-height: 1.4;
	font-weight: 700;
	margin-bottom: 1.3em;
}
#news .newsBox p{
	margin-bottom: 1em;
}

#news .newsBox > p:last-child{
	margin-bottom: 0;
}
#news .newsBox > div a{
	text-decoration: underline;
}
#news .newsBox > div a:hover{
	text-decoration: none;
}
#news .newsBox ul{
	margin-bottom: 1em;
}
#news .newsBox li{
	text-indent: -1.3em;
	padding-left: 1.3em;
	margin-bottom: 0.5em;
	font-size: 87%;
	line-height: 1.25;
}
#news .newsBox li::before{
	content: "※ ";
}
#news .newsBox img{
	width: auto;
	max-width: 1092px;
}
#news .newsBox iframe{
	width: 100%;
	height: 50vw;
	max-height: 655px;
}
#news .newsBox .aligncenter{
	display: block;
	text-align: center;
	margin-left:auto;
	margin-right: auto;
}



@media screen and (max-width: 1500px) {/* 1500px */

	footer #footerNavBox h1{
		width: 35vw;
	}


/*-- ========== TOP ========== --*/
	#top main article{
		background: url("../img/topImg.jpg") right -34vw top 20vw no-repeat;
		background-size: 125vw;
		padding-top: 12.5vw;
	}

	#newsList a span img{
		width: 1vw;
	}

	#youtubeBox iframe{
		width: 44.8vw;
		height: 25.2vw;
	}

	#imgList li img{
		height: 20vw;
	}
	
	#intro #introImg #introImg01{
		width: 40vw;
		left: 0.04vw;
	}
	#intro #introImg #introImg02{
		width: 16.6vw;
		left: -4.3vw;
		top: 24.5vw;
	}
	#intro #introImg #introImg03{
		width: 23.3vw;
		left: 18.8vw;
		top: 31vw;
	}
	#intro #introImg #introImg04{
		width: 14.4vw;
		left: 1.5vw;
		top: 50vw;
	}

	#topNav > div a{
		height: 35vw;
	}
	#topNav > div a p >span img{
		width: 1vw;
	}


}



@media screen and (max-width: 1366px) {/* iPad pro　landscape */

	#event .eventList p img{
		width: 100%;
		max-width: 1216px;
	}

}



@media screen and (max-width: 1194px) {/* iPad pro 11　landscape */



}



@media screen and (max-width: 1024px) {/* iPad pro　portrait */

	#base article{
		padding-top: 0;
	}

	header{
		position: relative;
		
	}
	header #header{
		display: block;
		background: #fff;
		padding: var(--size-80px)
	}
	header h1{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 100%;
		padding: 0;
		max-width: inherit;
		margin: 0 auto;
	}
	header h1 a{
		display: block;
		width: 25vw;
	}
	header ul{
		position: fixed;
		justify-content: center;
		align-items: center;
		left: 0;
		bottom: 0;
		width: 100%;
		background: #fff;
		color: #111;
		padding: var(--size-60px) 0;
		margin-right: 0;
		font-size: 125%;
	}
	header li a span{
		transition: inherit;
	}
	header li:last-child img{
		width: 5vw;
	}

	footer #footerNav{
		padding-bottom: calc(var(--size-240px) + var(--size-240px));
	}

	.btnBox{
		flex-wrap: wrap;
	}
	.btnBox a{
		padding: 2em 1em;
		width: 50%;
		background: url("../img/link.svg") right 1em center no-repeat var(--blue);
		background-size: 2vw;
		transition: inherit;
	}
	.btnBox a:hover{
		background: url("../img/link.svg") right 1em center no-repeat var(--blueOn);
		color: #fff;
		background-size: 2vw;
	}


/*-- ========== infoBox ========== --*/
	#infoBox #infoBoxOverview{
		display: block;
	}
	#infoBox #infoBoxOverview div:first-child{
		width: 100%;
		padding: 0;
	}
	#infoBox #infoBoxOverview div:first-child img{
		width: 40%
	}
	#infoBox #infoBoxOverview > div:last-child{
		width: 100%;
		padding-left: 0;
		margin-top: var(--size-80px);
	}
	#infoBox .btnBox a{
		width: calc(49.8% - var(--size-40px));
		margin: var(--size-5px) var(--size-10px);
	}


/*-- ========== TOP ========== --*/
	#top main article{
		background: url("../img/topImg.jpg") right -34vw top 11vw no-repeat;
		background-size: 125vw;
		padding-top: 5vw;
	}

#mv .caption{
	right: var(--size-20px);
	bottom: calc(var(--size--100px) + var(--size--100px));
	font-size: 50%;
}

	#newsBox{
		margin-top: var(--size-280px);
	}
	.newsCon{
		width: 75%;
	}
	#newsList{
		width: calc(25% - 1em);
	}

	#youtubeBox iframe{
		width: 60vw;
		height: 33.6vw;
	}

	#intro{
		flex-wrap: wrap;
	}
	#intro > div {
		width: 100%;
	}
	#intro #introImg{
		height: 99vw;
	}
	#intro #introImg #introImg01{
		width: 60vw;
		left: 13vw;
	}
	#intro #introImg #introImg02{
		width: 25vw;
		left: 8vw;
		top: 37vw;
	}
	#intro #introImg #introImg03{
		width: 35vw;
		left: 42vw;
		top: 46vw;
	}
	#intro #introImg #introImg04{
		width: 22vw;
		left: 16vw;
		top: 75vw;
	}
	#intro #introTxt{
		display: flex;
		flex-wrap: wrap;
		padding-left: 0;
	}
	#intro #introTxt h2{
		order: 2;
		width: 100%;
	}
	#intro #introTxt p{
		order: 3;
		width: 100%;
	}
	#intro #introTxt p.caption{
		order: 1;
		width: 100%;
		margin-bottom: var(--size-100px);
	}
	#intro #introTxt #eoBtn{
		order: 4;
		width: 100%;
	}

	#topNav > div a{
		height: 38vw;
	}
	#topNav > div a p >span img{
		width: 2vw;
	}

/*-- ========== EVENT ========== --*/
	#event .eventList .btnBox a{
		background: url("../img/link_b.svg") right 1em center no-repeat #eee;
		background-size: 2vw;
		transition: inherit;
		width: 80vw;
	}
	#event .eventList .btnBox a:hover{
		background: url("../img/link_b.svg") right 1em center no-repeat #fff;
		background-size: 2vw;
	}

}



@media screen and (max-width: 768px) {/* TB */
	.loading-animation #pc{
		display: none;
	}
	.loading-animation #sp{
		display: block;
	}

	.atnt{
		text-align: left;
		padding: var(--size-38px);
	}

	#cbnr{
		width: 90vw;
		left: 5.2vw;
		bottom: 20vw;
	}

	header h1 a{
		width: 40vw;
	}
	header ul{
		height: 18vw;
		font-size: 88%;
	}
	header ul a{
		padding-top: var(--size-20px);
	}

	footer #pageTop a{
		width: 10vw;
	}
	footer #footerNav{
		padding-top: var(--size-240px);
		padding-bottom: calc(var(--size-240px) + var(--size-240px));
	}
	footer #footerNavBox{
		width: 100%;
		flex-wrap: wrap;
		padding-bottom: var(--size-100px);
	}
	footer #footerNavBox h1{
		order: 1;
		margin: 0 auto;
		
	}
	footer #footerNavBox div{
		order: 2;
		justify-content: space-between;
		margin: var(--size-160px) 0;
	}
	footer #footerNavBox div ul{
		width: 44vw;
		padding-right:0;
	}
	footer #footerNavBox div li{
		margin-top: var(--size-80px);
	}
	footer #footerNavBox div li:first-child{
		margin-top: 0;
	}
	footer #footerNav p{
		text-align: center;
	}
	footer #footerNavBox h1{
		width: 50vw;
	}

	.btnBox a{
		padding: 2em 1em;
		width: 80%;
		background-size: 4vw;
		transition: inherit;
	}
	.btnBox a:hover{
		background-size: 4vw;
	}

	.under section > h3 strong{
		font-size: 225%;
	}

	.copyright{
		margin-top: 0.1em;
	}
	.copyright img{
		width: 20vw !important;
	}

	#ttl{
		display: block;
		padding:var(--size-60px) var(--size-40px);
		margin-left: 0;
		margin-bottom: var(--size-160px);
	}
	#ttl strong{
		font-size: 200%;
		display: block;
		margin-bottom: 0.1em;
	}
	#ttl span{
		font-size: 87%;
	}

/*-- ========== infoBox ========== --*/
	#infoBox{
		padding: var(--size-160px) var(--size-40px);
	}
	#infoBox .ovList dl{
		display: block;
		width: 100%;
		border-bottom: none;
		padding: 0;
		margin-top: var(--size-80px);
	}
	#infoBox .ovList dt{
		display: block;
		width: 100%;
		padding-right: 0;
		padding: 0.8em 0;
		margin-bottom: 0.6em;
		background: var(--blue);
		color: #fff;
		text-align: center;
	}
	#infoBox .ovList dt span{
		width: 100%;
		display: inline-block;
	}
	#infoBox .ovList dt::after{
		content: inherit;
	}
	#infoBox .ovList dd{
		width: 100%;
		padding: 0 0.5em;
	}

	#infoBox .pcTable{
		display: none;
	}
	#infoBox .spTable{
		display: block;
	}
	#infoBox #infoBoxTicket ul{
		margin-top: 1em;
	}
	#infoBox #ticketBox .spTable:last-child{
		margin-top: 0.5em;
	}
	#infoBox #ticketBox th,
	#infoBox #ticketBox td{
		width: 100vw;
		font-size: 100%;
		padding: var(--size-80px) var(--size-10px);
	}
	#infoBox #ticketBox tr th:first-child{
		width: 35%;
	}
	#infoBox #infoBoxSponsored #sponsoredList{
		width: 100%;
	}
	#infoBox .btnBox a{
		width: 100%;
	}


/*-- ========== TOP ========== --*/

	#top #header{
		padding-top: 0;
	}
	#top #header h1{
		display: none;
	}
	#top main article{
		padding-top: 0;
	}
	#mv{
		display: none;
	}
	#mvSp{
		display: block;
	}
	#mvSp .caption{
		position: absolute;
		right: var(--size-20px);
		bottom: 0;
		z-index: 2;
		font-size: 40%;
		text-align: right;
	}

	#youtubeBox iframe{
		width: 84vw;
		height: 47vw;
	}

	#newsBox{
		display: block;
		margin-top: var(--size-40px);
	}
	.newsCon{
		width: 100%;
		display: block;
	}
	.newsCon .newsTtl {
		width: 100%;
	}
	.newsCon .day:after {
		content: "";
	}
	#newsList{
		width: 100%;
		height: auto;
		margin-left: 0;
		margin-top: 0.5em;
	}
	#newsList a,
	#newsList a:hover{
		background: url("../img/link.svg") right 1.5em center no-repeat var(--blue);
		background-size: 4vw;
		transition: inherit;
	}
	#newsList a strong{
		display: block;
		padding: 1em 0;
	}
	#newsList a span:last-child{
		display: none;
	}
	#imgList li img{
		height: 30vw;
		width: auto;
	}

	#intro #eoBtn a{
		padding: 2.5em 1.5em;
		background: url("../img/link.svg") right 1.5em center no-repeat var(--blue);
		background-size: 4vw;
		transition: inherit;
	}
	#intro #eoBtn a:hover{
		background: url("../img/link.svg") right 1.5em center no-repeat var(--blueOn);
		background-size: 4vw;
	}

	#topNav{
		padding: 0;
	}
	#topNav > div{
		flex-wrap: wrap;
	}
	#topNav > div a{
		width: 50%;
		height: 70vw;
	}
	#topNav a p strong{
		font-size: 160%;
		line-height: 1.2;
	}
    #topNav > div a p >span img {
        width: 2.8vw;
    }



/*-- ========== EVENT ========== --*/

	#event .tableBox .tableFlex{
		display: block;
		padding-bottom: 1px;
	}
	#event .tableBox .tableFlex .tableBoxTh{
		margin-right: 0;
		margin-bottom: 1px;
		width: 100%;
	}
	#event .tableBox .tableFlex .tableBoxTd{
		width: 100%;
	}
	#event .eventList .btnBox a{
		padding: 2em 1em;
		width: 100%;
		background-size: 4vw;
		transition: inherit;
	}
	#event .eventList .btnBox a:hover{
		background-size: 4vw;
	}



/*-- ========== Goods ========== --*/
	#goods #goodsBoxIn .goods2{
		justify-content: center;
	}
	#goods #goodsBox .goods1 > div,
	#goods #goodsBox .goods2 > div{
		width: 100%;
		padding: 0 var(--size-20px);
		margin-top: var(--size-60px);
	}
	#goods #goodsBox .goods1 > div img,
	#goods #goodsBox .goods2 > div img{
		display: block;
		margin: 0 auto;
		max-width: 90%;
	}
	#goods .goods1 > div, #goods .goods2 > div {
		margin-right: 0;
	}
	#goods #goodsBox .goods3 > div{
		width: calc(100% / 2.06);
		padding: 0 var(--size-20px);
		margin-top: var(--size-60px);
	}
	#goods .goods3 > div:nth-child(3n){
		margin-right: var(--size-40px);
	}
	#goods .goods3 > div:nth-child(2n){
		margin-right: 0;
	}
	#goods #goodsBox .goods3 > div img{
		max-width: 100%;
	}
	#goods #goodsBox .goods3 p{
		font-size: 84%;
	}

}



@media screen and (max-width: 759px) {/* SP */


/*-- ========== TOP ========== --*/
	#mvSp .caption{
		font-size: 46%;
	}


/*-- ========== Exhibition Overview ========== --*/
	#eo #eoImg01{
		height: 30vh;
		max-height: inherit;
	}
	#eo #sirTOC{
		flex-wrap: wrap;
		padding-top: var(--size-120px);
	}
	#eo .profileImg{
		width: 80%;
		margin: 0 auto;
		margin-bottom: var(--size-80px) !important;
	}
	#eo #sirTOC .profileImg .caption{
		text-align: left;
	}
	#eo .profileTxt{
		width: 100%;
		padding-left: 0;
	}
	#eo #eoImg02{
		display: block;
	}
	#eo #eoImg02 img{
		width: 100%;
	}
	#eo #profileBoxIn{
		flex-wrap: wrap;
		padding: var(--size-120px) var(--size-40px);
	}
	#eo #profileBoxIn .profileImg{
		width: 100%;
	}
	


/*-- ========== Goods ========== --*/
	#goods #goodsBox .goods1 > div,
	#goods #goodsBox .goods2 > div{
		padding: 0;
	}
	#goods #goodsBox .goods1 > div img,
	#goods #goodsBox .goods2 > div img{
		max-width: inherit;
	}
	#goods #goodsBox .goods3{
		justify-content: center;
	}
	#goods #goodsBox .goods3 > div{
		width: 100%;
		margin-right: 0;
		padding: 0;
	}
	#goods #goodsBox .goods3 > div img{
		display: block;
		margin: 0 auto;
		max-width: 90%;
	}
	#goods #goodsBox .goods3 p{
		font-size: 84%;
	}

}
