* {
	border-sizing:border-box;
	border-collapse:collapse;
        font-family: "Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic Medium", sans-serif;
}

html {
  overflow-y: scroll;
  overflow-x: hidden;
scroll-behavior:smooth;
}

body {
margin:0 auto;
padding:0;
  overflow-x: hidden;
}
@media only screen and (max-width: 992px) {
body {
padding:0px 0 0;
}
}
.h1, .h2, .h3, .h4, .h5, .h6, h1, h2, h3, h4, h5, h6 {
    margin-bottom: 0;
}
a{
    text-decoration:none;
}

.img-responsive {
    display: inline-block;
    height: auto;
    max-width: 100%;
    margin:0 auto;
    vertical-align:top;
}

div:after,
ul:after {
 content: "";
display: block;
 clear: both;
}

ul{
 list-style: none;
 margin: 0px;
 padding: 0px;
    box-sizing: border-box;
}

li,dt,dd{
    box-sizing: border-box;
}

a img {
    transition: opacity 0.2s linear;
}
a:hover img {
  opacity: 0.7;
  filter: alpha(opacity=70);
  -ms-filter: "alpha(opacity=70)";
}


/*汎用*/

.pc { display: block !important; }
.sp { display: none !important; }
@media only screen and (max-width: 992px) {
.pc { display: none !important; }
.sp { display: block !important; }
}
.pc2 { display: block !important; }
.sp2 { display: none !important; }
@media only screen and (max-width: 768px) {
.pc2 { display: none !important; }
.sp2 { display: block !important; }
}
.pc3 { display: block !important; }
.sp3 { display: none !important; }
@media only screen and (max-width: 568px) {
.pc3 { display: none !important; }
.sp3 { display: block !important; }
}

.ggmap {
position: relative;
padding-bottom: 75%;
/*padding-bottom: 66.7%;
    padding-bottom: 26.67%;*/
padding-top: 30px;
height: 0;
overflow: hidden;
}
 
.ggmap iframe,
.ggmap object,
.ggmap embed {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
}

@media only screen and (max-width: 768px) {
.ggmap {
padding-bottom: 100%;
}
}


/*baseContainer*/

.baseContainer{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
}
@media only screen and (max-width: 1400px) {
.baseContainer{
    justify-content:flex-end;
}
}



/*main*/


main{
    max-width:568px;
    margin:0 auto;
    border-left: 1px solid #003461;
    border-right: 1px solid #003461;
    position:relative;
    z-index:10;
    background:#fff;
}
@media only screen and (max-width: 1200px) {
main{
    margin:0 60px 0 0;
}
}
@media only screen and (max-width: 992px) {
main{
    max-width:100%;
    width: 100%;
    margin:0;
    border-left: none;
    border-right: none;
}
}
.mainLogo{}
.mainLogo h1{
    margin:0;
    text-align: center;
}
.mainBody{
    background-image:url(images/svg/bg_circle.svg);
    background-position:center;
    background-size:contain;
    padding:0 0 50px;
}
.topCoupon{
    text-align:center;
}

.baseTitle{}
.baseTitle h2 {
    background-color: #406789;
    padding: 10px 15px;
    color: #fff;
    text-align: center;
    font-size:21px;
}
@media only screen and (max-width: 992px) {
}

.categoryList{
    padding:15px;
}
.categoryList ul{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.categoryList ul li{
    width:calc(100% / 3);
}
.categoryList ul li a{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    color:#fff;
    padding:30px 0 15px;
}
.categoryList ul li a:before{
    background-size:cover;
    background-position:center;
    content:"";
    display:block;
    width:50px;
    height:50px;
}
.categoryList ul li:nth-child(1) a{background-color:#ea668a;}
.categoryList ul li:nth-child(2) a{background-color:#00a199;}
.categoryList ul li:nth-child(3) a{background-color:#1168b3;}
.categoryList ul li:nth-child(1) a:before{background-image:url(images/svg/icon_gourmet.svg);}
.categoryList ul li:nth-child(2) a:before{background-image:url(images/svg/icon_stay.svg);}
.categoryList ul li:nth-child(3) a:before{background-image:url(images/svg/icon_leisure.svg);}

.categoryList ul li a p{
    width:100%;
    margin:0;
    text-align:center;
    padding:10px 0 0;
    font-weight:bold;
}
.categoryList ul li a span{
    font-size:12px;
    font-family: 'Roboto', sans-serif;
    font-weight:bold;
}
@media only screen and (max-width: 468px) {
.categoryList{
    padding:15px 5px;
}
.categoryList ul li a p{
    font-size:12px;
}
.categoryList ul li a span{
    font-size:10px;
}
}

.searchBox{
    padding:15px;
}
.searchBox dl{
    margin:0;
    padding:0;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.searchBox dl dt{
    margin:0;
    padding:0 10px 0 0;
    width:calc(100% - 100px);
    box-sizing: border-box;
}
.searchBox dl dt input{
    margin: 0;
    padding: 9px;
    width: calc(100%);
    box-sizing: border-box;
    border: 1px solid #999;
}
.searchBox dl dd{
    margin:0;
    padding:0;
    width:100px;
}
.searchBox dl dd label{
    width:100px;
    background:#e15d10;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.searchBox dl dd label input{
    border: none;
    background-color: transparent;
    color: #fff;
    width:calc(100%);
    padding:10px;
}
@media only screen and (max-width: 468px) {
.searchBox{
    padding:15px 5px;
}
}


.mainFooter{
    background-color:#003461;
    text-align:center;
    padding:30px 15px;
}
.mainFooter p{
    color:#fff;
}
.mainFooter a{
    color:#fff;
    text-decoration:underline;
}
@media only screen and (max-width: 992px) {
.mainFooter{
    background-color:#003461;
    text-align:center;
    padding:30px 15px 80px;
}
.mainFooter p{
    font-size:12px
}
.mainFooter a{
    font-size:12px
}
}


/*sideMenu*/

.sideMenu{
    position: fixed;
    z-index: 5;
    top: 0;
    left: 0;
    width: calc(50% - 284px);
    padding: 15px;
    box-sizing: border-box;
}
.sideLogo{
    position: relative;
    z-index: 10;
}
.sideBody{
    position: relative;
    z-index: 10;
}

.sideMenu .categoryList{}
.sideMenu .categoryList ul{}
.sideMenu .categoryList ul li{
    width:calc(100%);
    padding: 5px 0;
}
.sideMenu .baseTitle{}
.sideMenu .baseTitle h2{
}
.sideMenu .categoryList ul li a{
    padding:10px 10px 10px 45px;
    position:relative;
}
.sideMenu .categoryList ul li a:before{
    background-size:cover;
    background-position:center;
    content:"";
    display:block;
    width:25px;
    height:25px;
    position:absolute;
    top:50%;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
    left:10px;
}
.sideMenu .categoryList ul li a p{
    padding:0 0 0;
}
.sideMenu .categoryList ul li a span{
}
@media only screen and (max-width: 1200px) {
.sideMenu{
    width: calc(100% - 628px);
}
}
@media only screen and (max-width: 992px) {
.sideMenu{
    z-index: 15;
    width: calc(100%);
    padding: 0;
}
.sideLogo{
    text-align:center;
    padding:15px 0 0;
}
}

/*slide*/
.backSlide{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100vh;
}
/*
@keyframes zoomUp {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.15);
  }
}
.swiper-slide-active .swiper-img,
.swiper-slide-duplicate-active .swiper-img,
.swiper-slide-prev .swiper-img {
  animation: zoomUp 14s linear 0s normal both;
}
.swiper{
    height: 100%;
}
.swiper-img{
    height:100%;
    overflow:hidden;
}
.swiper-slide img {
  height: auto;
  width: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}
*/

.slick-arrow{display:none!important;}

.slick-slide{
    height: 100vh !important;
    overflow:hidden;
}
.slick-slide img{
  height: auto;
  width: 100%;
    object-fit: cover;
    object-position: center;
    width: 100%;
    height: 100%;
}

/*menu*/

.menu-btn {display:none;}

#menu-btn-check {
    display: none;
}

@media only screen and (max-width: 992px) {

.spmenu{
    display: flex!important;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    position:relative;
    width: 100%;
}

.menu-btn {
    position: fixed;
    bottom: 15px;
    right: 15px;
    display: flex;
    height: 60px;
    width: 60px;
    justify-content: center;
    align-items: center;
    z-index: 9999;
    box-sizing: border-box;
    background: #003461;
    border-radius: 60px;
    margin: 0;
    border: 3px solid #fff;
    padding: 0 0 10px;
}
.menu-btn span,
.menu-btn span:before,
.menu-btn span:after {
    content: '';
    display: block;
    height: 3px;
    width: 31px;
    border-radius: 3px;
    background-color:#fff;
    position: absolute;
    transition: all 0.2s linear;
}
.menu-btn span:before {
    bottom: 8px;
}
.menu-btn span:after {
    top: 8px;
}
.menu-btn img {
    position:relative;
    bottom:-26px;
}
#menu-btn-check:checked ~ .menu-btn span {
    background-color: rgba(255, 255, 255, 0);
}
#menu-btn-check:checked ~ .menu-btn span::before {
    bottom: 0;
    transform: rotate(45deg);
}
#menu-btn-check:checked ~ .menu-btn span::after {
    top: 0;
    transform: rotate(-45deg);
}

.menu-content {
    width: 100%;
    height: 100vh;
    background: #fff;
    position: absolute;
    margin:0;
    right: 0;
    opacity:0;
    transition: all 0.5s;
    z-index: 1;
    pointer-events: none;
}
#menu-btn-check:checked ~ .menu-content {
    opacity:1;
    pointer-events: auto;
    z-index: 20;
}

.textM ,
.textC {
    position: absolute;
    z-index:10;
}
.textM {
    opacity:1;
    transition: all 0.2s linear;
}
#menu-btn-check:checked ~ .menu-btn .textM {
    opacity:0;
}
.textC {
    opacity:0;
    transition: all 0.2s linear;
}
#menu-btn-check:checked ~ .menu-btn .textC {
    opacity:1;
}



}

/*basePager*/

.basePager{
    padding:30px 0 100px;
}
.basePager ul{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.basePager ul li{
    font-size:0.8rem;
    line-height:0.8rem;
    font-weight:500;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    padding:5px;
}
.basePager ul li p,
.basePager ul li a{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width:31px;
    height:31px;
    text-align:center;
    
    margin: 0;
}
.basePager ul li a{
    background-color:#ffffff;
    border:1px solid #cccccc;
    color:#808080;
}
.basePager ul li p{
    background-color:#003461;
    border:1px solid #003461;
    color:#fff;
}
.prevArrow a,
.prevArrow p,
.nextArrow a,
.nextArrow p{
    background-color: transparent!important;
    border:none!important;
}
.prevArrow p,
.nextArrow p{filter: grayscale(1); opacity:0.5;}

.basePager ul li a:hover{
    background-color:#003461;
    border:1px solid #003461;
    color:#fff;
}
.basePager ul li span{}



/*list*/


.listHead{}
.listHead h2{
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    color:#fff;
    padding:10px;
}
.listHead h2:before{
    background-size:cover;
    background-position:center;
    content:"";
    display:block;
    width:30px;
    height:30px;
    margin:0 10px 0 0;
}
.category01 h2{background-color:#ea668a;}
.category02 h2{background-color:#00a199;}
.category03 h2{background-color:#1168b3;}
.category04 h2{background-color:#e15d10;}
.category01 h2:before{background-image:url(images/svg/icon_gourmet.svg);}
.category02 h2:before{background-image:url(images/svg/icon_stay.svg);}
.category03 h2:before{background-image:url(images/svg/icon_leisure.svg);}
.category04 h2:before{background-image:url(images/svg/icon_search.svg);}


.listBody{
    padding:15px;
}
.listBody ul{}
.listBody ul li{}
.listBody ul li a{
    display: flex;
    flex-wrap: wrap;
    position:relative;
}
.listBody ul li a dl{
    width:100%;
    display: flex;
    flex-wrap: wrap;
    margin:0 0 15px;
    position:relative;
    padding:0;
    background-color:rgba(255,255,255,0.9);
}
.listBody ul li a dl::after{
    background-image:url(images/svg/item_arrow.svg);
    background-size:cover;
    background-position:center;
    content:"";
    display:block;
    width:11px;
    height:18px;
    position:absolute;
    right:5px;
    bottom:5px;
}
.listBody ul li a dl dt{
    width:calc(150px);
    margin:0;
    padding:0;
    position:relative;
}
.listBody ul li a dl dt:before {
    content: "";
    display: block;
    padding-top: 66.7%;
    background: #eee;
}
.listBody ul li a dl dt img{
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    object-fit: cover;
}
.listBody ul li a dl dd{
    width:calc(100% - 150px);
    margin:0;
    padding:0;
    position:relative;
}
.listBody ul li a dl dd h3{
    margin:0;
    padding:15px;
    color:#333;
}


.category01 ul li a dl{border:2px solid #ea668a;}
.category02 ul li a dl{border:2px solid #00a199;}
.category03 ul li a dl{border:2px solid #1168b3;}
.category04 ul li a dl{border:2px solid #e15d10;}

.listTips{
    padding:15px;
    font-size:14px;

}


/*detail*/

.detailHead{}
.detailHead h2{
    background-color: #406789;
    padding: 10px 15px;
    color: #fff;
    text-align: center;
    font-size: 21px;
}

.detailBody{
    padding:15px;
    background-color:rgba(255,255,255,0.9);
}
.detailImage{
    text-align:center;
    padding:15px 0;
}
.detailImage img:nth-of-type(2){
    margin-top:15px;
}
.detailCoupon{}
.detailCoupon dl{
    margin:0;
    padding:0;
}
.detailCoupon dl dt{
    margin:0;
    padding:0;
}
.detailCoupon dl dd{
    margin: -20px 30px 0;
    padding: 15px;
    border: 3px solid #ea617c;
    border-radius: 10px;
    background: #fff;
}
.detailCoupon dl dd p{
    margin:0;
    padding:0;
}

.detailComment{
    margin:0;
    padding:15px;
    border-bottom:1px solid #ccc;
}
.detailComment p{
    margin:0;
}

.detailTel{
    padding:15px;
    border-bottom:1px solid #ccc;
}
.detailTel a{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width:100%;
    font-size:21px;
    font-weight:bold;
    max-width:320px;
    height:50px;
    background-color:#32cc54;
    color:#fff;
    text-decoration:none;
    position:relative;
    transition: all 0.2s linear;
    margin:0px auto;
}
.detailTel a:hover{
    color:#fff;
    text-decoration:none;
    opacity:0.8;
}
.detailTel a:after{
    font-family: "Font Awesome 5 free";
    content: "\f095";
    font-weight : 900;
    position: absolute;
    top:50%;
    left: 15px;
    transform: translateY(-50%) rotate(90deg);
    -webkit- transform: translateY(-50%) rotate(90deg);
}

.detailInfo{
    padding:15px;
    border-bottom:1px solid #ccc;
}
.detailInfo dl{}
.detailInfo dl dt{
    background-color: #406789;
    color: #fff;
    font-size: 15px;
    padding: 5px 15px;
}
.detailInfo dl dd{}
.detailInfo dl dd a{
    text-decoration:underline;
    color:#333;
}


.detailMap{
    padding:15px;
    border-bottom:1px solid #ccc;
}

.backBtn a{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    width:100%;
    max-width:320px;
    height:50px;
    background-color:#e15d10;
    color:#fff;
    text-decoration:none;
    position:relative;
    transition: all 0.2s linear;
    margin:15px auto;
}
.backBtn a:hover{
    color:#fff;
    text-decoration:none;
    opacity:0.8;
}
.backBtn a:after{
    font-family: "Font Awesome 5 free";
    content: "\f104";
    font-weight : 900;
    position: absolute;
    top:50%;
    left: 15px;
    transform: translateY(-50%);
    -webkit- transform: translateY(-50%);
}

.snsList{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}
.snsList li{
    width:calc(100% / 3);
    padding:10px;
}
.snsList li a{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    max-width:50px;
    background: #333333;
    padding: 5px;
    border-radius: 11px;
}