@charset "utf-8";
/* CSS Document */
:root {
  --c-red-color: #c90037;
  --c-gray-color: #626262;
  --c-gray02-color: #706f6f;
  --c-blue-color: #0179d4;
  --c-blue02-color: #1972ba;
  --xx-smaller-fontsize: 12px;
  --x-small-fontsize: 13px;
  --small-fontsize: 14px;
  --medium-fontsize: 15px;
  --larger-fontsize: 16px;
  --large-fontsize: 17px;
  --x-large-fontsize: 18px;
  --xx-large-fontsize: 19px;
}
body {
  min-width: 1340px;
}
main > section:first-child {
  padding-top: 0;
}
.subWrap {
  width: 1340px;
  margin: 0 auto;
}
@media screen and (max-width: 1340px) {
  .subWrap > .headerText,
  header .header_ttl .logo,
  header #trend h3,
  header #breadCrumb ol {
    padding-left: 4px;
  }
}
label,
button {
  cursor: pointer;
}

figure {
  font-size: 0;
}

*:focus {
  outline: none;
}

.title01 {
  position: relative;
  margin-bottom: 20px;
  color: #c90037;
  font-size: 20px;
  font-weight: bold;
}

.title01 .right {
  margin-left: 1em;
  line-height: 1;
  font-size: 16px;
  color: #333333;
}

.title01 .right .circle {
  display: inline-block;
  width: 2em;
  height: 2em;
  line-height: 2em;
  border-radius: 50%;
  background-color: #f00;
  font-size: 16px;
  text-align: center;
  color: #fff;
}

.title01 a {
  float: right;
  margin-left: 5px;
  color: #75513b;
  font-size: 12px;
  font-weight: bold;
}

.title01 a:hover {
  color: #c80037;
  text-decoration: underline;
}

h2.title01 a:before {
  content: "";
  display: inline-block;
  border: 6px solid transparent;
  border-left: 10px solid #75513b;
  position: relative;
  top: 2px;
}

h2.title01 a:hover:before {
  border-left-color: #c80037;
}

/*==============header==============*/
header .utility {
  background: #c90037;
}

header .utility .subWrap {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

header .utility .subWrap ul {
  display: flex;
  display: -ms-flexbox;
}

header .utility .subWrap ul a {
  display: block;
  position: relative;
  padding: 10px;
  color: #fff;
}

header .utility .subWrap a:hover {
  background: #e04;
}

/*各媒体の下のborder*/

header .utility .subWrap .ungroup a:after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
}

header .utility .subWrap .ungroup li:first-child a:after {
  background: #ff0036;
}

header .utility .subWrap .ungroup li:nth-child(2) a:after {
  background: #fe5282;
}

header .utility .subWrap .ungroup li:nth-child(3) a:after {
  background: #af4492;
}

header .utility .subWrap .ungroup li:nth-child(4) a:after {
  background: #fcb029;
}
header .utility .subWrap .ungroup li:nth-child(5) a::after {
  background: #70ad47;
}
header .header_ttl {
  padding: 10px 0;
  border-bottom: 1px solid #ccc;
}

header .header_ttl .subWrap {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}

header .header_ttl .logo {
  /*width:244px;*/
  width: 230px;
  margin-right: 20px;
}

header #headForm {
  position: relative;
  width: 732px;
}

header #headForm form {
  display: flex;
  display: -ms-flexbox;
  border: 2px solid #c90037;
  border-radius: 5px;
  overflow: hidden;
}

header #headForm form input,
header #headForm form select {
  height: 45px;
  line-height: 45px;
}

header #headForm form input {
  width: 667px;
}

header #headForm.hasDetailSearch form input,
header #headForm.hasDetailSearch form select {
  width: 545px;
}

header #headForm form .srchtype {
  position: relative;
}

header #headForm form .srchtype:after {
  content: "";
  position: absolute;
  top: calc(50% - 6px);
  right: 10px;
  border: 6px solid transparent;
  border-top: 10px solid #333;
}

header #headForm form select {
  width: 150px;
  cursor: pointer;
}

header #headForm form button[type="submit"] {
  width: 65px;
  padding: 0;
  background: #c90037
    url("https://img.undernavi.com/front/pc/common/icon_search.png") no-repeat
    center center;
  border: none;
  cursor: pointer;
}

header #headForm form button[type="button"] {
  -moz-appearance: none;
  -webkit-appearance: none;
  appearance: none;
  width: 120px;
  height: 100%;
  background: transparent;
  border: none;
}

header #disappearBox {
  display: none;
  position: absolute;
  top: 90px;
  right: 0;
  z-index: 999;
  width: 400px;
  padding: 40px;
  background: #fff;
  box-shadow: 0 0 5px #999;
}

header #disappearBox dl {
  margin: 5px 0;
}

header #disappearBox dt {
  font-weight: bold;
}

header #disappearBox #disappearTop {
  display: flex;
  display: -ms-flexbox;
  margin-bottom: 5px;
}

header #disappearBox #disappearTop dl {
  width: 49%;
  margin-right: 1%;
}

header #disappearBox #disappearTop dl select {
  width: 100%;
}

header #disappearBox #disappearMiddle {
  margin-bottom: 10px;
}

header #disappearBox #disappearMiddle dd {
  display: flex;
  display: -ms-flexbox;
  align-items: flex-end;
}

header #disappearBox #disappearBottom p {
  text-align: center;
}

header #disappearBox #disappearBottom p {
  text-align: center;
}

header #disappearBox #disappearBottom p input {
  width: 100%;
  background: #c80037;
  border-radius: 5px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
}

header #disappearBox #disappearBottom input[type="checkbox"] {
  display: none;
}

header #disappearBox #disappearBottom input[type="checkbox"] + label {
  position: relative;
  display: inline-block;
  width: 20px;
  height: 20px;
  margin-right: 5px;
  border: 2px solid #ccc;
  border-radius: 3px;
}

header #disappearBox #disappearBottom input[type="checkbox"] + label:hover {
  border-color: #0171bd;
}

header #disappearBox #disappearBottom input[type="checkbox"] + label:after {
  content: "";
  position: absolute;
  top: 2px;
  left: 6px;
  display: inline-block;
  width: 7px;
  height: 13px;
  border-right: 3px solid #0171bd;
  border-bottom: 3px solid #0171bd;
  opacity: 0;
  transform: rotate(40deg);
  transition: all 0.3s linear;
}

header
  #disappearBox
  #disappearBottom
  input[type="checkbox"]:checked
  + label:after {
  opacity: 1;
}

header #disappearBox span.triangle {
  position: absolute;
  right: 90px;
  top: -20px;
  display: inline-block;
  width: 40px;
  height: 40px;
  background: #fff;
  transform: rotate(45deg);
  box-shadow: 0 0 5px #999;
}

header #disappearBox span.triangle:after {
  content: "";
  position: absolute;
  right: -22px;
  top: 20px;
  display: inline-block;
  width: 70px;
  height: 30px;
  background: #fff;
  transform: rotate(-45deg);
}

header .topNav {
  width: 350px;
}

header .topNav ul {
  display: flex;
  display: -ms-flexbox;
}

header .topNav ul li:not(:last-child) {
  border-right: 1px solid #ccc;
}

header .topNav ul li a {
  display: block;
  width: 70px;
  font-size: 14px;
  text-align: center;
}
header .topNav .header_newNav ul li a {
  font-size: 12px;
}
header .topNav .header_newNav ul li a img {
  margin-bottom: 3px;
}
header .topNav .header_newNav ul li a:hover {
  opacity: 0.7;
  transition: 0.2s;
}
header #trend {
  display: flex;
  display: -ms-flexbox;
  align-items: center;
  width: 100%;
}

header #trend h3 {
  margin-right: 5px;
  font-weight: bold;
}

header #trend ul {
  display: flex;
  display: -ms-flexbox;
}

header #trend ul li {
  margin: 5px;
}

header #trend ul li a {
  display: block;
  padding: 1px 5px;
  border: 1px solid #aaa;
  border-radius: 3px;
}

header #welcome .subWrap {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -ms-flex-pack: justify;
  padding: 20px 0;
}

header #welcome .login ul {
  display: flex;
  display: -ms-flexbox;
}
.login ul li.nofp {
  font-size: 17px;
  font-weight: bold;
  padding-right: 15px;
}
.login ul li.nofp span {
  font-size: 12px;
  padding-left: 2px;
}
header #welcome .login ul li a {
  font-size: 14px;
  font-weight: bold;
}

header #welcome .login ul li.btn01 a {
  color: #c90037;
}

header #welcome .login ul li.btn01 a:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 15px;
  height: 16px;
  background: url("https://img.undernavi.com/front/pc/common/icon001.png");
  margin-right: 5px;
}

header #welcome .login ul li.btn02 a {
  border-radius: 3px;
  margin: 0 5px;
  padding: 3px 15px;
  background: #c90037;
  color: #fff;
}

header #welcome .login ul li.btn02 a:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 15px;
  height: 16px;
  background: url("https://img.undernavi.com/front/pc/common/icon002.png");
  margin-right: 5px;
}
header #welcome .login ul li.btn03 a {
  color: #c90037;
}
header #welcome .login ul li.btn03 img {
  width: 15%;
}

/*==============SP切り替えボタン==============*/
#displayswitch {
  width: 100%;
  padding: 1.5%;
  box-sizing: border-box;
}
#displayswitch a {
  display: block;
  padding: 1em 0;
  box-sizing: border-box;
  border-radius: 0.5em;
  border-top: 1px solid #999;
  border-left: 1px solid #999;
  border-right: 1px solid #999;
  border-bottom: 15px solid #999;
  box-shadow: 0 10px 10px rgba(0, 0, 0, 0.2);
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#ffffff+0,dddddd+100 */
  background: rgb(255, 255, 255); /* Old browsers */
  background: -moz-linear-gradient(
    top,
    rgba(255, 255, 255, 1) 0%,
    rgba(221, 221, 221, 1) 100%
  ); /* FF3.6-15 */
  background: -webkit-linear-gradient(
    top,
    rgba(255, 255, 255, 1) 0%,
    rgba(221, 221, 221, 1) 100%
  ); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(
    to bottom,
    rgba(255, 255, 255, 1) 0%,
    rgba(221, 221, 221, 1) 100%
  ); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#ffffff', endColorstr='#dddddd',GradientType=0 ); /* IE6-9 */
  font-size: 50px;
  text-align: center;
}
#displayswitch a span {
  display: block;
  font-size: 1.5em;
  font-weight: bold;
  color: #c90037;
}

/*************プレミアムバナー***************/

#appealArea {
  position: relative;
  height: 300px;
  overflow: hidden;
}

#appealArea .shops {
  background-position: center center;
}

#appealArea li .subWrap {
  position: relative;
  height: 300px;
}

#appealArea li .shopInfo {
  position: absolute;
  bottom: 10px;
  left: 0;
  padding: 10px;
  background: rgba(255, 255, 255, 0.8);
  border-radius: 10px;
}

#appealArea li .shopInfo h3 a {
  color: #c80037;
  font-size: 16px;
  font-weight: bold;
  text-decoration: underline;
}

#appealArea li .shopInfo ul {
  display: flex;
  display: -ms-flexbox;
}

#appealArea li .shopInfo ul li {
  margin-right: 10px;
}

#appealArea li .shopInfo ul li.time:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background: url("https://img.undernavi.com/front/pc/common/icon_clock.png");
  width: 18px;
  height: 18px;
  margin-right: 5px;
}

#appealArea li .shopInfo ul li.tel:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background: url("https://img.undernavi.com/front/pc/common/icon_tel.png");
  width: 18px;
  height: 18px;
  margin-right: 5px;
}

#appealArea li .girls {
  display: flex;
  display: -ms-flexbox;
  position: absolute;
  bottom: 10px;
  right: 0;
}

#appealArea .girls li {
  width: 120px;
  height: 120px;
  margin-left: 5px;
  border-radius: 50%;
  box-shadow: 0 0 5px #777;
  overflow: hidden;
}

#appealArea .slick-prev {
  left: 20px;
  width: 50px;
  height: 50px;
  background: url("https://img.undernavi.com/front/pc/shop/L.png") no-repeat
    center center;
  z-index: 999;
}

#appealArea .slick-next {
  right: 20px;
  width: 50px;
  height: 50px;
  background: url("https://img.undernavi.com/front/pc/shop/R.png") no-repeat
    center center;
  z-index: 999;
}

#appealArea .more a {
  position: absolute;
  top: 20px;
  right: calc(50% - 650px);
  display: block;
  padding: 10px 20px;
  background: #c80037;
  border-radius: 80px;
  color: #fff;
  font-weight: bold;
}

#appealArea .morearea {
  position: absolute;
  top: 20px;
  right: calc(50% - 650px);
}

#appealArea .morearea a {
  display: inline-block;
  padding: 10px 20px;
  background: #c80037;
  border-radius: 80px;
  color: #fff;
  font-weight: bold;
}

/*************カバーガール***************/

header .cover {
  position: relative;
  height: 300px;
  background-position: center top;
  background-repeat: no-repeat;
}

header .cover .btn_present {
  position: absolute;
  bottom: 5px;
  right: calc(50% - 650px);
}

header #header_nav #nav {
  width: 100%;
  background: #c90037;
}

header #header_nav #nav.gnav_fixed {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
}

header #header_nav .subWrap {
  display: flex;
  display: -ms-flexbox;
}

header #header_nav .navBox {
  position: relative;
  z-index: 888;
}

header #header_nav .area {
  width: 12.5%;
}

header #header_nav .navBox h3 a {
  display: block;
}

header #header_nav .navBox h3.haveChild a:after {
  content: "";
  display: inline-block;
  background: url("https://img.undernavi.com/front/pc/common/arrow_down.png")
    no-repeat center center;
  width: 11px;
  height: 7px;
  margin-left: 10px;
}

header #header_nav .navBox a {
  display: block;
  color: #fff;
  padding: 10px 14px;
  font-size: 13px;
  font-weight: bold;
  text-align: center;
  word-break: keep-all;
}
.navBox-contents {
  color: #fff;
  padding: 10px 15px;
  font-size: 14px;
  font-weight: bold;
  text-align: center;
  word-break: keep-all;
}
header #header_nav .navBox a:hover {
  background: #e04;
}

header #header_nav .navBox h3:hover + ul {
  display: block;
}

header #header_nav .navBox ul {
  display: none;
  position: absolute;
  top: 50px;
  left: 50%;
  transform: translateX(-50%);
}

header #header_nav .navBox ul:hover {
  display: block;
}

header #header_nav .navBox ul:before {
  content: "";
  position: absolute;
  top: -24px;
  left: 50%;
  transform: translateX(-50%);
  border: 10px solid transparent;
  border-bottom: 15px solid #c90037;
}

header #header_nav .navBox ul:after {
  content: "";
  position: absolute;
  top: -12px;
  left: 0;
  width: 100%;
  height: 12px;
}

header #header_nav .navBox ul a {
  min-width: 100px;
  background: #c90037;
  border-bottom: 1px solid #955;
}

header #header_nav .navBox ul a:hover {
  background: #e04;
}
header #header_nav .navBox ul .asb_icon a {
  padding: 10px 0;
}
/**************マイページ用***************/

header .header_bottom {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -ms-flex-pack: justify;
  align-items: center;
  margin-bottom: 40px;
  border-bottom: 1px solid #ccc;
}

header .header_bottom .subWrap {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -ms-flex-pack: justify;
  align-items: center;
}

header .header_bottom .logo {
  display: flex;
  display: -ms-flexbox;
  align-items: end;
  padding: 20px 0;
}

header .header_bottom .logo h1 {
  margin-left: 10px;
  color: #c80037;
  font-size: 20px;
  font-weight: bold;
}

header .header_bottom a {
  color: #c80037;
  text-decoration: underline;
}

header .header_bottom a img {
  margin-right: 5px;
}

/*============パンくず=============*/

#breadCrumb ol {
  display: flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  width: 1340px;
  margin: 0 auto;
  padding: 10px 0;
  font-size: 11px;
}

#breadCrumb ol li:not(:last-child):after {
  content: ">";
  display: inline-block;
  margin: 0 5px;
}

/*==============contents==============*/

article#body {
  display: flex;
  display: -ms-flexbox;
  width: 1340px;
  margin: 0 auto 20px;
}

.no_data {
  padding: 10px 0;
  margin: 10px 0;
  border: 3px double #c80037;
  color: #c80037 !important;
  text-align: center;
}

/*==============tab==============*/

.block_item_list .contents:not(:first-child) {
  display: none;
}

/*==============会員情報==============*/

#helloUser {
  display: flex;
  display: -ms-flexbox;
  width: 1340px;
  margin: 20px auto 10px;
  border-top: 1px solid #aaa;
  border-left: 1px solid #aaa;
}

#helloUser > div {
  box-sizing: border-box;
  position: relative;
  width: 12.5%;
  border-right: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
  text-align: center;
}

#helloUser > div p {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 100%;
  transform: translate(-50%, -50%);
  text-align: center;
}

#helloUser > div p img {
  width: 30px;
}

#helloUser > div p a {
  color: #c80037;
  text-decoration: underline;
}

#helloUser > div p .rankName {
  font-size: 16px;
  font-weight: bold;
}

#helloUser > div p .num {
  color: #c80037;
  font-size: 26px;
  font-weight: bold;
}

#helloUser > div p .bold {
  font-size: 20px;
  font-weight: bold;
}

#helloUser > div#mypageNavi {
  width: 50%;
  border: none;
}

#helloUser > div#mypageNavi ul {
  display: flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}

#helloUser > div#mypageNavi ul li {
  box-sizing: border-box;
  width: 25%;
  border-right: 1px solid #aaa;
  border-bottom: 1px solid #aaa;
}

#helloUser > div#mypageNavi ul li a {
  position: relative;
  display: block;
  padding: 10px 0;
  text-align: center;
}

#helloUser > div#mypageNavi ul li a span.circle {
  position: absolute;
  right: 5px;
  top: -15px;
  display: block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  background: #ed0044;
  border-radius: 50%;
  color: #fff;
  text-align: center;
}

/****************-aside-****************/

aside#left {
  width: 195px;
  background: #fafafa;
}
@media screen and (max-width: 1340px) {
  aside#left {
    margin-left: 4px;
  }
}

aside dt,
.srchbox .area_top {
  padding: 7px 10px;
  background: #c90037;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
}

aside dd li {
  padding: 7px 10px;
  color: #333;
}

aside dd li.category_name_set {
  background: #ddd;
}

aside dd a {
  color: #333;
}

aside dd a:hover {
  color: #c90037;
  text-decoration: underline;
}

aside dd a img {
  vertical-align: middle;
}

/*================左カラム最上部ボタンー================*/

#left #prefLink a {
  display: block;
  padding: 5px 0;
  margin-bottom: 5px;
  background: linear-gradient(to bottom, #d50044 0, #af0027 100%);
  border: 1px solid #a44e07;
  border-radius: 3px;
  box-shadow: 0 1px 1px #ea80a2 inset, 0 -1px 1px #954707 inset;
  color: #fff;
  font-weight: bold;
  text-align: center;
  text-shadow: 0 1px 0 #333;
}

#left .prefbtn {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}

#left .prefbtn li {
  margin-bottom: 10px;
  text-align: center;
}

#left .prefbtn li a {
  display: block;
  background: #fff;
  border: 1px solid #999;
  border-radius: 4px;
  -webkit-border-radius: 4px;
  -moz-border-radius: 4px;
  padding: 2px 8px;
  cursor: pointer;
}

#left .prefbtn li a:hover {
  background: #d30042;
  border: 1px solid #af0027;
  color: #fff;
}

#left .specialbtn {
  margin: 0 0 10px 0;
}

#left .specialbtn li {
  margin: 0 0 6px 0;
  text-align: left;
}

#left .specialbtn li a {
  padding: 5px;
  border: 1px solid #eb961d;
  border-radius: 5px;
  cursor: pointer;
  font-weight: bold;
  color: #eb961d;
  text-align: center;
  display: block;
}

#left .specialbtn li a span {
  float: left;
  display: inline-block;
  padding: 3px 5px;
  margin: 0 3px 0 5px;
  border-radius: 50%;
  background: #eb961d;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  -webkit-transform: rotate(-7deg);
  transform: rotate(-7deg);
}

#left .specialbtn li a:hover {
  background: #eb961d;
  border: 1px solid #af0027;
  color: #fff;
}

#left .filter {
  position: relative;
}

#left .filter > h3 {
  position: relative;
  padding: 8px;
  background: linear-gradient(
    to right,
    #0f7dc8,
    #0f7dc8 175px,
    transparent 175px
  );
  color: #fff;
}

#left .filter > h3:before {
  content: "";
  display: inline-block;
  position: absolute;
  right: -14px;
  top: 0;
  z-index: 1;
  border: 19.2px solid transparent;
  border-left: 15px solid #0f7dc8;
}

#left .filter h3 span {
  font-size: 16px;
  font-weight: bold;
}

#left .filter dd h3 {
  padding: 8px;
  background: #0f7dc8;
  color: #fff;
}

#left .selectArea {
  background: url("https://img.undernavi.com/front/pc/common/right_arrow.png")
    no-repeat right center;
  padding: 15px 8px;
  font-size: 14px;
  cursor: pointer;
}

#left .formArea {
  display: none;
  position: absolute;
  top: 3px;
  left: 205px;
  width: 920px;
  z-index: 9;
}

#left .formArea .triangle {
  position: absolute;
  top: 50px;
  left: -20px;
  border: 10px solid transparent;
  border-right: 10px solid #f5f5f5;
}

#left .formArea .triangle:before {
  content: "";
  position: absolute;
  top: -11px;
  left: 4px;
  width: 2px;
  height: 14.2px;
  background: rgba(150, 150, 150, 0.6);
  filter: blur(1px);
  transform: rotate(45deg);
}

#left .formArea .triangle:after {
  content: "";
  position: absolute;
  top: -1px;
  left: 4px;
  width: 2px;
  height: 14.2px;
  background: rgba(150, 150, 150, 0.6);
  filter: blur(1px);
  transform: rotate(-45deg);
}

#left .selectArea:hover + .formArea {
  display: block;
}

#left .formArea:hover {
  display: block;
}

#left .formArea dl {
  display: flex;
  display: -ms-flexbox;
  position: relative;
  border-radius: 5px;
  box-shadow: 0 0 5px #999;
}

#left .formArea dl:before {
  content: "";
  display: inline-block;
  position: absolute;
  left: -10px;
  top: 35px;
  width: 10px;
  height: 50px;
  background: transparent;
}

#left .formArea dl dt,
#left .formArea dl dd {
  box-sizing: border-box;
  padding: 20px;
}

#left .formArea dl dt {
  width: 20%;
  background: #f5f5f5;
  color: #333;
}

#left .formArea dl dt span {
  font-size: 16px;
  font-weight: bold;
}

#left .formArea dl dd {
  width: 80%;
  background: #fff;
}

#left .formArea dl dd ul {
  display: flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}

#left .formArea dl dd ul li {
  width: 25%;
  padding: 0;
  margin: 20px 0;
}
#left .formArea dl dd ul.multi.service li,
#left .formArea dl dd .multi.delivery_area li {
  width: auto;
  padding: 0;
  margin: 20px 0;
  margin-right: 35px;
}

#left .formArea dl dd .flexBox {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -ms-flex-pack: justify;
  align-items: flex-end;
  padding: 20px 0;
}

#left .formArea dl dd .flexBox > div {
  width: 65%;
}

#left .formArea dl dd .flexBox div.select {
  width: 12%;
}

#left .formArea dl dd ul.range {
  flex-wrap: nowrap;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

#left .formArea dl dd ul.range li {
  margin: 0;
  width: auto;
}

#left .formArea label {
  cursor: poiner;
  white-space: nowrap;
}

#left .formArea dl dd button,
#left form button {
  appearance: none;
  display: block;
  background: #c80037;
  width: 150px;
  padding: 5px;
  margin: 20px auto;
  border: none;
  border-radius: 3px;
  color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  cursor: pointer;
}

#left form .result {
  margin-top: 10px;
  display: grid;
  justify-content: center;
  font-size: 10px;
}
#left form .result_text {
  text-align: center;
  font-size: 1.4em;
}
#left form .result_text strong {
  font-size: 1.3em;
  font-weight: bold;
  color: #c80037;
}
#left form .result_notice {
  text-align: center;
  opacity: 0.7;
}

#left form .buttonGroup {
  margin-top: 10px;
  margin-bottom: 10px;
  display: grid;
  justify-content: center;
  gap: 5px;
}
#left form .buttonGroup_item {
  margin: 0;
  background-color: #fff;
  border: 1px solid #c80037;
  color: #c80037;
}
#left form .buttonGroup_item.--submit {
  background-color: #c80037;
  color: #fff;
}

aside .menu_osaka {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -ms-flex-pack: justify;
  margin-bottom: 10px;
}

aside .menu_osaka li {
  width: 48%;
}

#gravure_aside figure {
  box-sizing: border-box;
  padding: 3px;
  margin-top: 5px;
  border: 1px solid #f7c341;
}

#gravure_aside p {
  font-size: 13px;
}

#gravure_aside p.galName a {
  font-weight: bold;
}

#gravure_aside p.galName a:hover {
  color: #c80037;
  text-decoration: underline;
}

#left .pickup_shop h2 {
  padding: 5px;
  background: #c80037;
  color: #fff;
}

#left .pickup_shop .detail {
  /*padding:10px;
	background:#eee;*/
  padding-bottom: 10px;
}

#left .pickup_shop .thumb {
  position: relative;
}

#left .pickup_shop .detail .note {
  display: none;
  box-sizing: border-box;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 10px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid #c80037;
}

#left .pickup_shop .thumb:hover .note {
  display: block;
}

#left .pickup_shop .detail .note .fee {
  border-bottom: 1px solid #c80037;
  color: #c80037;
  font-size: 1.1rem;
}

#left .pickup_shop .detail .note .comment {
  font-size: 12px;
}

#left .pickup_shop .detail .note .btn {
  position: absolute;
  bottom: 10px;
  width: calc(100% - 20px);
}

#left .pickup_shop .detail .note .btn a {
  display: block;
  padding: 5px;
  background: #c80037;
  border-radius: 3px;
  color: #fff;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}

#left .pickup_shop .detail h3 {
  margin-top: 5px;
  padding-left: 3px;
  border-left: 10px solid #c80037;
}

#left .pickup_shop .detail h3 a {
  color: #333;
  font-size: 12px;
  font-weight: bold;
}

/*********チェックボックスの動作**********/

aside dd .multi input[type="checkbox"] {
  display: none;
}

aside dd .multi input[type="checkbox"] + label {
  position: relative;
}

aside dd .multi input[type="checkbox"] + label:before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 20px;
  height: 20px;
  margin-right: 5px;
  border: 2px solid #ccc;
  border-radius: 3px;
}

aside dd .multi input[type="checkbox"] + label:hover:before {
  border-color: #0171bd;
}

aside dd .multi input[type="checkbox"] + label:after {
  content: "";
  position: absolute;
  top: 2px;
  left: 6px;
  display: inline-block;
  width: 7px;
  height: 13px;
  border-right: 3px solid #0171bd;
  border-bottom: 3px solid #0171bd;
  opacity: 0;
  transform: rotate(40deg);
  transition: all 0.3s linear;
}

aside dd .multi input[type="checkbox"]:checked + label:after {
  opacity: 1;
}
aside dd .multi input[type="checkbox"]:disabled + label {
  opacity: 0.5;
}

/*********チェックボックスの動作**********/

aside#right {
  width: 195px;
  background: #fafafa;
}

aside#right .slider_vertical {
  text-align: center;
}
aside#right .slider_vertical li {
  margin-bottom: 10px;
}

aside#right .slider_vertical figure {
  font-size: 0;
}

aside#right .slider_vertical .detail {
  position: relative;
  margin-bottom: 5px;
}

aside#right .slider_vertical .detail:hover .shopInfo,
aside#left .slider_vertical .detail:hover .shopInfo {
  display: block;
}

aside#right .slider_vertical .shopInfo,
aside#left .slider_vertical .shopInfo {
  box-sizing: border-box;
  display: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  padding: 20px;
  background: rgba(255, 255, 255, 0.8);
  border: 1px solid #c80037;
}

aside#right .slider_vertical .shopInfo h4,
aside#left .slider_vertical .shopInfo h4 {
  text-align: center;
  display: -webkit-box; /* line-clamp を有効にするために指定する */
  -webkit-box-orient: vertical; /* line-clamp を有効にするために指定する */
  -webkit-line-clamp: 3; /* コレで折り返し表示する行数を指定する・ココでは3行分表示させる */
  overflow: hidden;
  color: #c80037;
}

aside#right .slider_vertical .shopInfo h4 a,
aside#left .slider_vertical .shopInfo h4 a {
  color: #c80037;
  font-weight: bold;
  text-decoration: underline;
}

aside#right .slider_vertical .shopInfo .area,
aside#left .slider_vertical .shopInfo .area {
  /*margin-bottom:10px;*/
  margin-bottom: 5px;
  font-size: 10px;
  text-align: center;
}

aside#right .slider_vertical .shopInfo .toShop a,
aside#left .slider_vertical .shopInfo .toShop a {
  display: block;
  width: 100%;
  padding: 5px 0;
  background: #c80037;
  color: #fff;
  text-align: center;
}

aside#right .slider_vertical li h5,
aside#left .slider_vertical li h5 {
  padding-left: 5px;
  margin-bottom: 5px;
  border-left: 5px solid #c80037;
  color: #c80037;
  font-weight: bold;
  text-align: left;
}
aside#left .slider_vertical li h5 {
  margin-top: 5px;
}
aside#left .slider_vertical li h5 a {
  color: #000;
}
aside#right .slider_vertical li h5 a:hover,
aside#left .slider_vertical li h5 a:hover {
  color: #c80037;
  text-decoration: underline;
}
aside#right .slider_vertical li p,
aside#left .slider_vertical li p {
  font-size: 93%;
  overflow: hidden;
}
aside#right .slider_vertical li p.comment,
aside#left .slider_vertical li p.comment,
aside#right .slider_vertical li p.attentionShopData_during,
aside#left .slider_vertical li p.attentionShopData_during {
  text-align: center;
  margin-bottom: 1px;
}
aside#right .slider_vertical li p.attentionShopData_during strong,
aside#left .slider_vertical li p.attentionShopData_during strong {
  color: #c90e37;
}
aside#right .slider_vertical li p.attentionShopData_during strong span,
aside#left .slider_vertical li p.attentionShopData_during strong span {
  font-size: 17px;
  font-weight: bold;
}
aside#right .slider_vertical li p.comment img,
aside#left .slider_vertical li p.comment img {
  width: 11%;
  margin-right: 2px;
}

/*********スライドバナーイメージ**********/
.slides_l_slickImage,
.slides_R_slickImage {
  margin: auto;
}

/****************-main-****************/

main {
  display: block;
  box-sizing: border-box;
  width: 950px;
  padding: 0 35px;
  overflow-x: hidden;
}

main > section {
  max-width: 880px;
}

.slick-arrow {
  position: absolute;
  top: calc(50% - 6px);
  width: 12px;
  height: 20px;
  background: transparent;
  background-position: center center;
  background-repeat: no-repeat;
  border: none;
  font-size: 0;
  cursor: pointer;
}

.slick-prev {
  left: -20px;
  background-image: url("https://img.undernavi.com/front/pc/common/l_arrow.png");
}

.slick-next {
  right: -20px;
  background-image: url("https://img.undernavi.com/front/pc/common/r_arrow.png");
}

/*========================検索ボックス=======================*/

.srch_detail {
  position: relative;
  padding: 15px;
  background: #f5f5f5;
  box-shadow: 0 0 3px #aaa;
}

.srch_detail h3 {
  font-size: 16px;
  font-weight: bold;
  margin-bottom: 10px;
}

.srch_detail p.allclear {
  position: absolute;
  top: 10px;
  right: 10px;
}

.srch_detail p.allclear {
  position: absolute;
  top: 10px;
  right: 10px;
}

.srch_detail p.allclear input {
  padding: 5px 30px;
  background: #444;
  border-radius: 5px;
  color: #fff;
}

.srch_detail .tabs_block {
  display: flex;
  display: -ms-flexbox;
  border: 1px solid #aaa;
  border-bottom: none;
}

.srch_detail .tabs_block li {
  width: 50%;
  padding: 10px 0;
  background: #666;
  border-right: 1px solid #fff;
  color: #fff;
  text-align: center;
  cursor: pointer;
}

.srch_detail .tabs_block li:last-child {
  border-right: none;
}

.srch_detail .tabs_block li.current {
  background: #fff;
  color: #333;
}

.srch_detail .block_item_list .contents {
  display: none;
  padding: 15px;
  background: #fff;
  border: 1px solid #aaa;
  border-top: none;
}

.srch_detail .block_item_list .contents:first-child {
  display: block;
}

.srch_detail .block_item_list .contents .btn {
  text-align: right;
}

.srch_detail .block_item_list .contents .btn input {
  padding: 5px 40px;
  border: 1px solid #ccc;
  border-radius: 5px;
  font-weight: bold;
}

.srch_detail .block_item_list .contents ul {
  display: flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}

.srch_detail .block_item_list .contents ul li {
  width: 25%;
  margin: 30px 0;
}

.srch_detail .block_item_list .contents ul li label {
  cursor: pointer;
}

/*==============footer==============*/

footer {
  background: #fff;
  padding-top: 5px;
}

footer .subWrap {
  display: flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}

footer ul.subWrap {
  justify-content: center;
  margin: 20px auto;
}

footer ul.subWrap li {
  margin: 0 10px;
}
/*==============広告枠==============*/
.ad_block {
  display: flex;
  justify-content: center;
  gap: 0 40px;
  margin: 40px 0;
}
.ad_block-shop {
  margin: 0px 0 40px;
}
/*-----詐欺店モーダルstart-----*/

footer #scam {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 99999;
  background: rgba(0, 0, 0, 0.8);
  width: 100vw;
  height: 100vh;
}

footer #scam #scamBody {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 500px;
  padding: 20px;
  background: #fff;
  border-radius: 10px;
}

footer #scam form dl {
  margin-bottom: 10px;
}

footer #scam form dt span {
  color: #f00;
}

footer #scam form dl input {
  width: 100%;
  height: 30px;
  border: 1px solid #ddd;
}

footer #scam form button {
  width: 100%;
  padding: 10px;
  background: #c80037;
  color: #fff;
}

footer #scam form button:disabled {
  cursor: default;
  background: #999;
}
.scam_close .round_btn {
  display: block;
  position: relative;
  width: 40px;
  height: 40px;
  border: 2px solid #333;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}

.scam_close .round_btn::before,
.scam_close .round_btn::after,
.pc_footer_banner-round::before,
.pc_footer_banner-round::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px; /* 棒の幅（太さ） */
  height: 22px; /* 棒の高さ */
  background: #333; /* バツ印の色 */
}

.scam_close .round_btn::before,
.pc_footer_banner-round::before {
  transform: translate(-50%, -50%) rotate(45deg);
}

.scam_close .round_btn::after,
.pc_footer_banner-round::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
.scam_close {
  position: absolute;
  right: -15px;
  top: -15px;
}
.pc_footer_banner {
  display: none;
  position: fixed;
  bottom: 0px;
  left: 0px;
  width: 100%;
  opacity: 1;
  z-index: 99999;
  text-align: center;
  padding: 8px 0;
  background-color: rgba(0, 0, 0, 0.1);
}
.pc_footer_banner-close {
  position: absolute;
  right: 40px;
}
.pc_footer_banner-round {
  display: block;
  position: relative;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: #fff;
  cursor: pointer;
}
.pc_footer_banner-round::before,
.pc_footer_banner-round::after {
  width: 1px;
}
footer #scam dt span {
  color: #f00;
}
.check_btn #sendNg {
  background: #999;
}
.check_btn button {
  width: 49%;
  padding: 10px;
  background: #c80037;
  color: #fff;
}
footer #scam dl {
  margin-bottom: 10px;
}

/*-----詐欺店モーダルend-----*/

footer .logo {
  margin-bottom: 20px;
}

footer .covergirl {
  width: 190px;
}
footer .covergirl .thumb a {
  display: block;
}
footer .covergirl .thumb {
  width: 190px;
  height: 190px;
  border-radius: 50%;
  overflow: hidden;
}

footer .covergirl .thumb img {
  min-width: 190px;
  min-height: 190px;
  border-radius: 50%;
  overflow: hidden;
}

footer #footerMenu {
  display: flex;
  display: -ms-flexbox;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  width: 1100px;
  margin-left: 50px;
}

footer #footerMenu h2 {
  width: 100%;
  margin-bottom: 10px;
  font-size: 18px;
  font-weight: bold;
}

footer #footerMenu .footerNav {
  box-sizing: border-box;
  width: 20%;
  padding: 0 10px;
  border-left: 1px solid #e5e5e5;
}

footer #footerMenu .footerNav:first-child {
  border-left: none;
}

footer #footerMenu .footerNav h3 {
  margin: 5px 0;
  font-size: 15px;
  font-weight: bold;
}

footer #footerMenu .footerNav ul li {
  line-height: 1.2;
  margin: 5px 0;
  padding-left: 5px;
  font-size: 12px;
}

footer #footerMenu .footerNav ul li a:hover,
#footerShopMenu nav ul li a:hover {
  color: #c80037;
  text-decoration: underline;
}

footer #footerMenu .footerNav dd {
  text-indent: 1rem;
}

footer #footerBottom {
  width: 100%;
  padding: 20px 0;
}

footer #footerBottom p {
  text-align: center;
}
footer #footerBottom.text_right p {
  text-align: right;
  font-size: 11px;
  width: 60.8%;
  margin-left: auto;
}

footer #footerBottom p#copyright {
  margin-top: 10px;
}

.srchtype_main3 {
  width: 65px;
  cursor: pointer;
}
span.icon001 {
  color: #20b3d8;
}
span.icon002 {
  color: #ef3fb7;
}
span.icon003 {
  color: #1ccf00;
}
.srchtype_main3 img {
  width: 38%;
  padding: 12px 0 0 10px;
  vertical-align: bottom;
}
#disappearBox_main3 {
  position: absolute;
  bottom: -95px;
  left: 0px;
  background: #fff;
  padding: 5px 10px;
  border: 1px solid #ccc;
  z-index: 999;
}
#disappearBox_main3:before {
  content: "";
  position: absolute;
  left: 9px;
  top: -11px;
  display: block;
  width: 0;
  height: 0;
  border-right: 9px solid transparent;
  border-bottom: 11px solid #ccc;
  border-left: 9px solid transparent;
}
#disappearBox_main3:after {
  content: "";
  position: absolute;
  display: block;
  width: 0;
  height: 0;
  left: 10px;
  top: -10px;
  border-right: 8px solid transparent;
  border-bottom: 11px solid #fff;
  border-left: 8px solid transparent;
}
.sub_hash {
  padding-top: 5px;
}
.sub_hash li {
  margin: 0 0 5px 0;
}
.sub_hash img {
  width: 10%;
  padding-right: 5px;
}
.hashImage {
  text-align: center;
  margin-bottom: 20px;
}
.groupContent .groupFlexList {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  padding: 70px;
}
.groupContent .groupFlexList li {
  width: 48%;
  margin-right: 3%;
  margin-bottom: 2%;
}
.groupContent .groupFlexList li:nth-child(2n) {
  margin-right: 0;
}
.groupFlexList .shopName {
  font-size: 18px;
}
.groupContent .groupFlexList li figure {
  margin-bottom: 10px;
  position: relative;
}
.groupContent .groupFlexList li a:hover {
  color: #bb0034;
  text-decoration: underline;
}
.groupContent .groupFlexList li img:hover {
  opacity: 0.7;
}
.groupContent .groupFlexList li figure .prefName {
  position: absolute;
  left: 10px;
  top: 10px;
  display: block;
  background: #c50037;
  color: #fff;
  padding: 10px;
  display: block;
  font-size: 18px;
}

#mypageNavi .use_list li:nth-child(n + 5) {
  width: 20% !important;
}
.grecaptcha-badge {
  visibility: hidden;
}
.recaptcha_policy {
  color: #999;
  padding-top: 5px;
}
.recaptcha_policy a {
  color: #a4cff5;
}
.icon_movie_photo {
  width: 12%;
  margin-left: 5px;
  margin-top: -15px;
  -webkit-animation-name: icon_movie_photo;
  -webkit-animation-duration: 2s;
  -webkit-animation-iteration-count: infinite;
  /*! -webkit-animation-direction: alternate; */
  -webkit-animation-timing-function: ease;
  -moz-animation-name: icon_movie_photo;
  -moz-animation-duration: 2s;
  -moz-animation-iteration-count: infinite;
  /*! -moz-animation-direction: alternate; */
  -moz-animation-timing-function: ease;
}
@-webkit-keyframes icon_movie_photo {
  0% {
    -webkit-transform: translate(0, 0);
  }
  50% {
    -webkit-transform: translate(0, -10px);
  }
  100% {
    -webkit-transform: translate(0, 0);
  }
}

.shop_copyright {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 15px;
}
.shop_copyright li {
  width: 15%;
}
.shop_copyright li:nth-child(2) {
  width: 81.2%;
}
.shop_copyright li:nth-child(2) > p {
  text-align: right;
  font-size: 11px;
  margin-left: auto;
}
.shop_copyright li:nth-child(2) > p#copyright {
  padding-top: 10px;
}

/***認証用modal************************************************************/
.modal .checkbox {
  display: none;
}

/* Gray background */
.modal .modal-overlay {
  opacity: 0;
  transition: all 0.3s ease;
  width: 50%;
  position: absolute;
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -100;
  transform: scale(1);
  display: none;
  background-color: rgba(0, 0, 0, 0.7);
}

/* Box */
.modal .modal-wrap {
  background-color: #fff;
  box-shadow: 3px 3px 3px rgba(0, 0, 0, 0.2);
  padding: 40px 50px;
  width: 55%;
  margin: 20px auto;
  align-self: flex-start;
  border-radius: 2px;
  transition: all 0.5s ease;
}
.modal .modal-wrap.small {
  width: 30%;
}
.modal .modal-wrap.full {
  width: 100%;
  height: 100%;
}

.modal .modal-wrap.a-center {
  align-self: center;
}
.modal .modal-wrap.from-left {
  transform: translateX(-100%);
}
.modal .modal-wrap.from-right {
  transform: translateX(100%);
}
.modal .modal-wrap.from-top {
  transform: translateY(-100%);
}
.modal .modal-wrap.from-bottom {
  transform: translateY(100%);
}

/* Close button */
.modal .modal-overlay .close {
  position: absolute;
  right: 10px;
  top: 10px;
  font-size: 40px;
  width: 30px;
  height: 30px;
  color: #282c34;
}

.modal .modal-overlay .close:hover {
  cursor: pointer;
  color: #4b5361;
}

.modal .o-close {
  width: 100%;
  height: 100%;
  position: fixed;
  left: 0;
  top: 0;
  z-index: -100;
}

.modal input:checked ~ .o-close {
  z-index: 9998;
}
.modal input:checked ~ .modal-overlay {
  transform: scale(1);
  opacity: 1;
  z-index: 30000;
  overflow: auto;
  display: flex;
  animation-duration: 0.5s;
  animation-name: fade-in;
  -moz-animation-duration: 0.5s;
  -moz-animation-name: fade-in;
  -webkit-animation-duration: 0.5s;
  -webkit-animation-name: fade-in;
}
.modal input:checked ~ .modal-overlay .modal-wrap {
  transform: translateY(0);
  z-index: 9999;
}

/* Responsive Design */
/* Tablet size */
@media (max-width: 800px) {
  .modal .modal-wrap {
    width: 80%;
    padding: 20px;
  }
}

/* Phone size */
@media (max-width: 500px) {
  .modal .modal-wrap {
    width: 90%;
  }
}

/* Fadein from display:none */
@keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: flex;
    opacity: 0;
  }
  100% {
    display: flex;
    opacity: 1;
  }
}

@-moz-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: flex;
    opacity: 0;
  }
  100% {
    display: flex;
    opacity: 1;
  }
}

@-webkit-keyframes fade-in {
  0% {
    display: none;
    opacity: 0;
  }
  1% {
    display: flex;
    opacity: 0;
  }
  100% {
    display: flex;
    opacity: 1;
  }
}
#onclick01 {
  display: none;
}
.float_l {
  float: left;
}
.float_r {
  float: right;
}
.w25 {
  width: 25%;
}
.w70 {
  width: 70%;
}
div.modal-overlay p {
  font-size: 22px;
  font-weight: bold;
  letter-spacing: 1px;
  margin-top: 15px;
}
div.modal-overlay span.red00 {
  font-size: 30px;
  color: #ff0004;
  font-weight: bold;
}
div.modal-overlay p span {
  font-size: 18px;
  color: #666;
}

/*　button　*/
.btn_enter {
  display: block;
  width: 100%;
  margin: 30px auto 0 auto;
  text-align: center;
  padding: 15px 0;
  background: #ef1a55;
  color: #fff !important;
  position: relative;
  border-radius: 7px;
  border-radius: 2px;
  box-shadow: 0 6px #b01540;
  top: 0;
  transition: 0.2s all;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 3px;
  text-decoration: none !important;
}
.btn_enter:hover {
  border-radius: 2px;
  box-shadow: 0 6px #b01540;
  top: 0;
  transition: 0.2s all;
  opacity: 0.8;
}
.btn_enter:active {
  box-shadow: 0 1px #b01540;
  top: 5px;
}
.btn_leave {
  display: block;
  width: 100%;
  margin: 35px auto 15px auto;
  text-align: center;
  padding: 15px 0;
  background: #808080;
  color: #fff !important;
  position: relative;
  border-radius: 7px;
  border-radius: 2px;
  box-shadow: 0 6px #6a6a6a;
  top: 0;
  transition: 0.2s all;
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 3px;
  text-decoration: none !important;
}
.btn_leave:hover {
  border-radius: 2px;
  box-shadow: 0 6px #4d4d4d;
  top: 0;
  transition: 0.2s all;
  opacity: 0.8;
}
.btn_leave:active {
  box-shadow: 0 1px #4d4d4d;
  top: 5px;
}
.xmas_btn_area_pref {
  width: 1400px;
  height: 100%;
  overflow: hidden;
  margin: 0 auto;
}
.xmas_btn_area_pref a {
  position: fixed;
  width: 250px;
  bottom: 0;
}
.flex_radio span {
  color: #ff0000;
  display: inline-block;
  background: url("https://img.undernavi.com/images/xmas/bg_count.png")
    no-repeat;
  background-size: 100% 100%;
  width: 60px;
  height: 25px;
  margin-top: 12px;
  margin-left: -5px;
  position: relative;
  font-size: 16px;
}
.flex_radio span b {
  font-weight: normal;
  padding-left: 20px;
  padding-top: 4px;
  /* vertical-align: middle; */
  display: inline-block;
}
.modaal-content-container .prof_area input[type="radio"]:checked + label {
  background-image: url("https://img.undernavi.com/images/xmas/btn_iine_ov.png");
  background-repeat: no-repeat;
  background-size: contain;
  width: 75px;
  height: 40px;
}
#helloUser2 {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  margin: 20px auto 10px;
  width: 950px;
}
.mypageNavi2 {
  display: flex;
  width: 760px;
  align-items: center;
}
.mypageNavi2 li {
  font-size: 13px;
  background: #eeeeee;
  font-weight: bold;
  flex: auto;
}
.mypageNavi2 li a {
  padding: 15px 0px;
  display: flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
  position: relative;
  font-size: 13px;
}
.mypageNavi2 li:first-child {
  background: #c90037;
  color: #fff;
  border-radius: 50px 0px 0px 50px;
  padding: 15px 0px 15px 20px;
}
.mypageNavi2 li:last-child {
  border-radius: 0 50px 50px 0;
}
.mypageNavi2 li:nth-child(2) a::before,
.mypageNavi2 li:nth-child(3) a::before,
.mypageNavi2 li:nth-child(4) a::before,
.mypageNavi2 li:nth-child(5) a::before,
.mypageNavi2 li:nth-child(6) a::before,
.mypageNavi2 li:nth-child(7) a::before,
.mypageNavi2 li:nth-child(8) a::before {
  flex-shrink: 0;
  content: "";
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
  width: 16px;
  height: 16px;
}
.mypageNavi2_top a::before {
  background-image: url(https://img.undernavi.com/front/pc/mypage/menu_home.png);
}
.mypageNavi2_explore a::before {
  background-image: url(https://img.undernavi.com/front/pc/mypage/menu_search.png);
}
.mypageNavi2_notifications a::before {
  background-image: url(https://img.undernavi.com/front/pc/mypage/mypage_notification.png);
}
.mypageNavi2_message a::before {
  background-image: url(https://img.undernavi.com/front/pc/mypage/mypage_msg.png);
}
.mypageNavi2_enquete a::before {
  background-image: url(https://img.undernavi.com/front/sp/mypage/icon_point.png);
}
.mypageNavi2_review a::before {
  background-image: url(https://img.undernavi.com/front/pc/mypage/mypage_rev.png);
}
.mypageNavi2_asobotalk a::before {
  background-image: url(https://img.undernavi.com/front/sp/mypage/icon_asobo_talk.png);
}
.myBtn a {
  padding: 15px 20px;
  display: block;
  white-space: nowrap;
  text-align: center;
  background: #eee;
  border-radius: 50px 50px;
  font-weight: bold;
}
.myBtn img {
  border-radius: 50%;
  overflow: hidden;
  width: 23px;
  height: 23px;
}
.myBtn {
  display: flex;
  align-items: center;
}
.mypageNavi2 li a span {
  position: absolute;
  top: 0;
  right: 0;
  width: 23px;
  height: 23px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #c90037;
  color: #fff;
  white-space: nowrap;
  font-size: 10px;
}
.mypageNavi2 li a span:empty {
  display: none;
}
.mb5.goto_bnr {
  position: relative;
}
.mb5.goto_bnr span {
  position: absolute;
  left: 46px;
  bottom: 4px;
  font-size: 12px;
  font-weight: bold;
  line-height: 1.3;
}
#review_content .title01.erase::after {
  background: none;
}
.shopList_Experience02 ul li:hover {
  border: 1px solid #c90037;
  margin: -1px;
}
.ex_wrap .state {
  display: inline-block;
  padding: 1px 20px;
  margin-bottom: 5px;
  background: #2ad68b;
  color: #fff;
}

.enquete_link {
  display: block;
  width: 215px;
  font-size: 11px !important;
  font-weight: bold;
  margin-right: 0;
  color: #c90037 !important;
  text-decoration: underline !important;
  margin-bottom: 10px;
}
.enquete_link > img {
  width: 17px !important;
  margin-right: 1px;
}

/**********リニューアルヘッダー
**************************************************/
header .re_header_ttl {
  padding: 15px 0;
  border-bottom: 1px solid #ccc;
}
.re_subWrap {
  width: 1370px;
  margin: 0 auto;
}
.re_utility .re_subWrap {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -ms-flex-pack: justify;
  flex-wrap: wrap;
  -ms-flex-wrap: wrap;
}
.re_utility .re_subWrap {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  -ms-flex-pack: justify;
}

.re_utility .re_subWrap ul,
.re_header_ttl .re_subWrap {
  display: flex;
  display: -ms-flexbox;
  justify-content: space-between;
  align-items: center;
}
.re_utility .re_subWrap ul a {
  display: block;
  position: relative;
  padding: 10px;
  color: #fff;
}
.re_utility .re_subWrap .recently_check a {
  background: #fff;
  color: var(--c-red-color);
  padding: 3px 10px;
  border-radius: 5px;
  margin-right: 10px;
  font-size: var(--x-small-fontsize);
}
.re_header_ttl .re_subWrap a:hover {
  opacity: 0.7;
}
.re_subWrap .ungroup li:first-child a::after {
  background: #ff0036;
}

.re_subWrap .ungroup li:nth-child(2) a::after {
  background: #fe5282;
}

.re_subWrap .ungroup li:nth-child(3) a::after {
  background: #af4492;
}

.re_subWrap .ungroup li:nth-child(4) a::after {
  background: #fcb029;
}

.re_subWrap .ungroup a::after {
  content: "";
  display: block;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 5px;
}
.re_logo {
  display: flex;
  /*align-items: center;*/
  align-items: flex-start;
  position: relative;
}
.re_logo > h1 {
  position: absolute;
  /*bottom: -4%;*/
  top: 70%;
  left: 265px;
  transform: translate(0%, 4%);
  font-size: 11px;
  width: 450px;
}
.re_topNav ul {
  display: flex;
}
.re_topNav ul li a {
  display: block;
  font-size: 14px;
  text-align: center;
}

header .re_topNav ul li {
  border-right: 1px solid #4f4f4f;
}
.entrance_list {
  display: flex;
}
.re_topNav {
  display: flex;
  align-items: center;
}
.entrance_list li.btn01 a {
  color: var(--c-red-color);
}
.entrance_list li.btn01 a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 15px;
  height: 16px;
  background: url("https://img.undernavi.com/front/pc/common/icon001.png");
  margin-right: 5px;
}
.entrance_list li.btn02 a {
  border-radius: 3px;
  margin: 0 5px;
  padding: 3px 15px;
  background: #c90037;
  color: #fff;
}
.entrance_list li.btn02 a::before {
  content: "";
  display: inline-block;
  vertical-align: middle;
  width: 15px;
  height: 16px;
  background: url("https://img.undernavi.com/front/pc/common/icon002.png");
  margin-right: 5px;
}
.re_logo .area_name {
  margin-right: 10px;
}
.re_logo .area_name .tiku_name {
  border: 1px solid #333333;
}
.re_logo .area_name span {
  padding: 3px 5px;
  border-right: 1px solid #333333;
  border-top: 1px solid #333333;
  border-bottom: 1px solid #333333;
  display: inline-block;
}
.entrance_list .btn03 {
  padding-right: 5px;
  margin-right: 5px;
}
.re_nofp {
  color: #c90037;
  font-weight: bold;
  padding-top: 5px;
}
.re_nofp span {
  color: #333;
}
.re_topNav .header_newNav {
  margin-right: 30px;
}
.re_topNav .header_newNav ul li {
  width: 70px;
}
.re_logo figure {
  margin-right: 20px;
}
.re_topNav .header_newNav ul li img {
  margin-bottom: 5px;
}
.re_topNav .header_newNav ul li a {
  font-size: 12px;
}
.entrance_list li.btn02 {
  border-right: 0;
}
#breadCrumb.re_breadCrumb ol {
  width: 1370px;
}
#appealArea.re_appealArea li .re_subWrap {
  position: relative;
  height: 300px;
}
#appealArea.re_appealArea {
  height: 300px;
  position: relative;
  overflow: hidden;
}
#appealArea.re_appealArea .shops {
  background-size: cover;
  background-position: center center;
}
/*****
*****************************/
/*********フリー検索
**********************************/
.search_left {
  margin-bottom: 10px;
}
.srchbox_list {
  display: flex;
  font-size: 11px;
}
.srchbox_list li a {
  display: block;
  background: #eeeeee;
  padding: 2px 8px;
  font-weight: bold;
  margin-right: 2px;
}
.srchbox_list li a.active {
  background: #00b8ee;
  color: #fff;
}
.search_left input[type="text"] {
  border: solid 3px #00b8ee;
  padding: 3px;
  height: 40px;
}
.search_left form {
  position: relative;
}
#left .search_left button {
  position: absolute;
  right: 0;
  top: 0;
  background: #00b8ee;
  width: auto;
  border-radius: 0;
  margin: 0;
  padding: 9px;
}
#left .watched_select form button {
  border-radius: 0px;
}
/*********トレンド
**********************************/
.trend_word li {
  border: 1px solid #a0a0a0;
  border-radius: 5px;
  margin: 0 5px 5px 0;
  padding: 0px 5px;
  font-size: var(--xx-smaller-fontsize);
}
.trend_word {
  display: flex;
  flex-wrap: wrap;
  margin-bottom: 10px;
  padding: 0 10px;
}
/*********予算
**********************************/
.watched_select {
  position: relative;
}
.watched_select select {
  border: 2px solid #959595;
  margin: 0 auto;
  display: block;
  padding: 3px 10px;
}
.watched_select::after {
  content: "▼";
  color: #444444;
  position: absolute;
  right: 30px;
  top: 10px;
  pointer-events: none;
}
#left.re_left .watched_select button {
  width: 130px;
  height: 30px;
  border-radius: 0;
  margin: 10px auto 20px;
}
/*****タイトル関連
***********************************/
.re_title {
  padding: 10px 20px;
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 20px;
  font-weight: bold;
  margin-bottom: 10px;
}
.re_title01 {
  background: #c90037;
  color: #fff;
}

.re_title .right {
  order: 1;
  text-align: left;
  font-size: var(--small-fontsize);
  color: #ffeff1;
  margin-left: 10px;
}
.re_title a {
  order: 2;
  margin-left: auto;
}
.re_title .right .circle {
  margin-left: 5px;
}
.re_title02 {
  background: #c90037;
  color: #fff;
}
.re_title03 {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 0;
}

.re_title a {
  background: #eeeeee;
  border-radius: 10px;
  padding: 2px 10px;
  color: #010101;
  font-size: var(--xx-smaller-fontsize);
  vertical-align: middle;
  display: flex;
  align-items: center;
}
.re_title a::after,
.tab_content-more a::after,
.ranking_list-more a::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  background: url("https://img.undernavi.com/front/pc/area/pref/re_top_icon_more.png")
    no-repeat center;
  width: 18px;
  height: 18px;
}
.re_left_ttl {
  background: #ededed;
  padding: 10px;
  margin-bottom: 10px;
  color: var(--c-red-color);
  font-weight: bold;
}
.srchbox.re_srchbox dd a img {
  margin-right: 5px;
}
/****アソボ（旧キテネ）ボタン
*********************/
.asobo_noti {
  position: fixed;
  bottom: 50px;
  left: 100px;
  z-index: 999;
}
.asobo_noti a {
  position: relative;
  background: rgba(0, 0, 0, 0.6);
  border-radius: 50%;
  display: flex;
  flex-direction: column;
  width: 100px;
  height: 100px;
  box-sizing: border-box;
  border: 2px solid #fff;
}
.asobo_count {
  position: absolute;
  right: -10px;
  top: -5px;
  background: #ff7095;
  color: #fff;
  border-radius: 50%;
  width: 30px;
  height: 30px;
  text-align: center;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
}
.asobo_noti figure {
  position: absolute;
  top: 50%;
  left: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  width: 80px;
}
.asobo_noti figure img {
  max-width: 75%;
}
.asobo_name {
  text-align: center;
  background: #ff7095;
  border-radius: 5px;
  color: #fff;
  width: 70%;
  border: 2px solid #fff;
  box-sizing: border-box;
  position: absolute;
  bottom: -15px;
  left: 50%;
  transform: translateX(-50%);
  padding-top: 0px;
  font-size: var(--xx-smaller-fontsize);
}
.asobo_noti a:hover {
  opacity: 0.8;
  transition: 0.2s;
}
/****************左カラムフリーサーチ
***************************************/

.left_search_shop input {
  /* width: 95%; */
  border-radius: 5px;
  background: #fff;
  padding: 5px;
}

/*------------------------------------------------------------------------------
 * モーダル用
 *----------------------------------------------------------------------------*/
/* stop scroll */
.jsStopScroll {
  position: static;
}
.jsStopScrollStopped {
  position: fixed;
  overflow: hidden;
  width: 100%;
  height: 100%;
}

/* SimpleModal */
.jsModal {
  z-index: 2;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  background-color: rgba(0, 0, 0, 0.8);
}
.jsModal_scroller {
  position: relative;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

/* SimpleModal2 */
.js-modal {
  display: none;
  z-index: 201;
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.8);
  overflow: hidden;
}
.js-modal-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}
.js-modal-container.js-modal-container-purge-centering {
  align-items: flex-start;
}
.js-modal-main {
  width: 90%;
  background-color: #fff;
}

/*------------------------------------------------------------------------------
 * リンク爆弾
 *----------------------------------------------------------------------------*/
.link-group {
  margin: 30px 0;
  padding-bottom: 0.5rem;
  border-bottom: 1px dotted #aaa;
}
.link-group:last-child {
  border-bottom: none;
}
.link-group-title {
  margin-bottom: 0.5rem;
  border-left: 4px solid #ca0138;
  padding-left: 0.25em;
  font-weight: bold;
  font-size: 1rem;
}
.link-list {
  --item-margin: 0.25rem;

  display: flex;
  flex-flow: wrap;
  margin: 0 calc(var(--item-margin) * -1);
}
.link-list-item {
  margin: var(--item-margin);
  font-size: 0.75rem;
}
.link-list-item:hover {
  opacity: 0.75;
}
.link-list-item::before {
  margin-right: 0.25em;
  content: "▶";
  color: #ca0138;
  font-size: 0.75em;
}
.link-list-item.--disabled::before {
  opacity: 0.2;
  color: inherit;
}
/************************************************

赤字割

************************************************/
#shopInformation .deficit_discount .contentwrap,
.deficit_data-wrap {
  background: repeating-linear-gradient(
    -45deg,
    rgb(251, 232, 236),
    rgb(251, 232, 236) 8px,
    rgb(255, 255, 255) 0,
    rgb(255, 255, 255) 10px
  );
  position: relative;
}
.deficit_data-wrap {
  padding: 20px 0;
  margin: 20px 0;
}
.deficit_data-wrap .deficit_data::before {
  top: -25px;
}
.deficitBox.plandx .deficit_data::before {
  left: 0;
  top: 0;
}
.member_ex {
  background: #ff0;
  color: var(--c-red-color);
  display: inline-block;
  padding: 0px 10px;
  font-weight: bold;
  font-size: var(--medium-fontsize);
}
.deficit_discount01 {
  position: relative;
}
.item_list .defict_img {
  margin-top: 0;
}
.defict_img {
  background: url(https://img.undernavi.com/front/pc/area/pref/watched/pc_no_login_bg.jpg)
    no-repeat;
  position: relative;
  background-position: center top;
  margin-bottom: 20px;
  margin-top: 10px;
}
.defict_img::before {
  content: "";
  display: block;
  padding-top: 48%;
}
.defict_img-item {
  position: absolute;
  left: 50%;
  top: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
}
.defict_img-item .defict_login-btn {
  display: block;
  width: 300px;
  padding: 10px 0;
  margin: 10px auto;
  background: #c90037;
  border: none;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
  border-radius: 5px;
}
.defict_login-regist {
  font-size: 14px;
}
.defict_login-regist a {
  color: #c90037;
  text-decoration: underline;
}
.deficit_ttl {
  display: flex;
  align-items: center;
  padding: 0 0 0 10px;
}
.deficit_ttl img {
  max-width: 15%;
  margin-right: 10px;
}
.deficit_coupon-name {
  box-sizing: border-box;
  width: 100%;
  margin: 0 auto 10px;
  padding: 5px;
  background: repeating-linear-gradient(
      90deg,
      rgba(0, 0, 0, 0) 0,
      rgba(0, 0, 0, 0) 3px,
      rgba(112, 43, 0, 0.1) 3px,
      rgba(112, 43, 0, 0.1) 6px
    ),
    linear-gradient(#df010c 0, #f90d02 100%);
  border-top: 1px solid #e4bc7e;
  border-bottom: 1px solid #df010c;
  outline: 1px solid #b73541;
  text-align: center;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-shadow: 1px 1px 1px #000;
}
.deficit_body {
  display: flex;
}
.deficit_body .left {
  width: 170px;
  margin-right: 10px;
}
.deficit_body .right {
  flex: 1;
}
.deficit_body .right_inner {
  display: flex;
  margin: 0 0 30px 0px;
}
.deficit_coupon-right {
  display: flex;
  justify-content: space-between;
}
.deficit_body .qr {
  width: 120px;
  background: #f5f5f5;
  box-shadow: 1px 1px 1px #aaa;
}
.deficit_body .qr p {
  font-size: var(--x-small-fontsize);
  text-align: center;
}
.deficit_data {
  width: 840px;
  margin: 5px auto 30px;
}
.deficit_coupon {
  box-sizing: border-box;
  position: relative;
  margin-right: 25px;
  background: #eeeeee;
  padding: 10px 10px 20px;
  width: 515px;
}
.dificit_price-img {
  width: 22%;
}
.usage_period {
  background: var(--c-red-color);
  color: #fff;
  padding: 0 12px;
  border-radius: 5px;
  font-weight: normal;
  margin-right: 10px;
}
.usege {
  font-weight: bold;
  margin-bottom: 10px;
  text-align: right;
  font-size: var(--larger-fontsize);
}
.regular_rate .denial {
  text-decoration: line-through;
}
.dificit_price .afterFee span {
  color: var(--c-red-color);
  font-size: 45px;
  font-weight: bold;
  margin-left: 10px;
}
.dificit_price .afterFee {
  font-size: 26px;
  font-weight: bold;
  line-height: 1.2;
  text-align: right;
}
.regular_rate {
  text-align: right;
  font-size: var(--medium-fontsize);
}
.dificit_price .label {
  text-align: center;
  background: #fff;
  padding: 5px 30px;
  border: 1px solid #626262;
  border-radius: 20px;
  color: var(--c-red-color);
  font-weight: bold;
  position: absolute;
  left: 50%;
  bottom: -15px;
  transform: translateX(-50%);
  white-space: nowrap;
  box-sizing: border-box;
}
.dificit_price .label strong,
.dificit_price .label span {
  font-weight: bold;
  font-size: var(--x-large-fontsize);
}
.note_pass {
  background: #fffa06;
  color: #c80037;
  padding: 10px;
  margin: 0 5px 10px 5px;
  border-radius: 5px;
  font-size: var(--x-large-fontsize);
  font-weight: bold;
}
.deficit_note {
  font-size: var(--medium-fontsize);
  text-align: left;
  line-height: 3;
  font-weight: bold;
  margin-bottom: 10px;
}
.deficit_body .left a {
  color: var(--c-red-color);
  font-weight: bold;
  font-size: var(--medium-fontsize);
  text-decoration: none;
}
.deficit_remarks {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  width: 100%;
  padding: 5px;
  background: #f5f5f5;
  border: 1px solid #aaa;
  font-size: var(--small-fontsize);
}
.deficit_remarks dt {
  width: 20%;
  text-align: center;
}
.deficit_remarks dd {
  padding: 0 10px;
  border-left: 1px solid #aaa;
  text-align: left;
}
.deficit_body .size {
  font-size: var(--small-fontsize);
  text-align: left;
  margin-bottom: 5px;
}
.deficit_sche {
  background: #fee4ed;
  font-size: var(--x-small-fontsize);
  display: flex;
  padding: 5px;
}
.deficit_sche dt {
  font-weight: bold;
}
.no_login-img {
  margin-top: 20px;
}
.deficit_body figure {
  margin-bottom: 5px;
}
.deficit_report-btn {
  margin-top: 10px;
  padding-top: 10px;
  text-align: right;
}
.modal_deficit {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translateX(calc(-50% - 0.5px)) translateY(calc(-50% - 0.5px));
  border: solid 4px #c90037;
  padding: 20px;
  background: #fff;
  width: 475px;
  height: 365px;
  z-index: 999;
}
.deficit_report-close {
  position: absolute;
  right: -5px;
  top: -40px;
  cursor: pointer;
}

/*------------------------------商品説明---------------------------*/

.update_state-inner {
  width: 1000px;
  margin: 0 auto;
  padding: 10px 0 20px;
}
.update_state-box {
  background: #eee;
  position: fixed;
  left: 0;
  bottom: 0;
  width: 100%;
  z-index: 2;
}
.state_list {
  display: flex;
}
.state_list-item {
  width: calc((100% / 7) - 20px);
  margin: 0 10px 0 0;
  box-shadow: 0px 2px 1px 0px rgba(0, 0, 0, 0.2);
  border: 1px solid #333;
  border-radius: 5px;
  padding: 10px 5px;
  background: #fff;
  text-align: center;
}
.update_state-ttl {
  font-size: 14px;
  margin-bottom: 5px;
  color: #666;
}
.update_state-ttl span {
  font-size: 16px;
  font-weight: bold;
  margin-right: 10px;
}
.state_num {
  display: block;
  font-size: 22px;
  font-weight: bold;
  color: #eb4a9a;
  white-space: nowrap;
}
.state_item {
  font-size: 16px;
  color: initial;
}
.state_item.state_item02 {
  font-size: 14px;
}
.state_open {
  font-size: 13px;
  color: #eb4a9a;
  font-weight: bold;
}
.state_list-item.att a {
  background: #eb4a9a;
  color: #fff;
  padding: 10px;
  height: 100%;
  box-sizing: border-box;
  text-align: left;
  position: relative;
  font-weight: bold;
  display: flex;
  align-items: center;
}
.state_list-item.att {
  padding: 0;
  overflow: hidden;
  width: 200px;
  margin-right: 0;
  border: none;
}
.update_state-ttl span:first-child::before {
  content: "";
  display: inline-block;
  background: url(https://img.undernavi.com/front/pc/shop/icon_info.png)
    no-repeat;
  width: 23px;
  height: 23px;
  vertical-align: middle;
  margin-right: 5px;
}
.update_state-ttl span:nth-child(2) {
  margin-left: 10px;
}
.update_state-ttl span:last-child::before {
  content: "";
  display: inline-block;
  background: url(https://img.undernavi.com/front/pc/shop/login_shopicon.png)
    no-repeat;
  width: 22px;
  height: 23px;
  vertical-align: middle;
  margin-right: 5px;
}
.update_state-ttl span:last-child {
  width: 45%;
  overflow: hidden;
  display: inline-block;
  vertical-align: middle;
}
.update_state {
  box-shadow: 0px -3px 5px 0px rgba(0, 0, 0, 0.3);
}
.update_state-trigger {
  position: absolute;
  left: 0;
  top: -20px;
}
.update_state-trigger {
  position: absolute;
  left: 0px;
  top: -25px;
  background: #eee;
  width: 70px;
  height: 25px;
  box-shadow: 2px -2px 2px rgba(0, 0, 0, 0.3);
  border-radius: 10px 10px 0px 0px;
  box-sizing: border-box;
  cursor: pointer;
}
.update_state-trigger::after {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 0.9em;
  height: 0.9em;
  border: 0.15em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translate(-50%, -50%) rotate(135deg);
  position: absolute;
  left: 50%;
  top: 50%;
  content: "";
  pointer-events: none;
}
.update_state-trigger.close::after {
  display: inline-block;
  vertical-align: middle;
  color: #333;
  line-height: 1;
  width: 0.9em;
  height: 0.9em;
  border: 0.15em solid currentColor;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translate(-50%, -50%) rotate(315deg);
  position: absolute;
  left: 50%;
  top: 75%;
  content: "";
  pointer-events: none;
}
.state_list-item.att a::after {
  display: inline-block;
  vertical-align: middle;
  color: #fff;
  line-height: 1;
  width: 0.9em;
  height: 0.9em;
  border: 0.2em solid currentColor;
  border-bottom-color: currentcolor;
  border-bottom-style: solid;
  border-bottom-width: 0.15em;
  border-left-color: currentcolor;
  border-left-style: solid;
  border-left-width: 0.15em;
  border-left: 0;
  border-bottom: 0;
  box-sizing: border-box;
  transform: translateY(-50%) rotate(45deg);
  position: absolute;
  right: 10px;
  top: 50%;
  content: "";
  pointer-events: none;
}

.state_list-item.realtime {
  width: 200px;
}
.realtime_ttl {
  display: block;
}
.realtime_item {
  display: flex;
  align-items: baseline;
  justify-content: center;
  text-decoration: underline;
  text-decoration-color: #eb4a9a;
  text-decoration-thickness: 2px;
}

.pc_footer_banner ~ .update_state-box {
  z-index: 99999;
}
.state_list-item a .state_num {
  text-decoration: underline;
  text-decoration-color: #eb4a9a;
  text-decoration-thickness: 2px;
}
.state_num02 {
  font-size: 22px;
  font-weight: bold;
  color: #eb4a9a;
}
/*------------------------------キャッシュバックモーダル---------------------------*/
.cashback_btn {
  position: fixed;
  left: 45%;
  bottom: 13%;
  z-index: 99;
  margin-left: -575px;
}
.cashback_modal {
  display: none;
  position: fixed;
  width: 360px;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 2;
  text-align: center;
  height: 590px;
}
.cashback_btn-link {
  position: absolute;
  bottom: 20px;
  left: 50%;
  transform: translateX(-50%);
  max-width: 100%;
  width: 90%;
}
.cashback_lay {
  position: fixed;
  top: 0;
  z-index: 1;
  width: 100vw;
  height: 100vh;
  background: rgba(0, 0, 0, 0.7);
  transition: all 0.5s ease-out;
}
.cashback_close {
  text-align: right;
  --close-bound-size: 40px;
  position: absolute;
  right: 0;
  top: -40px;
  text-align: right;
}
.cashback_close-bound {
  display: inline-block;
  position: relative;
  width: 40px;
  height: 40px;
  cursor: pointer;
}

.cashback_close-bound::before,
.cashback_close-bound::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.cashback_close-bound::before,
.cashback_close-bound::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px;
  height: 40px;
  background: #fff;
}
.cashback_close-bound::before,
.cashback_close-bound::after {
  width: 1px;
}
.cashback_close-bound::after,
.cashback_close-bound::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}

.c-badge-set {
  font-size: 16px;
  display: flex;
  gap: 0.2em;
}
.c-badge-set__icon {
  font-size: inherit;
  img {
    height: 1.5em;
  }
}
.c-badge-set__badge {
  --color: #000;
  font-size: inherit;
  font-weight: bold;
  border: 2px solid var(--color);
  color: var(--color);
  border-radius: 0.4em;
  background-color: #fff;
  padding: 0 0.4em;
  line-height: 1;
  display: flex;
  align-items: center;
  justify-content: center;
}
.c-badge-set__badge--ver-1 {
  --color: rgb(234 206 85);
}

/* 
本Comment以降Globalの意味合いでG接頭辞を付ける。
例えばg-button, gButton, g_button等。
*/

.g-checkbox-set {
  display: flex;
  gap: 5px;
  align-items: center;
  font-size: 16px;
  &::before {
    content: "";
    width: 20px;
    height: 20px;
    border: 2px solid #3498db;
    border-radius: 50%;
    transition: 0.2s;
  }
  &:has(:checked)::before {
    background-color: #3498db;
    box-shadow: inset 0 0 0 5px #fff;
  }
  input {
    display: none;
  }
}

.g-label {
  --color: #c80037;
  display: block;
  width: max-content;
  font-size: 11px;
  color: var(--color);
  font-weight: bold;
  padding: 0.125em 0.25em;
  border: 1px solid var(--color);
  border-radius: 5px;
}
.g-label--stand-alone {
  margin-bottom: 5px !important;
}

.g-error-messages {
  --color: #f00;
  padding: 1rem;
  border: 1px solid var(--color);
  border-radius: 0.5rem;
  li {
    color: var(--color);
  }
}
.g-error-messages--stand-alone {
  margin: 10px 0;
}

/*  */
