@charset "utf-8";

/*----------------------------------------------------------
font-size
26px : 2rem
24px : 1.84rem
22px : 1.69rem
20px : 1.53rem
18px : 1.38rem
16px : 1.23rem
15px : 1.15rem
14px : 1.07rem
13px : 1rem
12px : .92rem
11px : .84rem
10px : .76rem
----------------------------------------------------------*/

article {
  padding-top: 5vw;
  margin-bottom: 10vw;
}

.cPager {
  margin-bottom: 10vw;
}

/* banner 
--------------------------------------------------------- */
.banner {
  margin-bottom: 5vw;
}

/* pagershop 
--------------------------------------------------------- */
.pagershop {
  
}
.pagershopSlider {
  margin-bottom: 5vw;
}
.pagershopSlider ul {
}
.pagershopSlider ul .cPagerSlide01 {
}

/*
firstrsv
--------------------------------------------------------- */
.firstrsv {
  background-color: #8d1e47;
  border: 2px dashed #fff;
  border-radius: 8px;
  -webkit-box-shadow: 0 0 0 4px #8d1e47;
  box-shadow: 0 0 0 4px #8d1e47;
  color: #fff;
  margin: 1em 5px;
  padding: 0.5em 1em;
  font-size: 18px;
  font-weight: bold;
  text-align: center;
}

.firstrsv span {
  display:block;
  font-size:12px;
}

.firstrsv a {
  color:#fff;
}

.rsv_rec {
  display: block;
  width: 100%;
  height: 30px;
  line-height: 30px;
  margin: 0px auto;
  border: 1px solid #ffffff;
  border-radius: 13px;
  color: #fff;
  font-size: 116%!important;
  font-weight: bold;
  text-align: center;
}

/***********************************************************
* >>> shop.css, girls.css, ranking.css共通
**********************************************************/
/* shopList01 
--------------------------------------------------------- */
.shopList01 {
  margin-bottom: 5vw;
}
.shopList01 ul {
  padding: 0 2.5vw;
}
.shopList01 ul li {
  margin-bottom: 2.5vw;
  padding: 2.5vw 2.5%;
  border-top: 1px solid #cccccc;
  border-bottom: 1px solid #cccccc;
}
.shopList01 ul li a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  color: inherit;
}
.shopList01 ul li a .image {
  width: 20%;
  padding-bottom: 20%;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
.shopList01 ul li a .content {
  width: 77.5%;
}
.shopList01 ul li a .content .title {}
.shopList01 ul li a .content .title li {
  margin-bottom: 0;
  padding: 0;
  border-top: none;
  border-bottom: none;
}
.shopList01 ul li a .content .body {
  font-size: .76rem;
}

/*
areainfo
----------------------------------------------------------*/
#areainfo div {
  padding: 0 2.5vw;
}
#areainfo div.title_area {
  padding: 0;
}
#areainfo .title01 {
  position: relative;
  margin-bottom: 2.5vw;
  padding: 0 .5em;
  font-size: 1.2rem;
  color: #c80037;
}

#areainfo h3 {
	font-size: 110%;
	font-weight: bold;
	padding: 3px 0;
	margin-top: 1.5625vw;
}
/* dx pickup 松山施策 */
.dx_pickup {
  clear: both !important;
  display: block !important;
  width: 100% !important;
  height: auto !important;
  margin: 0 0 10px !important;
  padding: 0 !important;
  overflow: hidden;
  border: none !important;
  background: #fff7c2 !important;
}
.dx_pickup .dx_pickup_ttl {
  display: block;
  padding: 5px 15px;
  color: #ffffff;
  font-size: 124%;
  background: #c6003b;
}
.dx_pickup .dx_bnr {
  display: block;
  margin: 8px 11px;
  text-align: center;
  border: none !important;
  position: relative;
  overflow: hidden;
}
.dx_pickup .dx_bnr a {
  display: block;
  margin: 0;
  padding: 0;
}
.dx_pickup .dx_bnr a img {
  vertical-align: top;
}
.dx_pickup .dx_at_link {
  display: block;
  margin-bottom: 5%;
  text-align: center;
  border: none !important;
}
.dx_pickup .dx_at_link a {
  display: block;
  margin: 0 10px;
  padding: 8px 0;
  color: #f85a98;
  font-size: 116%;
  text-align: center;
  font-weight: bold;
  background: none !important;
  border: 1px solid #f85a98;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  -o-border-radius: 5px;
  -ms-border-radius: 5px;
}
.dx_pickup .reflection {
  height: 100%;
  width: 30px;
  position: absolute;
  top: -180px;
  left: 0;
  background-color: #ffffff;
  opacity: 0;
  transform: rotate(45deg);
  animation: reflection 2s ease-in-out infinite;
  -webkit-transform: rotate(45deg);
  -webkit-animation: reflection 2s ease-in-out infinite;
  -moz-transform: rotate(45deg);
  -moz-animation: reflection 2s ease-in-out infinite;
  -ms-transform: rotate(45deg);
  -ms-animation: reflection 2s ease-in-out infinite;
  -o-transform: rotate(45deg);
  -o-animation: reflection 2s ease-in-out infinite;
}
/***********************************************************
* <<< shop.css, girls.css, ranking.css共通
**********************************************************/

/*
gps
----------------------------------------------------------*/
.gps .search {
  padding: 10px 0 5px;
}
.gps .search .searchBtn {
  line-height: 1;
  margin: 0 10px 5px;
  border: 1px solid #9c9c9c;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  background: #fff;
  background-image: -moz-linear-gradient(top, #fff, #ccc);
  background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#ccc));
  text-align: center;
  font-size: 124.1%;
  -webkit-box-shadow: 1px 1px 1px #f5f5f5;
  -moz-box-shadow: 1px 1px 1px #f5f5f5;
  box-shadow: 1px 1px 1px #f5f5f5;
}
.gps .search .searchBtn a {
  display: block;
  padding: 0.5em 0;
  color: #000;
  font-weight: bold;
  text-decoration: none;
}
.gps .result {
  margin: 0 10px 10px;
}
.gps form {
  margin: 0 auto;
  padding: 10px;
  border-top: 1px solid #d1d1d1;
  border-bottom: 1px solid #d1d1d1;
  background: #f6f6f6;
}
.gps form .search {
  float: left;
  margin: 0 5px 0 0;
}
.gps form select {
  width: 120px;
  height: 30px;
}
.gps form .submit {
  float: right;
  height: 30px;
  line-height: 28px;
  border: 1px solid #999;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
}
.gps .attention {
  clear: both;
  margin: 10px;
  padding: 10px 5px;
  background: #000;
  -webkit-border-radius: 5px;
  -moz-border-radius: 5px;
  border-radius: 5px;
  color: #fff;
}

/*==========================================================
>>>>> 特設
==========================================================*/
/*
common
--------------------------------------------------------- */
.tac {
  margin-bottom: 5vw;
  text-align: center;
}

/*
ichioshi
--------------------------------------------------------- */
#main .ichioshi {
  position: relative;
  margin-bottom: 5vw;
  border-bottom: 1px solid #d2d9d1;
}
#main .ichioshi .img_ichioshi {
  width: 100%;
  vertical-align: middle;
}
#main .ichioshi .btn_ichioshi {
  position: absolute;
  right: 3px;
  bottom: 8px;
  max-width: 27%;
  vertical-align: middle;
}

/*
shopList_Experience
--------------------------------------------------------- */
section.shopList_Experience {
  margin-bottom: 5vw;
  background: #FFF;
}
section.shopList_Experience ul {
  width: 100%;
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
}
section.shopList_Experience ul.title.cMarquee.jsMarquee {
	border:none;
	position: relative;
	display: block;
	height: 1.5em;
	padding: 0;
	line-height: 1.5;
	overflow: hidden;
	background-color: #ffffff;
	font-weight: bold;
}
section.shopList_Experience ul.title.cMarquee.jsMarquee li {
	padding:0;
}

section.shopList_Experience li {
  border-bottom: 1px solid #CCC;
  display: flex;
  padding: 1.5%;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
}
section.shopList_Experience li a {
  display: inline-block;
  width: 72px;
  margin-right: 4%;
  vertical-align: top;
}
section.shopList_Experience li:last-child {
  border-bottom: none;
}
section.shopList_Experience li .exthumb_shopList {
  /* width: 100%; */
  width: 72px;
  height: 72px;
  overflow: hidden;
}
section.shopList_Experience li .ex_wrap {
  width: 70%;
}
section.shopList_Experience li .ex_wrap h3 {
  font-size: 110%;
}
section.shopList_Experience li .ex_wrap h3, section.shopList_Experience li .ex_wrap .ex_txt {
  white-space: nowrap;
  text-overflow: ellipsis;
  width: 100%;
  overflow: hidden;
  padding-bottom: 3px;
}
.marquee-anim {
/* ボーダーや背景が不要ならばここもたぶん不要 */
overflow: hidden;
color: rgb(51, 51, 51);
/* 文字色 */
}

.marquee-anim span {
display: inline-block;
padding-left: 100%;
white-space: nowrap;
animation: Slink_marquee 10s linear infinite;
}

@keyframes Slink_marquee {
from {
transform: translate(0);
}

to {
transform: translate(-100%);
}
}
/*==========================================================
<<<<< 特設
==========================================================*/


/* 動画サムネイル
-------------------------------------------------*/
ul.flex_area {
	display: flex;
	flex-wrap: nowrap;
	justify-content: space-between;
	width: 64%;
	margin: 10px auto 15px auto;
}
ul.flex_area > li {
	width: 48%;
}
ul.flex_area > li.active a {
    width: 117px;
    height: 37px;
    line-height: 37px;
    text-align: center;
    color: #fff;
    border: 1px solid #c01c49;
    display: block;
    border-radius: 5px;
    box-shadow: 0px 1px 2px 1px #a29898;
    background: #f8084a;
    background: -moz-linear-gradient(top, #f8084a 0%, #d1013a 50%, #990029 100%);
    background: -webkit-linear-gradient(top, #f8084a 0%,#d1013a 50%,#990029 100%);
    background: linear-gradient(to bottom, #f8084a 0%,#d1013a 50%,#990029 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f8084a', endColorstr='#990029',GradientType=0 );
}
ul.flex_area > li a {
    width: 117px;
    height: 37px;
	color: #000;
    line-height: 37px;
    text-align: center;
    border: 1px solid #cccccc;
    display: block;
    border-radius: 5px;
    box-shadow: 0px 1px 2px 1px #a29898;
    background: #f3f3f3;
    background: -moz-linear-gradient(top, #f3f3f3 0%, #dcdcdc 50%, #cecece 100%);
    background: -webkit-linear-gradient(top, #f3f3f3 0%,#dcdcdc 50%,#cecece 100%);
    background: linear-gradient(to bottom, #f3f3f3 0%,#dcdcdc 50%,#cecece 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#f3f3f3', endColorstr='#cecece',GradientType=0 );
}
ul.flex_area > li a img {
	margin-right: 5px;
}
.mov_list li {
	margin-bottom: 20px;
	border-bottom: 1px solid #ccc;
	padding-bottom: 25px;
}
.mov_list li:last-child {
	margin-bottom: 0;
}
.mov_list li a.shop_name {
	display: block;
	background: #eeeeee;
	text-align: center;
	padding: 5px;
	color: #888888;
	font-size: 1.05rem;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.mov_thumb {
	display: block;
	position: relative;
}
.mov_thumb > .mov_time {
	position: absolute;
	right: 10px;
	bottom: 8px;
	color: #fff;
	font-size: 0.9rem;
	background: rgba(0,0,0,0.8);
	padding: 3px 5px;
	border-radius: 4px;
}
.inner_box {
	width: 96%;
	margin: 0 auto;
}
.mov_ttl {
	color: #c80037;
	font-weight: bold;
	font-size: 1.05rem;
	overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
	padding: 8px 0;
}
.mov_txt {
	font-size: 0.9rem;
	margin-bottom: 10px;
	overflow: hidden;
	display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
}
.cBtn02.mov_btn {
	width: 60%;
	margin: 5px auto 0 auto;
	/*border-radius: 5px;*/
}
.milk_link {
	display: block;
	width: 80%;
	padding: 10px;
	text-align: center;
	background: #ff6371;
	color: #fff;
	border-radius: 5px;
	margin: 0 auto 20px;
}
.swiper-pagination {
	height: 10vw;
}


/* 公開準備中 */
.not_deficit-txt {
  text-align: center;
  font-size: 16px;
}
.not_deficit figure {
  text-align: center;
  margin-bottom: 10px;
}
.not_deficit img {
  max-width: 15%;
  margin-bottom: 20px;
}
.not_deficit-txt span {
  display: block;
  font-weight: bold;
  font-size: 24px;
  margin-bottom: 20px;
}
.not_deficit {
  padding: 100px 0;
}

.cam_coupon + .cam_coupon2 {
	left: 30%;
	top: -4vw;
}
.editor_recommend {
	border: 1px solid #eee;
	margin: 20px 0;
}
.editor_recommend-ttl {
	border-bottom: 1px solid #eee;
	padding: 5px 10px;
	font-weight: bold;
	font-size: 15px;
}
.editor_recommend-txt {
	padding: 5px 0px;
	width: 96%;
	margin: 0 auto 5px;
	font-size: 13px;
	position: relative;
	height: auto;
	line-height: initial;
}
.editor_recommend-txt.isHidden{
  overflow-y:hidden;
}
.editor_recommend-Hide {
 display: block;
  line-height: 1.8;
  text-align: right;
}
.editor_recommend-ttl::before {
	content: "";
	display: inline-block;
	background: url(https://img.undernavi.com/front/pc/area/pref/shop/recommend_icon.png);
	width: 26px;
	height: 17px;
	vertical-align: middle;
	margin-right: 5px;
	background-size: contain;
}
.editor_recommend-more {
	display: block;
	text-align: right;
	padding: 0px 10px;
	color: #3125b3 !important;
	font-size: 13px;
}

.un_discountblock_new a {
	display: flex;
	background: #c90037;
	border: 3px solid #c90037;
	align-items: center;
	border-radius: 5px;
}
.discount_inner {
	background: #fff;
	flex: 1;
	border-radius: 5px;
	overflow: hidden;
	padding: 1vw;
	position: relative;
}
.title.elps {
	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-size: 4vw;
}
.un_discountblock_new a .logo {
	width: 20%;
	height: auto;
}
.un_discountblock_new a .logo img {
	max-width: 90%;
	height: auto;
	margin: 0 auto;
	display: block;
}
.price_inner {
	display: flex;
	align-items: end;
	gap: 0 7px;
}
.un_discountblock_new .before {
	font-size: 3vw;
}
.un_discountblock_new a .after .num {
	font-size: 6.375vw;
	font-weight: bold;
	color: #c90037;
}
.un_discountblock_new a .thatIs {
	width: 28%;
	font-size: 3.75vw;
	font-weight: bold;
	color: #fff200;
}
.price_inner .after {
	flex: 1;
	line-height: 1;
}
.un_discountblock_new {
	margin-bottom: 2vw;
}
.discount_inner::after {
	content: "";
	display: inline-block;
	width: 26px;
	height: 26px;
	background-image: url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="36" height="36" viewBox="0 0 24 24" fill="none" stroke="%23d3d3d3" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" class="ai ai-ChevronRight"><path d="M8 4l8 8-8 8"/></svg>');
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right: -5px;
	top: 50%;
	transform: translateY(-50%);
}

.shop_feature figure {
	width: 60px;
}
.shop_heading {
	display: flex;
	gap: 10px;
}
.shop_feature-modal {
	position: absolute;
	padding: 15px 10px;
	font-size: 14px;
	line-height: 1.6em;
	color: #fff;
	border-radius: 10px;
	background: #000;
	width: 75vw;
	z-index: 1;
	left: -50%;
	margin-top: 20px;
}
.shop_feature-btn a {
	display: block;
	text-align: center;
	padding: 10px;
	border-radius: 40px;
	color: #fff;
	font-size: 18px;
	font-family: "Reggae One", system-ui;
	position: relative;
}
.shop_feature-btn a::before {
	content: "";
	width: 20px;
	height: 20px;
	display: inline-block;
	background-image: url("data:image/svg+xml,%3Csvg%20xmlns='http://www.w3.org/2000/svg'%20width='18px'%20height='18px'%20viewBox='0%200%2024%2024'%3E%3Ctitle%3Eright_line%3C/title%3E%3Cg%20id='right_line'%20fill='none'%20fill-rule='evenodd'%3E%3Cpath%20d='M24%200v24H0V0h24ZM12.593%2023.258l-.011.002-.071.035-.02.004-.014-.004-.071-.035c-.01-.004-.019-.001-.024.005l-.004.01-.017.428.005.02.01.013.104.074.015.004.012-.004.104-.074.012-.016.004-.017-.017-.427c-.002-.01-.009-.017-.017-.018Zm.265-.113-.013.002-.185.093-.01.01-.003.011.018.43.005.012.008.007.201.093c.012.004.023%200%20.029-.008l.004-.014-.034-.614c-.003-.012-.01-.02-.02-.022Zm-.715.002a.023.023%200%200%200-.027.006l-.006.014-.034.614c0%20.012.007.02.017.024l.015-.002.201-.093.01-.008.004-.011.017-.43-.003-.012-.01-.01-.184-.092Z'/%3E%3Cpath%20fill='%23FFFFFF'%20d='M15.707%2011.293a1%201%200%200%201%200%201.414l-5.657%205.657a1%201%200%201%201-1.414-1.414l4.95-4.95-4.95-4.95a1%201%200%200%201%201.414-1.414l5.657%205.657Z'/%3E%3C/g%3E%3C/svg%3E");
	background-size: contain;
	background-repeat: no-repeat;
	position: absolute;
	top: 50%;
	right: 20px;
	transform: translateY(-50%);
}

.shop_feature-s {
	margin-bottom: 10px;
	background:#c80037;
}
.shop_feature-t {
	background:#4a6f8c;
}

.shop_feature-txt {
	text-align: center;
	margin: 0 auto 10px;
}
.shop_feature-modal::before {
	content: "";
	position: absolute;
	top: -24px;
	left: 40%;
	border: 15px solid transparent;
	border-top: 15px solid #000;
	margin-left: 0;
	transform: rotateZ(180deg) translateX(-50%);
}
.shop_feature-close {
	position: absolute;
	right: 5px;
	top: 5px;
}

/**************/


.yonago-contents {
	padding: 0px 0px;
}
.yonago-contents-ttl {
	padding: 2.5vw;
}
.yonago-contents .c4 {
	margin-left: 36pt;
	list-style-type: disc;
}
.yonago-contents h2 + .cAccordion {
	padding: 0 .5rem;
}
.yonago-contents .c0 {
	border-right-style: solid;
	padding: 5px;
	border-bottom-color: #000000;
	border-top-width: 1px;
	border-right-width: 1px;
	border-left-color: #000000;
	vertical-align: top;
	border-right-color: #000000;
	border-left-width: 1pt;
	border-top-style: solid;
	border-left-style: solid;
	border-bottom-width: 1pt;
	width: 50%;
	border-top-color: #000000;
	border-bottom-style: solid;
	vertical-align: middle;
}
.yonago-contents .c28 {
    color:#666666;
    font-weight:400;
    text-decoration:none;
    vertical-align:baseline;
    font-size:12pt;
    font-family:"Arial";
    font-style:normal
}
.yonago-contents .c30 {
    color:#434343;
    font-weight:400;
    text-decoration:none;
    vertical-align:baseline;
    font-size:14pt;
    font-family:"Arial";
    font-style:normal
}
.yonago-contents .c10 {
    color:#434343;
    font-weight:700;
    text-decoration:none;
    vertical-align:baseline;
    font-family:"Arial";
    font-style:normal
}
.yonago-contents .c7 {
    color:#000000;
    font-weight:400;
    text-decoration:none;
    vertical-align:baseline;
    font-size:11pt;
    font-family:"Arial";
    font-style:normal
}
.yonago-contents .c12 {
    color:#666666;
    font-weight:700;
    text-decoration:none;
    vertical-align:baseline;
    font-size:12pt;
    font-family:"Arial";
    font-style:normal
}
.yonago-contents .c3 {
    color:#232425;
    font-weight:400;
    text-decoration:none;
    vertical-align:baseline;
    font-size:8pt;
    font-family:"Arial";
    font-style:normal
}
.yonago-contents .c8 {
    color:#232425;
    font-weight:400;
    text-decoration:none;
    vertical-align:baseline;
    font-size:11pt;
    font-family:"Arial";
    font-style:normal
}
.yonago-contents .c1 {
    padding-top:0pt;
    padding-bottom:0pt;
    line-height:1.15;
    orphans:2;
    widows:2;
    text-align:left;
    height:11pt
}
.yonago-contents .c9 {
    padding-top:15px;
    text-align:left
}
.yonago-contents .c35 {
    font-weight:400;
    text-decoration:none;
    vertical-align:baseline;
    font-size:12pt;
    font-family:"Arial";
    font-style:normal
}
.yonago-contents .c16 {
    text-decoration:none;
    vertical-align:baseline;
    font-size:11pt;
    font-family:"Arial";
    font-style:normal
}
.yonago-contents .c24 {
    text-decoration:none;
    vertical-align:baseline;
    font-family:"Arial";
    font-style:normal
}
.yonago-contents .c27 {
	font-size: 16px;
}
.yonago-contents .c20 {
    padding-top:16pt;
    padding-bottom:4pt;
    page-break-after:avoid;
    text-align:left
}
.yonago-contents .c42 {
    padding-top:18pt;
    padding-bottom:6pt;
    text-align:left
}
.yonago-contents .c26 {
    padding-top:0pt;
    padding-bottom:0pt;
    text-align:center
}
.yonago-contents .c6 {
	padding-top: 20px;
	padding-bottom: 0pt;
	text-align: left;
}

.yonago-contents .c18 {
    color:#1155cc;
    text-decoration:underline
}
.yonago-contents .c37 {
    padding-top:16pt;
    text-align:left
}
.yonago-contents .c36 {
    text-decoration:none;
    vertical-align:baseline;
    font-family:"Arial";
    font-style:normal
}
.yonago-contents .c33 {
    border-spacing:0;
    border-collapse:collapse;
    margin-right:auto
}
.yonago-contents .c43 {
    background-color:#ffffff;
    max-width:451.4pt;
    padding:72pt 72pt 72pt 72pt
}
.yonago-contents .c5 {
    color:#232425;
    font-weight:700
}

.yonago-contents .c21 {
    color:#000000;
    font-weight:700
}
.yonago-contents .c31 {
    color:#000000;
    font-weight:400
}
.yonago-contents .c38 {
    font-family:"Courier New";
    font-weight:400
}
.yonago-contents .c14 {
    color:inherit;
    text-decoration:inherit
}
.yonago-contents .c40 {
    font-weight:400;
    font-size:9pt
}
.yonago-contents .c11 {
    height:0pt
}
.yonago-contents .c19 {
    color:#232425
}
.yonago-contents .c39 {
    margin-left:36pt
}
.yonago-contents .c25 {
    font-weight:700
}
.yonago-contents .c41 {
    font-size:9pt
}
.yonago-contents .c23 {
    font-size:8pt
}
.yonago-contents .c44 {
    font-size:14pt
}
.yonago-contents .cAccordionItem.--trigger {
	font-size: 3.9vw;
}
.yonago-contents .c00 {
    text-align:center;
}