@charset "UTF-8";
/* CSS Document */
main.top #style-title, main.top #gallery .item-title, main.top #certification .item-title {
  height: auto;
  aspect-ratio: 5.9259259259;
  padding-top: 30px;
  padding-bottom: 30px;
  box-sizing: border-box;
  position: relative;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  box-sizing: border-box;
  width: 100%;
}
main.top #style-title:after, main.top #gallery .item-title:after, main.top #certification .item-title:after {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  width: 100vw;
  height: 5px;
  bottom: -10px;
  background: #c9574b;
  transform: translateX(-50%);
}
main.top #style-title .bg, main.top #gallery .item-title .bg, main.top #certification .item-title .bg {
  position: absolute;
  left: 50%;
  top: 0;
  width: 100vw;
  height: 100%;
  transform: translateX(-50%);
  overflow: hidden;
}
main.top #style-title .bg img, main.top #gallery .item-title .bg img, main.top #certification .item-title .bg img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}
main.top #style-title h2, main.top #gallery .item-title h2, main.top #certification .item-title h2 {
  position: relative;
  width: 60%;
}
main.top #style-title h2 > span, main.top #gallery .item-title h2 > span, main.top #certification .item-title h2 > span {
  color: #FFF;
}
main.top #about {
  position: relative;
}
main.top #about:after {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: 5px;
  bottom: 0;
  background: #c9574b;
  z-index: 3;
}
main.top #about .content {
  background: #FFF;
  padding-top: 75px;
  padding-bottom: 250px;
  position: relative;
}
main.top #about .content:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: url(../img/top/about/bg.png) no-repeat center top 150px/1177px auto;
}
@media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  main.top #about .content:before {
    background-image: url(../img/top/about/bg@2x.png);
  }
}
main.top #about .content > * {
  position: relative;
}
main.top #about .item-title {
  margin-bottom: 120px;
}
main.top #about .item-img {
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 35px;
  margin-left: -30px;
  margin-right: -30px;
  margin-bottom: 25px;
}
main.top #about .item-img:before {
  content: "";
  width: 10px;
  -ms-flex: 1 0 auto;
  flex-grow: 1;
}
main.top #about .item-img h3 {
  width: 10px;
  -ms-flex: 1 0 auto;
  flex-grow: 1;
  font-weight: normal;
  line-height: 1.425;
  font-size: min(2.8vw, 40px);
  font-size: min(2.8vw, 2.5rem);
}
.en main.top #about .item-img h3, .es main.top #about .item-img h3 {
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
.es main.top #about .item-img h3 {
  font-size: min(2.3vw, 33px);
  font-size: min(2.3vw, 2.0625rem);
}
main.top #about .item-text {
  padding-left: 118px;
  padding-right: 118px;
}
main.top #about .item-text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.75;
}
.en main.top #about .item-text p, .es main.top #about .item-text p {
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: min(2vw, 24px);
  font-size: min(2vw, 1.5rem);
}
@media screen and (min-width: 1280px) {
  .es main.top #about .item-text p {
    max-width: 55%;
  }
}
main.top #about .item-text .link:not(:first-child) {
  margin-top: 60px;
}
.en main.top #about .item-text .link:not(:first-child), .es main.top #about .item-text .link:not(:first-child) {
  margin-top: 40px;
}
main.top #what {
  position: relative;
}
main.top #what:before {
  pointer-events: none;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: -3px;
  width: 100%;
  height: 993px;
  transform: translateY(-50%);
  background-image: url(../img/top/what/bg-01.png), url(../img/top/what/bg-02.png), url(../img/top/what/bg-03.png);
  background-repeat: no-repeat;
  background-position: 45% 51%, left center, right center;
  z-index: 2;
  background-size: 293px auto, auto 100%, auto 100%;
}
@media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  main.top #what:before {
    background-image: url(../img/top/what/bg-01@2x.png), url(../img/top/what/bg-02@2x.png), url(../img/top/what/bg-03@2x.png);
  }
}
@media screen and (max-width: 1600px) {
  main.top #what:before {
    height: 80vh;
  }
}
main.top #what .content {
  background: #FFF;
  box-sizing: border-box;
  padding-top: 130px;
  padding-bottom: 620px;
  position: relative;
}
main.top #what .item-title {
  margin-bottom: 90px;
  position: relative;
  z-index: 4;
}
.en main.top #what .item-title, .es main.top #what .item-title {
  margin-bottom: 70px;
}
main.top #what .item-text {
  text-align: center;
  position: relative;
  z-index: 4;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5;
}
.en main.top #what .item-text, .es main.top #what .item-text {
  font-size: 24px;
  font-size: 1.5rem;
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
.en main.top #what .item-text .link-block, .es main.top #what .item-text .link-block {
  margin-top: 45px;
}
@media screen and (min-width: 701px) {
  .es main.top #what .item-text {
    max-width: 40%;
    margin-left: auto;
    margin-right: auto;
  }
}
main.top #what .item-text .link-block {
  margin-top: 60px;
}
main.top #what .item-imgs > * {
  position: absolute;
  z-index: 3;
}
main.top #what .item-imgs > *[data-emergence=visible] {
  animation-name: fadeInUp;
}
main.top #what .item-imgs > *:nth-child(1) {
  left: 20%;
  top: 20px;
}
.es main.top #what .item-imgs > *:nth-child(1) {
  margin-left: -5%;
}
main.top #what .item-imgs > *:nth-child(2) {
  right: 20%;
  top: -40px;
}
main.top #what .item-imgs > *:nth-child(3) {
  left: 3%;
  top: 210px;
}
main.top #what .item-imgs > *:nth-child(4) {
  right: 2%;
  top: 160px;
}
main.top #what .item-imgs > *:nth-child(5) {
  left: 14%;
  top: 350px;
}
main.top #what .item-imgs > *:nth-child(6) {
  right: 10%;
  top: 330px;
}
main.top #what .item-imgs > *:nth-child(7) {
  left: -3%;
  top: 520px;
  z-index: 2;
}
main.top #what .item-imgs > *:nth-child(8) {
  right: -1%;
  top: 470px;
  z-index: 2;
}
main.top #what .item-imgs > *:nth-child(9) {
  left: 5%;
  bottom: 50px;
}
main.top #what .item-imgs > *:nth-child(10) {
  left: 15%;
  bottom: 260px;
  z-index: 2;
}
main.top #what .item-imgs > *:nth-child(11) {
  left: 40%;
  bottom: 260px;
  z-index: 2;
}
main.top #what .item-imgs > *:nth-child(12) {
  left: 50%;
  bottom: 20px;
}
main.top #what .item-imgs > *:nth-child(13) {
  right: 25%;
  bottom: 380px;
}
main.top #what .item-imgs > *:nth-child(14) {
  right: 5%;
  bottom: 150px;
}
main.top #what .item-copys > * {
  position: absolute;
  z-index: 4;
  font-size: 50px;
  font-size: 3.125rem;
  font-weight: normal;
  letter-spacing: -0.03em;
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  line-height: 1.2;
}
.es main.top #what .item-copys > * {
  font-size: 42px;
  font-size: 2.625rem;
}
.es main.top #what .item-copys > *:nth-child(2) {
  margin-left: -3%;
}
.ja main.top #what .item-copys > * {
  font-family: "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: normal;
}
.ja main.top #what .item-copys > *:nth-child(1) {
  margin-left: 5%;
  margin-bottom: -1%;
}
.ja main.top #what .item-copys > *:nth-child(2) {
  margin-left: 2%;
  margin-bottom: 1%;
}
.ja main.top #what .item-copys > *:nth-child(3) {
  margin-right: 1%;
}
.ja main.top #what .item-copys > *:nth-child(4) {
  bottom: 140px;
  margin-left: 2%;
}
.ja main.top #what .item-copys > *:nth-child(5) {
  margin-right: 15%;
}
main.top #what .item-copys > *:nth-child(1) {
  left: 12%;
  bottom: 420px;
}
main.top #what .item-copys > *:nth-child(2) {
  left: 60%;
  bottom: 300px;
}
main.top #what .item-copys > *:nth-child(3) {
  right: 10%;
  bottom: 390px;
}
main.top #what .item-copys > *:nth-child(4) {
  left: 22%;
  bottom: 100px;
}
main.top #what .item-copys > *:nth-child(5) {
  right: 2%;
  bottom: 100px;
}
main.top #certification {
  overflow: hidden;
}
main.top #certification .content {
  background: #FFF;
  box-sizing: border-box;
  position: relative;
}
main.top #certification .content:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  width: 100vw;
  height: 100%;
  right: 100%;
  background: #FFF;
}
main.top #certification .item-bg {
  pointer-events: none;
}
main.top #certification .item-bg > * {
  position: absolute;
}
main.top #certification .item-bg > *:nth-child(1) {
  right: 230px;
  top: 230px;
}
main.top #certification .item-bg > *:nth-child(2) {
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  top: 350px;
}
main.top #certification .item-bg > *:nth-child(2) img {
  max-width: 40%;
}
main.top #certification .item-bg > *:nth-child(3) {
  right: 12px;
  top: 640px;
}
.es main.top #certification .item-bg > *:nth-child(3) {
  margin-top: -50px;
}
main.top #certification .item-bg > *:nth-child(4) {
  left: -250px;
  bottom: 0;
}
main.top #certification .item-bg > *:nth-child(5) {
  width: 100vw;
  left: 50%;
  transform: translateX(-50%);
  bottom: -80px;
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
}
main.top #certification .item-bg > *:nth-child(5) img {
  max-width: 30%;
}
main.top #certification .item-title {
  margin-bottom: 80px;
  z-index: 4;
}
main.top #certification .item-content {
  padding-bottom: 70px;
  padding-left: 110px;
  padding-right: 110px;
  position: relative;
}
main.top #certification .item-img-text {
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  gap: 85px;
  position: relative;
  padding-left: 13%;
  z-index: 3;
  margin-bottom: 80px;
}
main.top #certification .item-img-text:after {
  content: "";
  display: block;
  position: absolute;
  width: 481px;
  height: auto;
  right: 0;
  bottom: 0;
  aspect-ratio: 6.8714285714;
  background: url(../img/top/certification/line-01.png) no-repeat center/contain;
}
@media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  main.top #certification .item-img-text:after {
    background-image: url(../img/top/certification/line-01@2x.png);
  }
}
main.top #certification .item-img-text .img {
  position: relative;
}
main.top #certification .item-img-text .img:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  width: 300px;
  height: 300px;
  bottom: 80%;
  background: #f8f5ed;
  transform: translateX(-50%);
}
main.top #certification .item-img-text .img img {
  position: relative;
}
main.top #certification .item-img-text .text {
  padding-left: 20px;
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5;
  background: url(../img/top/certification/line-hd.png) no-repeat left center/9px auto;
}
@media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  main.top #certification .item-img-text .text {
    background-image: url(../img/top/certification/line-hd@2x.png);
  }
}
.en main.top #certification .item-img-text .text, .es main.top #certification .item-img-text .text {
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 21px;
  font-size: 1.3125rem;
  margin-right: -50px;
}
main.top #certification .item-hd-text {
  position: relative;
  z-index: 3;
  display: flex;
  -webkit-box-orient: vertical;
  flex-direction: column;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  margin-bottom: 80px;
}
main.top #certification .item-hd-text > div {
  display: flex;
  -webkit-box-orient: vertical;
  flex-direction: column;
}
main.top #certification .item-hd-text > div:not(:last-child) {
  margin-bottom: 80px;
}
main.top #certification .item-hd-text > div:nth-child(2) {
  margin-right: 25%;
}
main.top #certification .item-hd-text > div:nth-child(2) h2 {
  margin-left: 90px;
}
main.top #certification .item-hd-text > div:nth-child(2) .text {
  margin-left: 90px;
}
main.top #certification .item-hd-text h2 {
  font-size: 50px;
  font-size: 3.125rem;
  font-weight: 500;
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  line-height: 1.1;
  margin-left: 55px;
  margin-right: 55px;
}
.ja main.top #certification .item-hd-text h2 {
  font-size: 40px;
  font-size: 2.5rem;
  font-family: "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
.es main.top #certification .item-hd-text h2 {
  font-size: 44px;
  font-size: 2.75rem;
}
main.top #certification .item-hd-text .line {
  margin-bottom: 5px;
}
main.top #certification .item-hd-text .text {
  font-size: 20px;
  font-size: 1.25rem;
  margin-left: 60px;
  padding-left: 20px;
  background: url(../img/top/certification/line-hd.png) no-repeat left center/9px auto;
}
@media screen and (-webkit-min-device-pixel-ratio: 2), (min-resolution: 2dppx) {
  main.top #certification .item-hd-text .text {
    background-image: url(../img/top/certification/line-hd@2x.png);
  }
}
.en main.top #certification .item-hd-text .text, .es main.top #certification .item-hd-text .text {
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 22px;
  font-size: 1.375rem;
  line-height: 1.4166666667;
}
main.top #certification .item-hd {
  position: absolute;
  right: 90px;
  top: 48%;
  z-index: 3;
}
main.top #certification .item-more {
  position: relative;
  z-index: 3;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
main.top #list {
  padding-top: 90px;
  padding-bottom: 60px;
  position: relative;
  background: #FFF;
}
main.top #list:before {
  background: #FFF url(../img/top/list/bg.jpg) no-repeat center/cover;
  content: "";
  display: block;
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  box-shadow: 0 10px 20px 0 rgba(35, 24, 21, 0.2);
  z-index: 3;
}
main.top #list .item-list {
  display: flex;
  gap: 80px;
  padding-left: 55px;
  position: relative;
  z-index: 6;
}
main.top #list .item-li {
  width: calc((100% - 80px * 2) / 3);
}
main.top #list .item-img {
  margin-bottom: 45px;
}
main.top #list .item-text h2, main.top #list .item-text h3 {
  font-size: 40px;
  font-size: 2.5rem;
  font-weight: 500;
  line-height: 1.1;
  margin-bottom: 30px;
  margin-right: -80px;
  letter-spacing: -0.05em;
}
.en main.top #list .item-text h2, .es main.top #list .item-text h2, .en main.top #list .item-text h3, .es main.top #list .item-text h3 {
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 50px;
  font-size: 3.125rem;
  font-weight: normal;
}
main.top #list .item-text p {
  font-size: 20px;
  font-size: 1.25rem;
  line-height: 1.5;
}
.en main.top #list .item-text p, .es main.top #list .item-text p {
  font-size: 24px;
  font-size: 1.5rem;
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  line-height: 1.4583333333;
}
main.top #list .item-more {
  position: relative;
  z-index: 6;
  margin-top: 70px;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
}
.en main.top #list .item-more, .es main.top #list .item-more {
  margin-top: 10px;
}
main.top #artworks {
  background: #FFF;
}
main.top #artworks .content {
  background: #FFF;
  padding-top: 130px;
  padding-left: 20px;
  padding-right: 20px;
  padding-bottom: 90px;
  box-sizing: border-box;
  position: relative;
}
main.top #artworks .item-bg {
  pointer-events: none;
  position: absolute;
  width: 100vw;
  left: 50%;
  transform: translate(-50%, -50%);
  display: flex;
  -webkit-box-pack: end;
  -ms-flex-pack: end;
  justify-content: flex-end;
  top: 0;
  z-index: 4;
}
@media screen and (min-width: 701px) {
  main.top #artworks .item-bg img {
    max-width: 30vw;
  }
}
main.top #artworks .item-title {
  position: relative;
  z-index: 5;
}
main.top #artworks .item-lead {
  text-align: center;
  position: relative;
}
main.top #artworks .item-lead h3 {
  position: absolute;
  right: 40px;
  top: 50px;
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  font-feature-settings: initial;
  text-align: left;
  font-size: 34px;
  font-size: 2.125rem;
  font-weight: normal;
  line-height: 1.6764705882;
  margin-bottom: -40px;
}
.en main.top #artworks .item-lead h3, .es main.top #artworks .item-lead h3 {
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 36px;
  font-size: 2.25rem;
  line-height: 1.5277777778;
}
main.top #artworks .item-list ul {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  gap: 40px;
}
main.top #artworks .item-list ul:not(:last-child) {
  margin-bottom: 110px;
}
main.top #artworks .item-list ul li .img {
  text-align: center;
  margin-bottom: 40px;
}
@media screen and (min-width: 1280px) {
  .en main.top #artworks .item-list ul li .text .link, .es main.top #artworks .item-list ul li .text .link {
    font-size: 32px;
    font-size: 2rem;
  }
}
main.top #artworks .item-list ul li .text p {
  margin-top: 10px;
}
.en main.top #artworks .item-list ul li .text p, .es main.top #artworks .item-list ul li .text p {
  display: none;
}
main.top #artworks .item-list > p {
  text-align: center;
  font-size: 24px;
  font-size: 1.5rem;
}
.en main.top #artworks .item-list > p, .es main.top #artworks .item-list > p {
  font-size: 30px;
  font-size: 1.875rem;
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
main.top #artworks .item-list > p:not(:last-child) {
  margin-bottom: 70px;
}
main.top #news {
  background: #f8f5ed;
  padding-top: 100px;
  padding-bottom: 100px;
}
main.top #news .content {
  display: flex;
  flex-wrap: wrap;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  width: 920px;
  box-sizing: border-box;
  gap: 20px;
  row-gap: 80px;
}
main.top #news .item-title {
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
  line-height: 1;
  position: relative;
}
main.top #news .item-title > span:nth-child(1) {
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 50px;
  font-size: 3.125rem;
  font-weight: 500;
  padding-bottom: 35px;
}
main.top #news .item-title > span:nth-child(2) {
  padding-left: 22px;
  position: relative;
  font-size: 20px;
  font-size: 1.25rem;
}
.en main.top #news .item-title > span:nth-child(2), .es main.top #news .item-title > span:nth-child(2) {
  color: transparent;
}
main.top #news .item-title > span:nth-child(2):before {
  content: "";
  display: block;
  position: absolute;
  left: -20px;
  width: 80px;
  height: 1px;
  bottom: 0;
  background: #231815;
  transform: rotate(-45deg);
  transform-origin: left bottom;
}
main.top #news .item-more {
  margin-left: auto;
}
main.top #news .item-list {
  margin-left: 100px;
  width: calc(100% - 100px);
}
main.top #gallery {
  padding-top: 80px;
  padding-bottom: 90px;
  background: #FFF;
}
main.top #gallery .item-bg > * {
  position: absolute;
}
main.top #gallery .item-hd {
  padding-top: 130px;
  padding-bottom: 150px;
  position: relative;
}
main.top #gallery .item-hd .bg {
  pointer-events: none;
}
main.top #gallery .item-hd .bg > * {
  position: absolute;
}
main.top #gallery .item-hd .bg > *:nth-child(1) {
  right: 25%;
  top: 20%;
}
main.top #gallery .item-hd .bg > *:nth-child(2) {
  left: 20%;
  top: 50%;
}
main.top #gallery .item-list {
  position: relative;
}
main.top #gallery .item-list:before {
  content: "";
  display: block;
  position: absolute;
  left: 50%;
  top: 98px;
  width: 100vw;
  height: 210px;
  background: #f8f5ed;
  transform: translateX(-50%);
}
main.top #gallery .item-list ul {
  position: relative;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr;
  width: 1030px;
  max-width: 100%;
  margin-left: auto;
  margin-right: auto;
}
main.top #gallery .item-list ul:not(:last-child) {
  margin-bottom: 120px;
}
main.top #gallery .item-list ul li img {
  width: 100%;
  height: auto;
  aspect-ratio: 0.9745042493;
  object-fit: cover;
}
main.top #requirement {
  border-top: 5px solid #194e72;
  background: #FFF;
  padding-top: 70px;
  padding-bottom: 90px;
  position: relative;
  text-align: center;
}
.en main.top #requirement, .es main.top #requirement {
  font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
}
main.top #requirement:before {
  content: "";
  display: block;
  position: absolute;
  left: 0;
  width: 100%;
  height: calc(100% - 18px - 50px);
  bottom: 50px;
  background: #fdd554;
}
main.top #requirement > * {
  position: relative;
}
main.top #requirement .item-hd {
  color: #c9574b;
  font-size: 55px;
  font-size: 3.4375rem;
  font-weight: normal;
  line-height: 1.2;
  margin-bottom: 20px;
}
main.top #requirement .item-text {
  font-size: 30px;
  font-size: 1.875rem;
  font-weight: normal;
  line-height: 1.5;
}

@media screen and (min-width: 701px) and (max-width: 1280px) {
  main.top #about .content {
    padding-bottom: 15%;
  }
  main.top #about .content:before {
    background-size: 98% auto;
  }
  main.top #about .item-title {
    margin-bottom: 100px;
  }
  main.top #about .item-img {
    gap: 20px;
    margin-left: 30px;
    margin-right: 30px;
  }
  main.top #about .item-img .img {
    max-width: 25%;
  }
  main.top #about .item-img h3 {
    font-size: min(2.4vw, 40px);
    font-size: min(2.4vw, 2.5rem);
  }
  main.top #about .item-text {
    padding-left: 50px;
    padding-right: 50px;
  }
  main.top #about .item-text p {
    line-height: 1.75;
    font-size: min(2vw, 18px);
    font-size: min(2vw, 1.125rem);
  }
  .en main.top #about .item-text p, .es main.top #about .item-text p {
    font-size: min(2.2vw, 20px);
    font-size: min(2.2vw, 1.25rem);
  }
  main.top #about .item-text .link:not(:first-child) {
    margin-top: 60px;
  }
  main.top #what {
    position: relative;
  }
  main.top #what:before {
    height: 40vw;
  }
  main.top #what .item-imgs > *:nth-child(1) {
    left: 20%;
    top: 20px;
    max-width: 20%;
  }
  main.top #what .item-imgs > *:nth-child(2) {
    right: 20%;
    top: -40px;
    max-width: 15%;
  }
  main.top #what .item-imgs > *:nth-child(3) {
    left: 3%;
    max-width: 19%;
    top: 19%;
  }
  main.top #what .item-imgs > *:nth-child(4) {
    max-width: 18%;
    right: 2%;
    top: 14%;
  }
  main.top #what .item-imgs > *:nth-child(5) {
    left: 10%;
    top: 30%;
    max-width: 18%;
  }
}
@media screen and (min-width: 701px) and (max-width: 1280px) and (max-width: 1040px) {
  main.top #what .item-imgs > *:nth-child(5) {
    left: 4%;
  }
}
@media screen and (min-width: 701px) and (max-width: 1280px) {
  main.top #what .item-imgs > *:nth-child(6) {
    right: 5%;
    top: 30%;
    max-width: 19%;
  }
}
@media screen and (min-width: 701px) and (max-width: 1280px) and (max-width: 1040px) {
  main.top #what .item-imgs > *:nth-child(6) {
    right: 1%;
  }
}
@media screen and (min-width: 701px) and (max-width: 1280px) {
  main.top #what .item-imgs > *:nth-child(7) {
    left: -3%;
    max-width: 20%;
    top: 48%;
  }
  main.top #what .item-imgs > *:nth-child(8) {
    max-width: 21%;
    right: -1%;
    top: 47%;
  }
  main.top #what .item-imgs > *:nth-child(9) {
    left: 1%;
    max-width: 20%;
    bottom: 3%;
  }
  main.top #what .item-imgs > *:nth-child(10) {
    left: 12%;
    max-width: 18%;
    bottom: 22%;
    z-index: 2;
  }
  main.top #what .item-imgs > *:nth-child(11) {
    max-width: 20%;
    left: 37%;
    bottom: 22%;
  }
  main.top #what .item-imgs > *:nth-child(12) {
    max-width: 18%;
    left: 47%;
    bottom: 1%;
  }
  main.top #what .item-imgs > *:nth-child(13) {
    max-width: 16%;
    right: 25%;
    bottom: 30%;
  }
  main.top #what .item-imgs > *:nth-child(14) {
    max-width: 20%;
    right: 2%;
    bottom: 14%;
  }
  main.top #what .item-text {
    font-size: min(2vw, 18px);
    font-size: min(2vw, 1.125rem);
  }
  .en main.top #what .item-text, .es main.top #what .item-text {
    font-size: min(2.4vw, 20px);
    font-size: min(2.4vw, 1.25rem);
    font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  }
  .en main.top #what .item-text .link-block, .es main.top #what .item-text .link-block {
    margin-top: 45px;
  }
  main.top #what .item-text .link-block {
    margin-top: 60px;
  }
  main.top #what .item-copys > * {
    font-size: min(3.2vw, 35px);
    font-size: min(3.2vw, 2.1875rem);
    font-family: "Cormorant Garamond", "Shippori Mincho", "游明朝体", "Yu Mincho", YuMincho, "ヒラギノ明朝 ProN W3", "HiraMinProN-W3", "HG明朝E", "HGS明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  }
  .ja main.top #what .item-copys > * {
    font-size: min(3.2vw, 35px);
    font-size: min(3.2vw, 2.1875rem);
  }
  .ja main.top #what .item-copys > *:nth-child(5) {
    margin-right: 12%;
  }
  .es main.top #what .item-copys > * {
    font-size: min(3.1vw, 33px);
    font-size: min(3.1vw, 2.0625rem);
  }
  main.top #what .item-copys > *:nth-child(1) {
    left: 10%;
    bottom: 35%;
  }
  main.top #what .item-copys > *:nth-child(2) {
    left: 60%;
    bottom: 25%;
  }
  main.top #what .item-copys > *:nth-child(3) {
    right: 10%;
    bottom: 35%;
  }
  main.top #what .item-copys > *:nth-child(4) {
    left: 22%;
    bottom: 10%;
  }
  main.top #what .item-copys > *:nth-child(5) {
    right: 2%;
    bottom: 10%;
  }
  main.top #certification .item-bg > *:nth-child(1) {
    right: 20%;
    max-width: 30%;
    top: 15%;
  }
  main.top #certification .item-bg > *:nth-child(2) {
    top: 25%;
  }
  main.top #certification .item-bg > *:nth-child(2) img {
    max-width: 45%;
  }
  main.top #certification .item-bg > *:nth-child(3) {
    right: 1%;
    top: 45%;
    max-width: 20%;
  }
  main.top #certification .item-bg > *:nth-child(4) {
    left: -20%;
    max-width: 50%;
  }
  main.top #certification .item-bg > *:nth-child(5) {
    bottom: -10%;
  }
  main.top #certification .item-title {
    margin-bottom: 60px;
  }
  main.top #certification .item-content {
    padding-bottom: 70px;
    padding-left: 50px;
    padding-right: 50px;
  }
  main.top #certification .item-img-text {
    gap: 40px;
    position: relative;
    padding-left: 2%;
  }
  main.top #certification .item-img-text:after {
    max-width: 45%;
  }
  main.top #certification .item-img-text .img {
    max-width: 50%;
  }
  main.top #certification .item-img-text .img:before {
    width: 60%;
  }
  main.top #certification .item-img-text .text {
    font-size: 17px;
    font-size: 1.0625rem;
  }
  .en main.top #certification .item-img-text .text, .es main.top #certification .item-img-text .text {
    font-size: 19px;
    font-size: 1.1875rem;
  }
  main.top #certification .item-hd-text {
    margin-bottom: 60px;
  }
  main.top #certification .item-hd-text > div:not(:last-child) {
    margin-bottom: 60px;
  }
  main.top #certification .item-hd-text > div:nth-child(2) {
    margin-right: 15%;
  }
  main.top #certification .item-hd-text > div:nth-child(2) h2, main.top #certification .item-hd-text > div:nth-child(2) .text {
    margin-left: 60px;
  }
}
@media screen and (min-width: 701px) and (max-width: 1280px) and (max-width: 840px) {
  main.top #certification .item-hd-text > div:nth-child(2) h2, main.top #certification .item-hd-text > div:nth-child(2) .text {
    margin-left: 40px;
  }
}
@media screen and (min-width: 701px) and (max-width: 1280px) {
  main.top #certification .item-hd-text h2 {
    font-size: 34px;
    font-size: 2.125rem;
    margin-left: 60px;
    margin-right: 60px;
  }
}
@media screen and (min-width: 701px) and (max-width: 1280px) and (max-width: 840px) {
  main.top #certification .item-hd-text h2 {
    margin-left: 40px;
    margin-right: 40px;
  }
}
@media screen and (min-width: 701px) and (max-width: 1280px) {
  .ja main.top #certification .item-hd-text h2 {
    font-size: 30px;
    font-size: 1.875rem;
  }
  .es main.top #certification .item-hd-text h2 {
    font-size: 32px;
    font-size: 2rem;
  }
  main.top #certification .item-hd-text .text {
    margin-left: 60px;
    margin-right: 60px;
  }
}
@media screen and (min-width: 701px) and (max-width: 1280px) and (max-width: 840px) {
  main.top #certification .item-hd-text .text {
    margin-left: 40px;
    margin-right: 40px;
  }
}
@media screen and (min-width: 701px) and (max-width: 1280px) {
  main.top #certification .item-hd-text .line {
    margin-bottom: 10px;
  }
  main.top #certification .item-hd {
    right: 2%;
    bottom: 3%;
    max-width: 16%;
  }
  main.top #list .item-list {
    gap: 25px;
    padding-left: 20px;
  }
  main.top #list .item-li {
    width: calc((100% - 25px * 2) / 3);
  }
  main.top #list .item-text h2, main.top #list .item-text h3 {
    font-size: 25px;
    font-size: 1.5625rem;
    margin-right: 0;
  }
  .en main.top #list .item-text h2, .es main.top #list .item-text h2, .en main.top #list .item-text h3, .es main.top #list .item-text h3 {
    font-size: 28px;
    font-size: 1.75rem;
  }
  main.top #list .item-text p {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .en main.top #list .item-text p, .es main.top #list .item-text p {
    font-size: 20px;
    font-size: 1.25rem;
  }
  main.top #artworks .item-bg img {
    max-width: 40%;
  }
  main.top #artworks .item-lead .img img {
    max-width: 80%;
  }
  main.top #artworks .item-lead h3 {
    right: -30px;
    font-size: min(2.3vw, 28px);
    font-size: min(2.3vw, 1.75rem);
  }
  .en main.top #artworks .item-lead h3, .es main.top #artworks .item-lead h3 {
    font-size: min(2.5vw, 30px);
    font-size: min(2.5vw, 1.875rem);
  }
  main.top #artworks .item-list ul {
    gap: 30px;
  }
}
@media screen and (min-width: 701px) and (max-width: 1280px) and (max-width: 1100px) {
  main.top #artworks .item-list ul {
    grid-template-columns: 1fr 1fr;
  }
}
@media screen and (min-width: 701px) and (max-width: 1280px) {
  main.top #artworks .item-list ul:not(:last-child) {
    margin-bottom: 45px;
  }
  main.top #artworks .item-list ul li .img {
    margin-bottom: 20px;
  }
  main.top #artworks .item-list p {
    font-size: min(4vw, 20px);
    font-size: min(4vw, 1.25rem);
  }
  .en main.top #artworks .item-list p, .es main.top #artworks .item-list p {
    font-size: min(4.2vw, 22px);
    font-size: min(4.2vw, 1.375rem);
  }
  main.top #news .content {
    row-gap: 60px;
  }
  main.top #news .item-list {
    margin-left: 50px;
    width: calc(100% - 50px);
  }
  main.top #requirement .item-hd {
    font-size: min(5vw, 45px);
    font-size: min(5vw, 2.8125rem);
  }
  main.top #requirement .item-text {
    font-size: min(2.2vw, 25px);
    font-size: min(2.2vw, 1.5625rem);
  }
}
@media screen and (max-width: 700px) {
  main.top {
    overflow: hidden;
  }
  main.top #style-title:after, main.top #gallery .item-title:after, main.top #certification .item-title:after {
    bottom: -6px;
    height: 3px;
  }
  main.top #style-title h2, main.top #gallery .item-title h2, main.top #certification .item-title h2 {
    width: 100%;
  }
  main.top #about {
    border-bottom-width: 3px;
  }
  main.top #about .content {
    padding: 40px 20px 80px;
    box-sizing: border-box;
  }
  main.top #about .content:before {
    background-size: 90% auto;
  }
  main.top #about .item-title {
    margin-bottom: 40px;
  }
  main.top #about .item-img {
    gap: 15px;
    margin-left: 0;
    margin-right: 0;
    margin-bottom: 25px;
  }
  main.top #about .item-img:before {
    display: none;
  }
  main.top #about .item-img .img {
    width: 40%;
  }
  main.top #about .item-img h3 {
    font-size: min(3.8vw, 32px);
    font-size: min(3.8vw, 2rem);
  }
  .en main.top #about .item-img h3, .es main.top #about .item-img h3 {
    font-size: min(4vw, 34px);
    font-size: min(4vw, 2.125rem);
  }
  main.top #about .item-text {
    padding-left: 0;
    padding-right: 0;
  }
  main.top #about .item-text p {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .en main.top #about .item-text p, .es main.top #about .item-text p {
    font-size: 17px;
    font-size: 1.0625rem;
  }
  main.top #about .item-text .link:not(:first-child) {
    margin-top: 30px;
  }
  main.top #what:before {
    height: 40vw;
    background-size: 30% auto, auto 100%, auto 100%;
  }
  main.top #what .content {
    padding-top: 60px;
    padding-bottom: 100vw;
    padding-left: 20px;
    padding-right: 20px;
    box-sizing: border-box;
  }
  main.top #what .item-title {
    margin-bottom: 50px;
  }
  main.top #what .item-text {
    text-align: left;
    font-size: 17px;
    font-size: 1.0625rem;
    line-height: 1.5;
  }
  .en main.top #what .item-text, .es main.top #what .item-text {
    font-size: 18px;
    font-size: 1.125rem;
  }
  .en main.top #what .item-text .link-block, .es main.top #what .item-text .link-block {
    margin-top: 30px;
  }
  main.top #what .item-text .link-block {
    margin-top: 30px;
  }
  main.top #what .item-imgs > *:nth-child(1) {
    max-width: 24%;
    left: 6%;
    top: -2%;
  }
  main.top #what .item-imgs > *:nth-child(2) {
    max-width: 24%;
    right: 8%;
    top: -5%;
  }
  main.top #what .item-imgs > *:nth-child(3) {
    max-width: 22%;
    left: -3%;
    top: 10%;
  }
  main.top #what .item-imgs > *:nth-child(4) {
    max-width: 24%;
    right: -3%;
    top: 12%;
  }
  main.top #what .item-imgs > *:nth-child(5) {
    display: none;
  }
  main.top #what .item-imgs > *:nth-child(6) {
    display: none;
  }
  main.top #what .item-imgs > *:nth-child(7) {
    left: -4%;
    top: 48%;
    max-width: 25%;
    z-index: 2;
  }
  main.top #what .item-imgs > *:nth-child(8) {
    right: -5%;
    top: 48%;
    max-width: 25%;
    z-index: 2;
  }
  main.top #what .item-imgs > *:nth-child(9) {
    left: -5%;
    max-width: 24%;
    bottom: 3%;
  }
  main.top #what .item-imgs > *:nth-child(10) {
    max-width: 24%;
    left: 1%;
    bottom: 27%;
  }
  main.top #what .item-imgs > *:nth-child(11) {
    max-width: 25%;
    left: 35%;
    bottom: 18%;
    z-index: 2;
  }
  main.top #what .item-imgs > *:nth-child(12) {
    max-width: 24%;
    left: 74%;
    bottom: 1%;
  }
  main.top #what .item-imgs > *:nth-child(13) {
    max-width: 24%;
    right: 20%;
    bottom: 33%;
  }
  main.top #what .item-imgs > *:nth-child(14) {
    max-width: 25%;
    right: -3%;
    bottom: 13%;
  }
  main.top #what .item-copys > * {
    font-size: 22px;
    font-size: 1.375rem;
    font-weight: normal;
  }
  .ja main.top #what .item-copys > * {
    font-size: 20px;
    font-size: 1.25rem;
  }
  .ja main.top #what .item-copys > *:nth-child(4) {
    bottom: 10%;
  }
  .es main.top #what .item-copys > * {
    font-size: 20px;
    font-size: 1.25rem;
  }
  main.top #what .item-copys > *:nth-child(1) {
    left: 12%;
    bottom: 39%;
  }
  main.top #what .item-copys > *:nth-child(2) {
    left: 60%;
    bottom: 28%;
  }
  main.top #what .item-copys > *:nth-child(3) {
    right: 10%;
    bottom: 26%;
  }
  main.top #what .item-copys > *:nth-child(4) {
    left: 20%;
    bottom: 10%;
  }
  main.top #what .item-copys > *:nth-child(5) {
    right: 30%;
    bottom: 5%;
  }
  main.top #certification {
    overflow: hidden;
  }
  main.top #certification .item-bg > *:nth-child(1) {
    right: 0%;
    max-width: 30%;
    top: 20%;
  }
  main.top #certification .item-bg > *:nth-child(2) {
    top: 20%;
  }
  main.top #certification .item-bg > *:nth-child(2) img {
    max-width: 45%;
  }
  main.top #certification .item-bg > *:nth-child(3) {
    right: 1%;
    top: 50%;
    max-width: 20%;
  }
  main.top #certification .item-bg > *:nth-child(4) {
    left: -20%;
    max-width: 50%;
  }
  main.top #certification .item-bg > *:nth-child(5) {
    bottom: -5%;
  }
  main.top #certification .item-title {
    margin-bottom: 30px;
  }
  main.top #certification .item-content {
    padding-bottom: 60px;
    padding-left: 20px;
    padding-right: 20px;
  }
  main.top #certification .item-img-text {
    -webkit-box-orient: vertical;
    flex-direction: column;
    gap: 0;
    width: 100%;
    box-sizing: border-box;
    padding-left: 0%;
    margin-bottom: 50px;
    padding-right: 20%;
  }
  main.top #certification .item-img-text:after {
    display: none;
  }
  main.top #certification .item-img-text .img {
    position: relative;
    width: auto;
  }
  main.top #certification .item-img-text .img:before {
    width: 60%;
  }
  main.top #certification .item-img-text .img img {
    position: relative;
  }
  main.top #certification .item-img-text .text {
    width: 100%;
    margin-top: -10px;
    font-size: 15px;
    font-size: 0.9375rem;
    box-sizing: border-box;
  }
  .en main.top #certification .item-img-text .text, .es main.top #certification .item-img-text .text {
    font-size: 17px;
    font-size: 1.0625rem;
    margin-right: 0;
  }
  main.top #certification .item-hd-text {
    margin-bottom: 30px;
    margin-left: -30px;
  }
  main.top #certification .item-hd-text > div {
    width: 100%;
  }
  main.top #certification .item-hd-text > div:not(:last-child) {
    margin-bottom: 40px;
  }
  main.top #certification .item-hd-text > div:nth-child(2) {
    margin-right: 0%;
  }
  main.top #certification .item-hd-text > div:nth-child(2) {
    margin-right: 0%;
  }
  main.top #certification .item-hd-text > div:nth-child(2) h2 {
    margin-left: 30px;
  }
  main.top #certification .item-hd-text > div:nth-child(2) .text {
    margin-left: 30px;
  }
  main.top #certification .item-hd-text h2 {
    font-size: min(5vw, 24px);
    font-size: min(5vw, 1.5rem);
    margin-left: 30px;
    margin-right: 0px;
  }
  .ja main.top #certification .item-hd-text h2 {
    font-size: min(4.5vw, 22px);
    font-size: min(4.5vw, 1.375rem);
  }
  .es main.top #certification .item-hd-text h2 {
    font-size: min(4.8vw, 23px);
    font-size: min(4.8vw, 1.4375rem);
  }
  main.top #certification .item-hd-text .line {
    margin-bottom: 10px;
  }
  main.top #certification .item-hd-text .text {
    font-size: 15px;
    font-size: 0.9375rem;
    margin-left: 30px;
    margin-right: 0;
  }
  .en main.top #certification .item-hd-text .text, .es main.top #certification .item-hd-text .text {
    font-size: 17px;
    font-size: 1.0625rem;
  }
  main.top #certification .item-hd {
    right: 20px;
    top: 12%;
    max-width: 17%;
  }
  .en main.top #certification .item-hd, .es main.top #certification .item-hd {
    margin-top: 5%;
  }
  main.top #certification .item-more {
    position: relative;
    z-index: 3;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
  main.top #list {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  main.top #list .item-list {
    flex-wrap: wrap;
    gap: 30px;
    padding-left: 0;
  }
  main.top #list .item-li {
    width: calc((100% - 30px * 0) / 1);
    display: grid;
    grid-template-columns: 40% 1fr;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 15px;
  }
  main.top #list .item-img {
    margin-bottom: 0;
  }
  main.top #list .item-text h2, main.top #list .item-text h3 {
    font-size: 24px;
    font-size: 1.5rem;
    margin-bottom: 15px;
  }
  .en main.top #list .item-text h2, .es main.top #list .item-text h2, .en main.top #list .item-text h3, .es main.top #list .item-text h3 {
    font-size: 26px;
    font-size: 1.625rem;
  }
  main.top #list .item-text p {
    font-size: 15px;
    font-size: 0.9375rem;
  }
  .en main.top #list .item-text p, .es main.top #list .item-text p {
    font-size: 16px;
    font-size: 1rem;
  }
  main.top #list .item-more {
    margin-top: 30px;
  }
  .en main.top #list .item-more, .es main.top #list .item-more {
    margin-top: 30px;
  }
  main.top #artworks .content {
    padding-top: 60px;
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 60px;
  }
  main.top #artworks .item-bg img {
    max-width: 40%;
  }
  main.top #artworks .item-lead {
    padding-right: 0%;
    display: flex;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
  }
  main.top #artworks .item-lead .img {
    margin-left: -20px;
  }
  main.top #artworks .item-lead h3 {
    position: relative;
    right: 0;
    top: 0;
    font-size: min(3.3vw, 32px);
    font-size: min(3.3vw, 2rem);
    margin-bottom: 10px;
  }
  .en main.top #artworks .item-lead h3, .es main.top #artworks .item-lead h3 {
    font-size: min(3.4vw, 34px);
    font-size: min(3.4vw, 2.125rem);
  }
  .es main.top #artworks .item-lead h3 {
    max-height: 300px;
  }
  main.top #artworks .item-list ul {
    grid-template-columns: 1fr 1fr;
    gap: 20px;
  }
  main.top #artworks .item-list ul:not(:last-child) {
    margin-bottom: 25px;
  }
  main.top #artworks .item-list ul li .img {
    margin-bottom: 10px;
  }
  main.top #artworks .item-list ul li .text p {
    margin-top: 5px;
    font-size: 15px;
    font-size: 0.9375rem;
  }
  main.top #artworks .item-list > p {
    font-size: 16px;
    font-size: 1rem;
  }
  .en main.top #artworks .item-list > p, .es main.top #artworks .item-list > p {
    font-size: 18px;
    font-size: 1.125rem;
  }
  main.top #artworks .item-list > p:not(:last-child) {
    margin-bottom: 30px;
  }
  main.top #news {
    padding-top: 50px;
    padding-bottom: 50px;
  }
  main.top #news .content {
    row-gap: 30px;
  }
  main.top #news .item-title > span:nth-child(1) {
    font-size: 28px;
    font-size: 1.75rem;
    padding-bottom: 25px;
  }
  main.top #news .item-title > span:nth-child(2) {
    padding-left: 15px;
  }
  main.top #news .item-title > span:nth-child(2):before {
    width: 60px;
    left: -15px;
  }
  main.top #news .item-more {
    -webkit-box-original-group: 3;
    -ms-flex-order: 3;
    order: 3;
    margin-left: auto;
    margin-right: auto;
  }
  main.top #news .item-list {
    margin-left: 0;
    width: 100%;
  }
  main.top #gallery {
    padding-top: 10px;
    padding-bottom: 50px;
  }
  main.top #gallery .item-bg > * {
    position: absolute;
  }
  main.top #gallery .item-hd {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  main.top #gallery .item-hd .bg {
    pointer-events: none;
  }
  main.top #gallery .item-hd .bg > * {
    position: absolute;
  }
  main.top #gallery .item-hd .bg > *:nth-child(1) {
    right: 5%;
    top: 10%;
    max-width: 20%;
  }
  main.top #gallery .item-hd .bg > *:nth-child(2) {
    max-width: 35%;
    left: 0%;
    top: 40%;
  }
  main.top #gallery .item-list:before {
    top: 10%;
    height: 40%;
  }
  main.top #gallery .item-list ul:not(:last-child) {
    margin-bottom: 30px;
  }
  main.top #requirement {
    border-top-width: 3px;
    padding-top: 40px;
    padding-bottom: 40px;
  }
  main.top #requirement:before {
    height: calc(100% - 10px - 10px);
    bottom: 10px;
  }
  main.top #requirement > * {
    position: relative;
  }
  main.top #requirement .item-hd {
    font-size: min(6vw, 40px);
    font-size: min(6vw, 2.5rem);
    margin-bottom: 10px;
  }
  main.top #requirement .item-text {
    font-size: 18px;
    font-size: 1.125rem;
    text-align: left;
  }
}
