@import url('https://fonts.googleapis.com/css2?family=Inter:ital,opsz,wght@0,14..32,600;1,14..32,600&family=Noto+Sans+JP:wght@100..900&display=swap');
@import url("default.css");

* {-webkit-text-size-adjust:100%;}
a:link {text-decoration:none; color:#333;}
a:visited{text-decoration:none; color:#333;}
a:hover{text-decoration:none; color:#333;}
a:active{text-decoration:none; color:#333;}

.grecaptcha-badge { opacity: 0; pointer-events: none; }
.full-width { margin-left: calc(-50vw + 50%); margin-right: calc(-50vw + 50%); }
.allWrapper { overflow: hidden; }
.container-fluid { max-width: 1160px; padding-left: 25px; padding-right: 25px; }
.container-fluid.mini { max-width: 900px; }

body { font-size: 16px; line-height: 1.8; color: #333; background-color: #fff; font-family: "Noto Sans JP", sans-serif; font-weight: 400; }
header { position: fixed; left: 0; top: 0; width: 100%; z-index: 100; padding: 0 30px; transition: .3s; background: rgba(255,255,255,0); }
header.add-color { background: rgba(255,255,255,.9); box-shadow: 0 2px 5px rgba(0,0,0,.1); }
header .logo img { height: 70px; }
header .wrap { display: flex; justify-content: space-between; align-items: center; }
header .gnav ul { display: flex; align-items: center; }
header .gnav ul li { padding: 0 20px; position: relative; }
header .gnav ul a { padding: 30px 0; display: block; position: relative; transition: .3s; font-weight: bold; letter-spacing: .04em; }
header .gnav ul a:before { content: ""; transition: .3s; height: 5px; background: #333; position: absolute; bottom: 0; left: 0; width: 0; }
header .gnav ul a:hover:before { width: 100%; }
header .menu-trg-area { position: fixed; top: 10px; right: 15px; margin: auto; display: none; width: 40px; height: 40px; background: #333; border-radius: 3px; cursor: pointer;}
header .menu-trigger,
header .menu-trigger span { display: inline-block; transition: all .4s; box-sizing: border-box;}
header .menu-trigger { position: absolute; top: 13px; width: 17px; height: 13px; z-index: 2; left: 0; right: 0; margin: auto;}
header .menu-trigger span { position: absolute; left: 0; width: 100%; height: 1px; background-color: #fff;}
header .menu-trigger span:nth-of-type(1) { top: 0;}
header .menu-trigger span:nth-of-type(2) { top: 6px;}
header .menu-trigger span:nth-of-type(3) { bottom: 0;}
header .menu-trigger.active span:nth-of-type(1) { -webkit-transform: translateY(20px) rotate(-45deg); transform: translateY(20px) rotate(-45deg); top: -14px;}
header .menu-trigger.active span:nth-of-type(2) { left: 50%; opacity: 0; -webkit-animation: active-menu-bar02 .8s forwards; animation: active-menu-bar02 .8s forwards;}
header .menu-trigger.active span:nth-of-type(3) { -webkit-transform: translateY(-20px) rotate(45deg); transform: translateY(-20px) rotate(45deg); bottom: -14px;}
.logo_content img { width: 350px; }
footer { margin-top: 100px; }
.footer-nav { display: flex; align-items: center; }
.footer-nav li { padding: 0 20px; position: relative; }
.footer-nav li:first-child { padding-left: 0; }
.footer-nav a { display: block; position: relative; transition: .3s; font-weight: bold; letter-spacing: .04em; }
.footer-top { padding-bottom: 50px; border-bottom: 1px solid #333; margin-bottom: 70px; }
.footer-contact { border: 1px solid #333; padding: 35px; padding-right: 30%; position: relative; display: block; transition: .3s; }
.footer-contact .arrow { position: absolute; right: 10%; bottom: 0; top: 20px; margin: auto 0; width: 140px; height: 2px; background-color: #333; }
.footer-contact .arrow:before { content: ""; position: absolute; right: -2px; width: 40px; height: 2px; background-color: #333; transform: rotate(35deg); bottom: 12px; }
.footer-contact .section-title { margin-bottom: 20px; }
.footer-contact:hover { background-color: #333; color: #fff; }
.footer-contact:hover .arrow { background-color: #fff; }
.footer-contact:hover .arrow:before { background-color: #fff; }
.footer-tel .tel small { font-size: 18px; font-weight: bold; }
.footer-tel .tel strong { font-size: 30px; font-weight: bold; }
.footer-bottom { padding: 20px 0; border-top: 1px solid #333; margin-top: 60px; }
.footer-bottom .sns ul { display: flex; align-items: center; }
.footer-bottom .sns ul li { margin-right: 10px; font-size: 20px; }
.slick-dotted.slick-slider { margin-bottom: 0; }
hr { margin: 1em 0; }
section { padding: 70px 0; }
.base-title { font-size: 24px; font-weight: bold; margin-bottom: 20px; }
.bg-gray { background-color: #f3f3f2; }
.bg-half-gray { position: relative; }
.bg-half-gray:before { content: ""; position: absolute; top: 300px; left: 0; width: 100%; height: calc(100% - 300px); background-color: #f3f3f2; z-index: -1; }
.first-slider img { width: 100%; object-fit: cover; height: 100vh; }
.first-slider .slick-dots { position: absolute; left: 30px; bottom: 30px; right: auto; text-align: left; display: flex; align-items: center; justify-content: flex-start; }
.slick-dots li { width: auto; margin: 0 5px; height: auto; display: block; }
.slick-dots li button { width: 40px; height: 5px; background-color: rgba(255,255,255,.5); padding: 0; }
.slick-dots li button:before { display: none; }
.slick-dots li.slick-active button { background-color: #fff; }
.catch-title { font-size: 24px; font-weight: bold; text-align: center; line-height: 1.6; }
.button { border-radius: 3px; display: inline-block; max-width: 100%; width: 240px; padding: 10px; display: inline-block; background-color: #333; border: 1px solid #333; color: #fff!important; text-align: center; transition: .3s; }
.button:hover { background-color: #fff; color: #333!important; }
.button.full { width: 100%; }
.button.min { width: 180px; }
.news-list { margin-top: -15px; }
.news-list li a { display: flex; align-items: center; border-bottom: 1px solid #999; padding: 20px 0; transition: .3s; }
.news-list li a:hover { background-color: #f5f5f5; }
.news-list li .date { width: 100px; font-size: 14px; color: #999; }
.news-list li .cat { width: 100px; }
.news-list li .title { width: calc(100% - 200px); font-size: 14px; color: #333; letter-spacing: .04em; }
.cat-label { display: inline-block; padding: 3px 10px; background-color: #333; color: #fff; font-size: 12px; font-weight: bold; border-radius: 3px; white-space: nowrap; }
.cat-label.is-clear { background-color: #fff; color: #333; border: 1px solid #333; }
.section-title { margin-bottom: 40px; }
.section-title .en { font-size: 28px; font-weight: bold; letter-spacing: .1em; }
.section-title .jp { font-size: 14px; font-weight: bold; letter-spacing: .1em; margin-top: 5px; }
.event-item { margin-bottom: 50px; display: block; }
.event-title { display: flex; }
.event-title .name { padding-left: 10px; font-weight: bold; }
.event-photo { position: relative; padding-top: 65.6%; margin-bottom: 15px; }
.event-photo img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.event-date { border: 1px solid #999; border-left: none; border-right: none; padding: 10px 0; margin-top: 15px; display: flex; }
.event-date dt { white-space: nowrap; }
.cube-label { background-color: #333; color: #fff; border-radius: 100px; text-align: center; display: inline-block; padding: 6px 30px; font-size: 18px; letter-spacing: .06em; }
.catch-copy { font-size: 24px; line-height: 1.6; text-align: center; margin-bottom: 30px; font-weight: bold; }
.section-access .map iframe { width: 100%; height: 400px; border: 0; filter: grayscale(100%); }
.archive-item { display: block; margin-bottom: 50px; }
.archive-slider { margin-bottom: 60px; }
.archive-slider .photo,
.archive-item .photo { margin-bottom: 15px; }
.archive-slider .name,
.archive-item .name { font-weight: bold; border-bottom: 1px solid #999; padding-bottom: 10px; }
.archive-slider .slick-next { top: calc(100% + 50px); right: 25px; width: 70px; height: 20px; border-bottom: 1px solid #333; }
.archive-slider .slick-next:after { content: ""; position: absolute; right: -1px; top: 13px; width: 20px; height: 1px; background-color: #333; transform: rotate(35deg); }
.archive-slider .slick-next:before { display: none; }
.archive-slider .slick-prev { top: calc(100% + 50px); left: 25px; width: 70px; height: 20px; border-bottom: 1px solid #333; }
.archive-slider .slick-prev:after { content: ""; position: absolute; left: -1px; top: 13px; width: 20px; height: 1px; background-color: #333; transform: rotate(-35deg); }
.archive-slider .slick-prev:before { display: none; }
.page-hero { background-color: #f3f3f2; display: flex; padding: 50px 0 30px; align-items: center; height: 300px; }
.page-hero .en { font-size: 40px; letter-spacing: .1em; font-family: "Inter", "Noto Sans JP", sans-serif; font-weight: 600;}
.page-hero .jp { font-size: 20px; font-weight: bold; letter-spacing: .1em; margin-top: 15px; }
.news-header .wrapper { display: flex; align-items: center; margin-bottom: 20px; }
.news-header .category { margin-left: 15px; }
.news-header .date { font-size: 14px; color: #999; }
.news-header .cat-label { width: auto; }
.news-header .news-title { font-size: 28px; font-weight: bold; }
.nowrap { white-space: nowrap; }
.thumbnail-slider { margin-left: -3px; margin-right: -3px; margin-top: 5px; }
.thumbnail-slider .slick-track { transform: none!important; width: 100%!important; display: flex; flex-wrap: wrap; }
.thumbnail-slider .slick-slide { padding: 3px; width: calc(100% / 6)!important; position: relative; cursor: pointer; }
.thumbnail-slider .slick-slide:before { content: ""; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #333; opacity: 0; transition: .3s; }
.thumbnail-slider .slick-current:before { opacity: 1; }
.thumbnail-cover { position: relative; padding-top: 65.6%; }
.thumbnail-cover img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover; }
.tab-buttons { display: flex; justify-content: space-between; margin-bottom: 70px; border-bottom: 10px solid #333; }
.tab-button { background-color: #eee; width: 48%; text-align: center; display: flex; height: 80px; align-items: center; justify-content: center; font-size: 20px; font-weight: bold; color: #333; border-radius: 10px 10px 0 0; cursor: pointer; transition: .3s; }
.tab-button.active { background-color: #333; color: #fff; }
.tab-contents .tab-pane { display: none; }
.tab-contents .tab-pane.active { display: block; }
.artist-name { margin: 20px 0 30px; position: relative; border-bottom: 2px solid #999; padding-bottom: 20px; }
.artist-name:before { content: ""; position: absolute; bottom: -2px; left: 0; width: 15%; height: 2px; background-color: #333; z-index: 1; }
.artist-name .main-name { font-size: 34px; font-weight: 600; }
.artist-name .sub-name { font-size: 16px; margin-top: 10px; }
.sponsor-list li { background-color: #f3f3f2; padding: 30px; margin-bottom: 10px; border-radius: .3em; }
.teaser-title { border-bottom: 3px solid #ddd; position: relative; padding-bottom: 15px; margin-bottom: 30px; }
.teaser-title .en { font-size: 12px; font-weight: bold; letter-spacing: .1em; color: #999; position: absolute; right: 0; bottom: -12px; background: #fff; padding-left: 10px; }
.teaser-title .jp { font-size: 30px; font-family: "Inter", "Noto Sans JP", sans-serif; font-weight: 600; }
.teaser-title:before { content: ""; position: absolute; bottom: -3px; left: 0; width: 15%; height: 3px; background-color: #333; z-index: 1; }
.bg-gray .teaser-title .en { background-color: #f3f3f2; }
.dl-table { border-bottom: 1px solid #ddd; }
.dl-table dl { display: flex; flex-wrap: wrap; border: 1px solid #ddd; border-bottom: none; }
.dl-table dt { width: 140px; font-weight: bold; background-color: #eee; text-align: center; margin-bottom: 0; padding: 10px 15px; }
.dl-table dd { width: calc(100% - 140px); margin-bottom: 0; padding: 10px 15px; background-color: #fff; }
.theme-name strong { font-weight: 700; font-size: 30px; }
.theme-name small { font-size: 16px; font-weight: 400; margin-left: 15px; }
.inter { font-family: "Inter", sans-serif; font-weight: 600; }
.noto { font-family: "Noto Sans JP", sans-serif; font-weight: 400; }
@media (min-width: 768px) {
	.left-full { position: relative; height: 100%; }
	.left-full:before { content: ""; position: absolute; right: 0; top: 0; width: 100vw; height: 100%; background-color: #fff; z-index: -1; }
	.left-full * { position: relative; }
	.left-full.gray:before { background-color: #f3f3f2; }
	.archive-slider { overflow: visible!important; margin-left: -25px; }
	.archive-slider * { overflow: visible!important; }
	.archive-slider .slick-slide { padding: 0 25px; }
}
@media (max-width: 767px) {
	body { font-size: 14px; }
	header { padding: 0 15px; background: rgba(255,255,255,.9); }
	header .wrap { height: 60px; }
	header .logo img { height: 50px !important; }
	header .gnav { position: fixed; left: 0; top: 0; width: 100%; top: 60px; background: rgba(255,255,255,.9); height: 100%; opacity: 0; visibility: hidden; transition: .3s; }
	header .gnav.active { opacity: 1; visibility: visible; }
	header .gnav ul { display: block; padding: 50px 30px; }
	header .gnav ul li { padding-left: 0; padding-right: 0; }
	header .gnav ul li a { padding: 15px 0; border-bottom: 1px solid #E0E2E3; font-weight: bold; position: relative; }
	header .gnav ul li a:after { content: "→"; position: absolute; right: 0; top: 0; bottom: 0; margin: auto 0; display: flex; align-items: center; }
	header .gnav ul li:last-child a { border-bottom: 0; }
	header .menu-trg-area { display: block; }
	footer { margin-top: 40px; }
	.footer-nav { display: none; }
	.footer-top { padding-bottom: 30px; margin-bottom: 40px;}
	.footer-contact { padding: 20px; }
	.footer-contact .arrow { bottom: auto; top: 64px; right: 20px; width: 80px; }
	.footer-contact .arrow:before { bottom: 7px; width: 25px; }
	.footer-bottom { margin-top: 30px; }
	.footer-bottom .sns ul { align-items: center; justify-content: center; margin-right: -10px; }
	.copyright { text-align: center; font-size: 12px; margin-top: 20px; }
	section { padding: 50px 0; }
	.section-title { margin-bottom: 30px; }
	.catch-title { font-size: 18px; }
	.button { width: 180px; padding: 7px 10px; }
	.news-list li a { flex-wrap: wrap; padding: 15px 0; }
	.news-list li .title { width: 100%; margin-top: 5px; }
	.news-list li .date { width: 90px; }
	.cube-label { padding: 4px 20px; font-size: 16px; }
	.catch-copy { font-size: 18px; }
	.archive-slider .slick-next { right: 0; }
	.archive-slider .slick-prev { left: 0; }
	.section-access .map { margin-left: -25px; margin-right: -25px;}
	.section-access .map iframe { height: 300px; }
	.section-title { margin-bottom: 30px; }
	.section-title .en { font-size: 24px; }
	.section-title .jp { font-size: 12px; }
	.event-item { margin-bottom: 40px; }
	.event-item.sp-wide { display: flex; margin-bottom: 30px; }
	.event-item.sp-wide .event-head { width: 32%; }
	.event-item.sp-wide .event-photo { padding-top: 100%; margin-bottom: 0; }
	.event-item.sp-wide .event-contents { width: 68%; padding-left: 20px; }
	.event-item.sp-wide .event-title { display: block; }
	.event-item.sp-wide .event-title .cat { width: 100%; }
	.event-item.sp-wide .event-title .name { padding-left: 0; margin-top: 5px; }
	.event-item.sp-wide .event-date { font-size: 12px; margin-top: 10px; }
	.news-header .news-title { font-size: 20px; }
	.page-hero { height: 200px; padding-top: 70px; padding-bottom: 10px; }
	.page-hero .en { font-size: 30px; }
	.page-hero .jp { font-size: 16px; margin-top: 10px; }
	.tab-buttons { border-bottom: 5px solid #333; margin-bottom: 30px; }
	.tab-button { font-size: 18px; height: 50px;}
	.artist-name { margin: 10px 0 20px; padding-bottom: 20px; }
	.artist-name .main-name { font-size: 28px; }
	.artist-name .sub-name { font-size: 14px; margin-top: 5px; }
	.sponsor-list li { padding: 20px; }
	.teaser-title .en { font-size: 10px; bottom: -10px; padding-left: 7px; }
	.teaser-title .jp { font-size: 20px; }
	.teaser-title:before { width: 25%; height: 2px; bottom: -2px; }
	.dl-table dl { display: block; }
	.dl-table dt, .dl-table dd { width: 100%; text-align: left; padding: 8px 10px; }
	.dl-table dt { font-size: 13px; }
	.dl-table dd { font-size: 13px; }
	.theme-name { flex-wrap: wrap; align-items: start !important; justify-content: start !important; }
	.theme-name_p { width: 100%; }
	.theme-name strong { font-size: 20px; }
	.theme-name small { font-size: 12px; margin-left: 8px; }
}
