@charset "utf8";

.main {
  margin: 15px auto 0;
  width: 100%;
  overflow: hidden;
 }
 
 .main > h1 {
  position: relative;
  font-size: 41px;
  text-align: var(--align-c);
  letter-spacing: 0;
  line-height: 1;
  transform: scaleY(0.92)
 }
 
.main > h1::after {
  content: "";
  position: absolute;
  bottom: -7px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 93%;
  height: 4px;
  background-color: var(--red);
 }
 
.main > p,
.main > p span {
  margin-top: 26px;
  font-size: 15px;
  text-align: var(--align-c);
  letter-spacing: 2px;
  line-height: 2;
}

.main > p span {
  display: block;
  margin-top: 2px;
  font-size: 17px;
}

.main > figure {
  margin-top: 5px;
}

.main > figure figcaption {
  margin-top: 30px;
  text-align: var(--align-c);
  font-size: 18px;
  letter-spacing: 1px;
}

.main > div {
  margin-top: 50px;
  padding-bottom: 40px;
  width: 100%;
  text-align: var(--align-c);
}
  
.main > div > h2 {
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.2em;
}

.main > div > h2 span {
  display: block;
  font-size: 15px;
}

.main > div > p {
  position: relative;
  margin-top: 7px;
  font-size: 13px;
  letter-spacing: 0.1em;
 }
 
 .main > div > p::after {
   content: "";
   position: absolute;
   bottom: -24px;
   left: 50%;
   transform: translate(-50%, 0%);
   width: 108px;
   height: 1px;
   background-color: var(--red);
 }
 
.timetable {
  margin-top: 40px;
}
 
.timetable > ul > li,
.timetable > ul > li a {
  text-align: var(--align-c);
  letter-spacing: 0.07em;
}

.date {font-size: 32px;}
.date > span {font-size: 0.75em;}
.opening {margin-top: 12px;}

.opening > p {
  display: inline-block;
  font-size: 16px;
}

.opening > p:first-of-type {margin-right: 1rem;}

.loc1 {
  margin-top: 12px;
  font-size: 17px;
} 
.loc2 {
  margin-top: 1px;
  font-size: 22px;
}

.owada {
  margin-top: 10px;
  font-size: 15px;
}

.url {margin-top: 20px;}
.url a {transition: all 0.4s;}
.url a:hover {opacity: 0.85;}

.price {
  margin-top: 22px;
  font-size: 23px;
}

.timetable > .btn a {
  display: block;
  margin: 28px auto 0;
  padding: 12px;
  max-width: 295px;
  width: 100%;
  color: #fff;
  font-size: 16px;
  letter-spacing: 0.07em;
  text-align: var(--align-c);
  border: 1px solid #fff;
  transition: all 0.4s;
}

.timetable > .btn a:hover {
  opacity: 0.85;
}

.tt-img,
.unbel-f-img {
  margin: 48px auto 56px;
  width: 100%;
}

.unbel-f-img {
  margin: 48px auto 0;
}

.unbel, .butterfly, .ersiliadanza {
  position: relative;
  padding: 56px 0;
  max-width: 375px;
  overflow-x: hidden;
}

.unbel::before,
.butterfly::before,
.ersiliadanza::before{
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 85.3333%;
  height: 3px;
  background-color: var(--red);
}

.unbel > h2,
.butterfly > h2,
.ersiliadanza > h2 {
  font-size: 21px;
  line-height: .98;
  letter-spacing: 1px;
  text-align: var(--align-c);
}

.unbel > h2 span,
.butterfly > h2 span,
.ersiliadanza > h2 span {
  display: block;
  font-size: 1.95238em;
  letter-spacing: -1.5px;
  transform: scaleX(1.18);
}

.unbel > h3,
.butterfly > h3,
.ersiliadanza > h3 {
  position: relative;
  margin-top: 22px;
  font-size: 19px;
  font-weight: 400;
  letter-spacing: 1px;
  text-align: var(--align-c);
}

.ersiliadanza > h3 {
  font-size: 17px;
}

.unbel > h3:before,
.butterfly > h3:before,
.ersiliadanza > h3:before {
  content: "";
  position: absolute;
  top: -9px;
  left: 50%;
  transform: translate(-50%, 0);
  width: 108px;
  height: 1px;
  background-color: var(--red);
}

.unbel-h-img {margin-top: 34px;}
.butterfly-h-img {margin-top: 20px;}
.ersiliadanza-h-img {margin-top: 20px;}

.unbel__text {
  margin-top: 30px;
  display: flex;
  justify-content: center;
}

.unbel__text > p {
  font-size: 16px;
  letter-spacing: 1px;
  line-height: 1.9;
}

a.unbel__btn, a.butterfly__btn, a.ersiliadanza__btn {
  display: block;
  font-family: "A1明朝", "A1 Mincho", "Shippori Mincho", serif;
  margin: 38px auto 0;
  width: 295px;
  color: #fff;
  transition: all 0.4s;
}

a.ersiliadanza__btn {margin-bottom: 56px;}

a.unbel__btn:hover, a.butterfly__btn:hover, a.ersiliadanza__btn:hover {
  opacity: 0.8;
}

a.unbel__btn div, a.butterfly__btn div, a.ersiliadanza__btn div {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 15px 22px;
  border: 1px solid #fff;
}

a.butterfly__btn div {
  padding: 7px 22px;
}

a.ersiliadanza__btn div {
  padding: 11px 12px;
}

a.unbel__btn div > p,
a.butterfly__btn div > p,
a.ersiliadanza__btn div > p {
  margin-right: 16px;
  font-size: 15px;
  line-height: 1.1;
  letter-spacing: 1px;
  text-align: var(--align-c);
}

a.butterfly__btn div > p,
a.ersiliadanza__btn div > p  {
  position: relative;
  margin-right: 16px;
  width: 185px;
  font-size: 17px;
  line-height: 2;
}

a.ersiliadanza__btn div > p  {
  width: 212px;
  font-size: 13px;
}

a.butterfly__btn div > p::before,
a.ersiliadanza__btn div > p::before {
  content: "";
  position: absolute;
  bottom: 33px;
  left: 0;
  width: 100%;
  height: 1px;
  background-color: #fff;
}

a.ersiliadanza__btn div > p::before {
  bottom: 26px;
}
  
a.unbel__btn div > p span,
a.butterfly__btn div > p span,
a.ersiliadanza__btn div > p span {
  display: block;
  font-size: 18px;
}

a.butterfly__btn div > p span,
a.ersiliadanza__btn div > p span {
  font-size: 15px;
  letter-spacing: 1px;
}


footer {
  padding: 28px 0 94px;
  text-align: var(--align-c);
  letter-spacing: 1px;
}

.footer__logo {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  margin-left: 160px;
  width: 179px;
}

.footer__logo img:first-of-type {width: 54px;}
.footer__logo img {width: 70px;}

.copyright {
  margin-top: 14px;
  font-size: 14px;
  line-height: 1.1;
}
