@charset "UTF-8";

/*-----------------------------------------------------------------------
COMMON
-----------------------------------------------------------------------*/

.pageID { position:relative; padding-bottom:15px; margin-bottom:20px; border-bottom:4px solid #233c5e; font-size:40px; }
.pageID::before { content:""; position:absolute; top:auto; bottom:-4px; left:0; width:100%; height:4px; background:#c00210; width:55px; margin-left:0; }
.pageID::after { content:attr(data-jp) ""; font-size:12px; text-align:left; display:inline-block; margin-left:15px; font-family: tbudgothic-std,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif; }

h3 { font-size:22px; font-weight:bold; border-bottom:1px solid #d3d8df; padding-bottom:15px; margin-bottom:30px; }

.no_line { border-bottom:none; }
.pageID.no_line:before { display:none; }

a.underline { text-decoration:underline; }
a.underline:hover { text-decoration:none; }

.mainContent_sideMenu { margin-top:75px; /**/}
.mainContent_sideMenu_list { border-top:1px solid #d3d8df; }
.mainContent_sideMenu_list li { border-bottom:1px solid #d3d8df; padding:8px 0px 0; font-size:13px; color:#333; position:relative; }
.mainContent_sideMenu_list li:not(.mainContent_sideMenu_list_nest) { font-weight:bold; color:#233c5e; }
.mainContent_sideMenu_list li:last-child { border-bottom:none; }
.mainContent_sideMenu_list_nest a:hover,
.mainContent_sideMenu_list_nest .active { color:#c00210; }
.mainContent_sideMenu_list_nest { border-top:1px solid #d3d8df; margin-top:8px; padding-top:15px; }
.mainContent_sideMenu_list_nest li { background:#fff; border-bottom:none; padding:0; margin-bottom:5px; }

.mainContent_sideMenu .backBtn { font-size:22px; display:block; margin-bottom:20px; position:relative; }
.mainContent_sideMenu .backBtn:after { display:none; }
.mainContent_sideMenu .backBtn a { position:relative; text-align:right; display:block; line-height:1; }
.mainContent_sideMenu .backBtn a:after { content:""; position:absolute; top:0; left:0; width:20px; height:20px; margin-left:0px; background:url(../img/common/ico_arrow_black.png) no-repeat center left / contain; }

.stepList li { margin-left:calc(1em + 5px); text-indent:calc(-1em - 5px); margin-bottom:10px; }
.stepList li:first-letter { color:#233c5e; padding-right:5px; }
.stepList em { color:#333; }
.stepList.border_l { padding-left:15px; border-left:2px dotted #d3d8df; }

.listInfo li { margin-bottom:10px; margin-left:1em; text-indent:-1em; }
.listInfo em { color:#333; }

#privacy .privacy_lead { margin-top:30px; }

	@media only screen and (max-width:767px) {
		.pageID { padding-bottom:10px; margin-bottom:15px; font-size:24px; }
		h3 { font-size:16px; margin-bottom:10px; padding-bottom:10px; }
		
	}
	
	@media only screen and (max-width:450px) {	
		#privacy .pageID::after { font-size:10px; }
		#privacy .privacy_lead { margin-top:15px; }
	}


/*-----------------------------------------------------------------------
campaign
-----------------------------------------------------------------------*/

.campaignList_wrap { padding-bottom:50px; }
.campaignList { font-size:13px; }
.campaignList_detail { padding-left:30px; }
.campaignList_detail_page { padding-left:20px; }

.campaignList_date { display:flex;justify-content:flex-start; border-top:1px dotted #d3d8df; margin-bottom:20px; text-align:left; color:#aeb7c3; line-height:1; }
.campaignList_date .categoryname { padding:15px 50px 0 0; border-right:1px dotted #d3d8df; letter-spacing:0.08em; font-weight:bold; }
.campaignList_date .date { padding:15px 20px 0; }

.campaignList_title { font-size:16px; font-weight:bold; line-height:1.5; margin-bottom:15px; }
.campaignList img { border:1px solid #efefef }

.campaignList_border { border:1px solid #d3d8df; padding:20px; }

	@media only screen and (min-width:768px) {
		.campaignList { min-height:257px; display:flex; }
	}

	@media only screen and (max-width:767px) {
		.campaignList_detail { padding-left:0px; margin-top:30px; margin-bottom:50px; }
		.campaignList_title { font-size:14px; }
		.campaignList_detail_page { padding-left:0px; }
		.campaignList_detail a { margin:0 auto; }
	}


/*-----------------------------------------------------------------------
sitemap 
-----------------------------------------------------------------------*/

.sitemapList dt { font-size:17px; font-weight:bold; margin-bottom:20px; }
.sitemapList dt:last-of-type { border-bottom:1px solid #919dae; }
.sitemapList dd { padding-bottom:50px; }
.sitemap_brandList em { position:relative; font-size:26px; }
.sitemap_brandList em::after { content:attr(data-jp) ""; font-size:12px; text-align:left; display:inline-block; margin-left:15px; font-family: tbudgothic-std,"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif; }
.sitemap_brandList_category { display:flex; justify-content:space-between; margin-right:-5px; margin-left:-5px; }
.sitemap_brandList_category li { width:20%; border:1px solid #d3d8df; border-radius:5px; padding:15px 10px; margin:0 5px; transition:0.3s; }
.sitemap_brandList_category li:hover { background:#f8f8f8; }
.sitemap_brandList_category li a { position:relative; padding-left:25px; text-align:center; margin:0 auto; display:block; font-weight:bold; font-size:17px; }
	.sitemap_brandList_category li a:before { content:""; position:absolute; top:3px; width:19px; height:19px; }
	.sitemap_brandList_category li:nth-child(1) > a:before { background:url(../img/common/ico_cosme.svg) no-repeat center 2px  / 7px auto; left:calc(40% - 45px); }
	.sitemap_brandList_category li:nth-child(2) > a:before { background:url(../img/common/ico_fragrance.svg) no-repeat center 3px / 9px auto; left:calc(40% - 50px); }
	.sitemap_brandList_category li:nth-child(3) > a:before { background:url(../img/common/ico_liquor.svg) no-repeat center 3px / 11px auto; left:calc(40% - 35px); }
	.sitemap_brandList_category li:nth-child(4) > a:before { background:url(../img/common/ico_tobacco.svg) no-repeat center 5px / 10px auto; left:calc(40% - 40px); }
	.sitemap_brandList_category li:nth-child(5) > a:before { background:url(../img/common/ico_other.svg) no-repeat center 3px / 12px auto; left:calc(40% - 30px); }

.sitemap_brandList_nest { display:flex; justify-content:flex-start; flex-wrap:wrap; margin-right:-7px; margin-left:-7px; }
.sitemap_brandList_nest li { width:15%; border:1px solid #d3d8df; border-radius:5px; margin:7px; }
.sitemap_brandList_nest li img { display:block; border-radius:5px; }


	@media only screen and (max-width:1024px) {
		
	}
	
	@media only screen and (max-width:767px) {
		.sitemapList { margin-bottom:50px; }
		.sitemapList dt { font-size:16px; margin-bottom:10px; }
		.sitemapList dd { padding-bottom:30px; }
		.sitemap_brandList em { font-size:20px; }
		.sitemap_brandList em::after { margin-left:10px; }
		.sitemap_brandList_nest li { width:17.5%; margin:5px 4px; }
	}


/*-----------------------------------------------------------------------
coupon
-----------------------------------------------------------------------*/

.couponForm_wrap dt { font-size:16px; font-weight:bold; margin-bottom:10px; }
.couponForm_wrap dd { border:10px solid #f3f3f3; padding:25px 30px; }

#couponForm { display:flex; justify-content:space-between; }
.couponForm_wrap input[type='text'] { border:1px solid #d3d8df;  border-radius:5px; height:45px; padding:5px 10px; width:75%; transition:0.3s; }
.couponForm_wrap input[type='submit'] { width:21%; margin-top:3px; }
.couponForm_wrap input[type='text']:focus { background:#fdfcf4; }


	@media only screen and (max-width:767px) {
		#couponForm { flex-wrap:wrap; }
		.couponForm_wrap input[type='text'] { width:100%; }
		.couponForm_wrap input[type='submit'] { /*width:160px; margin-top:15px;*/ width:85%; margin:15px auto 0; }
		.couponForm_wrap dt { font-size:14px; }
		.couponForm_wrap dd { padding:25px 20px 15px; }
	}


/*-----------------------------------------------------------------------
guide
-----------------------------------------------------------------------*/

.guide_stepTitle { font-weight:bold; font-size:16px; border-bottom:1px solid #d3d8df; padding:0 10px 5px; margin-bottom:10px; }
.guide_stepTitle span { padding-right:20px; font-size:18px; font-weight:bold; letter-spacing:0.05em; }
.guide_stepTxt { padding:0 10px; }
.cardInfo_wrap dt { font-size:16px; font-weight:bold; margin-bottom:10px; }
.cardInfo_wrap dd { border:10px solid #f3f3f3; padding:10px 10px; }
.cardInfo_list { display:flex; justify-content:flex-start; flex-wrap:wrap; align-items:center; margin:0 auto; }
.cardInfo_list li { max-width:10%; margin:10px 2.1%; }
.couponImg { margin:30px 0; }


	@media only screen and (max-width:767px) {
		.guide_stepTitle { font-size:14px; margin-top:15px; }
		.guide_stepTitle span { padding-right:10px; font-size:16px; }
		.cardInfo_wrap dt { font-size:14px; }
		.cardInfo_list li { max-width:15.75%; margin:5px 2.1%; }
		.couponImg { margin:15px 0; }
		.reservationStep { margin-top:15px; }
	}


/*-----------------------------------------------------------------------
shop
-----------------------------------------------------------------------*/

.shopBg_red { background:#c00210; padding:50px 0 40px; }
.shopBg_navy { background:#1f3657; padding:50px 0 40px; }
.shopInfo_area { display:flex; justify-content:flex-start; align-items:flex-end; }
.shopInfo_area_title img { max-width:121px; }
.shopInfo_area_txt { font-size:22px; font-weight:bold; line-height:1.2; margin-left:15px; }
.shopBg_dot { background-image:url(../img/common/bg_dot.png); background-repeat:repeat; background-position:top center; padding:50px 0 50px; }
.shopMap { margin:30px 0; }

.access_step { margin-right:0%; position:relative; } 
.access_step_number { font-size:16px; border-radius:50%; height:40px; width:40px; text-align:center; display:flex; justify-content:center; align-items:center; color:#fff; margin-top:50px; position: relative; z-index: 10; }
.access_step_title { font-size:16px; font-weight:bold; margin-bottom:30px; }
/* .access_step:before { content:""; position:absolute; top:50%; left:33px; width:3px; height:120%; background:#c00210; } */
.access_step.last:before { display:none; }
.north_wing .access_step:before { background:#1f3657; }

	@media only screen and (min-width:768px) {
		.access_step_wrap { position:relative; }
		.access_step_wrap:after { content:""; position:absolute; top:28%; left:18px; width:3px; height:50%; background:#c00210; }
		.access_step_wrap.second:after { top:10%; height:60%; }
		.access_step_wrap.third:after { top:5%; height:90%; background:#233c5e; }
	}

#shop .mainContent_single .border { border-top:1px solid #d3d8df; padding-top:30px; }

	@media only screen and (max-width:1024px) {
		.shopBg .mainContent_single, .shopBg_dot .mainContent_single, .bg_white .mainContent_single { padding:0 30px; } 
	}

	@media only screen and (max-width:767px) {
		.shopBg .mainContent_single, .shopBg_dot .mainContent_single, .bg_white .mainContent_single { padding:0 20px; } 
		.shopBg { padding:25px 0px 20px; }
		.shopBg .medium { font-size:12px; }
		.shopInfo_area_txt { font-size:16px; }
		.shopInfo_area_title { min-width:90px; max-width:90px; }
		.shopBg_dot { padding:25px 0 25px; }
		.shopMap { margin:30px 0; padding:0 0px; }
		.access_step_number { margin-top:0px; font-size:14px; height:30px; width:30px; }
		.access_step_title { font-size:14px; }
		.access_step:before { display:none; }
		.access_step img { margin:15px 0 20px; }
		
		#shop .mainContent_single .border { border-top:none; border-bottom:1px solid #d3d8df; padding-bottom:30px; padding-top:0px; }
		.access_step.last .border { border:none; }
		.north_wing { margin-bottom:60px; }
	}

/*-----------------------------------------------------------------------
404
-----------------------------------------------------------------------*/

#page_404 #pankuzu ol li { font-size:12px; }
#page_404 h2 { font-size: 22px; font-weight: bold; padding-bottom: 15px; margin-bottom: 50px; text-align:center; }
#page_404 .btn_box { display:flex; justify-content:space-between; flex-wrap:wrap; margin:30px 0 80px; padding:0 30px; }

	@media only screen and (max-width:767px) {
		#page_404 h2 { font-size: 16px; margin-bottom:30px;	}
		#page_404 .mainContent_single img { width:85%;}
		#page_404 .btn_box { justify-content: center;margin:15px 0 50px;	}
		#page_404 .btn_box li { margin:0 10px 10px;	}
		#page_404 .btn.border {	width: 210px; }
	}




