.caption_cameraman, .photo_gallery_tab_day .tab_day_box .tab_day_box_btn {
  font-size: clamp(1.2rem, 3vw, 1.4rem);
}

.artist_head .artist_head_name {
  font-size: clamp(1.7rem, 4.25vw, 2.2rem);
  font-weight: bold;
  line-height: 1.5;
}

.icon i {
  position: relative;
  display: block;
  width: 30px;
  height: 30px;
  border-radius: 50%;
  font-style: normal;
  color: #fff;
  background-color: #000;
}
.icon i:after {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-family: "icomoon" !important;
  line-height: 1;
  letter-spacing: 0;
}
@media print, screen and (min-width: 768px) {
  .icon i {
    width: 36px;
    height: 36px;
  }
}
@media print, screen and (min-width: 1180px) and (max-width: 1499px) {
  .icon i {
    width: 30px;
    height: 30px;
  }
}
@media print, screen and (min-width: 1500px) {
  .icon i {
    width: 36px;
    height: 36px;
  }
}
.icon .new {
  background-color: #ed1a1a;
}
.icon .new:after {
  content: "\e913";
  font-size: 18px;
}
@media print, screen and (min-width: 768px) {
  .icon .new:after {
    font-size: 24px;
  }
}
@media print, screen and (min-width: 1180px) and (max-width: 1499px) {
  .icon .new:after {
    font-size: 18px;
  }
}
@media print, screen and (min-width: 1500px) {
  .icon .new:after {
    font-size: 24px;
  }
}
.icon .campers {
  background-color: #233c9b;
}
.icon .campers:after {
  content: "\e914";
  font-size: 14px;
}
@media print, screen and (min-width: 768px) {
  .icon .campers:after {
    font-size: 20px;
  }
}
@media print, screen and (min-width: 1180px) and (max-width: 1499px) {
  .icon .campers:after {
    font-size: 14px;
  }
}
@media print, screen and (min-width: 1500px) {
  .icon .campers:after {
    font-size: 20px;
  }
}

.photo_gallery_tab_day {
  width: 600px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 clamp(2.4rem, 6vw, 3.3rem);
  margin-bottom: 20px;
}
@media print, screen and (min-width: 600px) {
  .photo_gallery_tab_day {
    padding: 0;
  }
}
.photo_gallery_tab_day .tab_day_box {
  display: flex;
  gap: 15px;
}
.photo_gallery_tab_day .tab_day_box .tab_day_box_item {
  width: 50%;
  overflow: hidden;
}
.photo_gallery_tab_day .tab_day_box .tab_day_box_btn {
  background-color: transparent;
  border: none;
  outline: none;
  padding: 0;
  appearance: none;
  cursor: pointer;
  position: relative;
  display: flex;
  width: 100%;
  text-align: center;
  justify-content: center;
  align-items: center;
  min-height: clamp(4.6rem, 11.5vw, 5.1rem);
  padding: 8px;
  background: #848484;
  border-radius: 6px;
  overflow: hidden;
  color: #fff;
  line-height: 1.3;
  font-weight: bold;
  transition: 0.3s ease;
}
.photo_gallery_tab_day .tab_day_box .tab_day_box_btn:before {
  content: "";
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  height: 100%;
  width: 100%;
  transition: 0.3s ease;
  background: #d8284c;
  opacity: 0;
}
@media print, screen and (min-width: 920px) {
  .photo_gallery_tab_day .tab_day_box .tab_day_box_btn:hover {
    opacity: 0.6;
  }
}
.photo_gallery_tab_day .tab_day_box .tab_day_box_btn.active:before {
  opacity: 1;
}
.photo_gallery_tab_day .tab_day_box .tab_day_box_btn.active img {
  opacity: 1;
}
.photo_gallery_tab_day .tab_day_box .tab_day_box_btn img {
  z-index: 1;
  display: inline-block;
  position: relative;
  top: 1px;
  width: clamp(6.5rem, 16.25vw, 9rem);
  opacity: 0.6;
}

.tab_photogallery {
  display: none;
}
.tab_photogallery.active {
  display: block;
}

.gallery_item_wrap + .gallery_item_wrap {
  margin-top: 40px;
}

.other_title {
  font-family: "Oswald", serif;
  font-weight: bold;
  font-size: 2rem;
  line-height: 1;
  color: #171926;
}
@media print, screen and (min-width: 600px) {
  .other_title {
    font-size: 2.6rem;
  }
}

.stage_title {
  text-align: center;
}
.stage_title img {
  height: clamp(3.5rem, 8.75vw, 4.5rem);
}

.lineup_day_title {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 12px 20px;
  margin-top: 20px;
  background-color: #171926;
  color: #fff;
  border-radius: 6px;
  line-height: 1;
}
.lineup_day_title img {
  display: inline-block;
  position: relative;
  top: 1px;
  width: clamp(6.5rem, 16.25vw, 9rem);
}

.lineup_list {
  display: flex;
  flex-wrap: wrap;
  margin: 0;
  margin-top: clamp(2rem, 5vw, 2.5rem);
  gap: 30px 16px;
}

.lineup_list_item {
  width: calc(50% - 8px);
  padding: 0;
}
.lineup_list_item a:hover .gallery_img_prof img {
  transform: scale(1.1);
}
.lineup_list_item a:hover .link button {
  opacity: 0.6;
}
.lineup_list_item .gallery_img_prof {
  margin-top: 0;
  border-radius: 6px;
  overflow: hidden;
}
.lineup_list_item .gallery_img_prof img {
  object-fit: cover;
  height: 100%;
  width: 100%;
  transition: transform 0.3s ease;
}
.lineup_list_item .name p {
  margin-top: clamp(0.5rem, 1.25vw, 0.8rem);
  font-size: clamp(1.3rem, 3.25vw, 1.5rem);
  font-weight: bold;
  line-height: 1.5;
  color: #171926;
}
.lineup_list_item .link {
  margin-top: 10px;
}
.lineup_list_item .link button {
  font-weight: bold;
}
.lineup_list_item .link button:hover {
  opacity: 1;
}
.lineup_list_item .icon {
  position: absolute;
  top: -10px;
  left: -10px;
}
.lineup_list_item .icon i {
  margin-bottom: 6px;
}
@media print, screen and (min-width: 768px) {
  .lineup_list_item .icon {
    top: -18px;
    left: -18px;
  }
  .lineup_list_item .icon i {
    margin-bottom: 9px;
  }
}
@media print, screen and (min-width: 1180px) and (max-width: 1499px) {
  .lineup_list_item .icon {
    top: -10px;
    left: -10px;
  }
  .lineup_list_item .icon i {
    margin-bottom: 6px;
  }
}
.lineup_list_item .and_more {
  border: 1px solid #707070;
  color: #393939;
  margin-top: 10px;
  margin-bottom: 5px;
  text-align: center;
  padding: 3px;
  font-size: 1.1rem;
}
@media print, screen and (min-width: 768px) {
  .lineup_list_item .and_more {
    font-size: 1.3rem;
  }
}

.caption_cameraman {
  padding: 20px;
  background: #f5f5f5;
  border-radius: 6px;
  text-align: center;
  font-weight: bold;
  margin-top: 20px;
}

.artist_head .artist_head_name_top {
  color: #848484;
  text-align: center;
  margin-bottom: 40px;
}
.artist_head .artist_head_name {
  font-weight: 900;
  text-align: center;
}
.artist_head .artist_info {
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 20px;
}
.artist_head .artist_info .date {
  font-size: 2.2rem;
  font-weight: bold;
  margin-top: 0;
  margin-right: 15px;
}
.artist_head .artist_info .date svg {
  position: relative;
  top: 4px;
  width: min(20vw, 90px);
  height: auto;
}
.artist_head .artist_info .date svg path {
  fill: #171926;
}
.artist_head .artist_info .stage {
  margin-top: 0;
  width: min(30vw, 140px);
}

.artist_photo_main {
  margin-top: 20px;
}
.artist_photo_main .main_img {
  border-radius: 6px;
  overflow: hidden;
}
.artist_photo_main .main_img img {
  width: 100%;
}

.gallery_bottom_btn_wrap {
  margin-top: 20px;
}

.gallery_inner {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}
.gallery_inner figure {
  margin-top: 0;
  width: calc((100% - 20px) / 3);
}
.gallery_inner figure a {
  position: relative;
  display: block;
  border-radius: 3px;
  overflow: hidden;
}
.gallery_inner figure a img {
  line-height: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.gallery_inner figure figcaption {
  display: none;
}
.gallery_inner figure.first_photo {
  width: 100%;
}

.pswp__caption__center {
  text-align: center;
  max-width: 100%;
}