@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Alex+Brush&family=Crimson+Text:wght@400;700&display=swap');

/* 
    fonts
*/
.crimson-text-regular,
.CrimsonR {
    font-family: "Crimson Text", serif;
    font-weight: 400;
    font-style: normal;
}

.crimson-text-bold,
.CrimsonB {
    font-family: "Crimson Text", serif;
    font-weight: 700;
    font-style: normal;
}

.alex-brush-regular,
.alexR {
    font-family: "Alex Brush", cursive;
    font-weight: 400;
    font-style: normal;
}

/* 
    shadow
*/

.shadow {
    text-shadow: 0 0 calc(10 / var(--break3)) rgba(0, 0, 0, .2), 0 0 calc(20 / var(--break3)) rgba(0, 0, 0, .4);
}

/* 
    catalogBanner
*/

@media(min-width: 1081px) {
    .catalogBanner {
        display: block;
        padding: calc(20 / 1920 * 100vw) calc(40/ 1920 * 100vw);
        background: #86180f;
    }
}

@media (max-width: 767px) {
    .catalogBanner {
        display: block;
        padding: 1vw;
        background: #86180f;
    }
}

/* 
.hdg2Common
*/
.hdg2Common {
    margin-bottom: calc(30 / var(--break3));
    line-height: 1.5;
    text-align: center;
}

.hdg2Common.mmb {
    margin-bottom: calc(40 / var(--break3));
}

.hdg2Common.mmmb {
    margin-bottom: calc(60 / var(--break3));
}

.hdg2Common .en {
    display: block;
    width: 100%;
    font-size: calc(17 / var(--break3));
    font-weight: 400;
    font-family: "Noto Sans", sans-serif;
    text-align: center;
    color: #86180F;
}

.hdg2Common .jp {
    display: block;
    width: 100%;
    letter-spacing: .1em;
    font-size: calc(40 / var(--break3));
    font-weight: 500;
}

.hdg2Common .en02 {
    letter-spacing: .15em;
    font-size: calc(30 / var(--break3));
    font-weight: 700;
}

.hdg2Common .jp02 {
    font-size: calc(17 / var(--break3));
}

h3.hdg2Common .en {
    font-size: calc(17 / var(--break3));
    color: #777;
}

h3.hdg2Common .jp {
    font-size: calc(28 / var(--break3));
}

@media (max-width: 767px) {
    .hdg2Common {
        margin-bottom: 10vw;
    }

    .hdg2Common.mmb {
        margin-bottom: calc(40 / var(--break3));
    }

    .hdg2Common.mmmb {
        margin-bottom: calc(60 / var(--break3));
    }

    .hdg2Common .en {
        font-size: calc(10 / 380 * 100vw);
    }

    .hdg2Common .jp {
        letter-spacing: .1em;
        font-size: calc(20 / 380 * 100vw);
    }

    .hdg2Common .en02 {
        font-size: calc(21 / 380 * 100vw);
        font-weight: 700;
    }

    .hdg2Common .jp02 {
        font-size: calc(13 / 380 * 100vw);
    }

    h3.hdg2Common {
        margin-bottom: 4vw;
    }

    h3.hdg2Common .en {
        font-size: calc(13 / 380 * 100vw);
    }

    h3.hdg2Common .jp {
        font-size: calc(17 / 380 * 100vw);
    }
}

/* 
    copyCommon
*/
.copyCommon {
    width: 100%;
    padding: calc(15 / var(--break3)) 4%;
    line-height: 1.5;
    text-align: center;
    background: rgba(255, 255, 255, .8);
}

@media (max-width: 767px) {
    .copyCommon {
        padding: 0;
        background: none;
    }
}

/* 
    copyCommon2
*/
.copyCommon2 {
    width: 100%;
    padding: calc(10 / var(--break3)) 0;
    line-height: 1;
    color: #909090;
    text-align: center;
    position: relative;
    z-index: 1;
}

.copyCommon2::before {
    content: "";
    width: 100%;
    height: 2px;
    margin: auto;
    background: #909090;
    position: absolute;
    inset: 0;
    z-index: -1;
}

.copyCommon2>.bg {
    padding: calc(5 / var(--break3)) calc(20 / var(--break3));
    background: #fff;
}

@media (max-width: 767px) {
    .copyCommon2 {
        padding: 0;
        font-size: 80% !important;
        color: #ccc;
    }

    .copyCommon2::before {
        height: 1px;
        background: #ccc;
    }
}

/* 
    copyCommon3
*/
.copyCommon3 {
    width: 100%;
    padding: 0 0 calc(15 / var(--break3));
    ;
    line-height: 1.5;
    letter-spacing: .1em;
    font-size: 140%;
    color: #86180F;
    text-align: center;
    position: relative;
    z-index: 1;
}

.copyCommon3 .s {
    width: calc(140 / var(--break3));
    height: 2px;
    margin: auto;
    background: #86180F;
    position: absolute;
    inset: auto 0 0;
}

.copyCommon3 .s::before,
.copyCommon3 .s::after {
    content: "";
    width: calc(8 / var(--break3));
    height: calc(8 / var(--break3));
    margin: auto;
    background: #86180F;
    border-radius: 100%;
    position: absolute;
    inset: 0 auto;
    z-index: -1;
}

.copyCommon3 .s::before {
    left: 0;
}

.copyCommon3 .s::after {
    right: 0;
}

@media (max-width: 767px) {}

/* 
    copyCommon4
*/
.copyCommon4 {
    width: 100%;
    padding: 0 0 0 calc(15 / var(--break3));
    ;
    line-height: 1.5;
    font-size: 140%;
    border-left: 4px solid #86180F;
    position: relative;
    z-index: 1;
}

@media (max-width: 767px) {
    .copyCommon4 {
        padding: 0 0 0 2vw;
        font-size: 120%;
        border-left-width: 3pxF;
    }
}

/* 
    copyCommon5
*/
.copyCommon5 {
    border-bottom: 1px solid #000;
}

.copyCommon5 .deco {
    display: inline-block;
    padding: 1vw 2vw;
    border: 1px solid #000;
    border-bottom: 0;
}

@media (max-width: 767px) {}

/* 
    copyCommon6
*/
.copyCommon6 {
    width: 100%;
    padding-bottom: calc(12/ var(--break3));
    line-height: 1.5;
    font-weight: 700;
    font-size: calc(18 / var(--break3));
    color: #86180F;
    border-bottom: 1px solid #909090;
    background: rgba(255, 255, 255, .8);
}

@media (max-width: 767px) {
    .copyCommon {
        padding: 0;
        background: none;
    }
}

/* 
   icon-
*/
.icon-book {
    background: url(../img/common/iconBook.svg)no-repeat center / contain;
}

.icon-mail {
    background: url(../img/common/iconMail.svg)no-repeat center / contain;
}

.icon-flag {
    background: url(../img/common/iconFlag.svg)no-repeat center / contain;
}

.icon-house {
    background: url(../img/common/icon-house.svg)no-repeat center / contain;
}

.icon-mobile {
    background: url(../img/common/icon-mobile.svg)no-repeat center / contain;
}

.icon-tel {
    background: url(../img/common/iconTel.svg)no-repeat center / contain;
}

.icon-tel2 {
    background: url(../img/common/iconTel2.svg)no-repeat center / contain;
}

/* 
    coverBtnCommon    btnCommon
*/
.btnCommon {
    width: calc(250 / var(--break3));
    min-height: calc(90 / var(--break3));
    padding: calc(14 / var(--break3)) 0;
    padding-right: 1%;
    font-weight: bold;
    font-size: calc(17 / var(--break3));
    color: #fff;
    background: var(--color);
}

.btnCommon .deco {
    display: inline-block;
    padding-left: calc(40 / var(--break3));
    position: relative;
    z-index: 1;
}

.btnCommon .icon {
    width: calc(26 / var(--break3));
    height: calc(26 / var(--break3));
    margin: auto;
    position: absolute;
    inset: 0 auto 0 -1px;
}

.coverBtnCommon.X3 .btnCommon {
    width: 31.5%;
}

@media(min-width: 1081px) and (max-width:1280px) {
    .coverBtnCommon.X3 .btnCommon {
        font-size: 85%;
    }

    .coverBtnCommon.X3 .btnCommon .deco {
        padding-left: calc(28 / 1280 * 100vw);
    }

    .coverBtnCommon.X3 .icon {
        width: calc(20 / 1280 * 100vw);
        height: calc(20 / 1280 * 100vw);
    }
}

@media(min-width: 768px) and (max-width:1080px) {
    .coverBtnCommon.X3 {
        justify-content: center;
    }

    .coverBtnCommon.X3 .btnCommon {
        width: 48%;
        margin-right: 4%;
        font-size: 100%;
    }

    .coverBtnCommon.X3 .btnCommon:nth-of-type(2n),
    .coverBtnCommon.X3 .btnCommon:last-child {
        margin-right: 0;
    }

    .coverBtnCommon.X3 .btnCommon:nth-of-type(n + 3) {
        margin-top: 5%;
    }

    .coverBtnCommon.X3 .btnCommon .deco {
        padding-left: calc(30 / 1280 * 100vw);
    }

    .coverBtnCommon.X3 .icon {
        width: calc(20 / 1280 * 100vw);
        height: calc(20 / 1280 * 100vw);
    }
}

@media (max-width: 767px) {
    .coverBtnCommon {
        align-items: stretch !important;
        line-height: 1.5;
        font-size: calc(12 / 380 * 100vw);
    }

    .btnCommon {
        width: calc(250 / var(--break3));
        padding: calc(14 / var(--break3)) 0;
        font-size: calc(12 / 380 * 100vw);
        position: relative;
    }

    .btnCommon .deco {
        padding-top: calc(50 / 750 * 100vw);
        padding-left: 0;
    }

    .btnCommon .icon {
        width: calc(30 / 750 * 100vw);
        height: calc(30 / 750 * 100vw);
        inset: 4vw 0 auto;
    }

    .coverBtnCommon.X3 .btnCommon {
        min-height: calc(180 / 750 * 100vw);
    }

    .coverBtnCommon.X3 .btnCommon .deco {
        position: static;
    }
}

/* 
    btnCommon02
*/

.btnCommon02 {
    width: calc(324/ var(--break3));
    min-height: calc(60/ var(--break3));
    padding: calc(15 / var(--break3)) 0;
    padding-right: 1%;
    font-size: calc(17.5 / var(--break3));
    font-weight: normal;
    border: 1px solid #000;
    background: #fff;
    position: relative;
    z-index: 1;
}

.btnCommon02 .arwCommon {
    margin: auto;
    position: absolute;
    inset: calc(10 / var(--break3)) calc(25 / var(--break3)) 0 auto;
    transition: .5s all;
}

.btnCommon02:hover .arwCommon {
    right: calc(15 / var(--break3));
}


.btnCommon02.v2 {
    color: #fff;
    background: #86180F;
    border-color: #86180F;
}

@media (max-width: 767px) {
    .btnCommon02 {
        width: calc(380 / 750 * 100vw);
        min-height: calc(68 / 750 * 100vw);
        font-size: calc(18 / 750 * 100vw);
        padding: 2vw;
    }

    .btnCommon02::after {
        content: "";
        width: 100%;
        height: 100%;
        margin: auto;
        border-bottom: 1px solid #000;
        border-right: 1px solid #000;
        position: absolute;
        bottom: -1.5vw;
        right: -2vw;
    }

    .btnCommon02.v2::after {
        border-bottom-color: #86180F;
        border-right-color: #86180F;
        ;
    }
}

/* 
    btnTelCommon
*/
.btnTelCommon {
    display: block;
    max-width: 400px;
    padding-left: calc(98 / var(--break3));
    font-weight: 700;
    position: relative;
    z-index: 1;
}

.btnTelCommon .icon {
    width: calc(74 / var(--break3));
    height: calc(74 / var(--break3));
    margin: auto;
    position: absolute;
    inset: 0 auto 0 -1px;
}

.btnTelCommon .s01 {
    display: block;
    line-height: 1.5;
    font-size: calc(40/ var(--break3));
}

.btnTelCommon .s02 {
    display: block;
    line-height: 1.5;
    font-size: calc(16/ var(--break3));
}

@media(min-width: 768px) and (max-width:1280px) {
    .btnTelCommon {
        padding-left: calc(90 / 1280 * 100vw);
        font-size: 92%;
    }

    .btnTelCommon .icon {
        width: calc(70 / 1280 * 100vw);
        height: calc(70 / 1280 * 100vw);
    }

    .btnTelCommon .s01 {
        font-size: calc(38 / 1280 * 100vw);
    }
}


@media (max-width: 767px) {
    .btnTelCommon {
        display: flex;
        justify-content: center;
        align-items: center;
        width: calc(620 / 750 * 100vw);
        margin-left: auto;
        margin-right: auto;
        padding: 4vw 0 3vw;
        color: #000 !important;
        background: rgba(255, 255, 255, .8);
    }

    .btnTelCommon .deco {
        padding-left: calc(70 / 750 * 100vw);
        position: relative;
        z-index: 1;
    }

    .btnTelCommon .icon {
        width: calc(50/ 750 * 100vw);
        height: calc(50/ 750 * 100vw);
        background: url(../img/common/iconTel2.svg)no-repeat center / contain;
        left: -2.5vw;
    }

    .btnTelCommon .s01 {
        line-height: 1;
        font-size: calc(26 / 380 * 100vw);
    }

    .btnTelCommon .s02 {
        line-height: 1.4;
        letter-spacing: 0;
        font-size: calc(9/ 380 * 100vw);
    }

    .btnTelCommonSet {
        width: calc(620 / 750 * 100vw);
        padding: 1vw;
        margin-left: auto;
        margin-right: auto;
        font-size: 80%;
        text-align: center;
        color: #fff;
        background: #000;
    }
}

/* 
    btnTelCommon
*/
.btnTelCommon2 {
    display: block;
    width: calc(310 / var(--break3));
    height: calc(70 / var(--break3));
    padding-top: calc(4 / var(--break3));
    padding-left: calc(50 / var(--break3));
    color: #000;
    position: relative;
    z-index: 1;
}

.btnTelCommon2 .icon {
    width: calc(32 / var(--break3));
    height: calc(32 / var(--break3));
    margin: auto;
    position: absolute;
    inset: 1px auto 0 -1px;
}

.btnTelCommon2 .s01 {
    display: block;
    line-height: 1.5;
    font-weight: bold;
    font-size: calc(26 / var(--break3));
}

.btnTelCommon2 .s02 {
    display: block;
    letter-spacing: 0;
    line-height: 1.5;
    font-weight: normal;
    font-size: calc(14 / var(--break3));
}

@media (max-width: 767px) {}

/* 
    rowContact
*/
@media(min-width: 768px) and (max-width:1080px) {
    .rowContact>.col32 {
        width: 36% !important;
    }

    .rowContact>.col64 {
        width: 60% !important;
    }
}

@media (max-width: 767px) {
    .rowContact>.col32 {
        margin-bottom: 10vw;
    }
}

/* 
    logoCommon
*/
.logoCommon {
    max-width: 100%;
    width: calc(280 / var(--break3));
}

/* 
    Sitemap
*/
.Sitemap li:not(:last-child) {
    margin-bottom: calc(5 / var(--break3));
}

.Sitemap a {
    display: inline-block;
    padding-left: calc(20 / var(--break3));
    position: relative;
    z-index: 1;
}

.Sitemap a::before {
    content: "";
    width: calc(10 / var(--break3));
    height: 1px;
    margin: auto;
    background: #000;
    position: absolute;
    inset: 0 auto 0 0;
}

/* 
    slick
*/
.slick-prev,
.slick-next {
    width: calc(40 / var(--break3)) !important;
    height: calc(40 / var(--break3)) !important;
    margin: auto !important;
    background: url(../img/common/arw.svg)no-repeat center / cover !important;
    bottom: auto !important;
    z-index: 1 !important;
}

.slick-prev {
    left: 0 !important;
    transform: scale(-1, 1) !important;
}

.slick-next {
    right: 0 !important;
    transform: scale(1) !important;
}

.slick-prev:before,
.slick-next:before {
    display: none !important;
}

.slick-dots li button:before {
    content: "" !important;
}

@media(max-width: 767px) {

    .slick-prev,
    .slick-next {
        width: calc(60 / 750 * 100vw) !important;
        height: calc(60 / 750 * 100vw) !important;
    }

    .slick-dots li {
        margin: 0 !important;
    }

    .slick-dots li button {
        padding: 0 !important;
    }

    .slick-dots li:only-child {
        display: none;
    }
}

/* 
    header
*/
header,
#wrap.lower header {
    width: 100%;
    padding: 0 calc(80 / var(--break3)) calc(20 / var(--break3)) 2%;
    color: #000;
    background-color: #fff;
    position: fixed;
    inset: 0 0 auto;
    z-index: 1000;
    transition: all .5s;
}

header.is-top {
    color: #fff;
    background: none;
    border-bottom-color: transparent;
    transition: all .5s;
}

header .hdg1 {
    padding-top: calc(20 / var(--break3));
    width: calc(200 / var(--break3));
    position: relative;
    z-index: 1;
}

.home .is-top .hdg1 a {
    display: block;
    width: calc(200 / var(--break3));
    height: calc(54 / var(--break3));
    background: url(../img/common/logoWhite.png)no-repeat center / cover;
}

.home .is-top .hdgImg {
    opacity: 0;
    visibility: hidden;
}

.rowHeader {
    width: 100%;
}

.rowHeaderContact {
    flex-wrap: wrap;
    justify-content: space-between;
    width: calc(610 / var(--break3));
    position: relative;
    z-index: 100000;
}

.rowHeaderContact>.btnCommon {
    width: calc(140 / var(--break3));
    min-height: auto;
    height: calc(70 / var(--break3));
    padding: 0;
    font-size: calc(16 / var(--break3));
}

@media(min-width: 767px) {

    header,
    .lower header {
        border-bottom: #86180F33 calc(10 / var(--break3)) solid;
    }

    .nav_header {
        max-width: 900px;
        width: calc(900 / var(--break3));
        margin-top: calc(10 / var(--break3));
        position: relative;
        z-index: -1;
    }

    .nav_header>a {
        padding: calc(5 / var(--break3)) 0;
        font-weight: bold;
        font-size: calc(18 / var(--break3));
        text-align: center;
        flex-grow: 1;
        position: relative;
        z-index: 1;
    }

    .nav_header>a::before {
        content: "";
        width: 1px;
        height: calc(20 / var(--break3));
        background: #000;
        margin: auto;
        position: absolute;
        inset: 0 auto 0 100%;
        transition: all .5s;
    }

    .nav_header>a:last-child::before {
        content: none;
    }

    .home .is-top .nav_header>a::before {
        background: #fff;
        transition: all .5s;
    }

    .home .is-top .btnTelCommon2 {
        color: #fff;
    }

    .home .is-top .btnTelCommon2 .icon {
        background: url(../img/common/iconTel.svg)no-repeat center / contain;
    }
}

@media(max-width: 767px) {

    header,
    #wrap.lower header {
        padding: 2.5vw 2.8vw;
        height: calc(100 / 750 * 100vw);
        padding-right: calc(111 / 750 * 100vw);
    }

    header .hdg1 {
        padding: 0;
        width: calc(280 / 999 * 100vw);
    }

    .home .is-top .hdg1 a {
        width: calc(280 / 999 * 100vw);
        height: calc(75 / 999 * 100vw);
    }

    header .btnTelCommon2 {
        display: none !important;
    }

    .rowHeaderContact {
        width: calc(248 / 750 * 100vw);
        margin-top: -2.5vw;
    }

    .rowHeaderContact>.btnCommon {
        width: calc(120 / 750 * 100vw);
        height: calc(100 / 750 * 100vw);
        padding: 5vw 0 0;
        font-size: calc(20 / 750 * 100vw);
        position: relative;
        z-index: 1;
    }

    .rowHeaderContact .icon {
        width: calc(25 / 750 * 100vw);
        height: calc(25 / 750 * 100vw);
        margin: auto;
        position: absolute;
        inset: 2.5vw 0 auto;
    }

    .nav_header {
        display: none !important;
    }
}

/* 
    gnav
*/
.cover_menu_header {
    width: calc(70 / var(--break3));
    height: calc(70 / var(--break3));
    position: fixed;
    top: 0;
    right: 0;
}

#gnav-toggle {
    display: block;
    width: calc(70 / var(--break3));
    height: calc(70 / var(--break3));
    border: none;
    outline: none;
    background: #909090;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 10000;
}

.cover_menu_header .gnav_text {
    width: 100%;
    letter-spacing: .1em;
    font-size: calc(13 / var(--break3));
    text-align: center;
    color: #000;
    position: absolute;
    bottom: calc(10 / var(--break3));
    left: 0;
    right: 0;
}

.cover_menu_header .gnav_icon {
    width: calc(40 / var(--break3));
    height: calc(3 / var(--break3));
    position: absolute;
    top: calc(-24 / var(--break3));
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    background: #000;
    transition: transform .3s ease-in-out;
}

.cover_menu_header .gnav_icon:before,
.cover_menu_header .gnav_icon:after {
    content: "";
    width: 100%;
    height: calc(3 / var(--break3));
    position: absolute;
    left: 0;
    right: 0;
    background: #000;
    transition: transform .3s ease-in-out;
}

.cover_menu_header .gnav_icon:before {
    top: calc(-8 / var(--break3));
}

.cover_menu_header .gnav_icon:after {
    bottom: calc(-8 / var(--break3));
}

.is_active .gnav_icon:before {
    transform: rotate(45deg);
    top: 0 !important;
}

.is_active .gnav_icon:after {
    transform: rotate(-45deg);
    bottom: 0 !important;
}

.is_active .gnav_icon {
    background: none;
}

.is_active .gnav_icon:before,
.is_active .gnav_icon:after {
    transition: transform .3s ease-in-out;
}

.cover_menu_header .gnav {
    width: 100%;
    height: 100%;
    padding: calc(130 / var(--break3)) 0 0;
    line-height: 1.45;
    color: #333;
    background: #D9D9D9;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 9999;
    visibility: hidden;
    opacity: 0;
    transition: opacity .6s ease, visibility .6s ease;
    overflow-y: auto;
    overflow-x: hidden;
    overflow-y: scroll;
    -ms-overflow-style: none;
    scrollbar-width: none;
}

.cover_menu_header .gnav::before {
    content: "";
    width: 40%;
    height: 100%;
    margin: auto;
    background: url(../img/common/bgGnav.jpg)no-repeat center / cover;
    position: absolute;
    inset: 0 auto 0 0;
    z-index: -1;
}

.cover_menu_header .gnav>.nav {
    display: block;
    width: 60%;
    margin: 0 0 0 auto;
    padding: 0 calc(40 / var(--break3)) calc(20 / var(--break3));
}

.gnav_open .cover_menu_header .gnav {
    visibility: visible;
    opacity: 1;
}

.rowSnsGnav{
    justify-content: space-between;
    width: calc(260 / var(--break3));
    margin: calc(20 / var(--break3)) 0 0 auto;
}
.rowSnsGnav .icon{
    width: calc(80/var(--break3));
}
@media(min-width: 768px) {}

@media(min-width: 768px) and (max-width:1024px) {
    .cover_menu_header {
        max-width: inherit;
        width: 100%;
    }

    .cover_menu_header .nav>a {
        font-size: 1em;
    }
}

@media(max-width: 767px) {
    .cover_menu_header {
        width: calc(100 / 750 * 100vw);
        height: calc(100 / 750 * 100vw);
    }

    #gnav-toggle {
        width: calc(100 / 750 * 100vw);
        height: calc(100 / 750 * 100vw);
    }

    .gnav_hamburger .gnav_text {
        letter-spacing: 0;
        font-size: calc(20 / 750 * 100vw);
        bottom: 1vw;
    }

    .gnav_hamburger .gnav_icon {
        width: calc(40 / 750 * 100vw);
        height: 2px;
        top: -3.5vw;
    }

    .gnav_hamburger .gnav_icon:before,
    .gnav_hamburger .gnav_icon:after {
        height: 2px;
    }

    .gnav_hamburger .gnav_icon:before {
        top: -1.5vw;
    }

    .gnav_hamburger .gnav_icon:after {
        bottom: -1.5vw;
    }

    .cover_menu_header .gnav {
        width: 100%;
        height: 100%;
        padding: calc(140 / 750 * 100vw) 0 10vw;
        line-height: 1.45;
        color: #333;
        background: rgb(255, 255, 255);
        position: fixed;
        top: 0;
        right: 0;
        z-index: 9999;
        visibility: hidden;
        opacity: 0;
        transition: opacity .6s ease, visibility .6s ease;
        overflow-y: auto;
        overflow-x: hidden;
    }

    .cover_menu_header .gnav::before {
        content: "";
        width: 100%;
        height: 100%;
        background: url(../img/common/bgGnav_sp.jpg)no-repeat center bottom / cover;
        position: fixed;
        inset: calc(100 / 750 * 100vw) 0 auto !important;
        z-index: -1;
    }

    .cover_menu_header .gnav::after {
        content: "";
        width: 100%;
        height: calc(4000 / 750 * 100vw);
        margin: auto;
        background: rgba(255, 255, 255, .8);
        position: fixed;
        inset: 0;
        z-index: -1;
    }

    .cover_menu_header .gnav>.nav {
        display: block;
        width: 100%;
        margin: 0 auto;
        padding: 0 5vw;
    }

    .gnav .nav>a {
        display: block;
        width: 100%;
        font-size: 100%;
        padding: 3vw 4vw 3vw 5vw;
        position: relative;
        opacity: 0;
        border-bottom: 1px solid #09093d;
        transform: translateX(50%);
        transition: transform .6s ease, opacity .2s ease;
    }

    .gnav_open .nav>a {
        opacity: 1;
        transform: translateX(0);
        transition: transform 1s ease, opacity .9s ease;
    }

    .gnav .nav>a:first-child {
        border-top: 1px solid #09093d;
    }

    .gnav .nav>a:after {
        content: "";
        width: 0;
        height: 0;
        margin: auto;
        border-left: calc(16 / 750 * 100vw) solid #09093d;
        border-bottom: calc(12 / 750 * 100vw) solid transparent;
        border-top: calc(12 / 750 * 100vw) solid transparent;
        position: absolute;
        left: 0;
        top: 0;
        bottom: .5vw;
    }

    .rowSnsGnav{
        width: calc(500 / 750 * 100vw);
        margin: 5vw auto 0;
    }
    .rowSnsGnav .icon{
        width: calc(120/750*100vw);
    }
}

/* 
    coverBannerGnav rowSitemapGnav
*/
.coverBannerGnav {
    margin-bottom: calc(60 / var(--break3));
}

.coverBannerGnav>.banner {
    width: 49%;
    padding-left: calc(120 / var(--break3));
    min-height: calc(120 / var(--break3));
    font-size: calc(24 / var(--break3));
    font-weight: 700;
    color: #fff;
    background: #86180F;
    position: relative;
    z-index: 1;
}

.coverBannerGnav>.banner::before {
    content: "";
    width: calc(120 / var(--break3));
    height: 100%;
    margin: auto;
    background: url(../img/common/imgBannerEvent.jpg)no-repeat center / cover;
    position: absolute;
    inset: 0 auto 0 0
}

.coverBannerGnav>.banner.concierge::before {
    background: url(../img/common/imgBannerConcierge.jpg)no-repeat center / cover;
}

.coverBannerGnav>.banner.request::before {
    background: url(../img/common/imgBannerRquest.jpg)no-repeat center / cover;
}

.coverBannerGnav>.banner.concierge::before {
    background: url(../img/common/imgBannerContact.jpg)no-repeat center / cover;
}

.coverBannerGnav .arw {
    display: inline-block;
    width: 100%;
    padding-bottom: calc(20 / var(--break3));
    text-align: center;
    position: relative;
    z-index: 1;
}

.coverBannerGnav .arw::before {
    content: "";
    width: calc(24 / var(--break3));
    height: calc(24 / var(--break3));
    margin: auto;
    background: url(../img/common/arw2.svg)no-repeat center / cover;
    position: absolute;
    inset: 0 0 calc(-40 / var(--break3));
}

.rowSitemapGnav .text-xl .en {
    letter-spacing: .05em;
    font-size: calc(31 / var(--break3));
    color: #86180F;
}

.rowSitemapGnav .text-xl .jp {
    letter-spacing: 0;
    color: #86180F;
    font-size: calc(17 / var(--break3));
}

.rowSitemapGnav .Sitemap li {
    margin-bottom: calc(7.5 / var(--break3));
}

.rowSitemapGnav .Sitemap a {
    font-weight: 500;
    padding-top: calc(10 / var(--break3));
    padding-bottom: calc(10 / var(--break3));
    padding-left: calc(28 / var(--break3));
}

.rowSitemapGnav .Sitemap a::before {
    width: calc(18 / var(--break3));
    height: calc(8 / var(--break3));
    background: url(../img/common/arw3.png)no-repeat center / contain;
}

@media(min-width: 768px) {
    .coverBannerGnav>.banner:nth-of-type(n + 3) {
        margin-top: calc(30 / var(--break3));
    }
}

@media(min-width: 768px) and (max-width:1024px) {
    .cover_menu_header .gnav>.nav{
        font-size: 90%;
    }
    .rowSitemapGnav .text-xl .en {
        letter-spacing: 0;
        font-size: calc(30 / var(--break3));
    }
}

@media (max-width: 767px) {
    .coverBannerGnav {
        margin-bottom: 5vw;
    }

    .coverBannerGnav>.banner {
        width: 100%;
        margin-bottom: 3vw;
        padding-left: calc(124 / 380 * 100vw);
        min-height: calc(54 / 380 * 100vw);
        font-size: calc(16 / 380 * 100vw);
    }

    .coverBannerGnav>.banner::before {
        width: calc(124 / 380 * 100vw);
    }

    .coverBannerGnav>.banner:last-child {
        margin-bottom: 0;
    }

    .coverBannerGnav .arw {
        display: inline-block;
        width: calc(246 / 750 * 100vw);
        padding-bottom: 0;
        padding-right: 2vw;
        position: relative;
        z-index: 1;
    }

    .coverBannerGnav>.banner .sp {
        letter-spacing: .15em
    }

    .coverBannerGnav .arw::before {
        width: calc(28 / 750 * 100vw);
        height: calc(28 / 750 * 100vw);
        inset: 0 -1vw 0 auto !important;
    }

    .rowSitemapGnav .text-xl {
        line-height: 1;
    }

    .rowSitemapGnav .text-xl .en {
        letter-spacing: .1em;
        font-size: calc(21 / 380 * 100vw);
    }

    .rowSitemapGnav .text-xl .jp {
        font-size: calc(13 / 380 * 100vw);
    }

    .rowSitemapGnav .col {
        margin-bottom: 6vw;
    }

    .rowSitemapGnav .col:last-child {
        margin-bottom: 0
    }

    .rowSitemapGnav .Sitemap {
        max-width: calc(600 / 750 * 100vw);
        margin: 0 auto;
    }

    .rowSitemapGnav .Sitemap a {
        width: 100%;
        padding-top: 1.75vw;
        padding-bottom: 1.75vw;
        padding-left: 0;
    }

    .rowSitemapGnav .Sitemap a::before {
        width: calc(18 / 400 * 100vw);
        height: calc(8 / 400 * 100vw);
        left: auto;
        right: 0;
    }
}

/* 
    coverEvent
*/
.coverEvent {
    align-items: stretch;
    justify-content: start !important;
}

.contentEvent {
    padding: 0 calc(10 / var(--break3));
    position: relative;
    z-index: 1;
    transition: .5 all;
}

.contentEvent:hover {
    opacity: .8;
    transition: .5 all;
}

.contentEvent .permalink {
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    position: absolute;
    inset: 0;
    z-index: 10;
}

.imageEvent {
    display: block;
    width: 100%;
    max-height: 300px;
    height: calc(340 / var(--break3));
    margin-bottom: calc(20 / var(--break3));
    background-size: cover;
    background-position: top center;
    background-color: #d9d9d9;
    position: relative;
    z-index: 1;
}

.off .imageEvent::before {
    content: "満員御礼";
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    width: 100%;
    height: 100%;
    margin: auto;
    font-size: calc(40 / var(--break3));
    color: #fff;
    background: rgba(0, 0, 0, .65);
    inset: 0;
    z-index: 1;
}

.receptionEvent {
    max-height: 50px;
    line-height: calc(50 / var(--break3));
    height: calc(50 / var(--break3));
    font-weight: 700;
    font-size: 110%;
    text-align: center;
    color: #fff;
    background: #86180F;
}

.off .receptionEvent {
    color: #fff;
    background: #656565;
}

.tagCoverEvent {
    width: calc(300 / var(--break3));
    margin-bottom: calc(12 / var(--break3));
}

.tagEvent {
    width: calc(150 / var(--break3));
    height: calc(40 / var(--break3));
    font-size: calc(17 / var(--break3));
    font-weight: bold;
    color: #177A1F;
    background: #fff;
    border: 1px solid #177A1F;
}

.tagEvent.tag02 {
    color: #fff;
    background: #177A1F;
    border: 0;
}

.hdgEvent {
    margin-bottom: calc(22 / var(--break3));
    padding-bottom: calc(22 / var(--break3));
    font-size: calc(18 / var(--break3));
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    position: relative;
    z-index: 1;
}

.hdgEvent::before {
    content: "";
    width: 100%;
    height: 2px;
    margin: auto;
    border-top: 2px dashed #000;
    position: absolute;
    bottom: 0;
    z-index: 1;
}

.descriptionEvent {
    align-items: baseline;
    justify-content: space-between;
    margin-bottom: calc(2 / var(--break3));
    font-weight: 500;
    font-size: calc(15.5 / var(--break3));
}

.descriptionEvent dt {
    width: calc(92 / var(--break3));
}

.descriptionEvent dd {
    width: calc(100% - 92 / var(--break3));
}

@media(min-width: 768px) {
    .contentEvent {
        width: 31%;
        margin-right: 1.99%;
    }

    .coverEvent .contentEvent:nth-of-type(3n),
    .coverEvent .contentEvent:last-child {
        margin-right: 0;
    }

    .coverEvent .contentEvent:nth-of-type(n + 4) {
        margin-top: 3.5%;
    }

    .lower-main .imageEvent {
        height: calc(300 / var(--break));
    }
}

@media(min-width: 768px) and (max-width: 1399px) {
    .descriptionEvent {
        font-size: calc(18 / var(--break3));
    }

    .descriptionEvent dt {
        width: calc(100 / var(--break3));
    }

    .descriptionEvent dd {
        width: calc(100% - 100 / var(--break3));
    }
}

@media(min-width: 768px) and (max-width: 1024px) {
    .imageEvent {
        height: calc(290 / var(--break3));
    }

    .lower-main .imageEvent {
        height: calc(290 / var(--break3));
    }
}

@media (min-width: 768px) {
    /* .contentEventeCommonx10:hover .imageEvente img,
    .contentEventeCommonx10 .permalink:hover+.imageEvente img {
        -webkit-transform: scale(1.05);
        -moz-transform: scale(1.05);
        -o-transform: scale(1.05);
        -ms-transform: scale(1.05);
        transform: scale(1.05);
        transition: all .5s ease-out;
    } */
}

@media (max-width: 767px) {
    .contentEvent {
        width: calc(600 / 750 * 100vw);
        margin: 0 2vw;
        padding: 0;
    }

    .imageEvent {
        height: calc(380 / 750 * 100vw);
        margin-bottom: 2vw;
    }

    .off .imageEvent::before {
        font-size: calc(40 / 750 * 100vw);
    }

    .receptionEvent {
        line-height: calc(70 / 750 * 100vw);
        height: calc(70 / 750 * 100vw);
        font-size: 100%;
    }

    .hdgEvent {
        font-size: 100%;
    }

    .hdgEvent::before {
        height: 1px;
        border-top-width: 1px;
    }

    .tagCoverEvent {
        width: calc(400 / 750 * 100vw);
    }

    .tagEvent {
        width: calc(200 / 750 * 100vw);
        height: calc(50 / 750 * 100vw);
        font-size: 92%;
    }

    .descriptionEvent {
        font-size: 90%;
    }

    .descriptionEvent dt {
        width: calc(150 / 750 * 100vw);
    }

    .descriptionEvent dd {
        width: calc(100% - 150 / 750 * 100vw);
    }

    .sliderEvente .slick-prev,
    .sliderEvente .slick-next {
        top: calc(210 / 750 * 100vw) !important;
    }

    .sliderEvente .slick-prev {
        left: 3.8vw !important;
    }

    .sliderEvente .slick-next {
        right: 3.8vw !important;
    }
}

/* 
    Works
*/
.coverWork {
    justify-content: start !important;
}

.contentWork {
    padding-bottom: calc(10 / var(--break3));
    overflow: hidden;
    transition: .5 all;
    position: relative;
    z-index: 1;
}

.contentWork:hover {
    opacity: .8;
    transition: .5 all;
}

.contentWork .permalink {
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    position: absolute;
    inset: 0;
    z-index: 1;
}

.imgWork {
    display: block;
    width: 100%;
    height: calc(350 / var(--break3));
    margin-bottom: calc(25 / var(--break3));
    background-size: cover;
    background-position: center;
}

.hdgWork {
    margin-bottom: calc(18 / var(--break3));
    padding-bottom: calc(10 / var(--break3));
    font-size: calc(18.5 / var(--break3));
    white-space: nowrap;
    text-overflow: ellipsis;
    -webkit-text-overflow: ellipsis;
    -o-text-overflow: ellipsis;
    position: relative;
    z-index: 1;
}

.hdgWork::before {
    content: "";
    width: 100%;
    height: 2px;
    margin: auto;
    border-top: 2px dashed #000;
    position: absolute;
    bottom: 0;
    z-index: 1;
}

.hdgWork2 {
    line-height: 1.5;
    font-size: calc(18.5 / var(--break3));
}

.textAreaWork {
    line-height: 1;
    color: #909090;
    font-size: calc(14.5 / var(--break3));
}

.tagWork {
    width: 300%;
}

.termsWork {
    margin-bottom: calc(12 / var(--break3));
    display: inline-block;
    margin-right: calc(10 / var(--break3));
}

.termsWork>.link {
    display: inline-block;
    line-height: 1.5;
    padding: calc(6 / var(--break3)) calc(22 / var(--break3));
    font-size: calc(16 / var(--break3));
    border: #86180F solid 1px;
    border-radius: calc(22 / var(--break3));
}

.termsWork .s {
    color: #86180F;
}


@media(min-width: 768px) {
    .contentWork {
        margin-right: 1.99%;
    }

    .coverWork .contentWork:nth-of-type(3n),
    .coverWork .contentWork:last-child {
        margin-right: 0;
    }

    .coverWork .contentWork:nth-of-type(n + 4) {
        margin-top: 3.5%;
    }
}

@media(min-width: 768px) and (max-width: 1024px) {
    .imgWork {
        height: calc(310 / var(--break3));
    }

    .lower-main .imgWork {
        height: calc(310 / var(--break3));
    }
}

@media (max-width: 767px) {
    .WorkSlider.mb-20 {
        margin-bottom: 10vw !important;
    }

    .contentWork {
        width: calc(600 / 750 * 100vw);
        margin: 0 2vw;
    }

    .imgWork {
        display: block;
        width: 100%;
        height: calc(380 / 750 * 100vw);
        margin-bottom: 3vw;
        background-size: cover;
        background-position: center;
    }

    .hdgWork {
        margin-bottom: 3vw;
        padding-bottom: 0;
        font-size: 100%;
        text-align: center;
    }

    .hdgWork::before {
        content: none;
    }

    .hdgWork2 {
        margin-bottom: 2vw;
        font-size: calc(14.5 / 380 * 100vw);
    }

    .textAreaWork {
        margin-bottom: 1.5vw;
        font-size: calc(12.5 / 380 * 100vw);
    }

    .tagWork {
        display: flex;
        justify-content: center;
        width: 100%;
    }

    .termsWork {
        margin-right: 1.5vw;
    }

    .termsWork>.link {
        padding: 1vw 3vw;
        font-size: 75%;
        border-radius: calc(30 / 750 * 100vw);
    }

    .WorkSlider .slick-prev,
    .WorkSlider .slick-next {
        top: calc(180 / 750 * 100vw) !important;
    }

    .WorkSlider .slick-prev {
        left: 3.5vw !important;
    }

    .WorkSlider .slick-next {
        right: 3.5vw !important;
    }

    .WorkSlider .slick-dots {
        margin-top: 5vw;
        position: relative;
        bottom: auto;
    }

    .WorkSlider li button:before {
        width: calc(18/ 750 * 100vw) !important;
        height: calc(18/ 750 * 100vw) !important;
        opacity: 1;
        background: #ccc;
        font-size: 0;
        border-radius: 100%;
    }

    .WorkSlider .slick-dots li.slick-active button:before {
        opacity: 1;
        background: #aaa;
    }
}

/* 
    Works
*/
.termsWorks {
    display: inline-block;
    margin-right: calc(18 / var(--break3));
}

.termsWorks>.link {
    display: inline-block;
    line-height: 1.5;
    font-size: calc(14/ var(--break3));
    padding: calc(8 / var(--break3));
}

/* 
    ready_built
*/
.contentRBuilt {
    width: calc(600 / var(--break3));
    margin: 0 calc(10 / var(--break3));
    padding: calc(5 / var(--break3));
    overflow: hidden;
    transition: .5 all;
    position: relative;
    z-index: 1;
}

.contentRBuilt:hover {
    opacity: .8;
    transition: .5 all;
}

.contentRBuilt .permalink {
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    position: absolute;
    inset: 0;
    z-index: 1;
}

.imageRBuilt {
    display: block;
    width: 100%;
    height: calc(350 / var(--break3));
    margin-bottom: calc(25 / var(--break3));
    background-size: cover;
    background-position: center;
    border: 1px solid #000;
}

.areaTextRBuilt {
    position: relative;
    z-index: 1;
}

.tagRBuilt {
    display: inline-block;
    line-height: 1.5;
    width: calc(180 / var(--break3));
    height: calc(40 / var(--break3));
    font-size: calc(16 / var(--break3));
    color: #177A1F;
    background: #fff;
    border: #177A1F solid 1px;
    border-radius: calc(20 / var(--break3));
    position: absolute;
    top: 0;
    left: 0;
}

.textRBuilt {
    margin-bottom: calc(5 / var(--break3));
    text-align: right;
    font-size: calc(18 / var(--break3));
}

.textRBuilt:last-child {
    margin-bottom: 0;
}

.sliderRBuilt .slick-prev,
.sliderRBuilt .slick-next {
    top: calc(160 / var(--break3)) !important;
}

.sliderRBuilt .slick-prev {
    left: calc(596 / 1920 * 100vw) !important;
}

.sliderRBuilt .slick-next {
    right: calc(596 / 1920 * 100vw) !important;
}

.sliderRBuilt .slick-slide {
    transform: scale(.8);
    transition: transform 0.5s ease;
}

.sliderRBuilt .slick-center.slick-slide {
    transform: scale(1);
    transition: transform 0.5s ease;
}

.sliderRBuilt .slick-prev,
.sliderRBuilt .slick-next {
    z-index: 10;
}

.sliderRBuilt .slick-track {
    display: flex;
    justify-content: center;
}

@media(min-width: 768px) and (max-width:1536px) {
    .sliderRBuilt .slick-prev {
        left: calc(524/ 1920 * 100vw) !important;
    }

    .sliderRBuilt .slick-next {
        right: calc(524 / 1920 * 100vw) !important;
    }
}

@media (max-width: 767px) {
    .contentRBuilt {
        width: calc(600 / 750 * 100vw);
        margin: 0 1.4vw;
        padding: 0;
    }

    .imageRBuilt {
        display: block;
        width: 100%;
        height: calc(340 / 750 * 100vw);
        margin-bottom: calc(25 / 750 * 100vw);
        background-size: cover;
        background-position: center;
    }

    .tagRBuilt {
        width: calc(160 / 750 * 100vw);
        height: calc(56 / 750 * 100vw);
        font-size: calc(22 / 750 * 100vw);
        border-radius: calc(28 / 750 * 100vw);
        top: -1vw;
    }

    .textRBuilt {
        font-size: calc(28 / 750 * 100vw);
    }

    .sliderRBuilt .slick-slide {
        transform: scale(.92);
    }

    .sliderRBuilt .slick-prev,
    .sliderRBuilt .slick-next {
        top: calc(150 / 750 * 100vw) !important;
    }

    .sliderRBuilt .slick-prev {
        left: 3vw !important;
    }

    .sliderRBuilt .slick-next {
        right: 3vw !important;
    }
}

/* 
    mainvisual
*/
.mainvisual {
    width: 100%;
    min-height: calc(900 / var(--break4));
    height: 100vh;
    position: relative;
    overflow: hidden;
    z-index: 1;
}

.mainvisual:after {
    content: "";
    width: 100%;
    height: 100%;
    background: url(../img/index/mainvisual.jpg)no-repeat center / cover;
    /* animation: mainvisual_scale 18s linear infinite; */
    animation: mainvisual_scale 18s linear;
    position: absolute;
    inset: 0;
    z-index: -1;
}

.mainvisual::before {
    content: "";
    width: 100%;
    height: 100%;
    margin: auto;
    background: rgba(0, 0, 0, .1);
    position: absolute;
    inset: 0;
}

@keyframes mainvisual_scale {
    to {
        transform: scale(1.15);
    }
}

/* .banner:hover:after {
    opacity: .8;
    -moz-transform: scale(1.1);
    -webkit-transform: scale(1.1);
    -ms-transform: scale(1.1);
    transform: scale(1.1);
} */

.mainvisualCopy {
    width: calc(700 / var(--break3));
    height: calc(265 / var(--break3));
    margin: auto;
    position: absolute;
    inset: -10% auto 0 5%;
    z-index: 2;
}

.mainvisualCopy img {
    width: 100%;
}

.mainvisualScroll {
    width: calc(17 / var(--break4));
    height: calc(170 / var(--break4));
    margin: auto;
    position: absolute;
    right: calc(32 / var(--break4));
    bottom: calc(42 / var(--break4));
    overflow: hidden;
}

.mainvisualScroll:before {
    content: "";
    position: absolute;
    width: calc(5 / var(--break4));
    height: calc(5 / var(--break4));
    background: #fff;
    right: 0;
    left: 0;
    margin: auto;
    border-radius: 50%;
    bottom: calc(90 / var(--break4));
}

.mainvisualScroll:after {
    content: "";
    position: absolute;
    width: 1px;
    height: calc(90 / var(--break4));
    background: #fff;
    right: 0;
    left: 0;
    margin: auto;
    top: calc(80 / var(--break4));
    animation: mainScroll 2.5s ease-in .5s infinite;
}

@keyframes mainScroll {
    0% {
        height: 0;
        top: calc(80 / var(--break4));
    }

    80% {
        height: calc(90 / var(--break4));
        top: calc(80 / var(--break4));
    }

    100% {
        top: calc(180 / var(--break4));
    }
}

.mainvisualBannerArea {
    width: calc(500 / 3000 * 100vw);
    height: calc(240 / 3000 * 100vw);
    position: absolute;
    bottom: calc(30 / 1920 * 100vw);
    left: calc(100 / 1920 * 100vw);
}

.mainvisualBannerArea .banner {
    display: block;
    position: absolute;
}

.mainvisualBannerArea .banner01 {
    width: calc(153 / 3000 * 100vw);
    top: 0;
    left: 0;
}

.mainvisualBannerArea .banner02 {
    width: calc(214/ 3000 * 100vw);
    top: 0;
    left: calc(166/ 3000 * 100vw);
}

.mainvisualBannerArea .banner05 {
    width: calc(104/ 3000 * 100vw);
    top: 0;
    right: 0;
}

.mainvisualBannerArea .banner03 {
    width: calc(380/ 3000 * 100vw);
    bottom: 0;
    left: 0;
}

.mainvisualBannerArea .banner04 {
    width: calc(104/ 3000 * 100vw);
    bottom: 0;
    right: 0;
}

@media(min-width:1899px) {
    .mainvisualBannerArea {
        width: calc(500 /3000 * 100vw);
        height: calc(240 /3000 * 100vw);
    }

    .mainvisualBannerArea .banner01 {
        width: calc(153/3000 * 100vw);
    }

    .mainvisualBannerArea .banner02 {
        width: calc(214 /3000 * 100vw);
        left: calc(166/3000 * 100vw);
    }

    .mainvisualBannerArea .banner03 {
        width: calc(380 /3000 * 100vw);
    }

    .mainvisualBannerArea .banner04 {
        width: calc(104 /3000 * 100vw);
    }
}

@media(min-width: 768px) and (max-width:1899px) {
    .mainvisual {
        height: calc(900 / var(--break4));
    }
}

@media(max-width: 767px) {
    .mainvisual {
        height: calc(100svh - 220 / 750 * 100vw);
        /* height: calc(1000 / 750 * 100vw); */
    }

    .mainvisual::before {
        background: url(../img/index/mainvisual_sp.jpg)no-repeat bottom right / cover;
    }

    .mainvisual::before {
        background: rgba(0, 0, 0, .2);
    }

    .mainvisualCopy {
        width: calc(697 / 900 * 100vw);
        height: calc(231 / 900 * 100vw);
        inset: 20% 0 auto;
    }

    .mainvisualCopy_sp {
        color: #fff;
        font-weight: bold;
        text-align: center;
        position: absolute;
        inset: calc(20% + 222 / 750 * 100vw) 0 auto;
        z-index: 2;
    }

    .mainvisualScroll {
        display: none;
    }

    .mainvisualBannerArea {
        width: calc(500 / 1111 * 100vw);
        height: calc(240 / 1111 * 100vw);
        bottom: 4vw;
        left: 4vw;
    }

    .mainvisualBannerArea .banner01 {
        width: calc(153/ 1111 * 100vw);
    }

    .mainvisualBannerArea .banner02 {
        width: calc(214 / 1111 * 100vw);
        left: calc(166/ 1111 * 100vw);
    }

    .mainvisualBannerArea .banner03 {
        width: calc(380 / 1111 * 100vw);
    }

    .mainvisualBannerArea .banner04 {
        width: calc(104 / 1111 * 100vw);
    }

    .mainvisualBannerArea .banner05 {
        width: calc(104 / 1111 * 100vw);
    }
}

.arwCommon {
    width: calc(65/ var(--break3));
    height: 1px;
    margin: auto;
    background: #000;
    position: absolute;
    inset: 0;
}

.arwCommon::before {
    content: "";
    width: calc(20 / var(--break3));
    height: calc(10 / var(--break3));
    margin: auto;
    background: #000;
    clip-path: polygon(0 100%, 0 0, 100% 100%);
    position: absolute;
    inset: auto 0 calc(100% - .5px) auto;
}

.arwCommon.mini {
    width: calc(48 / var(--break3));
}

.arwCommon.mini::before {
    width: calc(13 / var(--break3));
    height: calc(7 / var(--break3));
}

.arwCommon.white {
    background: #fff;
}

.arwCommon.white::before {
    background: #fff;
}

@media (max-width: 767px) {
    .arwCommon {
        width: calc(50 / 750 * 100vw) !important;
    }

    .arwCommon::before {
        width: calc(14 / 750 * 100vw) !important;
        height: calc(8 / 750 * 100vw) !important;
    }
}

/* 
    btnGmap
 */
.btnGmap {
    width: var(--size460px);
    height: calc(100/ var(--break3));
    margin-left: auto;
    position: relative;
    z-index: 1;
}

.btnGmap .arwCommon {
    left: auto;
}


@media (max-width: 767px) {
    .btnGmap {
        width: var(--size500px);
        height: calc(100/ var(--break3));
        font-size: 90%;
    }
}

/* 
    topEvent
*/
.topEvent {
    padding: calc(140/ var(--break3)) 0 calc(100/ var(--break3));
}

@media(min-width: 768px) and (max-width:1080px) {}

@media (max-width: 767px) {
    .topEvent {
        padding: 15vw 0 5vw;
    }
}

/* 
    topWorks
*/
.topWorks {
    padding: calc(100/ var(--break3)) 0;
}

@media(min-width: 768px) and (max-width:1080px) {}

@media (max-width: 767px) {
    .topWorks {
        padding: 12.5vw 0 2.5vw;
    }
}

/* 
    topConcept
*/
.topConcept {
    padding: calc(100/ var(--break3)) 0 calc(60/ var(--break3));
}

.topConceptAreaBallon {
    position: relative;
    z-index: 1;
}

.topConceptAreaBallon .ballon {
    width: calc(1500 / var(--break3));
    margin: auto;
    position: absolute;
    inset: 0 -50%;
}

.topConceptRibbon {
    width: calc(372 / var(--break3));
    height: calc(45 / var(--break3));
    margin: 0 auto calc(20 / var(--break3));
    line-height: 1.5;
    font-size: calc(20 / var(--break3));
    color: #fff;
    background: url(../img/index/ribbonConcept.png)no-repeat center / contain;
}

.topConceptBg {
    margin-bottom: calc(100/ var(--break3));
    padding: var(--size160px) 0 var(--size180px);
    color: #fff;
    background: url(../img/index/bgtConcept.jpg)no-repeat center / cover;
    position: relative;
    z-index: 1;
}

.topConceptBg::before {
    content: "";
    width: 100%;
    height: 100%;
    margin: auto;
    background: rgba(0, 0, 0, .2);
    position: absolute;
    inset: 0;
    z-index: -1;
}

.topConceptBg .text {
    font-size: calc(20 / var(--break3));
    letter-spacing: .2em;
}

.topConceptCopy {
    width: calc(600 / var(--break3));
    margin: 0 auto calc(50 / var(--break3));
    letter-spacing: .2em;
    text-align: center;
    font-size: calc(38 / var(--break3));
    position: relative;
    z-index: 1;
}

.topConceptCopy .s {
    font-size: 123%;
    position: absolute;
    font-weight: normal;
}

.topConceptCopy .ss {
    top: calc(-20 / var(--break3));
    left: calc(-80 /1920 * 100vw);
}

.topConceptCopy .se {
    bottom: calc(-20 / var(--break3));
    right: calc(-80 /1920 * 100vw);
}

.topConceptCover {
    margin-bottom: calc(80 / var(--break3));
}

.topConceptCover>.col {
    position: relative;
    z-index: 1;
}

.topConceptCover .permalink {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.topConceptCover .img {
    margin-bottom: calc(30 / var(--break3));
    position: relative;
    z-index: 1;
}

.topConceptCover .img::after {
    content: "";
    width: 100%;
    height: 100%;
    margin: auto;
    background: rgba(0, 0, 0, .3);
    position: absolute;
    inset: 0;
}

.topConceptCover .tag {
    width: calc(200 / var(--break3));
    height: calc(40 / var(--break3));
    line-height: 1;
    font-weight: 600;
    color: #86180F;
    background: #fff;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
}

@media(min-width: 768px) {
    .topConceptAreaBallon {
        overflow: hidden;
    }
}

@media(min-width: 768px) and (max-width:1280px) {
    .topConceptRibbon {
        width: calc(372 / var(--break3));
        height: calc(45 / var(--break3));
    }
}

@media (max-width: 767px) {
    .topConcept {
        padding: 10vw 0 4vw;
    }

    .topConceptBg {
        margin-bottom: 10vw;
        padding: 10vw 0 50vw;
        background: url(../img/index/bgtConcept.jpg)no-repeat center / cover;
    }

    .topConceptCopy {
        width: calc(520 / 750 * 100vw);
        margin: 0 auto 2.5vw;
        letter-spacing: .15em;
        font-size: calc(18 / 380 * 100vw);
    }

    .topConceptAreaBallon {
        padding-bottom: 2.5vw;
    }

    .topConceptAreaBallon .ballon {
        display: none;
    }

    .topConceptRibbon {
        display: none !important;
    }

    .topConceptText {
        font-size: 90%;
        position: relative;
        z-index: 1;
    }

    .topConceptText::before {
        content: "";
        width: calc(750 /750 * 100vw);
        height: calc(448 /750 * 100vw);
        margin: auto;
        margin: auto;
        position: absolute;
        background: url(../img/index/decoConcept_sp.jpg)no-repeat center top / contain;
        inset: 10vw -3vw 0 auto;
        z-index: -1;
    }

    .topConceptCover {
        margin-bottom: 0;
    }

    .topConceptCover .col {
        padding-bottom: 5vw;
        margin-bottom: 5vw;
        box-shadow: 0 calc(5 / var(--break3)) calc(10 / var(--break3)) 0 #ddd;
        position: relative;
        z-index: 1;
    }

    .topConceptCover .col:last-child {
        margin-bottom: 0;
    }

    .topConceptCover .col::before {
        content: "01";
        margin: auto;
        line-height: 1;
        letter-spacing: .1em;
        font-family: "Crimson Text", serif;
        font-weight: 700;
        font-style: normal;
        font-size: calc(100/ 750 * 100vw);
        color: rgba(255, 255, 255, .7);
        position: absolute;
        top: 1vw;
        left: 2.5vw;
        z-index: 10;
    }

    .topConceptCover .col02::before {
        content: "02";
    }

    .topConceptCover .col03::before {
        content: "03";
    }

    .topConceptCover .col::after {
        content: "more";
        line-height: 1;
        color: #aaa;
        position: absolute;
        bottom: 2vw;
        right: 10vw;
        z-index: 1;
    }

    .topConceptCover .arwCommon {
        background: #aaa;
        position: absolute;
        inset: auto 2vw 3vw auto;
    }

    .topConceptCover .arwCommon.white::before {
        background: #aaa;
    }

    .topConceptCover .img {
        margin-bottom: 2.5vw;
        height: calc(360/ 750 * 100vw);
        position: relative;
        z-index: 1;
    }

    .topConceptCover .img::before {
        content: "";
        width: 100%;
        height: 100%;
        margin: auto;
        background: rgba(0, 0, 0, .25);
        position: absolute;
        inset: 0;
    }

    .topConceptCover .img::after {
        content: "";
        width: calc(80/ 750 * 100vw);
        height: calc(80/ 750 * 100vw);
        margin: auto;
        background: #fff;
        clip-path: polygon(100% 0, 0 0, 100% 100%);
        position: absolute;
        top: -.5px;
        right: -.5px;
        bottom: auto;
        left: auto;
    }

    .topConceptCover .img img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .topConceptCover .tag {
        width: calc(300 / 750 * 100vw);
        height: calc(60 / 750 * 100vw);
        color: #fff;
        background: #86180F;
        right: auto;
        left: 0;
    }

    .topConceptCover .text {
        padding: 0 4vw;
        font-size: 90%;
    }
}

/* 
    topPerfomance
*/
.topPerfomance {
    padding: calc(100/ var(--break3)) 0;
}

.topPerfomanceBg {
    margin-bottom: calc(80 / var(--break3));
    padding: calc(440 / var(--break3)) 0 calc(80 / var(--break3));
    color: #fff;
    background: url(../img/index/bgPerfomance.jpg)no-repeat center / cover;
    position: relative;
    z-index: 1;
}

.topPerfomanceBg::before {
    content: "";
    width: 100%;
    height: 100%;
    margin: auto;
    background: rgba(0, 0, 0, .25);
    position: absolute;
    inset: 0;
    z-index: -1;
}

.topPerfomanceBg .text {
    letter-spacing: .2em;
    font-weight: 700;
    font-size: calc(20 / var(--break3));
}

.topPerfomanceCopy {
    display: inline-block;
    margin-bottom: calc(40 / var(--break3));
    letter-spacing: .2em;
    font-weight: bold;
    font-size: calc(40 / var(--break3));
    position: relative;
    z-index: 1;
}

.topPerfomanceCopy>.s {
    font-size: 123%;
    font-weight: 300;
    position: absolute;
}

.topPerfomanceCopy>.ss {
    top: calc(-20 / var(--break3));
    left: calc(-80 /1920 * 100vw);
}

.topPerfomanceCopy>.se {
    bottom: calc(-20 / var(--break3));
    right: calc(-80 /1920 * 100vw);
}

.topPerfomanceCover {
    margin-bottom: var(--size90px);
}

.topPerfomanceCover>.col {
    width: 25%;
    padding: 0 calc(20 / var(--break3));
    position: relative;
    z-index: 1;
}

.topPerfomanceCover>.col .permalink {
    position: absolute;
    inset: 0;
    z-index: 1;
}

.topPerfomanceCover .icon {
    display: block;
    max-width: 140px;
    width: calc(140 / var(--break3));
    margin: 0 auto calc(20 / var(--break3))
}

.topPerfomanceCover .copy {
    line-height: 1.5;
    margin: calc(10 / var(--break3)) 0;
    font-size: calc(26 / var(--break3));
    text-align: center;
    color: #86180f;
}

.topPerfomanceCover .text {
    font-size: calc(15 / var(--break3));
}

@media(min-width: 768px) {
    .topPerfomanceCover>.col {
        border-right: 1px solid #909090;
    }

    .topPerfomanceCover>.col:last-child {
        border-right: 0;
    }
}

@media (max-width: 767px) {
    .topPerfomance {
        padding: 10vw 0 4vw;
        margin-bottom: 10vw;
        position: relative;
        z-index: 1;
    }

    .topPerfomance::before {
        content: "";
        width: 100%;
        height: 70%;
        margin: auto;
        background: #eee;
        position: absolute;
        inset: auto 0 0;
        z-index: -1;
    }

    .topPerfomanceBg {
        margin-bottom: 6vw;
        padding: 11vw 0 7.5vw;
        font-size: 85%;
        text-align: center;
        background: url(../img/index/bgPerfomance_sp.jpg)no-repeat center bottom / cover;
    }

    .topPerfomanceBg .text {
        letter-spacing: .025em;
        font-size: calc(12 / 380 * 100vw);
    }

    .topPerfomanceCopy {
        display: block;
        width: calc(580 / 750 * 100vw);
        letter-spacing: .15em;
        margin: 0 auto 5vw;
        font-size: calc(18 / 380 * 100vw);
    }

    .topPerfomanceCopy>.s {
        font-size: 123%;
        font-weight: 300;
        position: absolute;
    }

    .topPerfomanceCover {
        margin-bottom: 5vw;
    }

    .topPerfomanceCover>.col {
        width: 100%;
        margin-bottom: 4vw;
        padding: 2.5vw 60vw 5vw 2.5vw;
        background: #fff;
        border-left: 4px solid #86180F;
        position: relative;
        z-index: 1;
    }

    .topPerfomanceCover>.col:last-child {
        margin-bottom: 0;
    }

    .topPerfomanceCover>.col::before {
        content: "more";
        line-height: 1;
        color: #fff;
        position: absolute;
        bottom: 2vw;
        right: 10vw;
        z-index: 1;
    }

    .topPerfomanceCover .arwCommon {
        position: absolute;
        inset: auto 2vw 3vw auto;
    }

    .topPerfomanceCover .icon {
        width: calc(80 / 750 * 100vw);
        margin: 0 auto calc(20 / var(--break3))
    }

    .topPerfomanceCover .img {
        width: 57.5vw;
        height: 100%;
        margin: auto;
        position: absolute;
        top: 0;
        right: 0;
    }

    .topPerfomanceCover .img>img {
        width: 100%;
        height: 100%;
        object-fit: cover;
    }

    .topPerfomanceCover .copy {
        font-size: calc(28 / 750 * 100vw);
    }

    .topPerfomanceCover .text {
        font-size: calc(20 / 750 * 100vw);
    }

    .topPerfomance .list-check-common {
        margin-bottom: 6vw;
        font-size: calc(14.5 / 380 * 100vw);
    }
}

/* 
    topReadyBuilt
*/
.topReadyBuilt {
    padding: calc(140 / var(--break3)) 0;
}

.topReadyBuilt01 {
    margin-bottom: calc(80 / var(--break3));
}

.topReadyBuiltImg {
    display: block;
    max-width: 1280px;
    width: 92%;
    text-align: center;
    margin: 0 auto calc(80 / var(--break3));
    position: relative;
    z-index: 1;
}

.topReadyBuiltImg img {
    width: 100%;
}

.topReadyBuiltImg .list {
    justify-content: space-between;
    max-width: 600px;
    width: 90%;
    margin: auto;
    position: absolute;
    bottom: calc(-20 / var(--break3));
    left: 0;
    right: 0;
}

.topReadyBuiltImg .list::before {
    content: "";
    width: 98%;
    height: calc(5 / var(--break3));
    margin: auto;
    background: rgba(23, 122, 31, .4);
    position: absolute;
    inset: 0;
}

.topReadyBuiltImg li {
    max-width: 180px;
    width: 23.6%;
    min-height: calc(60 / var(--break3));
    font-weight: bold;
    font-size: calc(16 / var(--break3));
    border: 1px solid #177A1F;
    color: #177A1F;
    background: #fff;
    position: relative;
    z-index: 1;
}

@media(min-width: 768px) and (max-width:1080px) {}

@media (max-width: 767px) {
    .topReadyBuilt {
        padding: 10vw 0;
    }

    .topReadyBuiltImg {
        width: 100%;
        margin: 0 auto 6vw;
    }

    .topReadyBuiltImg li {
        min-height: calc(30 / 380 * 100vw);
        font-size: calc(15 / 380 * 100vw);
    }
}

/* 
    topReadyBuilt02
*/
.topReadyBuilt02 {
    margin-bottom: calc(60/ var(--break3));
}

.topReadyBuiltBg {
    padding: calc(80 / var(--break3)) 0;
    background: url(../img/index/bgReadyBuilt.jpg)no-repeat center / cover;
}

@media (max-width: 767px) {
    .topReadyBuilt02 {
        margin-bottom: 6vw;
    }
}

/* 
    topCostomer
*/
.topCostomerCover {
    background: #eee;
    border-top: 3px solid #86180F;
    border-bottom: 3px solid #86180F;
    position: relative;
    z-index: 1;
}

.topCostomerCover .areaTexet {
    width: 42.5%;
    padding: calc(140 / var(--break3)) 0;
    position: relative;
    z-index: 1;
}

.topCostomerCopy {
    padding-top: calc(50/ var(--break3));
    font-size: calc(20 / var(--break3));
    text-align: center;
    position: relative;
    inset: 1;
}

.topCostomerCopy::before {
    content: "";
    max-width: 80%;
    width: calc(300 / var(--break3));
    height: calc(5 / var(--break3));
    margin: auto;
    border-top: 3px dashed #000;
    position: absolute;
    inset: 0 0 auto;
}

.topCostomerCover::before {
    content: "";
    width: 57.5%;
    height: 100%;
    margin: auto;
    position: absolute;
    background: url(../img/index/bgCostomerCover.jpg)no-repeat center / cover;
    inset: 0 0 0 auto;
}

.topCostomerBtn {
    display: block;
    width: 100%;
    height: 100%;
    margin: auto;
    position: absolute;
    inset: 0;
    z-index: 2;
}

.topCostomerScroll {
    width: calc(200 / var(--break3));
    height: calc(20 / var(--break3));
    margin: auto;
    line-height: .9;
    color: #fff;
    position: absolute;
    right: calc(30 / var(--break3));
    bottom: calc(30 / var(--break3));
    overflow: hidden;
}

.topCostomerScroll:before {
    content: "";
    width: calc(10 / var(--break3));
    height: calc(10 / var(--break3));
    margin: auto;
    background: #fff;
    border-radius: 50%;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 0;
}

.topCostomerScroll:after {
    content: "";
    position: absolute;
    height: 2px;
    width: calc(100/ var(--break3));
    background: #fff;
    top: 50%;
    transform: translateY(-50%);
    left: calc(80 / var(--break3));
    animation: scrollbtn 2.5s ease-in 0.5s infinite;
}

@keyframes scrollbtn {
    0% {
        width: 0;
        left: calc(80 / var(--break3));
    }

    80% {
        width: calc(90 / var(--break3));
        left: calc(80 / var(--break3));
    }

    100% {
        left: calc(180 / var(--break3));
    }
}

@media(min-width: 768px) {
    .topCostomerCover .btnCommon02 {
        display: none;
    }
}

@media (max-width: 767px) {
    .topCostomerCover {
        padding-top: calc(400 / 750 * 100vw);
        border-top: 0;
        border-bottom: 0;
        background-image: linear-gradient(to bottom, #fff, #ccc);
    }

    .topCostomerCover .areaTexet {
        width: calc(600 / 750 * 100vw);
        padding: 4vw 0 6vw;
        margin: auto;
        background: rgba(255, 255, 255, .8);
        position: static;
        z-index: 2;
    }

    .topCostomerCover .titleCostomer {
        position: absolute;
        text-align: left;
        top: 0;
        left: 3.5vw;
    }

    .topCostomerCopy {
        margin-bottom: 4vw;
        padding-top: 0;
        font-size: calc(28 / 750 * 100vw);
    }

    .topCostomerCopy::before {
        content: none;
    }

    .topCostomerCover::before {
        width: 100%;
        height: calc(494 / 750 * 100vw);
        background: url(../img/index/imgCostomerCover_sp.png)no-repeat center / cover;
        inset: 0 0 auto;
        z-index: -1;
    }

    .topCostomerCover::after {
        content: "";
        width: calc(100 / 750 * 100vw);
        height: calc(100 / 750 * 100vw);
        margin: auto;
        border: 1px solid #000;
        position: absolute;
        top: 25vw;
        right: 2.5vw;
        z-index: -2;
    }

    .topCostomerBtn {
        display: none;
    }

    .topCostomerScroll {
        display: none;
    }
}

/* 
    topNews topTopic
*/
.topNews {
    padding: calc(100/ var(--break3)) 0 calc(200 / var(--break3));
    position: relative;
    z-index: 1;
}

@media(min-width: 768px) {
    .topNews::before {
        content: "";
        max-width: 1500px;
        width: 80%;
        height: calc(99% - 510 / var(--break3));
        margin: auto;
        background: #eee;
        position: absolute;
        inset: -8% 0 0 auto;
        z-index: -1;
    }
}

@media (max-width: 767px) {
    .topNews {
        padding: 11vw 0 20vw;
    }
}

/*  
    listNews
*/
.listNews li {
    padding: 0 calc(5 / var(--break3));
    overflow: hidden;
}

.listNewsThumbnail {
    display: block;
    width: 100%;
    height: calc(240 / var(--break3));
    margin: 0 auto calc(25 / var(--break3));
    position: relative;
    z-index: 1;
}

.listNewsThumbnail img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.listNewsCategory {
    display: block;
    width: 100%;
    margin-bottom: calc(20 / var(--break3));
}

.listNewsCategory span {
    display: inline-block;
    padding: calc(5 / var(--break3)) calc(15 / var(--break3));
    margin-right: calc(10 / var(--break3));
    line-height: 1.5;
    font-size: 80%;
    color: #177A1F;
    background: #fff;
    border: 2px solid #177A1F;
    border-radius: 3px;
}

.listNewsText {
    display: block;
    width: 100%;
    flex: 1;
    line-height: 1.6;
    font-size: 90%;
}

.listNewsText2 {
    font-size: calc(19 / var(--break3));
}

.listNewsDate {
    display: block;
    margin-bottom: calc(10 / var(--break3));
    line-height: 1;
    color: #909090;
    font-size: calc(15 / var(--break3));
}

.listNewsDeco {
    padding: calc(10 / var(--break3));
    color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.listNewsDeco::before {
    content: "";
    width: var(--size85px);
    height: var(--size85px);
    margin: auto;
    background: #86180F;
    clip-path: polygon(0 0, 0% 100%, 100% 0);
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

@media(min-width: 768px) {
    .listNewsSider li {
        margin-right: 1.32%;
    }

    .listNews li:nth-of-type(4n),
    .listNews li:last-child {
        margin-right: 0;
    }
}

@media (max-width: 767px) {
    .listNews li {
        width: calc(600 / 750 * 100vw);
        padding: 0 3vw 1vw;
        position: relative;
        z-index: 1;
    }

    .listNewsThumbnail {
        height: calc(340 / 750 * 100vw);
        margin-bottom: calc(20 / 750 * 100vw);
    }

    .listNewsCategory span {
        display: flex;
        align-items: center;
        justify-content: center;
        min-width: calc(130 / 750*100vw);
        padding: 1vw 2vw;
        font-size: calc(11/380*100vw);
        border-width: 1px;
        position: absolute;
        top: calc(350 / 750 * 100vw);
        left: 0;
    }

    .listNewsText {
        padding-left: calc(140 / 750*100vw);
        font-size: calc(11 /380*100vw);
    }

    .listNewsText2 {
        font-size: calc(13.5 /380*100vw);
    }

    .listNewsDate {
        margin-bottom: 1vw;
        font-size: calc(11.5 /380*100vw);
    }


    .listNewsSider .slick-prev,
    .listNewsSider .slick-next {
        top: calc(150 / 750 * 100vw) !important;
    }

    .listNewsSider .slick-prev {
        left: 6vw !important;
    }

    .listNewsSider .slick-next {
        right: 6vw !important;
    }


}

/*  
    footerContat
*/
.footerContat {
    padding: calc(65/ var(--break3)) 0 calc(80 / var(--break3));
    background: url(../img/index/bgContact.jpg)no-repeat center / cover;
    position: relative;
    z-index: 1;
}

.footerContat::before {
    content: "";
    width: 100%;
    height: 100%;
    margin: auto;
    background: rgba(0, 0, 0, .25);
    position: absolute;
    inset: 0;
    z-index: -1;
}

.areaFooter {
    padding: calc(80 / var(--break3)) 0;
    background: #F0F0F0;
}

.rowFooter {
    font-size: calc(18 / var(--break3));
}

.rowFooter>.col02 {
    padding: 0 calc(30 / var(--break3));
    position: relative;
    z-index: 1;
}

.rowFooter>.col02::before,
.rowFooter>.col02::after {
    content: "";
    width: 1px;
    height: 100%;
    margin: auto;
    background: #000;
    position: absolute;
    inset: 0;
    z-index: -1;
}

.rowFooter>.col02::before {
    left: auto;
}

.rowFooter>.col02::after {
    right: auto;
}

.rowSitemapFooter {
    max-width: 700px;
    margin: auto;
}

.copyright {
    padding: calc(25 / var(--break3)) 0;
    font-size: 80%;
    text-align: center;
    background: #F0F0F0;
}

.pagetop {
    display: block;
    width: calc(75 / var(--break3));
    position: fixed;
    right: calc(15 / var(--break3));
    bottom: calc(15 / var(--break3));
    opacity: 0;
    transition: .5s all;
    z-index: 100;
}

@media(min-width: 768px) and (max-width:1280px) {
    .areaFooter {
        font-size: 80%;
    }
}

@media(min-width: 768px) and (max-width:1080px) {
    .areaFooter {
        letter-spacing: 0;
    }
}
@media(min-width: 768px) and (max-width:1024px) {
    .rowSitemapFooter .text-xl{
       font-size: calc(24 / var(--break3));
    }
}
@media (max-width: 767px) {
    .footerContat {
        padding: 10vw 0;
        background: url(../img/index/bgContact.jpg)no-repeat 80% / cover;
    }

    .footerContat .copyCommon {
        color: #fff;
    }

    .logoFooter {
        width: calc(120 / 380 * 100vw);
        margin: 0 auto 5vw;
    }

    .rowFooterSns {
        width: calc(480 / 1111 * 100vw);
        margin: 5vw auto 0;
    }

    .rowFooterSns .icon {
        width: calc(90 / 1111 * 100vw);
    }

    .rowFooter {
        display: none !important;
    }

}

/* 
    fixMenu_sp  
*/
@media (max-width: 767px) {
    .copyright {
        padding: 4vw 0 calc(150 / 750 * 100vw);
        font-size: 80%;
        text-align: center;
        background: #F0F0F0;
    }

    .pagetop {
        width: calc(110 / 750 * 100vw);
        height: calc(110 / 750 * 100vw);
        background: #86180F;
        opacity: 1;
        bottom: 0;
        right: 0;
    }

    .fixMenu_sp {
        width: calc(100% - 110 / 750 * 100vw);
        background: var(--color);
        position: fixed;
        bottom: 0;
        left: 0;
        transition: .5s all;
        z-index: 999;
    }

    .fixMenu_sp>.btnCommon {
        width: calc(99.999% / 3);
        height: calc(110 / 750 * 100vw);
        letter-spacing: 0;
        font-weight: 700;
        font-size: calc(23 / 750 * 100vw);
        border-right: 1px solid #fff;
    }

    .fixMenu_sp .btnCommon .deco {
        padding-top: 0;
        padding-left: calc(42 / 750 * 100vw);
    }

    .fixMenu_sp .btnCommon .icon {
        width: calc(28 / 750 * 100vw);
        height: calc(28 / 750 * 100vw);
        inset: 0 auto 0 0;
    }
}