@charset "UTF-8";

/* --------------------------------------------------------------------
　共通設定
-------------------------------------------------------------------- */
/*-- 共通タイトル --*/
article.store-contents > h2{
font-size:23px;
display:flex;
//position:relative;
align-items:center;
flex:none;
flex-direction:row;
flex-wrap:nowrap;
justify-content:flex-start;
width:100%;
color:#1c1c1c;
line-height:4em;
overflow:hidden;
border-bottom:1px solid #ddd;
}
article.store-contents > h2 > div{
margin:0px 20px 0px 0px;
width:max-content;
letter-spacing:.02em;
font-weight:600;
}
article.store-contents > h2 > span{
font-size:.6em;
letter-spacing:0;
margin:auto auto auto 0;
display:block;
}

/*-- ボタン --*/
.store-btn-wrap{
margin:auto;
width:600px;
display:flex;
flex-wrap:wrap;
justify-content:space-between;
align-items:center;
}
.store-btn-wrap > a{
width:calc((100% / 2) - 5px);
padding:20px;
background:#000;
border:1px solid #000;
color:#fff;
display:block;
position:relative;
font-size:15px;
font-weight:600;
}
.yoyaku > .store-btn-wrap > a{
max-width:290px;
}
.store-btn-wrap > a:after{
width:15px;
height:15px;
content:"";
border-top:3px solid #fff;
border-right:3px solid #fff;
transform:translateY(-50%) rotate(45deg);
position:absolute;
top:50%;
right:20px;
}
.store-btn-wrap > a:nth-child(2n){
background:#fff;
color:#000;
}
.store-btn-wrap > a:nth-child(2n):after{
border-top:3px solid #000;
border-right:3px solid #000;
}

a.simple-link-type{
font-weight:600;
text-align:center;
width:max-content;
margin:auto;
padding-left:25px;
position:relative;
display:block;
font-size:13px;
letter-spacing:.05em;
text-decoration:underline;
}
a.simple-link-type:before{
width:18px;
height:18px;
content:"";
background:#000;
transform:translateY(-50%);
position:absolute;
top:calc(50% - 2px);
left:0;
border-radius:100%;
}
a.simple-link-type:after{
width:8px;
height:8px;
content:"";
border-top:2px solid #fff;
border-right:2px solid #fff;
transform:translateY(-50%) rotate(45deg);
position:absolute;
top:calc(50% - 2px);
left:4px;
}

/*-- マーカー --*/
.marker{
background:linear-gradient(transparent 40%, #fff0b9 40%);
font-weight:600;
}

@media screen and (min-width:769px){
	article.store-contents > h2 > div > br{
	display:none;
	}
	.yoyaku > .store-btn-wrap{
	width:1200px;
	}
}
@media screen and (max-width:768px){
	article.store-contents > h2{
	font-size:15px;
	line-height:4.5em;
	}
	article.store-contents > h2 > span{
	font-size:13px;
	letter-spacing:0;
	}
	article.store-contents > h2:before{
	opacity:.5;
	}

	.store-btn-wrap{
	width:100%;
	}
	.store-btn-wrap > a{
	font-size:13px;
	padding:15px;
	width:100%;
	}
	.store-btn-wrap > a:after{
	width:10px;
	height:10px;
	right:10px;
	}
	.store-btn-wrap > a:nth-child(1){
	margin-bottom:10px;
	}

	.yoyaku > .store-btn-wrap > a{
	max-width:unset;
	}
}

/* --------------------------------------------------------------------
　ページタイトル設定
-------------------------------------------------------------------- */
#key-visual-wrap{
padding:60px 20px;
min-width:980px;
margin:30px auto 0 auto;
width:100%;
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:center;
}
#key-visual-wrap > h1{
font-size:40px;
letter-spacing:.05em;
text-align:center;
line-height:1.4;
margin:0 auto;
color:#414141;
font-weight:400;
width:100%;
}
#key-visual-wrap > h1 > span{
display:block;
font-size:18px;
letter-spacing:0;
font-family:poppins,"Yu Gothic Medium", "Yu Gothic", YuGothic, "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Noto Sans JP", Meiryo, sans-serif;
}
#key-visual-wrap > .located{
display:flex;
align-items:center;
justify-content:center;
margin:30px auto 0 auto;
width:max-content;
border-right:1px solid #ddd;
}
#key-visual-wrap > .located > li{
width:90px;
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:center;
font-size:14px;
line-height:1;
border-left:1px solid #ddd;
margin:0 5px;
text-align:center;
font-weight:600;
color:#414141;
}
#key-visual-wrap > .located > li > span{
width:100%;
font-size:.6em;
margin:0 auto auto auto;
letter-spacing:.05em;
font-weight:500;
}

@media screen and (max-width:768px){
	#key-visual-wrap{
	margin:0 auto;
	padding:40px 20px 30px 20px;
	display:block;
	min-width:unset;
	background:#fff;
	}
	#key-visual-wrap > h1{
	font-size:22px;
	width:100%;
	}
	#key-visual-wrap > .located{
	width:calc(100% - 20px);
	flex-wrap:wrap;
	justify-content:space-between;
	margin:15px auto 0 auto;
	}
	#key-visual-wrap > .located > li{
	width:60px;
	font-size:13px;
	line-height:1.2;
	margin:auto;
	padding-top:10px;
	}
}


/* --------------------------------------------------------------------
　直営店設定
-------------------------------------------------------------------- */
#directly-managed-store-wrap{
width:1000px;
margin:0 auto;
padding:60px 20px 0 20px;
}
#directly-managed-store-wrap > h2{
margin-bottom:50px;
border-bottom:1px solid #ddd;
}
#directly-managed-store-wrap > .store{
display:grid;
grid-template-columns:390px 540px;
gap:0 30px;
}
#directly-managed-store-wrap > .store.tokyo{
padding-bottom:100px;
}
#directly-managed-store-wrap > .store > .img{
grid-column:1;
grid-row:span 3;
}
#directly-managed-store-wrap > .store > .img > h3{
margin:0 auto 30px auto;
text-align:center;
font-size:17px;
font-weight:600;
}
#directly-managed-store-wrap > .store > .info{
grid-column:2;
grid-row:1;
font-size:14px;
}
#directly-managed-store-wrap > .store > .info h3{
color: #ca0000;
text-align:center;
font-size:17px;
}
#directly-managed-store-wrap > .store > .info h3:before {
content: "";
width: 50px;
height: 1px;
background: #ca0000;
margin: 0 10px 0 0;
}
#directly-managed-store-wrap > .store > .info h3:after {
content: "";
width: 50px;
height: 1px;
background: #ca0000;
margin: 0 10px 0 0;
}
#directly-managed-store-wrap > .store > .info > table{
border-collapse:collapse;
width:100%;
margin:0 auto 30px auto;
}
#directly-managed-store-wrap > .store > .info > table > tbody > tr > th,
#directly-managed-store-wrap > .store > .info > table > tbody > tr > td{
padding:15px;
text-align:left;
vertical-align:top;
font-size:14px;
line-height:1.6;
border-bottom:2px solid #fff;
background:#f9f9f9;
}
#directly-managed-store-wrap > .store > .info > table > tbody > tr > th{
width:110px;
background:#f0f0f0;
}
#directly-managed-store-wrap > .store > .store-btn-wrap{
width:100%;
grid-column:2;
grid-row:2;
}
#directly-managed-store-wrap > .store > .store-sub-link{
width:100%;
margin:30px auto 0 auto;
grid-column:2;
grid-row:3;
}
#directly-managed-store-wrap > .store > .store-sub-link > a.simple-link-type{
margin:0 0 0 auto;
}

@media screen and (max-width:768px){
	#directly-managed-store-wrap{
	width:100%;
	padding:40px 20px 0 20px;
	}
	#directly-managed-store-wrap > h2{
	margin-bottom:30px;
	}
	#directly-managed-store-wrap > .store{
	display:block;
	}
	#directly-managed-store-wrap > .store.tokyo{
	padding-bottom:60px;
	}
	#directly-managed-store-wrap > .store > .info > table > tbody > tr > th,
	#directly-managed-store-wrap > .store > .info > table > tbody > tr > td{
	font-size:13px;
	line-height:1.4;
	}
	#directly-managed-store-wrap > .store > .info > table > tbody > tr > th{
	width:85px;
	}
}


/* --------------------------------------------------------------------
　ポップアップストア設定
-------------------------------------------------------------------- */
#popup-store-wrap{
width:1000px;
margin:0 auto;
padding:180px 20px 0 20px;
}
article#popup-store-wrap.store-contents > h2{
margin-bottom:50px;
}
#popup-store-wrap > .store-list{
display:grid;
grid-template-columns:390px 540px;
gap:0 30px;
margin-bottom:90px;
}
#popup-store-wrap > .store-list:last-child{
margin-bottom:0;
}
#popup-store-wrap > .store-list > .img{
grid-column:1;
grid-row:span 3;
}
#popup-store-wrap > .store-list > .info{
grid-column:2;
grid-row:1;
}
#popup-store-wrap > .store-list > .info > h3{
margin:0 auto 20px auto;
font-size:18px;
font-weight:600;
}
#popup-store-wrap > .store-list > .info > table{
border-collapse:collapse;
width:100%;
margin:0 auto 30px auto;
}
#popup-store-wrap > .store-list > .info > table > tbody > tr > th,
#popup-store-wrap > .store-list > .info > table > tbody > tr > td{
padding:15px;
text-align:left;
vertical-align:top;
font-size:14px;
line-height:1.6;
border-bottom:2px solid #fff;
}
#popup-store-wrap > .store-list > .info > table > tbody > tr > th{
width:110px;
background:#f9f9f9;
}
#popup-store-wrap > .store-list > .info > table > tbody > tr > td > a{
display:flex;
align-items:center;
width:max-content;
}
#popup-store-wrap > .store-list > .info > table > tbody > tr > td > a:after{
font-family:"Material Symbols Outlined";
content:"\e89e";
font-size:18px;
padding-left:2px;
}

@media screen and (max-width:768px){
	#popup-store-wrap{
	width:100%;
	padding:90px 20px 0 20px;
	}
	article#popup-store-wrap.store-contents > h2{
	margin-bottom:30px;
	}
	#popup-store-wrap > .store-list{
	display:block;
	}
	#popup-store-wrap > .store-list > .info > h3{
	font-size:15px;
	text-align:center;
	}
	#popup-store-wrap > .store-list > .info > table > tbody > tr > th,
	#popup-store-wrap > .store-list > .info > table > tbody > tr > td{
	font-size:13px;
	line-height:1.4;
	}
	#popup-store-wrap > .store-list > .info > table > tbody > tr > th{
	width:85px;
	}
}


/* --------------------------------------------------------------------
　クローズドストア設定
-------------------------------------------------------------------- */
#closed-store-wrap{
width:1000px;
margin:0 auto;
padding:180px 20px 0 20px;
}
#closed-store-wrap > h3{
font-size:15px;
text-align:center;
font-weight:600;
margin-bottom:60px;
line-height:1.4;
}
#closed-store-wrap > ul{
display:grid;
grid-template-columns:repeat(4,1fr);
gap:20px;
align-items:stretch;
justify-content:space-between;
}
#closed-store-wrap > ul > li{
padding:20px 10px;
border:1px solid #b7b7b7;
text-align:center;
line-height:1.4;
display:flex;
flex-wrap:wrap;
align-items:center;
justify-content:center;
}
#closed-store-wrap > ul > li > .name{
font-size:18px;
font-weight:600;
letter-spacing:0;
width:100%;
}
#closed-store-wrap > ul > li > .name.small{
font-size:.7em;
}
#closed-store-wrap > ul > li > .time{
font-size:12px;
font-weight:600;
letter-spacing:0;
width:100%;
}
@media screen and (max-width:768px){
	#closed-store-wrap{
	width:100%;
	padding:90px 20px 0 20px;
	}
	#closed-store-wrap > h3{
	font-size:13px;
	margin-bottom:30px;
	}
	#closed-store-wrap > ul{
	grid-template-columns:repeat(2,1fr);
	gap:10px;
	}
	#closed-store-wrap > ul > li > .name{
	font-size:15px;
	}
	#closed-store-wrap > ul > li > .name.small{
	font-size:9px;
	}
}


/* --------------------------------------------------------------------
　来店予約設定
-------------------------------------------------------------------- */
#reserve-store-wrap{
width:1000px;
margin:0 auto;
padding:180px 20px 150px 20px;
}
#reserve-store-wrap > ul{
padding:30px 0;
line-height:2.2;
}
#reserve-store-wrap > ul > li{
position:relative;
padding:0 0 0 20px;
}
#reserve-store-wrap > ul > li:before{
content:"※";
width:20px;
position:absolute;
top:0;
left:0;
}
@media screen and (max-width:768px){
	#reserve-store-wrap{
	width:100%;
	padding:60px 20px;
	}
	#reserve-store-wrap > ul{
	width:100%;
	margin:30px 0;
	padding:0;
	}
	#reserve-store-wrap > ul > li{
	line-height:1.3;
	margin-bottom:10px;
	}
}