@media screen and (min-width: 768px) {
  .forSP {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .forPC {
    display: none;
  }
}
#footer {
  margin-top: 0;
}

/* HEAD SECTION
================================================== */
#contents {
  font-size: min(16px, 3.8vw);
}
#contents *, #contents *:before, #contents *:after {
  box-sizing: border-box;
}
@media screen and (max-width: 767px) {
  #contents {
    padding: 0;
  }
}
#contents figure, #contents img {
  margin: 0;
}
#contents .oro {
  transition: opacity 0.3s ease-in;
}
#contents .oro:hover {
  opacity: 0.7;
}
#contents .headSection .innerBlock {
  width: 1240px;
}
@media screen and (max-width: 767px) {
  #contents .headSection .innerBlock {
    width: 100%;
    padding: 0 3vw;
  }
}
#contents .headSection .leftArea {
  float: none;
  width: auto;
}
#contents .headSection .leftArea .ttl {
  float: none;
  width: auto;
  font-size: min(24px, 4.2vw);
}
@media screen and (max-width: 767px) {
  #contents .headSection .leftArea .ttl {
    text-align: center;
  }
}
#contents .gSection {
  padding: min(80px, 10vw) 0;
}
#contents .gSection--intro {
  padding-top: 0;
}
#contents .gSection--secondary {
  background: #eaecee;
  padding: min(50px, 7vw) 0;
}
#contents .gSection--gallery {
  background-color: rgba(0, 0, 0, 0.03);
}
#contents .gSection__main img {
  max-width: 100%;
  height: auto;
}
#contents .gSection__inner {
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  #contents .gSection__inner {
    width: 1240px;
  }
}
@media screen and (max-width: 767px) {
  #contents .gSection__inner {
    padding: 0 15px;
  }
}
#contents .left_border {
  padding: 0 0 0 1.5em;
  position: relative;
}
#contents .left_border::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0.6em;
  display: inline-block;
  width: 1em;
  height: 4px;
  background: #CBCBCB;
}
#contents .borderHx {
  position: relative;
  font-size: min(26px, 5vw) !important;
  margin-bottom: min(50px, 7vw);
}
#contents .borderHx::before {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 1px;
  background: #333;
}
#contents .borderHx span {
  position: relative;
  display: inline-block;
  padding-bottom: min(10px, 3vw);
}
#contents .borderHx span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  height: 4px;
  background: #333;
}
#contents .lh2 {
  line-height: 2;
}
#contents .circleList {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  #contents .circleList {
    gap: 2vw;
  }
}
#contents .circleList dt {
  padding-left: 1em;
  position: relative;
  width: 120px;
}
@media screen and (max-width: 767px) {
  #contents .circleList dt {
    width: 26vw;
  }
}
#contents .circleList dt::before {
  content: "";
  display: inline-block;
  width: 5px;
  height: 5px;
  border-radius: 100%;
  background-color: #333;
  position: absolute;
  left: 0.2em;
  top: 0.6em;
}
#contents .circleList dd {
  width: calc(100% - 130px);
}
@media screen and (max-width: 767px) {
  #contents .circleList dd {
    width: calc(100% - 28vw);
  }
}
#contents .photoList {
  display: flex;
  flex-wrap: wrap;
  gap: min(45px, 5vw);
}
#contents .photoList li {
  width: calc((100% - 90px) / 3);
  text-align: center;
}
@media screen and (max-width: 767px) {
  #contents .photoList li {
    width: 100%;
  }
}
#contents .photoList li img {
  width: 100%;
  height: auto;
}
#contents .photoList li .text {
  margin-top: min(10px, 3vw);
}

/* =========================================================
 gallery backnumber
========================================================= */
.backnumberList {
  overflow: hidden;
}
.backnumberList ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .backnumberList ul {
    gap: 2vw;
  }
}
.backnumberList ul li {
  box-sizing: border-box;
  width: calc((100% - 50px) / 6);
}
@media screen and (max-width: 767px) {
  .backnumberList ul li {
    width: calc((100% - 4vw) / 3);
  }
}
.backnumberList ul li a {
  display: block;
  padding: 1em 0.8em;
  background-color: #FFF;
  color: #333 !important;
  text-decoration: none !important;
  text-align: center;
  font-weight: bold;
  position: relative;
}
@media screen and (max-width: 767px) {
  .backnumberList ul li a {
    padding: 0.7em;
    font-size: 3.4vw;
  }
}
.backnumberList ul li a::after {
  content: "";
  display: block;
  width: 0.5em;
  aspect-ratio: 8/12;
  background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 12' %3E%3Cpolygon fill='%23999999' points='1.9 11.7 .4 10.3 4.7 6 .4 1.7 1.9 .3 7.6 6 1.9 11.7' /%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: center center;
  background-size: cover;
  position: absolute;
  top: 50%;
  right: 0.3em;
  transform: translateY(-50%);
}
@media screen and (max-width: 767px) {
  .backnumberList ul li a::after {
    right: 0.2em;
  }
}

.year2025 .backnumberList ul li.bn2025 a,
.year2024 .backnumberList ul li.bn2024 a,
.year2023 .backnumberList ul li.bn2023 a,
.year2022 .backnumberList ul li.bn2022 a,
.year2021 .backnumberList ul li.bn2021 a,
.year2020 .backnumberList ul li.bn2020 a,
.year2019 .backnumberList ul li.bn2019 a,
.year2018 .backnumberList ul li.bn2018 a,
.year2017 .backnumberList ul li.bn2017 a,
.year2016 .backnumberList ul li.bn2016 a,
.year2015 .backnumberList ul li.bn2015 a,
.year2014 .backnumberList ul li.bn2014 a,
.year2013 .backnumberList ul li.bn2013 a,
.year2012 .backnumberList ul li.bn2012 a,
.year2011 .backnumberList ul li.bn2011 a,
.year2010 .backnumberList ul li.bn2010 a,
.year2009-1 .backnumberList ul li.bn2009-1 a,
.year2009-2 .backnumberList ul li.bn2009-2 a,
.year2008-1 .backnumberList ul li.bn2008-1 a,
.year2008-2 .backnumberList ul li.bn2008-2 a,
.year2007 .backnumberList ul li.bn2007 a,
.year2006 .backnumberList ul li.bn2006 a,
.year2005 .backnumberList ul li.bn2005 a,
.year2004 .backnumberList ul li.bn2004 a,
.year2003 .backnumberList ul li.bn2003 a,
.year2002 .backnumberList ul li.bn2002 a,
.year2001 .backnumberList ul li.bn2001 a,
.year2000 .backnumberList ul li.bn2000 a,
.year1999 .backnumberList ul li.bn1999 a,
.year1998 .backnumberList ul li.bn1998 a {
  background-color: #666;
  color: #FFF !important;
  pointer-events: none;
}
.year2025 .backnumberList ul li.bn2025 a::after,
.year2024 .backnumberList ul li.bn2024 a::after,
.year2023 .backnumberList ul li.bn2023 a::after,
.year2022 .backnumberList ul li.bn2022 a::after,
.year2021 .backnumberList ul li.bn2021 a::after,
.year2020 .backnumberList ul li.bn2020 a::after,
.year2019 .backnumberList ul li.bn2019 a::after,
.year2018 .backnumberList ul li.bn2018 a::after,
.year2017 .backnumberList ul li.bn2017 a::after,
.year2016 .backnumberList ul li.bn2016 a::after,
.year2015 .backnumberList ul li.bn2015 a::after,
.year2014 .backnumberList ul li.bn2014 a::after,
.year2013 .backnumberList ul li.bn2013 a::after,
.year2012 .backnumberList ul li.bn2012 a::after,
.year2011 .backnumberList ul li.bn2011 a::after,
.year2010 .backnumberList ul li.bn2010 a::after,
.year2009-1 .backnumberList ul li.bn2009-1 a::after,
.year2009-2 .backnumberList ul li.bn2009-2 a::after,
.year2008-1 .backnumberList ul li.bn2008-1 a::after,
.year2008-2 .backnumberList ul li.bn2008-2 a::after,
.year2007 .backnumberList ul li.bn2007 a::after,
.year2006 .backnumberList ul li.bn2006 a::after,
.year2005 .backnumberList ul li.bn2005 a::after,
.year2004 .backnumberList ul li.bn2004 a::after,
.year2003 .backnumberList ul li.bn2003 a::after,
.year2002 .backnumberList ul li.bn2002 a::after,
.year2001 .backnumberList ul li.bn2001 a::after,
.year2000 .backnumberList ul li.bn2000 a::after,
.year1999 .backnumberList ul li.bn1999 a::after,
.year1998 .backnumberList ul li.bn1998 a::after {
  display: none;
}

.galleryBlock {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.galleryBlock .year {
  width: 120px;
}
.galleryBlock .year .yearLabel {
  background-color: #000;
  font-size: min(24px, 4.2vw);
  color: #FFF;
  display: inline-block;
  padding: 10px;
  line-height: 1;
  letter-spacing: 0.04em;
}
.galleryBlock .galleryList {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .galleryBlock {
    gap: 5vw;
  }
  .galleryBlock .year {
    width: 100%;
  }
  .galleryBlock .galleryList {
    width: 100%;
  }
}

.panel {
  background-color: rgb(255, 255, 255);
  box-shadow: 0px 5px 10px 0px rgba(25, 25, 25, 0.1);
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
}
.panel:not(:last-child) {
  margin-bottom: min(30px, 5vw);
}
.panel > a {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  color: #333;
}
.panel > a:hover {
  text-decoration: none;
  opacity: 0.7;
}
.panel .photo {
  width: 240px;
}
@media screen and (max-width: 767px) {
  .panel .photo {
    width: 100%;
  }
}
.panel .photo .img {
  width: 100%;
  text-align: center;
  background-color: #f2f2f2;
}
@media screen and (min-width: 768px) {
  .panel .photo .img {
    aspect-ratio: 1/1;
  }
}
.panel .photo .img img {
  margin: 0 auto !important;
}
@media screen and (min-width: 768px) {
  .panel .photo .img img {
    width: 100%;
    height: 100%;
    -o-object-fit: contain;
       object-fit: contain;
  }
}
@media screen and (max-width: 767px) {
  .panel .photo .img img {
    width: 100%;
    height: auto;
    max-height: 70vw;
    -o-object-fit: contain;
       object-fit: contain;
    display: block;
  }
}
.panel .detail {
  flex: 1;
  padding: min(15px, 4vw) min(20px, 4vw);
  text-align: left;
  display: flex;
  flex-direction: column;
  gap: min(5px, 3vw);
}
.panel .detail .name {
  font-size: min(17px, 3.6vw);
  font-weight: bold;
}
.panel .detail .title {
  font-size: min(20px, 4vw);
}
.panel .detail .credit {
  padding: min(5px, 1.3vw);
  font-size: min(14px, 3.2vw);
}