@font-face {
    font-family: glyphs;
    src: url(../fonts/glyphs.eot?t=1617182261705);
    src: url(../fonts/glyphs.eot?t=1617182261705#iefix) format("embedded-opentype"), url(../fonts/glyphs.woff2?t=1617182261705) format("woff2"), url(../fonts/glyphs.woff?t=1617182261705) format("woff"), url(../fonts/glyphs.ttf?t=1617182261705) format("truetype"), url(../fonts/glyphs.svg?t=1617182261705#glyphs) format("svg")
}

[class*=" glyphs-"],
[class^=glyphs-] {
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-family: glyphs !important;
    font-size: 1em;
    font-style: normal
}

.glyphs-test:before {
    content: "\ea01"
}

:root {
    --vw: 10px;
    --vh: 10px
}

a,
abbr,
acronym,
address,
applet,
big,
blockquote,
body,
caption,
cite,
code,
dd,
del,
dfn,
div,
dl,
dt,
em,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
html,
iframe,
img,
ins,
kbd,
label,
legend,
li,
object,
ol,
p,
pre,
q,
s,
samp,
small,
span,
strike,
strong,
sub,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
tr,
tt,
ul,
var {
    border: 0;
    margin: 0;
    outline: 0;
    padding: 0;
    vertical-align: baseline
}

ol,
ul {
    list-style: none
}

table {
    border-collapse: separate;
    border-spacing: 0;
    vertical-align: middle
}

caption,
td,
th {
    font-weight: 400;
    text-align: left;
    vertical-align: middle
}

img {
    vertical-align: middle
}

dd,
div,
dl,
dt,
h1,
h2,
h3,
h4,
h5,
h6,
img,
li,
nav,
ol,
p,
ul {
    margin: 0;
    padding: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
    line-height: 1
}

.clearfix:after {
    clear: both;
    content: "";
    display: block
}

main {
    display: block
}

figure {
    display: block;
    margin: 0;
    padding: 0
}

img {
    height: auto;
    width: 100%
}

[class^=glyphs-] {
    line-height: 1
}

[class*=" glyphs-"]:before,
[class^=glyphs-]:before {
    line-height: 1;
    vertical-align: middle
}

body {
    color: #553921;
    font-family: Noto Sans JP, sans-serif;
    font-weight: 400
}

a {
    color: currentColor;
    text-decoration: none
}

.fit {
    font-family: "object-fit: cover;";
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    width: 100%
}

.fit--contain {
    font-family: "object-fit: contain;";
    -o-object-fit: contain;
    object-fit: contain
}

@media (min-width:769px),
print {
    .show-sp {
        display: none !important
    }

    .inner {
        margin: 0 auto;
        max-width: 1000px
    }

    .fix {
        position: fixed;
        right: 0;
        top: calc(50vh - 189px);
        z-index: 99
    }

    .fix__item {
        display: block;
        height: 189px;
        -webkit-transform-origin: bottom right;
        transform-origin: bottom right;
        -webkit-transition: -webkit-transform .3s ease;
        transition: -webkit-transform .3s ease;
        -o-transition: transform .3s ease;
        transition: transform .3s ease;
        transition: transform .3s ease, -webkit-transform .3s ease;
        width: 64px;
        will-change: transform
    }

    .fix__item:hover {
        -webkit-transform: scale(1.05);
        transform: scale(1.05)
    }

    .fix__item+.fix__item {
        margin-top: 7px;
        -webkit-transform-origin: top right;
        transform-origin: top right
    }

    .root {
        min-width: 1000px;
        padding-top: 110px
    }

    .header {
        background-color: #fff;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        height: 110px;
        padding: 16px 36px 0 30px;
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 1
    }

    .header:before {
        background: url(../images/common/wave_white_shadow.png?vece9601e91412b1d399f968972abb124) repeat-x 0 0;
        background-size: auto 100%;
        bottom: -38px;
        content: "";
        display: block;
        height: 38px;
        left: 0;
        position: absolute;
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg);
        width: 100%;
        z-index: 2
    }

    .header .row {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        justify-content: space-between;
        width: 100%
    }

    .header__logo {
        height: 79px;
        width: 101px
    }

    .header__logo a {
        display: block
    }

    .header__logo img {
        height: 79px;
        width: 101px
    }

    .header__menu ul {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .header__menu ul li+li {
        margin-left: 48px;
        position: relative
    }

    .header__menu ul li+li:before {
        background-color: red;
        background: url(../images/common/line.svg?v0ecf52ddca14056103f57126959d2878) repeat-y 0 0;
        background-size: auto 100%;
        bottom: 0;
        content: "";
        display: block;
        height: 4px;
        margin: auto auto auto -38px;
        position: absolute;
        top: 0;
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        width: 30px
    }

    .header__menu ul li a {
        -webkit-transition: opacity .3s ease;
        -o-transition: opacity .3s ease;
        transition: opacity .3s ease;
        will-change: opacity
    }

    .header__menu ul li a:hover {
        opacity: .7
    }

    .header__menu--01 img {
        width: 75px;
    }

    .header__menu--02 img {
        width: 109px;
    }

    .header__menu--03 img {
        width: 92px;
    }

    .header__menu--04 img {
        width: 123px;
    }

    .header__menu--05 img {
        width: 129px
    }

    .header__menu--06 img {
        width: 106px
    }

    .footer {
        background: url(../images/common/footer_bg.png?v84bc937159ad03081eae148589315c0e) repeat 0 0 #fff;
        background-size: cover;
        padding: 64px 0 36px;
        position: relative
    }

    .footer .inner {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 0 36px
    }

    .footer:before {
        background: url(../images/common/wave_white.png?ve9ad02dbc665515ccdd3035dba0e13c3) repeat-x 0 0;
        background-size: auto 100%;
        content: "";
        display: block;
        height: 20px;
        position: absolute;
        top: -1px;
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
        width: 100%
    }

    .footer .contact {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        color: #fff;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        font-size: .875rem;
        justify-content: space-between
    }

    .footer .contact__ttl img {
        width: 152px
    }

    .footer .address {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .footer .address__name {
        font-size: 1rem;
        margin-left: 45px
    }

    .footer .address p {
        letter-spacing: .04em;
        margin-left: 28px
    }

    .footer .address p a {
        pointer-events: none
    }

    .footer .address p:nth-child(n+3) {
        position: relative
    }

    .footer .address p:nth-child(n+3):before {
        background-color: #fff;
        content: "";
        display: block;
        height: 16px;
        left: -12px;
        position: absolute;
        top: 2px;
        -webkit-transform: rotate(20deg);
        transform: rotate(20deg);
        width: 1px
    }

    .footer .copyright {
        color: #fff;
        font-size: .75rem;
        margin-top: 18px;
        text-align: right
    }

    .breadcrumbs {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 20px
    }

    .breadcrumbs p {
        white-space: nowrap
    }

    .breadcrumbs p:last-of-type {
        overflow: hidden;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis
    }

    .breadcrumbs p a,
    .breadcrumbs p span {
        font-size: .875rem
    }

    .breadcrumbs p a {
        -webkit-transition: color .3s ease;
        -o-transition: color .3s ease;
        transition: color .3s ease;
        will-change: color
    }

    .breadcrumbs p a:hover {
        color: #eb5151
    }

    .breadcrumbs p:first-of-type {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .breadcrumbs p:first-of-type:before {
        background: url(../images/common/icon_sakura.svg?vf5fca7450e996510facd13c8e96fdf6c) no-repeat 0;
        background-size: contain;
        content: "";
        display: block;
        height: 17px;
        margin-right: 7px;
        width: 17px
    }

    .breadcrumbs p+p:before {
        border-color: transparent transparent transparent #553921;
        border-style: solid;
        border-width: 4px 0 4px 6px;
        content: "";
        display: inline-block;
        height: 0;
        margin: 0 16px 2px 18px;
        width: 0
    }
}

@media only screen and (max-width:768px) {
    .show-pc {
        display: none !important
    }

    .inner {
        margin: 0 auto;
        max-width: 90.625vw
    }

    .fix {
        bottom: 0;
        -webkit-box-shadow: 0 -1.3020833333333335vw 1.3020833333333335vw 0 hsla(24, 11%, 45%, .3);
        box-shadow: 0 -1.3020833333333335vw 1.3020833333333335vw 0 hsla(24, 11%, 45%, .3);
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        left: 0;
        position: fixed;
        right: 0;
        z-index: 99
    }

    .fix__item {
        display: block;
        height: 12.760416666666666vw;
        width: 50%
    }

    .root {
        padding-top: 12.369791666666668vw
    }

    .header {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 100
    }

    .header__logo {
        background-color: #fff;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 1.953125vw 2.864583333333333vw;
        position: absolute;
        width: 100%;
        z-index: 100
    }

    .header__logo:before {
        background: url(../images/common/wave_white_shadow.png?vece9601e91412b1d399f968972abb124) repeat-x 16.276041666666664vw top;
        background-size: auto 100%;
        bottom: -4.817708333333334vw;
        content: "";
        display: block;
        height: 4.947916666666666vw;
        left: 0;
        position: absolute;
        -webkit-transform: rotate(-180deg);
        transform: rotate(-180deg);
        width: 100%;
        z-index: 2
    }

    .header__logo img {
        width: 27.34375vw
    }

    .header__logo__target {
        height: 8.333333333333332vw;
        position: absolute;
        right: 3.6458333333333335vw;
        top: 1.953125vw;
        width: 8.333333333333332vw
    }

    .header__logo__target a {
        display: block;
        height: 100%;
        position: relative;
        width: 100%
    }

    .header__logo__target a:after,
    .header__logo__target a:before,
    .header__logo__target a span {
        background-color: #2f6423;
        border-radius: 1.0416666666666665vw;
        content: "";
        display: block;
        height: 1.0416666666666665vw;
        position: absolute;
        -webkit-transition: -webkit-transform .3s ease;
        transition: -webkit-transform .3s ease;
        -o-transition: transform .3s ease;
        transition: transform .3s ease;
        transition: transform .3s ease, -webkit-transform .3s ease;
        width: 8.333333333333332vw;
        will-change: transform
    }

    .header__logo__target a:before {
        top: 1.3020833333333335vw
    }

    .header__logo__target a:after {
        bottom: 1.3020833333333335vw
    }

    .header__logo__target a span {
        top: 3.6458333333333335vw
    }

    .header__logo__target a.open span {
        display: none
    }

    .header__logo__target a.open:after,
    .header__logo__target a.open:before {
        left: 50%;
        margin-left: -3.90625vw;
        margin-top: -.5208333333333333vw;
        top: 50%
    }

    .header__logo__target a.open:before {
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }

    .header__logo__target a.open:after {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

    .header__menu {
        background: url(../images/common/bg_pink.png?v2f505faae4a684046fe75b33fe7a6527) repeat 0 0;
        background-size: cover;
        padding: 26.5625vw 0 4.947916666666666vw;
        position: absolute;
        text-align: center;
        top: -164.90625vw;
        /* top: -128.90625vw; */
        -webkit-transition: top .5s ease;
        -o-transition: top .5s ease;
        transition: top .5s ease;
        width: 100%;
        will-change: top
    }

    .header__menu.open {
        top: 0
    }

    .header__menu:after {
        background: url(../images/common/wave_pink_shadow.png?vad416c63d805c4eb9e7128e1e3e2bc2a) repeat-x 16.276041666666664vw top;
        background-size: auto 100%;
        bottom: -4.947916666666666vw;
        content: "";
        display: block;
        height: 4.947916666666666vw;
        left: 0;
        position: absolute;
        width: 100%;
        z-index: 2
    }

    .header__menu li+li:before {
        background: url(../images/common/line.svg?v0ecf52ddca14056103f57126959d2878) no-repeat 0 0;
        background-size: contain;
        content: "";
        display: block;
        height: 1.0416666666666665vw;
        margin: 5.729166666666666vw auto;
        width: 7.552083333333333vw;
    }


    .header__menu--01 img {
        width: 20.020833vw;
    }

    .header__menu--02 img {
        width: 57.161458333333336vw;
    }

    .header__menu--03 img {
        width: 41.92708333333333vw;
    }

    .header__menu--04 img {
        width: 62.401042vw;
    }

    .header__menu--05 img {
        width: 36.92708333333333vw;
    }

    .header__menu--06 img {
        width: 46.92708333333333vw;
    }

    .header__menu__close {
        margin-top: 14.322916666666666vw;
    }

    .header__menu__close a {
        color: #553921;
        font-family: Comfortaa, cursive;
        font-size: 3.3854166666666665vw;
        font-weight: 700;
        letter-spacing: .26041666666666663vw
    }

    .header__menu__close a:before {
        border-color: transparent transparent #553921;
        border-style: solid;
        border-width: 0 1.3020833333333335vw 2.083333333333333vw;
        content: "";
        display: block;
        height: 0;
        margin: 0 auto 1.3020833333333335vw;
        width: 0
    }

    .footer {
        background: url(../images/common/footer_bg.png?v84bc937159ad03081eae148589315c0e) repeat 0 0;
        background-size: cover;
        padding: 11.71875vw 0 17.578125vw;
        position: relative
    }

    .footer:before {
        background: url(../images/common/wave_white.png?ve9ad02dbc665515ccdd3035dba0e13c3) repeat-x 0 0;
        background-size: auto 100%;
        content: "";
        display: block;
        height: 2.604166666666667vw;
        position: absolute;
        top: -.13020833333333331vw;
        -webkit-transform: rotate(180deg);
        transform: rotate(180deg);
        width: 100%
    }

    .footer .contact {
        color: #fff;
        font-size: 3.6458333333333335vw
    }

    .footer .contact__ttl img {
        width: 36.45833333333333vw
    }

    .footer .address {
        margin-top: 7.8125vw;
        text-align: right
    }

    .footer .address__name {
        font-size: 3.90625vw
    }

    .footer .address p {
        font-size: 3.90625vw;
        letter-spacing: .04em
    }

    .footer .address p+p {
        margin-top: 1.3020833333333335vw
    }

    .footer .copyright {
        color: #fff;
        font-size: 3.125vw;
        margin-top: 6.510416666666667vw;
        text-align: right
    }

    .breadcrumbs {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin-bottom: 4.427083333333334vw
    }

    .breadcrumbs p {
        white-space: nowrap
    }

    .breadcrumbs p:last-of-type {
        overflow: hidden;
        -o-text-overflow: ellipsis;
        text-overflow: ellipsis
    }

    .breadcrumbs p a,
    .breadcrumbs p span {
        font-size: 3.3854166666666665vw
    }

    .breadcrumbs p:first-of-type {
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex
    }

    .breadcrumbs p:first-of-type:before {
        background: url(../images/common/icon_sakura.svg?vf5fca7450e996510facd13c8e96fdf6c) no-repeat 0;
        background-size: contain;
        content: "";
        display: block;
        height: 3.7760416666666665vw;
        margin-right: 1.953125vw;
        width: 3.7760416666666665vw
    }

    .breadcrumbs p+p:before {
        border-color: transparent transparent transparent #553921;
        border-style: solid;
        border-width: .9765625vw 0 .9765625vw 1.4322916666666665vw;
        content: "";
        display: inline-block;
        height: 0;
        margin: 0 3.125vw .26041666666666663vw;
        width: 0
    }
}