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

.uline {
  border-bottom: 2px solid #FFF;
  padding-bottom: 2px;
}

.listCaution {
  font-size: min(14px, 3.4vw);
}
.listCaution li {
  padding-left: 3em;
  text-indent: -3em;
}

/* HEAD SECTION
================================================== */
#contents *, #contents *:before, #contents *:after {
  box-sizing: border-box;
}
@media screen and (min-width: 768px) {
  #contents {
    min-width: 1240px;
  }
}
@media screen and (max-width: 767px) {
  #contents {
    padding: 0;
  }
}
#contents figure, #contents img {
  margin: 0;
}
#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;
  }
}

#photoconnect {
  background-color: #1b1b1b;
  color: #FFF;
}
#photoconnect img {
  max-width: 100%;
  height: auto;
}
#photoconnect .inner {
  margin: 0 auto;
  width: 1240px;
  position: relative;
}
@media screen and (max-width: 767px) {
  #photoconnect .inner {
    width: 100%;
    padding: 0 3vw;
  }
}
#photoconnect .main {
  background-color: #000;
}
#photoconnect .main .mainImg {
  text-align: center;
  margin: 0 auto;
}
#photoconnect .main .mainImg img {
  margin: 0 auto;
}
#photoconnect .intro {
  padding: 100px 0 50px 0;
  background: url(/katsuyou/photo/exhibitions/20260324/images/intro_bg.jpg) no-repeat center center;
  background-size: cover;
}
@media screen and (max-width: 767px) {
  #photoconnect .intro {
    padding: 10vw 0;
  }
}
#photoconnect .intro .readText {
  font-family: "Noto Serif JP", "Hiragino Mincho Pro", serif;
  font-weight: 400;
  font-size: min(22px, 3.6vw);
  line-height: 2.2;
  letter-spacing: 0.12em;
}
@media screen and (max-width: 767px) {
  #photoconnect .intro .readText {
    letter-spacing: 0.04em;
  }
}
#photoconnect .intro .introPanel {
  background-color: #1b1b1b;
  box-shadow: 0px 0px 80px 0px rgba(0, 0, 0, 0.5);
  width: 600px;
  margin: 50px auto 0 auto;
  padding: 25px;
}
@media screen and (max-width: 767px) {
  #photoconnect .intro .introPanel {
    width: 100%;
    margin-top: 7vw;
    padding: 3vw;
  }
}
#photoconnect .intro .introPanel dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  font-size: min(15px, 3.4vw);
  gap: 50px;
}
@media screen and (max-width: 767px) {
  #photoconnect .intro .introPanel dl {
    gap: 7vw;
  }
}
#photoconnect .intro .introPanel dl:not(:last-of-type) {
  margin-bottom: min(20px, 3.4vw);
}
#photoconnect .intro .introPanel dl dt {
  position: relative;
}
#photoconnect .intro .introPanel dl dt::after {
  content: "";
  width: 25px;
  height: 2px;
  background-color: #9b8450;
  position: absolute;
  top: 0.6em;
  left: calc(100% + 10px);
}
@media screen and (max-width: 767px) {
  #photoconnect .intro .introPanel dl dt::after {
    width: 4vw;
    left: calc(100% + 1.5vw);
  }
}
#photoconnect .intro .introPanel dl dd {
  flex: 1;
}
#photoconnect .gMap {
  margin-top: min(30px, 5vw);
}
@media screen and (max-width: 767px) {
  #photoconnect .gMap iframe {
    width: 100%;
    height: 60vw;
  }
}
#photoconnect .section {
  padding: min(80px, 10vw) 0;
  position: relative;
}
#photoconnect .section:nth-last-of-type(1) {
  padding-bottom: 120px;
}
#photoconnect .section::after {
  content: "";
  width: 100%;
  height: 300px;
  background-image: linear-gradient(0deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
  opacity: 0.05;
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
}
#photoconnect .section .inner {
  position: relative;
  z-index: 1;
}
#photoconnect .section .secNo {
  font-family: "Libre Baskerville", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: italic;
  font-size: min(75px, 14vw);
  line-height: 1;
  color: rgba(255, 255, 255, 0.62);
  display: inline-block;
  position: relative;
}
@media screen and (max-width: 767px) {
  #photoconnect .section .secNo {
    margin-bottom: 5vw;
  }
}
#photoconnect .section .secNo::after {
  content: "";
  background-image: linear-gradient(0deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 100%);
  position: absolute;
  left: 0.3em;
  top: 100%;
  width: 2px;
  height: 0;
  transition: all 1s;
}
@media screen and (max-width: 767px) {
  #photoconnect .section .secNo::after {
    left: 0.2em;
  }
}
#photoconnect .section .secNo.fadein::after {
  transition: all 1s 0.3s;
  height: min(300px, 50vw);
}
#photoconnect .section .secFlex {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 2%;
  padding-left: 50px;
}
@media screen and (max-width: 767px) {
  #photoconnect .section .secFlex {
    gap: 5vw;
    padding-left: 7vw;
  }
}
#photoconnect .section .secFlex.full {
  gap: 0;
}
#photoconnect .section .secFlex.full .secDetail {
  width: 100%;
}
@media screen and (min-width: 768px) {
  #photoconnect .section .secFlex.rv {
    flex-direction: row-reverse;
  }
}
#photoconnect .section .secFlex .secDetail {
  width: 46%;
}
@media screen and (max-width: 767px) {
  #photoconnect .section .secFlex .secDetail {
    width: 100%;
    padding-right: 2vw;
    line-height: 1.6;
  }
}
#photoconnect .section .secFlex .secImg {
  width: 52%;
  text-align: center;
  background-color: #FFF;
  padding: min(35px, 4vw);
  border: min(10px, 2vw) solid #000;
  box-shadow: 0px 0px 50px 0px rgba(0, 0, 0, 0.004);
}
@media screen and (max-width: 767px) {
  #photoconnect .section .secFlex .secImg {
    width: 100%;
  }
}
#photoconnect .section .secFlex .sectitle {
  font-size: min(32px, 5vw);
  line-height: 1.8;
  margin-bottom: min(35px, 4vw);
}
#photoconnect .section .secFlex .sectitle span {
  display: inline;
  background: #fff;
  color: #000;
  padding: min(5px, 1.4vw) min(8px, 2vw);
  line-height: 1.2;
  letter-spacing: 0.03em;
  box-decoration-break: clone;
  -webkit-box-decoration-break: clone;
}
#photoconnect .section .secFlex .secRead {
  font-weight: bold;
  font-size: min(20px, 4vw);
  margin-bottom: min(35px, 4vw);
  letter-spacing: 0.03em;
  line-height: 1.8;
}
#photoconnect .section .secFlex .secText p {
  font-size: min(16px, 3.4vw);
  line-height: 2;
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  #photoconnect .section .secFlex .secText p {
    line-height: 1.6;
  }
}
#photoconnect .section .secFlex .secText dl {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  gap: 20px;
  font-size: min(15px, 3.6vw);
}
@media screen and (max-width: 767px) {
  #photoconnect .section .secFlex .secText dl {
    flex-direction: column;
    gap: 2vw;
  }
}
#photoconnect .section .secFlex .secText dl dt {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  #photoconnect .section .secFlex .secText dl dt {
    width: 130px;
  }
}
@media screen and (min-width: 768px) {
  #photoconnect .section .secFlex .secText dl dd {
    flex: 1;
  }
}
@media screen and (max-width: 767px) {
  #photoconnect .section .secFlex .secText dl dd {
    padding-left: 3vw;
  }
}
#photoconnect .section .secFlex .secText .att {
  font-size: min(14px, 3.4vw);
}
@media screen and (max-width: 767px) {
  #photoconnect .section .secFlex .secText .att {
    line-height: 1.4;
  }
}
#photoconnect .section .secFlex .secLink {
  margin-top: 20px;
}
#photoconnect .section .secFlex .secLink a {
  display: inline-flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  #photoconnect .section .secFlex .secLink a {
    line-height: 1.6;
  }
}
#photoconnect .section .secFlex .secLink a:hover {
  text-decoration: none;
  opacity: 0.75;
}
#photoconnect .section .secFlex .secLink a:hover .icon {
  background-color: rgba(155, 132, 80, 0.75);
}
#photoconnect .section .secFlex .secLink a .text {
  background-color: #FFF;
  font-weight: bold;
  font-size: min(16px, 3.8vw);
  color: #000;
  padding: 3px 10px;
  letter-spacing: 0.03em;
  display: flex;
  justify-content: center;
  align-items: center;
}
#photoconnect .section .secFlex .secLink a .icon {
  background-color: #9b8450;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s;
  min-width: min(32px, 7vw);
}

/*-------------------------------------------------
	++ PLUGIN
-------------------------------------------------*/
.up {
  transform: translateY(80px);
  opacity: 0;
  transition: all 0.7s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.up.upstyle {
  transform: translateY(0);
  opacity: 1;
}

.fade {
  opacity: 0;
  -ms-filter: blur(6px);
  filter: blur(6px);
  transition: all 1s;
}
.fade.fadein {
  opacity: 1;
  -ms-filter: blur(0px);
  filter: blur(0px);
}