@charset "utf-8";

*{
  margin: 0;
  padding: 0;
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
  -webkit-box-shadow: none;
  font-weight: normal;
  box-shadow: none;
  outline: none;
}

html {
  height: 100%;
  font-size: 10px;
  line-height: 1.9;
}

body {
  display: flex;
  flex-direction: column;
  overflow-x: hidden;
  width: 100%;
  min-height: 100%;
  background: url(../images/bg_paper.png);
  background-size: 100% auto;
  color: #171717;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: 1.2rem;
  font-weight: normal;
  line-height: 1.6;
  letter-spacing: 0.05rem;
}

a {
  display: block;
  text-decoration: none;
  width: 100%;
  height: 100%;
  color: #fff;
  transition: filter 0.5s;
}

a:active,
a:hover,
.btn:active,
.btn:hover {
  filter: brightness(0.9);
}

a:visited {
  color: #fff;
}

img {
  width: 100%;
  height: auto;
  vertical-align: middle;
}

li {
  list-style: none;
}

input,
button,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: rgba(255,255,255,0.5);
  border: none;
  border-radius: 0;
  font: inherit;
  font-family: 'Noto Sans JP', sans-serif;
  padding: 1.2rem 1.8rem;
  outline: none;
}

table,
input,
textarea {
  width: 100%;
}

textarea {
  resize: none;
}

address {
  font-style: normal;
}

.flexbox {
  display: flex;
  justify-content: flex-between;
}

.br-pc {
  display: none;
}

.img-pc {
  display: none;
}

iframe[src$=".pdf"]{
  width:100%;
  height:90vh;
}

.btn,
input[type="submit"] {
  width: 100%;
  padding: 2rem 1.8rem;
  background: #171717;
  font-family: 'Noto Sans JP', sans-serif;
  color: #fff;
  text-align: center;
  line-height: 1;
  transition: filter 0.5s;
}

.btn:visited {
  color: #fff;
}

header {
  position: relative;
  width: 100%;
}

#top-header-wrap {
  display: flex;
  flex-direction: column;
}

#top-img {
  position: relative;
}

/* MENU */

#menu-list {
  background-color: #0a2a1f;
}

#menu-list ul {
  position: absolute;
  flex-direction: column;
  justify-content: flex-start;
  width: 100%;
  height: 100vh;
  background: rgba(53, 53, 53, 0.95);
  top: 50px;
  left: 0;
  z-index: 1;
  transform: translateX(100%);
  transition: all 0.2s;
}

#lang-nav + #common-header + #menu-list ul {
  top: 80px;
}

#menu-list ul.open {
  transform: translateX(0%);
}

#menu-list li a {
  position: relative;
  padding: 1em;
  border-bottom: solid 1px #fff;
  color: #fff;
  font-size: 1.8rem;
  text-align: left;
  letter-spacing: 0.06em;
}

#menu-list li a::after {
  position: absolute;
  content: "";
  width: min(1.4vw, 12px);
  height: min(2vw, 19px);
  margin: auto;
  background: url(../images/icon_arrow.svg);
  background-repeat: no-repeat;
  transform: scale(-1, 1) ;
  top: 0;
  bottom: 0;
  right: 3vw;
}

#menu-list li a.nav-red {
  background-color: #e5261e;
}

/* SPメニュー */

#nav-sp {
  display: block;
}

#nav-sp {
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  background: transparent;
}

#nav-sp span {
  width: 2rem;
  height: 2px;
  background: #fff;
  display: block;
  position: absolute;
  left: 1.5rem;
  transition: all .4s;
}

#nav-sp span:nth-child(1) {
  top: 16px;
}

#nav-sp span:nth-child(2) {
  top: 23px;
}

#nav-sp span:nth-child(3) {
  top: 30px;
}

#nav-sp.on span:nth-child(1) {
  top: 18px;
  left: 12px;
  transform: translateY(6px) rotate(-45deg);
  width: 53%;
}

#nav-sp.on span:nth-child(2) {
opacity: 0;
}

#nav-sp.on span:nth-child(3){
  top: 30px;
  left: 12px;
  transform: translateY(-6px) rotate(45deg);
  width: 53%;
}

#lang-nav ul {
  display: flex;
  justify-content: flex-end;
  width: 100%;
  padding: 0.3em 0;
  background-color: #171717;
  color: #fff;
  font-family: 'Noto Sans JP', sans-serif;
}

#lang-nav li {
  padding: 0 1.5em;
  border-right: solid 1px #fff;
}

#lang-nav li:last-child {
  border-right: none;
}

#lang-sw {
  text-decoration: underline;
  cursor: pointer;
}

#lang-menu {
  position: absolute;
  width: 40vw;
  margin: auto;
  top: 26vw;
  left: 0;
  right: 0;
}

#lang-menu ul {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

#lang-menu li {
  width: 18.5vw;
}

.unext-link {
  position: absolute;
  width: 50vw;
  height: auto;
  margin: auto;
  top: 34vw;
  left: 0;
  right: 0;
}

#movie-top {
  position: absolute;
  width: 60vw;
  height: 25vw;
  margin: auto;
  top: 1vw;
  left: 0;
  right: 0;
}

.music {
  position: absolute;
  cursor: pointer;
  width: 6.5vw;
  height: 6.5vw;
  margin: auto;
  background: url(../images/icon_sound_off.svg) no-repeat;
  top: 2vw;
  left: 0;
  right: -70vw;
}

.music.on {
  background: url(../images/icon_sound_on.svg) no-repeat;
}

#common-header {
  display: flex;
  align-items: center;
  padding: 0;
  background: #033826;
  color: #fff;
  text-align: center;
  font-family: 'Anton', sans-serif;
  letter-spacing: 0;
}

#common-header #lang-menu li {
  font-family: 'Noto Sans JP', sans-serif;
  border-right: solid 1px #fff;
}

#common-header #lang-menu li a {
  color: #fff;
}

#common-header h1 {
  margin-bottom: 0;
  font-size: clamp(20px, 4.3vw, 43px);
}

#common-header h1 img {
  width: min(15vw, 235px);
  margin-right: min(4vw, 40px);
}

#common-header.fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 2;
}

h1 {
  width: 100%;
}

h2 {
  width: clamp(38px, 5vw, 53px);
  border-right: solid 2px #033826;
}

h2 span {
  display: block;
  color: #033826;
  font-family: 'Anton', sans-serif;
  font-size: clamp(40px, 5.2vw, 57px);
  line-height: 1;
  writing-mode: vertical-rl;
  -webkit-writing-mode: vertical-rl;
  transform: rotate(180deg);
}

.common-content h2 {
  width: 100%;
  margin-bottom: min(8vw, 80px);
  border-right: none;
  font-size: clamp(20px, 5.8vw, 34px);
  font-weight: 900;
  color: #033826;
  text-align: center;
}

h3 {
  margin-bottom: min(3vw, 30px);
  font-size: clamp(20px, 5.8vw, 34px);
  font-weight: 900;
  line-height: 1.5em;
  color: #033826;
}

h4 {
  margin-bottom: min(5vw, 50px);
  font-size: clamp(12px, 3.6vw, 22px);
  font-weight: 700;
  line-height: 1.5em;
  letter-spacing: 0.05em;
  color: #033826;
}

.common-content h4 {
  margin-top: min(10vw, 50px);
  margin-bottom: min(2vw, 20px);
}

.common-content a {
  color: #e5261e;
}

.common-content li {
  /*list-style: disc;*/
  margin-left: 2rem;
}

section {
  position: relative;
  display: flex;
  justify-content: space-between;
  width: min(100%, 1000px);
  margin: 0 auto;
  margin-bottom: min(10vw, 100px);
}

section.common-content {
  flex-direction: column;
  padding: min(5vw, 50px);
}

.layout-r {
  width: min(100%, 887px);
  height: 100%;
  padding: 0 5vw;
}

.event-overview {
  margin-top: min(3vw, 20px);
  text-align: center;
}

.event-overview > p {
  display: inline-block;
}

.event-overview > p:last-of-type {
  display: block;
}

.event-date {
  font-family: 'Anton', sans-serif;
  font-size: clamp(40px, 15vw, 90px);
  color: transparent;
  line-height: 1.25;
  text-stroke: min(0.38vw, 2px) #e5261e;
  -webkit-text-stroke: min(0.38vw, 2px) #e5261e;
}

.event-date > span {
  position: relative;
  margin-left: min(1.5vw, 15px);
  padding-left: min(3vw, 12px);
  padding-right: min(3vw, 12px);
  font-size: clamp(30px, 9vw, 62px);
}

.event-date > span::before,
.event-date > span::after {
  position: absolute;
  content: "";
  width: 6px;
  height: clamp(30px, 7vw, 46px);
  margin: auto;
  top: 0;
  bottom: 0;
}

.event-date > span::before {
  background: url(../images/brackets_l.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  left: 0;
}

.event-date > span::after {
  background: url(../images/brackets_r.svg);
  background-repeat: no-repeat;
  background-size: 100% 100%;
  right: 0;
}

.venue {
  width: clamp(230px, 79vw, 474px);
  margin: 0 auto;
  border: solid min(0.38vw, 2px) #e5261e;
  font-size: clamp(16px, 3vw, 24px);
  color: #e5261e;
}

.img-dance {
  mix-blend-mode: overlay;
}

#content-wrap {
  flex: 1;
  overflow-x: hidden;
  position: relative;
  width: 100%;
}

#content-wrap > p {
  position: absolute;
  height: fit-content;
}

#content-wrap > p:nth-of-type(1) {
  width: min(75.4vw, 424px);
  top: 113vw;
  left: -10px;
  z-index: -1;
}

#content-wrap > p:nth-of-type(2) {
  width: min(60vw, 424px);
  bottom: min(10vw, 35px);
  right: -10px;
}

.breadcrumbs {
  width: min(100%, 1000px);
  margin: 0 auto;
  padding: min(5vw, 50px);
  padding-top: min(3vw, 30px);
  padding-bottom: min(3vw, 30px);
}

.breadcrumbs ul {
  display: flex;
  flex-wrap: wrap;
}

.breadcrumbs li {
  position: relative;
  font-size: clamp(12px, 1.6vw, 16px);
}

.breadcrumbs li:first-child {
  padding-left: min(3.5vw, 35px);
}

.breadcrumbs li:first-child::after {
  position: absolute;
  content: "";
  width: min(2.2vw, 22px);
  height: min(2.1vw, 21px);
  margin: auto;
  background: url(../images/icon_home.svg);
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
  left: 0;
}

.breadcrumbs li::before {
  content: ">";
  padding: min(1.6vw, 16px);
}

.breadcrumbs li:first-child::before {
  display: none;
}

.breadcrumbs li a {
  display: inline;
  color: #033826;
  text-decoration: underline;
}

.btn-header-link {
  padding: 4px;
  background-color: #e5261e;
}

.btn-header-link a {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  border: solid 1px #fff;
  font-family: 'Anton', sans-serif;
  font-size: min(5vw, 40px);
  line-height: 1.6;
  text-align: center;
}

.btn-header-link a > span {
  padding-left: 3rem;
  font-family: 'Noto Sans JP', sans-serif;
  font-size: min(3.4vw, 18px);
}

/*////////// ABOUT //////////*/

#about {
  margin-top: 7vw;
}

#about .img-dance {
  width: min(78vw, 531px);
  margin: 30px auto 0;
}

#about .txt-important-wrap {
  margin-top: 3.5em;
}

#about .txt-important + p {
  color: #e5261e;
  font-size: clamp(12px, 3.6vw, 22px);
}

/*////////// Participating countries　//////////*/

#participating-countries {
  margin-bottom: 0;
}

.txt-achievement {
  padding-bottom: 0.2em;
  color: #033826;
  font-size: clamp(16px, 2.2vw, 22px);
}

.txt-achievement + p {
  font-size: clamp(10px, 2vw, 14px);
  line-height: 2;
}

#participating-countries > p {
  padding: min(5vw, 50px);
  padding-left: min(14vw, 60px);
  padding-bottom: min(3vw, 30px);
  font-size: clamp(14px, 1.6vw, 16px);
  text-align: left;
  line-height: 2.2;
}

#participating-countries .layout-r,
#side-contents .layout-r {
  align-self: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

#participating-countries .layout-r {
  padding: 0;
}

#participating-countries p.txt-note {
  margin-top: 1em;
  padding: 0;
  font-size: clamp(12px, 1.4vw, 14px);
  text-align: right;
}

/*////////// ACCESS //////////*/

#access {
  margin: 0 auto;
  margin-bottom: min(20vw, 200px);
}

#access .layout-r {
  padding-left: 0;
}

.venue-wrap {
  flex-direction: column;
  margin-bottom: min(5vw, 50px);
  padding-right: min(5vw, 50px);
  padding-left: min(5vw, 50px);
}

.venue-wrap > p {
  align-self: flex-start;
  width: auto;
  margin-bottom: 0.8em;
  padding: 0.2em 1em;
  border: solid 1px #033826;
  color: #033826;
  font-size: clamp(14px, 1.8vw, 16px);
  text-align: center;
  letter-spacing: 0.3rem;
}

address {
  padding-left: min(3vw, 24px);
}

address > p {
  color: #033826;
  font-size: clamp(14px, 3.9vw, 22px);
  font-weight: 700;
  line-height: 1.6;
}

address > p:first-child {
  font-size: clamp(24px, 3.4vw, 34px);
  font-weight: 900;
}

.map-wrap {
  position: relative;
  width: min(100%, 887px);
  height: 340px;
  border: solid 1px #171717;
  border-left: none;
}

.map-wrap iframe {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
  -webkit-filter: grayscale(1) brightness(0.86) contrast(1.5);
}

#access h3 ,
.access-list {
  padding-left: min(5vw, 50px);
}

#access h3 {
  margin-top: 3rem;
  margin-bottom: 0;
}

#access .dt-common {
  padding-top: 2rem;
}

/*////////// TICKET SIDE CONTENTS //////////*/

#ticket p.img-dance {
  position: absolute;
  width: min(50vw, 276px);
  top: -60%;
  right: -11%;
  z-index: -1;
}

#side-contents p.img-dance {
  position: absolute;
  width: min(55vw, 309px);
  padding: 0;
  top: 40%;
  left: -6%;
  z-index: -1;
}

#dates {
  margin-bottom: min(20vw, 200px);
}

.txt-important-wrap {
  flex-direction: column;
  align-items: flex-start;
}

.txt-important-wrap > p:first-of-type {
  align-self: flex-start;
  width: auto;
  margin-bottom: 0.8em;
  padding: 0.2em 1em;
  border: solid 1px #e5261e;
  color: #e5261e;
  font-size: clamp(14px, 1.8vw, 16px);
  text-align: center;
  letter-spacing: 0.3rem;
}

.txt-important-wrap > div:first-of-type {
  padding-left: min(3vw, 24px);
}

.txt-catch {
  padding-bottom: 0.2em;
  color: #033826;
  font-size: clamp(24px, 3.4vw, 34px);
  font-weight: 900;
}

.txt-important {
  padding-bottom: 0.4em;
  color: #e5261e;
  font-size: clamp(20px, 3vw, 28px);
  font-weight: 900;
}

section#dates {
  width: 90%;
  margin: 0 0 6em 2.4em;
  flex-direction: column;
  padding: 2em 1em 2em 1.5em;
  border-left: solid 2px #e5261e;
}

section#dates .txt-dates {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-bottom: 0;
  color: #e5261e;
  font-size: clamp(24px, 3.4vw, 34px);
  font-weight: 900;
}

section#dates .txt-dates span:first-of-type {
  display: inline-block;
  padding: 0 1.5em;
  background-color: #e5261e;
  border-radius: 10vw;
  color: #fff;
  font-size: clamp(16px, 2vw, 20px);
}

section#dates .txt-dates span:last-of-type {
  padding: 0.6em 0;
  font-weight: 900;
}

.img-seat {
  width: min(100%, 650px);
  margin: 2em 0;
}

#side-contents .btn-type2 {
  margin: 3rem 0 0;
}

.schedule > p:first-of-type {
  color: #033826;
  font-size: clamp(16px, 2.2vw, 22px);
  font-weight: 900;
  letter-spacing: 0.2em;
}

.schedule + #page-menu-wrap {
  margin-top: 1.8em;
}

.schedule + #page-menu-wrap .page-memu li a::after {
  transform: scale(-1, 1);
}

.dt-common + dd ul.time-table {
  padding: 0;
}

.time-table {
  margin: 1.5em 0 0;
  border: solid 1px #171717;
}

.dt-common + dd .time-table li::before {
  content: none;
}

.time-table li > p {
  padding: 0.5em;
  border-bottom: solid 2px #171717;
  font-weight: 900;
}

.time-table dl {
  display: flex;
  flex-wrap: wrap;
}

.time-table dt,
.time-table dd {
  padding: 0.5em;
  border-bottom: solid 1px #171717;
}

.time-table dt:nth-of-type(odd),
.time-table dd:nth-of-type(odd) {
  background-color: rgba(0, 0, 0, 0.06);
}

.time-table dt {
  width: 40%;
  padding-left: 1.5em;
  font-weight: 700;
}

.time-table dd {
  width: 60%;
}

.time-table li:last-child dt:last-of-type,
.time-table li:last-child dd:last-of-type {
  border-bottom: none;
}

/*////////// NEWS //////////*/

#news {
  margin: 0 auto;
  margin-bottom: min(20vw, 200px);
}

#news .layout-r {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
}

ul#newslist {
  width: 100%;
  padding: 0;
}

ul#newslist li {
  color: #171717;
  margin: 0;
  border-bottom: solid 1px #033826;
}

ul#newslist li:first-child {
  border-top: solid 1px #033826;
}

ul#newslist li a {
  padding: min(3vw, 30px);
}

ul#newslist li a > p.time {
  color:#171717;
  font-size: 1.6rem;
}

ul#newslist li a > p.title {
  color: #033826;
  font-size: clamp(18px, 3vw, 22px);
  font-weight: 700;
}

ul#newslist li a:hover {
  background: rgba(255,255,255,0.5);
}

.btn-more a {
  position: relative;
  width: clamp(100px, 30vw, 134px);
  padding: 0.5rem 1.5rem;
  background: #033826;
  font-family: 'Anton', sans-serif;
  font-size: clamp(16px, 2vw, 20px);
  transition: all .3s;
}

.btn-more a::after {
  position: absolute;
  content: "";
  width: 12px;
  height: 19px;
  margin: auto;
  background: url(../images/icon_arrow.svg);
  background-repeat: no-repeat;
  transform: scale(-1, 1);
  top: 0;
  bottom: 0;
  right: 2rem;
  transition: all .3s;
}

.btn-more a:hover::after {
  right: 1rem;
}

/*////////// CONTACT //////////*/

#contact .layout-r {
  align-self: center;
}

.btn-type2 {
  position: relative;
  width: fit-content;
  margin: 0 auto;
  padding: 1em 2.6em 1em 1em;
  border: solid 2px #033826;
  color: #033826;
  font-size: clamp(14px, 3.9vw, 22px);
  font-weight: 700;
  transition: all .3s;
}

.btn-type2::after {
  position: absolute;
  content: "";
  width: 0.7em;
  height: 0.8em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23033826" d="M2.51 32c-0.636 0-1.289-0.251-1.774-0.736-0.987-0.987-0.971-2.577 0-3.548l11.715-11.715-11.715-11.715c-0.987-0.987-0.987-2.577 0-3.548 0.987-0.987 2.577-0.971 3.548 0l13.506 13.49c0.469 0.469 0.736 1.105 0.736 1.774s-0.268 1.305-0.736 1.774l-13.506 13.49c-0.485 0.485-1.138 0.736-1.774 0.736z"></path></svg>');
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
  right: 0.85em;
  transition: all .3s;
}

.btn-type2:visited {
  color: #033826;
}

.btn-type2:hover {
  background-color: #033826;
  color: #fff;
}

.btn-type2:hover::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23fff" d="M2.51 32c-0.636 0-1.289-0.251-1.774-0.736-0.987-0.987-0.971-2.577 0-3.548l11.715-11.715-11.715-11.715c-0.987-0.987-0.987-2.577 0-3.548 0.987-0.987 2.577-0.971 3.548 0l13.506 13.49c0.469 0.469 0.736 1.105 0.736 1.774s-0.268 1.305-0.736 1.774l-13.506 13.49c-0.485 0.485-1.138 0.736-1.774 0.736z"></path></svg>');
  right: 0.55em;
}

.common-content a.btn-back {
  position: relative;
  width: fit-content;
  min-width: 150px;
  margin: 6rem auto 0;
  padding: 0.6em 1em 0.6em 2em;
  border: solid 2px #033826;
  color: #033826;
  font-size: clamp(14px, 3vw, 16px);
  font-weight: 700;
  text-align: center;
  transition: all .3s;
}

.common-content a.btn-back::after {
  position: absolute;
  content: "";
  width: 0.7em;
  height: 0.8em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23033826" d="M2.51 32c-0.636 0-1.289-0.251-1.774-0.736-0.987-0.987-0.971-2.577 0-3.548l11.715-11.715-11.715-11.715c-0.987-0.987-0.987-2.577 0-3.548 0.987-0.987 2.577-0.971 3.548 0l13.506 13.49c0.469 0.469 0.736 1.105 0.736 1.774s-0.268 1.305-0.736 1.774l-13.506 13.49c-0.485 0.485-1.138 0.736-1.774 0.736z"></path></svg>');
  background-repeat: no-repeat;
  transform: scale(-1, 1);
  top: 0;
  bottom: 0;
  left: 0.85em;
  transition: all .3s;
}

.common-content a.btn-back:visited {
  color: #033826;
}

.common-content a.btn-back:hover {
  background-color: #033826;
  color: #fff;
}

.common-content a.btn-back:hover::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23fff" d="M2.51 32c-0.636 0-1.289-0.251-1.774-0.736-0.987-0.987-0.971-2.577 0-3.548l11.715-11.715-11.715-11.715c-0.987-0.987-0.987-2.577 0-3.548 0.987-0.987 2.577-0.971 3.548 0l13.506 13.49c0.469 0.469 0.736 1.105 0.736 1.774s-0.268 1.305-0.736 1.774l-13.506 13.49c-0.485 0.485-1.138 0.736-1.774 0.736z"></path></svg>');
  left: 0.55em;
}

.btn-type3 {
  position: relative;
  width: fit-content;
  margin: 5rem auto;
  padding: 1em 4em 1em 1.5em;
  background-color: #e5261e;
  color: #fff !important;
  font-size: clamp(14px, 3.9vw, 22px);
  font-weight: 700;
  text-align: center;
  transition: all .3s;
}

.btn-type3::after {
  position: absolute;
  content: "";
  width: 0.7em;
  height: 0.8em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23fff" d="M2.51 32c-0.636 0-1.289-0.251-1.774-0.736-0.987-0.987-0.971-2.577 0-3.548l11.715-11.715-11.715-11.715c-0.987-0.987-0.987-2.577 0-3.548 0.987-0.987 2.577-0.971 3.548 0l13.506 13.49c0.469 0.469 0.736 1.105 0.736 1.774s-0.268 1.305-0.736 1.774l-13.506 13.49c-0.485 0.485-1.138 0.736-1.774 0.736z"></path></svg>');
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
  right: 0.85em;
  transition: all .3s;
}

.btn-type3:hover::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23fff" d="M2.51 32c-0.636 0-1.289-0.251-1.774-0.736-0.987-0.987-0.971-2.577 0-3.548l11.715-11.715-11.715-11.715c-0.987-0.987-0.987-2.577 0-3.548 0.987-0.987 2.577-0.971 3.548 0l13.506 13.49c0.469 0.469 0.736 1.105 0.736 1.774s-0.268 1.305-0.736 1.774l-13.506 13.49c-0.485 0.485-1.138 0.736-1.774 0.736z"></path></svg>');
  right: 0.55em;
}

.btn-type3[target="_blank"] {
  padding-left: 3.2em;
}

.btn-type3[target="_blank"]::before {
  position: absolute;
  content: "";
  width: 1em;
  height: 1em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path fill="%23fff" d="M19.624 28.887h-16.526v-16.511c0-0.855-0.702-1.556-1.556-1.556s-1.556 0.702-1.556 1.556v18.068c0 0.855 0.702 1.556 1.556 1.556h18.083c0.855 0 1.556-0.702 1.556-1.556s-0.702-1.556-1.556-1.556z"></path><path fill="%23fff" d="M25.225 14.436c-0.855 0-1.556 0.702-1.556 1.556v7.294h-14.955v-14.97h7.294c0.855 0 1.556-0.702 1.556-1.556s-0.702-1.556-1.556-1.556h-8.835c-0.855 0-1.556 0.702-1.556 1.556v18.068c0 0.855 0.702 1.556 1.556 1.556h18.068c0.855 0 1.556-0.702 1.556-1.556v-8.851c0-0.855-0.702-1.556-1.556-1.556z"></path><path fill="%23fff"  d="M31.878 0.961c-0.153-0.382-0.458-0.687-0.839-0.839-0.183-0.076-0.397-0.122-0.595-0.122h-12.574c-0.855 0-1.556 0.702-1.556 1.556s0.702 1.556 1.556 1.556h8.82l-10.743 10.743c-0.61 0.61-0.61 1.587 0 2.197 0.305 0.305 0.702 0.458 1.099 0.458s0.794-0.153 1.099-0.458l10.743-10.743v8.82c0 0.855 0.702 1.556 1.556 1.556s1.556-0.702 1.556-1.556v-12.574c0-0.198-0.046-0.397-0.122-0.595z"></path></svg>');
  top: 0;
  bottom: 0;
  left: 1em;
}

.btn-type3 > span {
  display: block;
  font-size: 1.4rem;
}

.btn-type4 {
  position: relative;
  width: 100%;
  margin: 2em auto 0;
  padding: 1em 2.6em 1em 1em;
  border: solid 2px #e5261e;
  color: #e5261e;
  font-size: clamp(14px, 3.9vw, 22px);
  font-weight: 700;
  text-align: center;
  transition: all .3s;
}

.btn-type4::after {
  position: absolute;
  content: "";
  width: 0.7em;
  height: 0.8em;
  margin: auto;
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23e5261e" d="M2.51 32c-0.636 0-1.289-0.251-1.774-0.736-0.987-0.987-0.971-2.577 0-3.548l11.715-11.715-11.715-11.715c-0.987-0.987-0.987-2.577 0-3.548 0.987-0.987 2.577-0.971 3.548 0l13.506 13.49c0.469 0.469 0.736 1.105 0.736 1.774s-0.268 1.305-0.736 1.774l-13.506 13.49c-0.485 0.485-1.138 0.736-1.774 0.736z"></path></svg>');
  background-repeat: no-repeat;
  top: 0;
  bottom: 0;
  right: 0.85em;
  transition: all .3s;
}

.btn-type4:visited {
  color: #e5261e;
}

.btn-type4:hover {
  background-color: #e5261e;
  color: #fff;
}

.btn-type4:hover::after {
  background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 19 32"><path fill="%23fff" d="M2.51 32c-0.636 0-1.289-0.251-1.774-0.736-0.987-0.987-0.971-2.577 0-3.548l11.715-11.715-11.715-11.715c-0.987-0.987-0.987-2.577 0-3.548 0.987-0.987 2.577-0.971 3.548 0l13.506 13.49c0.469 0.469 0.736 1.105 0.736 1.774s-0.268 1.305-0.736 1.774l-13.506 13.49c-0.485 0.485-1.138 0.736-1.774 0.736z"></path></svg>');
  right: 0.55em;
}

.txt-link {
  display: inline;
  padding: 0 0.5em;
  color: #e5261e;
  text-decoration: underline;
  font-weight: 700;
}

.annotation {
  padding-bottom: 3rem;
  color: #e5261e;
}

input[type="text"],
input[type="email"],
input[type="tel"] {
  width: min(100%, 450px);
}

input[type="submit"] {
  display: block;
  width: min(100%, 200px);
  margin: 0 auto;
  margin-top: min(15vw, 100px);
  cursor: pointer;
}

form > p {
  margin-top: min(3vw, 30px);
}

/* フォーム遷移ボタン */

.menu-float-menu-container {
  position: fixed;
  width: 100%;
  padding: min(1vw, 10px);
  background-color: #e5261e;
  color: #fff;
  font-weight: 900;
  font-size: clamp(18px, 2vw, 20px);
  text-align: center;
  bottom: 0;
  z-index: 2;
}

#menu-float-menu a {
  padding: min(2vw, 20px);
  border: solid 1px #fff;
}

.menu-float-menu-container.float_clear {
  position: relative;
}

/*////////// LINKS　//////////*/

#links-area {
  margin: 0 auto;
}

#links-area .img-dance {
  width: min(30vw, 208px);
  margin: 0 auto;
}

#links-area .layout-r {
  padding-bottom: min(10vw, 100px);
}

.boty-logo {
  width: min(75vw, 509px);
  margin: 0 auto;
}

.icon-insta {
  position: relative;
  width: min(20.6vw, 106px);
  height: min(20.6vw, 106px);
  margin-top: min(2vw, 20px);
  margin-bottom: min(10vw, 100px);
  margin-left: auto;
  margin-right: auto;
  padding: min(4.6vw, 25px);
  background: #e5261e;
  border-radius: 100%;
}

.icon-insta::after {
  position: absolute;
  content: "";
  width: 0;
  height: 0;
  margin: auto;
  border-style: solid;
  border-width: 0 9.5px 16px 9.5px;
  border-color: transparent transparent #e5261e transparent;
  top: -11px;
  left: 0;
  right: 0;
}

#links-area h4 {
  position: relative;
  padding: 0 65px;
  text-align: center;
  margin-top: min(5vw, 50px);
  margin-bottom: clamp(20px, 6vw, 60px);
}

#links-area h4::before {
  position: absolute;
  bottom: -10px;
  left: calc(50% - 30px);
  width: 60px;
  height: 3px;
  content: '';
  border-radius: 3px;
  background: #033826;
}

.link-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}

.link-list li {
  width: max(100px, 11.6%);
  margin: clamp(5px, 2vw, 20px);
  margin-top: 0;
}

.bnr-list {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 50vw;
}

.bnr-list li {
  width: min(90%, 512px);
  margin: min(2vw, 20px);
  margin-top: 0;
}

.txt-comingsoon {
  padding: 1em 0;
  color: #666;
  font-family: 'Anton', sans-serif;
  font-size: clamp(40px, 5.2vw, 57px);
  text-align: center;
}

.bnr-footer {
  position: relative;
  width: min(90%, 885px);
  margin: 3rem auto;
}

/*////////// SIDE CONTENTS //////////*/

/* page-menu */

#page-menu-wrap.fixed-nav {
  position: fixed;
  width: 100%;
  top: 50px;
  left: 0;
  z-index: 1;
}

.page-memu {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  background: #d9d9d9;
}

.page-memu li {
  width: 50%;
  margin: 0;
}

.page-memu li a {
  display: flex;
  align-items: center;
  position: relative;
  width: 100%;
  min-height: min(8vw, 50px);
  padding: 0.5rem 3rem 0.5rem 1rem;
  background-color: #e5261e;
  border-right: solid 2px #fff;
  border-bottom: solid 2px #fff;
  color: #fff;
  transition: all .3s;
}

.page-memu li:nth-child(2n) a {
  border-right: none;
}

.page-memu li:nth-child(5) a,
.page-memu li:nth-child(6) a {
  border-bottom: none;
}

.page-memu li a::after {
  position: absolute;
  content: "";
  width: min(1.4vw, 12px);
  height: min(2vw, 19px);
  margin: auto;
  background: url(../images/icon_arrow.svg);
  background-repeat: no-repeat;
  transform: scale(-1, 1) rotate(-90deg);
  top: 0;
  bottom: 0;
  right: min(2.5vw, 2rem);
  transition: all .3s;
}

.txt-important.txt-center {
  font-size: clamp(16px, 3vw, 20px);
  text-align: center;
}

/* list */

.sidecontents-list {
  padding: 10rem 0 0;
}

.block-type1 {
  margin: 8rem 0;
}

.block-type1:first-of-type {
  margin-top: 0;
}

.block-type1:last-of-type {
  margin-bottom: 0;
}

.block-type1 h3 {
  position: relative;
  padding-left: 2rem;
}

.block-type1 h3::before {
  position: absolute;
  content: "";
  width: 3px;
  height: 100%;
  background-color: #033826;
  top: 0;
  left: 0;
}

.sidecontents-list > li,
.dt-common + dd li {
  margin-left: 0;
}

.dt-common {
  padding: 3rem 0 1rem;
  border-bottom: solid 2px #033826;
  font-size: 1.8rem;
  font-weight: 900;
}

.dt-common + dd {
  padding: 1rem;
}

.dt-common + dd.name-list {
  justify-content: space-around;
  flex-wrap: wrap;
}

.dt-common + dd.name-list > div {
  width: 50%;
  padding: 1rem;
  border-right: solid 1px #171717;
}

.dt-common + dd.name-list > div:first-of-type,
.dt-common + dd.name-list > div:last-of-type {
  border-right: none;
}

.dt-common + dd.name-list > div:first-of-type {
  width: 100%;
  border-bottom: solid 1px #171717;
}

.dt-common + dd > p,
.dt-common + dd.name-list > div > p {
  font-weight: 900;
}

.dt-common + dd ul {
  padding: 1rem 0;
}

.dt-common + dd.name-list ul {
  padding-left: 1rem;
}

.dt-common + dd li::before {
  content: "・";
}

.dt-common + dd.name-list li::before {
  content: none;
}

.dt-common + dd li.note::before {
  content: none;
}

.dt-common + dd > p + ul {
  padding-left: 2rem;
}

.txt-red {
  color: #e5261e;
  font-weight: 700;
}

.grayout {
  pointer-events: none;
  filter: grayscale() opacity(0.3);
}

/*////////// footer //////////*/

footer {
  padding: 2.8rem;
  background: #033826;
  color: #fff;
  text-align: center;
}

footer a {
  padding-top: 1.5rem;
  text-decoration: underline;
}

footer ul {
  display: flex;
  justify-content: center;
  align-items: center;
}

footer li {
  width: min(25vw, 150px);
  margin: min(1vw, 10px);
}

small {
  font-size: clamp(10px, 1.2vw, 12px);
}

.organizer dt {
  display: inline-block;
  margin-bottom: 1em;
  padding: 0 1em 0.2em;
  border-bottom: solid 2px #fff;
}

/*////////// 1000px over //////////*/

@media screen and (min-width:1000px) {

  #content-wrap > p:nth-of-type(1) {
    top: 70vw;
  }

  .layout-r {
    padding: 0;
  }

  .breadcrumbs,
  section.common-content {
    padding-left: 0;
    padding-right: 0;
  }

  /*////////// CONTACT //////////*/

  .menu-float-menu-container {
    margin: auto;
    width: auto;
    padding: 5px;
    bottom: 5%;
    right: 0;
    writing-mode: vertical-rl;
    -webkit-writing-mode: vertical-rl;
  }

}

/*////////// PC //////////*/

@media screen and (min-width:750px) {

body {
  font-size: 1.6rem;
  letter-spacing: 0.05rem;
  line-height: 1.9;
}

h2 {
  border-right: solid 3px #033826;
}

h4 {
  line-height: 1.7;
}

.br-sp {
  display: none;
}

.br-pc {
  display: block;
}

.img-sp {
  display: none;
}

.img-pc {
  display: block;
}

#lang-menu {
  width: 28vw;
  top: 18.5vw;
}

#lang-menu li {
  width: 13vw;
}

.unext-link {
  width: 28vw;
  top: 25vw;
}

#top-header-wrap {
  flex-direction: column-reverse;
}

.btn-type4 {
  width: fit-content;
}

/* MENU */

#common-header {
  flex-direction: column-reverse;
}

#common-header.fixed {
  position: static;
}

#menu-list {
  width: 100%;
  background-color: #171717;
  border-top: solid 1px #28604d;
}

#menu-list ul {
  position: static;
  display: flex;
  flex-direction: row;
  justify-content: center;
  width: 100%;
  height: auto;
  max-width: 1000px;
  margin: 0 auto;
  padding: 0.6em 0;
  background-color: transparent;
  transform: none;
}

#menu-list li a {
  padding: 0 1em;
  border-right: solid 1px #fff;
  border-bottom: none;
  color: #fff;
  font-size: min(2.8vw, 2.8rem);
}

#menu-list li a::after {
  content: none;
}

#menu-list li a.nav-red {
  background-color: transparent;
  color: #e5261e;
}

#lang-nav ul {
  height: auto;
}

#movie-top {
  width: 36vw;
  height: 15vw;
  top: 2.1vw;
}

.music {
  position: absolute;
  width: 40px;
  height: 40px;
  top: 2.8vw;
  left: 0;
  right: -42vw;
}

#common-header h1 {
  margin: 1em 0;
}

#common-header.fixed h1 {
  margin: 0.2em 0;
  font-size: clamp(20px, 4.3vw, 30px);
}

#common-header.fixed h1 img {
  width: min(15vw, 100px);
}

#top-header-wrap #common-header h1 {
  display: none;
}

/* SPメニュー */

#nav-sp {
  display: none;
}

/*//////////　ABOUT　//////////*/

#about {
  margin-top: 80px;
}

.representative > p:last-of-type {
  width: 200px;
  height: 289px;
}

/*////////// Participating countries //////////*/

#participating-countries > p {
  text-align: center;
}

/*////////// ACCESS //////////*/

.venue-wrap {
  padding: 0;
}

.map-wrap {
  border-left: solid 1px #171717;
}

#access h3 ,
.access-list {
  padding-left: 0;
}

/*////////// TICKET SIDE CONTENTS //////////*/

#ticket p.img-dance {
  top: 0;
  right: -26%;
}

#side-contents p.img-dance {
  top: 40%;
  left: -33%;
}

section#dates {
  width: min(100%, 899px);
  margin: 0 auto 12em;
  padding: 2em 2em 2em 4em;
  border-left: solid 3px #e5261e;
}

/*////////// LINKS //////////*/

.bnr-list {
  margin-bottom: 0;
}

/*////////// SIDE CONTENTS //////////*/

.page-memu li a {
  padding: 1rem 5rem 1rem 2rem;
}

#page-menu-wrap.fixed-nav {
  top: 0;
}

.time-table dt {
  width: 20%;
}

.time-table dd {
  width: 80%;
}

.dt-common + dd.name-list > div,
.dt-common + dd.name-list > div:first-of-type {
  width: 33.3%;
  padding: 2rem 2.6rem 0;
}

.dt-common + dd.name-list > div:first-of-type {
  border-right: solid 1px #171717;
  border-bottom: none;
}

}

@media screen and (min-width:751px) and (max-width:980px){

  #content-wrap > p:nth-of-type(1) {
    top: 114vw;
  }

  .venue-wrap {
    padding-left: min(4vw, 23px);
  }

  .bnr-list {
    margin-bottom: min(45vw, 500px);
  }

  #access h3 ,
  .access-list {
    padding-left: min(4vw, 23px);
  }

}