@media screen and (max-width: 736px) {
  .pc {
    display: none;
  }
}

@media print, screen and (min-width: 736px) {
  .sp {
    display: none;
  }
}

.anchorList {
  counter-reset: anchorList;
}

@media print, screen and (min-width: 736px) {
  .anchorList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 20px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.anchorList__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #ffffff;
  color: #1d2d5f;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  letter-spacing: .1em;
  position: relative;
  -webkit-transition: background-color .5s ease-in-out;
  transition: background-color .5s ease-in-out;
  will-change: background-color;
}

@media print, screen and (min-width: 736px) {
  .anchorList__inner {
    font-size: 12px;
    height: 100%;
    min-height: 38px;
    padding: 14px 34px 14px 46px;
  }
}

@media screen and (max-width: 736px) {
  .anchorList__inner {
    font-size: calc(26 / 750 * 100vw);
    min-height: calc(74 / 750 * 100vw);
    padding: calc(10 / 750* 100vw) calc(45 / 750* 100vw) calc(10 / 750* 100vw) calc(73 / 750* 100vw);
  }
}

.anchorList__inner .t {
  display: inline-block;
  line-height: 1.33333;
}

.anchorList__inner .t:before {
  content: '';
  display: block;
  height: 0;
  margin-top: calc((1 - 1.33333) * .5em);
  width: 0;
}

.anchorList__inner .t:after {
  content: '';
  display: block;
  height: 0;
  margin-bottom: calc((1 - 1.33333) * .5em);
  width: 0;
}

.anchorList__inner:before {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #1d2d5f;
  color: #ffffff;
  content: counter(anchorList, decimal-leading-zero);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Cormorant Infant", serif;
  font-weight: 400;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  letter-spacing: 0;
  position: absolute;
  top: 0;
  -webkit-transition: background-color .5s ease-in-out;
  transition: background-color .5s ease-in-out;
}

@media print, screen and (min-width: 736px) {
  .anchorList__inner:before {
    font-size: 24px;
    width: 38px;
  }
}

@media screen and (max-width: 736px) {
  .anchorList__inner:before {
    font-size: calc(40 / 750 * 100vw);
    width: calc(54 / 750 * 100vw);
  }
}

.anchorList__icon {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  aspect-ratio: 1 / 1;
  background-color: rgba(29, 45, 95, 0.6);
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  outline: 2px solid rgba(255, 255, 255, 0.3);
  position: absolute;
  top: 50%;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  -webkit-transition: background-color .5s ease-in-out;
  transition: background-color .5s ease-in-out;
  width: 20px;
}

@media print, screen and (min-width: 736px) {
  .anchorList__icon {
    right: 10px;
  }
}

@media screen and (max-width: 736px) {
  .anchorList__icon {
    right: 7px;
  }
}

.anchorList__icon .arrowSVG {
  height: auto;
  width: 10px;
}

.anchorList__icon .arrowSVG__path {
  fill: #ffffff;
}

.anchorList__item {
  counter-increment: anchorList;
  display: block;
  padding-bottom: 2px;
  position: relative;
}

@media print, screen and (min-width: 736px) {
  .anchorList__item {
    width: calc((100% - 40px) / 3);
  }
}

.anchorList__item:after {
  background-color: #3e699b;
  bottom: 0;
  content: '';
  display: block;
  height: 1px;
  left: 0;
  position: absolute;
  -webkit-transition: background-color .5s ease-in-out;
  transition: background-color .5s ease-in-out;
  width: 100%;
}

@media screen and (max-width: 736px) {
  .anchorList__item:not(:first-child) {
    margin-top: calc(20 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .anchorList__item:hover:after {
    background-color: #1d2d5f;
  }
  .anchorList__item:hover .anchorList__inner {
    background-color: #1d2d5f;
    color: #ffffff;
  }
  .anchorList__item:hover .anchorList__inner:before {
    background-color: #1d2d5f;
  }
  .anchorList__item:hover .anchorList__icon {
    background-color: #1d2d5f;
  }
}

@media (hover: hover) and (pointer: fine) {
  .anchorList__item:hover:after {
    background-color: #1d2d5f;
  }
  .anchorList__item:hover .anchorList__inner {
    background-color: #1d2d5f;
    color: #ffffff;
  }
  .anchorList__item:hover .anchorList__inner:before {
    background-color: #1d2d5f;
  }
  .anchorList__item:hover .anchorList__icon {
    background-color: #1d2d5f;
  }
}

.galleryTtl {
  color: #1d2d5f;
  font-family: "Playfair Display", serif;
  letter-spacing: .08em;
  line-height: 1;
  text-align: center;
}

@media print, screen and (min-width: 736px) {
  .galleryTtl {
    font-size: 52px;
  }
}

@media screen and (max-width: 736px) {
  .galleryTtl {
    font-size: calc(64 / 750 * 100vw);
  }
}

@media screen and (max-width: 736px) {
  .introSect__head .headingCombi .heading {
    font-size: calc(40 / 750 * 100vw);
  }
}

.introSect__cont {
  width: calc(100vw - var(--scrollbar));
}

@media print, screen and (min-width: 736px) {
  .introSect__cont {
    margin-left: calc(((100vw - var(--scrollbar)) - 1200px) / -2);
  }
}

@media only screen and (min-width: 736px) and (max-width: 1200px) {
  .introSect__cont {
    width: calc(100% + 40px);
    margin-left: -20px;
  }
}

@media screen and (max-width: 736px) {
  .introSect__cont {
    margin-left: calc(-30 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .introSect__head + .introSect__cont {
    margin-top: 70px;
  }
}

@media screen and (max-width: 736px) {
  .introSect__head + .introSect__cont {
    margin-top: calc(80 / 750 * 100vw);
  }
}

.meritCard {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
}

@media print, screen and (min-width: 736px) {
  .meritCard {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    gap: 70px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

@media screen and (max-width: 736px) {
  .meritCard {
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    gap: calc(60 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .meritCard__head {
    width: 600px;
  }
}

.meritCard__head .generalSlider__controller {
  left: auto;
  position: relative;
  top: auto;
  -webkit-transform: none;
          transform: none;
}

@media print, screen and (min-width: 736px) {
  .meritCard__head .generalSlider__controller {
    margin: 20px auto 0;
    width: 360px;
  }
}

@media screen and (max-width: 736px) {
  .meritCard__head .generalSlider__controller {
    margin: calc(40 / 750 * 100vw) auto 0;
    width: 100%;
  }
}

.meritCard__head .generalSlider__bottom {
  left: 50%;
  margin-top: 0;
  position: absolute;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  z-index: 2;
}

@media print, screen and (min-width: 736px) {
  .meritCard__head .generalSlider__bottom {
    bottom: 24px;
    max-width: 240px;
  }
}

@media screen and (max-width: 736px) {
  .meritCard__head .generalSlider__bottom {
    bottom: calc(22 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .meritCard__desc {
    width: 326px;
  }
}

@media screen and (max-width: 736px) {
  .meritCard__desc .txt {
    max-width: inherit;
  }
}

.meritCard__desc .txt + .caption {
  margin-top: 10px;
}

.meritCard__num {
  color: #1d2d5f;
  font-family: "Playfair Display", serif;
  letter-spacing: 0;
  line-height: 1;
}

@media print, screen and (min-width: 736px) {
  .meritCard__num {
    font-size: 12px;
  }
}

@media screen and (max-width: 736px) {
  .meritCard__num {
    font-size: calc(24 / 750 * 100vw);
  }
}

.meritCard__num .strong {
  font-family: "Cormorant Infant", serif;
}

@media print, screen and (min-width: 736px) {
  .meritCard__num .strong {
    font-size: 18px;
  }
}

@media screen and (max-width: 736px) {
  .meritCard__num .strong {
    font-size: calc(40 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .meritCard__num + .heading {
    margin-top: 24px;
  }
}

@media screen and (max-width: 736px) {
  .meritCard__num + .heading {
    margin-top: calc(36 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .meritCard--slider .meritCard__head {
    margin-right: -220px;
    width: 820px;
  }
}

@media screen and (max-width: 1440px) and (min-width: 737px) {
  .meritCard--slider .meritCard__head {
    margin-right: 0;
    width: calc(820 / 1440 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .meritCard--rev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media print, screen and (min-width: 736px) {
  .meritCard--rev.meritCard--slider .meritCard__head {
    margin-left: -220px;
    margin-right: 0;
  }
}

@media screen and (max-width: 1440px) and (min-width: 737px) {
  .meritCard--rev.meritCard--slider .meritCard__head {
    margin-left: 0;
  }
}

@media print, screen and (min-width: 736px) {
  .meritList__item:not(:first-child) {
    margin-top: 136px;
  }
}

@media screen and (max-width: 736px) {
  .meritList__item:not(:first-child) {
    margin-top: calc(100 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .meritSect__head .galleryTtl + .anchorList {
    margin-top: 47px;
  }
}

@media screen and (max-width: 736px) {
  .meritSect__head .galleryTtl + .anchorList {
    margin-top: calc(70 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .meritSect__head + .meritSect__cont {
    margin-top: 82px;
  }
}

@media screen and (max-width: 736px) {
  .meritSect__head + .meritSect__cont {
    margin-top: calc(115 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .modelSect {
    margin: 0 auto;
    max-width: 1000px;
  }
}

@media print, screen and (min-width: 736px) {
  .modelSect__head + .modelSect__cont {
    margin-top: 87px;
  }
}

@media screen and (max-width: 736px) {
  .modelSect__head + .modelSect__cont {
    margin-top: calc(82 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .modelSect__block:not(:first-child) {
    margin-top: 140px;
  }
}

@media screen and (max-width: 736px) {
  .modelSect__block:not(:first-child) {
    margin-top: calc(120 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .modelSect__block .heading + .modelGallerySlider {
    margin-top: 40px;
  }
}

@media screen and (max-width: 736px) {
  .modelSect__block .heading + .modelGallerySlider {
    margin-top: calc(48 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .gallery-introduction {
    padding: 105px 0 0;
  }
}

@media screen and (max-width: 736px) {
  .gallery-introduction {
    padding: calc(120 / 750 * 100vw) 0 0;
  }
}

@media print, screen and (min-width: 736px) {
  .gallery-merit {
    padding: 105px 0 150px;
  }
}

@media screen and (max-width: 736px) {
  .gallery-merit {
    padding: calc(110 / 750 * 100vw) 0 calc(160 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 736px) {
  .gallery-model {
    padding: 110px 0 160px;
  }
}

@media screen and (max-width: 736px) {
  .gallery-model {
    padding: calc(160 / 750 * 100vw) 0 calc(200 / 750 * 100vw);
  }
}
