@charset "utf-8";

/* sec_mv
============================================ */
.mv_wrap {
  background-color: var(--bg-blue);
  background-image: url(../img/mv_bg_sp.png);
  background-repeat: no-repeat;
  background-position: center 54vw;
  background-size: cover;
}
.sec_mv {
  padding-bottom: 50px;
  position: relative;
}
.sec_mv::before {
  content: '';
  width: 100%;
  aspect-ratio: 65 / 7;
  background-image: url(../img/mv_star_sp.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  display: block;
  position: absolute;
  top: 20vw;
  left: 0;
}
.sec_mv h1 {
  margin: 5px auto 0;
  width: 97%;
  max-width: 724px;
}
.mv_txt2 {
  margin: 15px auto 0;
  width: 90%;
  max-width: 660px;
  position: relative;
}
.mv_txt2::before {
  content: '';
  width: 100vw;
  aspect-ratio: 39 / 17;
  background-image: url(../img/mv_star_w_sp.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  display: block;
  position: absolute;
  top: -1.5vw;
  left: -5vw;
}
.mv_date {
  margin: 25px auto 0;
  width: 90%;
  max-width: 682px;
}

/* sec_news
============================================ */
.sec_news {
  padding-bottom: calc(15.6vw + 30px);
}
.sec_news .bnr {
  margin: 0 auto 50px;
  width: 90%;
  max-width: 640px;
}
.sec_news .news_list {
  margin: 0 auto;
  padding: 15px;
  width: 95%;
  max-width: 730px;
  background: #fff;
  border: 1px solid var(--navy);
  box-shadow: 2px 2px 0 0 var(--navy);
  position: relative;
}
.sec_news h2 {
  margin: 0 auto 15px;
  width: 58%;
  max-width: 428px;
}
.sec_news .news_list > div {
  max-height: 300px;
  overflow-y: scroll;
}
.sec_news .news_list > div::-webkit-scrollbar {
  width: 6px;
}
.sec_news .news_list > div::-webkit-scrollbar-thumb {
  width: 6px;
  background: #99909c;
  border-radius: 6px;
  cursor: pointer;
}
.sec_news .news_list a {
  text-decoration: none;
  display: block;
}
.sec_news .news_list a:hover {
  opacity: 1;
}
.sec_news .news_list dl {
  padding: 1em 0;
  border-bottom: 1px solid var(--txt-color);
  display: -webkit-box;
  display: flex;
  -webkit-box-align: start;
  align-items: flex-start;
}
.sec_news .news_list a:first-of-type dl {
  border-top: 1px solid var(--txt-color);
}
.sec_news .news_list dt {
  margin-right: 1em;
  padding: .2em .2em .05em .2em;
  width: 4em;
  font-family: 'Bebas Neue';
  text-align: center;
  line-height: 1;
  flex-shrink: 0;
  transition: all .2s;
}
.sec_news .news_list dd {
  margin-top: -.1em;
  font-size: .875rem;
  font-weight: 500;
  line-height: 1.5;
  word-break: break-all;
  -webkit-box-flex: 1;
  flex-grow: 1;
  transition: all .2s;
}
.sec_news .news_list a:hover dt {
  color: #fff;
  background: var(--pink);
}
.sec_news .news_list a:hover dd {
  color: var(--pink);
}
.sec_news .news_social {
  margin-top: 10px;
  position: relative;
}
.sec_news .news_social::before {
  content: '';
  width: 100%;
  aspect-ratio: 195 / 37;
  background-image: url(../img/news_star.svg);
  background-repeat: no-repeat;
  background-position: center top;
  background-size: contain;
  display: block;
  position: absolute;
  top: 5vw;
  left: 0;
}

/* sec_about
============================================ */
.sec_about {
  padding-bottom: 40px;
  position: relative;
}
.sec_about::before {
  content: '';
  width: 175vw;
  height: 175vw;
  background: #fff;
  border-radius: 50% 50% 0 0;
  display: block;
  transform: translateX(-50%);
  position: absolute;
  left: 50%;
  top: -15.6vw;
  clip: rect(auto, auto, 17vw, auto);
}
.sec_about h2,
.sec_movie h2,
.sec_guest h2,
.sec_ticket h2,
.sec_access h2,
.sec_faq h2,
.sec_model h1,
.sec_model_detail h1,
.sec_note h1,
body#contact h1,
body#aboutus h1,
body#history h1 {
  margin: 0 auto 10px;
  position: relative;
}
.sec_about h2 img,
.sec_movie h2 img,
.sec_guest h2 img,
.sec_ticket h2 img,
.sec_access h2 img,
.sec_faq h2 img,
.sec_model h1 img,
.sec_model_detail h1 img,
.sec_note h1 img,
body#contact h1 img,
body#aboutus h1 img,
body#history h1 img {
  margin: auto;
  width: auto;
  height: 73px;
}
.sec_about .about_wrap {
  max-width: 1400px;
  position: relative;
  z-index: 1;
}
.sec_about .about_logo {
  margin: 0 auto 30px;
  width: 90%;
  max-width: 675px;
}
.sec_about .about_inner {
  padding: 0 5%;
}
.sec_about .about_ttl {
  color: var(--pink);
  font-weight: 700;
  text-align: center;
}
.sec_about .about_txt {
  margin-top: 1em;
  font-size: .74rem;
  line-height: 1.5;
}
.sec_about .about_txt em {
  font-size: 120%;
  font-weight: 700;
  font-style: normal;
  background: linear-gradient(transparent 60%, #fccbe3 60%);
}

/* sec_date
============================================ */
.sec_date {
  padding: 40px 5%;
  background: var(--pink);
  position: relative;
}
.sec_date::before {
  content: '';
  width: 175vw;
  height: 175vw;
  background: var(--pink);
  border-radius: 0 0 50% 50%;
  display: block;
  transform: translateX(-50%);
  position: absolute;
  left: 50%;
  bottom: -15.6vw;
  clip: rect(159vw, auto, auto, auto);
  z-index: 1;
}
.sec_date .date_inner {
  margin: 0 auto;
  padding: 1.2em .5em;
  max-width: 1200px;
  text-align: center;
  line-height: 1.5;
  background: #fff;
  border: 1px solid var(--navy);
  box-shadow: 5px 5px 0 0 var(--navy);
  position: relative;
}
.sec_date dl:not(:first-of-type) {
  margin-top: 1.5em;
}
.sec_date dt {
  margin-bottom: .5em;
  color: var(--pink);
  font-weight: 700;
}
.sec_date dd {
  color: var(--txt-color);
  font-size: 1.5rem;
  font-weight: 700;
}
.sec_date dd span {
  font-size: .75rem;
}
.sec_date dd .note {
  margin-top: 1em;
  font-size: .625rem;
  font-weight: 500;
}

/* sec_movie
============================================ */
.sec_movie {
  padding: calc(15.6vw + 50px) 5% 50px;
  background-color: var(--bg-blue);
  position: relative;
}
.sec_movie > div.movie_box:not(:first-of-type) {
  margin-top: 25px;
}
.sec_movie .movie_ttl {
  margin-bottom: 5px;
  padding: 1em 0;
  font-size: .875rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
}
.sec_movie .youtube {
  margin: auto;
  width: 100%;
  max-width: 640px;
  height: auto;
  aspect-ratio: 16 / 9;
  display: block;
}
.movie_foot {
  margin: 10px auto 0;
  width: 68%;
}

/* sec_guest
============================================ */
.sec_guest {
  padding: 50px 5%;
  background-image: url(../img/bg_pink_sp.png);
  background-repeat: repeat-y;
  background-position: center top;
  background-size: 100%;
  position: relative;
}
.sec_guest h2 {
  position: relative;
}
.sec_guest h2::before,
.sec_guest h2::after,
.sec_guest .guest_wrap.guest h3::before,
.sec_guest .guest_wrap.guest h3::after,
.sec_guest .guest_wrap.artist h3::before {
  content: '';
  aspect-ratio: 1 / 1;
  background-image: url(../img/star_w.svg);
  background-repeat: no-repeat;
  background-size: cover;
  display: block;
  position: absolute;
}
.sec_guest h2::before {
  width: 18px;
  height: 18px;
  top: -18px;
  left: calc(50% - 124px);
}
.sec_guest h2::after {
  width: 28px;
  height: 28px;
  top: 55px;
  right: calc(50% - 140px);
}
.sec_guest .guest_inner {
  margin: 0 auto;
  max-width: 1080px;
  position: relative;
}
.sec_guest .guest_inner div.guest_wrap:not(:first-of-type) {
  margin-top: 70px;
}
.sec_guest h3 {
  margin: 0 auto 15px;
  position: relative;
}
.sec_guest h3 img {
  margin: 0 auto;
  width: auto;
  height: 92px;
}
.sec_guest .guest_wrap.guest h3::before {
  width: 39px;
  height: 39px;
  top: -12px;
  left: calc(50% - 166px);
}
.sec_guest .guest_wrap.guest h3::after {
  width: 28px;
  height: 28px;
  top: 45px;
  right: calc(50% - 154px);
}
.sec_guest .guest_wrap.artist h3::before {
  width: 28px;
  height: 28px;
  top: -3px;
  left: calc(50% - 132px);
}
.sec_guest .guest_wrap ul {
  margin-bottom: -10px;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  justify-content: center;
}
.sec_guest .guest_wrap li {
  margin-bottom: 10px;
  width: 31%;
  display: -webkit-box;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
}
.sec_guest .guest_wrap li:not(:nth-of-type(3n + 1)) {
  margin-left: 3.5%;
}
.sec_guest .guest_wrap li .name {
  padding: .2em;
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.2;
  background: var(--black);
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-flex: 1;
  flex-grow: 1;
}
.sec_guest .guest_wrap li .sns {
  margin: 5px -4px 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  flex-wrap: wrap;
}
.sec_guest .guest_wrap li .sns p {
  padding: 4px;
  flex-shrink: 0;
}
.sec_guest .guest_wrap li .sns p span {
  width: 14px;
  height: 14px;
  display: block;
  background: #000;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center;
  mask-position: center;
  -webkit-mask-size: auto;
  mask-size: auto;
}
.sec_guest .guest_wrap li .sns p span.hp {
  -webkit-mask-image: url('../img/ico_hp.svg');
  mask-image: url('../img/ico_hp.svg');
}
.sec_guest .guest_wrap li .sns p span.x {
  -webkit-mask-image: url('../img/ico_x.svg');
  mask-image: url('../img/ico_x.svg');
}
.sec_guest .guest_wrap li .sns p span.tiktok {
  -webkit-mask-image: url('../img/ico_tiktok.svg');
  mask-image: url('../img/ico_tiktok.svg');
}
.sec_guest .guest_wrap li .sns p span.insta {
  -webkit-mask-image: url('../img/ico_insta.svg');
  mask-image: url('../img/ico_insta.svg');
}
.sec_guest .guest_wrap li .sns p span.youtube {
  -webkit-mask-image: url('../img/ico_youtube.svg');
  mask-image: url('../img/ico_youtube.svg');
}
.sec_guest .guest_wrap .btn {
  margin: 20px auto 0;
  width: 65.5%;
  max-width: 415px;
}
.sec_guest .guest_wrap .btn a {
  padding: 1em 1.5em 1em 1em;
  color: #fff;
  font-weight: 700;
  text-align: center;
  text-decoration: none;
  background: var(--pink);
  border-radius: 3em;
  display: block;
  position: relative;
}
.sec_guest .guest_wrap .btn a:hover {
  opacity: .7;
}
.sec_guest .guest_wrap .btn a::after {
  content: '';
  width: 0;
	height: 0;
	margin-top: -6px;
	border: 6px solid transparent;
	border-left: 7px solid #fff;
  display: block;
  position: absolute;
	top: 50%;
	right: .7em;
}
.guest_foot {
  margin: 25px auto 0;
  width: 76%;
}

/* sec_ticket
============================================ */
.sec_ticket {
  padding: 50px 0;
  position: relative;
}
.sec_ticket .ticket_vote_date {
  margin: .5em auto 0;
  width: 90%;
  max-width: 690px;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.3;
}
.sec_ticket .ticket_vote_date p {
  margin: 0 auto;
  padding: .3em;
  line-height: 1;
}
.sec_ticket .ticket_vote_date p:nth-of-type(2) {
  color: #fff;
  background: var(--navy);
}
.sec_ticket .ticket_vote_date p:not(:first-of-type) {
  margin-top: 5px;
}
.sec_ticket .ticket_vote_date span {
  /* margin-top: .5em; */
  font-size: 1rem;
  line-height: 1.2;
  display: inline-block;
}
.sec_ticket .ticket_map {
  margin: 0 auto;
  width: 78%;
  max-width: 612px;
}
.sec_ticket #ticket_vote_ttl {
  margin: 25px auto 0;
  width: 78%;
  max-width: 616px;
}
.sec_ticket .ticket_vote_txt {
  margin-top: .5em;
  font-size: 1.5rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
.sec_ticket .ticket_vote_sub {
  margin-top: .5em;
  font-size: .95rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
.sec_ticket .ticket_coming {
  margin: 0 auto;
  width: 90%;
  max-width: 624px;
}
.sec_ticket .ticket_price {
  margin: 1em auto 0;
  width: 90%;
  max-width: 690px;
  position: relative;
}
.sec_ticket .ticket_price dt {
  padding: .5em 1em;
  color: #fff;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  background: #ff3d99;
  position: relative;
}
.sec_ticket .ticket_price dt .price {
  text-align: right;
  float: right;
}
.sec_ticket .ticket_price dt .price .soldout {
  margin: -.4em .5em 0;
  padding: .3em;
  color: #ff3d99;
  font-size: .75rem;
  line-height: 1;
  vertical-align: middle;
  background: #fff;
  display: inline-block;
}
.sec_ticket .ticket_price dd {
  padding: .5em;
  font-size: .875rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  background: #fff;
}
.sec_ticket .priority dt {
  background: #ff7cbb!important;
}
.sec_ticket .priority dt .price .soldout {
  color: #ff7cbb;
}
.sec_ticket .standing dt {
  color: #ff3d99;
  background: #ffcce5!important;
}
.sec_ticket .standing dt.soldout {
  font-size: .91rem;
}
.sec_ticket .standing dt .price .soldout {
  color: #ff3d99;
}
.sec_ticket .ticket_btn {
  margin: 25px auto 0;
  width: 90%;
  max-width: 690px;
  position: relative;
}
.sec_ticket .ticket_more {
  margin: 40px auto 0;
  width: 90%;
  max-width: 690px;
  text-align: center;
}
.sec_ticket .ticket_more p:not(.more_btn) {
  margin: 0 auto;
  padding: .5em;
  font-size: 1.125rem;
  font-weight: 700;
  line-height: 1;
  background: #fff;
  border: 1px solid var(--pink);
  position: relative;
}
.sec_ticket .ticket_more p:not(.more_btn)::before,
.sec_ticket .ticket_more p:not(.more_btn)::after {
  content: '';
  border-style: solid;
  display: block;
  translate: -50% 100%;
  position: absolute;
  bottom: 0;
  left: 50%;
}
.sec_ticket .ticket_more p:not(.more_btn)::before {
  border-width: 18px 12px 0 12px;
  border-color: #ff8195 transparent transparent;
}
.sec_ticket .ticket_more p:not(.more_btn)::after {
  border-width: 16.4px 11.6px 0 11.6px;
  border-color: #ffffff transparent transparent;
}
.sec_ticket .more_btn {
  margin: 20px auto 0;
  width: 68%;
  max-width: 464px;
}
.sec_ticket .ticket_note {
  font-size: .75rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
.sec_ticket .ticket_attention,
.sec_booth .booth_attention {
  margin: 60px auto 0;
  padding: 1em;
  width: 90%;
  max-width: 645px;
  border: 1px solid var(--txt-color);
}
.sec_ticket .ticket_waiting {
  margin: 35px auto 0;
  width: 90%;
  max-width: 690px;
}
.sec_ticket .ticket_waiting dt {
  margin-bottom: .5em;
  padding: .5em;
  font-size: 1.125rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  background: #fff;
}
.sec_ticket .ticket_waiting dd {
  font-size: .75rem;
  font-weight: 700;
  text-align: center;
}
.sec_ticket .ticket_waiting dd em {
  color: var(--red);
  font-style: normal;
}
.sec_ticket .ticket_waiting .waiting_map {
  margin: 1em auto 0;
  width: 100%;
}
.sec_ticket .ticket_waiting .more_btn {
  margin-top: 2em;
}
.sec_ticket .ticket_waiting .note {
  margin-top: 1em;
  font-size: .625rem;
  font-weight: 500;
  text-align: center;
}
.sec_ticket .ticket_attention > dl > dt,
.sec_booth .booth_attention > dl > dt {
  margin-bottom: 1em;
  font-size: .875rem;
  text-align: center;
}
.sec_ticket .ticket_attention > dl > dd,
.sec_booth .booth_attention > dl > dd {
  font-size: .75rem;
}
.sec_ticket .ticket_attention dd dl {
  margin-top: 1em;
}
.sec_ticket .ticket_attention dd li,
.sec_booth .booth_attention dd li {
  padding-left: 1em;
  text-indent: -1em;
}
.sec_ticket .ticket_attention dd li::before,
.sec_booth .booth_attention dd li::before {
  content: '・';
}
body#vote .ticket_yosen .sec_contact {
  margin-top: 35px;
  padding: 35px 0;
  background: var(--bg-blue);
}

/* sec_meet
============================================ */
.sec_meet,
.sec_booth {
  margin-top: 0!important;
  background-color: var(--purple);
  background-image: url(../img/bg2.png);
  background-repeat: repeat;
  background-position: center top;
  background-size: 400px;
  position: relative;
}
.sec_meet::before,
.sec_booth::before {
  content: '';
  width: 100%;
  height: 100%;
  background: var(--purple);
  mix-blend-mode: screen;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.sec_meet_ttl {
  margin: 0 auto;
  max-width: 702px;
  position: relative;
}
.sec_meet .meet_bnr {
  margin: 0 auto;
  max-width: 1002px;
  position: relative;
}
.sec_meet .more_btn {
  margin: 20px auto 0;
  width: 68%;
  max-width: 464px;
  position: relative;
}

/* sec_access
============================================ */
.sec_access {
  padding: 50px 5%;
  background: var(--bg-blue);
}
.sec_access .gmap {
  margin: 30px auto 0;
  width: 100%;
  aspect-ratio: 4 / 3;
}
.sec_access .gmap iframe {
  width: 100%;
  height: 100%;
}
.sec_access .map_info {
  margin: 1.5em auto 0;
  padding: 1em;
  background: #fff;
}
.sec_access dl {
  margin: 0 auto;
}
.sec_access dl:not(:first-of-type) {
  margin-top: 1.5em;
}
.sec_access dt {
  margin-bottom: 1em;
  /* padding: .5em .5em .6em; */
  text-align: center;
  line-height: 1;
  /* background: #fff; */
}
.sec_access dd {
  font-size: .75rem;
  text-align: center;
  line-height: 1.5;
  word-break: break-all;
}

/* sec_faq
============================================ */
.white_wrap {
  background: #fff;
}

.sec_faq {
  padding: 50px 0;
  background: var(--bg-blue);
}
.sec_faq h2 {
  margin: 0 auto 25px;
}
.sec_faq .faq_list {
  margin: 0 auto;
  width: 90%;
  max-width: 842px;
}
.sec_faq dl:not(:first-of-type) {
  margin-top: 3em;
}
.sec_faq dt {
  margin-bottom: .5em;
  padding: .5em;
  color: #fff;
  font-size: 1.125rem;
  text-align: center;
  line-height: 1;
  background: var(--navy);
}
.sec_faq dd details:not(:first-of-type) {
  margin-top: 1em;
}
.sec_faq dd summary {
  padding-left: 1.4em;
  font-weight: 700;
  list-style: none;
  line-height: 1.5;
  text-indent: -1.4em;
  list-style: none;
  display: block;
  cursor: pointer;
}
.sec_faq dd summary::before {
  content: 'Q. ';
}
.sec_faq dd details div {
  margin-top: .5em;
  padding-left: 1em;
  text-indent: -1em;
}
.sec_faq dd details div::before {
  content: 'A. ';
}
.sec_faq dd li {
  padding-left: 1em;
  font-size: .75rem;
  text-indent: -1em;
}
.sec_faq dd li::before {
  content: '・';
}
.sec_faq dd details div ul {
  margin: .5em 0;
}
.sec_faq dd details div li {
  font-size: .875rem;
}

/* sec_sponsor
============================================ */
.sec_sponsor {
  padding-top: 60px;
  padding-bottom: 30px;
}
.sec_sponsor > div {
  margin: 0 auto;
  width: 90%;
  max-width: 1000px;
}
.sec_sponsor > div:not(:first-of-type) {
  margin-top: 60px;
}
.sec_sponsor h2 {
  margin: 0 auto 1em;
  padding: .2em 0 .1em;
  max-width: 720px;
  font-family: 'Bebas Neue';
  font-size: 1.375rem;
  font-weight: normal;
  text-align: center;
  line-height: 1;
  border-top: 1px solid #75788b;
  border-bottom: 1px solid #75788b;
}
.sec_sponsor h2.jp {
  padding-bottom: .35em;
  font-size: 1.125rem;
}
.sec_sponsor ul {
  margin-bottom: -30px;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  justify-content: center;
}
.sec_sponsor li {
  margin-bottom: 30px;
  padding: 10px;
}
.sec_sponsor .media li,
.sec_sponsor .production li,
.sec_sponsor .live li {
  margin-bottom: 10px;
}
.sec_sponsor li img {
  width: auto;
  height: 60px;
}
.sec_sponsor .media li img,
.sec_sponsor .production li img,
.sec_sponsor .live li img {
  height: 80px;
}
.sec_sponsor .note {
  font-size: .625rem;
  text-align: right;
}

/* sec_organize
============================================ */
.sec_organize {
  margin-top: 50px;
}
.sec_organize dl {
  margin: 0 auto;
  width: 90%;
  max-width: 1000px;
  font-weight: 700;
  text-align: center;
}
.sec_organize dl:not(:first-of-type) {
  margin-top: 1em;
}
.sec_organize dt {
  margin-bottom: .5em;
  min-width: 10em;
  font-size: 1.125rem;
  display: inline-block;
  position: relative;
}
.sec_organize dt::before {
  content: '';
  position: absolute;
  top: calc(50% + 1px);
  left: 0;
  right: 0;
  border-top: 1px solid #75788b;
}
.sec_organize dt p {
  padding: 0 .3em;
  background: #fff;
  display: inline-block;
  position: relative;
}
.sec_organize dd {
  font-size: .875rem;
}

/* sec_contact
============================================ */
.sec_contact {
  margin-top: 35px;
}
.sec_contact dl {
  margin: 0 auto;
  width: 90%;
  max-width: 900px;
  font-weight: 700;
  text-align: center;
}
.sec_contact dt {
  margin-bottom: 1em;
  padding: .5em;
  color: #fff;
  line-height: 1;
  background: var(--navy);
  border-radius: 1em;
}
.sec_contact dd a {
  text-decoration: none;
}
.sec_contact .bnr {
  margin: 60px auto 0;

}
.sec_contact .bnr p {
  margin: 0 auto;
  width: 90%;
  max-width: 640px;
}

/* vote
============================================ */
body#vote .content {
  padding-top: 0!important;
  padding-bottom: 0!important;
}
body#vote .content::after {
  display: none!important;
}
body#vote .ticket_vote {
  padding: 50px 0;
  background-color: var(--bg-blue);
}
body#vote .sec_ticket {
  margin-top: 0!important;
  padding-top: 0!important;
  padding-bottom: 0!important;
  background: none;
  box-shadow: none;
}
body#vote .sec_ticket h2 img {
  width: 100%;
  height: auto;
}
body#vote #ticket_vote_model_ttl {
  margin: 0 auto 15px;
  width: 90%;
  max-width: 660px;
}
body#vote .ticket_vote_model_txt em {
  color: var(--pink);
  font-style: normal;
}
body#vote .ticket_vote_model_txt span {
  font-size: 90%;
  font-weight: 500;
}
body#vote .ticket_vote dl {
  margin: 25px auto 0;
  padding: 40px 0;
  width: 90%;
  max-width: 680px;
  text-align: center;
  position: relative;
}
body#vote .ticket_vote dl::before,
body#vote .ticket_vote dl::after {
  content: '';
  width: 100%;
  aspect-ratio: 20 / 1;
  background-image: url(../img/vote/ticket_vote_line.png);
  background-repeat: no-repeat;
  background-size: 100%;
  position: absolute;
  left: 0;
}
body#vote .ticket_vote dl::before {
  top: 0;
}
body#vote .ticket_vote dl::after {
  bottom: 0;
}
body#vote .ticket_vote dt {
  margin: 0 auto;
  width: 242px;
}
body#vote .ticket_vote dd {
  margin-top: .5em;
  color: #ff5d92;
  font-size: .875rem;
  font-weight: 700;
}
body#vote .ticket_special {
  padding: 25px 0;
  background-image: url(../img/bg_pink_sp.png);
  background-repeat: repeat-y;
  background-position: center top;
  background-size: 100%;
  position: relative;
}
body#vote #ticket_special_ttl {
  margin: 0 auto 10px;
  width: 90%;
  max-width: 660px;
  position: relative;
}
.sec_ticket .ticket_price {
  position: relative;
}
body#vote .ticket_special dt {
  background: var(--navy)!important;
}
body#vote .ticket_special dd {
  border-color: var(--navy);
  border-width: 1px 1px 1px 1px;
  border-style: solid;
}
body#vote .ticket_yosen {
  padding-top: 35px;
}
body#vote #ticket_yosen_ttl {
  margin: 0 auto 15px;
  width: 90%;
  max-width: 660px;
}
body#vote .ticket_vote_model_txt,
body#vote .ticket_yosen_txt {
  margin: 15px auto 0;
  width: 90%;
  font-size: .875rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
}
body#vote .sec_movie {
  margin-top: 35px;
  padding-top: 0;
  padding-bottom: 0;
  background: none;
  box-shadow: none;
}

/* model
============================================ */
body#model .content {
  background-color: var(--blue);
  position: relative;
}
body#model .content::before {
  content: '';
  width: 100%;
  height: 100%;
  background-image: url(../img/main_bg.png);
  background-repeat: repeat;
  background-position: center;
  background-size: 1554px 749px;
  display: block;
  opacity: .35;
  position: absolute;
  top: 0;
  left: 0;
}
body#model .content::after {
  content: '';
  width: 100%;
  height: 100%;
  background: #ff1db2;
  mix-blend-mode: screen;
  display: block;
  position: absolute;
  top: 0;
  left: 0;
}
.sec_model {
  position: relative;
  z-index: 1;
}
.sec_model h1,
body#contact h1,
body#aboutus h1,
body#history h1 {
  margin-bottom: 30px;
  padding: 5px 0;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  position: relative;
}
.sec_model h1:not(.model_ttl_detail) {
  background-image: url(../img/model/ttl_model_bg.png);
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.sec_model .category {
  margin: 0 auto 50px;
  width: 90%;
}
.sec_model .category ul {
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
}
.sec_model .category li {
  padding: 6px;
  width: 50%;
  max-width: 13.5em;
  font-size: .75rem;
  text-align: center;
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
}
.sec_model .category li a {
  padding: .5em;
  width: 100%;
  color: #fff;
  background: #de2a31;
  text-decoration: none;
  border-radius: 3em;
  display: block;
}
.sec_model .category li a:hover {
  opacity: .7;
}
.sec_model .category li span {
  font-family: 'Bebas Neue';
  font-size: 1.5rem;
  line-height: 1;
  display: block;
}
.sec_model h2 {
  font-family: 'Bebas Neue';
  font-size: 2.375rem;
  font-weight: 500;
  text-align: center;
  line-height: 1;
}
.sec_model h3 {
  margin-top: .5em;
  font-size: 1rem;
  font-weight: 500;
  text-align: center;
}
.sec_model .model_list {
  margin: 50px auto 0;
  width: 90%;
  max-width: 1140px;
  display: -webkit-box;
  display: flex;
  flex-wrap: wrap;
}
.sec_model .model_list li {
  width: calc(100% / 3);
  position: relative;
}
.sec_model .model_list li figure {
  aspect-ratio: 2 / 3;
}
.sec_model .model_list li figure img {
  height: 100%;
  object-fit: cover;
}
.sec_model .model_list .prof_wrap {
  width: 100%;
  color: #fff;
  text-align: center;
  background: linear-gradient(rgba(0, 0, 0, 0.0), rgba(0, 0, 0, .6));
  display: -webkit-box;
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  position: absolute;
  bottom: 0;
}
.sec_model .model_list .prof_wrap div {
  padding: .5em;
  width: 100%;
  line-height: 1.2;
}
.sec_model .model_list .prof_wrap div p {
  font-size: .75rem;
}
.sec_model .model_list .prof_wrap div p:not(:first-of-type) {
  margin-top: .5em;
}
.sec_model .model_list .prof_wrap div .name {
  font-size: .875rem;
}

.sec_model .detail_wrap {
  margin-top: 20px;
  background-repeat: no-repeat;
  background-position: center 70px;
  background-size: 500px;
  position: relative;
}
.sec_model .prof {
  margin: 0 auto;
  padding: 30px 20px 20px;
  width: 90%;
  max-width: 1300px;
  border-radius: 25px;
  border: 2px solid #515151;
  box-shadow: 3px 3px 0 rgba(0, 0, 0, .3);
  position: relative;
  z-index: 1;
}
.sec_model .prof_photo {
  margin: 0 auto;
  width: 75%;
  max-width: 500px;
}
.sec_model .prof #photo {
  margin: 0 auto;
  position: relative;
}
.sec_model .prof #photo img {
  border: 1px solid #ffcbe5;
  position: relative;
  z-index: 1;
}
.sec_model .prof #photo::after {
  content: '';
  width: 100%;
  height: 100%;
  background-image: url(../img/model/model_photo_bg.png);
  background-repeat: repeat;
  background-position: left top;
  background-size: 21px;
  display: block;
  position: absolute;
  top: -10px;
  left: -15px;
}
.sec_model .prof_info {
  margin-top: 25px;
}
.sec_model .prof .stage {
  font-size: .75rem;
  line-height: 1;
}
.sec_model .prof .name {
  margin-top: .5em;
  font-size: 1.25rem;
  font-weight: 700;
  line-height: 1.2;
}
.sec_model .prof .name span {
  margin-left: .2em;
  height: 1.5em;
  font-size: .875rem;
  font-weight: 500;
  vertical-align: bottom;
  display: inline-block;
}
.sec_model .prof #thumbnail {
  margin-top: 15px;
  display: -webkit-box;
  display: flex;
}
.sec_model .prof #thumbnail li {
  border: 1px solid #ffcbe5;
}
.sec_model .prof #thumbnail li:not(:first-of-type) {
  border-left: none;
}
.sec_model .prof .faq {
  margin-top: 1em;
}
.sec_model .prof .faq dl {
  font-size: .75rem;
  display: -webkit-box;
  display: flex;
}
.sec_model .prof .faq dl:not(:first-of-type) {
  margin-top: 6px;
}
.sec_model .prof .faq dt {
  padding: 1em;
  width: 9em;
  color: #fff;
  font-weight: 700;
  background: #ff5db8;
  border-radius: 10px 0 0 10px;
}
.sec_model .prof .faq dd {
  padding: 1em;
  background: #fff;
  border-radius: 0 10px 10px 0;
  flex: 1;
}
.sec_model .prof_deco {
  margin-top: 30px;
  width: 100%;
}
.sec_model .prof_deco img {
  margin: 0 auto;
  max-width: 706px;
}
.sec_model .btn {
  margin: 40px auto 0;
  width: fit-content;
  text-align: center;
  line-height: 1;
}
.sec_model .btn a {
  padding: .7em 1.5em;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: #ff262e;
  border-radius: 2em;
  display: block;
}
.sec_model .btn a:hover {
  opacity: .7;
}

/* booth
============================================ */
.sec_booth {
  padding: 30px 0 40px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, .2);
  position: relative;
  z-index: 1;
}
.sec_booth #sec_booth_ttl {
  margin: 0 auto;
  width: 93%;
  max-width: 1062px;
}
.sec_booth #booth_bnr {
  margin: 0 auto;
  width: 93%;
  max-width: 1002px;
  position: relative;
}
.sec_booth .booth_txt,
.sec_booth .booth_place_txt {
  margin-top: 20px;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  line-height: 1.5;
  position: relative;
}
.sec_booth .booth_txt em,
.sec_booth .booth_place_txt em {
  /* color: #fb6291; */
  font-style: normal;
}
.sec_booth .booth_txt > p,
.sec_booth .booth_place_txt > p {
  position: relative;
}
.sec_booth .booth_txt .shadow,
.sec_booth .booth_place_txt .shadow {
  color: #a54be5;
  -webkit-text-stroke: 4px #a54be5;
  text-shadow: 3px 3px 0px #a54be5, 2px 4px 0px #a54be5;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
}
.sec_booth .ticket_btn {
  margin: 15px auto 0;
  width: 94%;
  max-width: 716px;
  position: relative;
}
.sec_booth .booth_note {
  margin: 5px auto 0;
  width: 90%;
  color: #fff;
  position: relative;
}
.sec_booth .booth_note li {
  font-size: .75rem;
  font-weight: 700;
  padding-left: 1em;
  text-indent: -1em;
}
.sec_booth .booth_note li::before {
  content: '※';
}
.sec_booth .booth_image {
  margin: 35px auto 0;
  width: 90%;
  max-width: 1426px;
  position: relative;
}
.sec_booth .booth_image dt,
.sec_booth .booth_howto > dl > dt,
.sec_booth .booth_place > dl > dt {
  margin: 0 auto .5em;
  padding: .5em;
  max-width: 1395px;
  color: #fff;
  font-size: 1.25rem;
  font-weight: 700;
  text-align: center;
  line-height: 1;
  background: var(--blue);
}
.sec_booth .booth_image .note {
  margin-bottom: -10px;
  color: #fff;
  font-size: .75rem;
  font-weight: 700;
}
.sec_booth .booth_image dd p:not(.note):not(:first-of-type) {
  margin-top: 25px;
}
.sec_booth .booth_howto {
  margin: 50px auto 0;
  width: 90%;
  max-width: 1395px;
  position: relative;
}
.sec_booth .booth_howto > dl > dd {
  margin: 0 auto;
}
.sec_booth .booth_howto > dl > dd p:not(:first-of-type) {
  margin-top: 20px;
}
.sec_booth .booth_howto > dl > dd p img {
  margin: 0 auto;
  width: 85%;
}
.sec_booth .booth_howto > dl > dd .deco img {
  width: 45%;
  max-width: 313px;
}
.sec_booth .booth_place {
  margin: 60px auto 0;
  position: relative;
}
.sec_booth .booth_place dt {
  width: 90%;
}
.sec_booth .booth_place_map {
  margin: 25px -9vw 0;
  width: 118vw;
  max-width: 890px;
}
.sec_booth .booth_place .booth_note {
  max-width: 1010px;
  text-align: left;
}
.sec_booth .booth_attention {
  margin-top: 30px;
  max-width: 1010px;
  background: #fff;
  border: none;
}

/* note
============================================ */
body#note .content {
  background: var(--bg-blue);
}
.sec_note .note_attention {
  margin: 0 auto;
  width: 90%;
  max-width: 645px;
}
.sec_note .note_attention > dl > dt {
  margin-bottom: 1em;
  text-align: center;
}
.sec_note .note_attention > dl > dd {
  font-size: .75rem;
}
.sec_note .note_attention dd dl {
  margin-top: 2em;
}
.sec_note .note_attention dd dt {
  margin-bottom: .5em;
  padding: .5em;
  color: #fff;
  font-size: .875rem;
  text-align: center;
  line-height: 1;
  background: var(--navy);
}
.sec_note .note_attention dd li {
  padding-left: 1em;
  text-indent: -1em;
}
.sec_note .note_attention dd li::before {
  content: '・';
}

/* contact
============================================ */
body#contact .content > section {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  max-width: 660px;
}
.contact_txt {
  margin-bottom: 30px;
  text-align: center;
}
.contact_desc {
  text-align: center;
}
.contact_desc dt {
  margin-bottom: 1em;
  padding: .5em;
  color: #fff;
  line-height: 1;
  background: var(--pink2);
}
.contact_desc dd {
  font-size: .875rem;
}
.contact_desc dd .secretariat {
  margin-bottom: .5em;
  color: var(--pink);
  font-size: 1.125rem;
  font-weight: 700;
}
.contact_desc dd a {
  text-decoration: none;
}
.contact_desc dd em {
  font-style: normal;
  font-weight: 700;
}

/* about us
============================================ */
body#aboutus header {
  position: relative;
}
body#aboutus header #logo,
body#aboutus header #logo img {
  margin: 0 auto;
}
body#aboutus main {
  padding-top: 0;
}
body#aboutus .content > section {
  margin-left: auto;
  margin-right: auto;
  width: 90%;
  max-width: 726px;
}
body#aboutus h2 {
  margin-bottom: 1em;
  font-size: 1.5em;
}
body#aboutus table {
  margin: 0 auto;
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  table-layout: fixed;
}
body#aboutus th,
body#aboutus td {
  padding: 1em;
  font-size: .875rem;
  vertical-align: middle;
  border: 1px solid #ddd;
}
body#aboutus th {
  width: 35%;
  font-weight: 700;
  background: #eee;
}
body#aboutus td {
  width: 65%;
  word-break: break-all;
}
body#aboutus footer {
  padding-top: 10px;
  background: #fff;
}
body#aboutus footer small {
  color: var(--txt-color);
}

/* history
============================================ */
body#history .content {
  background-color: var(--bg-blue);
}
.history_list {
  margin: 0 auto;
  width: 90%;
  max-width: 1400PX;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}

/* error
============================================ */
body#error .content section {
  margin: 0 auto;
  padding: 0 5%;
}
body#error .content h1 {
  margin-bottom: 1em;
  font-family: 'Bebas Neue';
  font-size: 2.5rem;
  font-weight: 500;
  text-align: center;
}
body#error .content h1 span {
  font-size: 200%;
}
body#error .content .txt {
  margin: 0 auto;
  width: fit-content;
}
body#error .content .btn {
  margin-top: 40px;
}
body#error .content .btn a {
  margin: 0 auto;
  padding: 1em 2em;
  width: 70%;
  max-width: 260px;
  color: #fff;
  text-align: center;
  text-decoration: none;
  background: var(--pink);
  border-radius: 2em;
  display: block;
}


@media (max-width: 320px) {
  .sec_about .about_ttl {
    font-size: .9em;
  }
  .sec_about .about_txt {
    font-size: .63rem;
  }
  .sec_guest h3 img {
    height: 78px;
  }
  .sec_ticket .ticket_vote_date span {
    font-size: .875rem;
  }
  .sec_ticket .ticket_vote_txt {
    font-size: 1.4rem;
  }
  .sec_ticket .ticket_vote_sub {
    font-size: .75rem;
  }
  .sec_ticket .ticket_price dt {
    font-size: .95rem;
  }
  .sec_ticket .ticket_price dt .price .soldout {
    font-size: .625rem;
  }
  .sec_ticket .standing dt.soldout {
    font-size: .78rem;
  }
  .sec_access dd {
    font-size: .73rem;
  }

  .sec_booth .booth_place_txt {
    font-size: 1.05rem;
  }
}


@media (min-width: 601px) {
  .mv_wrap {
      background-image: url(../img/mv_bg.png);
  }

  .sec_news .bnr {
    width: 60%;
  }
  .sec_news .news_list {
    width: 90%;
  }

  .sec_about .about_wrap {
    margin: 0 auto;
    width: 90%;
    display: -webkit-box;
    display: flex;
    -webkit-box-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    align-items: center;
  }
  .sec_about .about_logo {
    margin-bottom: 0;
    width: 45%;
  }
  .sec_about .about_inner {
    padding-right: 0;
    width: 55%;
  }
  .sec_about .about_ttl {
    text-align: left;
    text-indent: -.5em;
  }
  .sec_date {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  .sec_date .date_inner {
    padding: 30px;
  }
  .sec_date .date_inner > div {
    margin: 0 auto;
    width: fit-content;
  }
  .sec_date .date_inner dl {
    display: -webkit-box;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
  }
  .sec_date dl:not(:first-of-type) {
    margin-top: 1em;
  }
  .sec_date dt {
    margin-right: 1em;
    margin-bottom: 0;
  }
  .sec_date dd br {
    display: none;
  }
  .sec_movie .movie_ttl {
    font-size: 1rem;
  }
  .sec_movie .youtube {
    width: 70%;
  }
  .sec_guest,
  body#vote .ticket_special {
    background-image: url(../img/bg_pink.png);
  }
  .sec_guest .guest_wrap li {
    width: 22.5%;
  }
  .sec_guest .guest_wrap li:not(:nth-of-type(3n + 1)) {
    margin-left: 0%;
  }
  .sec_guest .guest_wrap li:not(:nth-of-type(4n + 1)) {
    margin-left: 2.5%;
  }
  .sec_guest .guest_wrap .btn {
    margin-top: 30px;
    width: 47.5%;
  }
  .sec_guest .guest_wrap .btn a {
    font-size: 1.25rem;
  }
  .sec_guest .guest_wrap .btn a::after {
    margin-top: -8px;
    border-width: 8px;
    border-left-width: 9px;
    right: 1em;
  }

  .sec_ticket .ticket_coming {
    width: 50%;
  }
  .sec_ticket .ticket_vote_date,
  .sec_ticket .ticket_price,
  .sec_ticket .ticket_more p,
  .sec_meet .more_btn {
    width: 45%;
  }
  .sec_ticket .standing dt.soldout {
    font-size: .94rem;
  }
  .sec_ticket .ticket_btn,
  .ticket_more {
    width: 47%;
  }
  .map_wrap {
    margin: 0 auto;
    max-width: 1480px;
    display: -webkit-box;
    display: flex;
  }
  .sec_access .gmap {
    margin: 0 4% 0 0;
    width: 48%;
  }
  .sec_access .map_info {
    margin-top: 0;
    width: 48%;
  }
  .sec_access dl:first-of-type {
    margin-top: 0;
  }

  /* vote
  ============================================ */
  body#vote #ticket_vote_model_ttl,
  body#vote #ticket_special_ttl,
  body#vote #ticket_yosen_ttl {
    width: 50%;
  }
  body#vote .ticket_vote dl {
    width: 45%;
  }

  /* model
  ============================================ */
  .sec_model h1,
  body#contact h1,
  body#aboutus h1,
  body#history h1 {
    margin-bottom: 50px;
  }
  .sec_model h1:not(.model_ttl_detail) {
    background-size: contain;
  }
  .sec_model .category li {
    width: calc(100% / 3);
  }
  .sec_model .model_list li {
    width: 25%;
  }

  .sec_model .detail_wrap {
    background: none;
  }
  .sec_model .prof_photo {
    width: 60%;
  }
  .sec_model .prof #photo img,
  .sec_model .prof #thumbnail li {
    border-width: 2px;
  }
  .sec_model .prof #thumbnail {
    margin-top: 20px;
  }
  .sec_model .prof_info {
    margin-top: 40px;
  }
  .sec_model .prof .stage,
  .sec_model .prof .name span {
    font-size: .875rem;
  }
  .sec_model .prof .name {
    margin-top: .3em;
    font-size: 2rem;
  }
  .sec_model .prof .faq dl {
    font-size: 1rem;
  }

  /* booth
  ============================================ */
  .sec_booth .booth_place_map {
    margin-left: auto;
    margin-right: auto;
    width: 90%;
  }

  /* contact
  ============================================ */
  .contact_txt {
    margin-bottom: 50px;
  }
  .sec_contact .bnr p {
    width: 60%;
  }

  /* about us
  ============================================ */
  body#aboutus footer {
    padding-top: 15px;
    padding-bottom: 15px;
  }

  /* history
  ============================================ */
  .history_list {
    grid-template-columns: 1fr 1fr 1fr;
  }

  /* error
  ============================================ */
  body#error .content h1 {
    font-size: 4rem;
  }
  body#error .content h1 span {
    font-size: 200%;
  }
  body#error .content .btn {
    margin-top: 80px;
  }
}


@media (min-width: 1033px) {
  /* sec_mv
  ============================================ */
  .mv_wrap {
    background-position: center 400px;
  }
  .sec_mv {
    padding-bottom: 105px;
  }
  .sec_mv::before {
    aspect-ratio: 3 / 1;
    background-image: url(../img/mv_star.svg);
    top: 3.75vw;
  }
  .sec_mv h1 {
    margin-top: 10px;
  }
  .mv_txt2 {
    margin-top: 30px;
  }
  .mv_txt2::before {
    aspect-ratio: 960 / 583;
    background-image: url(../img/mv_star_w.svg);
    top: -15px;
    left: -640px;
  }
  .mv_date {
    margin-top: 50px;
  }

  /* sec_news
  ============================================ */
  .sec_news {
    padding-bottom: calc(10vw + 110px);
  }
  .sec_news .bnr {
    margin-bottom: 100px;
  }
  .sec_news .news_list {
    padding: 20px 50px 50px;
    box-shadow: 5px 5px 0 0 var(--navy);
  }
  .sec_news h2 {
    margin-bottom: 30px;
  }
  .sec_news .news_list dt {
    font-size: 1.5rem;
  }
  .sec_news .news_list dd {
    margin-top: .1em;
    font-size: 1rem;
  }
  .sec_news .news_social {
    margin-top: 5px;
  }
  .sec_news .news_social::before {
    display: none;
  }
  .news_social li {
    padding: 25px;
  }
  .news_social li a {
    width: 88px;
    height: 88px;
  }
  .news_social li img {
    max-width: 44px;
    max-height: 44px;
  }

  /* sec_about
  ============================================ */
  .sec_about {
    padding-bottom: calc(50px - 100px);
  }
  .sec_about::before {
    width: 315vw;
    height: 315vw;
    top: -10vw;
    clip: rect(auto, auto, 11vw, auto);
  }
  .sec_about h2,
  .sec_movie h2,
  .sec_guest h2,
  .sec_ticket h2,
  .sec_access h2,
  .sec_faq h2,
  .sec_model h1,
  .sec_model_detail h1,
  .sec_note h1,
  body#contact h1,
  body#aboutus h1,
  body#history h1 {
    margin-bottom: 30px;
  }
  .sec_about h2 img,
  .sec_movie h2 img,
  .sec_guest h2 img,
  .sec_ticket h2 img,
  .sec_access h2 img,
  .sec_faq h2 img,
  .sec_model h1 img,
  .sec_model_detail h1 img,
  .sec_note h1 img,
  body#contact h1 img,
  body#aboutus h1 img,
  body#history h1 img {
    height: 146px;
  }
  .sec_about h2.is-show,
  .sec_about .about_wrap.is-show {
    transform: translateY(calc(-10vw + 100px));
  }
  .sec_about .about_ttl {
    font-size: 1.75rem;
  }
  .sec_about .about_txt {
    margin-top: 1.5em;
    font-size: 1.25rem;
  }

  /* sec_date
  ============================================ */
  .sec_date {
    padding-top: 50px;
    padding-bottom: 0;
  }
  .sec_date::before {
    width: 315vw;
    height: 315vw;
    bottom: -11vw;
    clip: rect(304vw, auto, auto, auto);
  }
  .sec_date .date_inner {
    padding: 50px;
  }
  .sec_date dt {
    font-size: 1.5rem;
  }
  .sec_date dd {
    font-size: 2.5rem;
  }
  .sec_date dd span {
    font-size: 1.375rem;
  }
  .sec_date dd .note {
    font-size: 1rem;
  }

  /* sec_movie
  ============================================ */
  .sec_movie {
    padding-top: calc(10vw + 150px);
    padding-bottom: 150px;
    background-image: url(../img/movie_star.svg);
    background-repeat: no-repeat;
    background-position: center 12vw;
    background-size: contain;
  }
  .sec_movie .movie_ttl {
    font-size: 1.6875rem;
  }
  .sec_movie > div.movie_box:not(:first-of-type) {
    margin-top: 55px;
  }
  .movie_foot {
    display: none;
  }

  /* sec_guest
  ============================================ */
  .sec_guest,
  .sec_ticket,
  .sec_meet,
  .sec_access {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .sec_guest::before {
    content: '';
    width: 100%;
    aspect-ratio: 30 / 37;
    background-image: url(../img/guest_star.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: contain;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }
  .sec_guest h2::before,
  .sec_guest h2::after,
  .sec_guest .guest_wrap.guest h3::before,
  .sec_guest .guest_wrap.guest h3::after,
  .sec_guest .guest_wrap.artist h3::before,
  .guest_foot {
    display: none;
  }
  .sec_guest h3 {
    margin-bottom: 25px;
  }
  .sec_guest h3 img {
    height: 218px;
  }
  .sec_guest .guest_inner div.guest_wrap:not(:first-of-type) {
    margin-top: 140px;
  }
  .sec_guest .guest_wrap li {
    margin-bottom: 40px;
    width: 18%;
  }
  .sec_guest .guest_wrap li:not(:nth-of-type(4n + 1)) {
    margin-left: 0;
  }
  .sec_guest .guest_wrap li:not(:nth-of-type(5n + 1)) {
    margin-left: 2.5%;
  }
  .sec_guest .guest_wrap li .name {
    font-size: .95rem;
  }
  .sec_guest .guest_wrap li .sns {
    margin: 10px -7px 0 -7px;
  }
  .sec_guest .guest_wrap li .sns p {
    margin: 2px;
  }
  .sec_guest .guest_wrap li .sns p span {
    width: 20px;
    height: 20px;
  }
  .sec_guest .guest_wrap .btn a {
    font-size: 1.375rem;
  }
  .sec_guest .guest_wrap .btn a {
    font-size: 1.5rem;
  }
  .sec_guest .guest_wrap .btn a::after {
    margin-top: -9px;
    border-width: 9px;
    border-left-width: 10px;
  }

  /* sec_ticket
  ============================================ */
  .sec_ticket {
    background-image: url(../img/ticket_star.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100%;
  }
  .sec_ticket .ticket_vote_date,
  .sec_ticket .ticket_price,
  .sec_ticket .ticket_more p {
    width: auto;
  }
  .sec_ticket .ticket_vote_date {
    font-size: 3rem;
  }
  .sec_ticket .ticket_vote_date p:not(:first-of-type) {
    margin-top: 10px;
  }
  .sec_ticket .ticket_vote_date span {
    font-size: 1.875rem;
  }
  .sec_ticket .ticket_map {
    padding-bottom: 45px;
  }
  .sec_ticket .ticket_vote_txt {
    font-size: 2.5rem;
  }
  .sec_ticket .ticket_vote_sub,
  .sec_ticket .ticket_price dd,
  body#vote .ticket_vote_model_txt,
  body#vote .ticket_yosen_txt {
    font-size: 1.5rem;
  }
  .sec_ticket .ticket_price {
    margin-top: 40px;
  }
  .sec_ticket .ticket_price dt {
    font-size: 2.1875rem;
  }
  .sec_ticket .standing dt.soldout {
    font-size: 1.88rem;
  }
  .sec_ticket .ticket_price dt .price .soldout {
    margin-top: -.5em;
    font-size: 1.5rem;
  }
  .sec_ticket .ticket_btn {
    margin-top: 60px;
  }
  .sec_ticket .ticket_more {
    margin-top: 80px;
    padding: 2em 0;
  }
  .sec_ticket .ticket_more p {
    font-size: 2.375rem;
  }
  .sec_ticket .ticket_more p:not(.more_btn) {
    font-size: 2.375rem;
    border-width: 2px;
  }
  .sec_ticket .ticket_more p:not(.more_btn)::before {
    border-width: 36px 24px 0 24px;
  }
  .sec_ticket .ticket_more p:not(.more_btn)::after {
    border-width: 32px 21px 0 21px;
  }
  .sec_ticket .more_btn {
    margin-top: 45px;
  }
  .sec_ticket .ticket_note {
    font-size: 1.25rem;
  }
  .sec_ticket .ticket_waiting {
    margin-top: 70px;
  }
  .sec_ticket .ticket_waiting dt {
    font-size: 1.75rem;
  }
  .sec_ticket .ticket_waiting dd {
    font-size: 1.125rem;
  }
  .sec_ticket .ticket_waiting .waiting_map {
    margin-top: 1.5em;
  }
  .sec_ticket .ticket_waiting .more_btn {
    margin-top: 3em;
  }
  .sec_ticket .ticket_waiting .note {
    font-size: 1rem;
  }
  .sec_ticket .ticket_attention {
    margin-top: 120px;
  }
  .sec_ticket .ticket_attention > dl > dt,
  .sec_booth .booth_attention > dl > dt {
    font-size: 1.125rem;
  }
  .sec_ticket .ticket_attention > dl > dd,
  .sec_booth .booth_attention > dl > dd {
    font-size: .875rem;
  }

  /* sec_meet
  ============================================ */
  .sec_meet,
  .sec_booth {
    background-size: 800px;
  }
  .sec_meet .more_btn {
    margin-top: 50px;
  }

  /* sec_access
  ============================================ */
  .sec_access {
    padding-bottom: 150px;
  }
  .sec_access h2 {
    margin-bottom: 60px;
  }
  .sec_access .gmap {
    width: 51%;
  }
  .sec_access .map_info {
    padding: 3em 2em;
    width: 45%;
  }
  .sec_access dl {
    margin-top: 40px;
  }
  .sec_access dl:not(:first-of-type) {
    margin-top: 3em;
  }
  .sec_access dt {
    font-size: 1.6rem;
  }
  .sec_access dd {
    font-size: 1.125rem;
  }

  /* sec_faq
  ============================================ */
  .sec_faq {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .sec_faq h2 {
    margin-bottom: 60px;
  }
  .sec_faq dl:not(:first-of-type) {
    margin-top: 5em;
  }
  .sec_faq dt {
    margin-bottom: 1em;
    font-size: 1.625rem;
  }
  .sec_faq dd details {
    font-size: 1.5rem;
  }
  .sec_faq dd li {
    font-size: 1rem;
  }

  /* sec_sponsor
  ============================================ */
  .sec_sponsor {
    padding-top: 150px;
    padding-bottom: 150px;
  }
  .sec_sponsor > div:not(:first-of-type) {
    margin-top: 100px;
  }
  .sec_sponsor h2 {
    font-size: 3rem;
  }
  .sec_sponsor h2.jp {
    font-size: 2rem;
  }
  .sec_sponsor li {
    margin-bottom: 40px;
    padding: 20px;
  }
  .sec_sponsor li img {
    height: 106px;
  }
  .sec_sponsor .media li img,
  .sec_sponsor .production li img,
  .sec_sponsor .live li img {
    height: 100px;
  }
  .sec_sponsor .note {
    font-size: .75rem;
  }

  /* sec_organize
  ============================================ */
  .sec_organize {
    margin-top: 120px;
  }
  .sec_organize dl:not(:first-of-type) {
    margin-top: 2em;
  }
  .sec_organize dt {
    margin-bottom: 0;
    font-size: 2rem;
  }
  .sec_organize dd {
    font-size: 2rem;
    font-weight: 500;
  }

  /* sec_contact
  ============================================ */
  .sec_contact {
    margin-top: 75px;
  }
  .sec_contact dt,
  .sec_contact dd {
    font-size: 1.75rem;
  }

  /* vote
  ============================================ */
  body#vote .ticket_vote {
    padding: 115px 0;
    background-image: url(../img/vote/vote_star.svg);
    background-repeat: repeat-y;
    background-position: center top;
    background-size: 100%;
  }
  body#vote #ticket_vote_model_ttl {
    margin-bottom: 40px;
  }
  body#vote .ticket_vote dl {
    margin-top: 50px;
    padding: 70px 0;
  }
  body#vote .ticket_vote dt {
    width: 482px;
  }
  body#vote .ticket_vote dd {
    font-size: 1.5rem;
  }
  body#vote .ticket_vote_model_txt {
    margin-top: 30px;
  }
  body#vote .ticket_special {
    padding-top: 45px;
    padding-bottom: 45px;
  }
  body#vote .ticket_special::before {
    content: '';
    width: 100%;
    aspect-ratio: 2.288 / 1;
    background-image: url(../img/vote/vote_star_w.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
  }
  body#vote .ticket_yosen {
    padding-top: 70px;
    background-image: url(../img/vote/vote_star.svg);
    background-repeat: repeat-y;
    background-position: center top;
    background-size: 100%;
  }
  body#vote .ticket_yosen .sec_contact {
    margin-top: 75px;
    padding: 75px 0;
  }
  body#vote .ticket_yosen_txt {
    margin-top: 30px;
  }
  body#vote .sec_movie {
    margin-top: 75px;
  }
  body#vote .sec_movie .movie_ttl {
    font-size: 1.5rem;
  }

  /* model
  ============================================ */
  .sec_model h1,
  body#contact h1,
  body#aboutus h1 {
    margin-bottom: 80px;
    padding: 10px 0;
  }
  .sec_model .category {
    margin-bottom: 80px;
    width: auto;
  }
  .sec_model .category ul {
    -webkit-box-pack: center;
    justify-content: center;
  }
  .sec_model .category li {
    max-width: 13.5em;
    font-size: .875rem;
  }
  .sec_model .category li a {
    padding: .7em;
  }
  .sec_model .category li span {
    font-size: 2rem;
  }
  .sec_model .model_wrap {
    position: relative;
  }
  .sec_model h2 {
    font-size: 4rem;
  }
  .sec_model h3 {
    font-size: 1.25rem;
  }
  .sec_model .model_list {
    margin-top: 80px;
  }
  .sec_model .model_list li {
    width: 20%;
  }
  .sec_model .model_list li a:hover img {
    opacity: 1;
  }
  .sec_model .model_list .prof_wrap {
    height: 100%;
    background: rgba(255, 70, 100, .5);
    opacity: 0;
    transition: .5s ease-out;
  }
  .sec_model .model_list li a:hover .prof_wrap {
    opacity: 1;
  }
  .sec_model .model_list .prof_wrap div p {
    font-size: 1rem;
  }
  .sec_model .model_list .prof_wrap div .name {
    font-size: 1.25rem;
  }

  .sec_model .prof {
    padding: 85px 70px 70px;
    border-width: 3px;
    box-shadow: 7px 7px 0 rgba(0, 0, 0, .3);
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
  }
  .sec_model .prof_photo {
    width: 42%;
  }
  .sec_model .prof #photo::after {
    background-size: 42px;
    top: -20px;
    left: -30px;
  }
  .sec_model .prof_info {
    margin-top: -20px;
    padding-left: 6%;
    flex: 1;
  }
  .sec_model .prof .stage,
  .sec_model .prof .name span,
  .sec_model .prof .faq dl {
    font-size: 1.25rem;
  }
  .sec_model .prof .name {
    margin-top: .5em;
    font-size: 2.5rem;
  }
  .sec_model .prof .name span {
    height: 1.8em;
  }
  .sec_model .prof .faq dl:not(:first-of-type) {
    margin-top: 15px;
  }
  .sec_model .prof .faq dt {
    border-radius: 15px 0 0 15px;
  }
  .sec_model .prof .faq dd {
    border-radius: 0 15px 15px 0;
  }
  .sec_model .prof #thumbnail {
    margin-top: 40px;
  }
  .sec_model .prof_deco {
    margin-top: 70px;
  }
  .sec_model .btn {
    margin-top: 100px;
    font-size: 1.25rem;
  }
  .sec_model .btn a {
    padding: 1em 2em;
  }

  /* booth
  ============================================ */
  .sec_booth {
    padding-top: 115px;
    padding-bottom: 70px;
  }
  .sec_booth #booth_bnr {
  }
  .sec_booth .booth_txt {
    margin-top: 50px;
    font-size: 2.375rem;
  }
  .sec_booth .booth_txt .shadow,
  .sec_booth .booth_place_txt .shadow {
    -webkit-text-stroke: 6px #a54be5;
    text-shadow: 6px 6px 0 #a54be5, 4px 6px 0 #a54be5;
  }
  .sec_booth .ticket_btn {
    margin-top: 30px;
  }
  .sec_booth .booth_image .note {
    font-size: 1.5rem;
    text-align: center;
  }
  .sec_booth .booth_note {
    margin-top: 10px;
    width: fit-content;
    text-align: center;
  }
  .sec_booth .booth_note li {
    font-size: 1.5rem;
  }
  .sec_booth .booth_image {
    margin-top: 90px;
  }
  .sec_booth .booth_image dt,
  .sec_booth .booth_howto > dl > dt,
  .sec_booth .booth_place > dl > dt {
    font-size: 2.5rem;
  }
  .sec_booth .booth_image dd p:not(.note):not(:first-of-type) {
    margin-top: 30px;
  }
  .sec_booth .booth_howto {
    margin-top: 60px;
    width: 90%;
  }
  .sec_booth .booth_howto > dl > dt,
  .sec_booth .booth_place > dl > dt {
    margin-bottom: 1em;
    font-size: 2.125rem;
  }
  .sec_booth .booth_howto > dl > dd {
    margin: 0 -35px;
    width: calc(100% + 70px);
    display: -webkit-box;
    display: flex;
    flex-wrap: wrap;
  }
  .sec_booth .booth_howto > dl > dd p {
    width: calc(100% / 3);
  }
  .sec_booth .booth_howto > dl > dd p:not(:first-of-type) {
    margin-top: 0;
  }
  .sec_booth .booth_howto > dl > dd p img {
    padding: 0 35px;
    width: 100%;
  }
  .sec_booth .booth_howto > dl > dd .deco {
    margin-top: 35px!important;
    width: 100%;
    order: 2;
  }
  .sec_booth .booth_place {
    margin-top: 80px;
  }
  .sec_booth .booth_place_txt {
    font-size: 2rem;
  }
  .sec_booth .booth_place_map {

  }
  .sec_booth .booth_place .booth_note {
    text-align: left;
  }
  .sec_booth .booth_attention {
    margin-top: 60px;
  }

  /* note
  ============================================ */
  .sec_note .note_attention > dl > dt {
    font-size: 1.125rem;
  }
  .sec_note .note_attention > dl > dd {
    font-size: .875rem;
  }

  /* contact
  ============================================ */
  .contact_desc dt {
    font-size: 1.5rem;
  }
  .contact_desc dt {
    font-size: 1.5rem;
  }
  .contact_desc dd {
    font-size: 1rem;
  }
  .contact_desc dd .secretariat {
    font-size: 1.75rem;
  }
  .sec_contact .bnr {
    margin-top: 120px;
    background-image: url(../img/official-partner_star.svg);
    background-repeat: no-repeat;
    background-position: center top;
    background-size: 820px;
  }

  /* history
  ============================================ */
  .history_list {
    grid-template-columns: 1fr 1fr 1fr 1fr;
  }

  /* about us
  ============================================ */
  body#aboutus header {
    padding-left: calc((100vw - 1200px) / 2);
    padding-right: calc((100vw - 1200px) / 2);
  }
  body#aboutus h2 {
    font-size: 2.75rem;
  }
}


@media (min-width:1920px) {
  .sec_about .about_inner {
    width: 52%;
  }
  .sec_about .about_ttl {
    font-size: 2rem;
  }
  .sec_about .about_txt {
    font-size: 1.375rem;
  }
}


@media (min-width:2240px), (min-width:1280px) and (-webkit-min-device-pixel-ratio:2), (min-width:1280px) and (min-resolution: 2dppx) {
  .mv_wrap {
    background-image: url(../img/mv_bg@2x.png);
  }
  .sec_guest,
  body#vote .ticket_special {
    background-image: url(../img/bg_pink@2x.png);
  }

  .sec_model .prof #photo::after {
    background-image: url(../img/model/model_photo_bg@2x.png);
  }

  .sec_model h1:not(.model_ttl_detail) {
    background-image: url(../img/model/ttl_model_bg@2x.png);
  }

  body#vote .ticket_vote dl::before,
  body#vote .ticket_vote dl::after {
    background-image: url(../img/vote/ticket_vote_line@2x.png);
  }
}