﻿* {
    font-family: "Noto Serif JP", serif !important;
}


html,
body,
div,
span,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
abbr,
address,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
samp,
small,
strong,
sub,
sup,
var,
b,
i,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
article,
aside,
canvas,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
time,
mark,
audio,
video {
    padding: 0;
    margin: 0;
    font-size: 100%;
    vertical-align: baseline;
    background: transparent;
    border: 0;
    outline: 0
}

body {
    line-height: 1
}

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
    display: block
}

ol,
ul,
li {
    list-style: none
}

blockquote,
q {
    quotes: none
}

blockquote::before,
blockquote::after,
q::before,
q::after {
    content: '';
    content: none
}

a {
    padding: 0;
    margin: 0;
    font-size: 100%;
    text-decoration: none;
    vertical-align: baseline;
    background: transparent
}

ins {
    color: #000;
    text-decoration: none;
    background-color: #ff9
}

mark {
    font-style: italic;
    font-weight: bold;
    color: #000;
    background-color: #ff9
}

del {
    text-decoration: line-through
}

abbr[title],
dfn[title] {
    cursor: help;
    border-bottom: 1px dotted
}

table {
    border-spacing: 0;
    border-collapse: collapse
}

hr {
    display: block;
    height: 1px;
    padding: 0;
    margin: 1em 0;
    border: 0;
    border-top: 1px solid #ccc
}

input,
select {
    vertical-align: middle
}

button,
input,
select,
textarea {
    font-family: inherit;
    font-size: 100%
}

img {
    font-size: 0;
    line-height: 0;
    vertical-align: top
}

*:focus {
    outline: none
}

html {
    height: 100%;
    font-size: 62.5%
}

body {
/*    font-family: -apple-system, Helvetica Neue, Hiragino Sans, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;*/
    font-size: 1.4rem;
    line-height: 1.6;
    color: #2d2d31;
    background-color: #fff;
    -webkit-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale
}

_:-ms-input-placeholder,
body {
/*    font-family: -apple-system, Helvetica Neue, Hiragino Sans, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif*/
}

.grid12 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -1.25%;
    margin-right: -1.25%;
}

.grid12__col-1 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 5.83333%;
    flex: 0 0 5.83333%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid12__col-2 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 14.16667%;
    flex: 0 0 14.16667%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid12__col-3 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 22.5%;
    flex: 0 0 22.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid12__col-4 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 30.83333%;
    flex: 0 0 30.83333%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid12__col-5 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 39.16667%;
    flex: 0 0 39.16667%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid12__col-6 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 47.5%;
    flex: 0 0 47.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid12__col-7 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 55.83333%;
    flex: 0 0 55.83333%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid12__col-8 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 64.16667%;
    flex: 0 0 64.16667%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid12__col-9 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 72.5%;
    flex: 0 0 72.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid12__col-10 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 80.83333%;
    flex: 0 0 80.83333%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid12__col-11 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 89.16667%;
    flex: 0 0 89.16667%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid12__col-12 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 97.5%;
    flex: 0 0 97.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid10 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -1.25%;
    margin-right: -1.25%
}

.grid10__col-1 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 7.5%;
    flex: 0 0 7.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid10__col-2 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 17.5%;
    flex: 0 0 17.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid10__col-3 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 27.5%;
    flex: 0 0 27.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid10__col-4 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 37.5%;
    flex: 0 0 37.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid10__col-5 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 47.5%;
    flex: 0 0 47.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid10__col-6 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 57.5%;
    flex: 0 0 57.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid10__col-7 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 67.5%;
    flex: 0 0 67.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid10__col-8 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 77.5%;
    flex: 0 0 77.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid10__col-9 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 87.5%;
    flex: 0 0 87.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid10__col-10 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 97.5%;
    flex: 0 0 97.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid9 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-left: -1.25%;
    margin-right: -1.25%
}

.grid9__col-1 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 8.61111%;
    flex: 0 0 8.61111%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid9__col-2 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 19.72222%;
    flex: 0 0 19.72222%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid9__col-3 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 30.83333%;
    flex: 0 0 30.83333%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid9__col-4 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 41.94444%;
    flex: 0 0 41.94444%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid9__col-5 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 53.05556%;
    flex: 0 0 53.05556%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid9__col-6 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 64.16667%;
    flex: 0 0 64.16667%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid9__col-7 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 75.27778%;
    flex: 0 0 75.27778%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid9__col-8 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 86.38889%;
    flex: 0 0 86.38889%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.grid9__col-9 {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 97.5%;
    flex: 0 0 97.5%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}

.switchFadeUp {
    -webkit-animation: anime 0.5s;
    animation: anime 0.5s;
    -webkit-animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

@-webkit-keyframes anime {
    0% {
        opacity: 0;
        -webkit-transform: translateY(1%);
        transform: translateY(1%)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0%);
        transform: translateY(0%)
    }
}

@keyframes anime {
    0% {
        opacity: 0;
        -webkit-transform: translateY(1%);
        transform: translateY(1%)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0%);
        transform: translateY(0%)
    }
}

@-webkit-keyframes ArrowMotionDownKey {
    0% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px)
    }

    100% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }
}

@keyframes ArrowMotionDownKey {
    0% {
        -webkit-transform: translateY(-5px);
        transform: translateY(-5px)
    }

    100% {
        -webkit-transform: translateY(10px);
        transform: translateY(10px)
    }
}

@-webkit-keyframes FadeInKey {
    0% {
        margin-top: 10px;
        opacity: 0
    }

    100% {
        margin-top: 0px;
        opacity: 1
    }
}

@keyframes FadeInKey {
    0% {
        margin-top: 10px;
        opacity: 0
    }

    100% {
        margin-top: 0px;
        opacity: 1
    }
}

@-webkit-keyframes FadeUpKey {
    0% {
        margin-top: 24px;
        opacity: 0
    }

    100% {
        margin-top: 0px;
        opacity: 1
    }
}

@keyframes FadeUpKey {
    0% {
        margin-top: 24px;
        opacity: 0
    }

    100% {
        margin-top: 0px;
        opacity: 1
    }
}

@-webkit-keyframes FadeTransKey {
    0% {
        opacity: 0;
        -webkit-transform: translateY(1%);
        transform: translateY(1%)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@keyframes FadeTransKey {
    0% {
        opacity: 0;
        -webkit-transform: translateY(1%);
        transform: translateY(1%)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0);
        transform: translateY(0)
    }
}

@-webkit-keyframes UpDownKey {
    0% {
        margin-top: 0px
    }

    0% {
        margin-top: 8px
    }

    100% {
        margin-top: 0px
    }
}

@keyframes UpDownKey {
    0% {
        margin-top: 0px
    }

    0% {
        margin-top: 8px
    }

    100% {
        margin-top: 0px
    }
}

@-webkit-keyframes HeroMotionKey {
    0% {
        background-size: auto 100%;
        opacity: 0.8
    }

    30% {
        background-size: auto 105%
    }

    100% {
        background-size: auto 105%;
        opacity: 1
    }
}

@keyframes HeroMotionKey {
    0% {
        background-size: auto 100%;
        opacity: 0.8
    }

    30% {
        background-size: auto 105%
    }

    100% {
        background-size: auto 105%;
        opacity: 1
    }
}

@-webkit-keyframes HeroTtileMotionKey {
    0% {
        opacity: 0;
        -webkit-transform: translateY(5px);
        transform: translateY(5px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        transform: translateY(0px)
    }
}

@keyframes HeroTtileMotionKey {
    0% {
        opacity: 0;
        -webkit-transform: translateY(5px);
        transform: translateY(5px)
    }

    100% {
        opacity: 1;
        -webkit-transform: translateY(0px);
        transform: translateY(0px)
    }
}

@-webkit-keyframes HeroImgMotionKey {
    0% {
        opacity: 0;
        -webkit-transform: scale(1.02);
        transform: scale(1.02)
    }

    99% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100% {
        opacity: 1
    }
}

@keyframes HeroImgMotionKey {
    0% {
        opacity: 0;
        -webkit-transform: scale(1.02);
        transform: scale(1.02)
    }

    99% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100% {
        opacity: 1
    }
}

@-webkit-keyframes HeroTopImgMotionKey {
    0% {
        opacity: 0;
        -webkit-transform: scale(1.02);
        transform: scale(1.02)
    }

    99% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100% {
        opacity: 1
    }
}

@keyframes HeroTopImgMotionKey {
    0% {
        opacity: 0;
        -webkit-transform: scale(1.02);
        transform: scale(1.02)
    }

    99% {
        -webkit-transform: scale(1);
        transform: scale(1)
    }

    100% {
        opacity: 1
    }
}

.c-buttonPrimary {
    border: none;
    display: flex;
    display: inline-flex;
}


.c-buttonPrimary {
    height: 54px;
    font-weight: 400;
    line-height: 54px;
    color: #fff;
    text-align: center;
    background: #6c000e;
    border: none;
}


.c-buttonPrimary a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff
}

.c-buttonPrimary:hover {
    background: #a70016;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}



.c-buttonSecondary {
    height: 54px;
    font-weight: bold;
    line-height: 54px;
    text-align: center;
    background: #6C000E;
    border: none;
    border-radius: 30px;
    -webkit-box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 5px 10px 0 rgba(0, 0, 0, 0.2)
}

.c-buttonSecondary a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
}

.c-buttonSecondary:hover {
    background: #fff;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.c-buttonSecondary:hover a {
    color: #2D2D31;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.c-buttonTertiary {
    height: 54px;
    font-weight: bold;
    line-height: 54px;
    text-align: center;
    background: none;
    border: solid 1px #ccc;
    border-radius: 4px
}

.c-buttonTertiary a {
    display: block;
    width: 100%;
    height: 100%;
    color: #fff;
    font-weight: 400;
}

.c-buttonTertiary:hover {
    background: #a70016;
    border: solid 1px #a70016;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.c-buttonTertiary:hover a {
    color: #fff;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.c-arrowLink {
    position: relative;
    display: inline-block;
    text-decoration: none;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-right: 30px;
    font-weight: bold;
    color: #6E0603;
    background: url("../image/icon_arrowlink.svg") no-repeat center right;
    background-size: 16px;
    margin-top: 20px;
}

.c-arrowLink::after {
    position: absolute;
    bottom: -5px;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #6c000e;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top;
}

.c-arrowLink:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.c-headingTitle {
    margin-bottom: 40px;
/*    font-family: -apple-system, Helvetica Neue, Hiragino Sans, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;*/
    font-size: 2.8rem;
    line-height: 1;
    color: #2d2d31
}

.c-headingTitle--minCho {
    margin-bottom: 40px;
/*    font-family: "游明朝体", YuMin, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
    font-size: 2.8rem;
    line-height: 1;
    color: #2d2d31
}

.c-titleCenter {
    text-align: center
}

.c-headHero {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    height: 420px;
    overflow: hidden;
    background: #000;
    background: #000;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0)
}

.c-headHeroTitle {
    position: relative;
    z-index: 3;
    width: 100%;
    text-align: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-animation: HeroTtileMotionKey 1s;
    animation: HeroTtileMotionKey 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.c-headHeroTitle__title {
/*    font-family: "游明朝体", YuMin, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
    display: inline-block;
    margin-left: -0.8rem;
    font-size: 3.2rem;
    line-height: 1.6;
    color: #fff;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
    letter-spacing: 1rem;
}

.c-headHeroTitle__subTitle {
/*    font-family: "游明朝体", YuMin, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
    position: relative;
    margin-top: 40px;
    font-size: 1.2rem;
    color: #fff;
    text-align: center;
    letter-spacing: 4.29px
}

.c-headHeroTitle__subTitle span {
    position: relative;
    display: inline-block
}

.c-headHeroTitle__subTitle span::after {
    position: absolute;
    top: -30px;
    left: 50%;
    width: 52px;
    height: 1px;
    margin-left: -30px;
    content: '';
    background: #fff
}

.c-headHeroBg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.4)
}

.c-headHeroBgImage {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    will-change: animation;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    -webkit-animation: HeroImgMotionKey 1s;
    animation: HeroImgMotionKey 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.c-headHeroSecondary {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 340px;
    overflow: hidden;
    background: #000
}

.c-headHeroSecondaryTitle {
    position: relative;
    z-index: 3;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    min-width: 400px;
    height: 164px;
    padding: 0 40px;
/*    font-family: "游明朝体", YuMin, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
    font-weight: bold;
    line-height: 164px;
    text-align: center;
    letter-spacing: 3px;
    background: rgba(0, 0, 0, 0.7);
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-animation: HeroTtileMotionKey 1s;
    animation: HeroTtileMotionKey 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.c-headHeroSecondaryTitle__title {
    font-size: 3.2rem;
    color: #fff
}

.c-headHeroTertiaryTitle {
    position: relative;
    z-index: 3;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    min-width: 400px;
    height: auto;
    padding: 40px;
    text-align: center;
    letter-spacing: 3px;
    background: #6C000EB2;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-animation: HeroTtileMotionKey 1s;
    animation: HeroTtileMotionKey 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.c-headHeroTertiaryTitle__title {
    display: block;
    width: 100%;
/*    font-family: "游明朝体", YuMin, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
    font-size: 3.2rem;
    font-weight: bold;
    color: #fff
}

.c-headHeroTertiaryTitle__address {
    display: block;
    width: 100%;
    margin-top: 24px;
    font-size: 1.2rem;
    color: #ccc
}

.c-listDateText {
    margin-bottom: 14px;
    font-size: 1.6rem;
    color: #fff;
}

.c-listDateText:last-child {
    margin-bottom: 0
}

.c-listDateText__text a {
    color: #fff;
    text-decoration: underline
}

.c-listDateText__text a:hover {
    text-decoration: none
}

.c-listDateText__text--bold {
    font-weight: bold
}

.c-listDateText__text--bold a {
    color: #2d2d31;
    text-decoration: underline
}

.c-listDateText__text--bold a:hover {
    text-decoration: none
}

.c-newsListWrap {
    background: #f3f3f3;
    position: relative
}

.c-newsListContent {
    position: relative
}

.c-newsListDetailMore {
    position: absolute;
    bottom: 56px;
    left: 0;
    z-index: 2;
    width: 100%;
    padding-top: 16px;
    text-align: right;
}

.c-newsListDetailMore div {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 1170px;
    padding-right: 30px;
    padding-left: 30px;
    margin: 0 auto
}

@media only screen and (max-width: 787px) {
    .c-newsListDetailMore div {
        padding-right: 30px;
        padding-left: 30px
    }
}

.c-newsListDetailMoreSecondly {
    position: absolute;
    bottom: -10px;
    left: 0;
    z-index: 2;
    width: 100%;
    padding-top: 16px;
    text-align: right;
    background: #fff
}

.c-newsListDetailMoreSecondly div {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 980px;
    padding-right: 30px;
    padding-left: 30px;
    margin: 0 auto
}

@media only screen and (max-width: 787px) {
    .c-newsListDetailMoreSecondly div {
        padding-right: 30px;
        padding-left: 30px
    }
}

.c-shopListWrap {
    background: #f3f3f3
}

.c-shopListNarrowDown {
    height: 24px;
    padding-left: 28px;
    margin-bottom: 24px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 24px;
    cursor: pointer;
    background: url("../image/icon_filter.svg") no-repeat center left;
    background-size: 24px
}

.c-shopListNarrowDown--on {
    color: #a70016;
    background: url("../image/icon_filter_green.svg") no-repeat center left;
    background-size: 24px
}

.c-shopListAreaList {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin-bottom: 24px;
    justify-content: center;
}

.c-shopListAreaList__item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    min-width: 80px;
    height: 44px;
    padding: 0 24px;
    margin-right: 8px;
    margin-bottom: 8px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 44px;
    text-align: center;
    cursor: pointer;
    border-radius: 22px;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    font-weight: 400;
}

.c-shopListAreaList__item--on {
    color: #700603;
    background: #fff;
    border: 1px solid #700603;
}

.c-shopListAreaList__item--off {
    color: #2d2d31;
    background: #fff;
    border: 1px solid #ccc
}

.c-shopListAreaList__item--off:hover {
    color: #720606;
    background: #fff;
    border: 1px solid #720606;
}

.c-shopListAreaList__item--gray {
    color: #2d2d31;
    background: #f3f3f3;
    border: 1px solid #2d2d31
}

.c-shopListAreaList--none {
    display: none
}

.c-shopListOne {
    overflow: hidden;
    background-color: #ffffff;
    border-radius: 8px;
    -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    margin-bottom: 24px
}

.c-shopListOne:hover {
    -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2)
}

@media only screen and (max-width: 787px) {
    .c-shopListOne:hover {
        -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2)
    }
}

.c-shopListOneInner {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 16px;
    cursor: pointer
}

.c-shopListOneInner:hover {
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.c-shopListOneThumb {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 100%
}

.c-shopListOneThumb::after {
    position: absolute;
    width: 8px;
    height: 8px;
    content: '';
    border-top: solid 2px #666;
    border-right: solid 2px #666;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

.c-shopListOneThumb::after {
    right: 16px;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.c-shopListOneThumb--on::after {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.c-shopListOnePhoto {
    max-width: 90px;
    margin-right: 16px
}

.c-shopListOnePhoto img {
    width: 100%;
    height: auto
}

.c-shopListOneInfo {
    width: 55%
}

.c-shopListOneInfo__name dt {
    font-size: 2rem;
    font-weight: 400;
    line-height: 1.1;
    color: #2D2D31;
}

.c-shopListOneInfo__name dd {
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 19px;
    color: #666666;
    margin-top: 10px;
    margin-bottom: 10px;
}

.c-shopListOneInfo__point {
    margin-top: 2px
}

.c-shopListOneInfo__point li {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    padding: 0 10px;
    font-size: 1.2rem;
    font-weight: 400;
    line-height: 24px;
    text-align: center;
    border-radius: 4px;
    color: #666666;
}

.c-shopListOneInfo__point--on {
    color: #666;
    border: 1px solid #ccc
}

.c-shopListOneInfo__point--off {
    color: #ccc;
    background: #f3f3f3;
    border: 1px solid #f3f3f3
}

.c-shopListReserveOne {
    overflow: hidden;
    background-color: #ffffff;
    border-radius: 8px;
    -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    margin-bottom: 24px
}

.c-shopListReserveOne:hover {
    -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2)
}

@media only screen and (max-width: 787px) {
    .c-shopListReserveOne:hover {
        -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2)
    }
}

.c-shopListReserveOne:hover {
    -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2)
}

.c-shopListReserveOneInner {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    padding: 16px
}

.c-shopListReserveOnePhoto {
    max-width: 90px;
    margin-right: 8px
}

.c-shopListReserveOnePhoto img {
    width: 100%;
    height: auto
}

.c-shopListReserveOneInfo {
    width: 60%
}

.c-shopListReserveOneInfo__name dt {
    margin-bottom: 6px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1.1;
    color: #2d2d31
}

.c-shopListReserveOneInfo__name dd {
    margin-bottom: 6px;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    color: #2d2d31
}

.c-shopListReserveOneInfo__time {
    font-size: 1.2rem;
    line-height: 1
}

.c-shopListReserveOneButton {
    width: 100%;
    margin-top: 16px
}

.c-shopListReserveOneButton a {
    font-size: 1.6rem
}

.c-shopListDetailBox--outer {
    display: none
}

.c-shopListDetailBoxWrapOuter {
    margin-top: -30px;
    margin-bottom: 0
}

.c-shopListDetailBoxWrap {
    position: relative;
    padding-top: 24px;
    -webkit-animation: FadeUpKey 0.4s;
    animation: FadeUpKey 0.4s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.c-shopListDetailBoxWrap::after {
    position: absolute;
    top: 2px;
    display: block;
    width: 32px;
    height: 24px;
    content: '';
    background: url("../image/icon-shop-arrow.svg") no-repeat;
    background-size: 32px 24px
}

.c-shopListDetailBoxWrap1::after {
    left: 15%
}

.c-shopListDetailBoxWrap2::after {
    left: 50%
}

.c-shopListDetailBoxWrap0::after {
    left: 83%
}

.c-shopListDetailBox {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 24px;
    margin-bottom: 24px;
    color: #fff;
    background: #6C000E;
    border-radius: 4px
}

.c-shopListDetailBoxData {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 65%
}

.c-shopListDetailBoxData__photo {
    width: 50%
}

.c-shopListDetailBoxData__photo img {
    width: 100%;
    height: auto
}

.c-shopListDetailBoxData__info {
    width: 50%;
    padding: 0 30px;
    font-size: 1.2rem;
    border-right: solid 1px #d8d8d8
}

.c-shopListDetailBoxData__info dl {
    color: #ccc;
    margin-bottom: 16px;
}

.c-shopListDetailBoxData__info dl dt {
    font-weight: bold;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    margin-bottom: 6px;
    margin-top: 10px;
}

.c-shopListDetailBoxData__map {
    padding-left: 20px;
    margin-bottom: 8px;
    background: url("../image/icon_map_white.svg") no-repeat center left;
    background-size: 16px
}

.c-shopListDetailBoxData__map a {
    color: #fff;
    text-decoration: underline;
    font-size: 1.2rem;
}

.c-shopListDetailBoxData__map a:hover {
    text-decoration: none
}

.c-shopListDetailBoxData__button {
    width: 100%;
    margin-top: 10px;
    font-size: 1.6rem
}

.c-shopListDetailBoxReserve {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 35%;
    padding: 0 0 0 30px;
    text-align: center
}

.c-shopListDetailBoxReserve__title {
    margin-bottom: 6px;
    font-size: 1.6rem;
    font-weight: 400;
}

.c-shopListDetailBoxReserve__number {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 3.2rem;
    font-weight: bold;
    line-height: 33px
}

.c-shopListDetailBoxReserve__number span {
    display: inline-block;
    padding-left: 24px;
    background: url("../image/icon_tel_wehite.svg") no-repeat center left;
    background-size: 17px 27px
}

.c-shopListDetailBoxReserve__button {
    width: 100%;
    margin-top: 10px;
    font-size: 1.6rem;
    border-radius: 4px
}

.c-blogDetailDate {
    margin-bottom: 4px;
    font-family: Roboto-Medium;
    font-size: 1.6rem;
    color: #2d2d31
}

.c-blogDetailRead {
    margin-bottom: 4px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #666
}

.c-blogDetailTitle {
    margin-bottom: 32px;
    font-size: 3.2rem;
    font-weight: bold;
    color: #2d2d31
}

.c-blogDetailTitle--item {
    margin-bottom: 4px
}

.c-blogDetailPrice {
    font-size: 1.6rem;
    font-weight: bold;
    color: #666
}

.c-blogDetailContent {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 40px 0 20px 0;
    border-top: solid 1px #ccc
}

.c-blogDetailContent--item {
    padding: 20px 0 40px;
    border-top: none
}

.c-blogDetailContent__block {
    margin-bottom: 28px;
    font-size: 1.6rem;
    line-height: 28px;
    color: #2d2d31
}

.c-blogDetailContent__block span {
    display: block;
    font-weight: bold
}

.c-blogDetailContent__block img {
    width: 100%;
    height: auto
}

.c-blogDetailContent__course {
    padding: 16px;
    margin-bottom: 8px;
    background: #f3f3f3;
    border-radius: 4px
}

.c-blogDetailContent__course dt {
    font-weight: bold
}

.c-blogDetailContent p {
    margin-bottom: 28px;
    font-size: 1.6rem;
    line-height: 28px;
    color: #2d2d31
}

.c-blogDetailContent p img {
    max-width: 100%;
    height: auto
}

.c-blogDetailContent p a {
    color: #2d2d31;
    text-decoration: underline
}

.c-blogDetailShare {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 32px;
    text-align: center;
    border-top: solid 1px #ccc
}

.c-blogDetailShare p {
    color: #2d2d31
}

.c-blogDetailShare ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 10px 0 0
}

.c-blogDetailShare ul li {
    width: 32px;
    height: 32px;
    margin: 0 8px;
    overflow: hidden;
    text-indent: 100%;
    white-space: nowrap;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.c-blogDetailShare ul li a {
    display: block;
    width: 100%;
    height: 100%
}

.c-blogDetailShare ul li:nth-child(1) {
    background: url(../image/icon_blog_facebook.png) no-repeat center;
    background-size: 32px
}

.c-blogDetailShare ul li:nth-child(1):hover {
    opacity: 0.6
}

.c-blogDetailShare ul li:nth-child(2) {
    background: url(../image/icon_blog_twitter.png) no-repeat center;
    background-size: 32px
}

.c-blogDetailShare ul li:nth-child(2):hover {
    opacity: 0.6
}

.c-blogDetailNav {
    padding-top: 24px;
    margin-top: 24px;
    text-align: center;
    border-top: solid 1px #ccc;
}

.c-blogDetailNav a {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    /* padding-left: 10px; */
    color: #2d2d31;
    position: relative;
    display: inline-block;
    text-decoration: underline;
}

.c-blogDetailNav a::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #2d2d31;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.c-blogDetailNav a:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

/*.c-blogDetailNav a span::after {
    position: absolute;
    width: 6px;
    height: 6px;
    content: '';
    border-top: solid 1px #2d2d31;
    border-right: solid 1px #2d2d31;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}*/

/*.c-blogDetailNav a span:after {
    top: 8px;
    left: 0;
    -webkit-transform: rotate(-135deg);
    transform: rotate(-135deg)
}*/

.c-barNavWrap {
    width: 100%
}

.c-barNavWrapFix {
    position: fixed;
    top: 0px;
    z-index: 100;
    width: 100%
}

.c-barNavWrapFixContainer {
    padding-top: 80px !important
}

.c-barNavWrapFixDouble {
    position: fixed;
    top: 0px;
    z-index: 100;
    width: 100%
}

.c-barNavWrapFixDoubleContainer {
    padding-top: 146px !important
}

.c-barNavWrapFixDoubleContainer .c-barSecondlyNavWrap {
    opacity: 0.8
}

.c-barNavBar {
    width: 100%;
    background: #6C000E;
}

.c-barNav {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 980px;
    padding-right: 30px;
    padding-left: 30px;
    margin: 0 auto;
    height: 80px
}

@media only screen and (max-width: 787px) {
    .c-barNav {
        padding-right: 30px;
        padding-left: 30px
    }
}

.c-barNav__item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    height: 100%;
    margin: 0 16px;
}

.c-barNav__item a {
    display: block;
    width: 100%;
    height: 100%;
    padding: 0 16px;
    font-weight: bold;
    line-height: 80px;
    color: #fff
}

.c-barNav__item--on {
    border-bottom: solid 3px #fff;
}

.c-barSecondlyNavWrap {
    width: 100%;
    background: #FFFFFF;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.c-barSecondlyNav {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 980px;
    padding-right: 30px;
    padding-left: 30px;
    margin: 0 auto;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 66px
}

@media only screen and (max-width: 787px) {
    .c-barSecondlyNav {
        padding-right: 30px;
        padding-left: 30px
    }
}

.c-barSecondlyNav__item {
    -webkit-box-sizing: border-box;
    box-sizing: border-box
}

.c-barSecondlyNav__item a {
    display: block;
    padding: 0 16px;
    color: #6C000E;
}

.c-barSecondlyNav__item a span {
    position: relative;
    display: inline-block;
    text-decoration: none
}

.c-barSecondlyNav__item a span::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #6C000E;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.c-barSecondlyNav__item a span:hover::after {
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.c-tablePrimaryWrap {
    width: 100%
}

.c-tablePrimaryCell {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 24px;
    border-bottom: solid 1px #ccc
}

.c-tablePrimaryCell:first-child {
    border-top: solid 1px #ccc
}

.c-tablePrimaryCell dt,
.c-tablePrimaryCell td:nth-child(1) {
    margin-bottom: 0;
    font-size: 1.6rem;
    font-weight: 500;
    color: #666;
    text-align: left
}

.c-tablePrimaryCell dd,
.c-tablePrimaryCell td:nth-child(2) {
    margin-bottom: 0;
    font-size: 1.6rem;
    color: #2d2d31
}

.c-tablePrimaryCell dd a,
.c-tablePrimaryCell td:nth-child(2) a {
    font-size: 1.4rem;
    font-weight: bold;
    color: #2d2d31;
    text-decoration: underline
}

.c-tablePrimaryCell dd a:hover,
.c-tablePrimaryCell td:nth-child(2) a:hover {
    text-decoration: none
}

.c-tablePrimaryCell dd p,
.c-tablePrimaryCell td:nth-child(2) p {
    margin-bottom: 24px
}

.c-tablePrimaryCell dd p span,
.c-tablePrimaryCell td:nth-child(2) p span {
    display: block;
    margin-bottom: 8px;
    font-weight: bold
}

.c-tableSecondaryCell {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 24px;
    border-bottom: solid 1px #ccc
}

.c-tableSecondaryCell:first-child {
    border-top: solid 1px #ccc
}

.c-tableSecondaryCell dt {
    margin-bottom: 0;
    font-size: 1.6rem;
    font-weight: bold;
    color: #666;
    text-align: left
}

.c-tableSecondaryCell dd {
    margin-bottom: 0;
    font-size: 1.6rem;
    line-height: 32px;
    color: #2d2d31
}

.c-tableSecondaryCell dd a {
    font-size: 1.4rem;
    font-weight: bold;
    color: #2d2d31;
    text-decoration: underline
}

.c-tableSecondaryCell dd a:hover {
    text-decoration: none
}

.c-tableSecondaryCell dd p {
    margin-bottom: 24px
}

.c-tableSecondaryCell dd p span {
    display: block;
    margin-bottom: 8px;
    font-weight: bold
}

.c-tableMapLink {
    padding-left: 20px;
    background: url("../image/icon_map.svg") no-repeat center left;
    background-size: 16px
}

.c-tableFormWrap {
    width: 100%
}

.c-tableFormCell {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 24px;
    border-bottom: solid 1px #ccc
}

.c-tableFormCell:first-child {
    border-top: solid 1px #ccc
}

.c-tableFormCell--ajustHead {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start
}

.c-tableFormCell dt {
    margin-bottom: 0;
    font-size: 1.6rem;
    font-weight: 400;
    color: #666;
    text-align: left
}

.c-tableFormCell dt span {
    display: inline-block;
    padding-left: 0.5rem;
    font-size: 1.4rem;
    color: #dd0000
}

.c-tableFormCell dd {
    margin-bottom: 0
}

.c-tableFormCell input[type='text'],
.c-tableFormCell input[type='email'],
.c-tableFormCell input[type='tel'],
.c-tableFormCell input[type='date'],
.c-tableFormCell textarea {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    padding: 0 16px;
    font-size: 1.6rem;
    background: none;
    border: solid 1px #ccc;
    border-radius: 4px;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.c-tableFormCell input[type='text']::-webkit-input-placeholder,
.c-tableFormCell input[type='email']::-webkit-input-placeholder,
.c-tableFormCell input[type='tel']::-webkit-input-placeholder,
.c-tableFormCell input[type='date']::-webkit-input-placeholder,
.c-tableFormCell textarea::-webkit-input-placeholder {
    color: #ccc
}

.c-tableFormCell input[type='text']::-moz-placeholder,
.c-tableFormCell input[type='email']::-moz-placeholder,
.c-tableFormCell input[type='tel']::-moz-placeholder,
.c-tableFormCell input[type='date']::-moz-placeholder,
.c-tableFormCell textarea::-moz-placeholder {
    color: #ccc
}

.c-tableFormCell input[type='text']:-ms-input-placeholder,
.c-tableFormCell input[type='email']:-ms-input-placeholder,
.c-tableFormCell input[type='tel']:-ms-input-placeholder,
.c-tableFormCell input[type='date']:-ms-input-placeholder,
.c-tableFormCell textarea:-ms-input-placeholder {
    color: #ccc
}

.c-tableFormCell input[type='text']::-ms-input-placeholder,
.c-tableFormCell input[type='email']::-ms-input-placeholder,
.c-tableFormCell input[type='tel']::-ms-input-placeholder,
.c-tableFormCell input[type='date']::-ms-input-placeholder,
.c-tableFormCell textarea::-ms-input-placeholder {
    color: #ccc
}

.c-tableFormCell input[type='text']::placeholder,
.c-tableFormCell input[type='email']::placeholder,
.c-tableFormCell input[type='tel']::placeholder,
.c-tableFormCell input[type='date']::placeholder,
.c-tableFormCell textarea::placeholder {
    color: #ccc
}

.c-tableFormCell textarea {
    height: 300px;
    padding: 16px;
    resize: vertical
}

.c-tableFormCell select {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 44px;
    padding: 0 16px;
    font-size: 1.6rem;
    background: url("../image/icon_form_arrow.svg") no-repeat 97% center;
    background-size: 14px;
    border: solid 1px #ccc;
    border-radius: 4px;
    outline: none;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}

.c-tableFormCell select option:first-child {
    color: #ccc
}

.c-tableFormCell select::-ms-expand {
    display: none
}

.c-tableFormRadioWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.c-tableFormRadio {
    width: 100%
}

.c-tableFormRadio span {
    margin: 0 0 0 0 !important;
    font-size: 1.6rem;
    line-height: 26px;
    cursor: pointer
}

.c-tableFormRadio label {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    padding-right: 16px
}

.c-tableFormRadio input[type='radio'] {
    display: none
}

.c-tableFormRadio input[type='radio']+span:before {
    position: relative;
    top: 0;
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 8px;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    content: '';
    background: #fff;
    border: 1px solid #989898;
    border-radius: 100%;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.c-tableFormRadio input[type='radio']:checked+span:before {
    background-color: #a70016;
    -webkit-box-shadow: inset 0 0 0 4px #fff;
    box-shadow: inset 0 0 0 4px #fff
}

.c-tableFormRadio input[type='radio']:focus+span:before {
    border-color: #a70016;
    outline: none
}

.c-tableFormRadio input[type='radio']:disabled+span:before {
    background: #fff;
    border-color: #989898;
    -webkit-box-shadow: inset 0 0 0 4px #d8d8d8;
    box-shadow: inset 0 0 0 4px #d8d8d8
}

.c-tableFormRadio input[type='radio']+span:empty:before {
    margin-right: 0
}

.c-tableFormCheckBoxWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.c-tableFormCheckBox span {
    margin: 0 0 0 0 !important;
    font-size: 1.6rem;
    line-height: 26px;
    cursor: pointer
}

.c-tableFormCheckBox label {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: inline-block;
    padding-right: 16px
}

.c-tableFormCheckBox input[type='checkbox'] {
    display: none
}

.c-tableFormCheckBox input[type='checkbox']+span {
    position: relative
}

.c-tableFormCheckBox input[type='checkbox']+span:before {
    position: relative;
    top: 0;
    display: inline-block;
    width: 24px;
    height: 24px;
    margin-right: 8px;
    text-align: center;
    vertical-align: top;
    cursor: pointer;
    content: '';
    background: #fff;
    border: 1px solid #989898;
    border-radius: 4px;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.c-tableFormCheckBox input[type='checkbox']+span:after {
    position: absolute;
    top: 4px;
    left: 6px;
    z-index: 10;
    display: block;
    width: 12px;
    height: 5px;
    content: ''
}

.c-tableFormCheckBox input[type='checkbox']:checked+span:before {
    background: #a70016;
    border-color: #a70016;
    -webkit-box-shadow: inset 0 0 0 0px #a70016;
    box-shadow: inset 0 0 0 0px #a70016
}

.c-tableFormCheckBox input[type='checkbox']:checked+span:after {
    content: '';
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

.c-tableFormCheckBox input[type='checkbox']:focus+span:before {
    border-color: #a70016;
    outline: none
}

.c-tableFormCheckBox input[type='checkbox']:disabled+span:before {
    background: #fff;
    border-color: #989898;
    -webkit-box-shadow: inset 0 0 0 4px #d8d8d8;
    box-shadow: inset 0 0 0 4px #d8d8d8
}

.c-tableFormCheckBox input[type='checkbox']+span:empty:before {
    margin-right: 0
}

.c-tableFormMultipleSelect {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center
}

.c-tableFormMultipleSelect select {
    background: url("../image/icon_form_arrow.svg") no-repeat 90% center;
    background-size: 14px
}

.c-tableFormMultipleSelect span {
    display: block
}

.c-tableFormMultipleSelect span:nth-child(1) {
    width: 28%
}

.c-tableFormMultipleSelect span:nth-child(3) {
    width: 21%
}

.c-tableFormMultipleSelect span:nth-child(5) {
    width: 21%
}

.c-tableFormMultipleSelect .c-tableFormMultipleSelectUnit {
    display: block;
    padding: 0 6px;
    font-size: 1.6rem
}

.c-tableButtonWrap {
    width: 100%;
    padding-top: 60px;
}

.c-tableButtonNote {
    width: 100%;
    margin-bottom: 24px;
    color: #2d2d31;
    text-align: center
}

.c-tableButton {
    display: block;
    width: 318px;
    margin: 0 auto
}

.l-header {
    position: fixed;
    top: 0;
    z-index: 999;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    height: 100px;
    padding: 0 56px;
    background-color: #F6ECE1;
}

.l-headerRollDown {
    /* background: #fff; */
    -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    -webkit-transition: all 1s;
    transition: all 1s
}

.l-headerFixed {
    background: #fff;
    -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2)
}

.l-headerNoFixed {
    position: relative
}

.l-headerLogo {
    display: block;
    width: 210px;
    height: 65px;
}

.l-headerLogo a {
    display: block;
    width: 100%;
    height: 100%
}

.l-headerNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    width: calc(100% - 210px)
}

.l-headerNavMenu {
    width: calc(100% - 130px);
    text-align: right
}

.l-headerNavMenu__item {
    display: inline-block;
    margin-left: 2%;
    font-weight: bold;
    position: relative;
    display: inline-block;
    text-decoration: none
}

.l-headerNavMenu__item::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #2d2d31;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.l-headerNavMenu__item:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.l-headerNavMenu__item a {
    color: #2d2d31
}

.l-headerNavMenu__itemOn {
    position: relative;
    display: inline-block;
    text-decoration: none
}

.l-headerNavMenu__itemOn::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #a70016;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.l-headerNavMenu__itemOn:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.l-headerNavMenu__itemOn a {
    color: #a70016
}

.l-headerNavButton {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 130px;
    height: 44px;
    margin-left: 2%
}

.l-headerNavButton a {
    line-height: 44px
}

.l-headerTop .l-headerNavMenu__item {
    position: relative;
    display: inline-block;
    text-decoration: none
}

.l-headerTop .l-headerNavMenu__item::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #6c000e;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.l-headerTop .l-headerNavMenu__item:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.l-headerTop .l-headerNavMenu__item a {
    color: #6C000E;
    font-weight: 400;
}

.l-headerTop .l-headerNavMenu__itemOn {
    position: relative;
    display: inline-block;
    text-decoration: none
}

.l-headerTop .l-headerNavMenu__itemOn::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #a70016;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.l-headerTop .l-headerNavMenu__itemOn:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.l-headerTop .l-headerNavMenu__itemOn a {
    color: #a70016
}

.l-headerTop .l-headerLogo {
    display: block;
    width: 210px;
    height: 65px;
}

.l-headerTop .l-headerLogo a {
    display: flex;
    width: 100%;
    height: 100%;
    justify-content: center;
    align-items: center;
}

.l-headerRollDown .l-headerNavMenu__item {
    position: relative;
    display: inline-block;
    text-decoration: none
}

.l-headerRollDown .l-headerNavMenu__item::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #2d2d31;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.l-headerRollDown .l-headerNavMenu__item:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.l-headerRollDown .l-headerNavMenu__item a {
    color: #2d2d31
}

.l-headerRollDown .l-headerNavMenu__itemOn {
    position: relative;
    display: inline-block;
    text-decoration: none
}

.l-headerRollDown .l-headerNavMenu__itemOn::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #a70016;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.l-headerRollDown .l-headerNavMenu__itemOn:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.l-headerRollDown .l-headerNavMenu__itemOn a {
    color: #a70016
}

.l-headerRollDown .l-headerLogo {
    display: block;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    width: 210px;
    height: 65px;
}

.l-headerRollDown .l-headerLogo a {
    display: block;
    width: 100%;
    height: 100%
}

.l-bodyWrap {
    width: 100%
}

.l-container {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-top: 100px;
    background: #F6ECE1;
}

.l-containerNoHeaderFix {
    padding-top: 0px
}

.l-containerFull {
    width: 100%
}

.l-contentPrimary {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 1170px;
    padding-right: 30px;
    padding-left: 30px;
    margin: 0 auto;
    position: relative;
    z-index: 1;
}

@media only screen and (max-width: 787px) {
    .l-contentPrimary {
        padding-right: 30px;
        padding-left: 30px
    }
}

.l-contentSecondly {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 790px;
    padding-right: 30px;
    padding-left: 30px;
    margin: 0 auto
}

@media only screen and (max-width: 787px) {
    .l-contentSecondly {
        padding-right: 30px;
        padding-left: 30px
    }
}

.l-contentTertiary {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    max-width: 980px;
    padding-right: 30px;
    padding-left: 30px;
    margin: 0 auto
}

@media only screen and (max-width: 787px) {
    .l-contentTertiary {
        padding-right: 30px;
        padding-left: 30px
    }
}

.l-contentFull {
    width: 100%;
    margin: 0 auto
}

.l-frameBoxPrimary {
    padding-top: 80px;
}

.l-frameBoxSecondly {
    padding-top: 80px
}

.l-frameBoxTertiary {
    padding-top: 40px
}

.l-frameBoxQuaternary {
    padding-top: 32px
}

.l-frameBoxQuinary {
    padding-top: 24px
}

.l-frameBoxSenary {
    padding-top: 8px
}

.l-frameBoxBottomPrimary {
    padding-bottom: 56px
}

.l-frameBoxBottomSecondly {
    padding-bottom: 80px
}

.l-frameBoxBottomTertiary {
    padding-bottom: 40px
}

.l-frameBoxBottomQuaternary {
    padding-bottom: 32px
}

.l-frameBoxBothSidePrimary {
    padding-top: 58px;
    padding-bottom: 80px
}

.l-frameBoxBothSideSecondly {
    padding-top: 58px;
    padding-bottom: 108px
}

.l-frameBoxBothSideTertiary {
    padding-top: 40px;
    padding-bottom: 56px
}

.l-frameBoxBothSideQuaternary {
    padding-top: 58px;
    padding-bottom: 56px;
    background: #F6ECE1;
    position: relative;
    z-index: 1;
    overflow: hidden;
}

.l-modalWrap {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    -webkit-animation: FadeInKey 0.35s;
    animation: FadeInKey 0.35s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.l-modalWrap--none {
    display: none;
    opacity: 0
}

.l-modalBox {
    position: relative;
    z-index: 1002
}

.l-modalBg {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1001;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.6)
}

.l-footerWrap {
    position: relative;
    width: 100%
}

.l-footerScrollTop {
    position: fixed;
    right: 48px;
    bottom: -60px;
    z-index: 2;
    display: block;
    width: 56px;
    height: 56px;
    cursor: pointer;
    background: #8D0011;
    border-radius: 50%;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transition: all 0.5s;
    transition: all 0.5s
}

.l-footerScrollTop::after {
    position: absolute;
    top: 50%;
    left: 50%;
    width: 10px;
    height: 10px;
    margin: -4px 0 0 -6px;
    content: '';
    border-top: solid 2px #fff;
    border-right: solid 2px #fff;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.l-footerScrollTop:hover::after {
    top: 38%
}

.l-footerScrollTopFix {
    position: fixed;
    bottom: 55px
}

.l-footerScrollTopFixDouble {
    position: fixed;
    bottom: 155px
}

.l-footerWrapFooterBanner {
    margin-bottom: 94px
}

.l-footerBannerBg {
    position: absolute;
    top: 0;
    width: 100%;
    height: 100%;
    /* background: rgba(0, 0, 0, 0.4); */
}

.l-footerBannerWrap {
    position: relative;
    height: 350px;
}

.l-footerBanner {
    position: absolute;
    bottom: -40px;
    left: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: -364px
}

.l-footerBanner__item {
    width: 350px;
    margin: 0 14px;
    text-align: center;
    overflow: hidden;
    background-color: #ffffff;
    border-radius: 4px;
    -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.l-footerBanner__item:hover {
    -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2)
}

@media only screen and (max-width: 787px) {
    .l-footerBanner__item:hover {
        -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2)
    }
}

.l-footerBanner__itemLink {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 100%;
    padding: 24px 0 24px
}

.l-footerBanner__itemIcon {
    margin-bottom: 16px
}

.l-footerBanner__itemInfo {
    color: #2d2d31
}

.l-footerBanner__itemInfo dt {
    margin-bottom: 10px;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
    color: #fff;
}

.l-footerBanner__itemInfo dd {
    line-height: 1.6;
    color: #fff;
}

.l-footerNavWrap {
    width: 100%;
    background: #FFFFFF;
}

.l-footerNavBox {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 120px 0 20px 80px;
}

.l-footerNavLogo {
    width: 207px;
    margin-bottom: 24px
}

.l-footerNavLogo img {
    width: 100%;
    height: auto
}

.l-footerNavArea {
    width: 100%
}

.l-footerNav {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 16px 0 0 0;
    border-right: solid 1px #d8d8d8;
    margin-left: 0;
    margin-right: 2.25%;
}

.l-footerNavWline {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap
}

.l-footerNavWline ul {
     width: 46%; 
    margin-left: 1rem
}

.l-footerNavListHeading {
    width: 100%;
    margin-bottom: 8px
}

.l-footerNavListHeading a {
    color: #2d2d31
}

.l-footerNavList__item {
    margin-bottom: 8px
}

.l-footerNavList__itemLink {
    color: #2d2d31
}

.l-footerNavList__item span {
    position: relative;
    display: inline-block;
    text-decoration: none
}

.l-footerNavList__item span::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #2d2d31;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.l-footerNavList__item span:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.l-footerNavList__itemInstagram {
    margin-bottom: 16px
}

.l-footerNavList__itemInstagram a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    height: 24px;
    padding-left: 32px;
    font-weight: bold;
    line-height: 24px;
}

.l-footerNavList__itemFacebook {
    margin-bottom: 16px
}

.l-footerNavList__itemFacebook a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    height: 24px;
    padding-left: 32px;
    font-weight: bold;
    line-height: 24px;
}

.l-footerNavList__itemTwitter a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    height: 24px;
    padding-left: 32px;
    font-weight: bold;
    line-height: 24px;
}

.l-footerCopyRight {
    height: 86px;
    background-color: #F6ECE1;
}

.l-footerCopyRight small {
    margin-bottom: 0;
    font-size: 1.4rem;
    font-weight: 400;
    line-height: 86px;
    color: #2D2D31;
}

.p-topHeroWrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100vh;
    overflow: hidden;
    background: #000
}

.p-topHeroContent {
    position: relative;
    z-index: 3;
    text-align: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-animation: HeroTtileMotionKey 1s;
    animation: HeroTtileMotionKey 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.p-topHeroTitle {
    font-size: 2.6rem;
    font-weight: 500;
    color: #fff;
    text-align: center;
    letter-spacing: 2px;
/*    font-family: "游明朝体", YuMin, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif*/
}

.p-topHeroTitle img {
    max-width: 230px;
}

.p-topHeroShoulder {
    margin-bottom: 50px;
    font-size: 6.2rem;
    font-weight: bold;
    line-height: 92px;
    color: #fff;
    text-align: center;
    text-shadow: 0 2px 8px rgba(0, 0, 0, 0.6);
    letter-spacing: 1px;
    /*    font-family: "游明朝体", YuMin, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
    margin-top: 20px;
}

.p-topHeroButton {
    width: 266px;
    margin: 0 auto
}

.p-topHeroScroll {
    position: absolute;
    bottom: 80px;
    left: 50%;
    z-index: 3;
    width: 60px;
    margin-left: -30px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #fff;
    text-align: center;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-animation: HeroTtileMotionKey 1s;
    animation: HeroTtileMotionKey 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.p-topHeroScroll__arrow {
    display: block;
    -webkit-animation: ArrowMotionDownKey 2s;
    animation: ArrowMotionDownKey 2s;
    -webkit-animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    animation-timing-function: cubic-bezier(0.455, 0.03, 0.515, 0.955);
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
    -webkit-animation-direction: alternate;
    animation-direction: alternate
}

.p-topHeroScroll__arrow::after {
    position: absolute;
    width: 15px;
    height: 15px;
    content: '';
    border-top: solid 4px #fff;
    border-right: solid 4px #fff;
    -webkit-transform: rotate(135deg);
    transform: rotate(135deg)
}

.p-topHeroScroll__arrow::after {
    left: 50%;
    margin-left: -10px
}

.p-topHeroBg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0);
}

.p-topHeroBgImage {
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100%;
    height: 100%;
    background: url("../image/top_heroimage.png") no-repeat center;
    background-size: cover
}

.p-topHeroBgImageOP {
    -webkit-animation: HeroTopImgMotionKey 1s;
    animation: HeroTopImgMotionKey 1s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.p-topAboutSoupDetail__photo img {
    width: 100%;
    height: auto
}

.p-topAboutSoupDetail__text {
    font-size: 1.6rem;
    line-height: 34px;
    color: #2d2d31
}

.p-topInstagramWrap {
    margin-bottom: 24px
}

.p-topInstagramContent {
    padding-top: 0
}

.p-topInstagramTitle span {
    display: inline-block;
    padding-right: 32px;
    background: url("../image/icon_footer_instagram.svg") no-repeat center right;
    background-size: 24px
}

.p-topInstagramDetail__photo {
    margin-bottom: 24px
}

.p-topInstagramDetail__photo img {
    width: 100%;
    height: auto
}

.p-topInstagramLink {
    margin-top: 30px;
    text-align: center
}

.p-topInstagramLinkTitle {
    margin-bottom: 24px;
    font-size: 1.6rem;
    font-weight: 400;
    color: #2D2D31;
}

.p-topInstagramLinkButton {
    margin: 0 auto;
    background: none;
}

.p-topInstagramLinkButton:hover {
    background: none;
}

.p-topInstagramLinkButton a {
    width: 260px;
    display: block;
    color: #fff;
    height: 54px;
    font-weight: 600;
    line-height: 54px;
    color: #fff;
    text-align: center;
    background: #6C000E;
    border-radius: 4px;
    margin: 0 20px;
}

.p-topInstagramLinkButton a:hover {
    background: #a70016;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.p-newsHeadHero {
    background: url("../image/title_news.png") no-repeat center;
    background-size: cover
}

.p-newsListHeading {
    margin-bottom: 40px;
    font-size: 1.4rem;
    font-weight: bold;
    color: #666
}

.p-mediaHeadHero {
    background: url("../image/title_media.png") no-repeat center;
    background-size: cover
}

.p-mediaListHeading {
    margin-bottom: 40px;
    font-size: 1.6rem;
    line-height: 34px;
    color: #666
}

.p-mediaListHeading a {
    color: #666;
    text-decoration: underline
}

.p-mediaListHeading a:hover {
    text-decoration: none
}

.p-mediaSection {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-top: solid 1px #ccc
}

.p-menuHeadHero {
    background: url("../image/title_menu.png") no-repeat center;
    background-size: cover
}

.p-menuHeadCategoryHero {
    background: url("../image/title_menu_course.png") no-repeat center;
    background-size: cover
}

.p-menuHeadItemHero {
    background: url("../image/title_menu_tanpin.png") no-repeat center;
    background-size: cover
}

.p-menuHeadItemDrinkHero {
    background: url("../image/title_menu_drink.png") no-repeat center;
    background-size: cover
}

.p-menuHeading {
    margin-bottom: 40px;
    font-size: 1.6rem;
    line-height: 34px;
    color: #666
}

.p-menuCategoryPanel {
    overflow: hidden;
    background-color: #ffffff;
    border-radius: 4px;
    -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    margin-bottom: 24px
}

.p-menuCategoryPanel:hover {
    -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2)
}

@media only screen and (max-width: 787px) {
    .p-menuCategoryPanel:hover {
        -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2)
    }
}

.p-menuCategoryPanel .p-menuCategoryInner {
    height: 100%
}

.p-menuCategoryPanel--flat {
    -webkit-box-shadow: 0 0 0 0;
    box-shadow: 0 0 0 0
}

.p-menuCategoryPanel--flat .p-menuCategoryInner {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: solid 1px #ccc;
    border-radius: 4px
}

.p-menuCategoryPanel--flat:hover {
    -webkit-box-shadow: 0 0 0 0;
    box-shadow: 0 0 0 0
}

.p-menuCategoryPanel__photo img {
    width: 100%;
    height: auto
}

.p-menuCategoryPanel__data {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 40px
}

.p-menuCategoryPanel__data dt {
    margin-bottom: 24px;
/*    font-family: "游明朝体", YuMin, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
    font-size: 2.4rem;
    font-weight: bold;
    color: #2d2d31;
    text-align: center
}

.p-menuCategoryPanel__data dd {
    font-size: 1.6rem;
    line-height: 34px;
    color: #2d2d31
}

.p-menuCategoryPanel__data dd span {
    display: block;
/*    font-family: "游明朝体", YuMin, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
    font-size: 1.2rem;
    font-weight: bold;
    color: #666
}

.p-menuItemPanel {
    overflow: hidden;
    background-color: #ffffff;
    border-radius: 4px;
    -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    margin-bottom: 24px
}

.p-menuItemPanel:hover {
    -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2)
}

@media only screen and (max-width: 787px) {
    .p-menuItemPanel:hover {
        -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2)
    }
}

.p-menuItemPanel--flat {
    border: solid 1px #ccc;
    -webkit-box-shadow: 0 0 0 0;
    box-shadow: 0 0 0 0
}

.p-menuItemPanel--flat:hover {
    -webkit-box-shadow: 0 0 0 0;
    box-shadow: 0 0 0 0
}

.p-menuItemPanel__photo {
    position: relative
}

.p-menuItemPanel__photo::before {
    display: block;
    padding-top: 66%;
    content: ''
}

.p-menuItemPanel__photo img {
    width: 100%;
    height: auto
}

.p-menuItemPanel__data {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 24px 24px 40px
}

.p-menuItemPanel__data__title {
    font-size: 1.2rem;
    font-weight: bold;
    color: #666
}

.p-menuItemPanel__data__info {
    margin-bottom: 8px
}

.p-menuItemPanel__data__info dt {
    margin: 6px 0 2px 0;
    font-size: 2rem;
    font-weight: bold;
    line-height: 1;
    color: #2d2d31
}

.p-menuItemPanel__data__info dd {
    font-size: 1.6rem;
    font-weight: bold;
    color: #666
}

.p-menuItemPanel__data__note {
    font-size: 1.4rem;
    line-height: 23px;
    color: #2d2d31
}

.p-menuCoursePanel {
    margin-bottom: 24px
}

.p-menuCoursePanel .p-menuCoursePanelInner {
    height: 100%;
    border: solid 1px #ccc;
    background: #FFFFFF;
}

.p-menuCoursePanel__photo {
    position: relative
}

/*.p-menuCoursePanel__photo::before {
    display: block;
    padding-top: 66%;
    content: ''
}*/

.p-menuCoursePanel__photo img {
    width: 100%;
    height: auto
}

.p-menuCoursePanel__data {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 24px 24px 32px
}

.p-menuCoursePanel__data__title {
    font-size: 1.2rem;
    font-weight: bold;
    color: #666
}

.p-menuCoursePanel__data__info {
    margin-bottom: 8px
}

.p-menuCoursePanel__data__info dt,
.p-menuCoursePanel__data__info p:nth-child(1) {
    margin: 6px 0 2px 0;
    font-size: 2rem;
    font-weight: 500;
    line-height: 1;
    color: #6C000E;
}

.p-menuCoursePanel__data__info dd,
.p-menuCoursePanel__data__info p:nth-child(2)  {
    font-size: 1.6rem;
    font-weight: 600;
    color: #6C000E;
}

.p-menuCoursePanel__data__note dl,
.p-menuCoursePanel__data__note .dl {
    padding: 12px 16px;
    font-size: 1.4rem;
    line-height: 23px;
    color: #2d2d31;
    background: #FBF5F0;
    border-radius: 4px;
    margin-top: 20px;
}

.p-menuCoursePanel__data__note dl dt,
.p-menuCoursePanel__data__note .dl .dt {
    font-weight: bold
}

.p-menuCoursePanel__data__note span {
    display: inline-block;
    margin-top: 8px;
    font-size: 1.2rem;
    font-weight: bold;
    color: #666
}

.p-menuListWrap {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: solid 1px #d8d8d8;
    background: #FFFFFF;
    padding: 30px 20px;
}

.p-menuListWrap:last-child {
    border: none
}

.p-menuListSplitSpace {
    margin-bottom: 24px
}

.p-menuList__photo img {
    width: 100%;
    height: auto
}

.p-menuList__item {
    margin-bottom: 12px;
    font-size: 1.6rem
}

.p-menuList__item dl,.p-menuListWrap .p-menuList>li .dl{
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

.p-menuList__item dl dt,.p-menuListWrap .p-menuList>li .dl .dt{
    width: 78%
}

.p-menuList__item dl dd,.p-menuListWrap .p-menuList>li .dl .dd{
    width: 22%;
    font-weight: 600;
    color: #666;
    text-align: right
}

.p-menuList__itemWide dl dt {
    width: 50%
}

.p-menuList__itemWide dl dd {
    width: 50%
}

.p-menuList__note {
    font-size: 1.2rem;
    font-weight: bold;
    color: #666
}

.p-aboutPhoto img {
    width: 100%;
    height: auto
}

.p-aboutParagraphBox {
    position: relative;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 66%;
    padding: 0 40px 40px 40px;
    margin: 0 auto
}

.p-aboutParagraphBox:last-child {
    /* padding-bottom: 0; */
}

.p-aboutParagraphBoxFloat {
    z-index: 2;
    padding-top: 32px;
    margin-top: -80px;
    background: #fff
}

.p-aboutParagraph {
    margin-bottom: 24px;
    font-size: 1.6rem;
    line-height: 34px;
    color: #fff;
}

.p-aboutParagraph:last-child {
    margin-bottom: 0
}

.p-aboutSquarePhotos {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-items: flex-start
}

.p-aboutSquarePhotos .p-aboutPhoto {
    width: 25%
}

.p-aboutSquarePhotosTitle {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 2;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    min-width: 400px;
    height: 164px;
    padding: 0 40px;
    margin: -82px 0 0 -200px;
/*    font-family: "游明朝体", YuMin, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
    font-weight: bold;
    text-align: center;
    letter-spacing: 3px;
    background: rgba(0, 0, 0, 0.7)
}

.p-aboutSquarePhotosTitle__title {
    font-size: 3.2rem;
    color: #fff
}

.p-aboutFoodStuffBox {
    margin-bottom: 32px;
    background: #f3f3f3;
    border-radius: 4px
}

.p-aboutFoodStuffBox .p-aboutFoodStuffBoxInner {
    padding: 32px
}

.p-aboutFoodStuffBox .p-aboutFoodStuffBox__photo {
    margin-bottom: 24px
}

.p-aboutFoodStuffBox .p-aboutFoodStuffBox__photo img {
    width: 100%;
    height: auto
}

.p-aboutFoodStuffBox .p-aboutFoodStuffBox__data dt {
    margin-bottom: 8px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #2d2d31;
    text-align: center
}

.p-aboutFoodStuffBox .p-aboutFoodStuffBox__data dd {
    font-size: 1.4rem;
    line-height: 21px;
    color: #2d2d31
}

.p-aboutHowToBox {
    margin-bottom: 24px
}

.p-aboutHowToBox .p-aboutHowToBoxInner {
    padding: 0 8px 0
}

.p-aboutHowToBox .p-aboutHowToBox__photo {
    margin-bottom: 24px
}

.p-aboutHowToBox .p-aboutHowToBox__photo img {
    width: 100%;
    height: auto
}

.p-aboutHowToBox .p-aboutHowToBox__data dt {
    margin-bottom: 8px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #2d2d31
}

.p-aboutHowToBox .p-aboutHowToBox__data dd {
    font-size: 1.4rem;
    line-height: 21px;
    color: #2d2d31
}

.p-shopHeadHero {
    background: url("../image/title_shop.png") no-repeat center;
    background-size: cover
}

.p-shopInfoHeading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start
}

.p-shopInfoHeading__photo img {
    width: 100%;
    height: auto
}

.p-shopInfoHeading__text {
    font-size: 1.6rem;
    line-height: 34px;
    color: #2d2d31
}

.p-shopPhotos__item {
    margin-bottom: 24px
}

.p-shopPhotos__item img {
    width: 100%;
    height: auto
}

.p-notFound {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    height: 300px;
    padding: 100px 0;
    -webkit-animation: FadeTransKey 0.5s;
    animation: FadeTransKey 0.5s;
    -webkit-animation-fill-mode: forwards;
    animation-fill-mode: forwards
}

.p-notFound__icon {
    width: 100%;
    height: 56px;
    margin-bottom: 24px;
    background: url("../image/icon-notfound.svg") no-repeat center;
    background-size: 56px
}

.p-notFound__text {
    width: 100%;
    font-size: 2rem;
    font-weight: bold;
    text-align: center
}

.p-footerInfoBar {
    position: fixed;
    bottom: 0;
    z-index: 888;
    width: 100%;
    height: 96px;
    background: #000
}

.p-footerInfo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%
}

.p-footerInfoShop {
    font-weight: bold;
    color: #fff
}

.p-footerInfoShop span {
    display: block
}

.p-footerInfoReserve {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 64px;
    margin-left: 24px;
    border: solid 1px #fff
}

.p-footerInfoReserveSend {
    height: 100%;
    background: #fff
}

.p-footerInfoReserveSend a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0 36px;
    text-align: center
}

.p-footerInfoReserveSend a span {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 30px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 64px;
    color: #2d2d31;
    background: url("../image/icon_share.svg") no-repeat center left;
    background-size: 24px 24px
}

.p-footerInfoReserveTel {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 0 38px;
    color: #fff
}

.p-footerInfoReserveTel__number {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 2.4rem;
    font-weight: bold;
    line-height: 1;
    text-align: center
}

.p-footerInfoReserveTel__number a {
    color: #fff
}

.p-footerInfoReserveTel__number span {
    padding-left: 20px;
    background: url("../image/icon_tel_wehite.svg") no-repeat center left;
    background-size: 13px 21px
}

.p-footerInfoReserveTel__time {
    font-size: 1.2rem;
    color: #ccc;
    text-align: center
}

.p-footerInfoReserveWeb {
    height: 100%;
    background: #fff
}

.p-footerInfoReserveWeb a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    width: 100%;
    height: 100%;
    padding: 0 36px;
    text-align: center
}

.p-footerInfoReserveWeb a span {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding-left: 30px;
    font-size: 1.6rem;
    font-weight: bold;
    line-height: 64px;
    color: #2d2d31;
    background: url("../image/icon_mail.svg") no-repeat center left;
    background-size: 24px 24px
}

.c-shopReserveModal {
    position: relative;
    width: 100%;
    max-width: 780px;
    padding: 0 0 80px 0;
    background: #ffffff;
    border-radius: 4px
}

.c-shopReserveModalShop {
    max-width: 980px;
    padding: 0 0 0 0
}

.c-shopReserveModalShopInfo {
    max-width: 480px;
    padding: 0 0 0 0
}

.c-shopReserveModal__close {
    position: absolute;
    top: 0;
    right: 0;
    width: 68px;
    height: 68px;
    cursor: pointer;
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.c-shopReserveModal__close::after {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 20px;
    height: 2px;
    margin-top: -5px;
    margin-left: -10px;
    content: '';
    background: #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg)
}

.c-shopReserveModal__close::before {
    position: absolute;
    top: 50%;
    left: 50%;
    display: block;
    width: 20px;
    height: 2px;
    margin-top: -5px;
    margin-left: -10px;
    content: '';
    background: #000;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}

.c-shopReserveModal__close:hover::after {
    background: #a70016
}

.c-shopReserveModal__close:hover::before {
    background: #a70016
}

.c-shopReserveModal__title {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 16px 24px;
    font-size: 2rem;
    font-weight: bold;
    border-bottom: solid 1px #d8d8d8
}

.c-shopReserveModal__typeBox {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-top: 78px
}

.c-shopReserveModal__type {
    margin: 0 42px;
    text-align: center
}

.c-shopReserveModal__typeTitle {
    width: 100%;
    font-size: 2rem;
    font-weight: bold
}

.c-shopReserveModal__typeIconSeat {
    display: block;
    width: 100%;
    height: 96px;
    margin: 24px 0;
    background: url("../image/icon-seat.svg") no-repeat center;
    background-size: 84px 96px
}

.c-shopReserveModal__typeIconCourse {
    display: block;
    width: 100%;
    height: 96px;
    margin: 24px 0;
    background: url("../image/icon-course.svg") no-repeat center;
    background-size: 96px
}

.c-shopReserveModal__typeButton {
    width: 144px;
    height: 44px;
    line-height: 44px
}

.c-shopReserveModal__listBox {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    width: 100%;
    height: 100%;
    padding: 30px 3% 30px 0
}

.c-shopReserveModal__listBoxItem {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: calc(20% - 3%);
    height: 54px;
    margin-bottom: 16px;
    margin-left: 3%;
    font-size: 1.6rem;
    font-weight: bold;
    text-align: center;
    border: 1px solid #ccc;
    border-radius: 4px
}

.c-shopReserveModal__listBoxItem a {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    display: block;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 100%;
    height: 100%;
    padding: 0 10%;
    color: #2d2d31
}

.c-shopReserveModal__listBoxItem a span {
    display: block;
    line-height: 1.15
}

.c-shopReserveModal__shopInfoBox {
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    padding: 16px
}

.c-shopReserveModal__shopInfoBoxInfo dt {
    font-size: 1.5rem;
    font-weight: bold
}

.c-shopReserveModal__shopInfoBoxInfo dd span {
    display: block;
    font-size: 1.2rem;
    color: #666
}

.c-shopReserveModal__shopInfoBoxInfo a {
    color: #666
}

.c-shopReserveModal__shopInfoBoxButton {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: 16px
}

.c-shopReserveModal__shopInfoBoxButton li {
    width: 50%;
    height: 50px;
    font-size: 1.4rem;
    font-weight: bold;
    line-height: 50px;
    color: #2d2d31;
    text-align: center;
    border: solid 1px #ccc;
    border-radius: 4px
}

.c-shopReserveModal__shopInfoBoxButton li:nth-child(1) span {
    display: inline-block;
    height: 100%;
    padding-left: 30px;
    background: url("../image/icon_copy.svg") no-repeat center left;
    background-size: 22px 22px
}

.c-shopReserveModal__shopInfoBoxButton li:nth-child(2) {
    margin-left: 8px
}

.c-shopReserveModal__shopInfoBoxButton li:nth-child(2) span {
    display: inline-block;
    height: 100%;
    padding-left: 30px;
    background: url("../image/icon_line.svg") no-repeat center left;
    background-size: 22px 22px
}

.c-shopReserveModal__shopInfoBoxButton li a {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 1.4rem;
    font-weight: bold;
    color: #2d2d31
}

.p-companyHeadHero {
    background: url("../image/title_company.png") no-repeat center;
    background-size: cover
}

.p-companyRecruiNav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    border-bottom: solid 1px #d8d8d8
}

.p-companyRecruiNav__item {
    height: 40px;
    padding: 0 16px;
    font-weight: bold;
    line-height: 40px
}

.p-companyRecruiNav__item a {
    color: #2d2d31
}

.p-companyRecruiNav__item--on {
    background: #2d2d31;
    border-radius: 20px
}

.p-companyRecruiNav__item--on a {
    color: #fff
}

.p-companyRecruitHeading__photo {
    margin-bottom: 24px
}

.p-companyRecruitHeading__photo img {
    width: 100%;
    height: auto
}

.p-companyRecruitHeading__text {
    font-size: 1.6rem;
    line-height: 34px;
    color: #2d2d31
}

.p-companyRecruitType__box {
    overflow: hidden;
    background-color: #ffffff;
    border-radius: 4px;
    -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
    -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
    transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
}

.p-companyRecruitType__box:hover {
    -webkit-box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2);
    box-shadow: 0 0 6px 0 rgba(0, 0, 0, 0.2)
}

@media only screen and (max-width: 787px) {
    .p-companyRecruitType__box:hover {
        -webkit-box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2);
        box-shadow: 0 0 14px 0 rgba(0, 0, 0, 0.2)
    }
}

.p-companyRecruitType__box img {
    width: 100%;
    height: auto
}

.p-companyRecruitType__box p {
    padding: 24px 0;
    font-size: 2rem;
    font-weight: bold;
    text-align: center
}

.p-companyRecruitType__box a {
    color: #2d2d31
}

.p-companyRecruitCEO__photo {
    margin-bottom: 24px
}

.p-companyRecruitCEO__photo img {
    width: 100%;
    height: auto
}

.p-companyRecruitCEO__message {
    font-size: 1.6rem;
    line-height: 34px;
    color: #2d2d31
}

.p-companyRecruitCEO__message dl {
    margin-bottom: 8px;
    font-weight: bold
}

.p-companyRecruitCEO__message dl dt {
    font-size: 2rem
}

.p-contactHeadHero {
    background: url("../image/title_contact.png") no-repeat center;
    background-size: cover
}

.p-contactRecruitHeadHero {
    background: url("../image/title_recruit.png") no-repeat center;
    background-size: cover
}

.p-contactHeading {
    margin-bottom: 40px;
    font-size: 1.6rem;
    line-height: 34px;
    color: #666
}

.p-contactHeading span {
    color: #dd0000
}

.p-contactHeading small {
    font-size: 1.4rem
}

.p-contactFinWrap {
    padding-top: 120px;
    padding-bottom: 200px;
    text-align: center
}

.p-contactFinTitle {
    margin-top: 13px;
    margin-bottom: 16px;
    font-size: 3.2rem;
    font-weight: bold;
    color: #2d2d31
}

.p-contactFinRead {
    font-size: 1.6rem;
    line-height: 34px;
    color: #2d2d31;
    text-align: center
}

.p-contactHomeBack {
    width: 318px;
    margin: 24px auto
}

.p-reserveHeadHero {
    background: url("../image/title_reserve.png") no-repeat center;
    background-size: cover
}

.p-siteMapTitle {
    margin-bottom: 32px;
    font-size: 3.2rem;
    font-weight: bold
}

.p-siteMapTitle a {
    color: #2d2d31
}

.p-siteMapHome {
    margin-bottom: 24px;
    font-size: 1.6rem
}

.p-siteMapHome a {
    color: #2d2d31;
    position: relative;
    display: inline-block;
    text-decoration: none
}

.p-siteMapHome a::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #000;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.p-siteMapHome a:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.p-siteMapListWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}

.p-siteMapListBox {
    width: 33.3333%
}

.p-siteMapList {
    margin-bottom: 28px
}

.p-siteMapList dt {
    font-size: 2rem;
    font-weight: bold
}

.p-siteMapList dd {
    display: block;
    margin-top: 10px;
    font-size: 1.6rem
}

.p-siteMapList dd a {
    color: #2d2d31;
    position: relative;
    display: inline-block;
    text-decoration: none
}

.p-siteMapList dd a::after {
    position: absolute;
    bottom: 1px;
    left: 0;
    width: 100%;
    height: 1px;
    content: '';
    background: #000;
    -webkit-transition: -webkit-transform 0.3s;
    transition: -webkit-transform 0.3s;
    transition: transform 0.3s;
    transition: transform 0.3s, -webkit-transform 0.3s;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transform-origin: right top;
    transform-origin: right top
}

.p-siteMapList dd a:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top
}

.p-notFoundWrap {
    padding-top: 120px;
    padding-bottom: 200px;
    text-align: center
}

.p-notFoundImage {
    width: 100%;
    text-align: center
}

.p-notFoundImage img {
    width: 596px;
    height: auto
}

.p-notFoundTitle {
    margin-top: 13px;
    font-size: 4rem;
    font-weight: bold;
    color: #2d2d31
}

.p-notFoundRead {
    font-size: 1.6rem;
    line-height: 34px;
    color: #2d2d31;
    text-align: center
}

.p-notFoundRead a {
    color: #2d2d31;
    text-decoration: underline
}

.p-notFoundRead a:hover {
    text-decoration: none
}

.no-desktop {
    display: none
}

.no-display {
    display: none
}




















@media only screen and (max-width: 1023px) {
    .tablet-no-margin {
        margin: 0
    }

    .tablet-no-padding {
        padding: 0
    }

    .no-tablet {
        display: none
    }

    .show-tablet {
        display: block
    }
}

@media only screen and (max-width: 787px) {
    .sd-gridFull {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: -2.5%;
        margin-right: -2.5%
    }

    .sd-gridFull__col-1 {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 95%;
        flex: 0 0 95%;
        margin-left: 2.5%;
        margin-right: 2.5%;
        margin-bottom: 5%
    }

    .sd-grid2 {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: -2.5%;
        margin-right: -2.5%
    }

    .sd-grid2__col-1 {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 45%;
        flex: 0 0 45%;
        margin-left: 2.5%;
        margin-right: 2.5%;
        margin-bottom: 5%
    }

    .sd-grid2__col-2 {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 95%;
        flex: 0 0 95%;
        margin-left: 2.5%;
        margin-right: 2.5%;
        margin-bottom: 5%
    }

    .sd-grid3 {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        margin-left: -2.5%;
        margin-right: -2.5%
    }

    .sd-grid3__col-1 {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 28.33333%;
        flex: 0 0 28.33333%;
        margin-left: 2.5%;
        margin-right: 2.5%;
        margin-bottom: 5%
    }

    .sd-grid3__col-2 {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 61.66667%;
        flex: 0 0 61.66667%;
        margin-left: 2.5%;
        margin-right: 2.5%;
        margin-bottom: 5%
    }

    .sd-grid3__col-3 {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 95%;
        flex: 0 0 95%;
        margin-left: 2.5%;
        margin-right: 2.5%;
        margin-bottom: 5%
    }

    .c-buttonPrimary:hover {
        background: #1e1f21
    }

    .c-buttonSecondary a {
        /* color: #2d2d31; */
    }

    .c-buttonSecondary:hover {
        background: #fff
    }

    .c-buttonSecondary:hover a {
        color: #2d2d31
    }

    .c-buttonSecondarySDFill {
        background: #1e1f21
    }

    .c-buttonSecondarySDFill a {
        color: #fff
    }

    .c-buttonSecondarySDFill:hover {
        background: #1e1f21
    }

    .c-buttonSecondarySDFill:hover a {
        color: #fff
    }

    .c-buttonTertiary a {
        color: #fff
    }

    .c-buttonTertiary:hover {
        background: none;
        border: solid 1px #ccc
    }

    .c-buttonTertiary:hover a {
        color: #fff
    }

    .c-buttonTertiarySDFill {
        background: #fff;
        border: solid 1px #1e1f21
    }

    .c-buttonTertiarySDFill a {
        color: #1e1f21
    }

    .c-buttonTertiarySDFill:hover {
        background: #fff;
        border: solid 1px #1e1f21;
        -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .c-buttonTertiarySDFill:hover a {
        color: #1e1f21;
        -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .c-buttonQuaternary {
        background: #fff
    }

    .c-buttonQuaternary a {
        color: #2d2d31
    }

    .c-buttonQuaternary:hover {
        background: #fff
    }

    .c-arrowLink::after {
        display: none
    }

    .c-headingTitle {
        margin-bottom: 20px;
/*        font-family: -apple-system, Helvetica Neue, Hiragino Sans, "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "MS Pゴシック", "MS PGothic", sans-serif;*/
        font-size: 2.4rem;
        line-height: 1.3
    }

    .c-headingTitle--minCho {
        margin-bottom: 20px;
/*        font-family: "游明朝体", YuMin, "Yu Mincho", YuMincho, "ヒラギノ明朝 Pro", "Hiragino Mincho Pro", "MS P明朝", "MS PMincho", serif;*/
        font-size: 2.4rem;
        line-height: 1.3
    }

    .c-titleCenter {
        text-align: center
    }

    .c-headHero {
        width: 100%;
        height: 400px
    }

    .c-headHeroTitle__title {
        font-size: 3rem
    }

    .c-headHeroTitle__subTitle {
        margin-top: 36px;
        font-size: 1.2rem
    }

    .c-headHeroTitle__subTitle span::after {
        top: -24px
    }

    .c-headHeroSecondary {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 100%;
        height: 320px
    }

    .c-headHeroSecondaryTitle {
        width: 70%;
        min-width: 70%;
        height: auto;
        padding: 24px;
        line-height: 1.4
    }

    .c-headHeroSecondaryTitle__title {
        font-size: 2.4rem;
        line-height: 1.4
    }

    .c-headHeroTertiaryTitle {
        width: 70%;
        min-width: 70%;
        padding: 24px
    }

    .c-headHeroTertiaryTitle__title {
        font-size: 2.4rem;
        line-height: 1.4
    }

    .c-headHeroTertiaryTitle__address {
        margin-top: 16px;
        font-size: 1.2rem
    }

    .c-listDateText {
        margin-bottom: 14px;
        font-size: 1.4rem
    }

    .c-listDateText__date {
        margin-bottom: 2px
    }

    .c-listDateText__text a {
        /* color: #2d2d31; */
        text-decoration: underline
    }

    .c-listDateText__text a:hover {
        text-decoration: none
    }

    .c-listDateText__text--bold {
        margin-bottom: 16px
    }

    .c-listDateText--line {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        border-bottom: solid 1px #ccc
    }

    .c-listDateText--line:last-child {
        border-bottom: none
    }

    .c-newsListDetailMore {
        position: static;
        /* bottom: -10px; */
        left: 0;
        z-index: 2;
        width: 100%;
        padding-top: 16px;
        text-align: right;
        /* background: #fff; */
    }

    .c-newsListDetailMore div {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        max-width: 1170px;
        padding-right: 30px;
        padding-left: 30px;
        margin: 0 auto
    }
}

@media only screen and (max-width: 787px) and (max-width: 787px) {
    .c-newsListDetailMore div {
        padding-right: 30px;
        padding-left: 30px
    }
}

@media only screen and (max-width: 787px) {
    .c-newsListDetailMoreSecondly {
        bottom: 0px;
        padding-top: 8px
    }

    .c-shopListWrap {
        background: #f3f3f3
    }

    .c-shopListNarrowDown {
        height: 24px;
        padding-left: 28px;
        margin-bottom: 24px;
        font-size: 1.6rem;
        font-weight: bold;
        line-height: 24px;
        background: url("../image/icon_filter.svg") no-repeat center left;
        background-size: 24px
    }

    .c-shopListNarrowDown--on {
        color: #a70016;
        background: url("../image/icon_filter_green.svg") no-repeat center left;
        background-size: 24px
    }

    .c-shopListAreaList {
        margin-bottom: 8px
    }

    .c-shopListAreaList__item {
        min-width: 60px;
        height: 36px;
        padding: 0 8px;
        margin-right: 6px;
        margin-bottom: 6px;
        font-size: 1.2rem;
        line-height: 36px;
        border-radius: 36px
    }

    .c-shopListOne {
        margin-bottom: 16px
    }

    .c-shopListOneInner {
        padding: 16px
    }

    .c-shopListOneInner::after {
        right: 16px
    }

    .c-shopListOneThumb {
        width: 100%
    }

    .c-shopListOnePhoto {
        margin-right: 8px
    }

    .c-shopListOneInfo {
        width: 55%
    }

    .c-shopListOneInfo__name dt {
        margin-bottom: 6px;
        font-size: 1.8rem
    }

    .c-shopListOneInfo__name dd {
        font-size: 1.2rem;
        line-height: 1
    }

    .c-shopListOneInfo__point {
        margin-top: 8px
    }

    .c-shopListReserveOne {
        margin-bottom: 16px
    }

    .c-shopListReserveOneInner {
        padding: 16px
    }

    .c-shopListReserveOnePhoto {
        width: calc(28% - 8px);
        margin-right: 8px
    }

    .c-shopListReserveOneInfo {
        width: 72%
    }

    .c-shopListReserveOneInfo__name dt {
        font-size: 1.8rem
    }

    .c-shopListReserveOneInfo__name dd {
        font-size: 1.8rem
    }

    .c-shopListReserveOneInfo__name dd a {
        color: #2d2d31
    }

    .c-shopListReserveOneButton {
        margin-top: 8px
    }

    .c-shopListDetailBox--outer {
        display: none
    }

    .c-shopListDetailBoxWrapOuter {
        margin-top: 0px
    }

    .c-shopListDetailBoxWrap {
        position: relative;
        padding-top: 0px
    }

    .c-shopListDetailBoxWrap::after {
        display: none
    }

    .c-shopListDetailBox {
        display: block;
        -webkit-box-align: unset;
        -ms-flex-align: unset;
        align-items: unset;
        padding: 0;
        margin-top: 16px;
        margin-bottom: 0;
        color: #2d2d31;
        background: #fff
    }

    .c-shopListDetailBoxData {
        display: block;
        -webkit-box-align: unset;
        -ms-flex-align: unset;
        align-items: unset;
        width: 100%
    }

    .c-shopListDetailBoxData__photo {
        width: 100%;
        margin-bottom: 16px
    }

    .c-shopListDetailBoxData__info {
        width: 100%;
        padding: 0 0;
        border-right: none
    }

    .c-shopListDetailBoxData__info dl {
        margin-top: 4px;
        color: #2d2d31
    }

    .c-shopListDetailBoxData__map {
        margin-top: 16px;
        margin-bottom: 16px;
        background: url("../image/icon_map.svg") no-repeat center left;
        background-size: 16px
    }

    .c-shopListDetailBoxData__map a {
        color: #2d2d31
    }

    .c-shopListDetailBoxData__button {
        margin-top: 10px
    }

    .c-shopListDetailBoxReserve {
        width: 100%;
        padding: 16px 0 0 0
    }

    .c-shopListDetailBoxReserve__title {
        margin-bottom: 4px
    }

    .c-shopListDetailBoxReserve__number {
        margin-bottom: 4px;
        font-size: 2.8rem
    }

    .c-shopListDetailBoxReserve__number a {
        display: block;
        width: 100%;
        height: 100%;
        color: #2d2d31
    }

    .c-shopListDetailBoxReserve__number span {
        padding-left: 24px;
        background: url("../image/icon_tel.svg") no-repeat center left;
        background-size: 18px 100%
    }

    .c-shopListDetailBoxReserve__time {
        color: #2d2d31
    }

    .c-shopListDetailBoxReserve__button {
        margin-top: 8px
    }

    .c-blogDetailDate {
        margin-bottom: 4px;
        font-size: 1.4rem
    }

    .c-blogDetailRead {
        margin-bottom: 4px;
        font-size: 1.4rem
    }

    .c-blogDetailTitle {
        margin-bottom: 16px;
        font-size: 2.4rem;
        line-height: 1.2
    }

    .c-blogDetailTitle--item {
        margin-bottom: 4px
    }

    .c-blogDetailPrice {
        font-size: 1.4rem
    }

    .c-blogDetailContent {
        overflow: hidden;
        padding: 20px 0
    }

    .c-blogDetailContent--item {
        padding: 10px 0 20px;
        border-top: none
    }

    .c-blogDetailContent__block {
        margin-bottom: 28px;
        font-size: 1.4rem;
        line-height: 1.6;
        color: #2d2d31
    }

    .c-blogDetailContent__block span {
        width: 100%;
        margin-bottom: 6px
    }

    .c-blogDetailShare {
        padding-top: 16px
    }

    .c-blogDetailShare ul {
        margin: 10px 0 0
    }

    .c-blogDetailShare ul li {
        width: 48px;
        height: 48px;
        margin: 0 8px
    }

    .c-blogDetailShare ul li:nth-child(1) {
        background: url(../image/icon_blog_facebook_sp.png) no-repeat center;
        background-size: 48px
    }

    .c-blogDetailShare ul li:nth-child(1):hover {
        opacity: 1
    }

    .c-blogDetailShare ul li:nth-child(2) {
        background: url(../image/icon_blog_twitter_sp.png) no-repeat center;
        background-size: 48px
    }

    .c-blogDetailShare ul li:nth-child(2):hover {
        opacity: 1
    }

    .c-blogDetailNav {
        margin-top: 16px
    }

    .c-blogDetailNav a {
        padding-left: 10px
    }

    .c-blogDetailNav a::after {
        display: none
    }

    .c-barNavWrapFix {
        position: fixed;
        top: 0px;
        z-index: 100;
        width: 100%
    }

    .c-barNavWrapFixContainer {
        padding-top: 56px !important
    }

    .c-barNavWrapFixDouble {
        position: fixed;
        top: 0px;
        z-index: 100;
        width: 100%
    }

    .c-barNavWrapFixDoubleContainer {
        padding-top: 104px !important
    }

    .c-barNav {
        height: 56px;
        padding-right: 16px;
        padding-left: 16px
    }

    .c-barNav__item {
        margin: 0 8px;
    }

    .c-barNav__item a {
        padding: 0 16px;
        line-height: 56px
    }

    .c-barSecondlyNav {
        height: 48px;
        padding-right: 16px;
        padding-left: 16px
    }

    .c-barSecondlyNav__item {
        font-size: 1.15rem;
        text-align: center
    }

    .c-barSecondlyNav__item a {
        padding: 0 4px
    }

    .c-tablePrimaryCell {
        padding: 16px 0
    }

    .c-tablePrimaryCell dt,
    .c-tablePrimaryCell td:nth-child(1) {
        margin-bottom: 6px;
        font-size: 1.4rem
    }

    .c-tablePrimaryCell dd,
    .c-tablePrimaryCell td:nth-child(2) {
        margin-bottom: 0px;
        font-size: 1.4rem;
        line-height: 1.6
    }

    .c-tablePrimaryCell dd a,
    .c-tablePrimaryCell td:nth-child(2) a {
        font-size: 1.4rem
    }

    .c-tablePrimaryCell dd a:hover,
    .c-tablePrimaryCell td:nth-child(2) a:hover {
        text-decoration: underline
    }

    .c-tablePrimaryCell dd p,
    .c-tablePrimaryCell td:nth-child(2) p {
        margin-bottom: 24px
    }

    .c-tablePrimaryCell dd p span,
    .c-tablePrimaryCell td:nth-child(2) p span {
        display: block;
        margin-bottom: 8px;
        font-weight: bold
    }

    .c-tableSecondaryCell {
        padding: 16px 0
    }

    .c-tableSecondaryCell dt {
        margin-bottom: 6px;
        font-size: 1.4rem
    }

    .c-tableSecondaryCell dd {
        margin-bottom: 0px;
        font-size: 1.4rem;
        line-height: 1.6
    }

    .c-tableSecondaryCell dd a {
        font-size: 1.4rem
    }

    .c-tableSecondaryCell dd a:hover {
        text-decoration: underline
    }

    .c-tableSecondaryCell dd p {
        margin-bottom: 24px
    }

    .c-tableSecondaryCell dd p span {
        display: block;
        margin-bottom: 8px;
        font-weight: bold
    }

    .c-tableFormCell {
        padding: 16px 0
    }

    .c-tableFormCell dt {
        margin-bottom: 6px;
        font-size: 1.4rem
    }

    .c-tableFormCell dt span {
        font-size: 1.4rem
    }

    .c-tableFormCell dt._NoBottom {
        margin-bottom: 0
    }

    .c-tableFormCell textarea {
        height: 150px
    }

    .c-tableFormCell select {
        background-size: 10px
    }

    input[type='submit'],
    input[type='button'] {
        -webkit-box-sizing: content-box;
        -webkit-appearance: button;
        -moz-appearance: button;
        appearance: button;
        -webkit-box-sizing: border-box;
        box-sizing: border-box
    }

    input[type='submit']::-webkit-search-decoration,
    input[type='button']::-webkit-search-decoration {
        display: none
    }

    input[type='submit']::focus,
    input[type='button']::focus {
        outline-offset: -2px
    }

    .c-tableFormRadioWrap {
        margin-bottom: 0
    }

    .c-tableFormRadio span {
        font-size: 1.4rem
    }

    .c-tableFormRadio label {
        margin-top: 6px
    }

    .c-tableFormCheckBoxWrap {
        margin-bottom: 0
    }

    .c-tableFormCheckBox span {
        font-size: 1.4rem
    }

    .c-tableFormCheckBox label {
        margin-top: 6px
    }

    .c-tableFormMultipleSelect {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between
    }

    .c-tableFormMultipleSelect select {
        margin-top: 8px;
        background: url("../image/icon_form_arrow.svg") no-repeat 90% center;
        background-size: 10px
    }

    .c-tableFormMultipleSelect .c-tableFormMultipleSelectUnit {
        padding: 0 4px;
        margin-top: 8px;
        font-size: 1.4rem
    }

    .c-tableButtonWrap {
        padding-top: 24px
    }

    .c-tableButtonNote {
        margin-bottom: 24px
    }

    .c-tableButton {
        width: 100%
    }

    .l-header {
        height: 72px;
        padding: 0 16px
    }

    .l-headerNavViewed {
        position: fixed;
        background: #fff;
        -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .l-headerNavToggle {
        position: absolute;
        top: 6px;
        left: 0;
        width: 56px;
        height: 56px
    }

    .l-headerNavToggle span {
        position: absolute;
        left: 16px;
        display: block;
        height: 2px;
        background: #2d2d31;
        -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .l-headerNavToggle span:nth-child(1) {
        top: 20px;
        width: 16px
    }

    .l-headerNavToggle span:nth-child(2) {
        top: 27px;
        width: 16px
    }

    .l-headerNavToggle span:nth-child(3) {
        top: 34px;
        width: 12px
    }

    .l-headerNavToggle--close span:nth-child(1) {
        top: 28px;
        width: 24px;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }

    .l-headerNavToggle--close span:nth-child(2) {
        opacity: 0
    }

    .l-headerNavToggle--close span:nth-child(3) {
        top: 28px;
        width: 24px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }

    .l-headerLogo {
        width: 130px;
        height: 56px;
        margin: 0 auto;
        background-size: 130px auto
    }

    .l-headerNav {
        position: fixed;
        top: 72px;
        left: 0;
        z-index: 888;
        display: block;
        -webkit-box-align: unset;
        -ms-flex-align: unset;
        align-items: unset;
        -webkit-box-pack: unset;
        -ms-flex-pack: unset;
        justify-content: unset;
        width: 100%;
        height: 100%;
        background: #2d2d31;
        -webkit-transform: translateX(-100%);
        transform: translateX(-100%);
        -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1)
    }

    .l-headerNav--open {
        -webkit-transform: translateX(0);
        transform: translateX(0)
    }

    .l-headerNavMenu {
        width: 100%;
        text-align: left
    }

    .l-headerNavMenu__item {
        display: block;
        padding: 0;
        margin-left: 0;
        line-height: 56px;
        border-bottom: solid 1px #666
    }

    .l-headerNavMenu__item::after {
        display: none
    }

    .l-headerNavMenu__item a {
        display: block;
        width: 100%;
        height: 100%;
        padding: 0 16px;
        color: #fff
    }

    .l-headerNavMenu__itemOn a {
        color: #a70016
    }

    .l-headerNavButton {
        width: calc(100% - 32px);
        height: 48px;
        margin-top: 16px;
        margin-left: 16px
    }

    .l-headerNavButton a {
        line-height: 48px
    }

    .l-headerTop .l-headerNavMenu__item {
        display: block
    }

    .l-headerTop .l-headerNavMenu__item::after {
        display: none
    }

    .l-headerTop .l-headerNavMenu__item a {
        color: #fff
    }

    .l-headerTop .l-headerNavMenu__itemOn {
        display: block
    }

    .l-headerTop .l-headerNavMenu__itemOn::after {
        display: none
    }

    .l-headerTop .l-headerNavMenu__itemOn a {
        color: #a70016
    }

    .l-headerTop .l-headerNavToggle span {
        background: #2d2d31;
    }

    .l-headerTop .l-headerNavToggle--close span {
        background: #2d2d31
    }

    .l-headerTop .l-headerLogo {
        width: 130px;
        height: 56px;
        margin: 0 auto;
    }

    .l-headerRollDown .l-headerNavMenu__item {
        display: block
    }

    .l-headerRollDown .l-headerNavMenu__item::after {
        display: none
    }

    .l-headerRollDown .l-headerNavMenu__item a {
        color: #fff
    }

    .l-headerRollDown .l-headerNavMenu__itemOn {
        display: block
    }

    .l-headerRollDown .l-headerNavMenu__itemOn::after {
        display: none
    }

    .l-headerRollDown .l-headerNavMenu__itemOn a {
        color: #a70016
    }

    .l-headerRollDown .l-headerNavToggle span {
        background: #2d2d31
    }

    .l-headerRollDown .l-headerNavToggle--close span {
        background: #2d2d31
    }

    .l-headerRollDown .l-headerLogo {
        width: 130px;
        height: 56px;
        margin: 0 auto;
        background-size: 130px auto
    }

    .l-container {
        padding-top: 72px
    }

    .l-containerNoHeaderFix {
        padding-top: 0px
    }

    .l-contentPrimary {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        max-width: 1170px;
        padding-right: 30px;
        padding-left: 30px;
        margin: 0 auto
    }
}

@media only screen and (max-width: 787px) and (max-width: 787px) {
    .l-contentPrimary {
        padding-right: 30px;
        padding-left: 30px
    }
}

@media only screen and (max-width: 787px) {
    .l-contentSecondly {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        max-width: 790px;
        padding-right: 30px;
        padding-left: 30px;
        margin: 0 auto
    }
}

@media only screen and (max-width: 787px) and (max-width: 787px) {
    .l-contentSecondly {
        padding-right: 30px;
        padding-left: 30px
    }
}

@media only screen and (max-width: 787px) {
    .l-contentTertiary {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        max-width: 980px;
        padding-right: 30px;
        padding-left: 30px;
        margin: 0 auto
    }
}

@media only screen and (max-width: 787px) and (max-width: 787px) {
    .l-contentTertiary {
        padding-right: 30px;
        padding-left: 30px
    }
}

@media only screen and (max-width: 787px) {
    .l-contentPrimarySPWide {
        padding-right: 16px;
        padding-left: 16px
    }

    .l-contentSecondlySPWide {
        padding-right: 16px;
        padding-left: 16px
    }

    .l-contentTertiarySPWide {
        padding-right: 16px;
        padding-left: 16px
    }

    .l-contentFull {
        width: 100%;
        margin: 0 auto
    }

    .l-frameBoxPrimary {
        padding-top: 28px
    }

    .l-frameBoxSecondly {
        padding-top: 40px
    }

    .l-frameBoxTertiary {
        padding-top: 20px
    }

    .l-frameBoxQuaternary {
        padding-top: 16px
    }

    .l-frameBoxQuinary {
        padding-top: 12px
    }

    .l-frameBoxSenary {
        padding-top: 8px
    }

    .l-frameBoxBottomPrimary {
        padding-bottom: 28px
    }

    .l-frameBoxBottomSecondly {
        padding-bottom: 40px
    }

    .l-frameBoxBottomTertiary {
        padding-bottom: 20px
    }

    .l-frameBoxBottomQuaternary {
        padding-bottom: 16px
    }

    .l-frameBoxBothSidePrimary {
        padding-top: 28px;
        padding-bottom: 40px
    }

    .l-frameBoxBothSideSecondly {
        padding-top: 28px;
        padding-bottom: 54px
    }

    .l-frameBoxBothSideTertiary {
        padding-top: 20px;
        padding-bottom: 28px
    }

    .l-frameBoxBothSideQuaternary {
        padding-top: 28px;
        padding-bottom: 28px
    }

    .l-footerScrollTop {
        right: 16px;
        width: 48px;
        height: 48px
    }

    .l-footerScrollTop:hover::after {
        top: 50%
    }

    .l-footerScrollTopFix {
        position: fixed;
        -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
        bottom: 25px
    }

    .l-footerScrollTopFixDouble {
        position: fixed;
        -webkit-transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
        transition: all 0.4s cubic-bezier(0.19, 1, 0.22, 1);
        bottom: 95px;
        margin-bottom: constant(safe-area-inset-bottom);
        margin-bottom: env(safe-area-inset-bottom)
    }

    .l-footerWrapFooterBanner {
        padding-bottom: constant(safe-area-inset-bottom);
        padding-bottom: calc(env(safe-area-inset-bottom) + 98px);
        margin-bottom: 0
    }

    .l-footerBannerWrap {
        height: 280px
    }

    .l-footerBanner {
        bottom: -20px;
        left: 50%;
        -webkit-box-align: stretch;
        -ms-flex-align: stretch;
        align-items: stretch;
        width: 100%;
        margin-left: -50%
    }

    .l-footerBanner__item {
        width: 50%
    }

    .l-footerBanner__item:first-child {
        margin: 0 0 0 16px
    }

    .l-footerBanner__item:last-child {
        margin: 0 16px 0 16px
    }

    .l-footerBanner__itemLink {
        padding: 16px 16px
    }

    .l-footerBanner__itemIcon {
        margin-bottom: 8px
    }

    .l-footerBanner__itemIcon img {
        width: 40px;
        height: auto
    }

    .l-footerBanner__itemInfo {
        color: #2d2d31
    }

    .l-footerBanner__itemInfo dt {
        margin-bottom: 8px;
        font-size: 1.6rem
    }

    .l-footerBanner__itemInfo dd {
        font-size: 1.2rem
    }

    .l-footerNavBox {
        padding: 50px 0 16px
    }

    .l-footerNavLogo {
        width: 120px;
        margin-bottom: 6px
    }

    .l-footerNav {
        padding: 8px 0 0 0;
        border-right: none
    }

    .l-footerNavList__item {
        margin-bottom: 8px
    }

    .l-footerNavList__item span::after {
        display: none
    }

    .l-footerNavList__itemInstagram {
        margin-bottom: 0
    }

    .l-footerNavList__itemInstagram a {
        width: 48px;
        height: 48px;
        padding-left: 0;
    }

    .l-footerNavList__itemFacebook {
        margin-bottom: 0
    }

    .l-footerNavList__itemFacebook a {
        width: 48px;
        height: 48px;
        padding-left: 0;
    }

    .l-footerNavList__itemTwitter {
        margin-top: 1px;
        margin-bottom: 0
    }

    .l-footerNavList__itemTwitter a {
        width: 48px;
        height: 48px;
        padding-left: 0;
    }

    .l-footerNavListSNS {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        padding-top: 8px
    }

    .l-footerCopyRight {
        height: auto;
        text-align: center;
        padding-bottom: 10px;
    }

    .l-footerCopyRight small {
        /* padding-bottom: 24px; */
        font-size: 1.2rem;
        line-height: 1px
    }

    .p-topHeroTitle {
        margin-bottom: 8px;
        font-size: 1.6rem;
    }

    .p-topHeroTitle img {
        max-width: 150px;
    }

    .p-topHeroShoulder {
        font-size: 2.8rem;
        line-height: 1.5
    }

    .p-topHeroButton {
        width: 100%
    }

    .p-topHeroScroll {
        bottom: 150px
    }

    .p-topAboutSoupDetail__text {
        font-size: 1.4rem;
        line-height: 1.8
    }

    .p-topInstagramWrap {
        margin-bottom: 16px
    }

    .p-topInstagramContent {
        padding-top: 0
    }

    .p-topInstagramDetail__photo {
        margin-bottom: 12px
    }

    .p-topInstagramLink {
        margin-top: 8px
    }

    .p-topInstagramLinkTitle {
        margin-bottom: 16px;
        font-size: 1.4rem
    }

    .p-topInstagramLinkButton {
        width: 100%;
        display: block;
        height: auto;
    }

    .p-topInstagramLinkButton>a {
        margin: 0 auto 20px auto;
    }

    .p-newsListHeading {
        margin-bottom: 20px
    }

    .p-mediaListHeading {
        margin-bottom: 20px;
        font-size: 1.4rem;
        line-height: 24px
    }

    .p-mediaListHeading a:hover {
        text-decoration: underline
    }

    .p-mediaContactButton {
        width: 100%;
        margin-bottom: 16px
    }

    .p-menuHeading {
        margin-bottom: 24px;
        font-size: 1.4rem;
        line-height: 1.8
    }

    .p-menuCategoryPanel {
        margin-bottom: 24px
    }

    .p-menuCategoryPanel__data {
        padding: 20px
    }

    .p-menuCategoryPanel__data dt {
        margin-bottom: 8px;
        font-size: 2.2rem
    }

    .p-menuCategoryPanel__data dd {
        font-size: 1.4rem;
        line-height: 1.8
    }

    .p-menuCategoryPanel__data dd span {
        font-size: 1.2rem
    }

    .p-menuCategoryButton {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        padding: 20px
    }

    .p-menuCategoryButton button {
        width: 100%
    }

    .p-menuItemPanel {
        margin-bottom: 24px
    }

    .p-menuItemPanel__data {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 20px
    }

    .p-menuItemPanel__data__info {
        margin-bottom: 8px
    }

    .p-menuItemPanel__data__info dt {
        margin: 6px 0 0 0;
        font-size: 2.2rem
    }

    .p-menuItemPanel__data__info dd {
        font-size: 1.4rem
    }

    .p-menuItemPanel__data__note {
        font-size: 1.4rem;
        line-height: 1.6;
        color: #2d2d31
    }

    .p-menuCoursePanel {
        margin-bottom: 24px
    }

    .p-menuCoursePanel__data {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        padding: 20px
    }

    .p-menuCoursePanel__data__info {
        margin-bottom: 8px
    }

    .p-menuCoursePanel__data__info dt {
        margin: 6px 0 0 0;
        font-size: 2.2rem
    }

    .p-menuCoursePanel__data__info dd {
        font-size: 1.4rem
    }

    .p-menuListWrap:last-child {
        border: none
    }

    .p-menuListSplitSpace {
        margin-bottom: 12px
    }

    .p-menuList__item {
        margin-bottom: 8px;
        font-size: 1.4rem
    }

    .p-menuList__item dl dt,.p-menuListWrap .p-menuList>li .dl .dt. {
        width: auto
    }

    .p-menuList__item dl dd,.p-menuListWrap .p-menuList>li .dl .dd {
        width: auto
    }

    .p-menuList__itemWide dl dt {
        width: auto
    }

    .p-menuList__itemWide dl dd {
        width: auto
    }

    .p-menuList__note {
        font-size: 1.1rem
    }

    .swiper-container {
        width: 100%;
        margin-bottom: 24px
    }

    .swiper-slide {
        padding-bottom: 32px
    }

    .swiper-slide img {
        width: 100%;
        height: auto
    }

    .swiper-pagination-bullets {
        bottom: 6px !important
    }

    .swiper-pagination-bullet-active {
        background: #a70016 !important
    }

    .p-aboutParagraphBox {
        width: 100%;
        padding: 0 0px 16px 0px
    }

    .p-aboutParagraphBox:last-child {
        padding: 20px 10px 20px 10px;
    }

    .p-aboutParagraphBoxFloat {
        padding-top: 20px;
        margin-top: 0px;
        background: none
    }

    .p-aboutParagraph {
        margin-bottom: 16px;
        font-size: 1.4rem;
        line-height: 2
    }

    .p-aboutParagraph:last-child {
        margin-bottom: 0
    }

    .p-aboutSquarePhotosTitle {
        position: absolute;
        top: 50%;
        left: 50%;
        z-index: 2;
        width: 60%;
        min-width: 70%;
        height: auto;
        padding: 16px 0;
        margin: -32px 0 0 -35%
    }

    .p-aboutSquarePhotosTitle__title {
        font-size: 2.4rem;
        color: #fff
    }

    .p-aboutFoodStuffBox {
        margin-bottom: 16px
    }

    .p-aboutFoodStuffBox .p-aboutFoodStuffBoxInner {
        padding: 8px
    }

    .p-aboutFoodStuffBox .p-aboutFoodStuffBox__photo {
        margin-bottom: 0px
    }

    .p-aboutFoodStuffBox .p-aboutFoodStuffBox__data {
        display: none
    }

    .p-aboutHowToBox {
        margin-bottom: 8px
    }

    .p-aboutHowToBox .p-aboutHowToBoxInner {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        padding: 8px;
        background: #f3f3f3;
        border-radius: 4px
    }

    .p-aboutHowToBox .p-aboutHowToBox__photo {
        position: relative;
        width: 20%;
        height: 0;
        padding-bottom: 20%;
        margin-bottom: 0;
        overflow: hidden
    }

    .p-aboutHowToBox .p-aboutHowToBox__photo img {
        position: absolute;
        top: 50%;
        left: 50%;
        width: auto;
        max-width: 166%;
        height: auto;
        max-height: initial;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%)
    }

    .p-aboutHowToBox .p-aboutHowToBox__data {
        width: 80%;
        margin-left: 8px
    }

    .p-aboutHowToBox .p-aboutHowToBox__data dt {
        margin-bottom: 6px;
        font-size: 1.4rem;
        line-height: 1
    }

    .p-aboutHowToBox .p-aboutHowToBox__data dd {
        font-size: 1.2rem;
        line-height: 1.8
    }

    .p-shopInfoHeading {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start
    }

    .p-shopInfoHeading__text {
        font-size: 1.4rem;
        line-height: 1.8
    }

    .p-shopPhotos__item {
        margin-bottom: 12px
    }

    .p-notFound {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        height: 300px;
        padding: 100px 0
    }

    .p-notFound__icon {
        width: 100%;
        height: 56px;
        margin-bottom: 24px;
        background: url("../image/icon-notfound.svg") no-repeat center;
        background-size: 56px
    }

    .p-notFound__text {
        width: 100%;
        font-size: 2rem;
        font-weight: bold;
        text-align: center
    }

    .p-footerInfoBar {
        width: 100%;
        height: 64px;
        padding-bottom: constant(safe-area-inset-bottom);
        padding-bottom: env(safe-area-inset-bottom)
    }

    .p-footerInfoShop {
        display: none
    }

    .p-footerInfoReserve {
        width: calc(100% - 16px);
        height: 48px;
        margin-left: 0;
        border: none
    }

    .p-footerInfoReserveSend {
        width: 20%;
        margin: 0 4px;
        border-radius: 4px
    }

    .p-footerInfoReserveSend a {
        padding: 0;
        text-align: center
    }

    .p-footerInfoReserveSend a span {
        display: block;
        padding-top: 5px;
        padding-left: 0px;
        margin-top: 3px;
        font-size: 1.4rem;
        font-weight: bold;
        line-height: 48px;
        background: url("../image/icon_share.svg") no-repeat top center;
        background-size: 24px 24px
    }

    .p-footerInfoReserveTel {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        width: 55%;
        height: 100%;
        padding: 0;
        margin: 0 4px;
        background: #fff;
        border-radius: 4px
    }

    .p-footerInfoReserveTel a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        height: 100%;
        color: #2d2d31
    }

    .p-footerInfoReserveTel__number {
        padding-left: 0px;
        font-size: 1.4rem
    }

    .p-footerInfoReserveTel__number span {
        padding-left: 0px;
        color: #2d2d31;
        background: none
    }

    .p-footerInfoReserveTel__time {
        font-size: 1.2rem;
        color: #2d2d31
    }

    .p-footerInfoReserveWeb {
        width: 40%;
        margin: 0 4px;
        background: #fff;
        border-radius: 4px
    }

    .p-footerInfoReserveWeb a {
        padding: 0;
        text-align: center
    }

    .p-footerInfoReserveWeb a span {
        padding-left: 0;
        font-size: 1.4rem;
        font-weight: bold;
        line-height: 48px;
        background: none
    }

    .c-shopReserveModal {
        width: calc(100% - 32px);
        max-width: calc(100% - 32px);
        padding: 0 0 20px 0
    }

    .c-shopReserveModalShop {
        width: calc(100% - 32px);
        max-width: calc(100% - 32px);
        padding: 0 0 0 0
    }

    .c-shopReserveModalShopInfo {
        width: calc(100% - 32px);
        max-width: calc(100% - 32px);
        padding: 0 0 0 0
    }

    .c-shopReserveModal__title {
        padding: 16px 16px;
        font-size: 1.8rem
    }

    .c-shopReserveModal__typeBox {
        padding-top: 16px
    }

    .c-shopReserveModal__type {
        margin: 0 8px
    }

    .c-shopReserveModal__typeTitle {
        font-size: 1.6rem
    }

    .c-shopReserveModal__typeIconSeat {
        height: 46px;
        margin: 8px 0;
        background: url("../image/icon-seat.svg") no-repeat center;
        background-size: 42px 46px
    }

    .c-shopReserveModal__typeIconCourse {
        height: 46px;
        margin: 8px 0;
        background: url("../image/icon-course.svg") no-repeat center;
        background-size: 42px
    }

    .c-shopReserveModal__listBox {
        width: 100%;
        height: 50vh;
        padding: 16px;
        overflow-y: scroll
    }

    .c-shopReserveModal__listBoxItem {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        width: 100%;
        height: 54px;
        margin-bottom: 8px;
        margin-left: 0
    }

    .c-shopReserveModal__shopInfoBoxInfo a {
        color: #666
    }

    .c-shopReserveModal__shopInfoBoxButton li a {
        color: #2d2d31
    }

    .p-companyRecruiNav__item {
        height: 40px;
        padding: 0 16px;
        line-height: 40px
    }

    .p-companyRecruiNav__item a {
        color: #2d2d31
    }

    .p-companyRecruiNav__item--on {
        background: #2d2d31;
        border-radius: 20px
    }

    .p-companyRecruiNav__item--on a {
        color: #fff
    }

    .p-companyRecruitHeading__photo {
        margin-bottom: 16px
    }

    .p-companyRecruitHeading__text {
        font-size: 1.4rem;
        line-height: 1.8
    }

    .p-companyRecruitCEO__photo {
        margin-bottom: 16px
    }

    .p-companyRecruitCEO__message {
        font-size: 1.4rem;
        line-height: 1.8
    }

    .p-companyRecruitCEO__message dl {
        margin-bottom: 16px
    }

    .p-companyRecruitCEO__message dl dt {
        margin-bottom: 8px;
        font-size: 2rem;
        line-height: 1.4
    }

    .p-companyRecruitCEO__message dl dd {
        font-size: 1.6rem
    }

    .p-contactHeading {
        margin-bottom: 24px;
        font-size: 1.4rem;
        line-height: 1.8
    }

    .p-contactHeading small {
        font-size: 1.2rem
    }

    .p-contactFinWrap {
        padding-top: 100px;
        padding-bottom: 100px
    }

    .p-contactFinTitle {
        margin-top: 6px;
        font-size: 2.8rem
    }

    .p-contactFinRead {
        font-size: 1.4rem;
        line-height: 1.8
    }

    .p-contactFinRead a:hover {
        text-decoration: underline
    }

    .p-contactHomeBack {
        width: 90%;
        margin: 24px auto
    }

    .p-siteMapTitle {
        margin-bottom: 16px;
        font-size: 2.6rem
    }

    .p-siteMapHome {
        margin-bottom: 12px;
        font-size: 1.4rem
    }

    .p-siteMapListWrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }

    .p-siteMapListBox {
        width: 100%
    }

    .p-siteMapList {
        margin-bottom: 28px
    }

    .p-siteMapList dt {
        font-size: 1.5rem;
        font-weight: bold
    }

    .p-siteMapList dd {
        display: block;
        margin-top: 6px;
        font-size: 1.4rem
    }

    .p-siteMapList dd a {
        color: #2d2d31;
        position: relative;
        display: inline-block;
        text-decoration: none
    }

    .p-siteMapList dd a::after {
        position: absolute;
        bottom: 1px;
        left: 0;
        width: 100%;
        height: 1px;
        content: '';
        background: #000;
        -webkit-transition: -webkit-transform 0.3s;
        transition: -webkit-transform 0.3s;
        transition: transform 0.3s;
        transition: transform 0.3s, -webkit-transform 0.3s;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
        -webkit-transform-origin: right top;
        transform-origin: right top
    }

    .p-siteMapList dd a:hover::after {
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
        -webkit-transform-origin: left top;
        transform-origin: left top
    }

    .p-notFoundWrap {
        padding-top: 100px;
        padding-bottom: 100px
    }

    .p-notFoundImage img {
        width: 60%
    }

    .p-notFoundTitle {
        margin-top: 6px;
        font-size: 2.8rem
    }

    .p-notFoundRead {
        font-size: 1.4rem;
        line-height: 1.8
    }

    .p-notFoundRead a:hover {
        text-decoration: underline
    }

    .mobile-no-margin {
        margin: 0
    }

    .mobile-no-padding {
        padding: 0
    }

    .no-mobile {
        display: none
    }

    .show-mobile {
        display: block
    }
}


.l-frameBoxBothSideQuaternary.p-topAboutSoupWrap .pic {
    position: absolute;
    right: 0;
    top: -14%;
}

.l-frameBoxBothSideQuaternary.c-newsListWrap .c-headingTitle--minCho {
    color: #fff;
    text-align: center;
}

.l-frameBoxBothSideQuaternary.c-newsListWrap .c-arrowLink {
    color: #fff;
    background: url("../image/icon_arrowlinkW.svg") no-repeat center right;
    background-size: 16px;
    padding-right: 22px;
}

.l-frameBoxPrimary.p-topShopWrap {}

.l-frameBoxPrimary.p-topInstagramWrap {
    position: relative;
    background-color: #F6ECE1;
    padding-top: 6%;
    margin-bottom: 0;
    padding-bottom: 6%;
}

.l-frameBoxPrimary.p-topShopWrap .c-headingTitle--minCho,
.l-frameBoxPrimary.p-topInstagramWrap .c-headingTitle--minCho {
    position: relative;
    text-align: center;
    display: flex;
    display: inline-flex;
    width: 100%;
    justify-content: center;
    align-items: center;
}

.l-frameBoxPrimary.p-topShopWrap .c-headingTitle--minCho img,
.l-frameBoxPrimary.p-topInstagramWrap .c-headingTitle--minCho img {
    width: 81px;
}

.l-frameBoxPrimary.p-topShopWrap .c-headingTitle--minCho span,
.l-frameBoxPrimary.p-topInstagramWrap .c-headingTitle--minCho span {
    display: inline-block;
    width: 220px;
    color: #710705;
}

.l-frameBoxPrimary.p-topShopWrap .c-headingTitle--minCho::before,
.l-frameBoxPrimary.p-topInstagramWrap .c-headingTitle--minCho::before {
    display: block;
    content: '';
    width: calc((100% - 79px - 79px - 220px) / 2);
    height: 2px;
    background-color: #710606;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}

.l-frameBoxPrimary.p-topShopWrap .c-headingTitle--minCho::after,
.l-frameBoxPrimary.p-topInstagramWrap .c-headingTitle--minCho::after {
    display: block;
    content: '';
    width: calc((100% - 79px - 79px - 220px) / 2);
    height: 2px;
    background-color: #710705;
    position: absolute;
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
}


.l-frameBoxPrimary.p-topShopWrap .c-shopListBoxSet {
    position: relative;
    z-index: 1;
    margin-top: 5%;
}

.l-frameBoxPrimary.p-topShopWrap,
.shopPage section {
    position: relative;
    background: #F6ECE1;
    padding-bottom: 6%;
    overflow: hidden;
}

.l-frameBoxPrimary.p-topShopWrap .pic1,
.shopPage section .pic1,
.newPage section .pic1 {
    position: absolute;
    right: 0;
    top: 24%;
}

.l-frameBoxPrimary.p-topShopWrap .pic2,
.shopPage section .pic2,
.newPage section .pic2 {
    position: absolute;
    left: 0;
    top: 70%;
}

.recruitPage section,
.newArticle section,
.contactPage section,
.privacyPage section,
.shopDetail section {
    position: relative;
}

.recruitPage .l-contentTertiary,
.newArticle .l-contentSecondly,
.contactPage .l-contentSecondly,
.privacyPage .l-contentSecondly,
.shopDetail .l-contentSecondly {
    position: relative;
    z-index: 1;
}

.contactPage section,
.shopDetail section {
    padding-bottom: 6%;
    overflow-x: hidden;
}

.contactPage .l-contentSecondly,
.shopDetail .shopDetail-tb {
    background: #FBF5F0;
    margin-top: 4%;
    position: relative;
    z-index: 1;
    padding-bottom: 3%;
}

.recruitPage section .pic1,
.newArticle section .pic1,
.contactPage section .pic1,
.shopDetail section .pic1 {
    position: absolute;
    right: 0;
    top: 2%;
}

.privacyPage section .pic1 {
    position: absolute;
    right: 0;
    top: 15%;
}

.recruitPage section .pic2 {
    position: absolute;
    left: 0;
    top: 20%;
}

.newArticle section .pic2,
.contactPage section .pic2,
.shopDetail section .pic2 {
    position: absolute;
    left: -10%;
    top: 70%;
}

.privacyPage section .pic2 {
    position: absolute;
    left: -10%;
    top: 43%;
}

.l-frameBoxPrimary.p-topInstagramWrap .p-topInstagramDetail {
    position: relative;
    z-index: 1;
}

.l-frameBoxPrimary.p-topInstagramWrap .pic1 {
    position: absolute;
    right: 0;
    bottom: 16%;
}

.c-newsListDetailMore .c-arrowLink:hover::after {
    -webkit-transform: scale(1, 1);
    transform: scale(1, 1);
    -webkit-transform-origin: left top;
    transform-origin: left top;
    background: #fff;
}

.c-shopListDetailBoxReserve__button.c-buttonSecondary a {
    background: #fff;
    color: #6C000E;
    font-weight: 400;
    border-radius: 4px;
}

.companyPage {
    padding-bottom: 6%;
}

.companyPage .c-headingTitle--minCho {
    text-align: left;
}

.p-aboutSection__tb {
    margin-top: 6%;
    background: #FBF5F0;
}

.recruitPage-con .l-contentTertiary {
    background: #FBF5F0;
    padding-top: 6%;
    padding-bottom: 4%;
}

.recruitPage-con .l-contentTertiary .c-headingTitle--minCho {
    color: #6C000E;
}

.recruitPage-con .l-contentTertiary .c-tablePrimaryCell td:nth-child(1) {
    color: #6C000E;
}

.newPage section {
    position: relative;
    padding-bottom: 6%;
}

.newPage .l-contentSecondly {
    background: #FBF5F0;
    margin-top: 4%;
    position: relative;
    z-index: 1;
    padding-bottom: 3%;
}

.newPage .c-listDateText,
.newPage .c-listDateText__text a {
    color: #000;
}

.c-newsListWrap .c-newsListDetail .c-listDateText__text {
    padding-left: 3.25%;
}

.newArticle {
    padding-bottom: 6%;
}

.newArticle article {
    background: #FBF5F0;
    margin-top: 4%;
    position: relative;
    z-index: 1;
    padding-bottom: 3%;
}

.contactPage .c-tableButtonNote a {
    color: #6C000E;
    text-decoration: underline;
}

.privacyPage h3 {
    background: #FBF5F0;
    font-size: 2rem;
    color: #000000;
    padding: 10px 20px;
    margin-top: 30px;
    margin-bottom: 30px;
    border-radius: 10px;
    font-weight: 500;
}

.privacyPage p {
    font-size: 1.5rem;
    color: #000000;
    line-height: 2;
}

.privacyPage .c-headHero {
    background: #FBF5F0;
    height: 230px;
}

.privacyPage .c-headHeroTitle__title,
.privacyPage .c-headHeroTitle__subTitle {
    color: #000000;
    text-shadow: none;
}

.privacyPage .c-headHeroTitle__subTitle span::after {
    background: #000;
    width: 400px;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -moz-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    -o-transform: translateX(-50%);
    margin-left: 0;
}

.privacyPage .l-contentSecondly {
    max-width: 1050px;
}

.shopDetail .shopDetail-tb {
    background: #FFFFFF80;
}

.shopDetail .c-tablePrimaryCell td:nth-child(1),
.shopDetail .c-headingTitle--minCho {
    color: #710705;
    font-weight: 600;
}

.shopDetail .p-menuListWrap h3 {
    color: #2D2D31;
    font-weight: 600;
    font-size: 2.8rem;
    margin-bottom: 20px;
}

.shopDetail-con .shopDetail-menu section {
    padding-bottom: 0;
}

.shopDetail-con .shopDetail-menu section .c-headingTitle--minCho {
    color: #000000;
}

.p-menuListWrap .p-menuList>li {
     -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -webkit-box-flex: 0;
    -ms-flex: 0 0 30.83333%;
    flex: 0 0 30.83333%;
    margin-left: 1.25%;
    margin-right: 1.25%;
    margin-bottom: 2.5%
}
section {
    overflow-x: hidden;
}

.shopDetail-info {
    position: relative;
    z-index: 1;
}

@media only screen and (max-width: 787px) {
    .p-menuListWrap .p-menuList>li {
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        -webkit-box-flex: 0;
        -ms-flex: 0 0 95%;
        flex: 0 0 95%;
        margin-left: 2.5%;
        margin-right: 2.5%;
        margin-bottom: 5%
    }

    .c-shopListDetailBoxData__info dl dt {
        color: #000;
    }

    .l-headerRollDown .l-headerLogo a {
        display: flex;
        display: inline-flex;
        align-items: center;
        justify-content: center;
    }
}

.l-headerTop .l-headerLogo img {
    width: 100%;
    height: auto;
}
