@charset "UTF-8";
/*********************************************************************
* ブレークポイント定義
**********************************************************************/
/*********************************************************************
* メディアクエリー定義
**********************************************************************/
/*********************************************************************
  フォントサイズ
    $font-size: フォントサイズ(必須)
    $line-height: ラインハイト or 空
    $letter-spacing: レタースペーシング or 空
**********************************************************************/
/* ************************************************
 *	TOP
 * *************************************************/
/* 共通
----------------------------------------------*/
/* MV
----------------------------------------------*/
#top__mv {
  position: relative;
  background-color: #C30606;
  color: #fff;
  padding-top: 56px;
}
@media print, screen and (min-width: 960px) {
  #top__mv {
    padding: 100px 64px 0 64px;
  }
}
#top__mv figure {
  position: relative;
  max-width: 1528px;
  margin: 0 auto;
}
#top__mv figure .top__mv-catch {
  position: absolute;
  top: 7%;
  right: 3%;
  font-size: 4.3vw;
  line-height: 1.6;
  text-shadow: 0 0 5px #000;
  cursor: vertical-text;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
}
@media print, screen and (min-width: 768px) {
  #top__mv figure .top__mv-catch {
    font-size: 3.7vw;
  }
}
@media print, screen and (min-width: 960px) {
  #top__mv figure .top__mv-catch {
    top: 5%;
    right: 1.8%;
    font-size: min(2.8vw, 46px);
    text-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
  }
}
@media print, screen and (min-width: 1700px) {
  #top__mv figure .top__mv-catch {
    right: 0;
    transform: translateX(1.6em);
  }
}
#top__mv figure .top__mv-catch span {
  display: block;
}
#top__mv figure .top__mv-catch span:nth-child(2) {
  margin-top: 2em;
}

.about-us-wrapper {
  background: #C30606 url(images/about-us-bg.svg) no-repeat;
  background-position: 100% calc(100% + 20px);
  background-size: 70% auto;
  color: #fff;
  padding: 40px 0;
}
@media print, screen and (min-width: 768px) {
  .about-us-wrapper {
    background-size: 40% auto;
  }
}
@media print, screen and (min-width: 960px) {
  .about-us-wrapper {
    background-position: 100% calc(100% + 60px);
    background-size: 704px auto;
    padding: 112px 0 160px;
  }
}
.about-us-wrapper .top__about-us-text {
  line-height: 2.2;
}
@media print, screen and (min-width: 960px) {
  .about-us-wrapper .top__about-us-text {
    font-size: 2rem;
    line-height: 2.5;
    text-align: center;
  }
}

/* 芸妓　小鈴
----------------------------------------------*/
.top__kosuzu-wrapper {
  max-width: 600px;
  padding: 0 5%;
  margin: 0 auto 0;
}
@media print, screen and (min-width: 960px) {
  .top__kosuzu-wrapper {
    max-width: 1664px;
    padding: 0 32px;
  }
}

.top__kosuzu-inner {
  display: flex;
  flex-direction: column;
  gap: 24px 0;
  margin-top: 32px;
}
@media print, screen and (min-width: 960px) {
  .top__kosuzu-inner {
    flex-direction: row;
    align-items: center;
    gap: 0 56px;
  }
}
@media print, screen and (min-width: 1500px) {
  .top__kosuzu-inner {
    margin-top: -80px;
  }
}
@media print, screen and (min-width: 1264px) {
  .top__kosuzu-inner .top__kosuzu-img {
    width: 51.5%;
  }
}
.top__kosuzu-inner .top__kosuzu-text {
  line-height: 2.2;
}

/* 酒田舞娘のご紹介
----------------------------------------------*/
.top__maiko-area {
  background: linear-gradient(90deg, rgba(235, 229, 229, 0.35) 0.52%, rgba(235, 229, 229, 0) 30.7%, rgba(235, 229, 229, 0.35) 62.73%, rgba(235, 229, 229, 0.05) 97.08%);
  margin-top: 40px;
}
@media print, screen and (min-width: 768px) {
  .top__maiko-area {
    margin-top: 56px;
  }
}
@media print, screen and (min-width: 1300px) {
  .top__maiko-area {
    margin-top: 0;
  }
}
@media print, screen and (min-width: 1500px) {
  .top__maiko-area {
    margin-top: -64px;
  }
}

.top__maiko-bg {
  background: url(images/top-maiko-bg01.svg) no-repeat, url(images/top-maiko-bg02.svg) no-repeat;
  background-position: center top, center bottom;
  background-size: 100% auto, 100% auto;
  padding: 18vw 0;
}
@media print, screen and (min-width: 768px) {
  .top__maiko-bg {
    padding: 15vw 0;
  }
}
@media print, screen and (min-width: 960px) {
  .top__maiko-bg {
    padding: 10.4vw 0;
  }
}

.maiko-lead {
  line-height: 2.2;
  text-align: center;
}

.top__maiko-wrapper {
  display: flex;
  flex-direction: column;
  gap: 64px 0;
  margin-top: 32px;
}
@media print, screen and (min-width: 768px) {
  .top__maiko-wrapper {
    gap: 80px 0;
    margin-top: 56px;
  }
}

@media print, screen and (min-width: 768px) {
  .top__maiko-child {
    align-items: center;
  }
}
@media print, screen and (min-width: 768px) {
  .top__maiko-child figure {
    width: calc(50% - 20px);
    max-width: 488px;
  }
}
@media print, screen and (min-width: 960px) {
  .top__maiko-child figure {
    width: 47.7%;
  }
}
.top__maiko-child .top__maiko-text {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-top: 32px;
}
@media print, screen and (min-width: 768px) {
  .top__maiko-child .top__maiko-text {
    width: calc(50% - 20px);
    max-width: 488px;
    margin-top: 0;
  }
}
@media print, screen and (min-width: 960px) {
  .top__maiko-child .top__maiko-text {
    width: 47.7%;
  }
}
.top__maiko-child .top__maiko-text h3 {
  font-size: 2.4rem;
  letter-spacing: 0.2em;
  cursor: vertical-text;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  margin-bottom: 24px;
}
@media print, screen and (min-width: 960px) {
  .top__maiko-child .top__maiko-text h3 {
    font-size: 3.2rem;
    margin-bottom: 56px;
  }
}
.top__maiko-child .top__maiko-text h3 span {
  display: inline-block;
  font-size: 1.8rem;
  letter-spacing: 0;
  margin-bottom: 0.75em;
}
@media print, screen and (min-width: 960px) {
  .top__maiko-child .top__maiko-text h3 span {
    font-size: 2.6rem;
  }
}
.top__maiko-child .top__maiko-text p {
  line-height: 2.2;
}/*# sourceMappingURL=front.css.map */