@charset "UTF-8";

/*-------------------------
__shop_style
-------------------------*/
#wrap{background:var(--colorIvory) url(/images/cmn_bg04.png)repeat-y top center / 100% auto;}

#content #main #page{position:relative;}
#content #main #page .bg{overflow:hidden;position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;}
#content #main #page .bg li{width:300px;height:300px;margin:auto;position:absolute;}
#content #main #page .bg li.bg01{top:200px;left:-150px;}
#content #main #page .bg li.bg02{top:400px;right:0;}
#content #main #page .bg li.bg03{top:100px;bottom:0;left:0;}
#content #main #page .bg li.bg04{top:0;bottom:100px;right:-150px;}
#content #main #page .bg li.bg05{bottom:400px;right:-150px;}
#content #main #page .bg li.bg06{bottom:200px;left:0;}
#content #main #page .flower li{position:absolute;}
#content #main #page .flower li:nth-child(1){width:60px;top:-20px;right:50px;}
#content #main #page .flower li:nth-child(2){width:80px;top:10px;right:-30px;}
#content #main #page .flower li:nth-child(3){width:60px;bottom:30px;left:-20px;}
#content #main #page .flower li:nth-child(4){width:40px;bottom:-10px;left:80px;}
#content #main #page .page_inner{border:5px solid var(--colorRed);position:relative;}
#content #main #page .shop_cat{margin:-5px 0;padding:0 20px 0 0;box-sizing:border-box;}
#content #main #page .shop_cat span{display:inline-block;font-size:1.4em;font-weight:700;margin:5px 10px 5px 0;padding:5px 10px;border-radius:100px;}
/* 協賛 */#content #main #page .shop_cat .cat01{color:#FFF;background-color:#17327f;}
/* 飲食 */#content #main #page .shop_cat .cat02{color:#FFF;background-color:#e54833;}
/* グルメ */#content #main #page .shop_cat .cat03{background-color:#ffc871;}
/* 住まい */#content #main #page .shop_cat .cat04{background-color:#bfddb6;}
/* 理美容健康 */#content #main #page .shop_cat .cat05{background-color:#f9a0a9;}
/* 車 */#content #main #page .shop_cat .cat06{background-color:#9ec6e8;}
/* その他 */#content #main #page .shop_cat .cat07{background-color:#DDD;}
/* クーポン */#content #main #page .shop_cat .coupon{background-color:#efd40f;}
#content #main #page .shop_ttl{font-size:3.5em;font-weight:900;line-height:1.3;margin:25px 0 0;padding:0 0 0 55px;color:var(--colorRed);position:relative;}
#content #main #page .shop_ttl .shop_num{display:inline-block;width:45px;height:45px;font-size:57.14%;line-height:45px;vertical-align:top;text-align:center;color:#FFF;background:url(/images/cmn_icon01.svg)no-repeat center / contain;position:absolute;top:2px;left:0;}
#content #main #page .shop_txt{font-size:1.8em;font-weight:700;line-height:2;margin:20px 0 0;}
#content #main #page .coupon{margin:30px auto 0;padding:15px;border-radius:15px;background-color:#efd40f;}
#content #main #page .coupon dl{font-size:1.6em;margin:auto;padding:0 30px 20px;box-sizing:border-box;border-radius:10px;background-color:#FFF;position:relative;}
#content #main #page .coupon dl::before,
#content #main #page .coupon dl::after{content:"";display:block;width:26px;height:26px;margin:auto;border-radius:50%;background-color:#efd40f;position:absolute;top:0;bottom:0;}
#content #main #page .coupon dl::before{left:-13px;}
#content #main #page .coupon dl::after{right:-13px;}
#content #main #page .coupon dl dt{display:inline-block;font-weight:700;line-height:1.5;padding:8px 15px;border-radius:0 0 10px 10px;background-color:#efd40f}
#content #main #page .coupon dl dd{line-height:2;padding:10px 0;color:var(--colorRed);background-image:repeating-linear-gradient(90deg, var(--colorRed), var(--colorRed) 6px, transparent 6px, transparent 9px);background-position:left bottom;background-repeat:repeat-x;background-size:100% 2px;}
#content #main #page .box{max-width:640px;margin:50px auto 0;}
#content #main #page .box .img{overflow:hidden;border-radius:15px;background-color:#f7f7f7;}
#content #main #page .box .txt{font-size:1em;margin:35px 0 0;}
#content #main #page .box .txt h2{font-size:2.4em;font-weight:700;line-height:1.5;}
#content #main #page .box .txt p{font-size:1.6em;line-height:2;}
#content #main #page .box .txt h2 + p{margin-top:15px;}
#content #main #page .shop_info{margin:80px 0 0;}
#content #main #page .shop_info .shop_info_ttl{font-size:2.1em;font-weight:700;margin:0 0 15px;color:var(--colorRed);}
#content #main #page .shop_info dl{display:flex;font-size:1.5em;line-height:1.5;padding:25px 0;background-image:repeating-linear-gradient(90deg, var(--colorRed), var(--colorRed) 6px, transparent 6px, transparent 9px);background-position:left bottom;background-repeat:repeat-x;background-size:100% 2px;}
#content #main #page .shop_info dl dt{width:9em;font-weight:900;}
#content #main #page .shop_info dl dd{flex:1;padding:0 0 0 10px;box-sizing:border-box;}
#content #main #page .shop_info a{font-weight:700;color:var(--colorRed);}
#content #main #page .googlemap{margin:50px -50px -51px;overflow:hidden;border-radius:0 0 10px 10px;}
#content #main #page .googlemap iframe{width:100%;height:370px;border:none;}

@media screen and (min-width:768px) {
  #content #main #page .shop_info dl a{transition:opacity 0.3s;}
  #content #main #page .shop_info dl a:hover{opacity:0.5;}
}
@media screen and (max-width:980px) {
  #content #main #page .bg li{width:200px;height:200px;}
  #content #main #page .bg li.bg01{left:0;}
  #content #main #page .bg li.bg04{right:0;}
  #content #main #page .bg li.bg05{right:0;}
  #content #main #page .shop_cat span{font-size:1.3em;}
  #content #main #page .shop_ttl{font-size:2.5em;margin:20px 0 0;padding:0 0 0 45px;}
  #content #main #page .shop_ttl .shop_num{width:35px;height:35px;line-height:35px;top:0;}
  #content #main #page .shop_txt{font-size:1.6em;margin:15px 0 0;}
  #content #main #page .coupon{margin:25px auto 0;padding:12px;}
  #content #main #page .coupon dl{font-size:1.5em;margin:auto;padding:0 25px 20px;}
  #content #main #page .box{margin:40px auto 0;}
  #content #main #page .box .txt{margin:25px 0 0;}
  #content #main #page .box .txt h2{font-size:2.1em;}
  #content #main #page .box .txt p{font-size:1.5em;}
  #content #main #page .box .txt h2 + p{margin-top:10px;}
}
@media screen and (max-width:767px) {
  #content #main #page .bg li{width:100px;height:100px;}
  #content #main #page .flower li:nth-child(1){width:30px;top:-10px;right:25px;}
  #content #main #page .flower li:nth-child(2){width:40px;top:5px;right:-15px;}
  #content #main #page .flower li:nth-child(3){width:30px;bottom:15px;left:-10px;}
  #content #main #page .flower li:nth-child(4){width:20px;bottom:-10px;left:40px;}
  #content #main #page .shop_cat span{font-size:1.2em;margin:3px 5px 3px 0;}
  #content #main #page .shop_ttl{font-size:2em;margin:15px 0 0;}
  #content #main #page .shop_ttl .shop_num{top:-3px;}
  #content #main #page .shop_txt{font-size:1.4em;line-height:1.7;margin:10px 0 0;}
  #content #main #page .coupon{margin:20px auto 0;padding:10px;border-radius:10px;}
  #content #main #page .coupon dl{font-size:1.4em;margin:auto;padding:0 20px 20px;border-radius:7px;}
  #content #main #page .coupon dl::before,
  #content #main #page .coupon dl::after{width:20px;height:20px;}
  #content #main #page .coupon dl::before{left:-10px;}
  #content #main #page .coupon dl::after{right:-10px;}
  #content #main #page .coupon dl dt{padding:5px 12px;}
  #content #main #page .coupon dl dd{line-height:1.5;}
  #content #main #page .box{margin:30px auto 0;}
  #content #main #page .box .img{border-radius:10px;}
  #content #main #page .box .txt{margin:15px 0 0;}
  #content #main #page .box .txt h2{font-size:1.7em;}
  #content #main #page .box .txt p{font-size:1.4em;line-height:1.7;}
  #content #main #page .box .txt h2 + p{margin-top:5px;}
  #content #main #page .shop_info{margin:40px 0 0;}
  #content #main #page .shop_info .shop_info_ttl{font-size:1.7em;margin:0 0 5px;}
  #content #main #page .shop_info dl{display:block;font-size:1.3em;padding:15px 0 20px;}
  #content #main #page .shop_info dl dd{padding:5px 0 0}
  #content #main #page .googlemap{margin:30px calc(var(--pageSideMargin) * -1) calc(var(--pageSideMargin) * -1);border-radius:0 0 9px 9px;}
  #content #main #page .googlemap iframe{height:270px;}
}