
/* ↓ コンテンツ ↓ */
#contentsBody {
  margin-bottom: 0;
}
.mainBody .mainImg.wide2 img {
  width: 100% !important;
  height: auto !important;
}

#contentsBody div.copy > p em {
  display: block;
  font-family: 'EB Garamond', 'Zen Old Mincho', serif;
  font-size: 24px;
  letter-spacing: 0.05em;
}
@media (max-width: 1400px) {
  #contentsBody div.copy > p em {
    font-size: 23px;
  }
}
@media (max-width: 1200px) {
  #contentsBody div.copy > p em {
    font-size: 20px;
  }
}
@media (max-width: 1000px) {
  #contentsBody div.copy > p em {
    font-size: 18px;
  }
}
@media screen and (max-width: 768px) {
  #contentsBody div.copy > p em {
    font-size: 17px;
  }
}
@media screen and (max-width: 480px) {
  #contentsBody div.copy > p em {
    font-size: 15px;
  }
}
@media screen and (max-width: 400px) {
  #contentsBody div.copy > p em {
    font-size: 14px;
  }
}



#contentsBody div.contentBox.concept {
  background-color: #fff;
  margin-top: 80px;
  padding-top: 0;
}
#contentsBody div.contentBox.concept ul {
  width: 92%;
  max-width: 1280px;
  margin: 0 auto 80px;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
#contentsBody div.contentBox.concept li {
  width: 18.75%;
  text-align: center;
  transition: all 1s ease-out;
}
#contentsBody div.contentBox.concept li.is-target {
  opacity: 0;
  transform: translateY(20px);
}
#contentsBody div.contentBox.concept li div.img {
  margin-top: 0;
}
#contentsBody div.contentBox.concept li > p {
  font-family: 'EB Garamond', serif;
  font-size: 22px;
  font-weight: 400;
  letter-spacing: 0.05em;
  line-height: 0.8em;
  margin: 0.5em 0 1em;
}
#contentsBody div.contentBox.concept li > p em {
  font-weight: 700;
  display: block;
}
#contentsBody div.contentBox.concept li > p span {
  font-size: 80%;
}

#contentsBody div.contentBox.concept ul + div.copy > h4 {
  margin-bottom: 0;
}
#contentsBody div.contentBox.concept ul + div.copy > h4 span {
  font-size: 140%;
  letter-spacing: 0.05em;
}
#contentsBody div.contentBox.concept ul + div.copy > h4 span.eng {
  font-family: 'EB Garamond', serif;
  font-size: 170%;
  font-weight: 400;
}

@media screen and (max-width: 1400px) {
  #contentsBody div.contentBox.concept li > p {
    font-size: 1.7vw;
  }
}

@media screen and (max-width: 768px) {
  #contentsBody div.contentBox.concept {
    margin-top: 60px;
  }
  #contentsBody div.contentBox.concept ul {
    margin: 0 auto 60px;
  }
  #contentsBody div.contentBox.concept li {
    width: 32%;
  }
  #contentsBody div.contentBox.concept li > p {
    font-size: 2.8vw;
  }
}

@media screen and (max-width: 480px) {
  #contentsBody div.contentBox.concept {
    margin-top: 40px;
  }
  #contentsBody div.contentBox.concept ul {
    margin: 0 auto 40px;
  }
  #contentsBody div.contentBox.concept li > p {
    font-size: 3.2vw;
  }
}



#contentsBody div.contentBox.spatial {
  background-color: #fbf9f7;
}
#contentsBody div.contentBox.spatial ul {
  width: 92%;
  max-width: 1100px;
  margin: 80px auto 0;
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  flex-wrap: wrap;
}
#contentsBody div.contentBox.spatial li {
  width: 40%;
  margin: 0 auto;
  display: flex;
  justify-content: space-around;
  align-items: flex-start;
  flex-wrap: wrap;
  transition: all 1s ease-out;
}
#contentsBody div.contentBox.spatial li.is-target {
  opacity: 0;
  transform: translateY(20px);
}
#contentsBody div.contentBox.spatial li > p {
  text-align: center;
  margin: 0.8em 0;
}
#contentsBody div.contentBox.spatial li > p em {
  font-family: 'EB Garamond', serif;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: 0.05em;
  line-height: 0.8em;
}

@media screen and (max-width: 1400px) {
  #contentsBody div.contentBox.spatial li > p em {
    font-size: 1.7vw;
  }
}

@media (max-width: 768px) {
  #contentsBody div.contentBox.spatial ul {
    margin: 60px auto 0;
  }
  #contentsBody div.contentBox.spatial li {
    width: 45%;
  }
  #contentsBody div.contentBox.spatial li > p em {
    font-size: 2.8vw;
  }
}

@media (max-width: 480px) {
  #contentsBody div.contentBox.spatial ul {
    margin: 40px auto 0;
  }
  #contentsBody div.contentBox.spatial li {
    width: 100%;
  }
  #contentsBody div.contentBox.spatial li:first-child {
    margin-bottom: 40px;
  }
  #contentsBody div.contentBox.spatial li > p em {
    font-size: 4.8vw;
  }
}



#contentsBody div.contentBox.cg {
  padding-top: 0;
}
#contentsBody div.contentBox.cg ul.img {
  width: 100%;
  margin: 0 auto;
  position: relative;
}
#contentsBody div.contentBox.cg ul.img li {
  width: 80vw;
  display: block;
  position: relative;
  margin: 5vw 0 0;
  padding: 0;
  transition: all 1s ease-out;
}
#contentsBody div.contentBox.cg ul.img li:first-child {
  margin-top: 0;
  margin-left: 0;
  margin-right: auto;
}
#contentsBody div.contentBox.cg ul.img li:nth-child(2) {
  margin-left: auto;
  margin-right: 5vw;
}
#contentsBody div.contentBox.cg ul.img li:nth-child(3) {
  margin-left: 10vw;
  margin-right: auto;
}
#contentsBody div.contentBox.cg ul.img li:nth-child(4) {
  margin-left: auto;
  margin-right: 0;
}
#contentsBody div.contentBox.cg ul.img li:nth-child(5) {
  margin-left: 5vw;
  margin-right: auto;
}
#contentsBody div.contentBox.cg ul.img li.is-target {
  opacity: 0;
}
#contentsBody div.contentBox.cg ul.img li.is-target:first-child,
#contentsBody div.contentBox.cg ul.img li.is-target:nth-child(3),
#contentsBody div.contentBox.cg ul.img li.is-target:nth-child(5) {
  transform: translateX(-5vw);
}
#contentsBody div.contentBox.cg ul.img li.is-target:nth-child(2),
#contentsBody div.contentBox.cg ul.img li.is-target:nth-child(4) {
  transform: translateX(5vw);
}
#contentsBody div.contentBox.cg ul.img li div.img {
  position: relative;
  margin: 0;
}
#contentsBody div.contentBox.cg ul.img li div.copy {
  width: 100%;
  margin: 0;
  padding: 0;
  display: flex;
  justify-content: flex-start;
  align-items: stretch;
}
#contentsBody div.contentBox.cg ul.img li div.copy em {
  display: inline-block;
  border-right: 1px solid #a59f7c;
  font-size: 20px;
  line-height: 1.2em;
  letter-spacing: 0;
  color: #a59f7c;
  margin-right: 1em;
  padding: 0.75em 1em 0.5em 0;
  white-space: nowrap;
}
#contentsBody div.contentBox.cg ul.img li:first-child div.copy em {
  padding-left: 2.6vw;
}
#contentsBody div.contentBox.cg ul.img li div.copy em small {
  margin-top: 0.5em;
  display: block;
  font-family: 'EB Garamond', serif;
  color: #a59f7c;
  line-height: 1;
}
#contentsBody div.contentBox.cg ul.img li div.copy em + p {
  font-size: 16px;
  line-height: 1.5em;
  letter-spacing: 0.02em;
  text-align: left;
  padding-top: 0.75em;
}

@media (max-width: 1400px) {
  #contentsBody div.contentBox.cg ul.img li div.copy em {
    font-size: 19px;
  }
  #contentsBody div.contentBox.cg ul.img li div.copy em + p {
    font-size: 15px;
  }
}
@media (max-width: 1200px) {
  #contentsBody div.contentBox.cg ul.img li div.copy em {
    font-size: 18px;
  }
  #contentsBody div.contentBox.cg ul.img li div.copy em + p {
    font-size: 14px;
  }
}
@media (max-width: 768px) {
  #contentsBody div.contentBox.cg ul.img li div.copy em {
    font-size: 14px;
  }
  #contentsBody div.contentBox.cg ul.img li div.copy em + p {
    font-size: 12px;
  }
}
@media (max-width: 480px) {
  #contentsBody div.contentBox.cg ul.img li {
    width: 90vw;
    margin: 8vw 0 0;
  }
  #contentsBody div.contentBox.cg ul.img li:nth-child(2) {
    margin-right: 2.5vw;
  }
  #contentsBody div.contentBox.cg ul.img li:nth-child(3) {
    margin-left: 5vw;
  }
  #contentsBody div.contentBox.cg ul.img li:nth-child(5) {
    margin-left: 2.5vw;
  }
}



#contentsBody div.contentBox.designer {
  background-color: #63737f;
  padding: 240px 0 120px;
  color: #fff;
}
#contentsBody div.contentBox.designer span.line {
  background-color: #fff;
}
#contentsBody div.contentBox.designer div.copy h4 {
  color: #fff;
}
#contentsBody div.contentBox.designer ul {
  width: 80%;
  max-width: 1140px;
  margin: 80px auto 0;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
}
#contentsBody div.contentBox.designer ul li {
  display: block;
  width: 30%;
  margin: 0 0 6% 0;
  text-align: center;
  font-size: 20px;
}
#contentsBody div.contentBox.designer ul li div.name {
  display: block;
  margin: 0;
  text-align: center;
  font-size: 20px;
}
#contentsBody div.contentBox.designer ul li div.name em {
  display: block;
  color: #fff5bf;
  border-bottom: 1px solid #fff5bf;
  font-weight: 400;
  font-family: 'EB Garamond', serif;
  padding-bottom: 0.3em;
  letter-spacing: 0.1em;
  margin-bottom: 0.8em;
  line-height: 1em;
}
#contentsBody div.contentBox.designer ul li div.name small {
  display: block;
  font-size: 70%;
  letter-spacing: 0;
  line-height: 1em;
  margin-bottom: 1em;
}
#contentsBody div.contentBox.designer ul li div.name strong {
  display: block;
  font-size: 150%;
  font-weight: 400;
  letter-spacing: 0.1em;
  line-height: 1em;
}
#contentsBody div.contentBox.designer ul li div.txt {
  display: block;
  margin: 0;
  flex-grow: 2;
  display: flex;
  flex-direction: row;
  align-items: center;
}
#contentsBody div.contentBox.designer ul li div.txt p {
  width: 100%;
  margin: 0;
  font-size: 13px;
  line-height: 1.4em;
  text-align: justify;
  text-justify: inter-ideograph;
}
#contentsBody div.contentBox.designer ul li div.img {
  width: 100%;
  margin: 1.25em auto 1em;
}

@media (max-width: 900px) {
  #contentsBody div.contentBox.designer ul li div.name {
    font-size: 17px;
  }
  #contentsBody div.contentBox.designer ul li div.txt p {
    font-size: 12px;
    line-height: 1.3em;
  }
}

@media (max-width: 768px) {
  #contentsBody div.contentBox.designer {
    padding: 180px 0 90px;
  }
  #contentsBody div.contentBox.designer ul {
    width: 85%;
    margin: 60px auto 0;
  }
  #contentsBody div.contentBox.designer ul li {
    width: 45%;
    margin: 0 0 10% 0;
  }
}

@media (max-width: 600px) {
  #contentsBody div.contentBox.designer ul li div.name {
    font-size: 16px;
  }
  #contentsBody div.contentBox.designer ul li div.txt p {
    font-size: 11px;
    line-height: 1.1em;
  }
}

@media (max-width: 480px) {
  #contentsBody div.contentBox.designer {
    padding: 120px 0 60px;
  }
  #contentsBody div.contentBox.designer ul {
    margin: 40px auto 0;
  }
  #contentsBody div.contentBox.designer ul li {
    width: 100%;
    margin: 0 0 15% 0;
  }
  #contentsBody div.contentBox.designer ul li div.img {
    max-width: 240px;
  }
}



/* ↑ コンテンツ ↑ */
