.bg-deco-shared {
    position: relative;
    z-index: 2
}

.bg-deco-shared::before {
    content: "";
    position: absolute;
    background: url("../img/shared/bg3.jpg") repeat center;
    inset: 25vw 0;
    z-index: -1
}

.bg-deco-shared .bg-deco-top {
    position: absolute;
    top: 0;
    left: -50%;
    right: -50%;
    height: 30vw
}

.bg-deco-shared .bg-deco-top img {
    width: 100%;
    height: 100%;
    -o-object-position: center top;
    object-position: center top
}

.bg-deco-shared .bg-deco-bot {
    position: absolute;
    bottom: 0;
    left: -50%;
    right: -50%;
    height: 30vw
}

.bg-deco-shared .bg-deco-bot img {
    width: 100%;
    height: 100%;
    -o-object-position: center bottom;
    object-position: center bottom
}

@media screen and (min-width: 768px) {
    .bg-deco-shared::before {
        inset: 300px 0
    }

    .bg-deco-shared .bg-deco-top {
        left: 0;
        right: 0;
        height: 303px
    }

    .bg-deco-shared .bg-deco-bot {
        left: 0;
        right: 0;
        height: 303px
    }
}

.shadow {
    box-shadow: -5px 5px 10px rgba(0, 0, 0, .16), 5px -5px 10px rgba(0, 0, 0, .16)
}

.btn-shared a {
    position: relative;
    display: block;
    text-align: center;
    border: 5px solid #cf964f;
    color: #4c4033;
    border-radius: 46.5px;
    padding: 11px 0 15px;
    font-size: 17.5px;
    line-height: 31px;
    letter-spacing: .09em
}

.btn-shared a::before {
    content: "";
    position: absolute;
    top: 50%;
    right: 21.5px;
    transform: translateY(-50%);
    background: #a46c2e;
    width: 8px;
    height: 9px;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
    clip-path: polygon(0 0, 0% 100%, 100% 50%)
}

.btn-shared.btn-popup a::before {
    background: url("../img/shared/icon_popup.png") no-repeat center/100%;
    width: 13px;
    height: 15px;
    -webkit-clip-path: unset;
    clip-path: unset
}

@media screen and (min-width: 768px) {
    .btn-shared a {
        border-width: 6px;
        border-radius: 38px;
        padding: 10px 0 13px;
        font-size: 21px;
        line-height: 48px
    }

    .btn-shared a::before {
        right: 50px;
        width: 9px;
        height: 10px;
        transition: .3s
    }

    .btn-shared a:hover::before {
        transform: translate(10px, -50%)
    }

    .btn-shared.btn-popup a::before {
        width: 23px;
        height: 27px
    }
}

.banner {
    position: relative;
    box-shadow: -5px 5px 10px rgba(0, 0, 0, .16), 5px -5px 10px rgba(0, 0, 0, .16)
}

.banner .deco {
    position: absolute;
    top: -6.5vw;
    left: 50%;
    z-index: 1;
    transform: translateX(-50%);
    width: 25.95%
}

.banner a {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    border: 2.4vw solid #fff;
    padding: 14.5vw 0
}

.banner a .photo {
    position: absolute;
    inset: 0
}

.banner a .photo img {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

.banner a .txt {
    position: relative;
    border-bottom: 1px solid rgba(255, 255, 255, .5);
    color: #fff;
    padding: 0 4vw 1vw 0;
    font-size: 4.9vw;
    font-weight: 500;
    line-height: 1;
    letter-spacing: .09em
}

.banner a .txt::before {
    content: "";
    position: absolute;
    top: 2vw;
    right: 1vw;
    width: 1.6vw;
    height: 1.6vw;
    background: #fff;
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 50%);
    clip-path: polygon(0 0, 0% 100%, 100% 50%)
}

@media screen and (min-width: 768px) {
    .banner .deco {
        top: -30px;
        width: auto
    }

    .banner a {
        overflow: hidden;
        border-width: 10px;
        padding: 54px 0 52px
    }

    .banner a .photo img {
        transition: .5s all ease-in-out
    }

    .banner a .txt {
        padding: 0 20px 7px 0;
        font-size: 21px
    }

    .banner a .txt::before {
        top: 6px;
        right: 3px;
        width: 7px;
        height: 8px
    }

    .banner a:hover .photo img {
        transform: scale(1.05)
    }
}

.btn-web a {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 8px;
    text-align: center;
    background: #c68738;
    color: #fff;
    border-radius: 40px;
    padding: 17px 0 20px;
    font-size: 17.5px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .07em
}

.btn-web a img {
    width: 25px
}

@media screen and (min-width: 768px) {
    .btn-web {
        width: 361px
    }

    .btn-web a {
        flex-direction: row;
        gap: 0;
        text-align: left;
        border-radius: 27px;
        line-height: 54px;
        padding: 0;
        font-size: 17px
    }

    .btn-web a img {
        display: block;
        box-sizing: content-box;
        border-right: 1px solid rgba(255, 255, 255, .4);
        padding: 4px 8px 4px 0;
        margin-right: 8px;
        width: 14px
    }

    .btn-web a:hover {
        opacity: .8
    }
}

#header {
    position: relative;
    z-index: 4;
    padding-bottom: 10vw
}

#header::before {
    content: "";
    position: absolute;
    height: 103.33vw;
    bottom: 0;
    left: 0;
    right: 4%;
    z-index: -1;
    background: rgba(255, 255, 255, .6);
    border-radius: 0 0 40px 0
}

#header h1 {
    position: absolute;
    top: 49vw;
    right: 4%;
    z-index: 1;
    text-align: right;
    opacity: .5;
    color: #fff;
    height: 106vw;
    font-size: 10.5px;
    line-height: 16.2px;
    letter-spacing: .09em
}

#header .logo {
    width: 71.33%;
    padding: 8.27vw 0;
    margin: 0 auto
}

#header .logo a {
    display: block
}

#header #key {
    pointer-events: none;
    margin-left: 4%
}

#header #key .item {
    height: 130.93vw
}

#header #key .item img {
    border-radius: 40px 0 0 40px;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover
}

#header .banner {
    width: 77.6%;
    margin: 10.67vw auto 0
}

@media screen and (min-width: 768px) {
    #header {
        padding: 0 50% 97px 0
    }

    #header::before {
        height: 443px;
        right: calc(50% - 107px);
        border-radius: 0 0 60px 0
    }

    #header h1 {
        top: auto;
        bottom: 188px;
        right: 38px;
        text-align: left;
        height: auto;
        font-size: 10px;
        line-height: 1
    }

    #header .logo {
        width: 321px;
        padding: 67px 0 34px
    }

    #header .btn-tel {
        text-align: center;
        font-size: 31.48px;
        line-height: 1;
        letter-spacing: .09em
    }

    #header .btn-tel img {
        width: 26.55px;
        margin: -8px 8px 0 0
    }

    #header .btn-web {
        margin: 20px auto 0
    }

    #header .nav-list {
        display: flex;
        justify-content: center;
        margin-top: 36px
    }

    #header .nav-list>li {
        position: relative;
        border-left: 1px solid #a7a8a1;
        width: 48px;
    }

    #header .nav-list>li>a {
        position: relative;
        display: block;
        height: 100%
    }

    #header .nav-list>li>a span {
        position: relative;
        cursor: pointer;
        display: block;
        color: #4c4033;
        font-size: 19px;
        line-height: 47px;
        letter-spacing: .09em
    }

    #header .nav-list>li>a span::before {
        content: "";
        position: absolute;
        top: -9px;
        bottom: -9px;
        left: 3px;
        right: 0;
        background: url("../img/shared/menu_active.png") no-repeat center top/100% 100%;
        opacity: 0
    }

    #header .nav-list>li>a:hover span::before,
    #header .nav-list>li>a.active span::before {
        opacity: 1
    }

    #header .nav-list>li:nth-child(5)>a span::before {
        background-image: url("../img/shared/bakery_active.png")
    }

    #header .nav-list>li:last-child {
        border-right: 1px solid #a7a8a1
    }

    #header .nav-list .parent>a:after {
        content: "";
        position: absolute;
        bottom: 45px;
        left: 50%;
        transform: translateX(-50%);
        background: url("../img/shared/icon_plus.png") no-repeat center/100%;
        width: 26px;
        height: 26px
    }

    #header .nav-list .parent .sub-menu {
        position: absolute;
        bottom: -237px;
        left: 50%;
        z-index: 2;
        transform: translateX(-50%);
        width: 368px;
        opacity: 0;
        pointer-events: none;
        transition: .3s
    }

    #header .nav-list .parent .sub-menu ul {
        background: url("../img/shared/bg1.jpg") repeat center;
        border: 10px solid #fff;
        padding: 18px 0 28px
    }

    #header .nav-list .parent .sub-menu ul li {
        border-bottom: 1px solid #a7a8a1;
        max-width: 280px;
        margin: 0 auto
    }

    #header .nav-list .parent .sub-menu ul li a {
        display: block;
        text-align: center;
        color: #4c4033;
        font-size: 19px;
        line-height: 47px;
        letter-spacing: .09em
    }

    #header .nav-list .parent .sub-menu ul li a:hover {
        opacity: .8
    }

    #header .nav-list .parent:hover>a:after {
        background-image: url("../img/shared/icon_minus.png")
    }

    #header .nav-list .parent:hover .sub-menu {
        opacity: 1;
        pointer-events: all
    }

    #header .hd-right {
        position: absolute;
        bottom: 188px;
        right: 68px;
        z-index: 1;
        display: flex !important;
        align-items: flex-end;
        gap: 17px
    }

    #header .group-link1 li a {
        display: block
    }

    #header .group-link1 li a img {
        display: block
    }

    #header .group-link1 li:nth-child(1) {
        width: 29px;
        margin: 0 auto 19px
    }

    #header .group-link1 li:nth-child(2) {
        width: 36px
    }

    #header .group-link2 {
        border: 1px solid #fff;
        display: flex
    }

    #header .group-link2 li a {
        display: block;
        text-align: center;
        height: 100px;
        color: #fff;
        font-size: 17.83px;
        line-height: 24px;
        letter-spacing: .09em
    }

    #header .group-link2 li a:hover {
        opacity: .8
    }

    #header .group-link2 li:nth-child(2) {
        border-top: 1px solid #fff
    }

    #header #key {
        position: absolute;
        top: 0;
        left: 50%;
        right: 0;
        margin-left: 0
    }

    #header #key .item {
        height: 875px
    }

    #header #key .item img {
        border-radius: 0 0 0 85px
    }

    #header .banner {
        width: 343px;
        margin: 46px auto 0
    }
}

#menu-toggle {
    position: fixed;
    inset: 0;
    z-index: 999;
    background: url("../img/shared/bg1.jpg") repeat center;
    overflow-y: auto;
    opacity: 0;
    pointer-events: none;
    transition: .3s
}

#menu-toggle .inner {
    padding: 60px 0 100px
}

#menu-toggle .col-r {
    padding: 0 10%
}

#menu-toggle .col-r .nav-list {
    margin: 0 3%
}

#menu-toggle .col-r .nav-list>li {
    border-top: 1px solid #a7a8a1
}

#menu-toggle .col-r .nav-list>li>a {
    position: relative;
    display: block;
    text-align: center
}

#menu-toggle .col-r .nav-list>li>a span {
    display: block;
    position: relative;
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    color: #4c4033;
    font-size: 16.5px;
    line-height: 42.5px;
    letter-spacing: .09em
}

#menu-toggle .col-r .nav-list>li>a span::before {
    content: "";
    position: absolute;
    background: url("../img/shared/menu_active_sp.png") no-repeat center/100% 100%;
    top: 0;
    left: -10px;
    right: -10px;
    bottom: 0;
    opacity: 0
}

#menu-toggle .col-r .nav-list>li>a.active span::before {
    opacity: 1
}

#menu-toggle .col-r .nav-list>li:last-child {
    border-bottom: 1px solid #a7a8a1
}

#menu-toggle .col-r .nav-list .parent>a {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px
}

#menu-toggle .col-r .nav-list .parent>a span {
    margin: 0
}

#menu-toggle .col-r .nav-list .parent>a:after {
    content: "";
    background: url("../img/shared/icon_plus.png") no-repeat center/100%;
    width: 21.5px;
    height: 21.5px
}

#menu-toggle .col-r .nav-list .parent .sub-menu {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding-bottom: 27.5px
}

#menu-toggle .col-r .nav-list .parent .sub-menu ul li {
    border-bottom: 1px dashed #a7a8a1
}

#menu-toggle .col-r .nav-list .parent .sub-menu ul li a {
    display: block;
    text-align: center;
    color: #4c4033;
    font-size: 16.5px;
    line-height: 40px;
    letter-spacing: .09em
}

#menu-toggle .col-r .nav-list2 {
    display: flex;
    justify-content: space-between;
    border: 1px solid #28221a;
    width: 80%;
    margin: 26px auto 0
}

#menu-toggle .col-r .nav-list2 li {
    width: 50%
}

#menu-toggle .col-r .nav-list2 li a {
    display: block;
    text-align: center;
    color: #4c4033;
    font-size: 16.5px;
    line-height: 42.5px;
    letter-spacing: .09em
}

#menu-toggle .col-r .nav-list2 li:nth-child(2) {
    border-left: 1px solid #28221a
}

#menu-toggle .col-r .banner {
    margin: 57px 0
}

#menu-toggle .col-l {
    background: rgba(255, 255, 255, .6);
    padding: 22px 0 44px
}

#menu-toggle .col-l .logo {
    width: 55%;
    margin: 0 auto
}

#menu-toggle .col-l .btn-tel {
    text-align: center;
    border-top: 1px solid #918a81;
    border-bottom: 1px solid #918a81;
    color: #4c4033;
    width: 64%;
    margin: 25px auto 0;
    padding: 13px 0 15px;
    font-size: 27.5px;
    line-height: 1;
    letter-spacing: .09em
}

#menu-toggle .col-l .btn-tel img {
    width: 23px;
    margin: -7px 7px 0 0
}

@media screen and (max-width: 767px) {
    #menu-toggle .col-r .nav-list .parent>a {
        pointer-events: none
    }

    #menu-toggle .col-r .nav-list .parent .sub-menu {
        display: none
    }

    #menu-toggle .col-r .nav-list .parent.active>a {
        pointer-events: all
    }

    #menu-toggle .col-r .nav-list .parent.active>a:after {
        background-image: url("../img/shared/icon_minus.png")
    }

    #menu-toggle .col-r .nav-list .parent.active .sub-menu {
        display: block
    }
}

@media screen and (min-width: 768px) {
    #menu-toggle {
        background: url("../img/shared/menu_toggle_line.png") no-repeat center top/auto 100%, url("../img/shared/bg1.jpg") repeat center
    }

    #menu-toggle .inner {
        display: flex;
        align-items: center;
        justify-content: space-between;
        max-width: 906px;
        margin: 0 auto;
        padding: 0;
        height: 100vh
    }

    #menu-toggle .col-r {
        order: 2;
        padding: 0
    }

    #menu-toggle .col-r .nav-list {
        display: flex;
        margin: 0
    }

    #menu-toggle .col-r .nav-list>li {
        position: relative;
        border-top: none;
        border-left: 1px solid #a7a8a1;
        width: 48px;
    }

    #menu-toggle .col-r .nav-list>li>a {
        cursor: pointer;
        text-align: left;
        height: 100%
    }

    #menu-toggle .col-r .nav-list>li>a span {
        cursor: pointer;
        width: auto;
        height: -moz-fit-content;
        height: fit-content;
        margin: 0;
        font-size: 19px;
        line-height: 47px
    }

    #menu-toggle .col-r .nav-list>li>a span::before {
        background-image: url("../img/shared/menu_active.png");
        top: -9px;
        bottom: -9px;
        left: 3px;
        right: 0
    }

    #menu-toggle .col-r .nav-list>li>a:hover span::before {
        opacity: 1
    }

    #menu-toggle .col-r .nav-list>li:nth-child(5)>a span::before {
        background-image: url("../img/shared/bakery_active.png")
    }

    #menu-toggle .col-r .nav-list>li:last-child {
        border-bottom: none;
        border-right: 1px solid #a7a8a1
    }

    #menu-toggle .col-r .nav-list .parent>a {
        display: block
    }

    #menu-toggle .col-r .nav-list .parent>a span {
        margin: 0
    }

    #menu-toggle .col-r .nav-list .parent>a:after {
        position: absolute;
        bottom: 45px;
        left: 50%;
        transform: translateX(-50%);
        width: 26px;
        height: 26px
    }

    #menu-toggle .col-r .nav-list .parent .sub-menu {
        position: absolute;
        bottom: -237px;
        left: 50%;
        z-index: 2;
        transform: translateX(-50%);
        width: 368px;
        margin: 0;
        padding: 0;
        opacity: 0;
        pointer-events: none;
        transition: .3s
    }

    #menu-toggle .col-r .nav-list .parent .sub-menu ul {
        background: url("../img/shared/bg1.jpg") repeat center;
        border: 10px solid #fff;
        padding: 18px 0 28px
    }

    #menu-toggle .col-r .nav-list .parent .sub-menu ul li {
        width: 280px;
        margin: 0 auto;
        border-style: solid
    }

    #menu-toggle .col-r .nav-list .parent .sub-menu ul li a {
        font-size: 19px;
        line-height: 47px
    }

    #menu-toggle .col-r .nav-list .parent .sub-menu ul li a:hover {
        opacity: .8
    }

    #menu-toggle .col-r .nav-list .parent:hover>a:after {
        background-image: url("../img/shared/icon_minus.png")
    }

    #menu-toggle .col-r .nav-list .parent:hover .sub-menu {
        opacity: 1;
        pointer-events: all
    }

    #menu-toggle .col-r .nav-list2 {
        position: absolute;
        top: 35px;
        right: 160px;
        width: 200px;
        margin: 0
    }

    #menu-toggle .col-r .nav-list2 li a {
        font-size: 18px;
        line-height: 24px
    }

    #menu-toggle .col-r .nav-list2 li a:hover {
        opacity: .8
    }

    #menu-toggle .col-r .banner {
        width: 332px;
        margin: 56px auto 0
    }

    #menu-toggle .col-l {
        order: 1;
        width: 450px;
        padding: 70px 0
    }

    #menu-toggle .col-l .logo {
        width: 282px
    }

    #menu-toggle .col-l .btn-tel {
        width: 272px;
        text-align: center;
        margin-top: 32px;
        padding: 8px 0 13px;
        font-size: 31.5px
    }

    #menu-toggle .col-l .btn-tel img {
        width: 26.5px;
        margin: -8px 8px 0 0
    }

    #menu-toggle .col-l .group-link {
        display: flex !important;
        align-items: center;
        justify-content: center;
        gap: 10px;
        margin-top: 10px
    }

    #menu-toggle .col-l .group-link li a {
        display: block
    }

    #menu-toggle .col-l .group-link li a img {
        display: block
    }

    #menu-toggle .col-l .group-link li:nth-child(1) {
        width: 29px
    }

    #menu-toggle .col-l .group-link li:nth-child(2) {
        width: 36px
    }

    #menu-toggle .col-l .btn-web {
        margin: 32px auto 0
    }
}

#footer {
    background: #433a2d;
    color: #fff;
    overflow: hidden
}

#footer .row1 {
    padding: 18.5vw 0
}

#footer .row1 .wrap {
    padding: 0
}

#footer .row1 .logo {
    width: 65.47%;
    margin: 0 auto
}

#footer .row1 .btn-tel {
    text-align: center;
    border-top: 1px solid rgba(249, 249, 249, .6);
    border-bottom: 1px solid rgba(249, 249, 249, .6);
    width: 72.4%;
    margin: 8vw auto 0;
    padding: 11px 0 14px;
    font-size: 27.5px;
    line-height: 1;
    letter-spacing: .09em
}

#footer .row1 .btn-tel img {
    width: 23px;
    margin: -7px 7px 0 0
}

#footer .row1 .txt {
    margin: 8.5vw -2% 0;
    font-size: 4.4vw;
    line-height: 1.45;
    letter-spacing: .1em
}

#footer .row1 .txt small {
    display: block;
    margin-bottom: 8px;
    font-size: 3.73vw
}

#footer .row1 .group-link {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 18.5px;
    margin-top: 9vw
}

#footer .row1 .group-link li a {
    display: block
}

#footer .row1 .group-link li a img {
    display: block
}

#footer .row1 .group-link li:nth-child(1) {
    width: 25.5px
}

#footer .row1 .group-link li:nth-child(2) {
    width: 31.5px
}

#footer .row1 .info {
    margin: 10.5vw 5.33% 0
}

#footer .row1 .info dl {
    display: flex;
    text-align: left;
    border-bottom: 1px solid #8c867f;
    padding: 10px 0;
    line-height: 22px
}

#footer .row1 .info dl dt {
    max-width: 27vw;
    width: 100%
}

#footer .row1 .info dl dd .btn-map {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    color: #bd885a
}

#footer .row1 .info dl dd .btn-map img {
    width: 9px;
    margin: -3px 3px 0 0
}

#footer .row2 {
    padding-bottom: 12vw
}

#footer .row2 .banner {
    width: 87%;
    margin: 0 auto
}

#footer .row2 .btn-web {
    margin-top: 10vw
}

#footer .row2 .col-l {
    text-align: center
}

#footer .row2 #socialbuttons {
    margin-top: 11.5vw
}

#footer .row2 .btn-copy {
    width: -moz-fit-content;
    width: fit-content;
    margin: 5.5vw auto 0
}

#footer .row2 .btn-copy a {
    position: relative;
    display: block;
    padding-left: 20px;
    line-height: 1;
    letter-spacing: .09em
}

#footer .row2 .btn-copy a::before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    background: url("../img/shared/icon_copy.png") no-repeat;
    background-size: 100%;
    width: 14px;
    height: 13.5px
}

#footer .row2 address {
    margin-top: 6vw;
    line-height: 25.5px;
    letter-spacing: .09em
}

#footer .row2 .btn-cookie {
    line-height: 1
}

#footer .row2 .btn-cookie a {
    text-decoration: underline;
    color: #afa28f;
    font-size: 11.5px;
    letter-spacing: .09em
}

#footer .pagetop a {
    background: #28221a;
    display: block;
    padding: 5vw 0 30vw
}

#footer .pagetop a img {
    display: block;
    width: 22.8%;
    margin: 0 auto
}

@media screen and (min-width: 768px) {
    #footer .row1 {
        border-bottom: 1px solid rgba(255, 255, 255, .21);
        padding: 93px 0 87px
    }

    #footer .row1 .logo {
        width: 321px;
        margin-top: 0px
    }

    #footer .row1 .txt {
        margin: 25px 0 0;
        font-size: 16px;
        line-height: 25px
    }

    #footer .row1 .txt small {
        font-size: 16px
    }

    #footer .row1 .btn-tel {
        width: 310px;
        margin-top: 26px;
        padding: 11px 0 18px;
        font-size: 31.5px
    }

    #footer .row1 .btn-tel img {
        width: 26.5px;
        margin: -8px 8px 0 0
    }

    #footer .row1 .group-link {
        gap: 21px;
        margin-top: 23px
    }

    #footer .row1 .group-link li:nth-child(1) {
        width: 29px
    }

    #footer .row1 .group-link li:nth-child(2) {
        width: 36px
    }

    #footer .row1 .info {
        width: 570px;
        margin: 26px auto 0
    }

    #footer .row1 .info dl {
        padding: 12px 0;
        line-height: 25px
    }

    #footer .row1 .info dl dt {
        max-width: 112px
    }

    #footer .row1 .info dl dd .btn-map {
        border-bottom: 1px solid rgba(0, 0, 0, 0)
    }

    #footer .row1 .info dl dd .btn-map img {
        width: 10px
    }

    #footer .row1 .info dl dd .btn-map:hover {
        border-color: #bd885a
    }

    #footer .row2 {
        padding: 53px 0 68px
    }

    #footer .row2 .wrap {
        display: flex;
        justify-content: space-between;
        max-width: 1345px;
        padding: 0 30px
    }

    #footer .row2 .col-r {
        order: 2
    }

    #footer .row2 .banner {
        width: 333px;
        margin: 84px auto 0
    }

    #footer .row2 .banner a {
        padding: 64px 0 60px
    }

    #footer .row2 .btn-web {
        margin: 34px 0 0
    }

    #footer .row2 .col-l {
        text-align: left
    }

    #footer .row2 .nav-list {
        display: flex;
        gap: 10px
    }

    #footer .row2 .nav-list ul li a {
        position: relative;
        width: -moz-fit-content;
        width: fit-content;
        display: block;
        font-size: 18px;
        line-height: 44px;
        letter-spacing: .09em
    }

    #footer .row2 .nav-list ul li a::after {
        content: "";
        position: absolute;
        bottom: 7px;
        left: 20px;
        right: 0;
        background: #fff;
        height: 1px;
        opacity: 0
    }

    #footer .row2 .nav-list ul li a:hover::after,
    #footer .row2 .nav-list ul li a.active::after {
        opacity: 1
    }

    #footer .row2 .nav-list ul li .sub-menu {
        position: relative;
        margin-left: 10px
    }

    #footer .row2 .nav-list ul li .sub-menu::before {
        content: "";
        position: absolute;
        top: 0;
        bottom: 20px;
        left: 0;
        background: #fff;
        width: 1px
    }

    #footer .row2 .nav-list ul li .sub-menu li a {
        padding-left: 22px
    }

    #footer .row2 .nav-list ul li .sub-menu li a::before {
        content: "";
        position: absolute;
        top: calc(50% + 2px);
        left: 0;
        transform: translateY(-50%);
        background: #fff;
        height: 1px;
        width: 13px
    }

    #footer .row2 .flex {
        display: flex;
        align-items: center;
        gap: 18px;
        margin-top: 40px
    }

    #footer .row2 #socialbuttons {
        margin-top: 0
    }

    #footer .row2 .btn-copy {
        margin: 0
    }

    #footer .row2 .btn-copy a {
        padding-left: 22px
    }

    #footer .row2 .btn-copy a::before {
        width: 16px;
        height: 16px
    }

    #footer .row2 .btn-copy a:hover {
        text-decoration: underline
    }

    #footer .row2 address {
        margin: 19px 0 5px
    }

    #footer .row2 .btn-cookie a {
        font-size: 13px
    }

    #footer .row2 .btn-cookie a:hover {
        text-decoration: none
    }

    #footer .pagetop a {
        padding: 22px 0 12px
    }

    #footer .pagetop a img {
        width: 99px
    }
}

@media screen and (min-width: 768px) and (max-width: 1200px) {
    #footer .row1 .info {
        max-width: 590px;
    }
}

#fixed-pc {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    z-index: 999;
    background: #fff;
    border-radius: 0 0 20px 20px;
    height: 93px;
    opacity: 0;
    pointer-events: none;
    display: flex !important;
    align-items: center;
    transition: .3s
}

#fixed-pc .btn-tel {
    margin: 0 20px;
    color: #4c4033;
    font-size: 29.5px;
    line-height: 1;
    letter-spacing: .09em
}

#fixed-pc .btn-tel img {
    width: 24.5px;
    margin: -8px 8px 0 0
}

#fixed-pc .btn-web {
    width: 295px
}

#fixed-pc .btn-map {
    position: absolute;
    top: 50%;
    right: 126px;
    transform: translateY(-50%);
    width: 29px
}

#fixed-pc .btn-map a {
    display: block
}

#fixed-pc .btn-map a img {
    display: block
}

#fixed-pc .hamburger {
    position: absolute;
    top: 0;
    right: 0;
    cursor: pointer;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 126px;
    height: 100%;
    transition: .3s
}

#fixed-pc .hamburger .inner {
    position: relative;
    width: 76px;
    height: 31px
}

#fixed-pc .hamburger .inner span {
    position: absolute;
    left: 0;
    display: block;
    background: #4c4033;
    height: 1px;
    width: 100%;
    transition: .3s
}

#fixed-pc .hamburger .inner span:nth-child(1) {
    top: 0
}

#fixed-pc .hamburger .inner span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%)
}

#fixed-pc .hamburger .inner span:nth-child(3) {
    bottom: 0
}

#fixed-pc .hamburger.is-active {
    background: #4c4033;
    width: 133px
}

#fixed-pc .hamburger.is-active .inner span {
    background: #fff
}

#fixed-pc .hamburger.is-active .inner span:nth-child(1) {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(30deg)
}

#fixed-pc .hamburger.is-active .inner span:nth-child(2) {
    opacity: 0
}

#fixed-pc .hamburger.is-active .inner span:nth-child(3) {
    top: 50%;
    bottom: auto;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-30deg)
}

#fixed-pc .hamburger:hover {
    opacity: .8
}

#ft-bnr-fixed {
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 1000
}

#ft-bnr-fixed ul {
    position: relative;
    display: flex;
    justify-content: space-between
}

#ft-bnr-fixed ul::before {
    content: "";
    position: absolute;
    top: 0;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    background: #8b8783;
    width: 1px
}

#ft-bnr-fixed ul li {
    background: #fff;
    color: #4c4033;
    width: 25%;
    height: 62px
}

#ft-bnr-fixed ul li a {
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    text-align: center;
    gap: 8px;
    height: 100%;
    font-size: 12.5px;
    font-weight: 600;
    line-height: 1;
    letter-spacing: .07em
}

#ft-bnr-fixed ul li a img {
    width: auto;
    height: 20px
}

#ft-bnr-fixed ul li:nth-child(1),
#ft-bnr-fixed ul li:nth-child(4) {
    background: #cf964f;
    color: #fff
}

#ft-bnr-fixed ul li:nth-child(1) {
    border-radius: 20px 0 0 0
}

#ft-bnr-fixed ul li:nth-child(3) a img {
    display: block;
    width: 31.5px;
    height: auto
}

#ft-bnr-fixed ul li:nth-child(4) {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 0 20px 0 0;
    transition: .3s
}

#ft-bnr-fixed ul li:nth-child(4) .inner {
    position: relative;
    width: 50px;
    height: 21.5px
}

#ft-bnr-fixed ul li:nth-child(4) .inner span {
    position: absolute;
    left: 0;
    display: block;
    background: #fff;
    height: 1px;
    width: 100%;
    transition: .3s
}

#ft-bnr-fixed ul li:nth-child(4) .inner span:nth-child(1) {
    top: 0
}

#ft-bnr-fixed ul li:nth-child(4) .inner span:nth-child(2) {
    top: 50%;
    transform: translateY(-50%)
}

#ft-bnr-fixed ul li:nth-child(4) .inner span:nth-child(3) {
    bottom: 0
}

#ft-bnr-fixed ul li:nth-child(4).is-active {
    background: #4c4033
}

#ft-bnr-fixed ul li:nth-child(4).is-active .inner span:nth-child(1) {
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%) rotate(30deg)
}

#ft-bnr-fixed ul li:nth-child(4).is-active .inner span:nth-child(2) {
    opacity: 0
}

#ft-bnr-fixed ul li:nth-child(4).is-active .inner span:nth-child(3) {
    top: 50%;
    bottom: auto;
    left: 50%;
    transform: translate(-50%, -50%) rotate(-30deg)
}