@charset "UTF-8";
.title {
  background-color: var(--pink--primary);
}
.title.gchild {
  align-items: start;
}
.title hgroup {
  display: flex;
  flex-direction: column;
  align-items: center;
  color: var(--pink--primary);
  animation: childrenTitle 600ms ease-in forwards;
}
.title hgroup * {
  color: inherit;
}
.title hgroup span {
  line-height: 100%;
  font-weight: 700;
  letter-spacing: 0.02em;
  display: flex;
  align-items: baseline;
  justify-content: center;
  text-align: center;
  gap: 6px;
}
.title hgroup span::before, .title hgroup span::after {
  content: "";
  background-image: url(../img/common/icon/flower--ylw.svg);
  background-size: cover;
}
.title hgroup h1 {
  font-weight: 900;
  letter-spacing: 0.1em;
  text-align: center;
}

.bnr {
  width: 100%;
  margin: 30px 0 0 0;
}


@keyframes childrenTitle {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@media screen and (min-width: 769px) {
  .title {
    padding-top: 112px;
    padding-bottom: 112px;
  }
  .title.gchild {
    padding-top: 96px;
    padding-bottom: 96px;
  }
  .title hgroup {
    gap: 24px;
  }
  .title hgroup span {
    font-size: 1.8rem;
  }
  .title hgroup span::before, .title hgroup span::after {
    width: 20px;
    height: 20px;
  }
  .title h1 {
    font-size: 3.0rem;
    padding-right: 3.0rem;
    text-align: left;
    margin: 0;
    color:var(--white);
  }
  .title_g,.title_g p {
  color:var(--white);
  }
  .pc_img {
    display: block;
  }
  .sp_img {
      display: none;
  }
}
@media screen and (max-width: 768px) {
  .title {
    padding-top: clamp(32px, 8.89vw, 48px);
    padding-bottom: clamp(32px, 7.56vw, 42px);
  }
  .title.gchild {
    padding-top: clamp(32px, 8.89vw, 48px);
    padding-bottom: clamp(32px, 8.89vw, 48px);
  }
  .title hgroup {
    gap: clamp(8px, 1.78vw, 10px);
  }
  .title hgroup span {
    font-size: clamp(1.4rem, 3.5vw, 1.8rem);
  }
  .title hgroup span::before, .title hgroup span::after {
    width: clamp(12px, 3vw, 16px);
    height: clamp(12px, 3vw, 16px);
  }
  .title hgroup h1 {
    font-size: clamp(2.2rem, 5.33vw, 3.6rem);
    line-height: 130%;
  }
  .pc_img {
    display: none;
  }
  .sp_img {
      display: block;
  }
}
.breadcrumb {
  background-color: #f8e8ee;
}
.breadcrumb ul {
  height: 40px;
  display: flex;
  align-items: center;
  overflow-x: scroll;
  overflow-y: hidden;
  -ms-overflow-style: none;
  scrollbar-width: none;
}
.breadcrumb ul::-webkit-scrollbar {
  display: none;
}
.breadcrumb li {
  white-space: pre;
}
.breadcrumb li:has(img) {
  white-space: unset;
}
.breadcrumb li img {
  height: 10px;
  width: 10px;
}
.breadcrumb a {
  display: flex;
  align-items: center;
  font-size: inherit;
}
@media (hover: hover) {
  .breadcrumb a:not(:has(img))::before {
    background-color: var(--pink--primary);
  }
}
.breadcrumb li:first-of-type {
  display: flex;
  align-items: center;
  gap: 4px;
}
.breadcrumb li:first-of-type::before {
  content: "";
  display: block;
  background-size: contain;
  background-image: url(../img/common/icon/home--prm.svg);
}
.breadcrumb li:not(:last-of-type) a {
  font-weight: 500;
  color: var(--pink--primary);
}

@media screen and (min-width: 769px) {
  .breadcrumb ul {
    gap: 16px;
  }
  .breadcrumb li {
    font-size: 1.4rem;
  }
  .breadcrumb li:first-of-type::before {
    width: 18px;
    height: 18px;
  }
}
@media screen and (max-width: 768px) {
  .breadcrumb ul {
    gap: clamp(6px, 2.22vw, 16px);
  }
  .breadcrumb li {
    font-size: var(--fs-sp--min12px);
  }
  .breadcrumb li:first-of-type::before {
    width: clamp(16px, 4vw, 18px);
    height: clamp(16px, 4vw, 18px);
  }
}
@media screen and (max-width: 450px) {
  .breadcrumb {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  h2,
  h3 {
    font-size: 2.3rem;
  }
}
@media screen and (max-width: 768px) {
  h2.flower,
  h3.flower {
    font-size: clamp(2.1rem, 5.75vw, 3rem);
  }
  h2.dot-line,
  h3.dot-line {
    font-size: clamp(2rem, 5vw, 3rem);
  }
  h2.dot-line:has(br),
  h3.dot-line:has(br) {
    line-height: 130%;
  }
}
.p-child .row > p,
.p-child .row-nar > p,
.p-child .row-wide > p,
.p-child section > p {
  line-height: 187%;
  line-height: 197%;
}
.p-child .att::before {
  content: "※";
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  display: inline;
}
.p-child .att-list {
  display: flex;
  flex-direction: column;
}
.p-child .att-list li {
  counter-increment: childAttention;
}
.p-child .att-list li::before {
  content: "※" counter(childAttention);
  font-weight: inherit;
  color: inherit;
  display: inline;
}

@media screen and (min-width: 769px) {
  .p-child .row > p:first-child,
  .p-child .row-nar > p:first-child {
    margin-top: 64px;
    margin-bottom: 96px;
  }
  /*
  .p-child .row > p,
  .p-child .row-nar > p,
  .p-child .row-wide > p,
  .p-child section > p {
    font-size: 1.6rem;
  }
  */
  .catchy p {
    font-size: 1.8rem;
    padding-bottom: 1.8rem;
  }
  .p-child .row .att,
  .p-child .row-nar .att,
  .p-child .row-wide .att,
  .p-child section .att {
    font-size: 1.3rem;
    display: grid;
    grid-template-columns: 1.3rem auto;
    gap: 2px;
  }
  .p-child .att-list {
    gap: 16px;
    margin-top: 48px;
    margin-bottom: 56px;
    margin-bottom: 34px;
  }
  .p-child .att-list li {
    font-size: 1.3rem;
    line-height: 160%;
    display: grid;
    grid-template-columns: 2.6rem auto;
    gap: 2px;
  }
  .p-child .att-list li::before {
    margin-right: 6px;
  }
  .p-child .att-list + .att {
    margin-top: 16px;
  }
}
@media screen and (max-width: 768px) {
  .p-child .row > p,
  .p-child .row-nar > p,
  .p-child .row-wide > p,
  .p-child section > p {
    font-size: 1.8rem;
    letter-spacing: 0.08em;
  }
  /*
  .p-child .row > p:first-child,
  .p-child .row-nar > p:first-child,
  .p-child .row-wide > p:first-child,
  .p-child section > p:first-child {
    margin-top: clamp(32px, 8vw, 56px);
    margin-bottom: clamp(56px, 14vw, 96px);
  }
    */
  .p-child .row > .att,
  .p-child .row-nar > .att,
  .p-child .row-wide > .att,
  .p-child section > .att {
    font-size: var(--fs-sp--min10px);
    display: grid;
    grid-template-columns: var(--fs-sp--min10px) auto;
    gap: 2px;
    letter-spacing: 0.04em;
  }
  .p-child .att {
    font-size: var(--fs-sp--min10px);
  }
  .p-child .att-list {
    gap: 10px;
    margin-top: 20px;
    margin-bottom: 20px;
  }
  .p-child .att-list li {
    font-size: var(--fs-sp--min10px);
    display: grid;
    grid-template-columns: calc(var(--fs-sp--min10px) * 2) auto;
    gap: 2px;
  }
  .p-child .att-list li::before {
    margin-right: 6px;
  }
}
.cmn__search-shop .row-nar {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.cmn__search-shop h2 {
  line-height: 140%;
  color: var(--black);
}
.cmn__search-shop h2 span {
  font-weight: inherit;
  color: var(--pink--primary);
  background: linear-gradient(to bottom, transparent 60%, #ffefa3 60%);
}

.cmn__search-shop__btn {
  position: relative;
  width: min(640px, 100%);
  cursor: pointer;
}
.cmn__search-shop__btn * {
  cursor: inherit;
}
.cmn__search-shop__btn .btn {
  width: 100%;
}
.cmn__search-shop__btn > img {
  position: absolute;
}

@media screen and (min-width: 769px) {
  main + .cmn__search-shop {
    margin-top: 160px;
  }
  .cmn__search-shop {
    padding-top: 40px;
    padding-bottom: 48px;
  }
  .cmn__search-shop .row-nar {
    gap: 24px;
  }
  .cmn__search-shop h2 {
    font-size: 2.9rem;
  }
  .cmn__search-shop__btn {
    transition: 0.3s;
  }
}
@media screen and (min-width: 769px) and (hover: hover) {
  .cmn__search-shop__btn:hover {
    transform: translate(5px, 5px);
  }
  .cmn__search-shop__btn:hover .btn a {
    box-shadow: 0 0 0 #f1dbe3;
  }
  .cmn__search-shop__btn:hover > img {
    transform: rotate(-9deg);
  }
}
@media screen and (min-width: 769px) {
  .cmn__search-shop__btn .btn a {
    height: 102px;
    font-size: 3rem;
    box-shadow: 5px 5px 0 #f1dbe3;
  }
}
@media screen and (min-width: 769px) and (hover: hover) {
  .cmn__search-shop__btn .btn a:hover {
    transform: none;
  }
}
@media screen and (min-width: 769px) {
  .cmn__search-shop__btn > img {
    left: -60px;
    top: -72px;
    width: 124px;
    transition: 0.3s;
  }
}
@media screen and (max-width: 768px) {
  main + .cmn__search-shop {
    margin-top: clamp(72px, 16.89vw, 120px);
  }
  .cmn__search-shop {
    padding-top: clamp(24px, 8.13vw, 40px);
    padding-bottom: clamp(32px, 9.38vw, 48px);
  }
  .cmn__search-shop .row-nar {
    gap: clamp(3.75vw, 3.56vw, 24px);
  }
  .cmn__search-shop h2 {
    font-size: clamp(1.7rem, 5.31vw, 2.9rem);
  }
  .cmn__search-shop__btn .btn a {
    font-size: clamp(1.8rem, 4.89vw, 2.6rem);
    height: clamp(62px, 16vw, 90px);
    box-shadow: 4px 4px 0 #f1dbe3;
  }
  .cmn__search-shop__btn > img {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  .btm-btn-list {
    margin-top: 128px;
  }
  .btm-btn-list ul {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: 32px;
    padding: 24px 0;
  }
  .btm-btn-list .btn a {
    padding-left: 10px;
  }
}
@media screen and (max-width: 768px) {
  .btm-btn-list {
    margin-top: clamp(64px, 17.78vw, 80px);
  }
  .btm-btn-list ul {
    display: flex;
    padding: 22px 0;
  }
  .btm-btn-list .btn a {
    padding-left: 10px;
  }
}
@media screen and (max-width: 768px) and (min-width: 451px) {
  .btm-btn-list ul {
    flex-wrap: wrap;
    padding: 32px 0;
    gap: clamp(12px, 4vw, 24px);
  }
  .btm-btn-list ul .btn {
    width: calc(50% - clamp(12px, 4vw, 24px) / 2);
  }
  .btm-btn-list ul .btn a {
    height: clamp(60px, 13.33vw, 72px);
    font-size: clamp(1.5rem, 3.33vw, 2.2rem);
  }
}
@media screen and (max-width: 450px) {
  .btm-btn-list ul {
    flex-direction: column;
    gap: 12px;
  }
}

.header__shop {
  display: none
}

.shop-one {
  padding-bottom: 0 !important
}

.title {
  padding-top: 20px;
  padding-bottom: 110px
}

.title hgroup {
  align-items: start;
  gap: 16px
}

.title hgroup h1 {
  text-align: left
}

.title hgroup div {
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 10px;
  align-items: center;
  display: none
}

.title hgroup .pref {
  background-color: var(--pink--primary);
  padding: 8px 10px 5px 12px;
  color: #fff;
  font-size: 1.5rem
}

.title hgroup .area {
  font-size: 1.6rem;
  padding-top: 2px
}

.title hgroup span::before,
.title hgroup span::after {
  display: none
}

@media screen and (max-width: 768px) {
  .title hgroup div {
      gap: 8px
  }

  .title hgroup .pref {
      font-size: var(--fs-sp--min13px);
      padding: 6px 10px 5px 12px
  }

  .title hgroup .area {
      font-size: clamp(1.4rem, 3.5vw, 1.6rem)
  }
}

@media screen and (max-width: 768px)and (min-width: 451px) {
  .title {
      padding-top: clamp(32px, 10vw, 30px);
      padding-bottom: clamp(32px, 10vw, 64px)
  }
}

@media screen and (max-width: 450px) {
  .title {
      padding-top:clamp(5px, 0.22vw, 24px);
      padding-bottom: clamp(22px, 6.22vw, 28px);
      background-color: var(--pink--primary);
  }
}

@media screen and (max-width: 768px) {
  .shop-one__appointment {
      padding-top: clamp(20px, 5.33vw, 32px);
      padding-bottom: clamp(22px, 5.33vw, 40px);
      display: none
  }

  .shop-one__appointment h2 {
      font-size: clamp(1.8rem, 4.89vw, 2.8rem)
  }

  .shop-one__appointment .btns {
      display: flex;
      flex-direction: column;
      gap: clamp(8px, 2.22vw, 14px);
      margin-top: clamp(14px, 4.89vw, 24px)
  }

  .shop-one__appointment .btns a {
      position: relative;
      padding-bottom: clamp(16px, 4.8vw, 26px)
  }

  .shop-one__appointment .btns a::before {
      all: unset;
      display: block;
      position: absolute;
      bottom: clamp(9px, 2.44vw, 13px);
      left: 0;
      right: 0;
      color: inherit;
      font-size: clamp(1.1rem, 2.89vw, 1.6rem);
      font-weight: 500;
      height: auto;
      background-color: rgba(0, 0, 0, 0);
      text-align: center
  }

  .shop-one__appointment .btns a:first-of-type {
      font-size: clamp(1.7rem, 4.2vw, 2.2rem)
  }

  .shop-one__appointment .btns a:first-of-type::before {
      content: "ここをタップすると電話がかかります"
  }

  .shop-one__appointment .btns a:nth-of-type(2)::before {
      content: "当日30分前まで予約可能!"
  }
}

.shop-one__main {
  margin-top: -84px;
  margin-bottom: 88px
  
}

@media screen and (min-width: 769px) {
  .shop-one__main .row-wide {
      display: grid;
      grid-template-columns: clamp(380px, 38.1vw, 480px) auto;
      gap: 32px 40px;
      gap: clamp(12px, .95vw, 32px) clamp(24px, 1.9vw, 40px)
  }
}

@media screen and (max-width: 768px) {
  .shop-one__main {
      margin-top: clamp(16px, 6vw, 32px);
      margin-bottom: clamp(48px, 12.44vw, 88px)
  }

  .shop-one__main .row-wide {
      display: flex;
      flex-direction: column
  }
}

@media screen and (max-width: 450px) {
  .shop-one__main {
      margin-top: 0
  }
}

.shop-one__slider {
  overflow-x: hidden;
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 12px;
  height: auto
}

.shop-one__slider img {
  width: 100%
}

.shop-one__slider .swiper-pagination {
  align-items: start
}

@media screen and (min-width: 769px) {
  .shop-one__slider {
      display: grid;
      grid-template-rows: 1fr 10px
  }

  .shop-one__slider .swiper-slide {
      height: auto
  }

  .shop-one__slider .swiper-pagination {
      height: 8px
  }
}

@media screen and (max-width: 768px) {
  .shop-one__slider {
      margin: 0 auto
  }

  .shop-one__slider .swiper-slide img {
      object-fit: contain;
      width: 100%;
      height: auto
  }

  .shop-one__slider .swiper-pagination {
      justify-content: center
  }
}

@media screen and (max-width: 500px) {
  .shop-one__slider .swiper-pagination {
      justify-content: end
  }
}

@media screen and (min-width: 769px) {
  .shop-one__details {
      grid-column: 2/3;
      grid-row: 1/4;
      overflow-y: hidden
  }
}

@media screen and (max-width: 768px) {
  .shop-one__details {
      display: flex;
      flex-wrap: wrap-reverse;
  }
}

.shop-one__notice {
  background-color: var(--pink--very-light);
  width: 100%
}

.shop-one__notice p em {
  color: var(--pink--primary);
  font-weight: 700;
  font-style: normal
}

@media screen and (min-width: 769px) {
  .shop-one__notice {
      padding-top: 24px;
      padding-bottom: 26px;
      padding-left: 24px;
      padding-right: 24px;
      border-start-end-radius: 8px;
      margin-bottom: 24px
  }

  .shop-one__notice p {
      font-size: 1.4rem
  }
}

@media screen and (max-width: 768px) {
  .shop-one__notice {
      padding-top: clamp(16px, 3.56vw, 24px);
      padding-left: clamp(16px, 3.56vw, 24px);
      padding-right: clamp(16px, 3.56vw, 24px);
      padding-bottom: clamp(20px, 4.44vw, 24px);
      margin-bottom: 40px
  }

  .shop-one__notice p {
      font-size: clamp(1.2rem, 2.67vw, 1.4rem)
  }
}

.shop-one__integration-info .integration-info__wrap {
  background-color: var(--pink--very-light)
}

.shop-one__integration-info .integration-info__wrap p:first-child {
  font-weight: bold;
  text-align: center;
  color: var(--pink--primary)
}

.shop-one__integration-info .integration-info__wrap p:nth-child(2) a {
  color: var(--pink--primary)
}

@media screen and (min-width: 769px) {
  .shop-one__integration-info {
      margin-top: 64px
  }

  .shop-one__integration-info .integration-info__wrap {
      padding: clamp(16px, 3.56vw, 24px);
      font-size: 1.3rem
  }

  .shop-one__integration-info .integration-info__wrap p .sp {
      display: none
  }

  .shop-one__integration-info .integration-info__wrap p:first-child {
      font-size: 1.7rem
  }

  .shop-one__integration-info .integration-info__wrap p:nth-child(2) {
      margin: 16px 0;
      line-height: 1.7
  }
}

@media screen and (max-width: 768px) {
  .shop-one__integration-info {
      margin: 0 0 clamp(16px, 6vw, 32px) 0
  }

  .shop-one__integration-info .integration-info__wrap {
      padding: clamp(12px, 3vw, 16px);
      font-size: 1.2rem
  }

  .shop-one__integration-info .integration-info__wrap p .sp {
      display: block
  }

  .shop-one__integration-info .integration-info__wrap p:first-child {
      font-size: 1.6rem
  }

  .shop-one__integration-info .integration-info__wrap p:nth-child(2) {
      margin: 12px 0;
      line-height: 1.5
  }
}

@media screen and (max-width: 768px)and (min-width: 451px) {
  .shop-one__integration-info {
      margin-top: clamp(16px, 6vw, 32px)
  }
}

.shop-one__table {
  width: 100%
}

.shop-one__table tbody {
  display: flex;
  flex-direction: column;
  gap: 1px;

}

.shop-one__table th {
  background-color: var(--pink--dusty-light);
  padding: 20px 18px 32px 20px;
  min-height: 50px;
  display: flex;
  flex-direction: column;
  justify-content: start
}

.shop-one__table th p {
  color: var(--pink--primary);
  font-weight: 700
}

.shop-one__table td:has(.file) {
  display: flex;
  flex-direction: column
}

.shop-one__table td .file {
  background-color: var(--black);
  color: #fff;
  font-weight: 700;
  display: inline-flex;
  align-items: center;
  margin-right: auto
}

@media(hover: hover) {
  .shop-one__table td .file.ext-fff:hover {
      transform: none
  }

  .shop-one__table td .file.ext-fff:hover::after {
      transform: none
  }
}

.shop-one__table td .file span {
  font-weight: inherit;
  background-color: #fff
}

.shop-one__table td[data-shop=access] a:not(.file)::after {
  content: "";
  display: inline-block;
  background-image: url(../id-tokyo_c/imgs/ext.svg);
  background-size: cover
}

.shop-one__table td[data-shop=businessHours] {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px
}

.shop-one__table td[data-shop=businessHours]:has(p:nth-child(4)) p {
  width: 100%
}

.shop-one__table td[data-shop=businessHours]:has(p:nth-child(4)) p:nth-of-type(3) {
  margin-top: 8px
}

.shop-one__table td[data-shop=businessHours] p {
  margin-left: 4px
}

.shop-one__table td[data-shop=fax] a {
  text-decoration: none
}

.shop-one__table td[data-shop=access] a:not(.file),
.shop-one__table td[data-shop=email] a:not(.file) {
  text-decoration: underline;
  text-underline-offset: 1px;
  text-decoration-color: #ccbbc1
}

@media(hover: hover) {

  .shop-one__table td[data-shop=access] a:not(.file):hover,
  .shop-one__table td[data-shop=email] a:not(.file):hover {
      text-decoration: none
  }
}

.shop-one__table td .weekdays,
.shop-one__table td .weekend {
  background-color: var(--pink--primary);
  color: #fff;
  font-weight: 700;
  line-height: 100%;
  letter-spacing: .02em;
  padding: 6px 8px 4px;
  padding: 5px 8px
}

.shop-one__table td .att {
  margin-top: 10px
}

.shop-one__table td a::before {
  display: none
}

.shop-one__table td a img {
  display: inline-block;
  vertical-align: bottom
}

.shop-one__table td a+p {
  margin-top: 18px
}

.shop-one__table td p+p {
  margin-top: 6px
}

.shop-one__table tr,
.shop-one__table th,
.shop-one__table td {
  text-align: left
}

@media screen and (min-width: 769px) {
  .shop-one__table tr {
      display: grid;
      grid-template-columns: 176px auto;
      gap: 1px
  }

  .shop-one__table td {
      padding: 16px 22px 24px;
      background-color: #fff
  }

  .shop-one__table td p+a.file {
      margin-top: 16px
  }

  .shop-one__table td p br+span {
      font-size: 1.3rem
  }

  .shop-one__table td .file {
      height: 40px;
      padding: 0 24px;
      border-radius: 4px;
      gap: 8px
  }

  .shop-one__table td .file::after {
      width: 12px;
      height: 12px;
      transition: .3s
  }

  .shop-one__table td .file.ext-fff {
      gap: 4px
  }

  .shop-one__table td .file.ext-fff::after {
      width: 14px;
      height: 14px
  }

  .shop-one__table td .file span {
      padding: 0 6px
  }
}

@media screen and (min-width: 769px)and (hover: hover) {
  .shop-one__table td .file:hover::after {
      transform: translateX(4px)
  }
}

@media screen and (min-width: 769px) {
  .shop-one__table td .file+.file {
      margin-top: 8px
  }

  .shop-one__table td[data-shop=access] a:has(br) {
      line-height: 170%
  }

  .shop-one__table td[data-shop=access] a:not(.file) {
      display: inline-block;
      margin-top: 4px
  }

  .shop-one__table td[data-shop=access] a:not(.file)::after {
      width: 12px;
      height: 12px;
      margin-left: 4px
  }

  .shop-one__table td[data-shop=access] p {
      font-size: 1.6rem
  }

  .shop-one__table td[data-shop=telNum] a {
      text-decoration: none
  }

  .shop-one__table td .weekdays,
  .shop-one__table td .weekend {
      font-size: 1.6rem;
      font-size: 1.6rem
  }

  .shop-one__table td .att {
      font-size: 1.6rem
  }

  .shop-one__table p,
  .shop-one__table a {
      font-size: 1.6rem
  }
}

@media screen and (max-width: 768px) {
  .shop-one__table tbody {
      gap: clamp(22px, 5.5vw, 32px)
  }

  .shop-one__table tr {
      display: flex;
      flex-direction: column;
      gap: clamp(12px, 4vw, 16px)
  }

  .shop-one__table th {
      padding: clamp(12px, 3vw, 16px);
      min-height: 0
  }

  .shop-one__table td p+a.file {
      margin-top: 10px
  }

  .shop-one__table td a img {
      width: clamp(13px, 3.25vw, 15px);
      height: clamp(13px, 3.25vw, 15px);
      vertical-align: text-top;
      margin-left: 2px
  }

  .shop-one__table td .file {
      padding: 7px 10px 8px 12px;
      border-radius: 4px;
      gap: 6px
  }

  .shop-one__table td .file::after {
      width: 10px;
      height: 10px
  }

  .shop-one__table td .file.ext-fff {
      gap: 2px
  }

  .shop-one__table td .file.ext-fff::after {
      width: 12px;
      height: 12px
  }

  .shop-one__table td .file span {
      padding: 4px 6px 3px;
      line-height: 100%
  }

  .shop-one__table td .file+.file {
      margin-top: 6px
  }

  .shop-one__table td[data-shop=access] a::after {
      width: 10px;
      height: 10px;
      margin-left: 4px
  }

  .shop-one__table td[data-shop=access] p {
      font-size: var(--fs-sp--min15px)
  }

  .shop-one__table td[data-shop=telNum] a {
      text-decoration: underline;
      text-underline-offset: 1px;
      text-decoration-color: #ccbbc1
  }

  .shop-one__table td .weekdays,
  .shop-one__table td .weekend {
      font-size: clamp(1.1rem, 2.44vw, 1.2rem)
  }

  .shop-one__table td .att {
      font-size: clamp(1.1rem, 2.89vw, 1.3rem)
  }

  .shop-one__table p,
  .shop-one__table a {
      font-size: var(--fs-sp--min15px);
      line-height: 180%
  }

  .shop-one__access-details {
      display: flex;
      flex-direction: column;
      align-items: center;
      gap: clamp(12px, 4vw, 16px);
      margin-bottom: clamp(12px, 4vw, 16px)
  }

  .shop-one__access-details iframe {
      width: 100%;
      aspect-ratio: 3/2
  }

  .shop-one__access-details img {
      width: min(480px, 100%)
  }
  
  a[href^="tel:"] {
      cursor: default;
  }
  
  
}

@media screen and (max-width: 768px)and (min-width: 501px) {
  .shop-one__table td {
      padding: 0 clamp(12px, 3vw, 16px)
  }
}


.shop-one__tags {
  grid-template-columns: repeat(4, 1fr);
  gap: 4px 6px;
  display: grid
}

@media screen and (min-width: 769px) {
  .shop-one__tags {
      grid-template-rows: repeat(2, 32px)
  }

  .shop-one__tags .tag {
      font-size: clamp(1.2rem, .86vw, 1.4rem)
  }

  .shop-one__tags .tag:not(:has(img)) {
      padding-top: 2px
  }
}

@media screen and (max-width: 768px) {
  .shop-one__tags {
      order: 2;
      margin: clamp(18px, 5vw, 24px) auto 0;
      width: min(480px, 100%)
  }
}

.btn a[data-shop=googlemap] {
  background-color: var(--white);
  box-shadow: 0 3px 1px -2px rgba(0, 0, 0, .2), 0 2px 2px 0 rgba(0, 0, 0, .14), 0 1px 5px 0 rgba(0, 0, 0, .12);
}

.shop-one__access-inner {
  margin-top: 48px
}

.shop-one__access-inner iframe {
  width: 100%;
  height: 100%
}

.shop-one__access-inner>img {
  width: 100%
}

@media screen and (max-width: 450px) {
  .shop-one__tags {
      grid-template-columns: repeat(3, 1fr)
  }

  .shop-one__tags .tag {
      padding-top: 1px
  }
}

@media screen and (min-width: 769px) {
  .shop-one__access {
      margin-top: 88px
  }

  .shop-one__access-inner:has(img) {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 32px
  }

  .shop-one__access-inner:not(:has(img)) iframe {
      height: 420px
  }
}

@media screen and (max-width: 768px) {
  .shop-one__access {
      margin-top: clamp(50px, 16vw, 80px)
  }

  .shop-one__access-inner {
      width: min(480px, 100%);
      margin: clamp(16px, 4vw, 40px) auto 0;
      display: flex;
      flex-direction: column;
      gap: clamp(12px, 4vw, 16px)
  }

  .shop-one__access-inner iframe {
      aspect-ratio: 8/7
  }
}

.shop-one__event:has(li:empty) {
  display: none
}

.shop-one__event-list {
  display: flex;
  flex-direction: column;
  gap: 16px
}

.shop-one__event-list li {
  background-color: #fff;
  border-radius: 16px;
  padding-top: 28px;
  padding-right: 32px;
  padding-bottom: 38px;
  padding-left: 32px;
  box-shadow: 0px 2px 15px 0px rgba(0, 0, 0, .03);
  box-shadow: 0px 2px 15px 0px #faf1f5
}

.shop-one__event-list .category {
  height: 34px;
  text-align: center;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.6rem;
  line-height: 100%;
  font-weight: 700;
  color: #fff;
  border-radius: 50vw
}

.shop-one__event-list .category.campaign {
  background-color: var(--green--middle)
}

.shop-one__event-list .category.event {
  background-color: var(--blue--middle)
}

.shop-one__event-list .category.info {
  background-color: var(--yellow--dark)
}

.shop-one__event-list h3 {
  color: var(--black);
  font-size: 2.2rem;
  padding-top: 8px;
  font-weight: 700;
  letter-spacing: .06em;
  white-space: normal;
  text-align: left
}

.shop-one__event-list .outline p {
  font-size: 1.6rem;
  line-height: 175%
}

.shop-one__event-list .outline p em {
  font-weight: 700;
  color: var(--pink--primary);
  font-style: normal
}

.shop-one__event-list .outline p+.att {
  margin-top: 16px
}

.shop-one__event-list .outline .att {
  font-size: 1.4rem;
  letter-spacing: 0;
  color: var(--pink--primary)
}

.shop-one__event-list .outline .att::before {
  content: "※";
  display: inline
}

.shop-one__event-list .outline .att+.att {
  margin-top: 0
}

.shop-one__event-list .outline .details {
  display: flex;
  flex-direction: column;
  gap: 16px;
  gap: 4px;
  align-items: start;
  margin-top: 16px
}

.shop-one__event-list .outline .details+.details {
  margin-top: 10px
}

.shop-one__event-list .outline .label {
  background-color: var(--gray--very-light);
  display: flex;
  justify-content: start;
  align-items: center;
  font-weight: 700;
  font-size: 1.6rem;
  line-height: 130%;
  min-height: 34px;
  padding-top: 6px;
  padding-bottom: 4px;
  padding-left: 10px;
  padding-right: 10px;
  width: 100%
}

.shop-one__event-list .outline>img {
  width: 100%
}

@media screen and (min-width: 769px) {
  .shop-one__event {
      margin-top: 88px
  }

  .shop-one__event-list {
      margin-top: 40px
  }

  .shop-one__event-list .name {
      display: grid;
      grid-template-columns: 180px auto;
      gap: 16px
  }

  .shop-one__event-list .outline {
      display: grid;
      grid-template-columns: 372px auto;
      gap: 32px;
      margin-top: 32px
  }

  .shop-one__event-list .outline p+p {
      margin-top: 6px
  }
}

@media screen and (max-width: 768px) {
  .shop-one__event {
      margin-top: clamp(56px, 14.22vw, 72px)
  }

  .shop-one__event-list {
      margin-top: clamp(16px, 4vw, 40px)
  }

  .shop-one__event-list li {
      display: flex;
      flex-direction: column;
      gap: clamp(16px, 4.5vw, 24px);
      padding-top: clamp(16px, 4vw, 28px);
      padding-right: clamp(16px, 4vw, 32px);
      padding-left: clamp(16px, 4vw, 32px);
      padding-bottom: clamp(26px, 7.5vw, 38px)
  }

  .shop-one__event-list .category {
      display: inline-flex;
      font-size: var(--fs-sp--min12px);
      height: clamp(28px, 7.5vw, 34px);
      padding: 0 clamp(16px, 4vw, 20px)
  }

  .shop-one__event-list h3 {
      font-size: clamp(1.7rem, 4.75vw, 2.2rem)
  }

  .shop-one__event-list .outline {
      display: flex;
      flex-direction: column;
      gap: 20px
  }

  .shop-one__event-list .outline p {
      font-size: var(--fs-sp--min12px);
      line-height: 200%
  }

  .shop-one__event-list .outline p+.att {
      margin-top: clamp(12px, 3.5vw, 16px)
  }

  .shop-one__event-list .outline p+p {
      margin-top: 4px
  }

  .shop-one__event-list .outline .att {
      font-size: var(--fs-sp--min10px)
  }

  .shop-one__event-list .outline .details {
      display: flex;
      flex-direction: column;
      align-items: start;
      gap: clamp(10px, 3vw, 16px)
  }

  .shop-one__event-list .outline .label {
      font-size: var(--fs-sp--min12px);
      min-height: clamp(28px, 7vw, 30px)
  }
}

.shop-one__insurance-type ul {
  margin-top: 32px;
  display: grid;
  grid-template-columns: repeat(6, 1fr);
  gap: 8px
}

.shop-one__insurance-type li {
  background-color: var(--black);
  color: #fff;
  border-radius: 4px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: 1.5rem;
  height: 52px
}

@media screen and (min-width: 769px) {
  .shop-one__insurance-type {
      margin-top: 80px
  }
}

@media screen and (max-width: 768px) {
  .shop-one__insurance-type {
      margin-top: clamp(56px, 14.22vw, 72px)
  }

  .shop-one__insurance-type ul {
      grid-template-columns: repeat(3, 1fr);
      width: min(480px, 100%);
      margin: clamp(16px, 4vw, 40px) auto 0;
      gap: 6px
  }

  .shop-one__insurance-type li {
      font-size: var(--fs-sp--min11px);
      height: clamp(38px, 10vw, 52px)
  }
}


.shop-one__message .row-nar  {
  background-color: var(--pink--very-light)
}

.shop-one__message .row-nar div .message__wrap {
  display: flex;
  align-items: flex-start
}

.shop-one__message .row-nar div .message__wrap .wrap__img {
  padding: 0
}

.shop-one__message .row-nar div .message__wrap .wrap__img img {
  width: 100%
}

.shop-one__message .row-nar div .message__wrap p {
  margin-top: 0
}

.shop-one__message p {
  line-height: 175%
}

.shop-one__message p span {
  font-weight: bold
}

@media screen and (min-width: 769px) {
  .shop-one__message {
      margin-top: 80px;
      margin-bottom: 64px
  }

  .shop-one__message .row-nar  {
      padding-top: 48px;
      padding-right: 40px;
      padding-bottom: 40px;
      padding-left: 40px;
      border-radius: 16px
  }

  .shop-one__message .row-nar div .message__wrap {
      gap: 20px
  }

  .shop-one__message .row-nar div .message__wrap .wrap__img {
      width: min(100%, 300px)
  }

  .shop-one__message h2 {
      font-size: 2.3rem;
      padding: 0 0 48px 0;
  }

  .shop-one__message h2:has(br) {
      line-height: 140%
  }

  .shop-one__message p {
      font-size: 1.6rem;
      margin-top: 32px
  }

  .shop-one__message p+p {
      margin-top: 10px
  }
}

@media screen and (max-width: 768px) {
  .shop-one__message {
      margin-top: 80px;
      margin-bottom: 80px;
  }

  .shop-one__message .row-nar {
    border-radius: 16px;
    padding: 15px 10px 30px 10px;
    margin: 15px;

  .shop-one__message .row-nar div .message__wrap {
      align-items: center;
      flex-direction: column;
      gap: 10px;
  }

  .shop-one__message .row-nar div .message__wrap .wrap__img {
      width: 50%
  }

  .shop-one__message h2 {
      text-align: center;
      font-size: 2.3rem;
      justify-content: start;
      white-space: unset
  }

  .shop-one__message h2::before,
  .shop-one__message h2::after {
      display: none
  }

  .shop-one__message p {
      font-size: var(--fs-sp--min15px);
      margin-top: clamp(10px, 2.67vw, 12px);
      line-height: 190%
  }
}
}

.shop-one__shop-list {
  background-color: var(--white)
}

.shop-one__shop-list .current {
  display: none
}

@media(hover: hover) {
  .shop-one__shop-list a::after {
      transition: .3s
  }

  .shop-one__shop-list a:hover::after {
      transform: translateX(6px)
  }
}

@media screen and (min-width: 769px) {
  .shop-one__shop-list {
      padding-bottom: 128px;
      margin-top: 80px
  }

  .shop-one__shop-list h2 {
      font-size: 2.3rem;
  }
}

@media screen and (max-width: 768px) {
  .shop-one__shop-list {
      padding-top: clamp(32px, 7.11vw, 72px);
      padding-bottom: clamp(32px, 8.89vw, 48px);
      margin-top: clamp(40px, 12.44vw, 80px)
  }
}

.shop-one__other-shop {
  margin-top: 48px;
  border: solid 1px #939393;
  border-radius: 16px;
  padding: 8px;
}

.shop-one__other-shop ul {
  display: grid;
  gap: 20px 24px
}

.shop-one__other-shop a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: left;
  height: 102px;
  padding: 10px;
  color: var(--pink--primary);
  font-weight: 700;
  line-height: 125%;
  background-color: #fff;
  border-radius: 4px;
  position: relative
}

.shop-one__other-shop a::after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url(../../../assets/img/common/icon/arrow--prm.svg);
  background-size: cover
}

.shop-one__other-shop a::before {
  display: none
}

@media screen and (min-width: 769px) {
  .shop-one__other-shop ul {
      grid-template-columns: repeat(4, 1fr)
  }

  .shop-one__other-shop a {
      font-size: clamp(1.5rem, 1.36vw, 1.6rem)
  }
}

@media screen and (max-width: 768px) {
  .shop-one__other-shop {
      margin-top: clamp(24px, 6vw, 40px)
  }

  .shop-one__other-shop ul {
      display: flex;
      flex-wrap: wrap;
      gap: clamp(8px, 2vw, 16px);
      margin: 0 auto
  }

  .shop-one__other-shop a {
      height:auto;
  }

  .shop-one__other-shop a::after {
      width: clamp(8px, 1.77vw, 12px);
      height: clamp(8px, 1.77vw, 12px)
  }
}

@media screen and (max-width: 768px)and (min-width: 451px) {
  .shop-one__other-shop li {
      width: calc(33.3333333333% - clamp(8px, 2vw, 16px)/1.5)
  }

  .shop-one__other-shop a {
      font-size: min(1.5rem, 2.3vw);
      padding-right: 8px;
      padding-left: 12px
  }
}

@media screen and (max-width: 450px) {
  .shop-one__other-shop ul {
      display: grid;
      grid-template-columns: repeat(2, 1fr)
  }

  .shop-one__other-shop li {
      width: 100%
  }

  .shop-one__other-shop a {
      font-size: min(3.2vw, 1.4rem);
      padding-left: 10px;
      padding-right: 8px;
      white-space: pre
  }
}

.shop-one__pref-list ul {
  display: grid
}

.shop-one__pref-list [data-region=kanto] a {
  background-color: #e94482
}

.shop-one__pref-list [data-region=hokkaido] a {
  background-color: #00ad8e
}

.shop-one__pref-list [data-region=tohoku] a {
  background-color: var(--yellow--dark)
}

.shop-one__pref-list [data-region=chubu] a {
  background-color: var(--blue--middle)
}

.shop-one__pref-list [data-region=kansai] a {
  background-color: var(--green--middle)
}

.shop-one__pref-list a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  position: relative;
  height: 46px;
  padding: 0 24px;
  border-radius: 50vw;
  color: #fff;
  font-weight: 700;
  font-size: 1.6rem
}

.shop-one__pref-list a::after {
  content: "";
  width: 12px;
  height: 12px;
  background-image: url(../../../assets/img/common/icon/arrow--fff.svg);
  background-size: cover
}

.shop-one__pref-list a::before {
  display: none
}

@media screen and (min-width: 769px) {
  .shop-one__other-shop+.shop-one__pref-list {
      margin-top: 48px
  }

  .shop-one__pref-list ul {
      grid-template-columns: repeat(7, 1fr);
      gap: 12px 8px
  }
}

@media screen and (max-width: 768px) {
  .shop-one__other-shop+.shop-one__pref-list {
      margin-top: clamp(26px, 8.89vw, 42px)
  }

  .shop-one__pref-list ul {
      gap: 10px 8px
  }

  .shop-one__pref-list a {
      font-size: min(2.5vw, 1.5rem);
      padding: 0 clamp(16px, 3.56vw, 24px);
      height: clamp(36px, 9vw, 46px)
  }

  .shop-one__pref-list a::after {
      width: clamp(8px, 3vw, 12px);
      height: clamp(8px, 3vw, 12px)
  }
}

@media screen and (max-width: 768px)and (min-width: 451px) {
  .shop-one__pref-list ul {
      grid-template-columns: repeat(4, 1fr)
  }
}

@media screen and (max-width: 450px) {
  .shop-one__pref-list ul {
      grid-template-columns: repeat(3, 1fr)
  }

  .shop-one__pref-list a {
      font-size: var(--fs-sp--min12px);
      padding: 0 clamp(12px, 3.25vw, 14px)
  }
}

@media screen and (min-width: 769px) {
  .cmn__search-shop--stick {
      top: unset;
      bottom: 16px;
      width: min(560px, 100%);
      left: 50%;
      transform: translateX(-50%)
  }

  .cmn__search-shop--stick a {
      background-color: var(--pink--primary);
      writing-mode: horizontal-tb;
      text-align: center;
      justify-content: center;
      width: min(560px, 100%);
      margin: 0 auto;
      border-radius: 50vw;
      padding-bottom: 22px;
      position: relative;
      transition: .3s
  }

  .cmn__search-shop--stick a p {
      line-height: 120%
  }

  .cmn__search-shop--stick a span {
      font-weight: 700;
      color: inherit;
      font-size: clamp(1.6rem, 2.08svw, 1.8rem)
  }

  .cmn__search-shop--stick a::before {
      display: none
  }

  .cmn__search-shop--stick a::after {
      content: "";
      width: 10px;
      height: 10px;
      background-image: url(../../../assets/img/common/icon/arrow--fff.svg);
      position: absolute;
      right: 32px
  }
}

@media screen and (min-width: 769px)and (hover: hover) {
  .cmn__search-shop--stick a:hover {
      background-color: #c2004c
  }
}

@media screen and (min-width: 769px) {
  footer {
      padding: bottom 0;
  }
}




/* swiper */
.swiper-wrapper {
  /* wrapperのサイズを調整 */
  width: 100%;
  /*height: 300px !important;*/
}

.swiper-slide {
  /* スライドのサイズを調整、中身のテキスト配置調整、背景色 */
  color: #ffffff;
  width: 100%;
  height: 100%;
  text-align: center;
  /*line-height: 300px;*/
  text-align: center;
  border-radius: 16px;
  height: auto;
}

.swiper-slide:nth-child(3n + 1) {
  background-color: var(--white);
}

.swiper-slide:nth-child(3n + 2) {
  background-color: var(--white);
}

.swiper-slide:nth-child(3n + 3) {
  background-color: var(--white);
}

.swiper-pagination-bullets {
  width: 100px;
}

.swiper-pagination-bullet {
  width: 12px !important;
  height: 12px !important;
  margin: 0 0 0 10px !important;
  background: #fff;
}

.swiper-pagination-bullet:first-child {
  margin: 0 !important;
}






.in_wrap {
  background: #ffffff;
  border-radius: 16px;
  padding: 36px;
}

.swiper-inner {
  width: auto;
    margin: 0 16px;
    background: #ccc;
    border-radius: 16px;
}

.catchy {
  padding-top: 32px;
    border-radius: 40px 40px 0 0;
    background-color:#ffffff;
}


.title_g {
  display: flex;
}

.title_g p {
  font-size: 1.4rem;
  line-height: 1.2;
}


.link_uber {
  color: #ffffff;
  text-decoration: underline;
}


.l-header {
  margin-bottom: 10px;
  background: none;
  border-bottom: solid 1px var(--pink--primary);
}

.l-header:after {
  background: none;
}

.swiper-container{
    position: relative;
    width: 100%;
    margin: 0 auto;
}
.swiper-container .swiper-button-prev{
    left: -34px;
}
.swiper-container .swiper-button-next{
    right: -34px;
}

.swiper-container3{
  position: relative;
  overflow: hidden;
}
.swiper-container .swiper-button-next,.swiper-container .swiper-button-prev{
  background-color: #999999;
  opacity: .7;
  border-radius: 50%;
  width: 30px;
  height: 30px;
}
.swiper-container .swiper-button-next::after, .swiper-container .swiper-button-prev::after {
    font-family: 'Font Awesome 5 Free';
    font-weight: 900;
    color: #fff;
    font-size: 1.5rem;
}

.swiper-container .swiper-button-next::after {
    content: '\f054'; /* FontAwesomeの右矢印 */
}

.swiper-container .swiper-button-prev::after {
    content: '\f053'; /* FontAwesomeの左矢印 */
}


.testimonial {
  position: relative;
  width: 100%;
  background: #fff;
  padding: 25px;
  border-radius: 8px;
  overflow: hidden;
  height: 100%;
}

.testimonial-header {
  padding-bottom: 10px;
  border-bottom: 1px solid #d2d2d2;
  display: flex;
  align-items: center;
  width: 100%;
}

.testimonial img {
  width: 50%;
  max-width: 130px;
  height: 100%;
  border-radius: 50%;
  object-fit: cover;
  margin-right: 10px;
  border: 1px solid #CCC;
}

.card-title {
  width: 55%;
  text-align: left;
  font-size: 1.8rem;
  font-size: 20px;
  font-weight: bold;
  color: #333;
  padding-left: 1rem;
}
.card-title span {
    width: auto;
    font-size: 1.2rem;
    color: #fff;
    background-color: #cc0022;
    padding: 4px 10px;
    border-radius: 3px;
    display: inline-block;
    margin-top: 6px;
}


.shop-one__other-shop ul {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; /* 各画像間のスペース */
  padding: 0;
  list-style: none;
}

.shop-one__other-shop li {
  width: calc(25% - 10px); /* 横に4つ並べるために25%幅に設定（間隔を引いた分を調整） */
  overflow: hidden;
}

.shop-one__other-shop li img {
  width: 100%;
  height: 100%;
  object-fit: cover; /* 枠いっぱいに画像を表示し、トリミングする */
  display: block;
}
.shop-one__other-shop li img {
  width: 100%;
  height: 100%;
  object-fit: contain; /* 縦横比を保ちつつ、枠内にすべての画像を収める */
  display: block;
  background-color: #fff; /* 画像が枠に収まらない場合の背景色 */
}


.br-sp {
  display: none;
}

@media screen and (max-width: 768px) {
  .br-sp {
      display: block;
  }
}

.l-header #headerwrapper .l-logo {
  width: 190px;
  min-width: 180px;
  padding: 10px;
  order: 1;
}

.l-header #headerwrapper p {
  font-size: 1.2rem;
  order: 2;
  padding: 1.4rem;
}

.l-header #headerwrapper .c-logo {
  order: 3;
  padding: 27px 10px;
  max-width: 220px;
}

h2 {
  border-top: none;
  font-size: 2rem;
  padding-left: 10px;
  padding-right: 10px;
  padding-top: .5em;
}

.grid-flex {
  height: 100%;
}


p.copyright {
  color: var(--white);
}

@media screen and (max-width: 768px) {
  .l-header {
    margin-bottom: 4px;
  }

  .l-header #headerwrapper .l-logo {
    margin: 0 auto;
  }

  .title_g h1, .title_g p {
    color: var(--white);
  }
  .l-header #headerwrapper p {
    display: none;
  }
  .c-logo {
    display: none;
  }
  .title_g {
    display: block;
  }
  .bnr {
    margin: 0 0 20px 0;
  }
  .shop-one__other-shop ul {
    display: block;
  }
  .shop-one__other-shop li {
    width: 100%;
    overflow: hidden;
  }
  .swiper-container .swiper-button-next, .swiper-container .swiper-button-prev {
    display: none;
  }
  .swiper-wrapper {
    display: block;
  }
  .swiper-slide {
    margin: 30px 0;
  }
  .in_wrap {
    padding: 10px;
  }
  .map-wrap {
    margin: 0;
  }
  .l-header #headerwrapper .dl-trigger {
    display: block;
    margin-top: 5px;
      }
}
