.anchorBlock {
  position: relative;
  z-index: 1;
}

@media print, screen and (min-width: 769px) {
  .anchorBlock {
    padding: 40px 0 0;
  }
}

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

.anchorList {
  counter-reset: anchorList;
}

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

.anchorList__inner {
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  background-color: #fff;
  letter-spacing: 0.1em;
  color: #3e699b;
  -webkit-transition: background-color 0.5s ease-in-out;
  transition: background-color 0.5s ease-in-out;
  will-change: background-color;
}

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

@media only screen and (max-width: 768px) {
  .anchorList__inner {
    min-height: calc(74 / 750 * 100vw);
    padding: calc(10 / 750* 100vw) calc(45 / 750* 100vw) calc(10 / 750* 100vw) calc(73 / 750* 100vw);
    font-size: calc(26 / 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: #3e699b;
  color: #ffffff;
  content: counter(anchorList, decimal-leading-zero);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-family: "Bonheur Royale", cursive;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  left: 0;
  letter-spacing: 0;
  position: absolute;
  font-weight: 400;
  top: 0;
  -webkit-transition: background-color 0.5s ease-in-out;
  transition: background-color 0.5s ease-in-out;
  height: 100%;
}

@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 {
  aspect-ratio: 1 / 1;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #7896b9;
  border-radius: 50%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  position: absolute;
  top: 50%;
  -webkit-transition: background-color 0.5s ease-in-out;
  transition: background-color 0.5s ease-in-out;
  -webkit-transform: translate(0, -50%);
          transform: translate(0, -50%);
  width: 20px;
  outline: 2px solid rgba(255, 255, 255, 0.3);
}

@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;
  padding-bottom: 2px;
  position: relative;
  display: block;
}

@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;
  width: 100%;
  -webkit-transition: background-color 0.5s ease-in-out;
  transition: background-color 0.5s ease-in-out;
}

@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: #3e699b;
  }
  .anchorList__item:hover .anchorList__inner {
    background-color: #3e699b;
    color: #fff;
  }
  .anchorList__item:hover .anchorList__inner::before {
    background-color: #3e699b;
  }
  .anchorList__item:hover .anchorList__icon {
    background-color: #3e699b;
  }
}

@media (hover: hover) and (pointer: fine) {
  .anchorList__item:hover::after {
    background-color: #3e699b;
  }
  .anchorList__item:hover .anchorList__inner {
    background-color: #3e699b;
    color: #fff;
  }
  .anchorList__item:hover .anchorList__inner::before {
    background-color: #3e699b;
  }
  .anchorList__item:hover .anchorList__icon {
    background-color: #3e699b;
  }
}

.introSect__head {
  margin: 0 auto;
  max-width: 1220px;
}

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

.introSect__ttl {
  color: #426fa0;
  letter-spacing: .12em;
  position: relative;
  text-align: center;
  z-index: 1;
}

@media print, screen and (min-width: 769px) {
  .introSect__ttl {
    font-size: 30px;
    padding-bottom: 32px;
  }
}

@media only screen and (max-width: 768px) {
  .introSect__ttl {
    font-size: calc(36 / 750 * 100vw);
    padding-bottom: calc(46 / 750 * 100vw);
  }
}

.introSect__ttl:after {
  bottom: 0;
  content: '';
  display: block;
  left: 50%;
  position: absolute;
  -webkit-transform: translate(-50%, 0);
          transform: translate(-50%, 0);
}

@media print, screen and (min-width: 769px) {
  .introSect__ttl:after {
    background: url("../imgs/pc/img-intro-dot.png") no-repeat center/contain;
    height: 3px;
    width: 39px;
  }
}

@media only screen and (max-width: 768px) {
  .introSect__ttl:after {
    background: url("../imgs/sp/img-intro-dot.png") no-repeat center/contain;
    height: 3px;
    width: 43px;
  }
}

.introSect__ttl .inner {
  line-height: 1.77778;
}

.introSect__ttl .inner:before {
  content: '';
  display: block;
  height: 0;
  margin-top: calc((1 - 1.77778) * .5em);
  width: 0;
}

.introSect__ttl .inner:after {
  content: '';
  display: block;
  height: 0;
  margin-bottom: calc((1 - 1.77778) * .5em);
  width: 0;
}

.introSect__ttl + .txt {
  text-align: center;
}

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

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

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

@media only screen and (max-width: 768px) {
  .introSect__head + .introSect__cont {
    margin-top: calc(100 / 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: 60px;
    -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;
  }
}

@media print, screen and (min-width: 769px) {
  .meritCard__head .generalSlider .swiper-slide {
    width: 100%;
  }
}

@media print, screen and (min-width: 769px) {
  .meritCard__head .generalSlider .sliderController {
    margin-left: auto;
    margin-right: auto;
  }
}

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

@media print, screen and (min-width: 769px) {
  .meritCard__desc .heading .ja {
    font-size: 24px;
  }
}

@media only screen and (max-width: 768px) {
  .meritCard__desc .heading .ja {
    font-size: 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(820 / 1440 * 100vw);
  }
}

@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);
  }
}

.meritSect {
  margin: 0 auto;
  max-width: 1000px;
}

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

.meritSect__ttl {
  color: #86a8ba;
  font-family: "Nanum Myeongjo", serif;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}

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

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

.meritSect__ttl:first-letter {
  font-family: "Bonheur Royale", cursive;
}

@media print, screen and (min-width: 769px) {
  .meritSect__ttl:first-letter {
    font-size: 64px;
  }
}

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

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

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

.modelRoomSect {
  margin: 0 auto;
  max-width: 1000px;
  position: relative;
  z-index: 2;
}

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

.modelRoomSect__ttl {
  color: #86a8ba;
  font-family: "Nanum Myeongjo", serif;
  letter-spacing: 0;
  line-height: 1;
  text-align: center;
}

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

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

.modelRoomSect__ttl:first-letter {
  font-family: "Bonheur Royale", cursive;
}

@media print, screen and (min-width: 769px) {
  .modelRoomSect__ttl:first-letter {
    font-size: 64px;
  }
}

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

@media print, screen and (min-width: 769px) {
  .modelRoomSect__head + .modelRoomSect__cont {
    margin-top: 80px;
  }
}

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

.gallery-intro {
  background: -webkit-gradient(linear, right top, left top, from(#ddf4f4), to(#f9f9f7));
  background: linear-gradient(to left, #ddf4f4 0%, #f9f9f7 100%);
  position: relative;
  z-index: 1;
}

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

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

.gallery-intro:before {
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  width: 100%;
  z-index: 1;
}

@media print, screen and (min-width: 769px) {
  .gallery-intro:before {
    -webkit-animation: blowWingReverse 25s ease-in-out infinite;
            animation: blowWingReverse 25s ease-in-out infinite;
    background: url("../imgs/pc/img-intro-wind-01@1.5x.png") no-repeat center;
    background-size: 120% 100%;
    height: calc(145 / 1440 * 100vw);
    top: 66px;
  }
}

@media only screen and (max-width: 768px) {
  .gallery-intro:before {
    -webkit-animation: blowWingReverse 15s ease-in-out infinite;
            animation: blowWingReverse 15s ease-in-out infinite;
    background: url("../imgs/sp/img-intro-wind-01.png") no-repeat center/cover;
    height: calc(77 / 750 * 100vw);
    top: calc(164 / 750 * 100vw);
  }
}

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

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

.gallery-modelRoom {
  background-color: #edf5f8;
  overflow: hidden;
  position: relative;
  z-index: 1;
}

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

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

.gallery-modelRoom:before {
  content: '';
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
  z-index: -1;
  background: linear-gradient(250deg, #393939 0%, #444444 10%, #282828 25%, #3f3f3f 50%, #5b5b5b 65%, #313131 85%, rgba(76, 76, 76, 0.5) 100%);
  mix-blend-mode: overlay;
}
