@charset "UTF-8";
:root {
  --invariants: 2.5;
  --fz10: min( calc( 0.1rem * 10 ), calc( 0.1vw * 10 * var( --invariants ) ) );
  --fz11: min( calc( 0.1rem * 11 ), calc( 0.1vw * 11 * var( --invariants ) ) );
  --fz12: min( calc( 0.1rem * 12 ), calc( 0.1vw * 12 * var( --invariants ) ) );
  --fz13: min( calc( 0.1rem * 13 ), calc( 0.1vw * 13 * var( --invariants ) ) );
  --fz14: min( calc( 0.1rem * 14 ), calc( 0.1vw * 14 * var( --invariants ) ) );
  --fz15: min( calc( 0.1rem * 15 ), calc( 0.1vw * 15 * var( --invariants ) ) );
  --fz16: min( calc( 0.1rem * 16 ), calc( 0.1vw * 16 * var( --invariants ) ) );
  --fz17: min( calc( 0.1rem * 17 ), calc( 0.1vw * 17 * var( --invariants ) ) );
  --fz18: min( calc( 0.1rem * 18 ), calc( 0.1vw * 18 * var( --invariants ) ) );
  --fz19: min( calc( 0.1rem * 19 ), calc( 0.1vw * 19 * var( --invariants ) ) );
  --fz20: min( calc( 0.1rem * 20 ), calc( 0.1vw * 20 * var( --invariants ) ) );
  --fz21: min( calc( 0.1rem * 21 ), calc( 0.1vw * 21 * var( --invariants ) ) );
  --fz22: min( calc( 0.1rem * 22 ), calc( 0.1vw * 22 * var( --invariants ) ) );
  --fz23: min( calc( 0.1rem * 23 ), calc( 0.1vw * 23 * var( --invariants ) ) );
  --fz24: min( calc( 0.1rem * 24 ), calc( 0.1vw * 24 * var( --invariants ) ) );
  --fz25: min( calc( 0.1rem * 25 ), calc( 0.1vw * 25 * var( --invariants ) ) );
  --fz26: min( calc( 0.1rem * 26 ), calc( 0.1vw * 26 * var( --invariants ) ) );
  --fz27: min( calc( 0.1rem * 27 ), calc( 0.1vw * 27 * var( --invariants ) ) );
  --fz28: min( calc( 0.1rem * 28 ), calc( 0.1vw * 28 * var( --invariants ) ) );
  --fz29: min( calc( 0.1rem * 29 ), calc( 0.1vw * 29 * var( --invariants ) ) );
  --fz30: min( calc( 0.1rem * 30 ), calc( 0.1vw * 30 * var( --invariants ) ) );
  --fz31: min( calc( 0.1rem * 31 ), calc( 0.1vw * 31 * var( --invariants ) ) );
  --fz32: min( calc( 0.1rem * 32 ), calc( 0.1vw * 32 * var( --invariants ) ) );
  --fz33: min( calc( 0.1rem * 33 ), calc( 0.1vw * 33 * var( --invariants ) ) );
  --fz34: min( calc( 0.1rem * 34 ), calc( 0.1vw * 34 * var( --invariants ) ) );
  --fz35: min( calc( 0.1rem * 35 ), calc( 0.1vw * 35 * var( --invariants ) ) );
  --fz36: min( calc( 0.1rem * 36 ), calc( 0.1vw * 36 * var( --invariants ) ) );
  --fz37: min( calc( 0.1rem * 37 ), calc( 0.1vw * 37 * var( --invariants ) ) );
  --fz38: min( calc( 0.1rem * 38 ), calc( 0.1vw * 38 * var( --invariants ) ) );
  --fz39: min( calc( 0.1rem * 39 ), calc( 0.1vw * 39 * var( --invariants ) ) );
  --fz40: min( calc( 0.1rem * 40 ), calc( 0.1vw * 40 * var( --invariants ) ) );
  --fz41: min( calc( 0.1rem * 41 ), calc( 0.1vw * 41 * var( --invariants ) ) );
  --fz42: min( calc( 0.1rem * 42 ), calc( 0.1vw * 42 * var( --invariants ) ) );
  --fz43: min( calc( 0.1rem * 43 ), calc( 0.1vw * 43 * var( --invariants ) ) );
  --fz44: min( calc( 0.1rem * 44 ), calc( 0.1vw * 44 * var( --invariants ) ) );
  --fz45: min( calc( 0.1rem * 45 ), calc( 0.1vw * 45 * var( --invariants ) ) );
  --fz46: min( calc( 0.1rem * 46 ), calc( 0.1vw * 46 * var( --invariants ) ) );
  --fz47: min( calc( 0.1rem * 47 ), calc( 0.1vw * 47 * var( --invariants ) ) );
  --fz48: min( calc( 0.1rem * 48 ), calc( 0.1vw * 48 * var( --invariants ) ) );
  --fz49: min( calc( 0.1rem * 49 ), calc( 0.1vw * 49 * var( --invariants ) ) );
  --fz50: min( calc( 0.1rem * 50 ), calc( 0.1vw * 50 * var( --invariants ) ) );
  --fz51: min( calc( 0.1rem * 51 ), calc( 0.1vw * 51 * var( --invariants ) ) );
  --fz52: min( calc( 0.1rem * 52 ), calc( 0.1vw * 52 * var( --invariants ) ) );
  --fz53: min( calc( 0.1rem * 53 ), calc( 0.1vw * 53 * var( --invariants ) ) );
  --fz54: min( calc( 0.1rem * 54 ), calc( 0.1vw * 54 * var( --invariants ) ) );
  --fz55: min( calc( 0.1rem * 55 ), calc( 0.1vw * 55 * var( --invariants ) ) );
  --fz56: min( calc( 0.1rem * 56 ), calc( 0.1vw * 56 * var( --invariants ) ) );
  --fz57: min( calc( 0.1rem * 57 ), calc( 0.1vw * 57 * var( --invariants ) ) );
  --fz58: min( calc( 0.1rem * 58 ), calc( 0.1vw * 58 * var( --invariants ) ) );
  --fz59: min( calc( 0.1rem * 59 ), calc( 0.1vw * 59 * var( --invariants ) ) );
  --fz60: min( calc( 0.1rem * 60 ), calc( 0.1vw * 60 * var( --invariants ) ) );
  --fz61: min( calc( 0.1rem * 61 ), calc( 0.1vw * 61 * var( --invariants ) ) );
  --fz62: min( calc( 0.1rem * 62 ), calc( 0.1vw * 62 * var( --invariants ) ) );
  --fz63: min( calc( 0.1rem * 63 ), calc( 0.1vw * 63 * var( --invariants ) ) );
  --fz64: min( calc( 0.1rem * 64 ), calc( 0.1vw * 64 * var( --invariants ) ) );
  --fz65: min( calc( 0.1rem * 65 ), calc( 0.1vw * 65 * var( --invariants ) ) );
  --fz66: min( calc( 0.1rem * 66 ), calc( 0.1vw * 66 * var( --invariants ) ) );
  --fz67: min( calc( 0.1rem * 67 ), calc( 0.1vw * 67 * var( --invariants ) ) );
  --fz68: min( calc( 0.1rem * 68 ), calc( 0.1vw * 68 * var( --invariants ) ) );
  --fz69: min( calc( 0.1rem * 69 ), calc( 0.1vw * 69 * var( --invariants ) ) );
  --fz70: min( calc( 0.1rem * 70 ), calc( 0.1vw * 70 * var( --invariants ) ) );
  --fz71: min( calc( 0.1rem * 71 ), calc( 0.1vw * 71 * var( --invariants ) ) );
  --fz72: min( calc( 0.1rem * 72 ), calc( 0.1vw * 72 * var( --invariants ) ) );
  --fz73: min( calc( 0.1rem * 73 ), calc( 0.1vw * 73 * var( --invariants ) ) );
  --fz74: min( calc( 0.1rem * 74 ), calc( 0.1vw * 74 * var( --invariants ) ) );
  --fz75: min( calc( 0.1rem * 75 ), calc( 0.1vw * 75 * var( --invariants ) ) );
  --fz76: min( calc( 0.1rem * 76 ), calc( 0.1vw * 76 * var( --invariants ) ) );
  --fz77: min( calc( 0.1rem * 77 ), calc( 0.1vw * 77 * var( --invariants ) ) );
  --fz78: min( calc( 0.1rem * 78 ), calc( 0.1vw * 78 * var( --invariants ) ) );
  --fz79: min( calc( 0.1rem * 79 ), calc( 0.1vw * 79 * var( --invariants ) ) );
  --fz80: min( calc( 0.1rem * 80 ), calc( 0.1vw * 80 * var( --invariants ) ) );
}

@media (min-width: 768px) {
  .is-hidden_pc {
    display: none;
  }
}
@media (max-width: 767px) {
  .is-hidden_sp {
    display: none;
  }
}
.u-txt_left {
  text-align: left !important;
}

.u-txt_center {
  text-align: center !important;
}

.u-txt_right {
  text-align: right !important;
}

.u-mb5 {
  margin-bottom: 5px !important;
}

.u-mb10 {
  margin-bottom: 10px !important;
}

.u-mb15 {
  margin-bottom: 15px !important;
}

.u-mb20 {
  margin-bottom: 20px !important;
}

.u-mb25 {
  margin-bottom: 25px !important;
}

.u-mb30 {
  margin-bottom: 30px !important;
}

.u-mb35 {
  margin-bottom: 35px !important;
}

.u-mb40 {
  margin-bottom: 40px !important;
}

.u-mb45 {
  margin-bottom: 45px !important;
}

.u-mb50 {
  margin-bottom: 50px !important;
}

.u-mb60 {
  margin-bottom: 60px !important;
}

.u-mb70 {
  margin-bottom: 70px !important;
}

.u-mb80 {
  margin-bottom: 80px !important;
}

.u-mt5 {
  margin-top: 5px !important;
}

.u-mt10 {
  margin-top: 10px !important;
}

.u-mt15 {
  margin-top: 15px !important;
}

.u-mt20 {
  margin-top: 20px !important;
}

.u-mt25 {
  margin-top: 25px !important;
}

.u-mt30 {
  margin-top: 30px !important;
}

.u-mt40 {
  margin-top: 40px !important;
}

.u-mt50 {
  margin-top: 50px !important;
}

.u-color-primary {
  color: #E8222D;
}

.u-color-secondary {
  color: #FFF3C1;
}

.u-color-accent {
  color: #FFD9DC;
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom;
}

table {
  width: 100%;
}
@media (max-width: 767px) {
  table.table {
    display: block;
  }
  table.table tbody,
  table.table tr,
  table.table th,
  table.table td {
    box-sizing: border-box;
    display: block;
    width: 100% !important;
  }
}

.bold {
  font-family: "Helvetica Neue", "Arial", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "YuGothic", "Yu Gothic", "Meiryo", sans-serif;
  font-weight: bold;
}

.breadcrumbs {
  padding: 8px 0;
  background: #000;
  color: #fff;
  font-size: 1rem;
}
.breadcrumbs li {
  display: inline-block;
  line-height: 1;
}
.breadcrumbs li::before {
  display: inline-block;
  vertical-align: middle;
  content: url(../img/common/icon_arrow_sm.svg);
  margin: 0 10px 3px;
}
.breadcrumbs li:first-child::before {
  content: normal;
}

.pagination {
  display: flex;
  justify-content: center;
  padding-bottom: 20px;
  gap: 20px;
}
.pagination li {
  display: inline-block !important;
  min-width: 2em;
  line-height: 1;
  text-align: center;
}
.pagination li a, .pagination li span {
  padding: 5px;
  background-color: #000;
  color: #fff;
  display: block;
}
.pagination li .is-current {
  font-weight: bold;
}
.pagination li .empty {
  width: 2em;
  display: none;
}

.ttl {
  background: #E8222D;
  color: #fff;
  font-weight: 500;
  text-align: center;
  font-size: 1.8rem;
  padding-block: 15px;
  margin-bottom: 20px;
  line-height: 1;
}
.ttl img {
  margin-right: 10px;
  vertical-align: sub;
}
.ttl.-nomargin {
  margin-bottom: 0;
}

.btn {
  border: solid 1px #E8222D;
  border-radius: 5px;
  background: #fff;
  font-size: 1.8rem;
  font-weight: bold;
  color: #E8222D;
  display: block;
  text-align: center;
  position: relative;
}
.btn:hover {
  color: #fff;
  background: #E8222D;
}
.btn.-arrow::after {
  content: "";
  background: url(../img/common/icon_arrow_red.svg) no-repeat center;
  background-size: cover;
  width: 8px;
  height: 12px;
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translate(0, -40%);
}
.btn.-arrow:hover::after {
  background: url(../img/common/icon_arrow_white.svg);
}

.search_box {
  background: #fff;
  padding-block: 10px;
  text-align: center;
}
.search_box input[type=text] {
  border: solid 1px #E8222D;
  border-radius: 5px;
  padding-block: 8px;
  width: 65%;
}
.search_box input[type=text] ::placeholder {
  color: #E8222D;
  text-align: center;
}
.search_box button {
  background: #E8222D;
  color: #fff;
  font-weight: 500;
  border: none;
  padding: 9px 10px;
  border-radius: 5px;
  margin-left: 10px;
}
.search_box button img {
  margin-left: 15px;
  vertical-align: middle;
}
.search_box.-page {
  padding-block: 0 20px;
}

.banner_area {
  background: #FFF3C1;
  padding-block: 10px;
}
.banner_area .container {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 10px;
}
.banner_area img:not(:first-child) {
  margin-top: 20px;
}

.news_list a {
  display: flex;
  align-items: center;
}
.news_list li {
  margin-bottom: 20px;
}
.news_list dl {
  margin-left: 10px;
  flex: 1;
  overflow: hidden;
}
.news_list dt {
  color: #E8222D;
  font-weight: bold;
  margin-bottom: 3px;
}
.news_list dd {
  display: inline-block;
  font-size: 1.2rem;
  max-width: 160px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.news_list--img img {
  width: 80px;
  height: 80px;
  object-fit: cover;
}

.shop_list a {
  display: flex;
}
.shop_list li {
  margin-bottom: 20px;
}
.shop_list--img {
  margin-right: 20px;
}
.shop_list--img img {
  width: 100px;
  height: 100px;
  object-fit: cover;
}
.shop_list--info {
  flex: 1;
}
.shop_list--info time {
  color: #E8222D;
  font-weight: 300;
  font-size: 1.2rem;
}
.shop_list--info p {
  font-weight: 500;
  margin-top: 5px;
}

html {
  font-size: 62.5%;
}

body {
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5rem;
  -webkit-text-size-adjust: 100%;
  line-height: 1.5;
  color: #000;
  background: url(../img/common/bg_main.jpg);
  background-attachment: fixed;
}

.wrap {
  margin: auto;
  overflow: hidden;
}
@media (min-width: 768px) {
  .wrap {
    position: relative;
  }
  .wrap::before, .wrap::after {
    content: "";
    width: 100%;
    height: 50px;
    background: url(../img/common/bg_border.jpg) repeat-x;
    position: fixed;
    left: 0;
  }
  .wrap::before {
    top: 0;
  }
  .wrap::after {
    bottom: 0;
  }
}
@media (max-width: 767px) {
  .wrap {
    width: 100%;
    min-width: auto;
  }
}

@media (min-width: 768px) {
  .logo_border {
    position: fixed;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: url(../img/common/bg_logo.svg) #fff;
    background-repeat: repeat-x;
    background-position: center;
    width: 100vw;
    height: 400px;
  }
  .logo_border img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-315px, -50%);
  }
}
@media (max-width: 767px) {
  .logo_border {
    display: none;
  }
}

.sp_content {
  width: 100%;
  background: #fff;
}
@media (min-width: 768px) {
  .sp_content {
    position: relative;
    z-index: 2;
    width: 375px;
    background: #fff;
    margin: auto min(15vw, 340px) auto auto;
    overflow: hidden;
    border-right: solid 20px #fff;
    border-left: solid 20px #fff;
  }
}
@media (max-width: 767px) {
  .sp_content {
    width: 100%;
    min-width: auto;
  }
}

.container {
  box-sizing: border-box;
  padding: 0 10px;
}

main {
  display: block;
  padding-top: 80px;
}
@media (min-width: 768px) and (max-width: 769px) and (orientation: portrait) {
  main {
    min-height: 95vh;
  }
}

.totop {
  position: fixed;
  right: 10px;
  bottom: 10px;
  display: none;
  cursor: pointer;
}
@media (max-width: 767px) {
  .totop {
    width: 44px;
    height: 44px;
  }
}

.header {
  width: 375px;
  position: fixed;
  display: flex;
  justify-content: space-between;
  background: #fff;
  z-index: 5;
  padding: 15px 10px;
  box-sizing: border-box;
}
@media (max-width: 767px) {
  .header {
    width: 100vw;
  }
}
.gnav_btn {
  position: absolute;
  top: 15px;
  right: 10px;
  z-index: 100;
  display: block;
  width: 50px;
  height: 50px;
  cursor: pointer;
  background: #FFF3C1;
  border: none;
}
.gnav_btn::after {
  content: "メニュー";
  color: #E8222D;
  position: absolute;
  bottom: 1px;
  left: 0;
  right: 0;
  font-size: 1rem;
}
.gnav_btn span {
  position: absolute;
  left: 25%;
  display: block;
  width: 50%;
  height: 3px;
  background: #E8222D;
  transition: 0.3s;
}
.gnav_btn span:first-child {
  top: 20%;
}
.gnav_btn span:nth-child(2) {
  top: 38%;
  opacity: 1;
}
.gnav_btn span:last-child {
  top: 56%;
}
.gnav_btn.is-open::after {
  content: "閉じる";
}
.gnav_btn.is-open span {
  transition: 0.2s;
}
.gnav_btn.is-open span:first-child {
  top: 40%;
  transform: rotate(45deg);
}
.gnav_btn.is-open span:nth-child(2) {
  display: none;
  opacity: 0;
}
.gnav_btn.is-open span:last-child {
  top: 40%;
  transform: rotate(-45deg);
}

.gnav {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
}
.gnav ul {
  background: #FFF3C1;
  padding-block: 10px 20px;
}
.gnav li {
  margin: 0 auto 10px;
  width: 90%;
  text-align: center;
}
.gnav a {
  display: block;
  padding: 15px 0;
}
@media (max-width: 767px) {
  .gnav {
    display: none;
  }
  .gnav ul {
    display: block;
  }
  .gnav a {
    display: block;
  }
}

.footer {
  text-align: center;
}
.footer img {
  margin-bottom: 30px;
}
.footer li {
  padding-bottom: 15px;
}
.footer--top {
  background: #FFF3C1;
  font-weight: bold;
  padding-top: 20px;
}
.footer--bottom {
  background: #E8222D;
  color: #fff;
  font-size: 1rem;
  padding-block: 5px;
}

.ttl_top {
  background: #E8222D;
  color: #fff;
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 15px 10px;
  font-weight: bold;
  margin-bottom: 20px;
}
.ttl_top h2 {
  min-width: fit-content;
  font-size: 2rem;
  line-height: 1;
}
.ttl_top h2 img {
  margin-right: 10px;
}
.ttl_top.-search p {
  font-size: 1.2rem;
  width: 170px;
}
@media (max-width: 374px) {
  .ttl_top h2 {
    font-size: 1.8rem;
  }
  .ttl_top h2 img {
    transform: scale(0.8);
  }
}
.ttl_top--border {
  height: 1px;
  background: #fff;
  margin-inline: 10px;
}
.ttl_top--border.-search {
  width: 20%;
}
.ttl_top--border.-news {
  width: 60%;
}
.ttl_top--border.-shop {
  width: 80%;
}
@media (max-width: 767px) {
  .ttl_top--border.-news {
    width: 28%;
  }
  .ttl_top--border.-shop {
    width: 38%;
  }
}
.ttl_top--more {
  font-size: 1.2rem;
  text-align: right;
  width: 160px;
}
.ttl_top--more::after {
  content: "";
  background: url(../img/common/icon_arrow.svg) no-repeat center;
  width: 8px;
  height: 12px;
  display: inline-block;
  vertical-align: middle;
  margin-bottom: 2px;
  margin-left: 5px;
}
@media (max-width: 767px) {
  .ttl_top--more {
    width: 90px;
  }
}

.girls {
  background: url(../img/common/bg_pickup.jpg) repeat-y center;
  background-size: cover;
  padding-bottom: 20px;
}
.girls h2 img {
  margin-inline: 20px;
}
.girls .bx-wrapper {
  background: #fff;
  box-shadow: none;
  border: solid 1px #E8222D;
  border-radius: 10px;
  height: 200px;
  position: relative;
}
.girls .bx-wrapper::before {
  content: "";
  width: 103px;
  height: 36px;
  position: absolute;
  top: -10px;
  left: -10px;
  background: url(../img/common/deco_pickup.svg) no-repeat center;
  background-size: cover;
  z-index: 4;
}
.girls .bx-wrapper::after {
  content: "";
  width: 45px;
  height: 45px;
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translate(-110%, 0);
  background: url(../img/common/deco_heart.svg) no-repeat center;
  background-size: cover;
}
.girls .bx-prev, .girls .bx-next {
  z-index: 3 !important;
  opacity: 0.5;
  transform: scale(0.7);
}
.girls .bx-prev {
  left: 0;
}
.girls .bx-next {
  right: 0;
}
.girls .bx-pager {
  color: #E8222D;
  bottom: -40px;
}
.girls .bx-pager-link {
  background: #fff !important;
  border: solid 1px #E8222D;
  border-radius: 50% !important;
}
.girls .bx-pager-link.active {
  background: #E8222D !important;
}
.girls--btn {
  padding-block: 10px;
  width: 320px;
  margin: auto;
}
@media (max-width: 374px) {
  .girls--btn {
    width: 280px;
  }
}

.girl {
  display: flex;
}
.girl--inner {
  width: 100%;
  padding: 20px 15px 5px;
  flex: 1;
  position: relative;
}
@media (max-width: 374px) {
  .girl--inner {
    padding: 20px 5px 5px;
  }
}
.girl--img {
  width: 150px;
  height: 200px;
  object-fit: cover;
  border-radius: 8px 0 0 8px;
}
@media (max-width: 374px) {
  .girl--img {
    width: 120px;
  }
}
.girl--shop {
  font-family: "Kiwi Maru", serif;
  font-size: 1.5rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 5px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.girl--name {
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
  font-size: 2.1rem;
  text-align: center;
  margin-bottom: 10px;
}
.girl--name::before {
  content: "";
  width: 156px;
  height: 6px;
  display: block;
  margin: 3px auto 5px;
  background: url(../img/common/deco_border.svg) no-repeat center;
}
.girl--introduce {
  font-size: 1rem;
  height: 48px;
}
.girl--txt {
  font-weight: 500;
  font-size: 1rem;
  position: absolute;
  bottom: 8px;
  right: 15px;
}
.girl--txt img {
  display: inline;
  margin-left: 10px;
}
@media (max-width: 767px) {
  .girl--txt {
    font-size: 1rem;
  }
}

.news_slider {
  background: #000;
  font-size: 1.4rem;
  overflow: hidden;
}
.news_slider ul {
  display: inline-block;
  padding-left: 100%;
  white-space: nowrap;
  animation: scrollAnime 65s linear infinite;
  color: #fff;
  font-weight: 500;
}
.news_slider li {
  display: inline-block;
  margin-right: 30px;
  padding-block: 10px;
}
.news_slider a {
  font-size: 1.4rem;
}

@keyframes scrollAnime {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
.search_category {
  padding-bottom: 20px;
}
.search_category--group {
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: repeat(4, 80px);
  gap: 10px;
}
.search_category--group a {
  display: grid;
  place-items: center;
}

.contact_area {
  background: #E8222D;
  padding-block: 10px;
}
.contact_area a {
  background: #fff url(../img/top/bg_contact.png);
  display: block;
  font-weight: 500;
  text-align: center;
  font-size: 2rem;
  padding-block: 20px;
}
.contact_area a span {
  color: #E8222D;
  font-weight: bold;
  font-size: 2.4rem;
}

.search_list {
  font-size: 1.8rem;
  font-weight: bold;
  text-align: center;
  margin-bottom: 10px;
  position: relative;
  background: #E8222D;
  color: #fff;
  border: solid 1px #E8222D;
  box-sizing: border-box;
  border-radius: 5px;
}
.search_list a {
  padding-block: 8px;
  display: inline-block;
}
.search_list > a {
  text-decoration: underline;
  text-underline-offset: 0.1em;
}
.search_list--btn {
  position: absolute;
  right: 20px;
  top: 8px;
  cursor: pointer;
  transition: 0.3s;
}
.search_list--btn.is-open {
  transform: rotate(180deg);
}
.search_list--city {
  display: none;
}
.search_list--city.is-open {
  display: block;
}
.search_list--city li:not(:last-child) {
  border-bottom: solid 1px #E8222D;
}
.search_list--city li a {
  color: #E8222D;
  background: #fff;
  display: block;
  padding-block: 8px;
}

.girl_detail .mainimage {
  height: 500px;
  width: 100%;
  object-fit: cover;
}
.girl_detail .subimage {
  margin-block: 20px;
}
.girl_detail--img {
  position: relative;
}
.girl_detail--img::before {
  content: "";
  width: 140px;
  height: 48px;
  position: absolute;
  top: 6px;
  left: 2px;
  background: url(../img/common/deco_pickup.svg) no-repeat center;
  background-size: cover;
  z-index: 4;
}
.girl_detail--img::after {
  content: "";
  width: 60px;
  height: 60px;
  position: absolute;
  bottom: 20px;
  right: 10px;
  background: url(../img/common/deco_heart.svg) no-repeat center;
}
.girl_detail--btn a {
  font-size: 1.8rem;
  text-align: center;
  width: 300px;
  margin: auto;
  display: block;
  font-weight: 500;
  padding-block: 10px;
  border-radius: 5px;
  margin-bottom: 20px;
}
.girl_detail--btn_shop {
  background: #E8222D;
  color: #fff;
}
.girl_detail--btn_shop img {
  vertical-align: baseline;
  margin-left: 10px;
}
.girl_detail--btn_tel {
  background: #FFF3C1;
  border: solid 1px #E8222D;
  box-sizing: border-box;
  color: #E8222D;
}
.girl_detail--btn_tel img {
  margin-right: 10px;
  vertical-align: middle;
}

.girl_detail_list {
  padding-bottom: 35px;
}
.girl_detail_list dt {
  background: #FFD9DC;
  padding: 2px 0 2px 10px;
}
.girl_detail_list dd {
  padding-block: 5px;
}

.girl_archive--item {
  display: flex;
  background: #fff;
  border: solid 1px #E8222D;
  border-radius: 10px;
  position: relative;
  margin-bottom: 20px;
}
.girl_archive--img img {
  width: 150px;
  height: 180px;
  object-fit: cover;
  border-radius: 8px 0 0 8px;
}
.girl_archive--inner {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  width: 100%;
  flex: 1;
}
.girl_archive--inner div {
  padding: 15px 15px 0px;
}
.girl_archive--shop {
  font-family: "Kiwi Maru", serif;
  font-size: 1.4rem;
  font-weight: 500;
  text-align: center;
  margin-bottom: 5px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.girl_archive--name {
  font-family: "Kiwi Maru", serif;
  font-weight: 500;
  font-size: 2.1rem;
  text-align: center;
  margin-bottom: 10px;
}
.girl_archive--name::before {
  content: "";
  width: 156px;
  height: 6px;
  display: block;
  margin: 3px auto 5px;
  background: url(../img/common/deco_border.svg) no-repeat center;
}
.girl_archive--link {
  font-size: 1.3rem;
  text-align: right;
  padding-right: 5px;
  margin-bottom: 3px;
}
.girl_archive--link img {
  vertical-align: middle;
  margin-left: 10px;
}
.girl_archive--btn {
  background: #E8222D;
  color: #fff;
  text-align: center;
  padding-block: 10px;
  font-weight: bold;
  border-radius: 0 0 8px 0;
}
.girl_archive--btn img {
  margin-left: 10px;
  vertical-align: middle;
}

.girl_archive_back a {
  display: flex;
  border: solid 1px #E8222D;
  border-radius: 10px;
  margin-bottom: 20px;
}
.girl_archive_back--img img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  border-radius: 8px 0 0 8px;
}
.girl_archive_back--info {
  padding: 7px 10px;
  flex: 1;
}
.girl_archive_back--name {
  color: #E8222D;
  font-weight: bold;
  margin-bottom: 5px;
}
.girl_archive_back--shop {
  font-size: 1.2rem;
  font-weight: 500;
}

.shop_area_list {
  display: flex;
  flex-wrap: wrap;
  column-gap: 10px;
}
.shop_area_list li {
  margin-bottom: 10px;
}
.shop_area_list li a {
  display: block;
  padding: 3px 8px;
  color: #E8222D;
  background: #FFF3C1;
  font-weight: 500;
  border-radius: 5px;
}

.shop_number {
  text-align: center;
  margin-bottom: 10px;
}

.shop_item {
  margin-bottom: 50px;
}
.shop_item h3 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom: 25px;
}
.shop_item ul {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 20px;
  font-size: 1.2rem;
  font-weight: 500;
}
.shop_item li:first-child, .shop_item li:last-child {
  width: 100%;
}
.shop_item--img {
  text-align: center;
  margin-bottom: 20px;
}

.breadcrumbs_shop li {
  display: inline-block;
  line-height: 1;
}
.breadcrumbs_shop li::before {
  display: inline-block;
  vertical-align: top;
  content: ">";
  margin-inline: 10px;
}
.breadcrumbs_shop li:first-child::before {
  content: normal;
}

.btn_shop {
  margin-top: 15px;
}
.btn_shop div {
  width: 50%;
  display: inline-block;
  text-align: center;
  font-weight: bold;
}
.btn_shop a {
  display: block;
  padding-block: 15px;
}
.btn_shop--tell {
  background: #FFF3C1;
  color: #E8222D;
  border-radius: 5px 0 0 5px;
}
.btn_shop--tell img {
  margin-right: 10px;
  vertical-align: sub;
}
.btn_shop--store {
  background: #E8222D;
  color: #fff;
  border-radius: 0 5px 5px 0;
}
.btn_shop--store img {
  margin-left: 10px;
  vertical-align: baseline;
}

.zend_form textarea {
  height: 130px;
}
.zend_form tbody,
.zend_form tr,
.zend_form th,
.zend_form td {
  box-sizing: border-box;
  display: block;
  width: 100% !important;
}
.zend_form th {
  text-align: left;
}
.zend_form input[type=text],
.zend_form input[type=email],
.zend_form input[type=tel],
.zend_form input[type=number],
.zend_form input[type=date],
.zend_form input[type=password],
.zend_form textarea {
  box-sizing: border-box;
  width: 100%;
  padding: 4px;
  font-family: inherit;
  font-size: var(--fz16);
  font-weight: normal;
  color: #000;
  background: #fff;
  border: solid 1px #000;
  border-radius: 5px;
  box-shadow: none;
}
.zend_form input[type=text]:focus,
.zend_form input[type=email]:focus,
.zend_form input[type=tel]:focus,
.zend_form input[type=number]:focus,
.zend_form input[type=date]:focus,
.zend_form input[type=password]:focus,
.zend_form textarea:focus {
  background: #fff;
  border: solid 1px #e7e7e7;
  outline: none;
}
.zend_form input[type=checkbox]:checked + span,
.zend_form input[type=radio]:checked + span {
  font-weight: bold;
}
.zend_form select {
  padding: 2px 0 4px 4px;
  margin-right: 2px;
  border: solid 1px #345372;
  border-radius: 3px;
}
.zend_form select option {
  padding: 0;
}
.zend_form table {
  width: 100%;
  margin-top: 30px;
  border-collapse: collapse;
  background: #fff;
}
.zend_form table th {
  position: relative;
  width: 225px;
  font-weight: bold;
  text-align: left;
  vertical-align: top;
  background-clip: padding-box !important;
  padding: 5px;
}
.zend_form table td {
  padding: 0px 5px 20px;
  vertical-align: middle;
}
.zend_form table .description {
  margin-top: 5px;
}
.zend_form table .errors {
  margin-top: 5px;
  color: #E8222D;
}
.zend_form .submit {
  overflow: hidden;
  text-align: center;
  padding-bottom: 30px;
}
.zend_form .submit input[type=submit],
.zend_form .submit input[type=reset],
.zend_form .submit input[type=button],
.zend_form .submit button[type=submit] {
  display: inline-block;
  width: 300px;
  height: 50px;
  margin: 10px;
  overflow: hidden;
  font-weight: bold;
  color: #fff;
  cursor: pointer;
  background: #000;
  border: none;
  transition: 0.3s;
}
.zend_form .submit input[type=submit]:hover,
.zend_form .submit input[type=reset]:hover,
.zend_form .submit input[type=button]:hover,
.zend_form .submit button[type=submit]:hover {
  opacity: 0.8;
}
@media (max-width: 767px) {
  .zend_form .submit input[type=submit],
  .zend_form .submit input[type=reset],
  .zend_form .submit input[type=button],
  .zend_form .submit button[type=submit] {
    max-width: 80%;
  }
}

.contact_form {
  padding-block: 30px 50px;
}
.contact_form tbody,
.contact_form tr,
.contact_form th,
.contact_form td {
  box-sizing: border-box;
  display: block;
  width: 100% !important;
}
.contact_form th {
  text-align: left;
  font-weight: bold;
  padding-bottom: 5px;
}
.contact_form td {
  padding-bottom: 10px;
}
.contact_form .submit {
  overflow: hidden;
  text-align: center;
  padding-top: 30px;
}
.contact_form .submit input[type=submit],
.contact_form .submit input[type=reset],
.contact_form .submit input[type=button],
.contact_form .submit button[type=submit] {
  display: inline-block;
  width: 120px;
  height: 50px;
  margin: 10px;
  overflow: hidden;
  font-weight: bold;
  color: #fff;
  cursor: pointer;
  background: #000;
  border: none;
  transition: 0.3s;
}
.contact_form .submit input[type=submit]:hover,
.contact_form .submit input[type=reset]:hover,
.contact_form .submit input[type=button]:hover,
.contact_form .submit button[type=submit]:hover {
  opacity: 0.8;
}
@media (max-width: 767px) {
  .contact_form .submit input[type=submit],
  .contact_form .submit input[type=reset],
  .contact_form .submit input[type=button],
  .contact_form .submit button[type=submit] {
    max-width: 80%;
  }
}

.frm.danger {
  position: relative;
  display: block;
  padding: 5px 10px;
  margin-top: 12px;
  clear: both;
  font-size: var(--fz12);
  color: #fff !important;
  background: #c90000;
}
.frm.danger::before {
  position: absolute;
  top: -20px;
  width: 0;
  height: 0;
  content: "";
  border: 10px solid #c90000;
  border-color: transparent;
  border-bottom-color: #c90000;
}

#loading {
  display: none;
}

.thanks {
  margin-block: 50px;
  text-align: center;
}

.privacy_list {
  margin-top: 30px;
}
.privacy_list h3 {
  font-weight: bold;
  border-bottom: solid 1px #E8222D;
  padding-bottom: 3px;
  margin-bottom: 5px;
}
.privacy_list li {
  margin-bottom: 20px;
}

.privay_caption {
  font-size: 1.2rem;
  margin-bottom: 50px;
}

.kiyaku_list {
  margin-top: 30px;
}
.kiyaku_list li {
  margin-bottom: 20px;
}
.kiyaku_list h3 {
  font-weight: bold;
  margin-bottom: 3px;
}
.kiyaku_list a {
  text-decoration: underline;
  text-underline-offset: 2px;
}
.kiyaku_list--sub {
  margin-left: 15px;
}
.kiyaku_list--sub li {
  margin-block: 5px;
  text-indent: -7.5px;
}
.kiyaku_list--sub li::before {
  content: "・";
  display: inline-block;
}

.kiyaku_txt {
  margin-bottom: 50px;
}

.kiyaku_disclaimer h3 {
  font-weight: bold;
  margin-bottom: 10px;
}
.kiyaku_disclaimer p {
  margin-bottom: 20px;
}
.kiyaku_disclaimer ul {
  margin: 0 0 30px 15px;
}
.kiyaku_disclaimer li {
  margin-block: 5px;
  text-indent: -7.5px;
}
.kiyaku_disclaimer li::before {
  content: "・";
  display: inline-block;
}

.company_table {
  margin-bottom: 50px;
}
.company_table tr {
  border: solid 1px #000;
}
.company_table tr:not(:first-child) th {
  border-top: solid 1px #fff;
}
.company_table tr:not(:first-child) td {
  border-top: solid 1px #000;
}
.company_table th, .company_table td {
  padding: 5px 3px;
}
.company_table th {
  background: #000;
  color: #fff;
  vertical-align: middle;
}

.notfound_page {
  text-align: center;
}
.notfound_page--ttl {
  margin-bottom: 30px;
  font-size: var(--fz20);
}
.notfound_page--paragraph {
  margin-bottom: 1em;
}
.notfound_page--link a {
  text-decoration: underline;
}

/*# sourceMappingURL=style.css.map */
