@charset "UTF-8";

/* 全体リセット */
.block-page-block,
.block-page-block h1,
.block-page-block h2,
.block-page-block h3,
.block-page-block h4{margin:0; padding:0; border:none; color:inherit;}

.block-page-block ul[role="list"],
.block-page-block ol[role="list"]{list-style:none}

.block-page-block a:not([class]){text-decoration-skip-ink:auto}

.block-page-block a:not(.pageblock--mapbtn),
.block-page-block a:not(.pageblock--mapbtn):active,
.block-page-block a:not(.pageblock--mapbtn):hover,
.block-page-block a:not(.pageblock--mapbtn):link,
.block-page-block a:not(.pageblock--mapbtn):visited,
.block-page-block a:not(.pageblock--mapbtn):active,
.block-page-block a:not(.pageblock--mapbtn):focus{outline:0; text-decoration:none;}

.block-page-block a:has(img) img{transition:initial; opacity:initial;}

.block-page-block a[target="_blank"]::after{content:none; background:none;}

.block-page-block li{list-style-type:none; position:initial; margin:0; padding:0; list-style:none;}

.block-page-block li:before, .block-page-block li:after{content:none;}


/* タグ別調整 */
.block-page-block hr{
margin-top: 60px;
}

.block-page-block div:not(.goods-detail--storeinfo--body) > h1{
background: #f7f7f7;
padding: 0.2em 0.5em;
margin: 0 auto 2rem;
}

.block-page-block h2::after{
left: 0.3em;
}

.block-page-block div:not(.goods-detail--storeinfo--body) > h2{
margin: 0 auto 2rem;
padding: 0 0 1rem;
}

.block-page-block div:not(.goods-detail--storeinfo--body) > h3{
margin: 0 auto 1rem;
}

.block-page-block h4{
margin: 0 auto 1rem;
border-bottom: 2px dotted;
padding: 0 0.5em 0.2em;
}

.block-page-block div:not(.goods-detail--storeinfo--body) > h5,
.block-page-block div:not(.goods-detail--storeinfo--body) > h6{
margin: 0 auto;
}

.block-page-block div:not(.goods-detail--storeinfo--caption) > p{
margin: 1em auto 0;
}

.block-page-block dl:not(.js-enhanced-ecommerce-item):not(.pageblock-items_feature):not(.goods-detail--storeinfo--info-wide):not(.goods-detail--storeinfo--info-narrow) dt{
display: table-cell;
width: auto;
white-space: wrap;
min-width: 130px;
padding: 5px 4px;
text-align: center;
background: var(--color-beige);
color: #ffffff;
vertical-align: middle;
}

.block-page-block dl:not(.js-enhanced-ecommerce-item):not(.pageblock-items_feature):not(.goods-detail--storeinfo--info-wide):not(.goods-detail--storeinfo--info-narrow) dd{
display: table-cell;
width: 100%;
padding: 5px 0 5px 10px;
}

.block-page-block span:not(.swiper-pagination-bullet):not(.swiper-notification){
display: inline-block;
font-size: 0.8em;
padding-left: 0.5em;
position: relative;
}

.block-page-block span:not(.swiper-pagination-bullet):not(.swiper-notification):before{
position: absolute;
content: "*";
top: 0;
left: 0;
}

.block-page-block dl.feature_block{
padding: 25px 25px 30px;
background: #F7F7F7;
}

.block-page-block dl.feature_block > dt{
font-size: 16px !important;
margin: 0 0 10px; 
line-height: 1.5;
font-weight: bold;
display: block !important;
text-align: start !important;
background: none !important;
color: #1d1d1d !important;
padding: 0 !important;
}

.block-page-block dl.feature_block > dd{
display: block !important;
padding: 0 !important;
font-size: 14px !important;
line-height: 1.5;
}


/* マージン追加用 */
.pane-main .block_margin{
margin-top: 3rem;
}


/* Youtube埋め込み用 */
.block-page-block .youtube_block{
width: 100%;
max-width: 980px;
aspect-ratio: 16 / 9;
text-align: center;
position: relative;
margin: 60px auto 0;
}

.block-page-block .youtube_block iframe{
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
border: none;
}


/* 複数店舗インフォ用 */
#storeinfo_footerarea{
position: relative;
margin: 60px 0 0;
padding: 60px 0 0;
color: #4A453A;
}

#storeinfo_footerarea:before{
display: block;
content: '';
position: absolute;
left: calc((100% - var(--vw)* 100) / 2);
right: calc((100% - var(--vw)* 100) / 2);
top: 0;
bottom: 0;
z-index: 0;
background: var(--sub-color);
}

#storeinfo_footerarea .storeinfo_inquiry_title{
width: 100%;
font-size: 25px;
font-weight: bold;
margin: 0 0 38px;
padding: 0;
position:relative;
}

#storeinfo_footerarea .storeinfo_footer{
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#storeinfo_footerarea .storeinfo_footer li{
width: 49%;
margin: 0 0 60px;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_main{
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_store_logo{
width:30%;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_store_name{
width: 65%;
font-size: 20px;
font-weight: bold;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_store_name span.storeinfo_sub_name{
width: 100%;
font-size: 0.6em;
padding-left: 0!important;
font-weight: normal;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_store_name span.storeinfo_sub_name:before{
content: none!important;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_map_link{
width: 100%;
font-size: 13px;
font-weight: normal;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_map_link a{
display: inline-block;
margin: 0.5em 0 0;
padding: 0.3em 0.8em;
background: #1D1D1D;
color: #FAF7F0;
border: 1px solid #1d1d1d;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_map_link a:hover{
background: none;
color: #1D1D1D;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_address{
margin: 10px 0 0;
display: flex;
align-items: flex-start;
flex-flow: wrap;
gap: 5px;
font-size: 14px;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_address dl{
display: flex;
align-items: flex-start;
width: calc((100% - 5px) / 2);
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_address dl dt{
min-width: 90px;
padding: 5px 4px;
text-align: center;
background: var(--color-beige);
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_address dl dd{
flex: 1;
padding: 5px 0 5px 10px;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_address dl dd a{
text-decoration: underline;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_address dl dd a:hover{
text-decoration: none;
}

.block-page-block--frame:last-child:has(#storeinfo_footerarea){
margin-bottom: 0;
}


/* シンプル店舗インフォ用 */

#storeinfo_footerarea .storeinfo_simple{
position: relative;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}

#storeinfo_footerarea .storeinfo_simple li{
width: 49%;
margin: 0 0 60px;
padding: 0;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
align-items: center;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_store_logo{
width: 30%;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_store_name{
width: 65%;
font-size: 20px;
font-weight: bold;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_store_name span.storeinfo_sub_name{
width: 100%;
font-size: 0.6em;
padding-left: 0!important;
font-weight: normal;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_store_name span.storeinfo_sub_name:before{
content: none!important;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_map_link{
width: 100%;
font-size: 13px;
font-weight: normal;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_map_link a{
display: inline-block;
margin: 0.5em 0 0;
padding: 0.3em 0.8em;
background: #1D1D1D;
color: #FAF7F0;
border: 1px solid #1d1d1d;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_map_link a:hover{
background: none;
color: #1D1D1D;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_address{
gap: 5px;
font-size: 14px;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_address dl{
display: flex;
align-items: flex-start;
width: calc((100% - 5px) / 2);
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_address dl dt{
min-width: 90px;
padding: 5px 4px;
text-align: center;
background: var(--color-beige);
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_address dl dd{
flex: 1;
padding: 5px 0 5px 10px;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_address dl dd a{
text-decoration: underline;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_address dl dd a:hover{
text-decoration: none;
}


/* イベント注意事項 */
#event_notice p{
text-indent: -1em;
padding-left: 1em;
font-size: 90%;
margin: 0.8em auto 0;
}



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

.block-page-block hr{
margin-top: 6rem;
}

.block-page-block div:not(.goods-detail--storeinfo--body) > h1{
font-size: 2.5rem;
}

.block-page-block div:not(.goods-detail--storeinfo--body) > h2{
font-size: 2.2rem;
}

.block-page-block div:not(.goods-detail--storeinfo--body) > h3{
font-size: 1.8rem;
}

.block-page-block h4{
font-size: 1.8rem;
}

.block-page-block div:not(.goods-detail--storeinfo--caption) > p{
font-size: 1.6rem;
}

.block-page-block dl:not(.js-enhanced-ecommerce-item):not(.pageblock-items_feature):not(.goods-detail--storeinfo--info-wide):not(.goods-detail--storeinfo--info-narrow) dt{
min-width: 100px;
font-size: 1.4rem;
}

.block-page-block dl:not(.js-enhanced-ecommerce-item):not(.pageblock-items_feature):not(.goods-detail--storeinfo--info-wide):not(.goods-detail--storeinfo--info-narrow) dd{
font-size: 1.5rem;
}

.block-page-block dl.feature_block{
padding: 2.5rem 1.5rem !important;
}

.block-page-block dl.feature_block > dt{
margin: 0 0 1.0rem !important;
font-size: 1.6rem !important;
}

.block-page-block dl.feature_block > dd{
font-size: 1.4rem !important;
}


/* マージン追加用 */
.pane-main .block_margin{
margin-top: 5rem;
}


/* Youtube埋め込み用 */
.block-page-block .youtube_block{
margin: 3rem auto 0;
}


/* 複数店舗インフォ用 */
#storeinfo_footerarea{
margin: 6.0rem calc((100% - 100dvw) / 2) 3rem;
padding: 6.0rem 1.5rem 0;
background: var(--sub-color);
}

#storeinfo_footerarea:before{
content: none;
}

#storeinfo_footerarea .storeinfo_inquiry_title{
width: 100%;
font-size: 2.5rem;
font-weight: bold;
margin: 0 0 3.0rem;
padding: 0;
}

#storeinfo_footerarea .storeinfo_footer li{
width: 100%;
margin: 0 0 8rem;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_store_name{
font-size: 1.8rem;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_store_name span.storeinfo_sub_name{
font-size: 0.7em;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_map_link{
font-size: 1.3rem;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_address{
margin: 3rem 0 0;
flex-flow: column;
gap: 0.5rem;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_address dl{
width: 100%;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_address dl dt{
min-width: 8.0rem;
padding: 0.5rem 0.5rem;
text-align: center;
background: var(--color-beige);
font-size: 1.3rem;
}

#storeinfo_footerarea .storeinfo_footer .storeinfo_address dl dd{
padding: 0.5rem 0 0.5rem 1.0rem;
font-size: 1.4rem;
}


/* シンプル店舗インフォ用 */

#storeinfo_footerarea .storeinfo_simple li{
width: 100%;
margin: 0 auto;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_store_name{
font-size: 1.8rem;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_store_name span.storeinfo_sub_name{
font-size: 0.7em;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_map_link{
font-size: 1.3rem;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_address{
margin: 3rem 0 8rem;
flex-flow: column;
gap: 0.5rem;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_address dl{
width: 100%;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_address dl dt{
min-width: 8.0rem;
padding: 0.5rem 0.5rem;
text-align: center;
background: var(--color-beige);
font-size: 1.3rem;
}

#storeinfo_footerarea .storeinfo_simple .storeinfo_address dl dd{
padding: 0.5rem 0 0.5rem 1.0rem;
font-size: 1.4rem;
}


/* イベント注意事項 */
#event_notice p{
font-size: 1.4rem;
}
}