@charset "UTF-8";

:root {
  --base-color: #3C2A34;
  --sub-color: #D4B5C7;
  --color-pink: #BF9CB0;
}

body {
  color: var(--base-color);
  font-family: 'Poppins', 'Zen Kaku Gothic New', "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "Arial", sans-serif;
  font-weight: 400;
}

a {
  text-decoration: none;
  color: var(--base-color);
}

.font--en {
  font-family: "Fjalla One", sans-serif;
  font-weight: 400;
  font-style: normal;
}

/*--- インスタ開設後外す ---*/
.access-reserve {
  justify-content: flex-start;
}

.access-reserve__online {
  margin-right: 5px;
}

/*----------------------------------------------------
  header
----------------------------------------------------*/
#global-nav,
.scroll #global-nav {
  background: rgba(0, 34, 54, .1);
  border-radius: 50vh;
}

.nav-contact-link-cols a:nth-of-type(1) {
  background: linear-gradient(45deg, #9B8491, #9B8488);
}

.nav-contact-link_lead {
  color: #D493B8;
}

.section-heading__label-icon {
  width: 6%;
  margin-bottom: 14px;
}

/*---insta未構築時のみ ---*/
a.nav-contact-link__insta {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
}

.nav-contact-link-cols a span.nav-contact-link__insta-text {
  color: #fff;
  font-size: 1.3rem;
  letter-spacing: 0;
  margin-left: 5px;
}

/*----------------------------------------------------
  fv
----------------------------------------------------*/
.slide-img {
  position: relative;
}

.slide-img>picture,
.slide-img>picture img {
  object-position: left center;
}

.fv-ttl {
  width: 35%;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(0, -50%);
  z-index: 1;
}

.fv-ttl2 {
  width: 32.5%;
}

.fv-ttl3 {
  left: 47.5%;
}

.fv-ttl__main {
  margin-bottom: 40px;
}

.fv-ttl__logo {
  width: 80%;
  margin: 0 auto;
}

.fv-ttl__logo2 {
  width: 25%;
  position: absolute;
  left: 10%;
  bottom: 12.5%;
  z-index: 2;
}

.fv-badge {
  width: 13%;
  height: auto;
  position: absolute;
  top: 160px;
  right: 8.5%;
  z-index: 2;
}

.fv-bg__txt {
  width: auto;
  position: absolute;
  top: 50%;
  transform: translate(0, -50%);
  height: 85%;
  z-index: 2;
  opacity: .5;
}

.fv-bg__txt>img {
  width: auto;
  height: 100%;
}

.fv-bg__txt--left {
  left: 20px;
}

.fv-bg__txt--right {
  right: 20px;
}

.fv-banner {
  width: 50%;
  position: absolute;
  bottom: 10%;
  right: 7.5%;
  z-index: 2;
  display: flex;
  justify-content: space-between;
}

.fv-banner--sp {
  display: none;
}

.fv-banner__link,
.fv-banner__img {
  width: 49%;
}

/*----------------------------------------------------
  first
----------------------------------------------------*/
.first {
  background: #F9F7F5;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.first .l-inner {
  z-index: 2;
}

.first::after {
  display: block;
  content: '';
  width: 100%;
  height: 120%;
  background: #F7F5F9;
  position: absolute;
  top: 0;
  left: -55%;
  transform: skew(15deg);
}

.first-lead {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  font-size: 2.4vw;
  font-weight: 700;
  line-height: 1.6;
  text-align: center;
  margin-bottom: 40px;
}

.first-lead__sub {
  font-size: 1.2vw;
  font-family: 'Zen Kaku Gothic New', "Hiragino Kaku Gothic ProN", "Hiragino Sans", "BIZ UDPGothic", "Meiryo", "Arial", sans-serif;
}

.first-list {
  width: 90%;
  margin: 0 auto 100px auto;
  list-style: none;
  display: flex;
  justify-content: space-between;
}

.first-item {
  width: 19%;
  height: auto;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  aspect-ratio: 1/1;
  border-radius: 50vh;
  background: rgba(255, 255, 255, .8);
  filter: drop-shadow(0 0 16px rgba(233, 238, 242, .8));
}

.first-item__icon {
  width: 25%;
  margin: 0 auto 1dvh auto;
}

.first-item__desc {
  text-align: center;
  font-size: 1.4vw;
  line-height: 1.5;
  color: var(--color-pink);
}

.message {
  position: relative;
}

.l-col__message {
  justify-content: space-around;
  align-items: center;
}

.message-img {
  width: 45%;
  height: auto;
  position: relative;
  clip-path: inset(0 0 0 round 50vh 50vh 0 0);
  overflow: hidden;
}

.message-img::after {
  display: block;
  content: '';
  width: 100%;
  height: 0;
  padding-top: 120%;
}

.message-img__main {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  height: 100%;
  object-fit: cover;
  object-position: center;
}

.message-inner {
  width: 45%;
}

.message .section-heading {
  align-items: flex-start;
  margin-bottom: 20px;
}

.message .section-heding__title {
  display: flex;
  align-items: center;
  width: 100%;
}

.message .section-heding__title::after {
  display: block;
  content: '';
  flex: 1;
  border-top: 1px solid var(--color-pink);
  margin-left: 10px;
}

.message-text>p {
  font-size: 1.1vw;
}

.message-text>p:not(:last-of-type) {
  margin-bottom: 14px;
}

.message-text--ora {
  color: #EB5415;
  font-weight: 700;
}

.area-shapes {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.shapes {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  bottom: -150px;
}

.shapes>div {
  position: absolute;
  width: 73px;
  height: auto;
  animation: animate 8s linear infinite;
  bottom: 20%;
  opacity: 0;
}

.shapes>div:nth-of-type(1) {
  width: 73px;
  left: 15%;
  animation-delay: 0s;
}

.shapes>div:nth-of-type(2) {
  width: 90px;
  left: 90%;
  animation-delay: 1s;
}

.shapes>div:nth-of-type(3) {
  width: 50px;
  left: 25%;
  animation-delay: 2s;
}

.shapes>div:nth-of-type(4) {
  width: 73px;
  left: 75%;
  animation-delay: 3s;
}

.shapes>div:nth-of-type(5) {
  width: 120px;
  left: 5%;
  animation-delay: 4s;
}

.shapes>div:nth-of-type(6) {
  width: 80px;
  left: 20%;
  animation-delay: 5s;
}

.shapes>div:nth-of-type(7) {
  width: 100px;
  left: 40%;
  animation-delay: 6s;
}

.shapes>div:nth-of-type(8) {
  width: 70px;
  left: 60%;
  animation-delay: 7s;
}

@keyframes animate {
  0% {
    transform: translateY(10vh) rotate(0) scale(1.5);
    opacity: 0;
  }

  50% {
    opacity: .7;
  }

  100% {
    transform: translateY(-120vh) rotate(720deg) scale(.5);
    opacity: 0;
  }
}

.bg-logo {
  width: 100%;
  position: absolute;
  top: 35dvh;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: 1;
  opacity: .035;
}

/*----------------------------------------------------
  reason
----------------------------------------------------*/
.reason {
  overflow: hidden;
  position: relative;
}

.reason .area-shapes {
  z-index: 2;
}

.reason::after {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-radius: 50px 50px 0 0;
  background: #fff;
  z-index: 1;
}

.reason .l-inner {
  width: 95%;
  z-index: 3;
}

.reason-title {
  width: 32.5%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  line-height: 1.4;
}

.reason-title__sub {
  font-size: 1.2vw;
  margin-bottom: 10px;
}

.reason-title__main {
  width: 100%;
}

.reason .section-heading__label {
  margin-bottom: 40px;
}

.reason-list {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  flex-wrap: wrap;
  list-style: none;
  margin-left: auto;
  margin-right: auto;
}

.reason-item {
  width: 24.5%;
  display: flex;
  flex-direction: column;
  position: relative;
  filter: drop-shadow(0 0 16px rgba(233, 238, 242, .8));
}

.reason-item:nth-of-type(2) {
  margin-top: 60px;
}

.reason-item:nth-of-type(3) {
  margin-top: 120px;
}

.reason-item:nth-of-type(4) {
  margin-top: 180px;
}

.reason-item__eyecatch {
  position: relative;
  clip-path: inset(0 0 0 round 10px 10px 0 0);
}

.reason-item__eyecatch::after {
  display: block;
  content: '';
  width: 100%;
  height: 0;
  padding-top: 70%;
}

.reason-item__img {
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  object-fit: cover;
  object-position: center;
}

.reason-item__inner {
  padding: 10px 20px 30px 20px;
  box-sizing: border-box;
  background: #fff;
  border-radius: 0 0 10px 10px;
}

.reason-item__title {
  padding: 8px 0 5px;
  color: #BF6E9C;
  text-align: center;
  font-weight: bold !important;
  font-size: 1.4vw;
  line-height: 1.4;
  font-weight: 400;
}

.reason-item__sep {
  display: flex;
  align-items: center;
  color: #BF6E9C;
}

.reason-item__sep::before {
  display: block;
  content: '';
  flex: 1;
  border-top: 1px solid #ECE2E8;
  margin-right: 10px;
}

.reason-item__text {
  padding: 10px 0;
  box-sizing: border-box;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.05vw;
  text-align: justify;
}

.reason-item__text br {
  display: none;
}


/*----------------------------------------------------
  price
----------------------------------------------------*/
.price {
  background: #F9F7F5;
}

.price .l-inner {
  width: 95%;
}

.price .section-heding__title {
  text-align: center;
  line-height: 1.8;
}

.menu-campaign__list {
  width: 85%;
  list-style: none;
  margin: 0 auto;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.menu-campaign__item {
  width: 49.5%;
  padding: 2.5dvh 0;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  background: #fff;
  filter: drop-shadow(2px 3px 0 #ECEBEB);
  box-sizing: border-box;
}

.menu-campaign__item:nth-of-type(n+3) {
  margin-top: 14px;
}

.menu-campaign__item-icon {
  width: 17.5%;
  margin-right: 2.5%;
}

.menu-campaign__item-icon--sp {
  display: none;
}

.menu-campaign__item-inner {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.4;
}

.menu-campaign__name {
  font-size: 1.6vw;
  font-weight: 700;
  color: #bf7da2;
}

.menu-campaign__name>span {
  font-size: .7vw;
}

.menu-campaign__item-notice {
  width: 85%;
  font-size: .8vw;
  color: #bf7da2;
  text-align: right;
  margin: 0 auto 2.4dvh auto;
}

.menu-campaign__text,
.menu-campaign__main {
  padding-top: 10px;
  border-top: 2px solid #ECEBEB;
}

.menu-campaign__text {
  padding-top: 1dvh;
}

.menu-campaign__main {
  display: flex;
  align-items: center;
}

.menu-campaign__main-title {
  text-align: center;
  margin-right: .5vw;
}

.menu-campaign__main-discount-col {
  display: flex;
  flex-direction: column;
  align-items: center;
  line-height: 1.2;
}

.menu-campaign__name--center {
  display: flex;
  align-items: center;
}

span.menu-campaign__main-bubble {
  font-size: .9vw;
  background: #BFA3B3;
  color: #fff;
  padding: 0 .5vw;
  font-weight: 400;
  border-radius: 50vh;
  margin-left: 5px;
}

.menu-campaign__main-num {
  font-size: 2.4vw;
  font-weight: 700;
  color: #A3B2BF;
}

.menu-limited {
  width: 85%;
  margin: 0 auto 7.5dvh auto;
}

.menu-limited__link {
  display: block;
}

.menu-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-bottom: 7.5dvh;
}

.menu-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
  padding: 30px 20px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 1);
  border-radius: 20px;
}

.menu-item:nth-of-type(n+3) {
  margin-top: 5dvh;
}

.menu-item:not(.menu-item--parts) {
  width: 33%;
}

.menu-item--parts {
  width: 49.5%;
  padding: 30px 60px;
}

.parts-chart {
  width: 70%;
  margin: 0 auto 2.5dvh auto;
}

.all-chart {
  width: 80%;
  margin: 0 auto 2.5dvh auto;
}

.parts-inner,
.all-inner {
  width: 100%;
}

.menu-item__inner {
  font-size: 1.2vw;
}

.menu-item__title {
  width: 100%;
  font-size: 2vw;
  text-align: center;
  background: linear-gradient(45deg, #DEC3D2, #ECDCE5);
  color: #fff;
  padding: 14px 0;
  margin-bottom: 20px;
  border-radius: 10px;
  line-height: 1.4;
  position: relative;
}

.popular-menu {
  width: 60px;
  position: absolute;
  top: 50%;
  left: 5%;
  transform: translate(0, -50%);
  z-index: 1;
}

.menu-item__title--all {
  font-size: 1.6vw;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.menu-item__title-sub {
  font-size: 1vw;
  background: #fff;
  padding: 2.5px 5px;
  border-radius: 4px;
  color: #BF3753;
}

.menu-price__list {
  display: flex;
  flex-wrap: wrap;
}

.menu-item__inner-top {
  padding: 20px 30px;
  box-sizing: border-box;
  border: 2px solid #ECE4E9;
  background: rgba(255, 255, 255, .6);
  margin-bottom: 30px;
  border-radius: 10px;
}

.menu-item__lead {
  font-size: 1.3vw;
  font-weight: 600;
  display: flex;
  align-items: center;
}

.menu-item__lead::before {
  display: block;
  content: '';
  width: 2%;
  height: auto;
  aspect-ratio: 1/1;
  background: linear-gradient(to bottom, #ECE4E9, #E7C5D9) 50% 50% / cover no-repeat;
  border-radius: 50vh;
  flex-shrink: 0;
  margin-right: 1%;
}

.menu-item__notice {
  font-size: .7vw;
  color: #BF3753;
  margin-left: auto;
  align-self: self-end;
  font-weight: normal;
}

.menu-price__title {
  width: 100%;
  display: flex;
  flex-direction: column;
  line-height: 1.6;
  padding: 10px 20px;
  box-sizing: border-box;
  background: #EBEEF1;
  font-weight: 700;
  position: relative;
}

.menu-item--parts .menu-price__title-main .menu-price__number {
  margin: 0 3px 0 5px;
}

.popular-menu2 {
  width: 60px;
  position: absolute;
  top: 50%;
  right: 2.5%;
  transform: translate(0, -50%);
  z-index: 1;
}

.menu-price__title--all {
  width: 100%;
  flex-direction: row;
  align-items: baseline;
  justify-content: center;
}

.menu-price__title-sub {
  font-size: .9vw;
}

.menu-price__main {
  width: 100%;
  line-height: 1.6;
  padding: 20px;
  box-sizing: border-box;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  background: rgba(255, 255, 255, .5);
}

.menu-price__main--all {
  width: 100%;
}

.menu-price__discount {
  display: flex;
  align-items: center;
}

.menu-price__discount-tab {
  font-size: .8vw;
  background: #BF6598;
  color: #fff;
  border-radius: 4px;
  padding: 0 .5vw;
  margin: 0 5px;
}

.del {
  position: relative;
  display: flex;
  align-items: baseline;
  margin-right: 5px;
}

.del::before {
  display: block;
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  width: 65%;
  transform: translate(0, -50%);
  border-top: 2px solid rgba(0, 46, 72, .3);
}

.del::after {
  display: block;
  content: '▶▶';
  margin-left: 10px;
}

.menu-price__number {
  font-size: 2vw;
  line-height: 1;
  color: #BF3753;
  font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  font-weight: 700;
  font-style: normal;
}

.menu-price__first {
  padding: 0 1.75%;
  background: #fff;
  border-radius: 4px;
  color: #BF3753;
  margin-left: 1.5%;
}

.menu-price__notice {
  font-size: .6vw;
  color: #BF3753;
}

.menu-comment {
  margin-top: 5dvh;
  font-size: 1vw;
  text-align: center;
}

.menu-comment__img {
  width: 17.5%;
  aspect-ratio: 1/1;
  margin-right: 4%;
  flex-shrink: 0;
}

.menu-comment__inner {
  width: auto;
  padding: 20px 30px;
  box-sizing: border-box;
  line-height: 1.6;
  background: #fff;
  border-radius: 6px;
  position: relative;
}

.menu-comment__inner::before {
  content: "";
  position: absolute;
  top: 50%;
  left: -25px;
  margin-top: -15px;
  border: 15px solid transparent;
  border-right: 15px solid #fff;
}

.menu-comment__strong {
  padding: 0 10px;
  background: #a9eef8;
  font-weight: 700;
}

/*---feature---*/
.feature-box {
  width: 85%;
  height: auto;
  padding: 2.5% 7.5%;
  box-sizing: border-box;
  border: 4px solid #fff;
  position: relative;
  margin: 0 auto 7.5dvh auto;
}

.feature-inner {
  width: 100%;
  padding-left: 27.5%;
  box-sizing: border-box;
  position: relative;
  z-index: 1;
}

.feature-inner-title {
  width: 100%;
  height: auto;
  display: flex;
  align-items: flex-end;
  padding-bottom: 15px;
  margin-bottom: 20px;
  border-bottom: 1px solid rgba(255, 255, 255, .6);
}

.feature-inner-title>img {
  width: 15%;
  margin-right: 14px;
}

.feature-inner-title-cols {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column-reverse;
  line-height: 1.4;
}

.feature-inner-title-cols>h3 {
  font-size: 2.6vw;
}

.feature-inner-title-cols>p::before {
  display: inline-block;
  content: '';
  width: 16px;
  height: 1px;
  background: #545454;
  transform: rotate(60deg);
  margin-right: 6px;
}

.feature-inner-title-cols>p::after {
  display: inline-block;
  content: '';
  width: 16px;
  height: 1px;
  background: #545454;
  transform: rotate(-60deg);
  margin-left: 6px;
}

.feature-inner-text {
  width: 100%;
  height: auto;
  margin-bottom: 20px;
}

.feature-inner-attention {
  width: 100%;
  height: auto;
  color: #666;
  font-size: .9vw;
}

.feature-box-img {
  width: 20%;
  height: auto;
  position: absolute;
  bottom: 0;
  left: 5.5%;
}

.feature-box-img-sp,
.feature-box-img-sp2 {
  display: none;
}

.check {
  width: 25%;
  height: auto;
  position: absolute;
  right: -10%;
  bottom: -10%;
  z-index: 1;
}

/*---price-summary---*/
.price-summary {
  width: 85%;
  margin: 0 auto;
  padding: 40px 30px;
  box-sizing: border-box;
  background: rgba(255, 255, 255, 1);
  border-radius: 20px;
}

/*----
.price-summary__title {
  font-size: 1.4vw;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

.underline-blue {
  border-bottom: 6px solid #18c1d8;
}
----*/
.price-summary__col {
  display: flex;
  justify-content: center;
  align-items: center;
}

.price-summary__img {
  width: 17.5%;
  aspect-ratio: 1/1;
  background: #eee;
  border-radius: 50vh;
  margin-right: 5%;
  flex-shrink: 0;
}

.price-summary__text {
  width: 70%;
  font-size: 1.2vw;
}


/*----------------------------------------------------
  cta
----------------------------------------------------*/

.cta::before {
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background: #F9F8F5;
  position: absolute;
  top: 0;
  right: -50%;
  transform: skew(-15deg);
}

.cta::after {
  background: #F7F5F9;
  opacity: 1;
}

/*----------------------------------------------------
  footer
----------------------------------------------------*/
footer {
  background: linear-gradient(to bottom, #D4B5C7, #BF9CB0) 50% 50% / cover no-repeat;
  color: #fff;
}

@media screen and (max-width: 1536px) {
  .menu-price__list {
    flex-wrap: wrap;
  }
}

@media screen and (max-width: 1360px) {}

@media screen and (max-width: 1280px) {
  .message .section-heading__label {
    margin-bottom: 0;
    height: 5dvh;
  }
}

@media screen and (max-width: 1100px) {
  .menu-item__inner-top {
    padding: 20px;
  }
}

@media screen and (max-width: 1024px) {

  .feature-box-img {
    left: 5%;
  }

  /*---price---*/
  .price .l-inner {
    width: 90%;
  }

  .menu-campaign__list {
    flex-direction: column;
  }

  .menu-campaign__item {
    width: 100%;
  }

  .menu-campaign__item:nth-of-type(n+2) {
    margin-top: 1.5dvh;
  }

  .menu-campaign__name {
    font-size: 2.6rem;
  }

  .menu-campaign__main-title,
  span.menu-campaign__main-bubble {
    font-size: 1.2rem;
  }

  .menu-campaign__main-num {
    font-size: 3.4rem;
  }

  .menu-campaign__item-notice {
    font-size: 1.2rem;
    margin-bottom: 5dvh;
  }

  .menu-campaign__name>span {
    font-size: 1rem;
  }

  .menu-limited {
    width: 100%;
    margin-bottom: 30px;
  }

  .menu-item {
    padding: 50px 12.5%;
  }

  .menu-item--parts .menu-price__title-main {
    width: 100%;
  }

  .parts-chart {
    width: 80%;
    margin: 0 auto 2.5dvh auto;
  }

  .menu-item__inner {
    width: 100%;
    font-size: 1.6rem;
  }

  .menu-item--parts,
  .menu-item:not(.menu-item--parts) {
    width: 100%;
  }

  .menu-item:nth-of-type(n+2) {
    margin-top: 5dvh;
  }

  .menu-item__title {
    font-size: 3rem;
  }

  .menu-item__title-sub {
    font-size: 1.6rem;
  }

  .menu-item__lead {
    font-size: 1.8rem;
  }

  .menu-item__notice,
  .menu-price__notice {
    font-size: 1.2rem;
  }

  .menu-price__title {
    font-size: 2.2rem;
    align-items: center;
  }

  .popular-menu2 {
    right: initial;
    left: 5%;
  }

  .menu-price__title-sub {
    font-size: 1.6rem;
  }

  .menu-price__regular {
    font-size: 2rem;
  }

  .menu-price__discount-tab {
    font-size: 1.4rem;
  }

  .menu-price__number {
    font-size: 3.4rem;
  }
}

@media screen and (max-width: 897px) {

  /*---インスタ開設後外す ---*/
  .nav-contact-link-cols a:nth-child(n+2) {
    width: 100%;
    height: 100px;
  }

  .nav-contact-link-cols>a:nth-child(n+2)>img {
    height: 50px;
  }

  /*---インスタ開設後外す ---*/

  .nav-contact-link-cols a:nth-of-type(1) {
    background: none;
  }

  .fv-ttl__main {
    margin-bottom: 10px;
  }

  .fv-badge {
    top: 110px;
    right: 5%;
  }

  .fv-bg__txt--left {
    display: none;
  }

  /*---first---*/

  .first-list {
    width: 85%;
  }

  .first-lead {
    font-size: 3.4rem;
  }

  .first-lead__sub {
    font-size: 1.6rem;
  }

  .first-list {
    flex-wrap: wrap;
  }

  .first-item {
    width: 32%;
  }

  .first-item:nth-of-type(n+4) {
    margin-top: 10px;
  }

  .first-item:nth-of-type(4) {
    margin-left: 17%;
  }

  .first-item:nth-of-type(5) {
    margin-right: 17%;
  }

  .first-item__desc {
    font-size: 1.8rem;
  }

  .l-col__message {
    flex-direction: column;
  }

  .message-img {
    width: 75%;
    margin-bottom: 5dvh;
  }

  .message-inner {
    width: 75%;
  }

  .message-text>p {
    font-size: 1.6rem;
  }

  /*---reason---*/
  .reason-title__sub {
    font-size: 1.6rem;
  }

  .reason-title__main {
    font-size: 3.4rem;
  }

  .reason-list {
    flex-wrap: wrap;
  }

  .reason-item {
    width: 49%;
  }

  .reason-item__title {
    font-size: 2rem;
  }

  .reason-item:nth-of-type(n+3) {
    margin-top: 2.5dvh;
  }

  .reason-item__text {
    font-size: 1.6rem;
  }

  .feature-box {
    width: 100%;
  }

  .feature-inner-title-cols>h3 {
    font-size: 3rem;
  }

  .feature-inner-title-cols>p {
    font-size: 1.2rem;
  }

  .feature-inner-attention {
    font-size: 1.2rem;
  }

  .feature-box-img {
    width: 27.5%;
    left: 0;
  }

  .price-summary {
    width: 100%;
  }

  .price-summary__text {
    font-size: 1.6rem;
  }

  .menu-comment {
    font-size: 1.4rem;
  }

  /*---access---*/
  .access-col {
    flex-direction: column;
  }

  .access-img {
    width: 100%;
    margin-bottom: 5dvh;
  }

  .access-inner {
    width: 100%;
  }

  .access-reserve__inner-sub {
    font-size: 1.1rem;
  }
}

@media screen and (max-width: 787px) {

  .slide-img>picture,
  .slide-img>picture img {
    object-position: right 5% center;
  }

  .reason-title {
    width: 45%;
  }
}

@media screen and (max-width: 680px) {
  .section-heading__label-icon {
    width: 10%;
    margin-bottom: 10px;
  }

  .fv {
    height: calc(var(--vh, 1vh) * 70);
  }

  .fv::after {
    display: none;
  }

  .fv-ttl {
    width: 45%;
  }

  .fv-ttl1 {
    width: 50%;
    left: 40%;
    top: 55%;
  }

  .fv-ttl2 {
    top: 55%;
    left: 5%;
  }

  .fv-ttl3 {
    width: 55%;
    top: 55%;
    left: 5%;
  }

  .first-list {
    width: 90%;
  }

  .message-img,
  .message-inner {
    width: 85%;
  }

  /*---feature---*/

  .feature-inner {
    padding-left: 0;
  }

  .feature-inner-title {
    justify-content: center;
  }

  .feature-inner-title-cols {
    width: auto;
  }

  .feature-box-img {
    display: none;
  }
}

@media screen and (max-width: 480px) {

  /*---インスタ開設後外す---*/
  .nav-contact-link-cols>a:nth-child(n+2) {
    height: 80px;
  }

  .nav-contact-link-cols>a:nth-child(n+2)>img {
    height: 46px;
  }

  /*---インスタ開設後外すここまで---*/

  .fv {
    height: calc(var(--vh, 1vh) * 100);
    min-height: 840px;
  }

  .fv-ttl {
    width: 85%;
    position: absolute;
    top: 67.5%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 3;
  }

  .fv-ttl2 {
    top: 62.5%;
  }

  .fv-ttl3 {
    top: 62.5%;
  }

  .fv-ttl__main {
    margin-bottom: 20px;
  }

  .fv-badge {
    display: none;
    height: auto;
    position: absolute;
    top: 120px;
    right: 5%;
  }

  .fv-banner {
    width: 90%;
    position: absolute;
    bottom: 10%;
    right: initial;
    left: 50%;
    transform: translateX(-50%);
  }

  .fv-bg__txt--right {
    right: -5%;
  }

  .fv-banner--pc {
    display: none;
  }

  .fv-banner--sp {
    width: 100%;
    display: flex;
    flex-direction: column;
    position: relative;
    bottom: initial;
    right: initial;
    left: initial;
    transform: initial;
    margin: 0 auto;
    padding: 5dvh 5% 0 5%;
    box-sizing: border-box;
    background: rgba(72, 209, 255, .1);
  }

  .fv-banner__link,
  .fv-banner__img {
    width: 100%;
  }

  .fv-banner__img:nth-of-type(n+2) {
    margin-top: 5px;
  }



  /*---first---*/
  .first-lead {
    font-size: 2.6rem;
    margin-bottom: 5dvh;
  }

  .first-list {
    width: 95%;
    flex-wrap: wrap;
    margin-bottom: 60px;
  }

  .first-item {
    width: 49%;
  }

  .first-item:nth-of-type(4) {
    margin-left: initial;
  }

  .first-item:nth-of-type(5) {
    margin-right: auto;
    margin-left: auto;
  }

  .first-item:nth-of-type(n+3) {
    margin-top: 1dvh;
  }

  .first-item__desc {
    font-size: 1.6rem;
  }

  .message-img,
  .message-inner {
    width: 100%;
  }

  .message-inner {
    padding: 0;
  }

  .bg-logo {
    width: 100%;
    position: absolute;
    top: 5dvh;
  }

  /*---reason---*/
  .reason-title {
    width: 75%;
  }

  .reason-title__main {
    font-size: 2.6rem;
  }

  .reason-item {
    width: 100%;
  }

  .reason-item:nth-of-type(n+2) {
    margin-top: 48px;
  }

  /*---price---*/
  .price .section-heding__title .ui--sp {
    display: block;
  }

  .price .section-heding__title {
    text-align: center;
    line-height: 1.6;
  }

  .menu-campaign__list {
    width: 95%;
  }

  .menu-campaign__item {
    flex-direction: column;
    min-height: 86px;
    padding: 10px;
    border: 1px dashed #87CEEB;
    border-radius: 4px;
  }

  .menu-campaign__item-icon--pc {
    display: none;
  }

  .menu-campaign__item-icon--sp {
    display: block;
    width: 24px;
  }

  .menu-campaign__item-inner {
    width: 100%;
  }

  .menu-campaign__name {
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: flex-end;
  }

  .menu-campaign__name,
  .menu-campaign__main-num {
    font-size: 1.8rem;
  }

  .menu-campaign__main {
    width: 100%;
  }

  .menu-campaign__name--center {
    align-items: center !important;
  }

  .menu-campaign__text,
  .menu-campaign__main {
    width: 100%;
    padding-top: 5px;
    border-top: 1px solid #e5eaec;
  }

  .menu-campaign__text {
    text-align: center;
  }

  .menu-campaign__main-discount-col {
    width: 38.5%;
    justify-content: center;
    align-items: center;
  }

  .menu-campaign__main-title {
    width: 55%;
    line-height: 1.4;
    font-size: 1.2rem;
    text-align: right;
  }

  .menu-campaign__main-discount {
    width: 42.5%;
    line-height: 1.4;
    font-size: 1.2rem;
    text-align: center;
  }

  .menu-campaign__text {
    font-size: 1.2rem;
  }

  .menu-campaign__main-discount {
    text-align: center;
  }

  span.menu-campaign__main-bubble {
    font-size: 1rem;
    text-align: center;
    padding: 0 8px;
  }

  .menu-campaign__main-num {
    font-size: 2.4rem;
    letter-spacing: 0;
  }

  .menu-campaign__item-notice {
    width: 95%;
    font-size: 1rem;
    margin-bottom: 1.5dvh;
  }

  .menu-item {
    padding: 30px 5%;
  }

  .menu-item__title {
    font-size: 2rem;
  }

  .menu-item__lead {
    font-size: 1.6rem;
  }

  .menu-item__title-sub {
    font-size: 1.4rem;
  }

  .menu-item__name {
    font-size: 1.4rem;
  }

  .menu-price__title {
    font-size: 1.8rem;
    padding: 10px 5px;
  }

  .menu-price__first {
    font-size: 1.4rem;
    display: flex;
    align-items: center;
    font-weight: 500;
    margin-left: 8px;
  }

  .menu-price__title-main {
    display: flex;
    justify-content: center;
  }

  .menu-item--parts .menu-price__title-main {
    align-items: baseline;
  }

  .menu-price__title-main--first {
    align-items: center;
  }

  .menu-price__title-sub {
    font-size: 1.2rem;
  }

  .menu-price__main {
    padding: 10px;
    justify-content: center;
    align-items: flex-end;
  }

  .menu-price__discount {
    flex-direction: column;
  }

  .menu-price__discount-tab {
    font-size: 1.2rem;
    margin-bottom: 8px;
    padding: 0 10px;
  }

  .menu-price__regular {
    font-size: 1.8rem;
  }

  .menu-price__number {
    font-size: 3rem;
  }

  .menu-comment__inner {
    width: auto;
    padding: 14px;
    font-size: 1.4rem;
  }

  .popular-menu,
  .popular-menu2 {
    width: 48px;
  }

  .popular-menu2 {
    left: 0;
  }

  .feature-box {
    padding: 30px 20px;
    text-align: justify;
  }

  .feature-box-img-sp {
    display: block;
    width: 35%;
    margin: 0 auto 10px auto;
  }

  .feature-inner-title>img {
    width: 20%;
    margin-right: 8px;
  }

  .feature-inner-cols-box {
    display: flex;
    flex-wrap: wrap;
  }

  .feature-inner-text {
    width: 100%;
    margin-bottom: 14px;
  }

  .feature-inner-text br {
    display: none;
  }

  .feature-box-img-sp2 {
    display: block;
    width: 30%;
    position: absolute;
    bottom: -30px;
    left: -20px;
  }

  .feature-inner-attention {
    width: 100%;
    padding-left: 30%;
    box-sizing: border-box;
  }

  .check {
    width: 40%;
    right: -5%;
    bottom: -5%;
  }

  .price-summary__col {
    flex-direction: column;
  }

  .price-summary__img {
    width: 35%;
    margin-right: 0;
    margin-bottom: 10px;
  }

  .price-summary__text {
    width: 100%;
    font-size: 1.4rem;
  }

  /*---access---*/
  .access-list {
    flex-direction: column;
  }

  .access-item__title {
    width: 100%;
    flex-direction: row;
    align-items: center;
    font-weight: 700;
    line-height: 1.4;
    padding: 12px 5px;
  }

  .access-item__title:last-of-type {
    border-bottom: 1px solid rgba(0, 81, 12, .2);
  }

  .access-item__title>span {
    display: flex;
    align-items: flex-end;
  }

  .access-item__title>span::before {
    display: block;
    content: '|';
    transform: rotate(30deg);
    margin: 0 8px;
  }

  .access-item__inner {
    width: 100%;
    padding: 12px 5px;
    font-size: 1.4rem;
  }

  .access-item__inner:not(:last-of-type) {
    border-bottom: none;
  }

  .access-route {
    width: 100%;
  }

  .access-reserve {
    flex-direction: column;
  }

  .access-reserve>a {
    width: 100%;
  }

  .access-reserve>a:nth-of-type(n+2) {
    margin-top: 5px;
  }

  .access-reserve>a>img {
    width: 32px;
  }

  .access-reserve__inner {
    min-width: 96px;
  }
}