@charset 'UTF-8';
/* ------------------------
  reset
------------------------ */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@500;700&display=swap');
html,
body
{
    height: 100%;
}

*,
*:after,
*:before
{
    box-sizing: border-box;
}

*
{
    font-size: inherit;
    line-height: inherit;

    margin: 0;
    padding: 0;
}

pre,
textarea
{
    overflow: auto;
}

[hidden],
audio:not([controls]),
template
{
    display: none;
}

details,
main,
summary
{
    display: block;
}

input[type=number]
{
    width: auto;
}

input[type=search]
{
    -webkit-appearance: textfield;
}

input[type=search]::-webkit-search-cancel-button,
input[type=search]::-webkit-search-decoration
{
    -webkit-appearance: none;
}

progress
{
    display: inline-block;
}

small
{
    font-size: 75%;
}

sub,
sup
{
    font-size: 75%;
    line-height: 0;

    position: relative;

    vertical-align: baseline;
}

sup
{
    top: -.5em;
}

sub
{
    bottom: -.25em;
}

textarea
{
    resize: vertical;
}

audio,
canvas,
iframe,
img,
svg,
video
{
    vertical-align: middle;
}

img
{
    max-width: 100%;
    height: auto;

    border: 0;
}

button,
input,
select,
textarea
{
    font-family: inherit;
    font-weight: inherit;
    font-style: inherit;

    min-height: 1.5em;

    color: inherit;
}

button
{
    overflow: visible;
}

button,
select
{
    text-transform: none;
}

button,
html input[type=button],
input[type=reset],
input[type=submit]
{
    cursor: pointer;

    -webkit-appearance: button;
}

button[disabled],
html input[disabled]
{
    cursor: default;
}

button::-moz-focus-inner,
input::-moz-focus-inner
{
    padding: 0;

    border: 0;
}

input
{
    line-height: normal;
}

code,
kbd,
pre,
samp
{
    font-family: monospace, monospace;
}

ol,
ul
{
    list-style: none;
}

select
{
       -moz-appearance: none;
    -webkit-appearance: none;
}

table
{
    border-spacing: 0;
    border-collapse: collapse;
}

fieldset
{
    border: 0;
}

@font-face {
    font-family: 'LabilGrotesk';
    font-weight: 700;
    font-style: bold;

    src: url('../fonts/LabilGrotesk-Bold.woff2') format('woff2'), url('../fonts/LabilGrotesk-Bold.woff') format('woff');
}
@font-face {
    font-family: 'YakuHanJP';
    font-weight: 700;
    font-style: normal;

    src: url(data:application/font-woff;charset=utf-8;base64,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) format('woff');
}
/* ------------------------
  Print Styles
------------------------ */
@media print
{
    *,
  *:before,
  *:after
    {
        color: #000 !important;
        background: transparent !important;
        box-shadow: none !important;
        text-shadow: none !important;
    }
    a,
  a:visited
    {
        text-decoration: underline;
    }
    tr,
  img
    {
        page-break-inside: avoid;
    }
    img
    {
        max-width: 100% !important;
    }
    p,
  h2,
  h3
    {
        orphans: 3;
        widows: 3;
    }
    h2,
  h3
    {
        page-break-after: avoid;
    }
}
/* ------------------------
  Base Settings
------------------------ */
html
{
    font-size: 15px;
}
@media screen and (min-width: 768px)
{
    html
    {
        font-size: 16px;
    }
}

body
{
    font-family: 'YakuHanJP', 'Noto Sans JP', 'Hiragino Sans', 'ヒラギノ角ゴシック', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', 'Lucida Grande', 'メイリオ', Meiryo, Verdana, 'ＭＳ Ｐゴシック', sans-serif;
    font-weight: 700;
    line-height: 1.75;

    position: relative;

    word-wrap: break-word;

    color: #fff;
    background-color: #617182;

    -webkit-font-smoothing: antialiased;
            font-smoothing: antialiased;
    -webkit-text-size-adjust: 100%;
}
body::before
{
    position: fixed;
    z-index: 1;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    content: '';
    transition-timing-function: steps(6, end);
    transition-duration: .3s;
    transition-property: top, opacity;
    pointer-events: none;

    background-image: url('../img/common/bg.png');
    background-repeat: no-repeat;
    background-position: center bottom;
    background-size: cover;
}
@media screen and (min-width: 768px)
{
    body::before
    {
        background-position: left top;
    }
}
body.-hideBg::before
{
    top: -10px;

    opacity: 0;
}
@media screen and (min-width: 768px)
{
    body.-hideBg::before
    {
        top: 0;

        opacity: 1;
    }
}

a
{
    text-decoration: none;

    color: #fff;
}
a:visited
{
    color: #fff;
}
a:hover
{
    text-decoration: none;

    color: #fff;
}
a:active
{
    text-decoration: none;

    color: #fff;
}
a[href^='tel:']:hover
{
    color: #fff;
}
@media screen and (min-width: 768px)
{
    a[href^='tel:']
    {
        cursor: text;
        text-decoration: none;
    }
}

::-moz-selection
{
    color: #fff;
    background-color: #617182;
    text-shadow: none;
}

::selection
{
    color: #fff;
    background-color: #617182;
    text-shadow: none;
}

.-en
{
    font-family: 'LabilGrotesk', 'Noto Sans JP', sans-serif;
    font-size: 16px;

    -webkit-font-feature-settings: 'ss01', 'ss02', 'ss03', 'ss06', 'ss08', 'liga', 'dlig', 'calt';

            font-feature-settings: 'ss01', 'ss02', 'ss03', 'ss06', 'ss08', 'liga', 'dlig', 'calt';
}

.-caption
{
    font-size: .8rem;
}

.-caption.-en
{
    font-size: .933rem;
}

.main
{
    position: relative;
    z-index: 2;
}
@media screen and (min-width: 768px)
{
    .main
    {
        width: 65vw;
        margin-left: 35vw;
    }
}
.main__content
{
    margin-bottom: 5rem;
}
@media screen and (min-width: 768px)
{
    .main__content
    {
        width: 50vw;
        margin: 0 auto 7rem auto;
    }
}

.medium-zoom-overlay
{
    z-index: 900;
}

.medium-zoom-image
{
    z-index: 999;
}

.a-backHome
{
    line-height: 1.2;

    position: fixed;
    z-index: 3;
    top: 45px;
    left: calc(6.25vw * .5);
}
.a-borderLink
{
    display: inline-block;

    text-decoration-line: underline;
    text-decoration-style: wavy;
}

.a-copyright
{
    font-size: .8rem;
    font-weight: 500;

    padding: 0 6.25vw;

    text-align: center;
}
@media screen and (min-width: 768px)
{
    .a-copyright
    {
        width: 65vw;
        margin-left: 35vw;
    }
}

.a-language
{
    font-size: 16px;
    font-weight: 500;

    margin-bottom: 3rem;
    padding: 0 6.25vw;

    text-align: center;
}
@media screen and (min-width: 768px)
{
    .a-language
    {
        width: 65vw;
        margin-left: 35vw;
    }
}

.a-panelBg
{
    position: absolute;
    z-index: 0;
    top: 120px;
    left: 12.5vw;

    display: block;

    width: 75vw;
    height: 75vw;

    transition-timing-function: steps(6, end);
    transition-duration: .3s;
    transition-property: all;

    border-radius: 20px;
    background-color: #142d41;
}
@media screen and (min-width: 768px)
{
    .a-panelBg
    {
        left: 47.5vw;

        width: 40vw;
        height: 40vw;
    }
}
.a-panelBg:nth-of-type(2)
{
    top: calc(75vw + 120px + 40px);
}
@media screen and (min-width: 768px)
{
    .a-panelBg:nth-of-type(2)
    {
        top: calc(40vw + 120px + 40px);
    }
}

.lure .a-panelBg,
#grasspiece .a-panelBg,
#grasspiece_flex .a-panelBg,
#shoplist .a-panelBg
{
    position: fixed;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    border-radius: 0;
}

.a-postCaption
{
    font-size: .8rem;
    font-weight: 500;

    margin-bottom: 2rem;
    padding: 0 6.25vw;
}
@media screen and (min-width: 768px)
{
    .a-postCaption
    {
        padding: 0;
    }
}

.a-postImage
{
    display: block;
}
.a-postImage img
{
    display: block;

    width: 100%;
    height: auto;
}

.a-postMainVisual
{
    margin-bottom: 1rem;
    padding: 0 6.25vw;
}
@media screen and (min-width: 768px)
{
    .a-postMainVisual
    {
        padding: 0;
    }
}
.a-postMainVisual img
{
    display: block;

    width: 100%;
    height: auto;
}

.a-postOverview
{
    padding: 0 6.25vw;
}
@media screen and (min-width: 768px)
{
    .a-postOverview
    {
        padding: 0;
    }
}

.a-postText
{
    margin-bottom: 2rem;
    padding: 0 6.25vw;
}
@media screen and (min-width: 768px)
{
    .a-postText
    {
        padding: 0;
    }
}

.m-about
{
    box-sizing: border-box;
    margin: 0 6.25vw 6rem 6.25vw;
    padding: 1rem 6.25vw;

    border: #fff 1px dashed;
    border-top: none;
}
@media screen and (min-width: 768px)
{
    .m-about
    {
        width: 50vw;
        margin: 0 7.5vw 6rem 42.5vw;
        padding: 1rem 3.125vw;
    }
}
.m-about .m-postSectionTitle
{
    border-top: none;
}
.m-about__text
{
    margin-bottom: 1rem;
}
.m-about__text__name
{
    font-size: .8rem;
}

.m-contact
{
    box-sizing: border-box;
    margin: 0 6.25vw 0 6.25vw;
    padding: 1rem 6.25vw;

    border: #fff 1px dashed;
}
@media screen and (min-width: 768px)
{
    .m-contact
    {
        width: 50vw;
        margin: 0 7.5vw 0 42.5vw;
        padding: 1rem 3.125vw;
    }
}
.m-contact .m-postSectionTitle
{
    border-top: none;
}
.m-contact__text a
{
    margin-bottom: 1rem;
}

.m-iframeEmbed
{
    margin-bottom: 2rem;
}
.m-iframeEmbed.-youtube iframe
{
    width: 100vw;
    height: calc(100vw / 16 * 9);
}
@media screen and (min-width: 768px)
{
    .m-iframeEmbed.-youtube iframe
    {
        width: 50vw;
        height: calc(50vw / 16 * 9);
    }
}
.m-iframeEmbed__caption
{
    padding-top: .5rem;
}

.m-lurePannel
{
    position: relative;
}
.m-lurePannel__img
{
    position: relative;
    top: -20px;

    width: 100%;
    height: auto;
}
.m-lurePannel__caption
{
    position: absolute;
    bottom: 2rem;
    left: 0;

    width: 100%;

    transition-timing-function: steps(6, end);
    transition-duration: .3s;
    transition-property: bottom;
    text-align: center;
}
.m-lurePannel__caption__name
{
    font-size: 2.2rem;
    line-height: 1.1;
}
body:has(.t-lure) .m-lurePannel__caption
{
    bottom: -3rem;
}

.m-lurePannelSlider
{
    position: relative;
    z-index: 2;

    margin-bottom: 5rem;
    padding-top: 120px;
}
@media screen and (min-width: 768px)
{
    .m-lurePannelSlider
    {
        width: 65vw;
        margin-left: 35vw;
    }
}
.m-lurePannelSlider__list
{
    display: flex;
    flex-direction: row;

    box-sizing: border-box;
    width: 100%;
    width: 100%;

    flex-wrap: wrap;
    justify-content: center;
    align-items: stretch;
}
.m-lurePannelSlider__list__item
{
    width: 75vw;
    margin-bottom: 40px;
}
@media screen and (min-width: 768px)
{
    .m-lurePannelSlider__list__item
    {
        width: 40vw;
    }
}

#shoplist .m-lurePannelSlider
{
    display: none;
}

#grasspiece_flex .m-lurePannelSlider .grasspiece,
#grasspiece .m-lurePannelSlider .grasspiece_flex
{
    display: none;
}

.m-postDescriptionList
{
    display: flex;
    flex-direction: row;

    box-sizing: border-box;
    width: 100%;
    margin-bottom: .5rem;
    padding: 0 6.25vw;

    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}
@media screen and (min-width: 768px)
{
    .m-postDescriptionList
    {
        padding: 0;
    }
}
.m-postDescriptionList dt
{
    position: relative;

    width: calc(6.25vw * 5);
    margin-bottom: 1rem;
    padding: .5rem .5rem 0 0;

    border-top: 1px #fff solid;
}
@media screen and (min-width: 768px)
{
    .m-postDescriptionList dt
    {
        width: calc(6.25vw * 2);
    }
}
.m-postDescriptionList dd
{
    position: relative;

    width: calc(6.25vw * 9);
    margin-bottom: 1rem;
    padding: .5rem .5rem 0 0;

    border-top: 1px #fff solid;
}
@media screen and (min-width: 768px)
{
    .m-postDescriptionList dd
    {
        width: calc(6.25vw * 6);
    }
}

.m-postImageCaption
{
    margin-bottom: 2rem;
    padding: 0 6.25vw;
}
@media screen and (min-width: 768px)
{
    .m-postImageCaption
    {
        padding: 0;
    }
}
.m-postImageCaption__caption
{
    margin-top: .5rem;
}

.m-postImageList
{
    display: flex;
    flex-direction: row;

    box-sizing: border-box;
    width: 100%;
    padding: 0 6.25vw;

    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: stretch;
}
@media screen and (min-width: 768px)
{
    .m-postImageList
    {
        padding: 0;
    }
}
.m-postImageList__item
{
    box-sizing: border-box;
    width: 50%;
    margin-bottom: 2rem;
    padding-right: 1px;
}
@media screen and (min-width: 768px)
{
    .m-postImageList__item
    {
        padding-right: 1px;
        padding-left: 1px;
    }
}
.m-postImageList__item .m-postImageCaption
{
    padding: 0;
}

.m-postSectionTitle
{
    padding-top: 1.5rem;
    padding-bottom: 2rem;

    text-align: center;

    border-top: #fff dashed 2px;
}
.m-postSectionTitle__title
{
    font-size: 1.667rem;
    line-height: 1.1;
}
.m-postSectionTitleSub
{
    padding-top: 1.5rem;
    padding-bottom: 2rem;

    text-align: center;
}
.m-postSectionTitleSub__title
{
    font-size: 1.667rem;
    line-height: 1.1;

    margin-bottom: .5rem;
}
.m-shopData__name
{
    margin-bottom: .5rem;
}
.m-shopData__address
{
    font-size: .8rem;
    font-style: normal;

    margin-bottom: .5rem;
}
.m-shopData__url
{
    font-size: .8rem;
}
.m-shoplist
{
    margin: 0 6.25vw;

    border-top: #fff 2px dashed;
}
@media screen and (min-width: 768px)
{
    .m-shoplist
    {
        margin: 0;
    }
}
.m-shoplist__title
{
    font-size: 1.2rem;

    margin-bottom: 3rem;
}
.m-shoplist__list__item
{
    margin-bottom: 2rem;
}

.o-footer
{
    position: relative;

    margin-top: 6rem;
    padding-bottom: 6rem;
}

.o-gnavi
{
    position: fixed;
    z-index: 4;
    top: 0;
    left: 0;

    width: 100%;
    height: 100%;

    pointer-events: none;
}
.o-gnavi::before
{
    position: absolute;
    z-index: 0;
    bottom: 0;
    left: 0;

    display: block;

    width: 0;
    height: 0;

    content: '';
    transition-timing-function: steps(6, end);
    transition-duration: .3s;
    transition-property: width, height;

    background-color: #142d41;
    background-image: url(../img/common/illust03.jpg);
    background-position: left bottom;
    background-size: cover;
}
.o-gnavi__list
{
    position: relative;
    z-index: 1;

    padding: 120px 0 0 6.25vw;
}
.o-gnavi__list.-children
{
    padding: 0;
}
.o-gnavi__list__item
{
    visibility: hidden;

    transition-timing-function: steps(6, end);
    transition-duration: .3s;
    transition-property: opacity;

    opacity: 0;
}
.o-gnavi__list__item a
{
    font-size: 1.533rem;
}
.o-gnavi__list__item__subject
{
    font-size: 15px;

    margin-top: 1rem;
}
.o-gnavi__outerlinks
{
    position: relative;
    z-index: 1;

    visibility: hidden;

    padding: 3rem 0 0 6.25vw;

    transition-timing-function: steps(6, end);
    transition-duration: .3s;
    transition-property: opacity;

    opacity: 0;
}
.o-gnavi__outerlinks__item
{
    margin-bottom: .5rem;
}

body.show-modal .o-gnavi
{
    pointer-events: auto;
}
body.show-modal .o-gnavi::before
{
    width: 100%;
    height: 100%;
}
body.show-modal .o-gnavi__list__item
{
    visibility: visible;

    opacity: 1;
}
body.show-modal .o-gnavi__outerlinks
{
    visibility: visible;

    opacity: 1;
}

.o-gnaviBtn
{
    position: fixed;
    z-index: 6;
    bottom: 6.25vw;
    left: 6.25vw;

    display: block;

    width: 116px;

    cursor: pointer;
}
@media screen and (min-width: 768px)
{
    .o-gnaviBtn
    {
        right: 3.125vw;
    }
}
.o-gnaviBtn__close
{
    display: none;

    padding-left: 2px;
}

body.show-modal .o-gnaviBtn__open
{
    display: none;
}
body.show-modal .o-gnaviBtn__close
{
    display: inline-block;
}

.o-header
{
    position: fixed;
    z-index: 5;
    top: 0;
    right: 3.125vw;
}
@media screen and (min-width: 768px)
{
    .o-header
    {
        right: 3.125vw;
    }
}
.o-header__logos
{
    position: relative;
}
.o-header__logos__item
{
    position: absolute;
    right: 0;

    display: none;

    transition-timing-function: steps(6, end);
    transition-duration: .8s;
    transition-property: margin-top, opacity;
}
.-hideBg .o-header__logos__item
{
    margin-top: -10px;

    pointer-events: none;

    opacity: 0;
}
@media screen and (min-width: 768px)
{
    .-hideBg .o-header__logos__item
    {
        margin-top: 0;

        opacity: 1;
    }
}
.o-header__logos__item.-home
{
    top: 43px;
}
.o-header__logos__item.-home svg
{
    width: 120px;
    height: auto;
}
@media screen and (min-width: 768px)
{
    .o-header__logos__item.-home svg
    {
        width: auto;
        height: auto;
    }
}
.o-header__logos__item.-grasspiece
{
    top: 23px;
}
.o-header__logos__item.-grasspiece svg
{
    width: 144px;
    height: auto;
}
@media screen and (min-width: 768px)
{
    .o-header__logos__item.-grasspiece svg
    {
        width: auto;
        height: auto;
    }
}
.o-header__logos__item.-grasspiece_flex
{
    top: 23px;
}
.o-header__logos__item.-grasspiece_flex svg
{
    width: 144px;
    height: auto;
}
@media screen and (min-width: 768px)
{
    .o-header__logos__item.-grasspiece_flex svg
    {
        width: auto;
        height: auto;
    }
}

body#home .o-header__logos__item.-home, body#shoplist .o-header__logos__item.-home
{
    display: block;
}

body#grasspiece .o-header__logos__item.-grasspiece
{
    display: block;
}

body#grasspiece_flex .o-header__logos__item.-grasspiece_flex
{
    display: block;
}

.t-home__copy
{
    font-family: 'LabilGrotesk', 'Noto Sans JP', sans-serif;
    font-size: 2.2rem;

    text-align: center;
}
.t-shoplist
{
    padding: 180px 0 0 0;
}
.t-shoplist__looking
{
    font-size: .8rem;

    box-sizing: border-box;
    margin: 0 6.25vw 2rem;

    text-align: right;
}
@media screen and (min-width: 768px)
{
    .t-shoplist__looking
    {
        margin: 0 auto 2rem auto;
    }
}
.t-shoplist__looking a
{
    text-decoration-line: underline;
    text-decoration-style: wavy;
    text-underline-position: under;
}
.t-shoplist .m-postSectionTitle
{
    padding-bottom: 160px;

    border-top: none;
}
