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

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

.anchorList {
  counter-reset: anchorList;
}

@media print, screen and (min-width: 769px) {
  .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: 769px) {
  .anchorList__inner {
    font-size: 12px;
    height: 100%;
    min-height: 38px;
    padding: 14px 34px 14px 46px;
  }
}

@media only screen and (max-width: 768px) {
  .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: 769px) {
  .anchorList__inner:before {
    font-size: 24px;
    width: 38px;
  }
}

@media only screen and (max-width: 768px) {
  .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: 769px) {
  .anchorList__icon {
    right: 10px;
  }
}

@media only screen and (max-width: 768px) {
  .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: 769px) {
  .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 only screen and (max-width: 768px) {
  .anchorList__item:not(:first-child) {
    margin-top: calc(20 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 769px) {
  .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;
  }
}

.galleryPanels {
  --gp-dwell: 100svh;
  --gp-header: 161px;
  position: relative;
  width: 100vw;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
}

@media screen and (max-width: 1200px) {
  .galleryPanels {
    --gp-header: 61px;
  }
}

.galleryPanels__panel {
  overflow: hidden;
  position: -webkit-sticky;
  position: sticky;
  width: 100%;
  top: var(--gp-header);
  height: calc(100svh - var(--gp-header));
}

@media only screen and (max-width: 768px) {
  .galleryPanels__panel {
    top: 0;
    height: 100dvh;
  }
}

.galleryPanels__gap {
  height: var(--gp-dwell);
}

.galleryPanels__inner {
  --reveal: 0;
  --text: 0;
  --recede: 0;
  --center: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-filter: grayscale(var(--recede)) blur(calc(var(--recede) * 0.8rem));
          filter: grayscale(var(--recede)) blur(calc(var(--recede) * 0.8rem));
  height: 100%;
  position: relative;
  will-change: filter;
}

.galleryPanels__bg {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  -webkit-filter: grayscale(calc(1 - var(--reveal))) brightness(calc(0.6 + 0.4 * var(--reveal)));
          filter: grayscale(calc(1 - var(--reveal))) brightness(calc(0.6 + 0.4 * var(--reveal)));
  inset: 0;
  overflow: hidden;
  position: absolute;
  -webkit-transform: scale(calc(0.88 + 0.12 * var(--reveal)));
          transform: scale(calc(0.88 + 0.12 * var(--reveal)));
  -webkit-transform-origin: center;
          transform-origin: center;
  will-change: transform, filter;
  z-index: 0;
}

.galleryPanels__bg::after {
  background: rgba(0, 0, 0, 0.6);
  content: '';
  inset: 0;
  opacity: calc((var(--reveal) - 0.6) / 0.4);
  position: absolute;
  z-index: 1;
}

.galleryPanels__bg .photo,
.galleryPanels__bg .photo__pic {
  display: block;
  height: 100%;
  width: 100%;
}

.galleryPanels__bg .photo__image {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -webkit-transform: scale(calc(1.3 - 0.3 * var(--reveal)));
          transform: scale(calc(1.3 - 0.3 * var(--reveal)));
  -webkit-transform-origin: center;
          transform-origin: center;
  width: 100%;
  will-change: transform;
}

.galleryPanels__center {
  -webkit-box-shadow: 0 0.4rem 10rem rgba(0, 0, 0, 0.36);
          box-shadow: 0 0.4rem 10rem rgba(0, 0, 0, 0.36);
  -webkit-clip-path: inset(0 calc((1 - var(--center)) * 100%) 0 0);
          clip-path: inset(0 calc((1 - var(--center)) * 100%) 0 0);
  left: 50%;
  overflow: hidden;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  will-change: clip-path;
  z-index: 1;
}

@media only screen and (max-width: 768px) {
  .galleryPanels__center {
    width: calc(100% - 6.4rem);
    top: min(50%, calc(100dvh - 40rem));
  }
}

@media print, screen and (min-width: 769px) {
  .galleryPanels__center {
    height: 90%;
    max-width: 90%;
    width: auto;
  }
}

.galleryPanels__center .photo,
.galleryPanels__center .photo__pic {
  display: block;
}

@media only screen and (max-width: 768px) {
  .galleryPanels__center .photo,
  .galleryPanels__center .photo__pic {
    width: 100%;
  }
}

@media print, screen and (min-width: 769px) {
  .galleryPanels__center .photo,
  .galleryPanels__center .photo__pic {
    height: 100%;
    width: auto;
  }
}

.galleryPanels__center .photo__image {
  display: block;
}

@media only screen and (max-width: 768px) {
  .galleryPanels__center .photo__image {
    height: auto;
    width: 100%;
  }
}

@media print, screen and (min-width: 769px) {
  .galleryPanels__center .photo__image {
    height: 100%;
    max-width: none;
    width: auto;
  }
}

.galleryPanels__title {
  color: #fff;
  -webkit-filter: blur(calc((1 - var(--text)) * 0.5rem));
          filter: blur(calc((1 - var(--text)) * 0.5rem));
  font-family: "YakuHanMP", "Zen Old Mincho", "Noto Serif", "Noto Serif", serif;
  font-weight: 400;
  left: 0;
  letter-spacing: 0.08em;
  opacity: calc(var(--text) * (1 - var(--recede)));
  position: absolute;
  right: 0;
  text-align: center;
  text-shadow: 0 0.2rem 2rem rgba(0, 0, 0, 0.5), 0 0.2rem 2rem rgba(0, 0, 0, 0.5), 0 0.2rem 2rem rgba(0, 0, 0, 0.5), 0 0.2rem 2rem rgba(0, 0, 0, 0.5);
  will-change: filter, opacity;
  z-index: 2;
}

@media only screen and (max-width: 768px) {
  .galleryPanels__title {
    bottom: 16rem;
    font-size: 2.8rem;
  }
}

@media print, screen and (min-width: 769px) {
  .galleryPanels__title {
    bottom: 10rem;
    font-size: 4rem;
  }
}

.galleryPanels__pagination {
  height: 0;
  pointer-events: none;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  z-index: 10;
}

.galleryPanels__pagList {
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  list-style: none;
  margin: 0;
  padding: 0;
  position: absolute;
  top: calc(var(--gp-header) + (100svh - var(--gp-header)) / 2);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  will-change: transform;
}

@media only screen and (max-width: 768px) {
  .galleryPanels__pagList {
    top: 50dvh;
    right: 1.6rem;
    row-gap: 1.6rem;
  }
}

@media print, screen and (min-width: 769px) {
  .galleryPanels__pagList {
    right: 4rem;
    row-gap: 2rem;
  }
}

.galleryPanels__pagItem {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-column-gap: 1.2rem;
     -moz-column-gap: 1.2rem;
          column-gap: 1.2rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.galleryPanels__pagDot {
  background: #fff;
  border-radius: 50%;
  height: 0.6rem;
  opacity: 0.3;
  width: 0.6rem;
}

.galleryPanels__pagItem.is-active .galleryPanels__pagDot {
  opacity: 1;
}

.galleryPanels__nav {
  height: 0;
  pointer-events: none;
  position: -webkit-sticky;
  position: sticky;
  top: 0;
  -webkit-transition: opacity 0.3s ease;
  transition: opacity 0.3s ease;
  z-index: 11;
}

.galleryPanels__nav.is-hidden {
  opacity: 0;
  visibility: hidden;
}

.galleryPanels__navBtn {
  background-color: rgba(0, 0, 0, 0.35);
  border: 1px solid rgba(255, 255, 255, 0.7);
  color: #fff;
  cursor: pointer;
  font-family: "Cormorant Infant", serif;
  letter-spacing: 0.12em;
  line-height: 1;
  pointer-events: auto;
  position: absolute;
  -webkit-transition: opacity 0.3s ease, background-color 0.3s ease;
  transition: opacity 0.3s ease, background-color 0.3s ease;
}

@media print, screen and (min-width: 769px) {
  .galleryPanels__navBtn:hover {
    background-color: rgba(0, 0, 0, 0.55);
    opacity: 0.85;
  }
}

@media (hover: hover) and (pointer: fine) {
  .galleryPanels__navBtn:hover {
    background-color: rgba(0, 0, 0, 0.55);
    opacity: 0.85;
  }
}

@media print, screen and (min-width: 769px) {
  .galleryPanels__navBtn {
    top: calc(100dvh - 8.8rem);
    font-size: 14px;
    padding: 1.2rem 2.8rem;
  }
}

@media only screen and (max-width: 768px) {
  .galleryPanels__navBtn {
    font-size: calc(13 / 390 * 100vw);
    padding: 1.2rem 2rem;
  }
}

@media screen and (max-width: 1200px) {
  .galleryPanels__navBtn {
    top: calc(100dvh - 13rem);
  }
}

@media print, screen and (min-width: 769px) {
  .galleryPanels__navBtn--back {
    left: 4rem;
  }
}

@media only screen and (max-width: 768px) {
  .galleryPanels__navBtn--back {
    left: 1.6rem;
  }
}

@media print, screen and (min-width: 769px) {
  .galleryPanels__navBtn--skip {
    right: 4rem;
  }
}

@media only screen and (max-width: 768px) {
  .galleryPanels__navBtn--skip {
    right: 1.6rem;
  }
}

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

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

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

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

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

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

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

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

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

@media only screen and (max-width: 768px) {
  .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: 769px) {
  .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 only screen and (max-width: 768px) {
  .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: 769px) {
  .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: 769px) {
  .meritCard__head .generalSlider__controller {
    margin: 20px auto 0;
    width: 360px;
  }
}

@media only screen and (max-width: 768px) {
  .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: 769px) {
  .meritCard__head .generalSlider__bottom {
    bottom: 24px;
    max-width: 240px;
  }
}

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

.meritCard .generalSlider__slideCaption {
  color: #666666;
  line-height: 1.6;
  text-align: right;
}

@media print, screen and (min-width: 769px) {
  .meritCard .generalSlider__slideCaption {
    font-size: 1.2rem;
    margin-top: 1.2rem;
  }
}

@media only screen and (max-width: 768px) {
  .meritCard .generalSlider__slideCaption {
    font-size: calc(22 / 750 * 100vw);
    margin-top: calc(20 / 750 * 100vw);
  }
}

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

@media print, screen and (min-width: 769px) {
  .meritCard__desc .galleryHeading + .txt {
    margin-top: 20px;
  }
}

@media only screen and (max-width: 768px) {
  .meritCard__desc .galleryHeading + .txt {
    margin-top: calc(28 / 750 * 100vw);
  }
}

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

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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 1440px) and (min-width: 769px) {
  .meritCard--slider .meritCard__head {
    margin-right: 0;
    width: calc(100% - 410px);
  }
}

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media only screen and (max-width: 768px) {
  .modelSect__block .galleryHeading + .modelGallerySlider,
  .modelSect__block .galleryHeading + .galleryPanels {
    margin-top: calc(48 / 750 * 100vw);
  }
}

.gallery-body {
  position: relative;
  z-index: 1;
  background-color: #ffffff;
}

#keyVisual .verticalCopy {
  -webkit-writing-mode: horizontal-tb;
      -ms-writing-mode: lr-tb;
          writing-mode: horizontal-tb;
  -webkit-text-orientation: mixed;
          text-orientation: mixed;
  font-family: "YakuHanMP", "Zen Old Mincho", "Noto Serif", "Noto Serif", serif;
  letter-spacing: 0.14em;
}

@media print, screen and (min-width: 769px) {
  #keyVisual .verticalCopy {
    top: calc(240 / 1440 * 100vw);
    font-size: calc(44 / 1440 * 100vw);
  }
}

@media only screen and (max-width: 768px) {
  #keyVisual .verticalCopy {
    top: calc(200 / 750 * 100vw);
    font-size: calc(40 / 750 * 100vw);
  }
}

@media only screen and (max-width: 768px) {
  #keyVisual .photo__capIn {
    bottom: 8rem;
    right: 1.6rem;
  }
}

@media print, screen and (min-width: 769px) {
  #keyVisual .keyVisual__txt {
    bottom: 54vh;
  }
}

@media only screen and (max-width: 768px) {
  #keyVisual .keyVisual__txt {
    bottom: 40vh;
    padding: 0 calc(32 / 390 * 100vw);
  }
}

.wrapper {
  overflow: clip;
}

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

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

.gallery-model {
  position: relative;
}

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

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

.gallery-model::before {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  left: calc(50% - 50vw);
  width: 100vw;
  background: -webkit-gradient(linear, left top, left bottom, from(#325669), to(#63aacf));
  background: linear-gradient(180deg, #325669 0%, #63aacf 100%);
  z-index: -1;
}

.gallery-model .galleryTtl,
.gallery-model .galleryHeading {
  color: #fff;
}

.gallerySlideNote {
  color: #ffffff;
  line-height: 1.6;
}

@media print, screen and (min-width: 769px) {
  .gallerySlideNote {
    font-size: 1.2rem;
    margin-top: 1.6rem;
  }
}

@media only screen and (max-width: 768px) {
  .gallerySlideNote {
    font-size: calc(22 / 750 * 100vw);
    margin-top: calc(24 / 750 * 100vw);
  }
}

.gallerySlideNote--right {
  text-align: right;
}

.gallerySlideNote--left {
  text-align: left;
}

@media only screen and (max-width: 768px) {
  .modelGallerySlider__controller {
    margin-top: calc(24 / 750 * 100vw);
  }
}

@media only screen and (max-width: 768px) {
  .modelGallerySlider__thumbList {
    margin-top: calc(32 / 750 * 100vw);
  }
}

@media print, screen and (min-width: 769px) {
  .modelGallerySlider__thumbItem {
    width: calc((100% - 50px) / 6);
  }
}

@media only screen and (max-width: 768px) {
  .modelGallerySlider__thumbItem {
    width: calc((100% - 25px) / 6);
  }
}
