#header #key .key-scroll .sl img {
    width: 310vw;
}
#rss {
    padding: 3vw 0 20vw;
    position: relative;
}
#rss::before {
    content: "";
    background: url(../img/shared/bg2.jpg);
    position: absolute;
    top: 0;
    width: 51%;
    left: 0;
    height: 79vw;
    z-index: -1;
}
#rss h2 {
    width: 61%;
    margin: 0 0 0 auto;
}
#rss .gr-header {
    display: flex;
    align-items: center;
    margin: 2px 0 7vw;
}
#rss .gr-header h3 {
    flex: 1;
    overflow: hidden;
}
#rss .gr-header h3 span {
    font-size: 32px;
    font-weight: 500;
    letter-spacing: 0.1em;
    display: inline-block;
    position: relative;
}
#rss .gr-header h3 span::before {
    content: "";
    border-top: 2px solid #000;
    position: absolute;
    top: 50%;
    left: calc(100% + 7px);
    right: -1000px;
}
#rss .gr-header .btn-blog {
    margin: -7px -2vw 0 5vw;
}
#rss .gr-header .btn-blog a {
    width: 112px;
    font-size: 12px;
    padding: 0px 20px;
    line-height: 28px;
}
#rss .gr-header .btn-blog a::after {
    top: 0px;
    right: 16px;
    width: 6px;
}
#rss .rss-content {
    position: relative;
}
#rss .rss-content .feed {
    padding-bottom: 22px;
}
#rss .rss-content .feed .row {
    width: 53.3vw;
}
#rss .rss-content .feed .row:not(:last-child) {
    margin-right: 45px;
}
#rss .rss-content .feed .row .rss-img span,
#rss .rss-content .feed .row .rss-img img {
    width: 100% !important;
    height: 45vw !important;
    -o-object-fit: cover;
    object-fit: cover;
}
#rss .rss-content .feed .row .rss-detail {
    text-align: center;
    margin-top: 6px;
    line-height: 30px;
}
#rss .rss-content .feed .row .rss-detail dt {
    font-size: 14px;
    color: #7c7c7b;
}
#rss .rss-content .feed .row .rss-detail dd a {
    font-size: 16px;
}
#rss .rss-content .swiper-scrollbar {
    background: #c9c6c2;
    top: auto;
    bottom: 0;
    left: 0;
    width: auto;
    right: 0;
    height: 1px;
}
#rss .rss-content .swiper-scrollbar .swiper-scrollbar-drag {
    background: none;
}
#sec1 .item1 {
    position: relative;
    margin-bottom: 8vw;
}
#sec1 .item1 .gr-pt {
    margin: 0 -5.3vw;
    position: relative;
}
#sec1 .item1 .gr-pt h3 {
    position: absolute;
    top: 31.5vw;
    left: 5%;
    color: #fff;
    font-size: 4.7vw;
    letter-spacing: 0.1em;
    line-height: 2.7;
}
#sec1 .item1 .gr-pt h3 span {
    letter-spacing: 0.1em;
}
#sec1 .item1 h2 {
    position: absolute;
    top: 11.5vw;
    right: 0.5%;
    width: 20%;
}
#sec1 .item1 .catch {
    position: absolute;
    right: -5vw;
    bottom: -6vw;
    width: 70%;
}
#sec2 {
    padding: 37vw 0 39vw;
    position: relative;
}
#sec2::before {
    content: "";
    background: url(../img/index/sec2_deco_sp.png) no-repeat right top/100% auto;
    position: absolute;
    top: 12vw;
    right: 0;
    width: 43%;
    height: 16vw;
    z-index: -1;
}
#sec2::after {
    content: "";
    background: url(../img/index/sec2_deco2_sp.png) no-repeat right bottom/100% auto;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 9vw;
    width: 46%;
    z-index: -1;
}
#sec2 .item1 {
    position: relative;
}
#sec2 .item1 .photo {
    width: 51%;
    margin-left: auto;
}
#sec2 .item1 h2 {
    position: absolute;
    top: -13vw;
    left: 4%;
    width: 33.5%;
}
#sec2 .item2 {
    position: relative;
    margin-bottom: 9vw;
}
#sec2 .item2 .photo {
    margin: -14.5vw 41% 0 -27vw;
}
#sec2 .item2 .gr-txt h3 {
    font-size: 7.5vw;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing: 0.1em;
    position: absolute;
    top: 33vw;
    right: 0;
}
#sec2 .item3 {
    position: relative;
}
#sec2 .item3 .photo {
    margin: 0 0 11vw -5.3vw;
}
#sec2 .item3 .catch {
    position: absolute;
    top: 35.5vw;
    left: -3%;
    width: 62%;
    z-index: 2;
}
#sec3 {
    padding-bottom: 24vw;
}
#sec3 .item1 {
    position: relative;
}
#sec3 .item1::before {
    content: "";
    background: url(../img/shared/bg2.jpg);
    position: absolute;
    top: 49vw;
    right: 7%;
    bottom: -44vw;
    left: -6vw;
    z-index: -1;
}
#sec3 .item1 .photo img {
    height: 102vw;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 62% 50%;
    object-position: 62% 50%;
}
#sec3 .item1 h2 {
    width: 33%;
    margin: 7vw 0 4vw 9%;
}
#sec3 .item1 .deco-img {
    position: absolute;
    right: -25%;
    bottom: -56vw;
    left: 35%;
}
#sec3 .item2 {
    position: relative;
}
#sec3 .item2 h3 {
    font-size: 7.5vw;
    line-height: 2;
    font-weight: 500;
    letter-spacing: 0.1em;
    position: relative;
    z-index: 2;
}
#sec3 .item2 h3 span {
    margin-left: 11vw;
    letter-spacing: 0.1em;
}
#sec3 .item2 .deco-img {
    margin: -11vw 20% -4vw 11%;
}
#sec3 .item2 .catch {
    position: absolute;
    top: -38vw;
    right: 0%;
    width: 51%;
    z-index: 2;
}
#sec3 .item2 .btn-link {
    margin-top: 9vw;
}
#sec4 .set1 {
    background: url(../img/index/sec4_bg_sp.jpg) no-repeat center top/cover;
    padding: 60vw 0 21vw;
    color: #fff;
    position: relative;
}
#sec4 .set1 .wrap {
    padding: 0 10.3%;
}
#sec4 .set1 h2 {
    width: 37%;
}
#sec4 .set1 h3 {
    margin-top: 7vw;
    font-size: 7.5vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    line-height: 1.45;
}
#sec4 .set1 .catch {
    position: absolute;
    right: 4%;
    bottom: -8vw;
    width: 49%;
}
#sec4 .set2 {
    padding: 11vw 0 0;
}
#sec4 .set2 .left-content {
    margin: 0 5.3% 20vw;
}
#sec4 .set2 .card-list {
    display: flex;
    gap: 23px;
    will-change: transform;
    padding: 0 5.3%;
}
#sec4 .set2 .card-list .card {
    overflow: hidden;
    flex-shrink: 0;
    transform: translateY(70px);
    opacity: 0.3;
    transition:
        transform 0.8s cubic-bezier(0.25, 1, 0.5, 1),
        opacity 0.8s ease;
    will-change: transform, opacity;
    width: 69vw;
    position: relative;
}
#sec4 .set2 .card-list .card.is-active {
    transform: translateY(0);
    opacity: 1;
}
#sec4 .set2 .card-list .card .photo img {
    border-radius: 22px;
}
#sec4 .set2 .card-list .card .tit {
    font-size: 4.4vw;
    letter-spacing: 0.1em;
    font-weight: 500;
    color: #fff;
    position: absolute;
}
#sec4 .set2 .card-list .card1 {
    opacity: 1;
    transform: translateY(0);
}
#sec4 .set2 .card-list .card1 .tit {
    top: 18vw;
    right: 11%;
    white-space: nowrap;
}
#sec4 .set2 .card-list .card2 .tit {
    right: 8.5%;
    bottom: 25vw;
}
#sec4 .set2 .card-list .card3 .tit {
    top: 18vw;
    right: 22%;
    white-space: nowrap;
}
#sec4 .set2 .card-list .card4 .tit {
    top: 15vw;
    left: 13%;
}
#sec4 .set2 .card-list .card5 .tit {
    top: 17vw;
    right: 30%;
    white-space: nowrap;
}
#sec4 .set2 .card-list .card6 .tit {
    top: 7vw;
    left: 10%;
}
#sec4 .set3 {
    position: relative;
    padding: 29vw 0 23vw;
}
#sec4 .set3::before {
    content: "";
    background: url(../img/index/sec4_deco_sp.png) no-repeat left top/100% auto;
    position: absolute;
    top: 7vw;
    left: 6%;
    width: 37%;
    bottom: 0;
    z-index: -1;
}
#sec4 .set3 .btn-link a {
    font-size: 16px;
}
#sec4 .set3 .btn-link a::after {
    top: 0px;
    right: 25px;
    width: 9px;
}
#shopinfo {
    position: relative;
    padding: 11vw 0 17vw;
}
#shopinfo::before {
    content: "";
    border-top: 2px solid #000;
    position: absolute;
    top: 0;
    right: 5.3%;
    left: 5.3%;
}
#shopinfo .set1 .item1 {
    margin-bottom: 7vw;
}
#shopinfo .set1 .item1 .right {
    text-align: center;
}
#shopinfo .set1 .item1 .right .logo {
    width: 28%;
    margin: 0 auto 20px;
}
#shopinfo .set1 .item1 .right .btn-web {
    margin-top: 15px;
}
#shopinfo .set1 .item1 .left {
    position: relative;
}
#shopinfo .set1 .item1 .left .photo {
    margin: 9vw 4% 0;
}
#shopinfo .set1 .item1 .left .catch {
    position: absolute;
    top: -10vw;
    left: -4%;
    width: 85%;
}
#shopinfo .set1 .item2 {
    text-align: center;
    padding-bottom: 9vw;
    border-bottom: 2px solid #000;
}
#shopinfo .set1 .item2 h3 {
    font-size: 5.1vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    padding-bottom: 4vw;
    margin-bottom: 4vw;
    position: relative;
}
#shopinfo .set1 .item2 h3::before {
    content: "";
    border-top: 1px solid #000;
    position: absolute;
    right: 5%;
    bottom: 0;
    left: 5%;
}
#shopinfo .set1 .item2 .txt {
    line-height: 25px;
}
#shopinfo .set2 {
    padding: 3vw 0 0;
}
#shopinfo .set2 .list .col dl {
    line-height: 25px;
    padding: 11px 0;
    border-bottom: 1px solid #9e9e9d;
}
#gmap {
    padding-bottom: 16vw;
}
#gmap .map {
    height: 480px;
}
#gmap .map iframe {
    width: 100%;
    height: 100%;
}
#gmap .btn-map {
    margin-top: 9vw;
}
#gmap .btn-map a {
    width: 71%;
    margin: 0 auto;
    padding: 9px 20px;
}
#gmap .btn-map a::after {
    right: 25px;
}
#sec5 {
    background:
        url(../img/index/sec5_bg_sp.jpg) no-repeat center top/100% auto,
        url(../img/shared/bg2.jpg);
    padding: 27vw 0 30vw;
}
#sec5 .item1 h2 {
    text-align: center;
    font-size: 5.3vw;
    font-weight: 500;
    letter-spacing: 0.1em;
    margin-bottom: 6vw;
}
#sec5 .item1 h2 span {
    letter-spacing: 0.1em;
}
#sec5 .item1 h2 .t1 {
    font-size: 7.5vw;
    display: inline-block;
    position: relative;
    padding: 0 35px;
    margin-bottom: 6.5vw;
}
#sec5 .item1 h2 .t1::before {
    content: "";
    border-top: 1px solid #000;
    width: 20px;
    position: absolute;
    top: 50%;
    left: 0;
}
#sec5 .item1 h2 .t1::after {
    content: "";
    border-top: 1px solid #000;
    width: 20px;
    position: absolute;
    top: calc(50% + 7px);
    left: 0;
}
#sec5 .item1 h2 .t1 span::before {
    content: "";
    border-top: 1px solid #000;
    width: 20px;
    position: absolute;
    top: 50%;
    right: 0;
}
#sec5 .item1 h2 .t1 span::after {
    content: "";
    border-top: 1px solid #000;
    width: 20px;
    position: absolute;
    top: calc(50% + 7px);
    right: 0;
}
#sec5 .item1 .gr {
    display: flex;
}
#sec5 .item1 .gr .txt {
    font-size: 3.5vw;
    line-height: 2;
    flex: 1;
    margin: 7vw 6% 0 0;
}
#sec5 .item1 .gr .logo {
    width: 35%;
}
#sec5 .item2 .floormap {
    margin: -4vw -9.5% 8vw -9%;
}
#sec5 .item2 .gr-txt .bnr {
    margin: 17vw 4% 0;
}
@media screen and (min-width: 768px) {
    #header {
        padding-bottom: 24px;
    }
    #header #key {
        height: 1000px;
    }
    #header #key .key-pc .inner {
        margin-left: 750px;
    }
    #header #key .key-pc .inner img {
        width: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }
    #header #key .key-pc .sl1 {
        width: 74.1333333333%;
        margin: 0 auto;
        position: relative;
        z-index: 1;
    }
    #header #key .key-pc .sl1 img {
        height: 382px;
    }
    #header #key .key-pc .sl2 {
        width: 40.4%;
        margin: -68px 0 0 auto;
    }
    #header #key .key-pc .sl2 img {
        height: 259px;
    }
    #header #key .key-pc .sl3 {
        width: 51.6%;
        margin: -143px 0 0;
        position: relative;
        z-index: 1;
    }
    #header #key .key-pc .sl3 img {
        height: 269px;
    }
    #header #key .key-pc .sl4 {
        width: 77.0666666667%;
        margin: -123px 0 0 auto;
    }
    #header #key .key-pc .sl4 img {
        height: 412px;
    }
    #header #key .key-pc .sl5 {
        position: absolute;
        top: 148px;
        left: 0;
        width: 342px;
    }
    #rss {
        padding: 150px 0 139px;
    }
    #rss::before {
        top: 46px;
        width: calc(50% - 350px);
        height: auto;
        bottom: 49px;
    }
    #rss h2 {
        width: auto;
        margin: 0;
        position: absolute;
        top: -134px;
        left: -84px;
        z-index: 1;
    }
    #rss .gr-header {
        justify-content: flex-end;
        margin: 0 16px 25px 0;
    }
    #rss .gr-header h3 {
        flex: none;
        overflow: visible;
    }
    #rss .gr-header h3 span {
        font-size: 36px;
    }
    #rss .gr-header h3 span::before {
        top: 58%;
        right: calc(100% + 28px);
        left: auto;
        width: 233px;
    }
    #rss .gr-header .btn-blog {
        margin: 0 0 0 37px;
    }
    #rss .gr-header .btn-blog a {
        width: 130px;
        font-size: 13px;
        padding: 0px 20px;
        line-height: 32px;
    }
    #rss .gr-header .btn-blog a::after {
        top: 0px;
        right: 19px;
    }
    #rss .rss-content .feed {
        padding-bottom: 22px;
        --f-columns: 3;
        --f-gap: 50px;
        display: grid;
        grid-template-columns: repeat(var(--f-columns), 1fr);
        gap: var(--f-gap);
    }
    #rss .rss-content .feed .row {
        width: 100%;
    }
    #rss .rss-content .feed .row:not(:last-child) {
        margin-right: 0;
    }
    #rss .rss-content .feed .row .rss-img span,
    #rss .rss-content .feed .row .rss-img img {
        height: 250px !important;
    }
    #rss .rss-content .feed .row .rss-img:hover {
        opacity: 0.8;
    }
    #rss .rss-content .feed .row .rss-detail {
        margin-top: 14px;
        line-height: 32px;
    }
    #rss .rss-content .feed .row .rss-detail dt {
        font-size: 16px;
    }
    #rss .rss-content .feed .row .rss-detail dd a {
        font-size: 19px;
    }
    #rss .rss-content .feed .row .rss-detail dd a:hover {
        text-decoration: underline;
        text-underline-offset: 3px;
    }
    #sec1 .item1 {
        margin-bottom: 71px;
    }
    #sec1 .item1 .gr-pt {
        margin: 0 0 0 221px;
    }
    #sec1 .item1 .gr-pt h3 {
        top: 244px;
        left: 74px;
        font-size: 29px;
        line-height: 47px;
    }
    #sec1 .item1 .gr-pt h3 span {
        margin: 21px 0 0 234px;
        display: inline-block;
    }
    #sec1 .item1 .gr-pt .photo {
        margin-right: -201px;
        height: 650px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1399px) {
    #sec1 .item1 .gr-pt .photo {
        margin-right: calc(-50vw + 50%);
    }
}
@media screen and (min-width: 768px) {
    #sec1 .item1 h2 {
        top: 84px;
        right: auto;
        width: auto;
        left: -225px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
    #sec1 .item1 h2 {
        left: calc(-50vw + 50% - 100px);
    }
}
@media screen and (min-width: 768px) {
    #sec1 .item1 .catch {
        right: auto;
        bottom: -171px;
        left: -43px;
        width: auto;
    }
}
@media screen and (min-width: 768px) {
    #sec1 .item2 .txt {
        margin: 0 -40px 0 343px;
        position: relative;
        z-index: 2;
    }
}
@media screen and (min-width: 768px) {
    #sec2 {
        padding: 0 0 157px;
        margin-top: -149px;
    }
    #sec2::before {
        background: url(../img/index/sec2_deco.png) no-repeat;
        top: 230px;
        right: calc(50% - 733px);
        width: 364px;
        height: 129px;
    }
    #sec2::after {
        content: none;
    }
    #sec2 .item1 .photo {
        width: auto;
        margin: 0 728px 0 -184px;
        height: 640px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1368px) {
    #sec2 .item1 .photo {
        margin-left: calc(-50vw + 50%);
    }
}
@media screen and (min-width: 768px) {
    #sec2 .item1 h2 {
        top: 277px;
        left: 422px;
        width: auto;
    }
}
@media screen and (min-width: 768px) {
    #sec2 .item2 {
        margin-bottom: 49px;
    }
    #sec2 .item2 .photo {
        margin: 0;
        position: absolute;
        top: -33px;
        left: -84px;
    }
    #sec2 .item2 .gr-txt h3 {
        font-size: 40px;
        line-height: 58px;
        position: static;
        margin: -175px 0 0 530px;
    }
    #sec2 .item2 .gr-txt .txt {
        margin: 73px -57px 0 auto;
        width: 444px;
    }
}
@media screen and (min-width: 768px) {
    #sec2 .item3 .gr {
        display: flex;
    }
    #sec2 .item3 .photo {
        flex: 1;
        margin: 0 0 0 -135px;
        height: 350px;
    }
}
@media screen and (min-width: 768px) and (max-width: 1270px) {
    #sec2 .item3 .photo {
        margin-left: calc(-50vw + 50%);
    }
}
@media screen and (min-width: 768px) {
    #sec2 .item3 .btn-link {
        margin: 52px -58px 0 72px;
        position: relative;
        z-index: 3;
    }
}
@media screen and (min-width: 768px) {
    #sec2 .item3 .catch {
        top: 109px;
        left: 504px;
        width: auto;
    }
}
@media screen and (min-width: 768px) {
    #sec3 {
        padding-bottom: 159px;
        position: relative;
    }
    #sec3::before {
        content: "";
        background: url(../img/index/sec3_deco.png) no-repeat;
        width: 275px;
        height: 137px;
        position: absolute;
        bottom: 178px;
        left: calc(50% + 363px);
    }
    #sec3 .item1::before {
        top: 155px;
        right: calc(-50vw + 50%);
        bottom: -248px;
        left: calc(50% - 46px);
    }
    #sec3 .item1 .photo {
        margin: 0 276px 0 -250px;
    }
    #sec3 .item1 .photo img {
        height: 580px;
        width: 100%;
        -o-object-position: center;
        object-position: center;
    }
    #sec3 .item1 h2 {
        width: auto;
        margin: 0;
        position: absolute;
        bottom: -16px;
        right: 58px;
    }
    #sec3 .item1 .deco-img {
        right: -325px;
        bottom: -51px;
        left: auto;
    }
    #sec3 .item2 {
        padding: 70px 0 0;
    }
    #sec3 .item2 .gr {
        display: flex;
        justify-content: space-between;
        flex-direction: row-reverse;
    }
    #sec3 .item2 h3 {
        font-size: 40px;
        line-height: 81px;
        margin: -13px 4px 0 0;
        position: relative;
        z-index: 2;
    }
    #sec3 .item2 h3 span {
        margin-left: 139px;
    }
    #sec3 .item2 .txt {
        width: 460px;
        margin-left: -49px;
        position: relative;
        z-index: 2;
    }
    #sec3 .item2 .deco-img {
        margin: 0;
        position: absolute;
        top: -62px;
        left: 272px;
    }
    #sec3 .item2 .catch {
        top: 172px;
        right: -91px;
        width: auto;
        z-index: 1;
    }
    #sec3 .item2 .btn-link {
        margin-top: 54px;
    }
}
@media screen and (min-width: 768px) {
    #sec4 .set1 {
        background: url(../img/index/sec4_bg.jpg) no-repeat center top/cover;
        padding: 366px 0 139px;
    }
    #sec4 .set1 .wrap {
        padding: 0;
    }
    #sec4 .set1 h2 {
        width: auto;
        margin-left: 207px;
    }
    #sec4 .set1 h3 {
        margin: -17px 0 0 -95px;
        font-size: 40px;
        line-height: 58px;
    }
    #sec4 .set1 .catch {
        right: calc(50% + 61px);
        bottom: -126px;
        width: auto;
    }
    #sec4 .set2 {
        padding: 94px 0 0;
    }
    #sec4 .set2 .content {
        display: flex;
        width: -moz-max-content;
        width: max-content;
        margin-left: calc(50% - 600px);
    }
    #sec4 .set2 .left-content {
        margin: 84px 78px 0 0;
        width: 450px;
        flex-shrink: 0;
    }
    #sec4 .set2 .card-list {
        gap: 40px;
        flex-shrink: 0;
        padding: 0 450px 0 0;
    }
    #sec4 .set2 .card-list .card {
        transform: translateY(110px);
        width: 450px;
    }
    #sec4 .set2 .card-list .card .photo img {
        border-radius: 44px;
    }
    #sec4 .set2 .card-list .card .tit {
        font-size: 29px;
        line-height: 47px;
    }
    #sec4 .set2 .card-list .card1 {
        opacity: 1;
        transform: translateY(0);
    }
    #sec4 .set2 .card-list .card1 .tit {
        top: 122px;
        right: 56px;
    }
    #sec4 .set2 .card-list .card2 .tit {
        right: 40px;
        bottom: 174px;
    }
    #sec4 .set2 .card-list .card3 .tit {
        top: 114px;
        right: 100px;
    }
    #sec4 .set2 .card-list .card4 .tit {
        top: 97px;
        left: 60px;
    }
    #sec4 .set2 .card-list .card5 .tit {
        top: 108px;
        right: 149px;
    }
    #sec4 .set2 .card-list .card6 .tit {
        top: 52px;
        left: 46px;
    }
    #sec4 .set3 {
        padding: 111px 0 159px;
    }
    #sec4 .set3::before {
        background: url(../img/index/sec4_deco.png) no-repeat;
        height: 154px;
        top: 10px;
        left: calc(50% - 702px);
        width: 304px;
        bottom: auto;
    }
    #sec4 .set3 .btn-link a {
        font-size: 23px;
        width: 526px;
    }
    #sec4 .set3 .btn-link a::after {
        right: 42px;
        width: 12px;
    }
    #sec4 .set3 .btn-link a:hover::before {
        transform: translate(-50%, -50%) scale(60);
    }
}
@media screen and (min-width: 768px) {
    #shopinfo {
        padding: 90px 0 66px;
    }
    #shopinfo::before {
        right: calc(50% - 600px);
        left: calc(50% - 600px);
    }
    #shopinfo .set1 .item1 {
        margin-bottom: 48px;
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    #shopinfo .set1 .item1 .right {
        width: 305px;
        margin: 20px 68px 0 0;
    }
    #shopinfo .set1 .item1 .right .logo {
        width: -moz-fit-content;
        width: fit-content;
        margin: 0 auto 39px;
    }
    #shopinfo .set1 .item1 .right .btn-web {
        margin-top: 19px;
    }
    #shopinfo .set1 .item1 .left {
        width: 608px;
        margin-left: -50px;
    }
    #shopinfo .set1 .item1 .left .photo {
        margin: 0;
    }
    #shopinfo .set1 .item2 {
        text-align: left;
        padding-bottom: 50px;
        display: flex;
    }
    #shopinfo .set1 .item2 h3 {
        font-size: 22px;
        padding: 20px 45px 22px 0;
        margin: 0 0 0 170px;
        line-height: 35px;
    }
    #shopinfo .set1 .item2 h3::before {
        border-top: 0;
        border-left: 2px solid #000;
        top: 0;
        right: 0;
        left: auto;
    }
    #shopinfo .set1 .item2 .txt {
        line-height: 27px;
        flex: 1;
        margin: -1px 0 0 49px;
    }
    #shopinfo .set2 {
        padding: 65px 0 0;
        position: relative;
    }
    #shopinfo .set2 .list {
        margin: 0 34px;
        --f-columns: 2;
        --f-gap: 70px;
        display: grid;
        grid-template-columns: repeat(var(--f-columns), 1fr);
        gap: var(--f-gap);
    }
    #shopinfo .set2 .list .col dl {
        line-height: 27px;
        padding: 13px 0;
    }
    #shopinfo .set2 .catch {
        position: absolute;
        top: -81px;
        right: -109px;
        z-index: -1;
    }
}
@media screen and (min-width: 768px) {
    #gmap {
        padding-bottom: 86px;
    }
    #gmap .map {
        height: 500px;
        margin: 0 -50px;
    }
    #gmap .content {
        display: flex;
        justify-content: space-between;
        margin: 8px 33px;
    }
    #gmap .content .link {
        display: flex !important;
    }
    #gmap .content .link li a {
        display: inline-block;
        position: relative;
        font-weight: 400;
        line-height: 27px;
        padding-right: 33px;
    }
    #gmap .content .link li a::after {
        content: "";
        background: url(../img/index/gmap_icon1.png) no-repeat;
        width: 20px;
        height: 5px;
        position: absolute;
        top: 11px;
        right: 0;
    }
    #gmap .content .link li a:hover {
        text-decoration: underline;
        text-underline-offset: 3px;
    }
    #gmap .content .link .gmap_print {
        margin-left: 40px;
    }
    #gmap .content .link .gmap_print a {
        padding-right: 25px;
    }
    #gmap .content .link .gmap_print a::after {
        background: url(../img/index/gmap_icon2.png) no-repeat;
        width: 15px;
        height: 15px;
        top: 6px;
    }
    #gmap .btn-map {
        margin-top: 12px;
    }
    #gmap .btn-map a {
        width: 270px;
        margin: 0;
        padding: 12px 20px;
        font-size: 19px;
    }
    #gmap .btn-map a::after {
        right: 27px;
        width: 11px;
    }
}
@media screen and (min-width: 768px) {
    #sec5 {
        background:
            url(../img/index/sec5_bg.jpg) no-repeat center top/100% auto,
            url(../img/shared/bg2.jpg);
        padding: 214px 0 178px;
    }
    #sec5 .wrap {
        max-width: 1226px;
        padding: 0 20px;
    }
    #sec5 .item1 {
        position: relative;
    }
    #sec5 .item1 .inner {
        width: 588px;
        margin: 0 17px 0 auto;
        text-align: center;
    }
    #sec5 .item1 h2 {
        font-size: 29px;
        margin-bottom: 24px;
    }
    #sec5 .item1 h2 .t1 {
        font-size: 40px;
        padding: 0 51px;
        margin-bottom: 41px;
    }
    #sec5 .item1 h2 .t1::before {
        width: 26px;
        top: calc(50% - 3px);
    }
    #sec5 .item1 h2 .t1::after {
        width: 26px;
        top: calc(50% + 7px);
    }
    #sec5 .item1 h2 .t1 span::before {
        top: calc(50% - 3px);
        width: 26px;
    }
    #sec5 .item1 h2 .t1 span::after {
        width: 26px;
        top: calc(50% + 7px);
    }
    #sec5 .item1 .gr {
        display: block;
    }
    #sec5 .item1 .gr .txt {
        font-size: 19px;
        line-height: 38px;
        margin: 0;
    }
    #sec5 .item1 .gr .logo {
        width: auto;
        position: absolute;
        top: -36px;
        left: 86px;
    }
    #sec5 .item2 {
        display: flex;
        flex-direction: row-reverse;
        justify-content: space-between;
    }
    #sec5 .item2 .floormap {
        margin: 26px -45px 0 0;
    }
    #sec5 .item2 .gr-txt {
        width: 442px;
        margin-top: 115px;
    }
    #sec5 .item2 .gr-txt .bnr {
        margin: 62px 0 0;
    }
}
@media screen and (max-width: 1299px) and (min-width: 768px) {
    #sec4 .set1 h3 {
        margin-left: calc(-50vw + 50% + 30px);
    }
    #sec4 .set1 h2 {
        margin-left: 240px;
    }
    #sec4 .set2 .content {
        margin-left: calc(-50vw + 50% + 50px);
    }
}
@media screen and (max-width: 1199px) and (min-width: 768px) {
    #header #key .key-pc .inner {
        margin-left: 680px;
    }
    #sec2 .item2 .gr-txt .txt {
        margin-right: calc(-50vw + 50% + 20px);
    }
    #sec2 .item3 .btn-link {
        margin-right: calc(-50vw + 50% + 30px);
    }
    #sec3 .item2 .txt {
        margin-left: calc(-50vw + 50% + 30px);
    }
    #sec5 .item2 .floormap {
        margin-right: -100px;
        margin-left: 50px;
    }
    #sec5 .item2 .floormap img {
        width: 100%;
        height: auto;
    }
}
