@charset "utf-8";
/* CSS Document */


/* 両方 */

.h2style2{
	text-align: center;
    font-weight: lighter;
    vertical-align: middle;
	font-size:1.45rem;
	margin-top: 100px;
	letter-spacing: 0.1rem;
	position:relative;
	vertical-align: middle;
}

.h2style2 .icon_event{vertical-align: middle;}

.h2style2 .en {
    font-size: 0.9rem;
    vertical-align: inherit;
    display: inline-block;
    margin-left: 20px;
    padding-left: 20px;
    border-left: solid 1px #ed3e5c;
    vertical-align: middle;
}

.h2style2.noicon{
	margin-top:50px;
}


/*お問い合わせ----------*/
#contact #contacttop p{
	font-size:1rem;
	margin:0 40px 20px;
}

#contact .h2style2 .icon_contact:after{
	content:"";
	background:url("../img/icon_contact.png") no-repeat;
	width:35px;
	height:26px;
	background-size:cover;
	
	position:absolute;
	top:-50px;
	left:calc(50% - 17px);
	left: -moz-calc(50% - 17px);
    left:calc(50% - 17px);
}

#contact .form_group{
	border-bottom:solid 1px #b4b4b5;
	padding:30px 40px;
}

#contact .form_group:first-of-type{
	border-top:solid 2px #231815;
}

#contact .form_group:nth-of-type(8){
	border-bottom:solid 2px #231815;
}

#contact .form_group .label{
	display:inline-block;
	width:35%;
	/*max-width:380px;*/
	box-sizing:border-box;
	vertical-align:top;
	padding-top: 10px;
}

#contact .form_group .label.vatop{
	vertical-align:top;
	padding-top: 10px;
}

#contact .form_group label.error{
	font-size:0.9rem;
	margin-top:10px;
	color:#ed3e5c;
	display: inline-block;
	line-height: 1em;
}

#contact .form_group .label span{
	color:#ed3e5c;
	display:inline-block;
	margin-left:10px;
}

#contact .form_group .input{
	display:inline-block;
	width:64%;
}

#contact .form_group .input p{
	margin-top:20px;
}

#contact .form_group .input input,#contact .form_group .input select ,#contact .form_group .input textarea{
	border:none;
	background:#eeeeef;
	padding:15px 24px;
	width:100%;
	box-sizing: border-box;
	font-size:1rem;
	font-weight: lighter;
	border-radius:5px;
}

#contact .form_group .input textarea{
	margin-top:20px;
}

#contact .form_group .input select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	padding-right:40px;
	background: transparent;
	z-index: 1;

}
#contact .form_group .input select::-ms-expand {
	display: none;
}

#contact .form_group .input .selectwrap{
	position: relative;
    /*display: inline-block;*/
	background:#eeeeef;
	border-radius:5px;
}

#contact .form_group .input .selectwrap::after{
    content: '';
    position: absolute;
    z-index: 0;
    top: 0;
    bottom: 0;
    margin: auto 0;
    right: 20px;
    width: 6px;
    height: 6px;
    border-bottom: solid 1px #000;
    border-right: solid 1px #000;
	-ms-transform: rotate(45deg);
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

#contact .doui{
	text-align:center;
	margin-top:50px;
	margin-bottom:40px;
}

#contact .doui input[type="checkbox"]{
	width:20px;
	height:20px;
	vertical-align:middle;
}

#contact .doui label a{
	color:#ed3e5c;
	text-decoration: none;
	border-bottom: 1px solid #ed3e5c;
	padding-bottom: 2px;
}

#contact .doui label a:hover{
	color:#b4b4b5;
	border-bottom: 1px solid #fff;
}


#contactconform .conform_group{
	padding:30px 40px 10px;
}

#contactconform .conform_group:first-of-type {
    border-top: solid 2px #231815;
}

#contactconform .conform_group:nth-of-type(8){
	border-bottom:solid 2px #231815;
	padding-bottom:30px;
}

#contactconform .conform_group p.label{
	font-weight:bold;

}

#contactconform .conform_group p.input{
	margin-top:20px;
	width:50%;
}

#contact p,#contactconform p, #contactthanks p{
	font-size:1rem;
	line-height:2rem;
}

#thanks_inner{
	border-top:solid 2px #231815;
	margin:0 auto 20px;
	padding:40px 40px 0;
}

.h4style1{
	font-size:1rem;
	font-weight:bold;
	margin-bottom:20px;
}

/*ショップ紹介----------*/
#shopguide img.imagemap{
	width:100%;
}

#shopguide .h2style2 .icon_shop:after{
	content:"";
	background:url("../img/icon_shop.png") no-repeat;
	width:36px;
	height:30px;
	background-size:cover;
	
	position:absolute;
	top:-50px;
	left:calc(50% - 18px);
	left: -moz-calc(50% - 18px);
    left:calc(50% - 18px);
}

#shopguide .imagemapbox_wrap{
	position:relative;
	overflow: hidden;
    margin: 0 auto;
    height: 530px;
}

#shopguide .imagemapbox{
	position:relative;
	margin:30px auto 90px;
}

#shopguide .imagemap_bg{
	z-index:1;
	position: absolute;
    top: 0;
    left: 0;
}
#shopguide #map_mover{
	position:absolute;
	top:0;
	left:0;
	z-index:2;
	}
#shopguide map area{
	cursor: pointer;
}

#shopguide .shopguide_box{
	margin-top: -150px;
    padding-top: 150px;
    margin-bottom:40px;
}

#shopguide .shopguide_box_inner{
	border:solid 1px #000;
	position:relative;
	padding:36px 48px;
	
	
}

#shopguide .shopguide_box_inner:before{
	content:"";
	width: 0;
	height: 0;
	border-style: solid;
	border-width: 0 84px 84px 0;
	border-color: transparent #000000 transparent transparent;
	position:absolute;
	top:0;
	right:0;
	z-index:10;
}

#shopguide .shop_num{
	font-size:1.5rem;
	font-weight:bold;
	color:#fff;
	display:inline-block;
	text-align:center;
	width:2em;
	position:absolute;
	top:0.6em;
	right:0;
	z-index:20;
}

.h3style2{
	border-bottom:1px solid #3cc4ff;
	padding:8px 20px;
	position:relative;
}

.h3style2 span{
	position:absolute;
	bottom:10px;
	right:40px;
	display:inline-block;
	font-size:1rem;
	font-weight:lighter;

}

#shopguide .shop_logo{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
/*    -webkit-box-lines: multiple;
    -moz-box-lines: multiple;*/
    -webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    justify-content: center; /* 子要素をflexboxにより中央に配置する */
    align-items: center;
    position: relative;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
    
    padding-top:50px;
    padding-bottom: 60px;
}

#shopguide .shop_logo p{
	width:60%;
	font-size:1rem;
	margin: 0 0 0 40px;
}

#shopguide .shop_info{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
}

#shopguide .shop_image{
	width:340px;
}

#shopguide .shop_image ul li img{
	width:100%;
}

#shopguide .slider_shop_image .slick-dots{
    top: auto;
    bottom: -70px;
    text-align: left;
}

#shopguide .slider_shop_image.slick-slider{
    margin-bottom: 70px;
}

#shopguide .slider_shop_image .slick-dots li{
	width: 77px;
	height: 56px;
    background: #000;
	margin: 0 10px 0 0;
}

#shopguide .slider_shop_image .slick-dots li img{
	opacity:.7;
}

#shopguide .slider_shop_image .slick-dots li.slick-active img{
	opacity:1.0;
}

#shopguide .slider_shop_image .slick-dots li:nth-of-type(4){
	margin:0;
}
#shopguide .shop_info .shop_info_table{
    margin: 20px auto 10px;
    width: 100%;
}


#shopguide .shop_info .shop_info_table div{
	display: -webkit-box;
	display: -moz-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: -ms-flex;
	display: -o-flex;
	display: flex;
	-webkit-flex-wrap: nowrap;
    -moz-flex-wrap: nowrap;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
     -ms-flex-pack: justify;
   justify-content: space-between;
	border-top:solid 1px #b4b4b5;

}



#shopguide .shop_info .shop_info_table div:last-of-type{
	border-bottom:solid 1px #b4b4b5;
}

#shopguide .shop_info .shop_info_table .dt{
	display:inline-block;
	width:10em;
	padding:20px 30px;
	text-align:center;
    -ms-flex-item-align: center;
    -ms-grid-row-align: center;
    align-self: center;
}

#shopguide .shop_info .shop_info_table .dd{
	display:inline-block;
	padding:20px 30px;
	width:100%;
	margin-inline-start: 0;
	border-left:solid 1px #b4b4b5;
}

#shopguide .shop_info .shop_info_table .dd a{
	color:#000;
}

#shopguide .shop_info .shop_info_table .dd a:hover{
    text-decoration:underline;
}

/*PC==========================================*/


@media print, screen and (min-width:768px){

.h2style2{margin-bottom:56px;}

#shopguide .shop_info .shop_info_table{
margin:0 0 0 40px;
    width: 70%;
}

#shopguide .shop_info .shop_info_table div p{font-size:1rem;}



#shopguide .ddright{float:right;}

}
/*PC終わり*/


/*PC可変==========================================*/
@media screen and (min-width:767px) and (max-width:1180px){

#shopguide .shopguide_box_inner{
    padding: 3vw 4vw;
}


#shopguide .shop_num{
	top: 1.5vw;
    right: 0.5vw;
    width: 4vw;
}

#shopguide .shop_logo p{
	margin: 0 0 0 3vw;
}

#shopguide .shop_info dl{
	margin: 0 0 0 3vw;
	width:calc((100% - 340px) - 3vw);
}

#shopguide .shop_info dl dt{
	padding: 2vw 0;
	width:14em;
}

#shopguide .shop_info dl dd{
	padding: 2vw 0 2vw 2vw;
}

#shopguide .imagemapbox_wrap{
	height: 44vw;
}

#shopguide .shop_info .shop_info_table .dd{
	word-break: break-all;
	overflow-wrap : break-all;
	word-wrap: break-word;
}


}



/*スマホ==========================================*/
@media screen and (max-width: 767px) {

body{
-webkit-text-size-adjust: 100%;
}

.h2style2{
	margin-top: 16vw;
	margin-bottom: 8vw;
}

.h2style2.noicon{
	margin-top: 9vw;
    margin-bottom: 5vw;
}

.h2style2 .en{
    margin-left: 3vw;
    padding-left: 3vw;
}



/*お問い合わせ----------*/
#contact .form_group{
	padding:4vw 0;
}

#contact #contacttop p{
	font-size:1rem;
	margin:0 0 4.5vw;
}

#contact .form_group:first-of-type{
	border-top:solid 1px #231815;
}

#contact .form_group:nth-of-type(6){
	border-bottom:solid 1px #231815;
}

#contact .form_group .input{
	width:100%;
}

#contact .form_group .label{
	margin:0 auto 3vw;
	width:100%;
}

#contactconform .conform_group{
    padding: 4vw 0 1vw;
}
#contactconform .conform_group p.input{
	margin-top:1vw;
	width:100%;
}

#contact .h2style2 .icon_contact:after{
	width: 6vw;
	height: 4vw;
	background-size: contain;
	top: -7.5vw;
	left: calc(50% - 3vw);
    left: -moz-calc(50% - 3vw);
    left: calc(50% - 3vw);
}

#thanks_inner{
	padding: 4vw 0 0;
}

/*ショップ紹介----------*/
#shopguide .h2style2 .icon_shop:after{
	width: 6vw;
    height: 6vw;
	background-size: contain;
	top: -8.5vw;
	left: calc(50% - 3vw);
    left: -moz-calc(50% - 3vw);
    left: calc(50% - 3vw);
}


#shopguide .shopguide_box{
	margin-top: -19vw;
    padding-top: 19vw;
}

#shopguide .shopguide_box_inner{
	padding:4vw 3vw;
}

#shopguide .imagemapbox_wrap{
	height: 44vw;
	margin-bottom:4vw;
}

#shopguide .shop_num{
	font-size: 1.3rem;
	right: 1vw;
    width: 7vw;
}


#shopguide .shopguide_box_inner:before{
	border-width: 0 15vw 15vw 0;
}

.h3style2 span{
    position: relative;
    bottom: 0;
    right: auto;
    display: block;
    margin-top:2vw;
}

#shopguide .shop_logo{
	-webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    flex-direction: column-reverse;
    padding-top:4vw;
    padding-bottom:4vw;
    
}

#shopguide .shop_logo p{
	width:100%;
	margin: 0;
}

#shopguide .shop_logo img{
	margin:4vw auto 2vw;
	width: 80%;
}


#shopguide .shop_image{
	margin:auto;
	width:80%;
}

#shopguide .shop_info{
	-webkit-flex-wrap: wrap;
    -moz-flex-wrap: wrap;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

#shopguide .slider_shop_image.slick-slider{
	margin-bottom: 15vw;
}

#shopguide .slider_shop_image .slick-dots li{
	width: 22%;
	height: 10.5vw;
    overflow: hidden;
	margin: 0 4% 0 0;
}

#shopguide .slider_shop_image .slick-dots{
	bottom: -14vw;
}
#shopguide .shop_info .shop_info_table {
	margin: 0;
    width: 100%;
    margin:3vw 0;
}

#shopguide .shop_info .shop_info_table .dt{
	padding: 3vw 0;
	width: 36vw;
	text-align:center;
	margin:0;
}

#shopguide .shop_info .shop_info_table .dd{
	padding: 3vw;
	word-break: break-all;
	overflow-wrap : break-all;
	word-wrap: break-word;
}

/*
#shopguide .shop_info .shop_info_table .dt ,#shopguide .shop_info .shop_info_table .dd{
padding:20px 20px;}*/


}

/* スマホ終わり */


