/* --------------------------------------------------------
* 
--------------------------------------------------------*/

/* @group @m-root-hero */

.m-root-hero {
display: grid;
grid-auto-flow: row;
/*gap: 30px;*/
gap: 24px;
/*padding-block: 24px 30px;*/
padding-block: 24px;
background-color: #F2F1EF;
}

@media (width >= 48em) { /* 768px -> * */

.m-root-hero {
gap: 50px;
/*padding-block: 58px 40px;*/
padding-block: 54px 46px;
}

}

/* @end @m-root-hero */

/* @group @m-root-store-name */

.m-root-store-name {
box-sizing: border-box;
display: grid;
place-content: center;
max-width: 720px;
margin-inline: auto;
padding-inline: 20px;
background-color: #F2F1EF;
}

.m-root-store-name h1 {
box-sizing: border-box;
width: 100%;
padding-inline: 20px;
font-family: 'M PLUS Rounded 1c', 'Rounded Mplus 1c', sans-serif;
font-size: 26px;
line-height: 1.38;
color: #231815;
font-weight: 700;
text-align: center;
word-break: keep-all;
overflow-wrap: anywhere;
transition: padding ease .3s, font-size  ease .3s;
}

.m-root-store-name a {
color: #231815;
transition: color ease .3s;
}

.m-root-store-name a:hover {
color: #FA0046;
}

@media (width >= 48em) { /* 768px -> * */

.m-root-store-name h1 {
font-size: 40px;
line-height: 1.2;
}

}

/* @end @m-root-store-name */

/* @group @m-root-news */

.m-root-news {
box-sizing: border-box;
display: grid;
grid-auto-flow: row;
gap: 8px;
max-width: 720px;
margin-inline: auto;
padding-inline: 20px;
font-size: 14px;
line-height: 1.5;
font-weight: 400;
color: #333333;
/*text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.160784);*/
}

@media (width >= 48em) { /* 768px -> * */

.m-root-news {
gap: 12px;
font-size: 18px;
line-height: 1.56;
}

}

.m-root-news a,
.m-root-news a:link,
.m-root-news a:active,
.m-root-news a:visited,
.m-root-news a:focus-visible,
.m-root-news a:focus-visible:active,
.m-root-news a:focus-visible:visited {
color: #FA0046;
text-decoration:underline;
}

@media (hover: hover) {

.m-root-news a:hover {
color: #FA0046;
text-decoration: none;
}

}

/* @end @m-root-news */

/* @group @o-store-root-news */

.o-store-root-news {
position: relative;
overflow: hidden;
margin-bottom: -1px;
/*padding-top: 7.7vw;*/
background-color: #F2F1EF;
will-change: transform;
}

/*.o-store-root-news:before {
content: '';
position: absolute;
top: 0;
right: 0;
left: 0;
height: 7.7vw;
background-color: #FA0046;
clip-path: polygon(74.5% 0%, 0% 100%, 100% 100%);
}

@media (width >= 62.5em) { /* 1000px -> *!/

.o-store-root-news {
position: relative;
padding-top: 77px;
}

.o-store-root-news:before {
height: 77px;
}

}*/

/* @end @o-store-root-news */

/* @group @m-root-news-body */

.m-root-news-body {
margin-bottom: -1px;
padding-top: calc(7.7vw + 21px);
padding-bottom: 54px;
background-color: #FA0046;
background-image: linear-gradient(to bottom, #FA0046 0px, #FA0046 calc(7.7vw + 140px), #F2F1EF calc(7.7vw + 140px), #F2F1EF 100%);
background-repeat: no-repeat;
clip-path: polygon(74.5% 0%, 100% 7.7vw, 100% 100%, 0 100%, 0% 7.7vw);
will-change: transform;
}

@media (width >= 48em) { /* 768px -> */

.m-root-news-body {
padding-top: calc(7.7vw + 38px);
padding-bottom: 100px;
background-image: linear-gradient(to bottom, #FA0046 0px, #FA0046 calc(77px + 250px), #F2F1EF calc(77px + 250px), #F2F1EF 100%);
}

}

@media (width >= 62.5em) { /* 1000px -> */

.m-root-news-body {
padding-top: calc(77px + 38px);
background-image: linear-gradient(to bottom, #FA0046 0px, #FA0046 calc(77px + 250px), #F2F1EF calc(77px + 250px), #F2F1EF 100%);
}

}

/* @end @m-root-news-body */

/* @group @m-root-news-header */

.m-root-news-header {
display: grid;
grid-auto-flow: row;
gap: 2px;
/*gap: 8px;*/
/*max-width: 585px;*/
margin-inline: auto;
margin-bottom: 30px;
margin-inline: auto;
padding-inline: 20px;
text-align: center;
}

.m-root-news-header h2 {
font-family: "Kiwi Maru", serif;
font-size: 30px;
/*line-height: 1.4;*/
line-height: 1.1;
font-weight: 400;
text-align: center;
color: #FFFFFF;
/*text-shadow: 0px 3px 1.5px rgba(0, 0, 0, 0.160784);*/
}

.m-root-news-header p {
font-family: 'Quicksand', sans-serif;
font-size: 14px;
line-height: 1.28571429;
font-weight: 700;
text-align: center;
color: #fff;
}

@media (width >= 48em) { /* 768px -> * */

.m-root-news-header {
/*gap: 12px;*/
margin-bottom: 48px;
/*margin-bottom: 60px;*/
}

.m-root-news-header h2 {
font-size: 45px;
line-height: 1.33333333;

}

.m-root-news-header p {
font-size: 21px;
line-height: 1.43;
}

}

/* @end @m-root-news-header */

/* @group @m-root-news-list */

.m-root-news-list {
box-sizing: border-box;
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 14px;
max-width: 720px;
margin-inline: auto;
padding-inline: 20px;
}

.m-root-news-list:has(> :only-child) {
grid-template-columns: 1fr 2fr 1fr;
gap: 7px;
margin-inline: auto;
}

.m-root-news-list:has(> :only-child)>section {
grid-column: 2;
}

@media (width >= 48em) { /* 768px -> * */

.m-root-news-list {
gap: 40px;
}

.m-root-news-list:has(> :only-child) {
gap: 20px;
}

.m-root-news-list:has(> :only-child)>section {
max-width: 320px;
}

}

.m-root-news-list section {
display: grid;
}

/* @end @m-root-news-list */

/* @group @m-root-news-detail-link */

.m-root-news-detail-link {
position: relative;
z-index: 2;
display: grid;
grid-template-rows: auto auto 1fr;
background-color: #fff;
box-shadow: 0px 0px 4px hsl(0deg 0% 0% / 16%);
}

.m-root-news-detail-link:before {
content: '';
position: absolute;
inset: 0;
z-index: -1;
opacity: 0;
box-shadow: 0px 0px 5px hsl(0deg 0% 0% / 8%);
transition: opacity ease .3s;
}

.m-root-news-detail-link:hover:before,
.m.m-root-news-detail-link:focus:before {
opacity: 1;
}

.m-root-news-contents {
display: grid;
align-content: start;
grid-auto-flow: row;
gap: 4px;
padding: 7px 8px 8px;
}

.m-root-news-detail-link p {
padding-top: 2px;
font-size: 11px;
line-height: 1.09;
font-weight: 700;
color: #FA0246;
}

.m-root-news-detail-link h3 {
font-size: 15px;
line-height: 1.27;
font-weight: 500;
color: #444444;
}

/*.m-root-news-detail-title-break {
word-break: keep-all;
overflow-wrap: anywhere;
}*/

@media (width >= 48em) { /* 768px -> * */

.m-root-news-contents {
gap: 8px;
padding: 16px 18px 18px;
}

.m-root-news-detail-link p {
font-size: 16px;
line-height: 1.09;
font-weight: 700;
color: #FA0246;
}

.m-root-news-detail-link h3 {
font-size: 20px;
line-height: 1.4;
}

}

/* @end @m-root-news-detail-link */

/* @group @m-root-news-media */

.m-root-news-media {
overflow: hidden;
display: grid;
aspect-ratio: 1 / 1;
}

.m-root-news-media img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
object-position: top center;
transition: transform ease .3s;
}

a:hover .m-root-news-media img,
a:focus .m-root-news-media img {
transform: scale(1.05);
}

/* @end @m-root-news-media */

/* @group @m-root-news-headline */

.m-root-news-headline {
box-sizing: border-box;
display: grid;
place-content: center space-between;
grid-auto-flow: column;
gap: 10px;
height: 20px;
padding-bottom: 1px;
padding-inline: 5px;
background-color: #605956;
font-size: 8px;
line-height: 1.33333333;
font-weight: 500;
color: #fff;
}

@media (width >= 48em) { /* 768px -> * */

.m-root-news-headline {
height: 30px;
padding-inline: 10px;
font-size: 14px;
}

}

.m-root-news-headline time {
font-family: 'Cabin', sans-serif;
text-align: right;
font-weight: 500;
}

/* @end @m-root-news-headline */

/* @group @o-root-store */

.o-root-store {
position: relative;
overflow: hidden;
margin-bottom: 1px;
background-color: #F2F1EF;will-change: transform;
}

.o-root-store:before,
.o-root-store:after {
content: '';
position: absolute;
z-index: 3;
top: 0;
width: 110px;
height: 110px;
background-size: contain;
background-repeat: no-repeat;
}

.o-root-store:before {
left: 19px;
background-image: url(../img/facility/facility-left-pc.svg);
background-position: bottom left;
}

.o-root-store:after {
right: 19px;
background-image: url(../img/facility/facility-right-pc.svg);
background-position: bottom right;
}

@media (width >= 48em) { /* 768px -> * */

.o-root-store:before,
.o-root-store:after {
top: 0;
width: 220px;
height: 220px;
}

.o-root-store:before {
left: 48px;
}

.o-root-store:after {
right: 48px;
}

}

/* @end @o-root-store */

/* @group @m-root-store-body */

.m-root-store-body {
overflow: hidden;
margin-bottom: -1px;
background-color: #FA0046;
clip-path: polygon(0 6.6vw, 100% 0, 100% 100%, 0% 100%);
will-change: transform;
will-change: transform;
transform: translateZ(0);
}

@media (width >= 62.5em) { /* 1000px -> * */

.m-root-store-body {
clip-path: polygon(0 66px, 100% 0, 100% 100%, 0% 100%);
}

}

/* @end @m-root-store-body */

/* @group @m-root-store-inner */

.m-root-store-inner {
display: grid;
gap: 30px;
padding-top: calc(10vw + 20px);
padding-bottom: 20px;
background-color: #fff;
clip-path: polygon(0 10vw, 100% 0, 100% 100%, 0% 100%);
will-change: transform;
transform: translateZ(0);
}

@media (width >= 48em) { /* 768px -> * */

.m-root-store-inner {
gap: 48px;
padding-top: calc(10vw + 30px);
padding-bottom: 76px;
}

}

@media (width >= 62.5em) { /* 1000px -> * */

.m-root-store-inner {
padding-top: calc(100px + 30px);
clip-path: polygon(0 100px, 100% 0, 100% 100%, 0% 100%);
}

}

/* @end @m-root-store-inner */

/* @group @m-root-store-header */

.m-root-store-header {
display: grid;
grid-auto-flow: row;
gap: 2px;
 /*gap: 8px;*/
/*max-width: 585px;*/
margin-inline: auto;
/*margin-bottom: 30px;*/
margin-inline: auto;
padding-inline: 20px;
text-align: center;
}

.m-root-store-header h2 {
font-family: "Kiwi Maru", serif;
font-size: 30px;
/*line-height: 1.4;*/
line-height: 1.1;
text-align: center;
color: #333333;
font-weight: 400;
/*text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.160784);*/

}

.m-root-store-header p {
font-family: 'Quicksand', sans-serif;
font-size: 14px;
line-height: 1.28571429;
font-weight: 700;
text-align: center;
color: #333333;
}

@media (width >= 48em) { /* 768px -> * */

.m-root-store-header {
/*gap: 12px;*/
/*margin-bottom: 48px;*/
}

.m-root-store-header h2 {
font-size: 45px;
line-height: 1.33333333;
}

.m-root-store-header p {
font-size: 21px;
line-height: 1.43;
}

}

/* @end @m-root-store-header */

/* @group @m-root-store-list */

.m-root-store-list {
box-sizing: border-box;
display: grid;
grid-template-columns: repeat(1, 1fr);
gap: 0 40px;
width: 100%;
max-width: 720px;
margin-inline: auto;
padding: 0 20px;
}

.m-root-store-list dl {
display: grid;
align-content: start;
grid-auto-flow: row;
gap: 6px;
padding: 12px 16px;
border-top: 1px solid #ccc;
}

.m-root-store-list dt {
font-size: 18px;
line-height: 1.33333333;
font-weight: 700;
}

.m-root-store-list a {
transition: color ease .3s;
}

.m-root-store-list a,
.m-root-store-list a:link,
.m-root-store-list a:active,
.m-root-store-list a:visited,
.m-root-store-list a:focus-visible,
.m-root-store-list a:focus-visible:active,
.m-root-store-list a:focus-visible:visited {
color: #FA0046;
text-decoration:underline;
}

@media (hover: hover) {

.m-root-store-list a:hover {
color: #FA0046;
text-decoration: none;
}

}

@media (width >= 48em) { /* 768px -> * */

.m-root-store-list {
grid-template-columns: repeat(2, 1fr);
}

.m-root-store-list dl {
border-top-width: 2px;
}

}

/* @end @m-root-store-list */

/* @group @o-root-info */

.o-root-info {
position: relative;
overflow: hidden;
padding-top: 3vw;
background-color: #665E5B;
clip-path: polygon(0 10vw, 100% 0, 100% 100%, 0% 100%);
will-change: transform;
}

@media (width >= 62.5em) { /* 1000px -> * */

.o-root-info {
padding-top: 30px;
clip-path: polygon(0 100px, 100% 0, 100% 100%, 0% 100%);
}

}

/* @end @o-root-info */

/* @group @m-root-info-body */

.m-root-info-body {
padding-top: calc(7vw + 19px);
background-color: #F2F1EF;
clip-path: polygon(0 7vw, 100% 0, 100% 100%, 0% 100%);
will-change: transform;
}

@media (width >= 48em) { /* 768px -> * */

.m-root-info-body {
padding-top: calc(7vw + 30px);
/*clip-path: polygon(0 61px, 100% 0, 100% 100%, 0% 100%);*/
}

}

@media (width >= 62.5em) { /* 1000px -> * */

.m-root-info-body {
padding-top: calc(70px + 15px);
clip-path: polygon(0 70px, 100% 0, 100% 100%, 0% 100%);
}

}

/* @end @m-root-info-body */

/* @group @m-root-info-header */

.m-root-info-header {
display: grid;
grid-auto-flow: row;
gap: 2px;
/*gap: 8px;*/
/*max-width: 585px;*/
margin-inline: auto;
margin-bottom: 30px;
margin-inline: auto;
padding-inline: 20px;
text-align: center;
}

.m-root-info-header h2 {
font-family: "Kiwi Maru", serif;
font-size: 30px;
/*line-height: 1.4;*/
line-height: 1.1;
font-weight: 400;
text-align: center;
color: #333333;
/*text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.160784);*/

}

.m-root-info-header p {
font-family: 'Quicksand', sans-serif;
font-size: 14px;
line-height: 1.28571429;
font-weight: 700;
text-align: center;
color: #333333;
}

@media (width >= 48em) { /* 768px -> * */

.m-root-info-header {
/*gap: 12px;*/
margin-bottom: 48px;
}

.m-root-info-header h2 {
font-size: 45px;
line-height: 1.33333333;

}

.m-root-info-header p {
font-size: 21px;
line-height: 1.43;
}

}

/* @end @m-root-info-header */

/* @group @m-root-info-detail */

.m-root-info-detail {
display: grid;
grid-auto-flow: row;
gap: 24px;
max-width: 680px;
margin-inline: auto;
padding-inline: 20px;
}

.m-root-info-media {
max-width: 680px;
margin-inline: auto;
text-align: center;
}

.a-root-info-detail {
display: inline-grid;
gap: 4px;
/*
width: fit-content;
margin-inline: auto;
*/
margin-bottom: 30px;
}

.m-root-info-detail h3 {
font-family: 'M PLUS Rounded 1c', 'Rounded Mplus 1c', sans-serif;
font-size: 20px;
line-height: 1.3;
font-weight: 700;
color: #333333;
/*text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.160784);*/
word-break: keep-all;
overflow-wrap: anywhere;
}

.m-root-info-detail p {
font-size: 16px;
line-height: 1.5;
font-weight: 400;
color: #333333;
/*text-shadow: 0px 3px 3px rgba(0, 0, 0, 0.160784);*/
word-break: keep-all;
overflow-wrap: anywhere;
}

@media (width >= 48em) { /* 768px -> * */

.m-root-info-detail {
gap: 36px;
text-align: center;
}

.a-root-info-detail {
margin-bottom: 52px;
}

.m-root-info-detail h3 {
font-size: 30px;
line-height: 1.3;
}

.m-root-info-detail p {
font-size: 18px;
line-height: 1.56;

}

}

/* @end @m-root-info-detail */

/* @group @m-google-maps */

.m-google-maps {
width: 100%;
height: 360px;
}

.m-google-maps iframe {
width: 100%;
height: inherit;
}

.gm-style-iw-c {
min-width: 220px !important;
}

.a-marker-node {
min-width: 190px;
/*width: 56vw;
max-width: 300px !important;*/
}

.a-marker-node dt {
margin-bottom: 2px;
color: #ff7f3a;
/*word-break: keep-all;
overflow-wrap: anywhere;*/
}

/*.a-marker-node dd {
word-break: keep-all;
overflow-wrap: anywhere;
}*/

/* @end @m-google-maps */



/* @group @m-root-space */

.m-root-space {
padding: 30px 20px;
background-color: #F2F1EF;
}

@media (width >= 48em) { /* 768px -> * */

.m-root-space {
padding: 60px 20px 40px;
background-color: #F2F1EF;
}

}

.m-root-space a {
position: relative;
z-index: 2;
display: block;
/*max-width: 452px;*/
max-width: 160px;
margin-inline: auto;
border-radius: 8px;
box-shadow: 0px 0px 4px hsl(0deg 0% 0% / 16%);
}

@media (width >= 48em) { /* 768px -> * */

.m-root-space a {
/*max-width: 452px;*/
max-width: 272px;
}

}

.m-root-space img {
border-radius: inherit;
}

.m-root-space a:before {
content: '';
position: absolute;
inset: 0;
z-index: -1;
opacity: 0;
box-shadow: 0px 0px 5px hsl(0deg 0% 0% / 8%);
transition: opacity ease .3s;
}

.m-root-space a:hover:before {
opacity: 1;
}

/* @end @m-root-space */