/*------------------------------------------------------------
BODY BASIC
------------------------------------------------------------*/
body{
font-size:3.5vw;
line-height:6.3vw;
}

/*------------------------------------------------------------
RESPONSIVE
------------------------------------------------------------*/
.pconly{ display:none; }
.sponly{ display:block; }


/*------------------------------------------------------------
HEADER
------------------------------------------------------------*/
header{
padding:3vw 0;
}

.headerInner{
display:flex;
justify-content:space-between;
}
.siteLogo{
width:30vw;
margin-left:3vw;
display:flex;
justify-content:center;
align-items:center;
position:relative;
}
.siteLogo a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:10;
}

.headNavi{
width:64vw;
}

.hNavi{
display:flex;
justify-content:space-between;
margin-right:1vw;
}
.hNavi li{
margin:0 1vw;
display:flex;
justify-content:center;
align-items:center;
font-size:3vw;
line-height:4vw;
padding:2vw 1vw;
text-align:center;
background:#8FC31F;
}

.hNavi li:nth-child(1){
width:20vw;
}

.hNavi li:nth-child(2){
width:20vw;
}

.hNavi li:nth-child(3){
width:18vw;
}
.hNavi li a{
color:#fff;
}


/*------------------------------------------------------------
	TOPPAGE
------------------------------------------------------------*/
#kv{
width:100vw;
margin:0 auto;
}


#index1{
padding:10vw 0;
width:96vw;
margin:0 auto;
}


.i1TitleArea{
width:96vw;
margin:0 auto 6vw;
position:relative;
text-align:center;
}


.i1Title{
font-size:5.5vw;
line-height:8vw;
font-weight:bold;
font-family:'Roboto';
position:relative;
}

.i1Title span{
padding:0 10vw;
position:relative;
}
.i1Title span::before{
content:'';
width:8vw;
height:8vw;
background:url(img/icon-info01.svg) no-repeat;
background-size:8vw;
position:absolute;
top:0;
left:0;
}





.i1TitleSub{
fot-size:3.5vw
line-height:6.2vw;
font-weight:500;
}


.feedIndex{
font-size:4vw;
line-height:8vw;
margin-bottom:4vw;
display:inline-block;
padding:0 6vw;
border:2px solid #8dc21f;
background:#8dc21f;
color:#fff;
font-weight:500;
display:block;
text-align:center;
}



.feed{
width:96vw;
margin:0 auto 10vw;
}
.feed li{
position:relative;
display:flex;
justify-content:space-between;
padding:4vw 0;
}

.feed li::after{
content: '';
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 1px;
background-size: 9px 2px;
background-image: linear-gradient(to right, #ccc, #ccc 3px, transparent 2px, transparent 2px);
background-repeat: repeat-x;
}
.feed li:last-child::after{
content:'';
background:none;
}
.feed li:first-child{
padding-top:0;
}
.feed li:last-child{
padding-bottom:0;
}


.feed li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:10;
}

.feedThumb{
width:30vw;
height:22.5vw;
overflow:hidden;
}
.feedText{
width:60vw;
}
.feedDate{
font-size:2.5vw;
line-height:4vw;
color:#999;
}
.feedTitle{
font-size:4vw;
line-height:6vw;
color:#009844;
margin-bottom:.5vw;
}
.feedLead{
font-size:3.2vw;
line-height:5.5vw;
}


.btn a{
display:inline-block;
padding:3vw 10vw 3vw 6vw;
border:2px solid #8dc21f;
color:#8dc21f;
position:relative;
font-size:4vw;
line-height:7.2vw;
}
.btn a::after{
content:'';
width:1.5vw;
height:1.5vw;
border-right:2px solid #8dc21f;
border-bottom:2px solid #8dc21f;
transform:rotate(-45deg);
position:absolute;
top:5.3vw;
right:3vw;
}

#index2{
background: #f9f9f9;
padding: 10vw 0;
}


.i2TitleArea{
width:96vw;
margin:0 auto 6vw;
position:relative;
text-align:center;
}


.i2Title{
font-size:5.5vw;
line-height:8vw;
font-weight:bold;
font-family:'Roboto';
position:relative;
}

.i2Title span{
padding:0 10vw;
position:relative;
}
.i2Title span::before{
content:'';
width:8vw;
height:8vw;
background:url(img/icon-info02.svg) no-repeat;
background-size:8vw;
position:absolute;
top:0;
left:0;
}

.i2TitleSub{
margin-bottom:2vw;
}



.shopCat{
width:96vw;
margin:0 auto;
display:flex;
justify-content:space-between;
flex-wrap:wrap;
}
.shopCat li{
width:46.5vw;
margin:0 0 3vw;
background:#fff;
box-shadow:0 0 5px #ccc;
padding:2vw;
position:relative;
}

.shopCat li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:10;
}


.shopCatThumb{
width:42.5vw;
height:23.9vw;
overflow:hidden;
margin-bottom:2vw;
}



.shopCatTitle{
font-size:4vw;
line-height:6vw;
text-align:center;
}


#index3{
padding:10vw 0 12vw;
}

.bnrs{
display:flex;
justify-content:center;
}
.bnrs li{
width:46.5vw;
position:relative;
margin:0 4vw;
}


.mapLink{
text-align:right;
}
.mapLink a{
padding-left:1.2em;
position:relative;
color:#333;
text-decoration:underline;
}
.mapLink a::before{
content:'';
  width: 0;
  height: 0;
  border-left: 2vw solid black;
  border-top: 1.2vw solid transparent;
  border-bottom: 1.2vw solid transparent;
position:absolute;
top:1vw;
left:0;
}

/*------------------------------------------------------------
	UNDER LAYER
------------------------------------------------------------*/
#wrapper{
border-top:2px solid #efefef;
}





/* SERVICE */

.pteaser{
width:100%;
background:#8fc31f;
padding:6vw 0;
margin-bottom:8vw;
}


.ttl-service-01{
width:90vw;
margin:0 auto;
font-weight:500;
color:#fff;
position:relative;
padding-left:10vw;
}
h1.ttl-service-01 span{
display:block;
font-size:5vw;
line-height:8vw;
}
h1.ttl-service-01::before{
content:'';
width:8vw;
height:8vw;
background:url(img/icon-car.svg) no-repeat left center;
background-size:8vw;
position:absolute;
top:0;
left:0;
}

#page section{
width:90vw;
margin:0 auto 10vw;
}

#page section p{
font-size:4vw;
line-height:6vw;
}


#page h3{
font-size:4.5vw;
line-height:9vw;
margin-bottom:3vw;
color:#8FC31F;
}

.mapimg{
margin:4vw 0;
}
.att{
color:#f00;
font-size:4.5vw;
line-height:7vw;
margin-bottom:4vw;
}
span.caption{
font-size:3.6vw;
line-height:6vw;
position:relative;
padding-left:1.2em;
color:#333;
display:block;
}
span.caption::before{
content:'※';
position:absolute;
top:0;
left:0;
color:#999;
}

#page h4{
font-size:4.5vw;
line-height:6vw;
margin-bottom:1vw;
}


.pInfo{
font-size:3.8vw;
line-height:8vw;
margin-bottom:6vw;
}
.pInfo dt{
width:24vw;
}
.pInfo dd{
margin-left:24vw;
margin-top:-8vw;
}
.pInfo dd span{
color:#f00;
}



.accCol{
}
.accL{
margin-bottom:6vw;
}
.accR{
}
.accR p{
margin-bottom:1.5em;
}


.ttl-service-02{
width:90vw;
margin:0 auto;
font-weight:500;
color:#fff;
position:relative;
padding-left:20vw;
}
h1.ttl-service-02 span{
display:block;
font-size:5vw;
line-height:8vw;
}
h1.ttl-service-02::before{
content:'';
width:18vw;
height:8vw;
background:url(img/icon-bustrain.svg) no-repeat left center;
background-size:18vw;
position:absolute;
top:0;
left:0;
}



.rosen{
font-size:4vw;
line-height:6vw;
}
.bus{
margin-left:1em;
font-size:4vw;
line-height:7vw;
margin-bottom:1.5em;
}
.bus dt{
width:24vw;
}
.bus dd{
margin-left:24vw;
margin-top:-7vw;
}

.buscom{
display:flex;
justify-content:space-between;
margin:5vw auto 10vw;
flex-wrap:wrap;
}

.buscom li{
width:44vw;
height:15vw;
text-align:center;
position:relative;
font-size:4vw;
line-height:15vw;
color:#fff;
font-weight:bold;
display:flex;
justify-content:center;
align-items:center;
background:url(img/btnbg.svg) no-repeat;
background-size:44vw;
margin:0 0 2vw;
}
.buscom li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:10;
}




.ttl-service-03{
width:90vw;
margin:0 auto;
font-weight:500;
color:#fff;
position:relative;
padding-left:10vw;
}
h1.ttl-service-03 span{
display:block;
font-size:5vw;
line-height:8vw;
}
h1.ttl-service-03::before{
content:'';
width:8vw;
height:8vw;
background:url(img/icon-link.svg) no-repeat left center;
background-size:8vw;
position:absolute;
top:0;
left:0;
}


.linkTitle{
font-size:4.5vw;
line-height:8vw;
background:#8FC31F;
display:block;
padding:0 6vw;
border-radius:4vw;
color:#fff;
margin-bottom:4vw;
}

.linkList{
margin-bottom:8vw;
margin-left:3.5em;
}

.linkList li{
list-style-type:decimal;
}


.linkList li a{
color:#333;
font-size:4vw;
line-height:6vw;
}
/*------------------------------------------------------------
	PANKUZU
------------------------------------------------------------*/
#pankuzu{
width:90vw;
margin:0 auto 2vw;
font-size:2.5vw;
line-height:6vw;
}
#pankuzu .current{
font-weight:normal;
}
#pankuzu a{
color:#8fc31f;
text-decoration:underline;
}


/*------------------------------------------------------------
SHOP ARCHIVE
------------------------------------------------------------*/

.otherCatBtn{
width:90vw;
margin:0 auto 2vw;
}
.otherCat{
display:flex;
justify-content:center;
}
.otherCat li{
margin:0 .5vw;
border-radius:4vw;
height:8vw;
overflow:hidden;
}
.otherCat li a{
font-size:3.5vw;
line-height:8vw;
padding:0 4vw;
color:#fff;
display:block;
}

.scat01{ background:#f6ad48; }
.scat02{ background:#13ae67; }
.scat03{ background:#c39f7e; }
.scat04{ background:#3fbde0; }

#cat{
padding:0 0 12vw;
}


.shopCat-ttl-food{
width:90vw;
margin:0 auto 6vw;
font-size:4vw;
line-height:8vw;
background:#f6ad48;
color:#fff;
text-align:center;
font-weight:bold;
border-radius:4vw;
}

.shopCat-ttl-fa{
width:90vw;
margin:0 auto 6vw;
font-size:4vw;
line-height:8vw;
background:#13ae67;
color:#fff;
text-align:center;
font-weight:bold;
border-radius:4vw;
}


.shopCat-ttl-svc{
width:90vw;
margin:0 auto 6vw;
font-size:4vw;
line-height:8vw;
background:#c39f7e;
color:#fff;
text-align:center;
font-weight:bold;
border-radius:4vw;
}


.shopCat-ttl-fac{
width:90vw;
margin:0 auto 6vw;
font-size:4vw;
line-height:8vw;
background:#3fbde0;
color:#fff;
text-align:center;
font-weight:bold;
border-radius:4vw;
}




.shopArc-food,
.shopArc-fa,
.shopArc-svc,
.shopArc-fac{
width:90vw;
margin:0 auto 10vw;
display:flex;
justify-content:left;
flex-wrap:wrap;
}
.shopArc-food li,
.shopArc-fa li,
.shopArc-svc li,
.shopArc-fac li{
width:43vw;
box-shadow:1vw 1vw 1vw rgba(0,0,0,.1);
margin:0 4vw 4vw 0;
position:relative;
padding:7vw 2vw 2vw;
}
.shopArc-food li:nth-child(2n),
.shopArc-fa li:nth-child(2n),
.shopArc-svc li:nth-child(2n),
.shopArc-fac li:nth-child(2n){
margin-right:0;
}
.shopArc-food li a,
.shopArc-fa li a,
.shopArc-svc li a,
.shopArc-fac li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:10;
}


.shopArc-food li .shopNum{
width:6vw;
height:6vw;
background:#f6ad48;
color:#fff;
font-size:3.6vw;
line-height:6vw;
font-weight:bold;
text-align:center;
border-radius:50%;
position:absolute;
top:1vw;
left:1vw;
}
.shopArc-fa li .shopNum{
width:6vw;
height:6vw;
background:#13ae67;
color:#fff;
font-size:3.6vw;
line-height:6vw;
font-weight:bold;
text-align:center;
border-radius:50%;
position:absolute;
top:1vw;
left:1vw;
}
.shopArc-svc li .shopNum{
width:6vw;
height:6vw;
background:#c39f7e;
color:#fff;
font-size:3.6vw;
line-height:6vw;
font-weight:bold;
text-align:center;
border-radius:50%;
position:absolute;
top:1vw;
left:1vw;
}
.shopArc-fac li .shopNum{
width:6vw;
height:6vw;
background:#3fbde0;
color:#fff;
font-size:3.6vw;
line-height:6vw;
font-weight:bold;
text-align:center;
border-radius:50%;
position:absolute;
top:1vw;
left:1vw;
}


.shopLogo{
width:39vw;
height:16vw;
margin:0 auto 2vw;
}


.shopArc-food .shopAtt{
display:inline-block;
padding:0 3vw;
background:#f6ad48;
color:#fff;
text-align:center;
font-size:2.5vw;
line-height:5vw;
margin-bottom:2vw;
border-radius:2.5vw;
}
.shopArc-fa .shopAtt{
display:inline-block;
padding:0 3vw;
background:#13ae67;
color:#fff;
text-align:center;
font-size:2.5vw;
line-height:5vw;
margin-bottom:2vw;
border-radius:2.5vw;
}
.shopArc-svc .shopAtt{
display:inline-block;
padding:0 3vw;
background:#c39f7e;
color:#fff;
text-align:center;
font-size:2.5vw;
line-height:5vw;
margin-bottom:2vw;
border-radius:2.5vw;
}
.shopArc-fac .shopAtt{
display:inline-block;
padding:0 3vw;
background:#3fbde0;
color:#fff;
text-align:center;
font-size:2.5vw;
line-height:5vw;
margin-bottom:2vw;
border-radius:2.5vw;
}
.shopName{
font-size:3.6vw;
line-height:5.5vw;
}

.floormap{
width:90vw;
margin:0 auto 8vw;
position:relative;
}


/*------------------------------------------------------------
PAGE
------------------------------------------------------------*/

/*------------------------------------------------------------
SIDE
------------------------------------------------------------*/


/*------------------------------------------------------------
	CATEGORY ARCHIVE
------------------------------------------------------------*/
.infoArcTitle{
width: 90vw;
    margin: 0 auto 6vw;
    font-size: 4vw;
    line-height: 8vw;
    background: #8FC31F;
    color: #fff;
    text-align: center;
    font-weight: bold;
    border-radius: 4vw;
}

.infoArcTitle span{
padding:0 8vw;
background:url(img/icon-info04.svg) no-repeat;
}

.infoArc{
padding:4vw;
margin-bottom:6vw;
}

.infoArc li{
display:flex;
justify-content:left;
margin-bottom:3vw;
position:relative;
}
.infoCat{
font-size:3.6vw;
height:10vw;
width:24vw;
text-align:center;
color:#8FC31F;
border:2px solid #8FC31F;
display:flex;
justify-content:center;
align-items:center;
}
.infoTitle{
width:63vw;
margin-left:3vw;
display:flex;
justify-content:left;
align-items:center;
font-size:3.5vw;
line-height:5vw;
max-height:10vw;
overflow:hidden;
}

.infoArc li a{
position:absolute;
top:0;
left:0;
width:100%;
height:100%;
display:block;
z-index:10;
}


/*------------------------------------------------------------
SHOP SINGLE
------------------------------------------------------------*/

.teaser{
width:100%;
background:#8fc31f;
padding:5vw 0;
}
h1.ttl-shop{
width:90vw;
margin:0 auto;
font-size:6vw;
line-height:8vw;
font-weight:500;
padding-left:10vw;
color:#fff;
position:relative;
}
h1.ttl-shop span{
display:block;
font-size:3.5vw;
line-height:5vw;
}
h1.ttl-shop::before{
content:'';
width:8vw;
height:8vw;
background:url(img/icon_shop.svg) no-repeat left center;
background-size:8vw;
position:absolute;
top:0vw;
left:0;
}

#content{
width:90vw;
margin:0 auto;
padding:8vw 0 10vw;
}


.s-att-food{
background:#f6ad48;
font-size:3vw;
line-height:5.6vw;
padding:0 4vw;
border-radius:2.8vw;
margin-bottom:3vw;
color:#fff;
font-weight:500;
display:inline-block;
}
.s-att-fashion{
background:#13ae67;
font-size:3vw;
line-height:5.6vw;
padding:0 4vw;
border-radius:2.8vw;
margin-bottom:3vw;
color:#fff;
font-weight:500;
display:inline-block;
}
.s-att-service{
background:#c39f7e;
font-size:3vw;
line-height:5.6vw;
padding:0 4vw;
border-radius:2.8vw;
margin-bottom:3vw;
color:#fff;
font-weight:500;
display:inline-block;
}
.s-att-facility{
background:#3fbde0;
font-size:3vw;
line-height:5.6vw;
padding:0 4vw;
border-radius:2.8vw;
margin-bottom:3vw;
color:#fff;
font-weight:500;
display:inline-block;
}


.s-photo{
width:80vw;
margin:0 auto 6vw;
}
.s-logo{
width:60vw;
margin:0 auto 6vw;
}

.s-name{
font-size:5.5vw;
line-height:7vw;
margin-bottom:3vw;
font-weight:bold;
}
.s-info{
font-size:3.6vw;
line-height:7.2vw;
font-weight:500;
margin-bottom:6vw;
}
.s-info dt{
width:20vw;
}
.s-info dd{
margin-left:20vw;
margin-top:-7.2vw;
margin-bottom:2vw;
}



.shopInfo{
position:relative;
padding:4vw 3vw;
border-top:1px solid #999;
}
.shopInfo::before,
.shopValue::before{
content:'';
width:1.5vw;
height:1.5vw;
border-radius:50%;
background:#999;
position:absolute;
top:-.8vw;
left:0;
}
.shopInfo::after,
.shopValue::after{
content:'';
width:1.5vw;
height:1.5vw;
border-radius:50%;
background:#999;
position:absolute;
top:-.8vw;
right:0;
}
.shopValue{
position:relative;
padding:4vw 3vw;
border-top:1px solid #999;
border-bottom:1px solid #eee;
margin-bottom:10vw;
}

.shopInfo p,
.shopValue p{
margin-bottom:.5em;
}


.recBox{
border:2px solid #ddd;
padding:6vw;
margin-bottom:10vw;
}

.recTitle{
font-size:4.5vw;
line-height:7vw;
font-weight:bold;
color:#f90;
margin-bottom:3vw;
}


.recommend{
}
.recommend li{
margin:0 0 6vw;
}
.recImg{
width:calc(78vw - 4px);
margin:0 auto 3vw;
}
.recText{
}
.recText p{
line-height:1.2em !important;
margin-bottom:1em !important;
}





.catbackbtn{
text-align:center;
}
.catbackbtn a{
font-size:4vw;
line-height:12vw;
color:#8fc31f;
width:60vw;
height:12vw;
border:2px solid #8fc31f;
position:relative;
display:inline-block;
}
.catbackbtn a::after{
content:'';
width:1.5vw;
height:1.5vw;
border-right:1px solid #8fc31f;
border-bottom:1px solid #8fc31f;
transform:rotate(-45deg);
position:absolute;
top:4.8vw;
right:4vw;
}




/*------------------------------------------------------------
SINGLE
------------------------------------------------------------*/
/* INFORMATION */

.infoPostTitle{
width: 90vw;
    margin: 0 auto 4vw;
    font-size: 4vw;
    line-height: 6vw;
    color:#333 ;
    font-weight: bold;
position:relative;
padding-left:5vw;
}

.infoPostTitle::before{
content:'';
width:4vw;
height:4vw;
border-radius:50%;
background:#8FC31F;
position:absolute;
top:1vw;
left:0;
}


.slide{
width:80vw;
margin:0 auto 4vw;
}


.contain{
display: inline-block;
background-position: center center;
background-repeat: no-repeat;
width: 80vw;
height: 80vw;
background-size: contain;
}


.slideThumbs{
display:flex;
justify-content:center;
}
.slideThumbs li{
width:12vw;
margin:0 1vw 2vw;
}

.infoCont{
position: relative;
padding: 3vw 0;
}

.infoCont p{
line-height:1.7em;
margin-bottom:1em;
}

.flyer{
margin-top:10vw;
text-align:center;
}
.flyer a{
font-size:4vw;
line-height:12vw;
color:#8fc31f;
width:60vw;
height:12vw;
border:2px solid #8fc31f;
position:relative;
display:inline-block;
}
.flyer a::after{
content:'';
width:1.5vw;
height:1.5vw;
border-right:1px solid #8fc31f;
border-bottom:1px solid #8fc31f;
transform:rotate(-45deg);
position:absolute;
top:4.8vw;
right:4vw;
}

/*------------------------------------------------------------
FOOTER
------------------------------------------------------------*/

.footer{
position:relative;
}
.townInfo{
}
.townPhoto{
width:100%;
height:0;
padding-bottom:100%;
}

.townData{
background:#8FC31F;
padding:6vw 4vw;
color:#fff;
}
.townTitle{
font-size:4.5vw;
line-height:8vw;
font-weight:500;
margin-bottom:3vw;
}
.townAdd{
font-size:3.5vw;
line-height:6.2vw;
margin-bottom:3vw;
}
.townTel{
padding-left:1.2em;
font-size:5vw;
font-weight:bold;
position:relative;
}
.townTel::before{
content:'\f095';
font-family:fontawesome;
position:absolute;
top:0;
left:0;
font-weight:normal;
}


.fggmap{
position: relative;
height: 0;
padding: 0 0 100%;
overflow: hidden;
}
.fggmap iframe {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}




.copy{
text-align:center;
font-size:2.5vw;
line-height:5vw;
padding:4vw 2vw;
background:#8fc31f;
color:#fff;
}
