@font-face {
  src: url("../fonts/MinionVariableConcept.otf") format("opentype");
  font-family: "MinionVariableConcept";
}

html {
  font-size: min(1.1111111111vw, 16px);
}

body {
  color: #4d4d4d;
  line-height: 1;
  font-family: "Noto Serif JP", serif;
}

img {
  display: block;
  width: 100%;
  height: auto;
}

picture {
  display: block;
  width: 100%;
  height: auto;
}

a {
  display: block;
}

.main-visual.--front-page {
  aspect-ratio: 1437/571;
  width: 100vw;
  height: auto;
  overflow: hidden;
}

.main-visual.--front-page picture,
.main-visual.--front-page img {
  -o-object-fit: cover;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.top-salon__heading {
  margin-bottom: min(6.25vw, 90px);
}

.top-salon__list {
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 100%;
}

.top-salon__item {
  width: min(22.2222222222vw, 320px);
  height: min(22.2222222222vw, 320px);
}

.top-salon__item.--kitasenju {
  background-image: url("../../img/salon-kitasenju-square.png");
  background-size: cover;
}

.top-salon__item.--omotensando {
  background-image: url("../../img/salon-omotesando-square.png");
  background-size: cover;
}

.top-salon__item.--yoshidabishoin {
  background-image: url("../../img/salon-yoshidabishoin-square.png");
  background-size: cover;
}

.top-salon__link {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
}

.top-salon__text {
  color: #ffffff;
  text-align: center;
}

.top-salon__text.--big {
  margin-bottom: min(0.6944444444vw, 10px);
  font-weight: 500;
  font-size: min(2.3611111111vw, 34px);
  text-transform: uppercase;
}

.top-salon__text.--small {
  font-weight: 300;
  font-size: min(1.25vw, 18px);
}

.top-price {
  padding-top: min(8.3333333333vw, 120px);
}

.top-price__heading {
  margin-bottom: min(5.5555555556vw, 80px);
}

.top-price__wrap {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
}

.top-price__body {
  width: min(32.6388888889vw, 470px);
}

.top-price__body.--right {
  margin-left: min(6.9444444444vw, 100px);
}

.top-price__items {
  width: 100%;
}

.top-price__title {
  width: 100%;
  margin-bottom: min(2.5vw, 36px);
  padding: 1em 0 1em 1.5em;
  border: 1px solid #4d4d4d;
  font-size: min(1.25vw, 18px);
  text-transform: uppercase;
}

.top-price__title span {
  font-family: "MinionVariableConcept", "Noto Serif JP", serif;
}

.top-price__item {
  display: flex;
  position: relative;
  align-items: center;
  justify-content: space-between;
  margin-top: min(1.25vw, 18px);
  padding-bottom: min(0.5555555556vw, 8px);
  border-bottom: 1px solid #666666;
}

.top-price__text {
  font-size: min(1.25vw, 18px);
  line-height: 1.3;
}

.top-price__text.--right {
  text-align: end;
}

.top-price__space.--left-top {
  padding-top: min(3.0555555556vw, 44px);
  padding-bottom: 1px;
}

.top-price__space.--left-center {
  padding-top: min(8.3333333333vw, 120px);
  padding-bottom: 2px;
}

.top-price__space.--right-bottom {
  position: relative;
  padding-top: min(6.1111111111vw, 88px);
  padding-bottom: 2px;
}

.top-info {
  display: flex;
  align-items: center;
  justify-content: space-between;
  /*width: min(60.5555555556vw, 828px);*/
  width: 100%;
  margin: 0 auto;
  padding-top: min(8.3333333333vw, 120px);
}

.top-info__item {
  width: min(19.5277777778vw, 290px);
}

.top-info__btn {
  margin-top: min(1.3888888889vw, 20px);
  margin-right: auto;
  margin-left: auto;
}

.top-company {
  padding-top: min(8.3333333333vw, 120px);
}

.top-company__heading {
  margin-bottom: min(7.6388888889vw, 110px);
}

.top-company__body {
  width: 100%;
}

.top-company__item {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  margin-top: min(2.2222222222vw, 32px);
  padding-bottom: min(1.4583333333vw, 21px);
}

.top-company__item:not(:last-child) {
  border-bottom: 1px solid #666666;
}

.top-company__text {
  font-size: min(1.25vw, 18px);
}

.top-company__text.--left {
  width: min(15.625vw, 225px);
}

.top-company__text.--tel {
  border-bottom: 1px solid #4d4d4d;
}

/* 231118追加ここから */
.top-gallery {
  padding-top: min(8.3333333333vw, 120px);
}

.top-gallery__heading {
  margin-bottom: min(5.5555555556vw, 80px);
}

.top-gallery__body {
  width: 100%;
}

.top-gallery__img {
  width: 100%;
  padding-top: 150%;
  position: relative;
}

.top-gallery__img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.p-home-works__swiperItem {
  display: none;
}
/* 231118追加ここまで */

@media screen and (min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }

  .top-price__items.--center,
  .top-price__items.--center1,
  .top-price__items.--bottom {
    padding-top: min(5vw, 72px);
  }

  .top-price__items.--center2 {
    padding-top: min(3.3333333333vw, 48px);
  }

  .top-info__item {
    width: min(19.5277777778vw, 290px);
  }

  .top-info__item.--left img {
    height: min(calc(19.5277777778vw * 0.86), (290px * 0.86));
    width: auto;
    margin: 0 auto;
  }

  .top-price__item_longPricePc {
    display: flex;
    padding-top: 5px;
  }

  .top-price__item_longPricePcLeft {
    width: 60%;
  }

  .top-price__item_longPricePcRight {
    width: 40%;
    text-align: right;
    padding-top: 55px;
    line-height: 24px;
  }

  .top-price__item_longPriceSp {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  html {
    font-size: 2.6785714286vw;
  }

  .main-visual.--front-page {
    aspect-ratio: 720/1200;
    height: auto;
  }

  .top-salon__heading {
    margin-bottom: 8.9285714286vw;
  }

  .top-salon__list {
    row-gap: 6.25vw;
    flex-wrap: wrap;
  }

  .top-salon__item {
    width: 44.6428571429vw;
    height: 44.6428571429vw;
  }

  .top-salon__text.--big {
    margin-bottom: 0.8928571429vw;
    font-size: 5.9821428571vw;
  }

  .top-salon__text.--small {
    font-size: 3.0357142857vw;
  }

  .top-price {
    padding-top: 13.3928571429vw;
  }

  .top-price__heading {
    margin-bottom: 11.6071428571vw;
  }

  .top-price__wrap {
    flex-direction: column;
    padding: 0 2.8571428571vw;
  }

  .top-price__body {
    width: 100%;
  }

  .top-price__body.--right {
    margin-left: 0;
  }

  .top-price__items {
    padding-top: 8.9285714286vw;
  }

  .top-price__body.--left .top-price__items.--top {
    padding-top: 0;
  }

  .top-price__title {
    margin-bottom: 4.0178571429vw;
    font-size: 3.2142857143vw;
  }

  .top-price__item {
    margin-top: 2.5vw;
    padding-bottom: 0.8928571429vw;
  }

  .top-price__text {
    font-size: 2.8571428571vw;
  }

  .top-price__text.--explain {
    line-height: 5.2vw;
  }

  .top-price__space {
    display: none;
  }

  .top-info {
    flex-direction: column;
    width: 100%;
    padding-right: 2.6785714286vw;
    padding-left: 2.6785714286vw;
  }

  .top-info__item {
    width: 100%;
    text-align: center;
  }

  .top-info__item.--center {
    margin-top: 15.625vw;
  }

  .top-info__item.--right {
    margin-top: 15.625vw;
  }

  .top-info__btn {
    display: inline-block;
    width: auto;
    height: auto;
    margin-top: 5.8035714286vw;
    padding: 1em 3em;
  }

  .top-company__heading {
    margin-bottom: 13.3928571429vw;
  }

  .top-company__item {
    margin-top: 2.8571428571vw;
    padding-bottom: 2.1428571429vw;
  }

  .top-company__text {
    font-size: 2.8571428571vw;
  }

  .top-company__text.--left {
    width: 22.3214285714vw;
  }

  /* 231118追加ここから */
  .top-gallery {
    padding-top: 13.3928571429vw;
  }

  .top-gallery__heading {
    margin-bottom: 11.6071428571vw;
  }

  .top-gallery__body {
    max-width: 220px;
    margin: 0 auto;
    position: relative;
  }

  .p-home-works__swiperItem {
    display: block;
    position: absolute;
    content: "";
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
  }

  .swiper-button-prev,
  .swiper-button-next {
    position: absolute;
    content: "";
    top: 58%;
    width: 60px;
    height: 60px;
    z-index: 100;
  }

  .swiper-button-prev:hover,
  .swiper-button-next:hover {
    cursor: pointer;
  }

  .swiper-button-prev::before,
  .swiper-button-next::before {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
    transform: translate(-50%, -50%);
  }

  .swiper-button-prev::after,
  .swiper-button-next::after {
    display: block;
    position: absolute;
    content: "";
    top: 50%;
    left: 50%;
    width: 0;
    height: 0;
  }

  .swiper-button-prev {
    left: 0%;
    transform: translate(-100%, -50%);
  }

  .swiper-button-prev::before {
    border-right: 15px solid #666666;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
  }

  .swiper-button-prev::after {
    border-right: 15px solid #ffffff;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    transform: translate(-40%, -50%);
  }

  .swiper-button-next {
    right: 0%;
    transform: translate(100%, -50%);
  }

  .swiper-button-next::before {
    border-left: 15px solid #666666;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
  }

  .swiper-button-next::after {
    border-left: 15px solid #ffffff;
    border-top: 30px solid transparent;
    border-bottom: 30px solid transparent;
    transform: translate(-60%, -50%);
  }

  .swiper-horizontal > .swiper-pagination-bullets,
  .swiper-pagination-bullets.swiper-pagination-horizontal,
  .swiper-pagination-custom,
  .swiper-pagination-fraction {
    bottom: 0;
    transform: translateY(200%);
  }

  .swiper-pagination-bullet {
    width: 9px;
    height: 9px;
    border: 1px solid #000;
    background-color: transparent;
  }

  .swiper-pagination-bullet-active {
    background-color: #4d4d4d;
  }

  .swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
  .swiper-pagination-horizontal.swiper-pagination-bullets
    .swiper-pagination-bullet {
    margin: 0 0.5vw;
  }

  .top-price__item_longPriceSp .top-price__longPriceTop {
    width: 60%;
    margin: 0 auto;
    padding-top: 10px;
  }

  .top-price__item_longPriceSp .top-price__longPriceTop img {
    width: 100%;
  }

  .top-price__item_longPriceSp .top-price__longPriceBottom {
    text-align: center;
    padding-top: 5px;
    padding-bottom: 13px;
    line-height: 19px;
  }

  .top-price__item_longPricePc {
    display: none;
  }

  /* 231118追加ここまで */
}
