.ff-playfair {
}
.ff-min {
    font-family:  "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    color:#333;
}

@media screen and (min-width: 1100px) {
    .visible-md,
    .visible-sm,
    .visible-xs {
        display: none
    }
    .visible-lg {
        display: inherit
    }
}

@media screen and (min-width: 1024px) and (max-width: 1100px) {
    .visible-lg,
    .visible-sm,
    .visible-xs {
        display: none
    }
    .visible-md {
        display: inherit
    }
}

.visible-xs-corner {
    display: none;
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
    .visible-lg,
    .visible-md,
    .visible-xs {
        display: none
    }
    .visible-sm {
        display: inherit
    }


}

@media screen and (max-width: 767px) {
    .visible-lg,
    .visible-md,
    .visible-sm {
        display: none
    }
    .visible-xs {
        display: inherit
    }
    .visible-xs-corner {display: block}

}
.bg-lightGray {
    background: #e7e7e7;
}
.bg-Black {
    background: #333
}
* {
    vertical-align: baseline;
    outline: 0;
    border: 0;
    margin: 0;
    padding: 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: transparent
}
html {
    background: #fff;
    font-family:  "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
    color: #333
}

@media screen and (min-width: 768px) {
    html {
        font-size: 10px;
        color:#333;
    }
}

@media screen and (max-width: 767px) {
    html {
        font-size: 2.66666vw
    }
}
body {
    width: 100%;
    overflow: auto
}
main {
    display: block
}
a {
    display: inline-block;
    text-decoration: none;
    color: #333
}

@media screen and (min-width: 768px) {
    a {
        -webkit-transition: all .3s;
        transition: all .3s
    }
    aa::before,
    aa::after {
        -webkit-transition: all .3s;
        transition: all .3s
    }
}
img {
    vertical-align: bottom;
    width: 100%;
    height: auto
}
sup {
    font-size: 0.5em;
    vertical-align: super
}
input,
button,
textarea,
select {
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none
}
table {
    border-collapse: collapse;
    border-spacing: 0;
    width: 100%
}
ol,
ul {
    list-style: none
}
[class*=l-content] {
    margin: 0 auto
}

@media screen and (min-width: 768px) {
    [class*=l-content] {
        width: 100%;
    }
}

@media screen and (max-width: 767px) {
    [class*=l-content] {
        padding: 0 1.5rem
    }
}



@media screen and (min-width: 768px) and (max-width: 1024px) {
    .t-content-lg {
        max-width: 800px
    }
}

@media screen and (min-width: 1025px) {
    .l-content-lg {
        max-width:100%;
        padding: 0 5%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .l-content-lg {
        max-width: 800px
    }
}

@media screen and (min-width: 1024px) {
    .l-content-md {
        max-width:100%;
        padding: 0 5%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .l-content-md {
        max-width: 800px
    }
}
header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    width: 100%;
    padding: 0 2% 0 4%;
}

.header__logo {
    position: absolute;      /* ロゴを中央に配置 */
    left: 50%;               /* 中央に配置 */
    transform: translateX(-50%); /* 中央に正確に配置 */
}

@media screen and (min-width: 768px) {
    header {
        height: 2.3vw;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    header {
        padding: 0 1rem 0 2rem
    }
}

@media screen and (max-width: 767px) {
    header {
        height: 6rem;
        padding: 0 5.33333% 0 4%;
    }
}
.header__bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background: rgba(255,255,255,0.9);
    -webkit-backdrop-filter: blur(5px);
    backdrop-filter: blur(5px);
    width: 100%;
    height: 100%
}

@media screen and (min-width: 768px) {
    [class*='header__logo'] {
        width: 205px
    }
}

@media screen and (max-width: 767px) {
    [class*='header__logo'] {
        width: 12rem
    }
}
.header__logo__top {
    display: none
}

@media screen and (max-width: 767px) {
    .header__nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        visibility: hidden;
        position: fixed;
        top: 0;
        left: 0;
        opacity: 0;
        z-index: -1;
        -webkit-transition: all .4s;
        transition: all .4s;
        background: #fff;
        width: 100%;
        height: 100vh
    }
}

@media screen and (max-width: 767px) {
    .is-hamactive .header__nav {
        visibility: inherit;
        opacity: 1;
        z-index: 50
    }
}

@media screen and (max-width: 767px) {
    .ham {
        position: relative;
        z-index: 100;
        width: 2.6rem;
        height: 2px
    }
    .ham__item {
        position: absolute;
        left: 0;
        display: block;
        background: #333;
        width: 100%;
        height: 2px;
        -webkit-transition: all .4s;
        transition: all .4s
    }
    .ham__item:nth-child(1) {
        top: -0.5rem
    }
    .ham__item:nth-child(2) {
        top: 0.5rem
    }
    .is-hamactive .ham__item:nth-child(1) {
        top: 0;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg)
    }
    .is-hamactive .ham__item:nth-child(2) {
        top: 0;
        -webkit-transform: rotate(45deg);
        transform: rotate(45deg)
    }
}

@media screen and (min-width: 768px) {
    .ham {
        display: none
    }
}

@media screen and (min-width: 768px) {
    .gnav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        height: 10rem
    }
}

@media screen and (max-width: 767px) {
    .gnav {
        width: 100%
    }
}

@media screen and (min-width: 768px) {
    .gnav__item {
        position: relative;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        margin: 0 2.5rem;
        font-size: 1.6rem;
        letter-spacing: .05em
    }
    .gnav__item .line {
        opacity: 0;
        display: block;
        position: absolute;
        bottom: -1.5rem;
        left: 0;
        background: #333;
        width: 100%;
        height: 1px;
        -webkit-transform: scaleX(0);
        transform: scaleX(0);
        -webkit-transition: .3s;
        transition: .3s
    }
    .gnav__item .line:after {
        content: '';
        position: absolute;
        top: 0;
        left: 50%;
        -webkit-transform: translateX(-50%);
        transform: translateX(-50%);
        width: 0;
        height: 0;
        /* border-style: solid; */
        /* border-width: 6px 5.5px 0 5.5px; */
        /* border-color: #333 transparent transparent transparent */
    }
    .gnav__item:hover {
    }
    .gnav__item:hover .line {
        opacity: 1;
        -webkit-transform: scaleX(1);
        transform: scaleX(1)
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .gnav__item {
        margin: 0 1.5rem
    }
}

@media screen and (max-width: 767px) {
    .gnav__item {
        display: block;
        text-align: center;
        padding: 3rem 1.5rem;
        font-size: 2rem
    }
}
.footer__head {
    background: #fff
}

@media screen and (min-width: 768px) {
    .footer__head {
        padding: 5rem 5rem 4rem
    }
}

@media screen and (max-width: 767px) {
    .footer__head {
        padding: 3.5rem 1.5rem
    }
}
.footer__foot {
    background: #333
}
.footer__nav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    flex-flow: row nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}


@media screen and (min-width: 768px) {
    .footer__nav {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        flex-flow:row nowrap;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin-bottom: 5rem;
    }
}

@media screen and (max-width: 767px) {
    .footer__nav {
        margin-bottom: 3.5rem;
        margin-right: 2rem;
    }
}
.footer__nav__item {
    letter-spacing: .1em;
    line-height: 2.5;
    width:33%;
    text-align:center;
}
.footer__nav__item:nth-child(n+2) {
    border-left: 1px solid #d6d6d6;
}

@media screen and (min-width: 768px) {
    .footer__nav__item {
        padding: 0 3rem;
        font-size: 1.4rem;
        width:12%;
        text-align:center;
    }
    .footer__nav__item:hover {
        color: #333
    }
}


@media screen and (max-width: 599px) {
    .footer__nav__item {
        letter-spacing: .1em;
        line-height: 2.5;
        width: 22%;
        text-align:
        center;
    }
}
@media screen and (min-width: 600px) and (max-width:1024px){
    .footer__nav__item {
        letter-spacing: .1em;
        line-height: 2.5;
        width:33%;
        text-align:center;
    }
}
@media screen and (min-width: 1025px) {
    .footer__nav__item {
        padding: 0 3rem;
        font-size: 1.4rem;
        width:12%;
        text-align:center;
    }
}





@media screen and (max-width: 767px) {
    .footer__nav__item {
        padding: 0 1.5rem;
        font-size: 1.2rem
    }
    .footer__nav__item:first-child {
        margin-right:1rem;
    }
}
.footer__logo {
    display: block;
    margin: 0 auto
}

@media screen and (min-width: 768px) {
    .footer__logo {
        width: 160px
    }
}

@media screen and (max-width: 767px) {
    .footer__logo {
        width: 38.4vw
    }
}
.copyright {
    color: #fff;
    text-align: center;
    letter-spacing: .1em
}

@media screen and (min-width: 768px) {
    .copyright {
        padding: 2.7rem;
        font-size: 1.2rem
    }
}

@media screen and (max-width: 767px) {
    .copyright {
        padding: 1.7rem;
        font-size: 0.6rem
    }
}
.pagetop {
    position: fixed;
    right: 0;
    opacity: 0;
    -webkit-transition: opacity 0.3s;
    transition: opacity 0.3s;
    z-index: 100
}

@media screen and (min-width: 768px) {
    .pagetop {
        width: 7rem;
        bottom: 9rem;
        cursor: pointer
    }
}

@media screen and (max-width: 767px) {
    .pagetop {
        width: 5rem;
        bottom: 6rem
    }
}
.is-scroll .pagetop {
    opacity: 1
}

.sp_only {
    display: block;
}
.pc_only {
    display: none;
}

@media screen and (min-width: 768px) {
    .sp_only {
        display: none;
    }
    .pc_only {
        display: block;
    }
}



/* -----------------------------------------
 header
----------------------------------------- */
/*
 header__bg
----------------- */
.header__bg {
    opacity: 0;
    -webkit-transition: all .7s;
    transition: all .7s
}
.is-scroll .header__bg {
    opacity: 1
}
.is-scroll .header__logo {
    opacity: 1
}
.is-scroll .header__logo__top {
    opacity: 0
}
.ham__item {
    background: #fff
}
.is-hamactive .ham__item,
.is-scroll .ham__item {
    background: #656565
}


/*
 header__nav
----------------- */
.gnav__item {
    color: #fff
}
.is-hamactive .gnav__item,
.is-scroll .gnav__item {
    color: #656565
}
.is-scroll .gnav__item:hover {
    color: #333
}



/* -----------------------------------------
 main
----------------------------------------- */
@media screen and (min-width: 768px) {
    .main {
        padding-top: 76vh
    }
}

@media screen and (max-width: 767px) {
    .main {
        padding-top: 135.33333vw;
    }
}


.open__heading {
    margin: 0 auto
}

@media screen and (min-width: 768px) {
    .open .open__heading {
        width: 50rem
    }
}

@media screen and (max-width: 767px) {
    .open .open__heading {
        width: 54.13333%
    }
}



/*
 topmv
----------------- */
.topmv {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: -1;
    text-align: center
}

@media screen and (min-width: 768px) {
    .topmv {
        top:71px;
        height: calc( 76vh - 71px);
        background: url(/wp/wp-content/themes/idc/assets/images/shop/funabashi/teaser/mv.jpg) no-repeat center/cover;
        padding-top: 24vh;
    }
    .header__logo__top {
        display: block;;
    }

}

@media screen and (max-width: 767px) {
    .topmv {
        height: 140.33333vw;
        background: url(/wp/wp-content/themes/idc/assets/images/shop/funabashi/teaser/mv_sp.jpg) no-repeat center/cover;
        background-position: bottom;
        padding-top: 43%;
    }
    .header__logo {
        opacity: 0
    }

    .header__logo__top {
        opacity: 1;
        position: absolute;
        display: block
    }


}

.topmv__subheading {
    color: #fff
}

.topmv__subheading span {
    letter-spacing: 1.5px;
    padding-right: 0.3rem;
}

@media screen and (min-width: 1400px) {
    .topmv__subheading {
        margin-bottom: 2.9285vw;
        font-size: 1.5vw;
        letter-spacing: 4px;
    }
    .topmv__subheading span {
        letter-spacing: 1.5px;
        padding-right: 0.3rem;
    }
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
    .topmv__subheading {
        margin-bottom: 4.5rem;
        font-size: 2.5rem;
        letter-spacing: 4px;
    }
    .topmv__subheading span {
        letter-spacing: 1.5px;
        padding-right: 0.3rem;
    }
}

@media screen and (max-width: 767px) {
    .topmv__subheading {
        margin-bottom: 1.8rem;
        font-size: 1.3rem;
        letter-spacing: 3px;
    }
    .topmv__subheading span {
        letter-spacing: 1.5px;
        padding-right: 0.3rem;
    }
}

@media screen and (min-width: 1400px) {
    .topmv__heading {
        width: 15vw;
    }
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
    .topmv__heading {
        width: 28.5rem;
    }
}

@media screen and (max-width: 767px) {
    .topmv__heading {
        width: 36%;
    }
}


.topmv__funabashi {
    margin: 0 auto;
}

@media screen and (min-width: 1400px) {
    .topmv__funabashi {
        margin-top: 1vw;
        width: 43vw
    }
}

@media screen and (min-width: 768px) and (max-width: 1400px) {
    .topmv__funabashi {
        margin-top: 2rem;
        width: 620px
    }
}

@media screen and (max-width: 767px) {
    .topmv__funabashi {
        width: 80%;
        margin-top: 1rem;
    }
}

.topmv__scroll {
    position: absolute;
    color: #fff;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    padding: 0 0 2.5rem;
    letter-spacing: .2em
}

.topmv__scroll:after {
    content: '';
    position: absolute;
    bottom: 5%;
    left: 50%;
    -webkit-transform: translateX(-50%) rotate(45deg);
    transform: translateX(-50%) rotate(45deg);
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    -webkit-animation: arrow 2s infinite;
    animation: arrow 2s infinite;
}

@media screen and (min-width: 768px) {
    .topmv__scroll {
        font-size: 1.2rem;
        bottom: 2rem;
    }
    .topmv__scroll:after {
        width: 1.5rem;
        height: 1.5rem;
    }
}

@media screen and (max-width: 767px) {
    .topmv__scroll {
        font-size: .8rem;
        bottom: 3%;
    }
    .topmv__scroll:after {
        width: 1rem;
        height: 1rem;
    }
}

@media screen and (min-width: 768px) {
    @-webkit-keyframes arrow {
        0% {
            bottom:0;
            opacity:0
        }
        20% {
            opacity:1
        }
        70% {
            bottom:-1rem;
            opacity:0
        }
        100% {
            bottom:0;
            opacity:0
        }
    }
    @keyframes arrow {
        0% {
            bottom:0;
            opacity:0
        }
        20% {
            opacity:1
        }
        70% {
            bottom:-1rem;
            opacity:0
        }
        100% {
            bottom:0;
            opacity:0
        }
    }
}

@media screen and (max-width: 767px) {
    @-webkit-keyframes arrow {
        0% {
            bottom:1.5rem;
            opacity:0
        }
        20% {
            opacity:1
        }
        70% {
            bottom:0.5rem;
            opacity:0
        }
        100% {
            bottom:1.5rem;
            opacity:0
        }
    }
    @keyframes arrow {
        0% {
            bottom:1.5rem;
            opacity:0
        }
        20% {
            opacity:1
        }
        70% {
            bottom:0.5rem;
            opacity:0
        }
        100% {
            bottom:1.5rem;
            opacity:0
        }
    }
}





/* -------------------------------------
topcontent
------------------------------------- */
.topcontent {
    position: relative;
    z-index: 50;
    background: #fff
}

/*
 topnav
----------------- */
.topnav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}
.topnav__item {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-top: 1px solid #FFF;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    width: 133.33333%;
    text-align: center;
    letter-spacing: 0.05em;
    background: #c3c3c3;


}
.topnav__item:first-child {
    border-left: 1px solid #fff;
}
.topnav__item:after {
    display: none;
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    background: #333;
    margin-left: -1px
}

@media screen and (min-width: 768px) {
    .topnav__item {
        height: 12rem;
        font-size: 3rem;
        color: #fff;
        letter-spacing: 2px;
    }
    .topnav__item:hover {
        background: #8d8c8c;
        color:#fff;
    }
    .topnav__item:after {
        width: 2px;
        height: 3rem
    }
}

@media screen and (max-width: 767px) {
    .topnav__item {
        height: 6rem;
        font-size: 1.3rem;
        color:#fff;
        letter-spacing:1.2px;
    }
    .topnav__item:after {
        width: 1px;
        height: 1rem
    }
}

/*
 topsection
----------------- */
@media screen and (min-width: 768px) {
    .topsection {
        padding: 10rem 0 4rem;
    }
}

@media screen and (max-width: 767px) {
    .topsection {
        padding: 4rem 0 3rem;
    }
    .topsection:nth-of-type(2) {
        padding: 2rem 0 0;
    }
    .topsection:last-child {
        padding:5rem 0 0;
    }
}

/*
 section__headwrap
-------------------------- */
.section__headwrap {
    position: relative;
    text-align: center;
}

@media screen and (min-width: 768px) {
    .section__headwrap {
        margin-bottom: 5rem;
        padding-bottom: 3.5rem;
    }
    #access .section__headwrap {
        margin-bottom: 7rem;

    }
}

@media screen and (max-width: 767px) {
    .section__headwrap {
        margin-bottom: 3.5rem;
        padding-bottom: 3rem
    }
}
.section__heading {
    letter-spacing: 0.3px;
}

@media screen and (min-width: 768px) {
    .section__heading {
        font-size: 3.5rem;
        font-weight: normal;
        letter-spacing: 2px;
    }
}

@media screen and (max-width: 767px) {
    .section__heading {
        font-size: 2.4rem;
        letter-spacing:2.5px;
        font-weight:normal;
    }
}
.section__line {
    display: inline-block;
    position: absolute;
    left: 50%;
    width: 10%;
    bottom: 0;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    height: 1px;

}
.section__line:before {
    width: 10%;
    height: 100%;
    background: #333;
}
#service .section__line:before {
    background: #fff;
}

@media screen and (min-width: 768px) {
    .section__line {
        width: 5%;
        background-color:#333;
    }
    #service .section__line {
        background: #fff;
    }
}

@media screen and (max-width: 767px) {
    .section__line {
        width: 9%;
        background-color:#333;
    }
    #service .section__line {
        background: #fff;
    }
}
.section__lead {
    font-weight: normal
}

@media screen and (min-width: 768px) {
    .section__lead {
        margin-bottom: 5rem;
        text-align: center;
        font-size: 2.4rem
    }
    #service .section__lead {
        color:#fff;
    }
}

@media screen and (max-width: 767px) {
    .section__lead {
        margin-bottom: 3rem;
        font-size: 1.8rem;
        text-align: center;
        line-height: 1.8
    }
    #service .section__lead {
        margin-bottom: 3rem;
        font-size: 1.8rem;
        text-align: center;
        line-height: 1.8;
        color: #fff;
    }
}
.section__lead__text {
    margin-bottom: 18rem;
    text-align: center;
    font-size: 18px;
    line-height: 45px;
}

@media screen and (max-width: 767px) {
    .section__lead__text {
        margin-bottom: 10rem;
    }
}



/* -----------------------------------------

 CONCEPT

----------------------------------------- */
.concept {
    overflow: hidden
}

@media screen and (min-width: 768px) {
    .concept__lead {
        margin-bottom: 3rem;
        letter-spacing: 1px;
    }
}
.concept__block {
    position: relative;
    margin-bottom:3rem;
}
.concept__block:before {
    content: '';
    display: block;
    position: absolute;
    z-index: 5
}

@media screen and (min-width: 768px) {
    .concept__block {
        /* margin-bottom: 4rem; */
    }
    .concept__block+.concept__block {
        margin-top: 17rem
    }
    .concept__block:before {
        top: 3rem;
        width: 85.71428%;
        height: 105%
    }
    .concept__block:first-child::before {
        top: -7rem;
        width: 85.71428%;
        height: 120%;
    }
    .concept__block:nth-child(2n+1):before {
        left: 0;
        border-left: 4px solid #333;
        background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(80%, #fff), to(#fff));
        background: linear-gradient(to right, #fff 0%, #fff 80%, #fff 100%);
    }
    .concept__block:nth-child(2n):before {
        right: 0;
        border-right: 4px solid #333;
        background: linear-gradient(to left, #fff 0%, #fff 80%, #fff 100%);
    }

}

@media screen and (max-width: 767px) {
    .concept__block+.concept__block {
        margin-top: 10rem
    }
    .concept__block:before {
        top: 2rem;
        width: 100%;
        height: 100%
    }
    .concept__block:first-child::before {
        top: -4rem;
        width: 100%;
        height: 103%
    }
    .concept__block:nth-child(2n+1):before {
        left: 0;
        border-left: 4px solid #333;
        background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(80%, #fff), to(#fff));
        background: linear-gradient(to right, #fff 0%, #fff 80%, #fff 100%)
    }
    .concept__block:nth-child(2n):before {
        right: 0;
        border-right: 4px solid #333;
        background: -webkit-gradient(linear, right top, left top, from(#fff), color-stop(80%, #fff), to(#fff));
        background: linear-gradient(to left, #fff 0%, #fff 80%, #fff 100%);
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .concept__block {
        padding:0 2rem;
    }
}


.concept__block__inner {
    position: relative;
    z-index: 10
}

@media screen and (min-width: 768px) {
    .concept__block__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top:10rem;
    }
}

@media screen and (max-width: 767px) {
    .concept__block__inner {
        padding: 0 3rem
    }
}

@media screen and (min-width: 768px) {
    .concept__block:nth-child(2n) .concept__block__inner {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
}
.concept__block__head {
    position: relative;
    margin-bottom:2rem;
}

@media screen and (min-width: 768px) {
    .concept__block__head {
        width: 50%;
        padding-top: 7rem;
    }
}


@media screen and (min-width: 768px) {
    .concept__block .concept__block__img {
        padding-left: 9rem
    }
}
.concept__block__img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 50%
}

.concept__block__head__01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%
}


@media screen and (max-width: 767px) {
    .concept__block__img{
        width: 100%
    }
    .concept__block__head__01{
        width: 100%;
        margin-top: 2.5rem;
    }

}
.concept__img__text {
    margin-top: .5rem;
    color: #333;
    font-size: 1.2rem;
    line-height: 1.8
}



.concept__img__top {
    position: relative
}

@media screen and (max-width: 767px) {
    .concept__img__top {
        padding: 0 1rem 3rem
    }
}

@media screen and (min-width: 768px) {
    .concept__img__topBox {
        padding: 18px 0 30px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .concept__img__topBox {
        padding: 120px 0 30px
    }
}

@media screen and (min-width: 768px) {
    .concept__img__topImg {
        /* position: absolute; */
        bottom: 1rem;
        /* left: 25%; */
        /* width: 122% */
    }
    .concept__img__topBox__text__right {
        padding: 0 0 3rem 7rem;
    }
}

@media screen and (max-width: 1430px) {
    .concept__img__topImg {
        /* width: 35vw */
    }
    .concept__img__topBox {
        padding: 0 2rem 3rem 0;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .concept__img__topImg {
        width: auto;
        left: auto;
        right: 0;
        bottom: auto;
        top: 0
    }
}

@media screen and (max-width: 767px) {
    .concept__img__topImg {
        width: 100%;
        position: relative;
        left: 9%;
        bottom: -1rem;
    }
}
.concept__img__topTitle {
    display: inline-block;
    margin-top: 2.5rem;
    padding: 2px 10px;
    background: #333;
    color: #fff;
    font-size: 1.3rem;
    text-align: center
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .concept__img__topTitle {
        margin-bottom: 1rem
    }
}

@media screen and (max-width: 767px) {
    .concept__img__topTitle {
        margin-bottom: 1rem;
    }
}
.concept__img__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}
.concept__img__bottomItem {
    width: calc((100% - 1rem) /2)
}
.concept__img__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (max-width: 767px) {
    .concept__img__list {
        margin-top: 3rem
    }
}
.concept__img__item {
    margin-bottom: 1rem;
}
.concept__img__item.--half {
                         width: calc((100% - 1rem) / 2)
                     }
.concept__img__item.--full {
                         width: 100%
                     }
.concept__img__item {
    margin-right: 1rem
}
.concept__block__num {
    position: absolute;
    top: -5rem;
    display: inline-block;
    color: #ede8db;
    line-height: 0.6
}
.concept__block__num:before {
    content: '';
    display: none;
    position: absolute;
    top: 0;
    left: 50%;
    background: #ede8db;
    height: .3rem
}

@media screen and (min-width: 768px) {
    .concept__block__num {
        font-size: 18rem
    }
    .concept__block__num:before {
        width: 7rem;
        margin-left: -3.5rem
    }
}

@media screen and (max-width: 767px) {
    .concept__block__num {
        font-size: 12.6rem
    }
    .concept__block__num:before {
        width: 5rem;
        margin-left: -2.5rem
    }
}

@media screen and (min-width: 768px) {
    .concept__block:nth-child(2n+1) .concept__block__num {
        left: 5rem
    }
}

@media screen and (max-width: 767px) {
    .concept__block:nth-child(2n+1) .concept__block__num {
        right: 0
    }
}

@media screen and (min-width: 768px) {
    .concept__block:nth-child(2n) .concept__block__num {
        right: 3rem;
    }
}

@media screen and (max-width: 767px) {
    .concept__block:nth-child(2n) .concept__block__num {
        left: 0
    }
}
.concept__block__heading {
    color: #fff
}
.concept__block__heading .bg {
    background: #333
}

@media screen and (min-width: 768px) {
    .concept__block__heading:first-child {
        padding: 0.4rem 2rem 0.7rem;
        font-size: 2.8rem;
        letter-spacing: 1.5px;
        font-weight: normal;
    }
    .concept__block__heading {
        display: inline-block;
        width: 91%;
        margin-bottom: 3rem;
        padding: 0.9rem 2rem;
        background: #333;
        font-size: 1.9rem;
    }
}

@media screen and (max-width: 767px) {
    .concept__block__heading {
        margin-bottom: 1.5rem;
        padding-top: 5rem;
        font-size: 1.5rem
    }
    .concept__block__heading .bg {
        display: inline-block;
        margin: 0.5rem 0;
        padding: 0.9rem 2rem
    }
}

@media screen and (max-width: 767px) {
    .concept__block:nth-child(2n) .concept__block__heading {
        text-align: right
    }
}
.concept__block__text {
    color: #000;
    font-size: 1.5rem;
    line-height: 1.7;
}

@media screen and (min-width: 768px) {
    .concept__block__text {
        line-height: 2.8rem;
    }

    .concept__block__text__right {
        padding:2rem 2rem 4rem 7rem;
    }
    .concept__block__text_n {
        margin-bottom: 2rem;
    }
}

@media screen and (max-width: 767px) {
    .concept__block__text__right {
        padding:0;
    }
}

.concept__block__number {
    margin-top:1rem;
    font-size:1.2rem;
    color:#8e8e8e;
}
.concept__block__price {
    color: #000;
    font-size: 1.4rem;
    font-weight:bold;

}
.concept__block__price span {
    font-size:1rem;
}

@media screen and (min-width: 768px) {
    .concept__block__number {
        margin-top:1rem;
    }
    .concept__block__price {
        font-weight:bold;
        margin-top:0.5rem;
    }
    .concept__block__price span {
        font-size:1rem;
    }
}


.concept__designer {
    margin-top: 5rem
}

@media screen and (max-width: 767px) {
    .concept__designer {
        margin-top: 2.5rem
    }
}
.concept__designer__heading {
    margin-bottom: 1rem;
    color: #333;
    font-size: 1.2rem
}
.concept__designer__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .concept__designer__item {
        width: calc((100% - 1rem) /2)
    }
}

@media screen and (max-width: 767px) {
    .concept__designer__item {
        width: calc((100% - 1rem) /2)
    }
}
.concept__designer__text {
    margin-top: 1rem;
    color: #333;
    font-size: 1.2rem
}
.concept__brand {
    position: relative;
    z-index: 10;
    margin-top: 12rem;
    /* padding-bottom: 5rem; */
}

.concept__brand__text {
    margin: 3rem 0 0;
    color: #333;
    line-height: 1.7;
    font-size: 1.2rem;
    padding: 2rem;
    border: 1px solid #999;
    text-align: center
}
.concept__brand_saitei_kakaku {
    margin-top: 5rem
}


@media screen and (max-width: 767px) {
    .concept__brand {
        margin-top: 3rem;
        padding: 0 3rem
    }
    .concept__brand__text {
        width: 100%;
        text-align: left;
        margin: 0;
    }
    .concept__brand_saitei_kakaku {
        margin-top: 3rem
    }
}


/* �t���A�[�Љ� START */

.concept__corner {
    position: relative;
    z-index: 10;
    margin-top: 12rem;
    /* padding-bottom: 5rem; */
}

.concept__corner__text {
    margin: 3rem 0 0;
    color: #333;
    line-height: 1.7;
    font-size: 1.2rem;
    padding: 2rem;
    border: 1px solid #999;
    text-align: center
}
.concept__corner_saitei_kakaku {
    margin-top: 5rem
}


@media screen and (max-width: 767px) {
    .concept__corner {
        margin-top: 3rem;
        padding: 0 3rem
    }
    .concept__corner__text {
        width: 100%;
        text-align: left;
        margin: 0;
    }
    .concept__corner_saitei_kakaku {
        margin-top: 3rem
    }
}


@media screen and (min-width: 768px) {
    .concept__cornerWrap {
        /* padding-left: 10%; */
    }
}

.concept__corner__heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 3rem;
    font-size: 1.6rem;
    color: #333;
    font-weight: normal
}
.concept__corner__heading:after {
    content: "";
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 1rem;
    border-top: 1px solid #999
}

@media screen and (max-width: 767px) {
    .concept__corner__heading {
        font-size: 1.4rem
    }
}


.concept__corner__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    /* margin-bottom: 3rem; */
    align-content: space-between;
    flex-direction: row;
    align-items: flex-start;
}


.concept__corner__item {
    width: calc((100% - 6rem) / 3);
    color: #333;
}
.concept__corner__item .brand__item__logo {
    max-width: 150px
}

@media screen and (max-width: 767px) {
    .concept__corner__item {
        width: calc((100% - 2rem) / 2);
    //margin-bottom: 3rem;
    }
}


.corner__item__title {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.8;
    margin: 1rem 0 0;
}

.corner__item__text {
    font-size: 1.2rem;
    line-height: 1.8;
    margin: 0rem 0 4rem;
}


/* �t���A�[�Љ�@END */


/* �t���A�[�Љ� START */

.concept__floor {
    position: relative;
    z-index: 10;
    margin-top: 12rem;
    /* padding-bottom: 5rem; */
}

.concept__floor__text {
    margin: 3rem 0 0;
    color: #333;
    line-height: 1.7;
    font-size: 1.2rem;
    padding: 2rem;
    border: 1px solid #999;
    text-align: center
}
.concept__floor_saitei_kakaku {
    margin-top: 5rem
}


@media screen and (max-width: 767px) {
    .concept__floor {
        margin-top: 3rem;
        padding: 0 3rem
    }
    .concept__floor__text {
        width: 100%;
        text-align: left;
        margin: 0;
    }
    .concept__floor_saitei_kakaku {
        margin-top: 3rem
    }
}


@media screen and (min-width: 768px) {
    .concept__floorWrap {
        /* padding-left: 10%; */
    }
}

.concept__floor__heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 3rem;
    font-size: 1.6rem;
    color: #333;
    font-weight: normal
}
.concept__floor__heading:after {
    content: "";
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 1rem;
    border-top: 1px solid #999
}

@media screen and (max-width: 767px) {
    .concept__floor__heading {
        font-size: 1.4rem
    }
}


.concept__floor__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    /* margin-bottom: 3rem; */
    align-content: space-between;
    flex-direction: row;
    align-items: flex-start;
}


.concept__floor__item {
    width: calc((100% - 6rem) / 3);
    color: #333;
}
.concept__floor__item .brand__item__logo {
    max-width: 150px
}

@media screen and (max-width: 767px) {
    .concept__floor__item {
        width: calc((100% - 2rem) / 2);
    //margin-bottom: 3rem;
    }
}


.floor__item__title {
    font-size: 1.3rem;
    font-weight: 700;
    line-height: 1.8;
    margin: 1rem 0 0;
}

.floor__item__text {
    font-size: 1.2rem;
    line-height: 1.8;
    margin: 0rem 0 4rem;
}


/* �t���A�[�Љ�@END */

@media screen and (min-width: 768px) {
    .concept__brandWrap {
        /* padding-left: 10%; */
    }
}
.concept__brand__heading {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-bottom: 3rem;
    font-size: 1.6rem;
    color: #333;
    font-weight: normal
}
.concept__brand__heading:after {
    content: "";
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 1rem;
    border-top: 1px solid #999
}

@media screen and (max-width: 767px) {
    .concept__brand__heading {
        font-size: 1.4rem
    }
}
.concept__brand__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    /* margin-bottom: 3rem; */
    align-content: space-between;
    flex-direction: row;
    align-items: flex-start;
}
.concept__brand__item {
    width: calc((100% - 6rem) / 4);
    color: #333;
}
.concept__brand__item .brand__item__logo {
    max-width: 150px
}

@media screen and (max-width: 767px) {
    .concept__brand__item {
        width: calc((100% - 2rem) / 2);
    //margin-bottom: 3rem;
    }
}
.brand__item__heading {
    margin: 1rem 0 0.6rem;
    font-size: 1.8rem;
    text-align: center
}

@media screen and (max-width: 767px) {
    .brand__item__heading {
        font-size: 1.6rem
    }
}
.brand__item__logo {
    margin: 0 auto 1.5rem;
    height: 50px
}
.brand__item__text {
    font-size: 1.2rem;
    line-height: 1.8;
    margin: 1rem 0 4rem;
}
.brand__item__more {
    margin-top: 1rem;
    font-size: 1.2rem;
    text-align: right
}
.brand__item__anc {
    color: #333;
}
.brand__item__anc:hover {
    opacity: .7
}
.concept__block__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin-top: 3rem
}
.concept__block__item {
    color: #333;
    font-size: 1.4rem;
    line-height: 2em;
    width: 50%
}
.concept__block__list__text {
    color: #333;
    font-size: 1.4rem;
    line-height: 2em;
    text-align: right
}
.service {
    color: #fff
}
.service__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}
.service__img {
    width: 60%
}
.service__text {
    width: 40%;
    padding-left: 4rem;
    color: #333;
    font-size: 1.4rem;
    line-height: 2
}
.service__note {
    margin: 4rem 0;
    padding: 1.5rem;
    border: solid 1px #333;
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: 0.1em
}

@media screen and (max-width: 767px) {
    .service__content {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .service__img {
        width: 100%;
        margin-bottom: 3rem
    }
    .service__text {
        width: 100%;
        padding-left: 0;
        text-align: left
    }
    .service__note {
        margin: 3.5rem 0;
        text-align: left
    }
}


.access__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}
.access__block__text {
    width: 70%;
    font-size: 1.3rem;
    color: #333;
}




/* -----------------------------------------

 BRAND

----------------------------------------- */
.brand {
    overflow: hidden
}


@media screen and (min-width: 768px) {
    .brand__lead {
        margin-bottom: 3rem
    }
}
.brand__block {
    position: relative
}
.brand__block:before {
    content: '';
    display: block;
    position: absolute;
    z-index: 5
}

@media screen and (min-width: 768px) {
    .brand__block {
        /* margin-bottom: 4rem; */
        margin-top: 10rem;
    }
    .brand__block+.brand__block {
        margin-top: 17rem
    }
    .brand__block:before {
        top: 3rem;
        width: 85.71428%;
        height: 105%
    }
    .brand__block:before {
        border-left: 4px solid #333;
        background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(80%, #fff), to(#fff));
        background: linear-gradient(to right, #fff 0%, #fff 80%, #fff 100%);
        height: 120%;
    }

}

@media screen and (max-width: 767px) {
    .brand__block+.brand__block {
        margin-top: 10rem
    }
    .brand__block:before {
        top: 2rem;
        width: 100%;
        height: 100%
    }
    .brand__block:nth-child(2n+1):before {
        left: 0;
        border-left: 4px solid #333;
        background: -webkit-gradient(linear, left top, right top, from(#fff), color-stop(80%, #fff), to(#fff));
        background: linear-gradient(to right, #fff 0%, #fff 80%, #fff 100%)
    }
    .brand__block:nth-child(2n):before {
        right: 0;
        border-right: 4px solid #333;
        background: -webkit-gradient(linear, right top, left top, from(#fff), color-stop(80%, #fff), to(#fff));
        background: linear-gradient(to left, #fff 0%, #fff 80%, #fff 100%);
    }
}
.brand__block__inner {
    position: relative;
    z-index: 10
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .brand__block__inner {
        padding:0 2rem;
    }
}

@media screen and (min-width: 768px) {
    .brand__block__inner {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-top: -1rem;
    }
    .rolfbenz .brand__block__inner,
    .matsuso .brand__block__inner,
    .nanodron .brand__block__inner {
        flex-direction:row-reverse;
    }
}

@media screen and (max-width: 767px) {
    .brand__block__inner {
        padding: 13rem 3rem 7rem;
        text-align: left;
    }
    .desede .brand__block__inner {
        padding: 12rem 3rem 5rem;
    }
    .matsuso .brand__block__inner {
        padding: 12rem 3rem 5rem;
    }
    .smeg .brand__block__inner {
        padding: 11rem 3rem 5rem;
    }
    .nanodron .brand__block__inner {
        padding: 12rem 3rem 5rem;
    }
}

@media screen and (min-width: 768px) {
    .brand__block:nth-child(2n) .brand__block__inner {
        -webkit-box-orient: horizontal;
        -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
        flex-direction: row-reverse
    }
}
.brand__block__head {
    position: relative;
    margin-bottom: 0;
}

@media screen and (min-width: 768px) {
    .brand__block__head {
        width: 47%;
        padding-top: 17rem;
        margin-bottom: 13rem;
        padding-left: 0%;
        text-align: left;
    }
    .brand__block .brand__block__img {
        padding-left: 7rem;
    }

    .rolfbenz .brand__block__img,
    .matsuso .brand__block__img,
    .nanodron .brand__block__img {
        padding-right: 7rem;
        padding-left:0;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .brand__block__head {
        padding-top: 14rem;
        margin-bottom: 7rem;
    }
}




@media screen and (min-width: 768px) and (max-width: 1024px) {
    .rolfbenz .brand__block__img,
    .matsuso .brand__block__img,
    .nanodron .brand__block__img {
        padding-right:3rem;
    }
    .frau .brand__block__img,
    .desede .brand__block__img,
    .smeg .brand__block__img {
        padding-left:3rem;
    }
}

.brand__block__img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 50%
}

.brand__block__head__01 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100%
}


@media screen and (max-width: 767px) {
    .brand__block__img{
        width: 100%
    }
    .brand__block__head__01{
        width: 100%;
        margin-top: 2.5rem;
    }

}
.brand__img__text {
    margin-top: .5rem;
    color: #333;
    font-size: 1.2rem;
    line-height: 1.8
}

.brand__img__top {
    position: relative
}

@media screen and (max-width: 767px) {
    .brand__img__top {
        padding: 0 1rem 3rem
    }
}

@media screen and (min-width: 768px) {
    .brand__img__topBox {
        padding: 18px 0 30px;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .brand__img__topBox {
        padding: 120px 0 30px
    }
}

@media screen and (min-width: 768px) {
    .brand__img__topImg {
        /* position: absolute; */
        bottom: 1rem;
        /* left: 25%; */
        /* width: 122% */
    }
    .brand__img__topBox__text__right {
        padding: 0 0 3rem 7rem;
    }
}

@media screen and (max-width: 1430px) {
    .brand__img__topImg {
        /* width: 35vw */
    }
    .brand__img__topBox {
        padding: 0 2rem 3rem 0;
    }
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .brand__img__topImg {
        width: auto;
        left: auto;
        right: 0;
        bottom: auto;
        top: 0
    }
}

@media screen and (max-width: 767px) {
    .brand__img__topImg {
        width: 100%;
        position: relative;
        left: 9%;
        bottom: -1rem;
    }
}
.brand__img__topTitle {
    display: inline-block;
    margin-top: 2.5rem;
    padding: 2px 10px;
    background: #333;
    color: #fff;
    font-size: 1.3rem;
    text-align: center
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .brand__img__topTitle {
        margin-bottom: 1rem
    }
}

@media screen and (max-width: 767px) {
    .brand__img__topTitle {
        margin-bottom: 1rem;
    }
}
.brand__img__bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}
.brand__img__bottomItem {
    width: calc((100% - 1rem) /2)
}
.brand__img__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (max-width: 767px) {
    .brand__img__list {
        margin-top: 2rem;
    }
}
.brand__img__item {
    margin-bottom: 1rem;
}
.brand__img__item.--half {
                       width: calc((100% - 1rem) / 2)
                   }
.brand__img__item.--full {
                       width: 100%
                   }
.brand__block__num {
    position: absolute;
    top: -2rem;
    display: inline-block;
    color: #ede8db;
    line-height: 0.6
}
.brand__block__num:before {
    content: '';
    display: none;
    position: absolute;
    top: 0;
    left: 50%;
    background: #ede8db;
    height: .3rem
}

@media screen and (min-width: 768px) {
    .brand__block__num {
        font-size: 18rem;
    }
    .brand__block__num:before {
        width: 7rem;
        margin-left: -3.5rem
    }

    .frau .brand__block__num {
        left: -40px;
        top: 3rem;
        width: 45%;
    }
    .rolfbenz .brand__block__num {
        right: -6px;
        top: 3rem;
        width: 45%;
    }
    .desede .brand__block__num {
        left: -30px;
        top: 3.5rem;
        width: 45%;
    }
    .matsuso .brand__block__num {
        right: -40px;
        top: 3.3rem;
        width: 45%;
    }
    .smeg .brand__block__num {
        left: -15px;
        top: 4.5rem;
        width: 45%;
    }
    .nanodron .brand__block__num {
        right: 0;
        top:3rem;
        width: 45%;
    }
}

@media screen and (max-width: 767px) {
    .brand__block__num {
        font-size: 12.6rem;
    }
    .brand__block__num:before {
        width: 5rem;
        margin-left: -2.5rem;
    }
    .frau .brand__block__num {
        left: -35px;
        top: -9.5rem;
        width:60%;
    }
    .rolfbenz .brand__block__num {
        left: -40px;
        top: -9.5rem;
        width:60%;
    }
    .desede .brand__block__num {
        left: 0px;
        top: -8.5rem;
        width:60%;
    }
    .matsuso .brand__block__num {
        left: -70px;
        top: -8.5rem;
        width: 60%;
    }
    .smeg .brand__block__num {
        left: -12px;
        top: -8.2rem;
        width:60%;
    }
    .nanodron .brand__block__num {
        left: -20px;
        top: -8.5rem;
        width:60%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .frau .brand__block__num {
        left: -25px;
        top: 1.5rem;
        width:60%;
    }
    .rolfbenz .brand__block__num {
        left: 140px;
        top: 1.5rem;
        width:60%;
    }
    .desede .brand__block__num {
        left: 20px;
        top: 2.5rem;
        width:60%;
    }
    .matsuso .brand__block__num {
        left: 170px;
        top: 1.5rem;
        width: 60%;
    }
    .smeg .brand__block__num {
        left: 12px;
        top: 1.5rem;
        width:60%;
    }
    .nanodron .brand__block__num {
        left: 120px;
        top: 1.5rem;
        width:60%;
    }
}


.brand__block__heading {
    color: #fff
}
.brand__block__heading .bg {
    background: #333;
    letter-spacing: 1px;
}

@media screen and (min-width: 768px) {
    .brand__block__heading:first-child {
        padding: 0.4rem 2rem 0.7rem;
        font-size: 2rem;
    }
    .brand__block__heading {
        display: inline-block;
        width: 90%;
        margin: 0 0 1rem;
        padding: 0.9rem 2rem;
        background: #333;
        font-size: 1.9rem;
        text-align: left;
    }
}

@media screen and (max-width: 767px) {
    .brand__block__heading {
        margin-bottom: 1.5rem;
        padding-top: 0;
        font-size: 1.5rem
    }
    .brand__block__heading .bg {
        display: inline-block;
        margin: 0.5rem 0;
        padding: 0.9rem 2rem
    }
}

@media screen and (max-width: 767px) {
    .brand__block:nth-child(2n) .brand__block__heading {
        text-align: right
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .brand__block__heading {
        font-size: 1.4rem;
        margin-bottom: 0;
    }
}

.brand__block__text {
    color: #000;
    font-size: 1.4rem;
    line-height: 1.7;
}

@media screen and (min-width: 768px) {
    .brand__block__text {
        line-height: 3rem;
        text-align: left;
        padding: 1.5rem 0;
        font-size: 1.5rem;
    }

    .brand__block__text__right {
        padding:2rem 2rem 4rem 7rem;
    }
    .brand__block__text_n {
        margin-bottom: 2rem;
    }
}

@media screen and (max-width: 767px) {
    .brand__block__text__right {
        padding:0;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .brand__block__text {
        line-height: 1.8;
        font-size: 1.1rem;
        padding: 1.5rem 0 0.5rem;
    }
}


.brand__block__number {
    margin-top:1rem;
    font-size:1.2rem;
    color:#8e8e8e;
}
.brand__block__price {
    color: #000;
    font-size: 1.4rem;
    font-weight:bold;
    letter-spacing: 1px;

}
.brand__block__price span {
    font-size:1rem;
}

@media screen and (min-width: 768px) {
    .brand__block__number {
        margin-top:1rem;
    }
    .brand__block__price {
        font-weight:bold;
        margin-top:0.5rem;
        text-align: left;
        letter-spacing: 1px;
    }
    .brand__block__price span {
        font-size:1rem;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .brand__block__price {
        margin-top:0;
    }
}


.brand__designer {
    margin-top: 5rem
}

@media screen and (max-width: 767px) {
    .brand__designer {
        margin-top: 2.5rem
    }
}
.brand__designer__heading {
    margin-bottom: 1rem;
    color: #333;
    font-size: 1.2rem
}
.brand__designer__list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .brand__designer__item {
        width: calc((100% - 1rem) /2)
    }
}

@media screen and (max-width: 767px) {
    .brand__designer__item {
        width: calc((100% - 1rem) /2)
    }
}
.brand__designer__text {
    margin-top: 1rem;
    color: #333;
    font-size: 1.2rem
}


/*
 floor_img
------------------- */
.floor_img {
    margin: 5.5rem auto 6rem;
    padding: 0;
    position:relative;
}
@media screen and (min-width: 768px) {
    .floor_img:nth-of-type(5) {
        margin:0 auto 10rem;
    }
    .floor_img:nth-of-type(6) {
        margin:0 auto 6rem;
        padding: 3rem 0 0;
    }
    .floor_img  {
        margin: 0 auto 14rem;
        padding: 3rem 0 0;
        position:
        relative;
    }
    .floor_img__logo {
        width: 20%;
        position: absolute;
        top: 3%;
        right: 1%;
        filter: blur(0);
        z-index:9;
    }
    .floor_img::after {
    }
    .floor_img .floor_img__img {
    //filter: blur(4px);
    }
    .floor_img .floor_img__text {
        width:80%;
        font-size:1.1vw;
        line-height:2.3;
        position:absolute;
        top:60%;
        z-index:99;
        padding:0 0 0 15rem;
        color:#fff;

    }
    .floor_img .floor_img__text__blur {
        position: absolute;
        left: 0;
        top: 0;
        width: 100%;
        height: 100%;
        background: rgb(15 14 14 / 42%);
        z-index: 1;
    }
}



/*
 brand__smy
-------------- */
.brand__smy{
    padding-top: 0;
    /* border-top: 1px solid #ddd; */
    display: flex;
    grid-row-gap: 2.5rem;
    flex-direction: column;

    width: 78.5%;
    margin-left: auto;
    margin-right: auto;
}
#frau .brand__smy {
    padding-top: 0;
    margin-top:0;
    border-top:none;
}
#rolfbenz .brand__smy {
//padding-top: 2rem;
}
.brand__smy ul {
    display: flex;
    justify-content: center;
    flex-flow: column wrap;
    align-items: center;
    width: 100%;
    padding: 0 3rem 3rem;
    /* margin-top: 1rem; */
}
.brand__smy ul li:last-child {
    font-size: 1.2rem;
    letter-spacing: 1px;
    line-height:2;
    text-align: left;
}
.brand__smy__annotation {
    display: block;
    line-height: 1.3;
    margin-top: 1em;
    font-size: 1.1rem;
}

.brand__smy__logo {
    width: 59%;
    margin-bottom: 3rem;
}
.brand__smy__img {
    width: 100%;
}

@media screen and (min-width: 768px) {
    .brand__smy{
        padding-top: 2rem;
        /* border-top: 1px solid #ddd; */
        display:
        flex;
        flex-direction:
        row-reverse;
        flex-flow:
        row nowrap;
        align-items: flex-start;
    }
    #frau .brand__smy {
        padding-top: 0;
        margin-top:-3rem;
        border-top:none;
    }
    .brand__smy ul {
        display: flex;
        justify-content: flex-start;
        flex-flow: column wrap;
        align-items: flex-start;
        width: 27%;
        padding: 4vw 3rem;
        margin-top: 0px;
         margin-bottom: 7rem;
    }

    .brand__smy ul li:last-child {
        font-size: 0.9vw;
        letter-spacing: 1.5px;
        line-height: 2.3;
        text-align: left;
    }
    .brand__smy__annotation {
        display: block;
        line-height: 1.3;
        margin-top: 2em;
        font-size: .8vw;
    }
    .brand__smy__logo {
        width: 59%;
        margin-bottom: 4rem;
    }
    #desede .brand__smy__logo {
        width:60%;
    }
    .brand__smy__img {
        width: 66%;
    }
}

@media screen and (min-width: 768px) and (max-width: 1024px) {
    .brand__smy {
        padding-top:0;
    }
    .brand__smy ul {
        width: 40%;
        padding: 4vw 2rem;
        margin: 20px 2rem 0 1rem;
    }
    .brand__smy ul li:last-child {
        font-size: 1.2rem;
    }
    .brand__smy__logo {
        width: 55%;
        margin-bottom: 2rem;
    }
    #desede .brand__smy__logo {
        width:50%;
    }
}





/* -----------------------------------------

SERVICE

----------------------------------------- */
.service {
    color: #fff;
    padding-bottom: 11rem;
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .service {
        padding:6rem 2rem 11rem;
    }
}
.service__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between
}
.service__img {
    width: 50%
}
.service__text {
    width: 50%;
    padding-left: 4rem;
    color: #999;
    font-size: 1.4rem;
    line-height: 2
}
.service__note {
    margin: 4rem 0;
    padding: 1.5rem;
    border: solid 1px #d69d12;
    text-align: center;
    font-size: 1.6rem;
    letter-spacing: 0.1em
}

@media screen and (max-width: 767px) {
    .service {
        padding-bottom:5rem;
    }
    .service__content {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .service__img {
        width: 100%;
        margin-bottom: 3rem
    }
    .service__text {
        width: 100%;
        padding-left: 0;
        text-align: left
    }
    .service__note {
        margin: 3.5rem 0;
        text-align: left
    }
}

.reserve__area {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 3rem 4rem;
    background: rgba(153,153,153,0.15);
    border: solid 1px #999;
    color: #fff;
    text-align: center
}
.reserve__area:before,
.reserve__area:after {
    position: absolute;
    content: "";
    display: block;
    width: 20px;
    height: 1px;
    background: #999;
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg)
}
.reserve__area:before {
    top: 6px;
    left: -4px
}
.reserve__area:after {
    bottom: 6px;
    right: -4px
}
.reserve__block {
    width: 50%
}
.reserve__heading {
    margin-bottom: 1rem;
    font-size: 2.4rem;
    font-weight: normal
}
.reserve__text {
    font-size: 1.4rem
}
.reserve__text a {
    color: #fff
}
.reserve__text .tel_cus {
    display: inline-block;
    width: 98px;
    vertical-align: baseline
}
.reserve__tel_anc {
    margin: 1rem 0;
    max-width: 310px;
    line-height: 1
}
.reserve__btn {
    position: relative;
    width: 210px;
    margin: 2rem auto 0;
    padding: 1.5rem;
    border: solid 1px #999;
    background: rgba(51,51,51,0.6);
    color: #fff;
    font-size: 1.4rem
}
.reserve__btn:after {
    position: absolute;
    right: 10px;
    top: 50%;
    content: "";
    display: block;
    width: 10px;
    height: 10px;
    margin-top: -5px;
    background: url(/wp/wp-content/themes/idc/assets/images/shop/funabashi/icon/ico_arrow.svg) center center/contain no-repeat
}
.reserve__btn:hover {
    background: rgba(255,255,255,0.2)
}

@media screen and (min-width: 768px) and (max-width: 1023px) {
    .reserve__area {
        padding: 1.5rem
    }
    .reserve__tel_anc {
        font-size: 4rem
    }
    .reserve__tel_anc:hover {
        opacity: .7
    }
}

@media screen and (max-width: 767px) {
    .reserve__area {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        padding: 2rem 1.5rem
    }
    .reserve__block {
        width: 100%
    }
    .reserve__block:not(:last-of-type) {
        margin-bottom: 2rem;
        padding-bottom: 2rem;
        border-bottom: solid 1px #999
    }
    .reserve__tel_anc {
        font-size: 3.8rem;
        letter-spacing: -0.05em;
        max-width: 260px
    }
    .reserve__tel_anc img {
        vertical-align: baseline
    }
}
.header__bg {
    opacity: 0;
    -webkit-transition: all .7s;
    transition: all .7s
}
.is-scroll .header__bg {
    opacity: 1
}
.is-scroll .header__logo {
    opacity: 1
}
.is-scroll .header__logo__top {
    opacity: 0
}
.ham__item {
    background: #fff
}
.is-hamactive .ham__item,
.is-scroll .ham__item {
    background: #656565
}
.gnav__item {
    color: #000
}
.is-hamactive .gnav__item,
.is-scroll .gnav__item {
    color: #656565
}







/* -----------------------------------------

 ACCESS

----------------------------------------- */

#access {
    background: #fff;
}
.access__content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
}
@media screen and (min-width: 768px) and (max-width: 1024px) {
    .access__content {
        padding:6rem 2rem;
    }
}
.access__block__text {
    width: 70%;
    font-size: 1.3rem;
    color: #333;
}
.access__block__img {
    height:auto;
}
.access__thead {
    padding-right: 4.5rem;

    text-align: left;
    border-right: solid 1px #333;
}
.access__tdata {
    padding-left: 4.5rem;
    padding-bottom: 3rem
}
.access__block__img iframe {
    max-width: 100%;
    max-height:70%;
    padding-left: 7rem;
}
.access__map__imgWrap {
    text-align: center
}
.access__map__imgWrap:not(:last-of-type) {
    margin-bottom: 3rem
}
.access__map__img {
    max-width: 100%;
    width: auto
}
.access__anc {
    color: #005cdc
}
.access__anc:hover {
    opacity: .7
}

@media screen and (max-width: 767px) {
    .access__content {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap
    }
    .access__block__text {
        width: 100%;
        margin-bottom: 3rem
    }
    .access__block__img {
        height:100%;
    }
    .access__thead {
        padding-right: 2rem
    }
    .access__tdata {
        padding-left: 2.5rem;
        padding-bottom: 2rem
    }
    .access__block__img iframe {
        max-width: 100%;
        padding-left: 0
    }
}
.btn_fixed {
    position: fixed;
    bottom: 100px;
    bottom: 40%;
    right: 0;

    cursor: pointer;
    z-index: 99999;
    opacity: 0;
}
.is-scroll .btn_fixed {
    opacity: 1;
}

.bnr{
    margin: 3rem auto 6rem;
    width: 100%;
    text-align: center;
}

@media screen and (max-width: 767px) {
    .bnr{
        margin: 0rem auto 5rem;
    }
}










/* -------------------------------------
 swiper
------------------------------------- */
.swiper-container {
    margin-bottom: 7rem;
}
.swiper-wrapper {
    width: 100%;
}
.swiper-slide {
    color: #ffffff;
    width: 100%;
    height: 100%;
    text-align: center;
}

.swiper-scrollbar-drag {
    height: 100%;
    width: 100%;
    position: relative;
    background: rgb(79 77 77 / 50%);
    border-radius: 10px;
    left: 0;
    top: 0;
}
.swiper-button-next, .swiper-button-prev {
    top: 66%;
    width: 22px;
    height: 20px;
    background-size: 20px 20px;
}

@media screen and (min-width: 768px) {
    .swiper-container {
        margin-bottom: 7rem;
    }
    .swiper-wrapper {
        width: 100%;
    }
    .swiper-slide {
        color: #ffffff;
        width: 100%;
        height: 100%;
        text-align: center;
    }

    .swiper-scrollbar-drag {
        height: 100%;
        width: 100%;
        position: relative;
        background: rgb(79 77 77 / 50%);
        border-radius: 10px;
        left: 0;
        top: 0;
    }

    .swiper-button-next, .swiper-button-prev {
        top: 56%;
        width: 140px;
        height: 20px;
        background-size: 20px 20px;
    }
}


@media screen and (min-width: 768px) and (max-width: 1024px) {
    .swiper-container {
        margin-bottom:0;
    }
}

/* -------------------------------------
 - Index_main
------------------------------------- */
@media only screen and (max-width: 599px) {
    .Index_main{
        width: 95%;
    }
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
    .Index_main{
        width: auto;
        margin-top:0;
    }
}
@media only screen and (min-width:1025px) {
    .Index_main{
        width: 95%;
        max-width:600px;
        margin-top: 14px;
    }
}

/*
 Index_main - floorPanel
------------------------------------- */
@media only screen and (max-width: 599px) {

}
@media only screen and (min-width: 600px) and (max-width: 1024px) {

}
@media only screen and (min-width:1025px) {

}
.floorPanel_item{
    height: 54px;
    margin-bottom: 2px;
    border: solid 1px #e7e7ef;
}
.floorPanel_item:last-child{
    margin-bottom: 0;
}

/*
 indexLabel
------------------------------------- */
@media only screen and (max-width: 599px) {
    .indexLabel{
        display: table;
        cursor: pointer;
        height: 54px;
    }
    .indexLabel:hover .indexLabel_item {
        background-color: #cbd6dc;
    }
    .indexLabel_head{
        display: table-cell;
        color: #fff;
        vertical-align: middle;
        text-align: center;
        width: 52px;
        height: 54px;
        background: #526872;
    }
    .indexLabel_head span{
        font-size: .8em;
    }
    .indexLabel_main{
        display: table-cell;
        vertical-align: middle;
        width: 387px;
        font-size: 14px;
        text-align: left;
    }
    .indexLabel_item{
        padding: 10px 10px;
        background-color: #fff;
        line-height: 1.3;
    }
    .indexLabel_item + .indexLabel_item{
        border-top: 1px solid #cbd6dc;
    }

}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
    .indexLabel{
        display: table;
        cursor: pointer;
        height: 54px;
    }
    .indexLabel:hover .indexLabel_item {
        background-color: #cbd6dc;
    }
    .indexLabel_head{
        display: table-cell;
        color: #fff;
        vertical-align: middle;
        text-align: center;
        width: 52px;
        background: #526872;
    }
    .indexLabel_head span{
        font-size: .8em;
    }
    .indexLabel_main{
        display: table-cell;
        vertical-align: middle;
        width: 270px;
        font-size: 14px;
        text-align: left;
    }
    .indexLabel_item{
        padding: 10px;
        background-color: #fff;
        line-height: 1.3;
    }
    .indexLabel_item + .indexLabel_item{
        border-top: 1px solid #cbd6dc;
    }
}
@media only screen and (min-width:1025px) {
    .indexLabel{
        display: table;
        cursor: pointer;
        height: 54px;
    }
    .indexLabel:hover .indexLabel_item {
        background-color: #cbd6dc;
    }
    .indexLabel_head{
        display: table-cell;
        color: #fff;
        vertical-align: middle;
        text-align: center;
        width: 52px;
        background: #526872;
    }
    .indexLabel_head span{
        font-size: .8em;
    }
    .indexLabel_main{
        display: table-cell;
        vertical-align: middle;
        width: 90%;
        font-size: 14px;
        text-align: left;
    }
    .indexLabel_item{
        padding: 10px 0 10px 10px;
        background-color: #fff;
        line-height: 1;
    }
    .indexLabel_item + .indexLabel_item{
        border-top: 1px solid #cbd6dc;
    }
}

.ft_default {
    font-size:14px;
}

.access-h2 {
    font-size:22px;
}

.access-h3 {
    font-size: 20px;
}

section#stor-info {
    width: 78.25%;
    margin-left:auto;
    margin-right:auto;
}



