/* CSS Document */

/*---↓ defaultから移植 ↓---*/
#contents{
    margin: 30px 0 40px;
}
#contents-main {
    float: left;
    width: 700px;
}
#sub {
    float: right;
    width: 240px;
}
#contents-main h2 {
    border: 2px solid #ccc;
    border-radius: 16px;
    padding: 25px 20px;
    margin: 0 0 15px;
    font-size: 20px;
    font-weight: bold;
    background: #fff;
}


body.view #sub .sc_facility {
	border-radius: 16px;
	padding:5px 15px 20px;
	box-sizing: border-box;
	margin-bottom:16px;
}
body.view #sub .sc_facility #sc_map {
	height:190px;
	width:100%;
}
body.view #sub .sc_facility #sc_map .sc_point{
	color:#E84466;
	font-weight:bold;
}
body.view #sub .sc_facility dt{
	margin:10px 0 5px;
	color:#fff;
	text-align: center;
	font-size:16px;
}
body.view #sub .sc_facility dt .fa{
	margin-right:8px;
}
body.view #sub .sc_facility dd.location p,
body.view #sub .sc_facility dd.parking ul li{
	background: #698AC1;
	background: rgba(255,255,255,0.3);
	color:#fff;
	text-align: center;
	padding:8px ;
	line-height: 16px;
}
body.view #sub .sc_facility dd.parking ul li {
	margin-bottom:1px;
}
body.view #sub .sc_facility dd p a{
	display: block;
}
body.view #sub .sc_facility dd.location a.gmap_link,
body.view #sub .sc_facility dd.parking a.access_link {
	background: #698AC1;
	background: rgba(255,255,255,0.3);
	color:#fff;
	text-align: center;
	font-size:12px;
	padding:8px ;
	display: block;
	position: relative;
}
body.view #sub .sc_facility dd.location a.gmap_link:after,
body.view #sub .sc_facility dd.parking a.access_link:after {
    content: "";
    display: block;
    position: absolute;
    top: 38%;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    left: 92%;
    border-left: 6px solid #fff	;} 


body.view #sub #sub-navi01 {
    margin-bottom: 16px;
}
body.view #sub #sub-navi01 dl dt {
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    padding: 10px 0;
    text-align: center;
}

body.view #sub #sub-navi02{
	margin-bottom:16px;
}
body.view #sub #sub-navi02 ul{
	border:1px solid #aaa;
	border-radius:8px;
	overflow: hidden;
}
body.view #sub #sub-navi02 ul li{
	border-bottom:1px solid #aaa;
}
body.view #sub #sub-navi02 ul li:last-child{
	border: none;
}

body.view #sub #sub-navi02 ul li a{
	display: block;
	text-align: center;
	padding:10px 0;
	position: relative;
}
body.view #sub #sub-navi02 ul li a:after {
    content: "";
    display: block;
    position: absolute;
    top: 38%;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    left: 92%;
    border-left: 6px solid #EF9098;
}
body.view #sub #sub-navi02 ul li.cal .fa{
	font-size:1.2em;
	margin-right:0.4em;
}
body.view #sub .bnr-sns {
	margin-bottom:16px;
}
body.view #sub .bnr-sns li{}
body.view #sub .bnr-sns li a{
	display: block;
	padding:10px;
	text-align: center;
	color:#fff;
	font-size:2.2em;
	position: relative;
}
body.view #sub .bnr-sns li a i{
	/*font awesome更新に伴う調整*/
 font-family: "Font Awesome 5 Brands";
    font-weight: 400;
}
body.view #sub .bnr-sns li.bnr_fb a{background: #3B5997;}
body.view #sub .bnr-sns li.bnr_tw a{background:#1DA1F3 ;}
body.view #sub .bnr-sns li.bnr_inst a{background: #E54060;}
body.view #sub .bnr-sns li.bnr_line a{background:#00BA01 ;}
body.view #sub .bnr-sns li a:after {
    content: "";
    display: block;
    position: absolute;
    top: 38%;
    width: 0;
    height: 0;
    border: 5px solid transparent;
    left: 92%;
    border-left: 6px solid #fff;
}
body.view #sub .bnr-sns li a:hover{
	opacity: 0.9;
}
body.view #sub .bnr-sns li a span{
	display: none;
}
body.view #sub .bnr-sns li.bnr_line a span{
	display: block;
	font-weight:bold;
	background: url(../img/ico_line.png) no-repeat center;
	background-size: 74px;
	text-indent: -999999em;
	padding: 5px 0;
}
body.view #sub #banner_mini ul {
	border:1px solid #aaa;
	padding:16px;
	border-radius:8px;
	overflow: hidden;
}
body.view #sub #banner_mini ul li{
	margin:0 0 8px;
	width: 100%;
	padding: 0;
}
body.view #sub #banner_mini ul li:last-child{
	margin:0;
}

#contents-main h3 {
    border: 1px solid #ccc;
    padding: 8px 16px;
    border-radius: 20px;
    font-weight: bold;
    font-size: 16px;
    background: #fff;
}
/*map icon 調整*/
#contents-main h3 i.fa-map-o::before{
    content: "\f279";
}


/*---↑ defaultから移植 ↑---*/


/*アイコン置き換え*/
i.fa-clock-o::before{
	content: "\f017";
}


img {
	vertical-align:bottom;
}
i{
	margin-right:8px;
}

body.en header{
	background:none;
	height: 120px;
	border-top:8px solid transparent;/*色は最後まとめて指定*/
}


body.en .inner {
    width: 960px;
    margin: 0 auto;
}

body.en header #header-sub {
	text-align: right;
	padding:5px;
}
body.en header #header-sub ul{
	display: inline-block;
}
body.en header #google_translate_element{
	float:right;
	width:140px;
}

body.en header #header-navi01 {
	margin-top:-20px;

}
body.en header .logo {
    padding: 0px 30px 10px 10px;
    float: left;
    max-width:240px;
}
body.en header .logo img {
    max-width: 100%;
    max-height: 60px;
}

body.en header .scname {
 /*
 padding: 0;
	height:90px;
	float:left;
	width:300px;
    margin: 5px 0 0 0px;
	display: table;
	vertical-align: middle;
	font-weight:bold;
	font-size:26px;
*/
	font-weight:bold;
	font-size:20px;
clear:both;
padding-left:15px;
}
body.en header .scname a{
	display: table-cell;
	vertical-align: middle;
	line-height: 120%;

}
body.en header #header-navi01 ul {
    display: inline-block;
    margin: 0 0px 0px 0;
	float: right;
	position: absolute;
	right: 0;
	top: 25px;
}
body.en header #header-navi01 ul li:first-child{
	border-left:1px solid #999;
}

body.en header #header-navi01 ul li{
	margin-top:12px;
	border-right:1px solid #999;
	float: left;
}
body.en header #header-navi01 ul li a {
    display: block;
    padding: 8px 0;
    width: 160px;
    height: 40px;
    text-indent: 0;
	text-align: center;
	text-decoration:none;
	font-size:16px;
}
body.en header #header-navi01 ul li i{
	display:inline-block;
	font-size:20px;	
}
body.en header #header-navi01 ul li i.fa-jpy::before{
    /*fontawesome更新に伴う調整*/
	content:"\f157";
}
body.en header #header-navi01 ul li  img.head_unionpay{
	width:28px;
	vertical-align:top;
}
body.en header #header-navi01 ul li  span{
	display:block;	
}

body.en footer{
	background: #EAEAEA;
	color:#333;
}
body.en footer a{
	text-decoration: underline;
	color:#fff;
}
body.en footer .inner{
	width: auto;
	text-align: center;
}
body.en footer .inner .footer-hour{
    margin: 0 auto;
    text-align: center;
}
body.en footer address{
	color: #fff;
	background: #333;
	padding: 8px 0;
	margin:12px 0 8px;
}
body.en footer a {
    color: #000;
}
body.en footer .copyright{
	background: #fff;
    color: #333;
    margin: 10px 0 0;
    text-align: center;
    width: 100%;
}
body.en div#footer div.bnr-sns{
	margin:24px 0;
}
body.en div#footer div.bnr-sns i{
	font-size:40px;
	padding:0 8px;
}


body.en h3{
	margin: 0;
	padding: 8px 8px 8px 12px;
	border: 1px solid #CCC;
	border-radius: 8px;
	font-size: 16px;
}
body.en #sub dd{
	margin-bottom:2px;
}
body.en #sub dd:nth-child(3){
	margin-bottom:10px;
}
body.en #sub dd a{
	padding:8px;
	display:block;
	background:#eaeaea;
}
body.en #sub dd li{
	border-bottom:2px solid #fff;
}

/****en_index****/

body.en_index #contents-main h3{
	border:none;
	border-top:2px solid #ccc;
	padding:16px;
	border-radius:0;
	font-weight:bold;
	font-size:18px;
}

body.en_index #banner {
	width:100%;
	box-sizing: border-box;
	text-align: center;
	background: #EAEAEA;
	border-radius: 16px;
    padding: 30px;

	position: relative;
}
body.en_index #banner section.swiper-containe{
	margin:0 auto;
	width:100%;
}
body.en_index #banner ul li {
	max-height:260px;
	overflow: hidden;
}
body.en_index #banner ul li img,
body.en_index #banner ul li{
	width:100%;
}
body.en_index .swiper-pagination {
	display: block;
	width:100%;
    position:absolute;
    text-align: center;
    z-index: 10;
    left: 0;
}
body.en_index .swiper-pagination-bullet {
    width: 10px;
    height: 10px;
    display: inline-block;
	margin:0 3px;
    border-radius: 0;
    background: #fff;
    opacity: 1;
}
body.en_index .swiper-pagination-bullet-active {
    opacity: 1;
    background: #555;
}


body.en_index #item,
body.en_index .section{
	margin:0 0 24px;
}
body.en_index .item_list {
	overflow:hidden;
	padding:8px;
	box-sizing:border-box;
	border:1px solid #999;
}
body.en_index .item_list li{
	float:left;
	overflow:hidden;
	position: relative;
	box-sizing: border-box;
    border: 16px #fff solid;	
}
body.en_index .item_list li img{
	width:125px;
	height:125px;
	background-size: cover;
	background-position: center;
}


body.en_index #access_hour{
	overflow:hidden;
}
body.en_index #access_hour .box{
	float:left;
	border:1px solid #999;
	padding:16px;
	background:#fff;
	width:calc(100% / 2 - 2px - 32px - 8px);
	margin-right:16px;
	height: 230px;
}
body.en_index #access_hour .box:last-child{
	margin-right:0;
}
body.en_index #access_hour .box h3{
	position: relative;
	padding: 0 0 16px 0px;
	font-size:140%;
	font-weight:bold;
	border:none;
}
body.en_index #access_hour h3 i{ font-size:24px;}

body.en_index #access_hour .box p{
	font-size:120%;
	line-height:1.6em;
	border-bottom: 2px dotted #999;
	padding:8px 0;
}
body.en_index #access_hour .box p:last-child{
	border:none;
}
body.en_index #access_hour .box p i{
	width:24px;
	text-align:center;
}


body.en #index_info_box{
	margin-top:32px;
	overflow:hidden;
}

body.en ul.index_cat {
	text-align:center;
	overflow:hidden;
	margin:0 0 32px;
}
body.en ul.index_cat li{
	margin:0 auto 16px;
	text-align:center;
	font-size:20px;
}
body.en ul.index_cat a.en_cat{
	display:block;
	box-sizing:border-box;
	padding:12px;
	border:1px solid #999;
	border-bottom:none;
	position:relative;
	background:#eaeaea;
}
body.en ul.index_cat li a.en_cat i{
	position:absolute;
	right:0;
	top:30%;
	vertical-align:middle;
	font-size:22px;color:#E84466;
}

body.en ul.en_shop{
	overflow:hidden;
	border:1px solid #999;
	border-top:none;
	padding:16px;
}
body.en ul.en_shop li{
	float:left;
	margin-bottom:8px;
	padding: 8px;
    box-sizing: border-box;
	position:relative;
	width: 25%;
	box-sizing: border-box;
}
body.en ul.en_shop li p.img {
	
}
body.en ul.en_shop li p.img img{
	width:100%;
	height:150px;
	background-size:cover;
	background-position: center;
	background-color: #EAEAEA;
	border-radius:4px;
}
body.en ul.en_shop li p.img span{
	width:100%;
	height:150px;
	display: inline-block;
	background-size:cover;
	background-position: center;
	background-color: #EAEAEA;
	border-radius:4px;
	text-align: center;
	padding:60px 0 0;
	box-sizing: border-box;
	opacity: 0.6;
}
body.en ul.en_shop li p.logo {
    position: absolute;
    top: 106px;
	left:0;
	width: 100px;
}
body.en ul.en_shop li p.logo img{
	max-width:76px;
	height:38px;
    background: #fff;
    padding: 4px 10px;
	display: inline-block;
	text-align: center;
}
body.en ul.en_shop li p.name{
	overflow: hidden;
	white-space: nowrap;
	text-overflow: ellipsis;
	font-size:14px;
	text-align:left;
	padding:8px 0 0;
}


/*****taxfree*****/
body.en_taxfree h2{
/*	border:none;
	background:#f00;
	color:#fff;*/
}
body.en_taxfree .attention{
	margin:8px 12px 16px; 
	padding:12px;
	border:1px solid #ccc;
}
body.en_taxfree .attention p{
	padding:3px 0;
}
body.en_taxfree #items{
	padding:0 12px;
}
body.en_taxfree .item,
body.en_taxfree .item tr,
body.en_taxfree .item td{
	border:1px solid #ccc;
	border-collapse: collapse;
}
body.en_taxfree .item td{
	box-sizing: border-box;
    padding: 10px;	
}
body.en_taxfree .item td.shop{
	width:600px;
	border-right:none;
}
body.en_taxfree .item td.shop span.floor{
	display:inline-block;	
}
body.en_taxfree .item td.shop span.cat{
	display:block;
}
body.en_taxfree .item td.logo{
	border-left:none;
	width:80px;	
}
body.en_taxfree .item td.logo img{
	float: right;
	width:80px;
}
body.en_taxfree .item td.taxfree{
	width:180px;
}
body.en_taxfree .item a{
	display:inline-block;
	padding:10px;
	overflow:hidden;
	color:#333;
	text-decoration:none;
}
body.en_taxfree .item a.logo{
	float: right;
}
body.en_taxfree .item a.logo img{
	width: 80px;
}

body.en_taxfree .item .name{
	font-weight:bold;
	font-size:120%;
}

body.en_taxfree .item .txt{
	overflow:hidden;
}
body.en_taxfree .item td.taxfree{
	text-align:center;
	overflow:hidden;
	position:relative;
}
body.en_taxfree .item em.taxfree{
	background:#f00;
	color: #fff;
    display: block;
    font-size: 11px;
    line-height: 1.2;
    padding: 2px;
    text-align: center;
    width: 45px;
   float:left;
   margin:5px;
}
body.en_taxfree .item em.unionpay{
	text-indent:-999999px;
	display:block;
	background:url("icn_unionpay.png") no-repeat;
	width: 45px;
	height: 28px;
	background-size: 45px;
	float:right;
   margin:5px;
}




/****shop_en****/
body.en_shop h2{
	padding:10px !important;
	overflow: hidden;
	line-height: 2.6em;
}
body.en_shop #contents-main h2 span{
	float: none;
	font-size: 1em;
	opacity: inherit;
}
body.en_shop h2 p{
	display: inline;
}
body.en_shop h2 img{
	float:right;
	width: 120px;
}
body.en_shop p.img{
/*	width:300px;*/
	float:left;
	margin:0 10px 16px; padding:0;
	background:none;

}
body.en_shop p.img img{
	width:300px;
	border-radius:8px;
	-moz-border-radius:8px;
}
body.en_shop .en_info{
	margin:0 0 16px 20px;
	overflow:hidden;
}
body.en_shop #shoppage.noshopimg  p.img  {
	display: none;

}
body.en_shop #shoppage.noshopimg .en_info{
	margin:0 0 16px 0;

}

body.en_shop .en_info li{
	padding:0 12px 24px;
	font-size:18px;
	font-weight:bold;
}
body.en_shop .en_info li i{
	width:20px;
	text-align:center;
}
body.en_shop .en_info li strong{
	padding-right:4px;
	font-weight:normal;
}
body.en_shop .en_info li em{
	float: left;
	margin-right: 10px;
}
body.en_shop .en_info li .taxfree{
	background:#f00;
	color:#fff;
	padding:4px 8px;
}
body.en_shop .en_info li .unionpay{
	text-indent:-999999px;
	display:block;
	background:url("icn_unionpay.png") no-repeat;
	width: 56px;height: 36px;
	background-size: 56px;
}

body.en_shop .items{
	overflow:hidden;
	margin:8px 0;
	clear:both;
}
body.en_shop .items li{
	float:left;
	margin-right:8px;
}
body.en_shop .items li:last-child{
	margin-right:0;
}
body.en_shop .items li img{
	width:134px;
	height:134px;
	background-size: cover;
	background-position: center;
}



/****shopcat****/
body.en_shopcat ul.shoplist{
	padding:0 10px;
}
body.en_shopcat ul.shoplist li{
	padding:16px 0;
	border-bottom:2px dotted #ccc;
	overflow:hidden;
	
}
body.en_shopcat ul.shoplist li .txt {
	overflow:auto;
	word-break:break-all;
	font-size:14px;
}
body.en_shopcat ul.shoplist li .txt .name {
	font-size:20px;
	font-weight:bold;
	padding:0 0 4px 0;
	color:#000;
}
body.en_shopcat ul.shoplist li .txt .detail {
	margin-bottom:8px;
}
body.en_shopcat ul.shoplist li .txt .name a{
	color:#000;
}
body.en_shopcat ul.shoplist li .txt p {
	padding:3px 0;
}
body.en_shopcat ul.shoplist li p.img {
	float:left;
	margin-right:20px;
	width:300px;
} 

body.en_shopcat ul.shoplist li p.img span.shopimage {
	height:200px;
	width:300px;
	overflow:hidden;
	display:block;
	border-radius:8px;
	-moz-border-radius:8px;
}
body.en_shopcat ul.shoplist li p.img span.shopimage img:nth-child(2){
	display: none;
}
body.en_shopcat ul.shoplist li p.img span.shopimage img{
	width:300px;
	vertical-align:bottom;
	border-radius:8px;
	-moz-border-radius:8px;

}
body.en_shopcat ul.shoplist li p.logo {
	border:1px solid #ccc;
	border-radius:3px;
	padding:8px;
	text-align:center;
	display:block;
	margin:0 0 12px;
}
body.en_shopcat ul.shoplist li p.logo img{
	width:100px;
}


/****en_access****/
body.en_access #sc_map{
	margin:0 0 24px;
	width:100%;
	height:320px;


}
body.en_access .info{
	padding:10px 10px 16px;	
}
body.en_access .info h4{
	font-weight:bold;

}

body.en_access #footer_sp .access_hour {
	display:none;
}


body.en_access .info section{
	padding: 8px 0;
	margin:0;
	border-bottom:2px dotted #ccc;
}


body.en_access .info dl{
margin:0 0 1em;
}
body.en_access .info dl dd{
	padding:0 1em 0 1.5em;
	font-size:0.8em;
	line-height: 170%;
}
body.en_access .info dl dd h4 {
	font-weight:bold;
	margin:5px 0 0 0;
	font-size: 1.1em
}
body.en_access .info dl dd p {

}





/*色関係*/
body.view #sub sub-navi02 ul li.cal .fa{
	color: rgb(34, 30, 31);
}
body.en header{
	border-color: rgb(34, 30, 31);
}
body.view #sub .sc_facility {
	background-color: rgb(141, 109, 178);
}