@charset "utf-8";
/* CSS Document */

/* ##### font ##### */
.yu-min {
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", "Sawarabi Mincho", serif;
}

/* ##### font end ##### */

/* ##### reset.css上書き ##### */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
button,
p {
    letter-spacing: 0.1em;
}


h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400;
}

html,
body {
    overflow-x: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {
    .fs30 {
        font-size: 20px;
    }

    .fs16 {
        font-size: 14px;
    }
}

/* ##### reset.css上書きここまで ##### */

/* ##### ローディング ##### */
#loading {
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100vw;
    height: 100vh;
    -webkit-transition: all 1s;
    transition: all 1s;
    background-color: #000;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}

#movie {
    width: 50%;
    height: auto;
    background-color: #000;
}

.loaded #loading {
    opacity: 0;
    visibility: hidden;
}

[data-element-id] #loading {
    width: 300px;
    height: 200px;
    position: absolute;
    top: 250px;
    left: 50px;
}

[data-element-id] #loading:before {
    content: 'ローディングエフェクト';
    display: block;
    width: 100%;
    height: 25px;
    background-color: #000;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    line-height: 100%;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    top: -27px;
    left: 0;
}

@media (max-width: 1024px) {
    #movie {
        width: 70%;
    }
}

@media (max-width: 599px) {
    #movie {
        width: 90%;
    }
}

/* ##### ローディング end ##### */

/* ##### 共通 ##### */

a {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#wrapper {
    min-width: 320px;
}

#wrapper[data-element-id] {
    padding-top: 0 !important;
}

.content {
    width: 100%;
    max-width: 1600px;
    margin: auto;
}

.inner {
    padding: 5% 0;
}

.w1000 {
    width: 92%;
    max-width: 1200px;
    margin: 0 auto;
}

.sp-only {
    display: none;
}

.fs10 {
    font-size: 10px;
}

.fs8 {
    font-size: 8px;
}

.fs50 {
    font-size: 50px;
}

.tex {
    line-height: 30px;
}

.tc {
    text-align: center;
}

.tr {
    text-align: right;
}

.tl {
    text-align: left;
}

.mt10 {
    margin-top: 10px;
}

.mb10 {
    margin-bottom: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mb20 {
    margin-bottom: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb50 {
    margin-bottom: 50px;
}

.mt50 {
    margin-top: 50px;
}

.pad50 {
    padding: 50px 0;
}

.pt50 {
    padding-top: 50px;
}

.pb50 {
    padding-bottom: 50px;
}

.mt80 {
    margin-top: 80px;
}

.mb80 {
    margin-bottom: 80px;
}

.mauto {
    margin: 0 auto;
}

.z1 {
    position: relative;
    z-index: 1;
}

.ctex {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0;
    z-index: 1;
}

.Blink a {
    display: block;
}

.more {
    text-align: center;
    margin: 50px auto 0 auto;
    width: 90%;
    max-width: 330px;
}

.more a {
    font-size: 12px;
    display: block;
    background: transparent;
    color: #000;
    padding: 20px 20px;
    font-family: "游明朝",
        "YuMincho",
        "ヒラギノ明朝 ProN W3",
        "Hiragino Mincho ProN",
        "HG明朝",
        "Sawarabi Mincho",
        serif;
    position: relative;
    display: block;
    overflow: hidden;
    text-transform: uppercase;
    border: solid 1px #000;
}

.more a:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #000;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}

.more a:hover:before {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.more a span {
    position: relative;
    z-index: 5;
}

.more a:hover {
    color: #fff;
    opacity: 1;
}

.more.white a {
    border: solid 1px #fff;
    color: #fff;
}

.more.white a:before {
    background-color: #fff;
}

.more.white a:hover {
    color: #000;
}

.bgimg {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
}

.bgimg img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
}

.of-img {
    width: 100%;
    overflow: hidden;
    height: 100%;
}

.of-img img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;';
}

.ofimg {
    width: 100%;
    overflow: hidden;
    height: auto;
    display: block;
}

.ofimg img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;';
}

.of {
    position: relative;
}

.of:before {
    content: "";
    display: block;
}

.of img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.of15:before {
    padding-top: 15%;
}

.of20:before {
    padding-top: 20%;
}

.of25:before {
    padding-top: 25%;
}

.of30:before {
    padding-top: 30%;
}

.of35:before {
    padding-top: 35%;
}

.of40:before {
    padding-top: 40%;
}

.of45:before {
    padding-top: 45%;
}

.of50:before {
    padding-top: 50%;
}

.of55:before {
    padding-top: 55%;
}

.of60:before {
    padding-top: 60%;
}

.of65:before {
    padding-top: 65%;
}

.of70:before {
    padding-top: 70%;
}

.of75:before {
    padding-top: 75%;
}

.of80:before {
    padding-top: 80%;
}

.of85:before {
    padding-top: 85%;
}

.of90:before {
    padding-top: 90%;
}

.of95:before {
    padding-top: 95%;
}

.of100:before {
    padding-top: 100%;
}

.of105:before {
    padding-top: 105%;
}

.of110:before {
    padding-top: 110%;
}

.of115:before {
    padding-top: 115%;
}

.of120:before {
    padding-top: 120%;
}

.of135:before {
    padding-top: 135%;
}

.of140:before {
    padding-top: 140%;
}

.c-w {
    color: #fff;
}

.c-green {
    color: #386c4c;
}

.db {
    display: block;
}

.circle.pic span {
    border-radius: 50%;
}

.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.c {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.cc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.row2 {
    width: 48%;
    margin: 0 1% 6%;
}

.row3 {
    width: 31.333%;
    margin: 0 1% 6%;
}

.row4 {
    width: 23%;
    margin: 0 1% 6%;
}

.row5 {
    width: calc(20% - 10px);
    margin: 0 5px 6%;
}

.w20 {
    width: 20%;
}

.w75 {
    width: 75%;
}

.w90 {
    width: 90%;
}

@media only screen and (max-width: 1024px) {
    .sp-only {
        display: block;
    }

    .pc-only {
        display: none;
    }

    .tex.tc {
        text-align: left;
    }
}

@media only screen and (max-width: 599px) {
    .mb80 {
        margin-bottom: 50px;
    }

    .row2 {
        width: 98%;
        margin: 0 1% 10%;
    }

    .row3 {
        width: 48%;
        margin: 0 1% 10%;
    }

    .row4 {
        width: 48%;
        margin: 0 1% 10%;
    }

    .row5 {
        width: calc(33.33333% - 10px);
        margin: 0 5px 6%;
    }

    .w75 {
        width: 100%;
    }

    .sp-c {
        text-align: center;
    }

    .w90 {
        width: 100%;
    }

    .w20 {
        width: 90%;
        margin: 50px auto;
    }

}

/* ##### 共通ここまで ##### */

/* ##### header ##### */
.logo h1 {
    font-size: 12px;
    font-weight: normal;
    display: none;
}

h1[data-element-id] {
    display: block;
}

/* ##### header ##### */

header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 30px calc(50% - 800px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    z-index: 100;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: relative;
}

.inner-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: fixed;
    top: 35px;
    right: calc(50% - 800px);
    z-index: 5;
}

[data-element-id] .inner-header {
    position: absolute;
}

.h-reseave {
    margin-right: 30px;
}

.h-reseave a {
    color: #386c4c;
    border-bottom: 2px solid #386c4c;
}

.h-reseave .ab_b a {
    color: #a32727;
    border-bottom: 2px solid #a32727;
}

.logo {
    padding-top: 30px;
    width: 15vw;
    height: auto;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.logo h1 {
    font-size: 12px;
    font-weight: normal;
    display: none;
}

h1[data-element-id] {
    display: block;
}

@media (max-width: 1600px) {
    .inner-header {
        right: 20px;
    }
}

@media only screen and (max-width: 1024px) {
    header {
        padding: 20px;
    }

    .inner-header {
        top: 25px;
    }

    .logo {
        padding-top: 30px;
        width: 20vw;
    }
}

@media only screen and (max-width: 599px) {
    header {
        padding: 10px;
    }

    .inner-header {
        top: 15px;
        right: 15px;
    }

    .logo {
        width: 30vw;
        padding-top: 10px;
    }
}

/* ##### header end ##### */

/* ##### nav ##### */
.nav-wrap {
    width: 90%;
    max-width: 640px;
    height: 100vh;
    background-color: #fff;
    padding: 100px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    right: 0;
    -webkit-transform: translate(100%, 0);
    transform: translate(100%, 0);
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 4;
}

[data-element-id] .nav-wrap,
.active .nav-wrap {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-box-shadow: -2px 0px 15px -5px #000;
    box-shadow: -2px 0px 15px -5px #000;
}

[data-element-id] .nav-wrap {
    position: absolute;
}

.nav-wrap .logo {
    width: 30%;
    margin: 0 auto 15px;
}

.navshop-title {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin: 10px;
}

.nav-ul {
    padding: 10px 30px;
}

.nav-ul li {
    margin-bottom: 15px;
}

.nav-ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.nav-ul li a span {
    display: block;
    line-height: 140%;
}

.nav-ul li a .en {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 20px;
    font-weight: bold;
    position: relative;
}

.nav-ul li a .en:after {
    content: '';
    display: block;
    width: 30px;
    height: 3px;
    background-color: #386c4c;
    margin: 5px auto;
}

.nav-ul li a .ja {
    font-size: 13px;
}

.nav-ul li .shop-snslink a {
    padding: 5px;
}

.navshop-list li {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-left: 1px solid #a9a9a9;
}

.navshop-list li a {
    width: 100%;
}

.nav-list li {
    width: calc(100% / 3);
    border-left: 1px solid #a9a9a9;
    margin-bottom: 5px;
}

.navshop-list li:last-of-type,
.navshop-list li:nth-of-type(2n),
.nav-list li:last-of-type,
.nav-list li:nth-of-type(3n) {
    border-right: 1px solid #a9a9a9;
}

.nav-ul li.wide {
    width: 50%;
}

.nav-list li a {
    padding: 5px 10px;
}

.nav-list li a .en {
    font-size: 16px;
}

.nav-list li a .ja {
    font-size: 11px;
}

.icon-instagram:before {
    content: "\e055";
    font-family: "Font Awesome 5 Brands";
    font-size: 24px;
    color: #386c4c;
    font-weight: 900;
    display: inline-block;
}

.navshop-list div[data-collection-list-content] li:nth-of-type(n + 3) {
    display: none;
}

.insta_section_bussinessid {
    visibility: hidden;
    height: 0;
}

@media (max-width: 1024px) {
    .nav-wrap {
        padding: 60px 0 100px;
    }

    .nav-ul li a {
        padding: 8px;
    }

    .nav-ul li a .en {
        font-size: 18px;
    }

    .nav-ul li a .ja {
        font-size: 12px;
    }

    .nav-list li a {
        padding: 3px 8px;
    }

    .nav-list li a .en {
        font-size: 15px;
    }
}

@media (max-width: 599px) {
    .nav-wrap .logo {
        width: 50%;
        margin: 0 auto 10px;
    }

    .navshop-title {
        font-size: 20px;
        margin: 5px;
    }

    .nav-ul {
        padding: 5px 15px;
    }

    .nav-ul li a {
        padding: 8px 5px;
    }

    .nav-ul li a .en {
        font-size: 17px;
    }

    .nav-ul li a .ja {
        font-size: 10px;
    }

    .navshop-list li {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        border-right: 1px solid #a9a9a9;
    }

    .navshop-list li .shop-link {
        width: 100%;
    }

    .navshop-list li .shop-snslink {
        width: 15%;
    }

    .nav-list li {
        width: 50%;
        border-left: none;
        border-right: 1px solid #a9a9a9;
    }

    .nav-ul li.wide {
        width: 100%;
        border-left: 1px solid #a9a9a9;
        border-right: 1px solid #a9a9a9;
    }

    .nav-list li:nth-of-type(odd) {
        border-left: 1px solid #a9a9a9;
    }

    .nav-list li a .en {
        font-size: 15px;
    }

    .nav-list li a {
        padding: 5px;
    }
}

/* ##### nav end ##### */

/* ##### ナビオープン時 ##### */
header>.logo,
.top-slide-wrap,
.page-header,
.content,
footer {
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.active header>.logo,
.active .top-slide-wrap,
.active .page-header,
.active .content,
.active footer {
    -webkit-filter: blur(5px);
    filter: blur(5px);
    -webkit-transform: translate(-100px, 0);
    transform: translate(-100px, 0);
}

/* ##### ナビオープン時 end ##### */

/* ##### footer ##### */

footer {
    position: relative;
}

.footnav {
    margin-bottom: 5%;
}

.footnav .inner {
    padding: 10% 0 0;
}

.footnav li {
    width: calc(33.3333% - 10px);
    margin-bottom: 5%;
}

.copy {
    position: absolute;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    height: 70px;
    font-size: 10px;
    right: 20px;
    bottom: 0;
}

.footimg {
    background: #000;
}

.footimg img {
    opacity: 0.3;
}

.footlogo {
    max-width: 219px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 5;
}

.footlogo a {
    display: block;
}

.footnav [data-collection-list-content] li:nth-of-type(n + 2) {
    display: none;
}

@media only screen and (max-width: 1024px) {
    .footnav li {
        width: calc(50% - 10px);
    }
}

@media only screen and (max-width: 599px) {
    .footimg {
        width: 100%;
    }

    .footnav li {
        width: 100%;
    }

    .footimg .of20:before {
        padding-top: 30%;
    }
}

/* ##### footer end ##### */

/* ##### top ##### */
.top-slide-wrap {
    max-width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-top: -60px;
}

#slide01 {
    width: 75%;
    position: relative;
}

#slide01:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 190px 190px 0 0;
    border-color: #fff transparent transparent;
    z-index: 5;
    position: absolute;
    left: 0;
    top: 0;
}

#navslide {
    width: 22%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-left: calc(50% - 800px);
}

#navslide .slick-slide {
    margin: 5px 0;
}

#navslide .slideimg:before {
    padding-top: 37.5%;
}

#slide01 .slick-slide {
    border-top: 2px solid transparent;
    border-bottom: 2px solid transparent;
}

[data-element-id] #slide01 .slideimg:nth-of-type(n+2) {
    display: none;
}

[data-element-id] #navslide .slideimg:nth-of-type(n+2) {
    display: none;
}

h3 .db {
    line-height: 14px;
    margin-top: 20px;
    padding-bottom: 20px;
}

.cline {
    position: relative;
    padding-bottom: 20px;
}

.cline:after {
    position: absolute;
    content: "";
    width: 1px;
    height: 113px;
    background: #000;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 5;
    -webkit-animation: Scroll 3s ease 0s infinite normal;
    animation: Scroll 3s ease 0s infinite normal;
}

.mb150 {
    margin-bottom: 75px;
}

@media (max-width: 1024px) {
    .top-slide-wrap {
        margin-top: -20px;
    }

    #slide01:before {
        border-width: 100px 100px 0 0;
    }

    #navslide {
        width: 24%;
        padding-left: 10px;
    }

    .slideimg:before {
        padding-top: calc(100vh - 100px);
    }
}

@media only screen and (max-width: 599px) {
    .top-slide-wrap {
        margin-top: 0;
    }

    #slide01:before {
        border-width: 50px 50px 0 0;
    }

    #slide01 {
        width: 100%;
    }

    #navslide {
        width: 50%;
        margin: 10px auto;
        padding-left: 0;
    }

    .cline:after {
        height: 80px;
    }

    .slideimg:before {
        padding-top: calc(100vh - 260px);
    }
}

/*home01*/


.home01 .pic {
    margin-left: calc(50% - 50vw);
}

.home01-content {
    position: relative;
}

.home01-content .t-box {
    position: absolute;
    right: 0;
    bottom: 0;
    background: #fff;
    padding: 5% 0 30px 5%;
}

.home01-content .more {
    margin: 50px 0 0 0;
}

.home01 {
    padding: 10% 0 5%;
}

.home01_01 {
    margin: 10% 0 5%;
}

@media only screen and (max-width: 1024px) {
    .home01-content .t-box {
        width: 80%;
    }

    .home01-content .of70:before {
        padding-top: 100%;
    }
}

@media only screen and (max-width: 599px) {
    .home01-content .t-box {
        width: 100%;
        position: static;
        padding: 30px 20px;
    }

    .home01-content .pic {
        width: 100%;
    }

    .home01-content .of70:before {
        padding-top: 70%;
    }

    .home01-content .more {
        margin: 50px auto 0;
    }

}

/*home02*/
.salon-list li h4 {
    position: relative;
    display: inline-block;
}

.salon-list li h4:after {
    position: absolute;
    content: "";
    background: #386c4c;
    width: 1px;
    height: 40px;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    top: 5px;
    right: -16px;
}

.salon-list li .in {
    padding: 30px;
    background: #ececec;
}

.salon-list li dl {
    margin-bottom: 10px;
}

.salon-list li dl dt {
    font-size: 14px;
    width: 130px;
}

.salon-list li dl dd {
    font-size: 14px;
    width: calc(100% - 130px);
}

.salon-list li.more {
    width: 49%;
    margin: 0;
}

.salon-list li.more a,
.conceptSection03 .more a,
.salonlistSection01 .more a,
.shopSection08 .more a {
    padding: 15px 20px;
    color: #fff;
    border: solid 1px transparent;
    background: #316745;
}

.salon-list li.more-salon a {
    background: #8d6629;
}

.more.mauto {
    margin: 0 auto 0;
}

.salon-list [data-collection-list-content] li:nth-of-type(n + 2) {
    display: none;
}

@media only screen and (max-width: 1024px) {
    .salon-list li.item {
        width: 100%;
    }

    .salon-list li.item .of80:before {
        padding-top: 60%;
    }

    .heightLine-logo {
        height: auto !important;
    }
}

@media only screen and (max-width: 599px) {
    .salon-list li.item .pic {
        width: 100%;
    }

    .salon-list li dl dt {
        width: 100%;
        margin-bottom: 10px;
    }

    .salon-list li dl dd {
        width: 100%;
    }

    .salon-list li .in {
        padding: 30px 15px;
    }

    .salon-list li h4:after {
        height: 28px;
    }

    .salon-list li.more a,
    .conceptSection03 .more a,
    .salonlistSection01 .more a,
    .shopSection08 .more a {
        padding: 15px 5px;
    }
}

/*home03*/

.home03 {
    margin: 5% 0;
    background: #000;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.home03 .inner {
    padding: 5% 0;
}

.home03 li {
    background: #fff;
}

.home03 li h4 {
    margin-bottom: 0;
}

.home03 li .fs8 {
    display: block;
    margin-top: -10px;
}

.home03 li a {
    display: block;
}

.home03 li .in {
    padding: 20px;
}

.home03 li .sub-more span {
    display: inline-block;
    border-bottom: 2px solid #386c4c;
}

@media only screen and (max-width: 1024px) {
    .home03 .inner {
        padding: 10% 0;
    }
}

@media only screen and (max-width: 599px) {
    .home03 li {
        margin-bottom: 20px;
    }

    .home03 li .pic {
        width: 100%;
    }

}

/*home04*/

.home04 li {
    margin-bottom: 10px;
}

.home04 li a {
    display: block;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {
    .home04 li .pic {
        width: 100%;
    }

}

/*home05*/
.home05 {
    margin: 5% 0;
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.home05 .inner {
    padding: 5% 0;
}

.home05 li a {
    display: block;
    margin-bottom: 30px;
}

.home05 .more {
    margin: 0 auto;
}

@media only screen and (max-width: 1024px) {
    .home05 .inner {
        padding: 10% 0;
    }
}

@media only screen and (max-width: 599px) {
    .home05 li .pic {
        width: 100%;
    }
}


/*home06*/
.home06 h3 {
    width: 200px;
}

.home06 .news {
    border-top: 1px solid #dedddd;
    width: calc(100% - 200px);
    padding-left: 160px;
    margin-top: 30px;
}

.home06 .news li {
    background: url(/import/tenant_1/160.16.68.159/html/images/01index/arrow.png) no-repeat center right;
}

.home06 .news li a {
    padding: 20px 0;
    border-bottom: 1px solid #dedddd;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.home06 .news li dt {
    width: 100px;
}

.home06 .news li dd {
    width: calc(100% - 100px);
    padding-right: 50px;
}

.home06 .news .flex {
    width: 100%;
}

@media only screen and (max-width: 1024px) {
    .home06 h3 {
        width: 120px;
    }

    .home06 .news {
        width: calc(100% - 120px);
        margin-top: 20px;
        padding-left: 50px;
    }

    .home06 .news li dt {
        width: 80px;
    }

    .home06 .news li dd {
        width: calc(100% - 80px);
    }

    .home06 .news .flex {
        max-width: none;
        width: 100%;
        margin: 0;
    }
}

@media only screen and (max-width: 599px) {
    .home06 h3 {
        width: 100%;
        text-align: center;
    }

    .home06 .news {
        width: 100%;
        margin-top: 0;
        padding-left: 0;
    }

    .home06 .news li dt {
        width: 100%;
    }

    .home06 .news li dd {
        width: 100%;
    }
}

/*home07*/

.home07 {
    margin-top: 5%;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.home07 a {
    display: block;
    background: #000;
    position: relative;
    width: 100%;
    height: 100%;
}
.home07 .ba_f a {
    background: #fff;
}
.home07 .pic img {
    opacity: 0.7;
}

.home07 li {
    width: calc(33.33333% - 10px);
}

.home07 li.bg-green a {
    background: #316745;
}

.home07 h4 {
    margin-bottom: 0;
    position: absolute !important;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 5;
    line-height: 1.2;
}

.home07-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.home07-title span {
    display: block;
    line-height: 120%;
}

@media only screen and (max-width: 1024px) {
    .home07 ul {
        max-width: none;
    }

    .home07 li {
        width: calc(33.33333% - 5px);
    }

    .home07 .of20:before {
        padding-top: 26%;
    }

    .home07 .of60:before {
        padding-top: 80%;
    }

    .home07 h4 {
        font-style: 20px;
    }

    .home07 h4 span {
        height: 20px;
    }

    .home07 h4 span img {
        max-height: 20px;
    }
}

@media only screen and (max-width: 599px) {
    .home07 .pic {
        width: 100%;
    }

    .home07 li {
        width: 100%;
        margin-bottom: 10px;
    }

    .home07 .of60:before {
        padding-top: 30%;
    }

    .home07 .of20:before {
        padding-top: 30%;
    }

    .home07 li.bg-green a {
        background: #316745;
        position: relative;
    }

    .home07 li.bg-green a:after {
        content: "";
        display: block;
        padding-top: 30%;
    }
}

/*home08*/

.home08 {
    padding: 100px 0;
    overflow: hidden;
    margin-top: 10%;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.home08 a {
    display: block;
}

.home08 .in {
    position: relative;
    z-index: 2;
    width: 98%;
    max-width: 1680px;
    background: rgba(255, 255, 255, 0.7);
    margin: auto;
    padding: 5% 0;
}

.home08 .in .t-box {
    width: 98%;
    max-width: 1200px;
    margin: auto;
}

.home08 .in .t-box .tex {
    position: relative;
}

.home08 .in .t-box .tex:before {
    position: absolute;
    content: "";
    width: 2px;
    height: 500px;
    background: #000;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    top: -500px;
    left: 350px;
}

.home08 .in .t-box .tex:after {
    position: absolute;
    content: "";
    width: 2px;
    height: 500px;
    background: #000;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    bottom: -530px;
    left: -3px;
}

@media only screen and (max-width: 1024px) {
    .home08 {
        padding: 48px 0;
    }

    .home08 .in .t-box .tex:before {
        left: 252px;
    }

    .home08 .in .t-box .tex:after {
        bottom: -489px;
        left: -85px;
    }
}

/* ##### トップここまで ##### */

/* ##### 下層ページ共通 ##### */

.w80 {
    width: 80%;
}

.page-header {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin-right: calc(50% - 50vw);
    margin-top: -60px;
}

.page-header .tit {
    width: 22%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: calc(50% - 800px);
}

.page-header .tit h2 {
    padding-left: 10px;
    z-index: 2;
    text-shadow:
        #fff 2px 0px 2px, #fff -2px 0px 2px,
        #fff 0px -2px 2px, #fff -2px 0px 2px,
        #fff 2px 2px 2px, #fff -2px 2px 2px,
        #fff 2px -2px 2px, #fff -2px -2px 2px,
        #fff 1px 2px 2px, #fff -1px 2px 2px,
        #fff 1px -2px 2px, #fff -1px -2px 2px,
        #fff 2px 1px 2px, #fff -2px 1px 2px,
        #fff 2px -1px 2px, #fff -2px -1px 2px,
        #fff 1px 1px 2px, #fff -1px 1px 2px,
        #fff 1px -1px 2px, #fff -1px -1px 2px;
    position: relative;
}

.page-header .imgbox:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    /* width: 190px;
	height: 190px;
	background: #fff;
	transform: rotate(45deg);
	*/
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 190px 190px 0 0;
    border-color: #fff transparent transparent;
    z-index: 5;
}

.pankuzu {
    padding: 5% 0 0;
}

.pankuzu li {
    padding-right: 10px;
    padding-left: 10px;
    line-height: 14px;
    font-family: "游明朝",
        "YuMincho",
        "ヒラギノ明朝 ProN W3",
        "Hiragino Mincho ProN",
        "HG明朝",
        "Sawarabi Mincho",
        serif;
}

.pankuzu li:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    color: #316745;
    font-size: 14px;
    margin-left: 20px;
    font-weight: 900;
}

.pankuzu li:last-of-type:after {
    content: none;
}

.pankuzu li:first-of-type {
    padding-left: 0;
}

@media only screen and (max-width: 1024px) {
    .page-header {
        margin-top: -20px;
        max-width: none;
    }

    .page-header .tit {
        width: 100%;
        margin: 0 -80% 0 0;
        padding-left: 10px;
    }

    .page-header .tit h2 {
        font-size: 24px;
    }

    .page-header .imgbox .ofimg:before {
        padding-top: 80vh;
    }

    .page-header .imgbox:before {
        border-width: 100px 100px 0 0;
    }

    .pankuzu li {
        font-size: 12px;
    }
}

@media only screen and (max-width: 599px) {
    .page-header {
        margin-top: 0;
    }

    .page-header .imgbox:before {
        border-width: 50px 50px 0 0;
    }

    .page-header .imgbox .pic {
        width: 100%;
        margin: 0;
    }

    .page-header .tit {
        margin: 0 -80% 0 0;
    }

    .page-header .imgbox {
        width: 80%;
    }

    .page-header .tit h2 {
        font-size: 20px;
    }

    .page-header .tit h2 span {
        font-size: 10px;
    }
}

/* ##### 下層ページ共通ここまで ##### */

/* ##### ブログ共通 ##### */

.blogListSection .inner {
    padding: 10% 0 5%;
}

.one-line {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: block;
}

.blogListSection li a {
    display: block;
}

.blogListSection.news li {
    position: relative;
    overflow: hidden;
    margin: 0 1% 30px;
}

.blogListSection.news li .ontext {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(255, 255, 255, 0.7);
    padding: 10px;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

.blogListSection.news li .ontext * {
    width: 100%;
}

.blogListSection.news li a:hover .ontext {
    display: block;
    opacity: 1;
    top: 0;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.side-nav h3 {
    border-bottom: 1px solid #dedddd;
    margin-bottom: 30px;
}

.side-nav h3 span {
    margin-top: 10px;
}

.side-nav dd a {
    padding: 10px 0;
    font-size: 16px;
    display: block;
    background: url(/import/tenant_1/160.16.68.159/html/images/01index/arrow.png) no-repeat center right;
}

/*ページャー*/
.pagenav {
    padding: 5% 0;
}

.pagenav li {
    margin: 0 20px;
}

.pagenav li a {
    display: inline-block !important;
    width: 20px;
    line-height: 18px;
    text-align: center;
    font-size: 18px;
    color: #000;
    border-bottom: 1px solid transparent;
}

.pagenav li.st a {
    border-bottom: 1px solid #000;
}

.pagenav li.prev a,
.pagenav li.next a {
    width: 41px;
    font-size: 12px;
}

.pagenav li img {
    margin-top: -5px;
    vertical-align: middle;
}

.pagenav li.prev a {
    text-align: right;
}

.pagenav li.next a {
    text-align: left;
}

.blogRecommend {
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    margin-bottom: 5%;
}

@media only screen and (max-width: 1024px) {
    .blog-list .category span {
        font-size: 8px;
        margin-bottom: 5px;
        padding: 0px 8px;
    }

    .blog-list .category {
        margin-bottom: 10px;
    }

    .blogListSection.news li .ontext * {
        font-size: 12px;
        margin-bottom: 10px;
    }
}

@media only screen and (max-width: 599px) {
    .side-nav {
        margin-bottom: 30px;
        width: 100%;
    }

    .pagenav li {
        margin: 0 8px;
    }

    .blogListSection li .pic {
        width: 100%;
    }

    .blogListSection.news li .ontext span.db {
        font-size: 8px;
        margin-bottom: 5px;
    }
}


/* ##### ブログ共通ここまで ##### */

/* ##### 【料金表　1　】 ##### */
.menubox1.表示しない {
    display: none;
}

.menubox1 .menu-title {
    line-height: 120%;
}

.menubox1 dl {
    border-bottom: 1px solid #dedddd;
    padding: 10px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.menubox1 dt {
    font-size: 16px;
    font-weight: bold;
}

.menubox1 dd {
    text-align: right;
}

.menubox1 dd.left {
    text-align: left;
}

@media only screen and (max-width: 599px) {
    .menubox1 div {
        margin-bottom: 30px;
    }
}

/* ##### 【料金表　1　】ここまで ##### */
/* ##### 【料金表　2　】 ##### */
.menubox2 {
    margin-bottom: 50px;
}

.menubox2 h3 {
    text-align: center;
    border-bottom: 1px solid #000;
    margin-bottom: 10px;
}

.menubox2 dd dl {
    border-bottom: 1px solid #000;
    padding: 10px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.menubox2 dd dl dd {
    text-align: right;
}

@media (max-width: 599px) {
    .menubox2 h4 {
        text-align: center;
        margin-bottom: 0;
    }
}

/* ##### 【料金表　2　】ここまで ##### */
/* ##### 【左右のカラムが交互に代わるブロック】 ##### */
.crossbox li {
    margin-bottom: 50px;
}

.crossbox li:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

@media (max-width: 599px) {
    .crossbox li:nth-of-type(odd) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .crossbox .tex {
        margin-top: 20px;
    }
}

/* ##### 【左右のカラムが交互に代わるブロック】ここまで ##### */

/* ##### 【スタイル詳細】 ##### */
.gallery .main-image {
    width: 100%;
    margin-bottom: 15px;
}

.gallery .thumb-img {
    width: calc(33.33333% - 10px);
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.gallery .thumb-img:nth-of-type(3) {
    margin: 0 15px;
}

.gallery .thumb-img:hover {
    cursor: pointer;
    opacity: 0.8;
}

.profile-box dl {
    padding: 20px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: #dedddd solid 1px;
}

.profile-box dt {
    width: 200px;
}

.profile-box dd {
    width: calc(100% - 200px);
    text-align: right;
}


@media only screen and (max-width: 1024px) {
    .profile-box dt {
        width: 130px;
    }

    .profile-box dd {
        width: calc(100% - 130px);
    }

    .s-data.w50 {
        width: 60%;
    }
}

@media only screen and (max-width: 599px) {
    .s-data {
        margin-top: 30px;
    }

    .profile-box .stylist-data .pic {
        width: 100%;
    }

    .profile-box .stylist-data .w25 {
        width: 25%;
    }

    .profile-box .stylist-data .w70 {
        width: 70%;
    }

    .gallery .pic {
        width: 100%;
    }

    .profile-box dt {
        width: 100%;
    }

    .profile-box dd {
        width: 100%;
        margin-top: 10px;
    }

}

/* ##### 【スタイル詳細】ここまで ##### */

/* ##### よくある質問 ##### */
.faq-box {
    padding-top: 80px;
}

.qa-list {
    margin-bottom: 50px;
}

.qa-q {
    font-size: 28px;
    margin-right: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 65px;
    height: 65px;
    font-family: "游明朝",
        "YuMincho",
        "ヒラギノ明朝 ProN W3",
        "Hiragino Mincho ProN",
        "HG明朝",
        "Sawarabi Mincho",
        serif;
    border: 1px solid #000;
}

.qa-list dt div {
    font-size: 24px;
    position: relative;
    color: #000;
    display: inline-block;
    width: calc(100% - 90px);
    font-family: "游明朝",
        "YuMincho",
        "ヒラギノ明朝 ProN W3",
        "Hiragino Mincho ProN",
        "HG明朝",
        "Sawarabi Mincho",
        serif;
    padding-right: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #dedddd;
}

.acc-btn {
    position: relative;
}

.acc-btn:before {
    position: absolute;
    content: "";
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    -webkit-transform: translateY(-50%) rotate(90deg);
    -moz-transform: translateY(-50%) rotate(90deg);
    -ms-transform: translateY(-50%) rotate(90deg);
    -o-transform: translateY(-50%) rotate(90deg);
    width: 31px;
    height: 1px;
    background: #000;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}

.acc-btn:after {
    position: absolute;
    content: "";
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    width: 31px;
    height: 1px;
    background: #000;
}

.acc-btn.action:before {
    transform: translateY(-50%) rotate(0deg);
    -webkit-transform: translateY(-50%) rotate(0deg);
    -moz-transform: translateY(-50%) rotate(0deg);
    -ms-transform: translateY(-50%) rotate(0deg);
    -o-transform: translateY(-50%) rotate(0deg);
}

.qa-list dt:hover {
    cursor: pointer;
}

.qa-list dd {
    font-size: 14px;
    padding: 20px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

[data-element-id].qa-list dd {
    display: block !important;
    height: 100%;
}

.qa-list .tex {
    margin-left: auto;
    width: calc(100% - 90px);
}


@media only screen and (max-width: 1024px) {

    .qa-list dt div {
        font-size: 20px;
    }
}

@media only screen and (max-width: 599px) {
    .qa-list dt div {
        font-size: 18px;
    }

    .qa-q {
        font-size: 16px;
        margin-right: 10px;
        width: 30px;
        height: 30px;
    }

    .qa-list dt div {
        width: calc(100% - 50px);
    }

    .qa-list .tex {
        width: calc(100% - 50px);
    }
}

/* ##### よくある質問 ここまで ##### */

/* ##### お問い合わせ ##### */
.contact-list {
    margin-bottom: 20px;
    padding-bottom: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.contact-list dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 350px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}

.contact-list dd {
    width: calc(100% - 350px);
}

.contact-list input,
.contact-list textarea,
.contact-list select {
    background: #fff;
    width: 100%;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.contact-btn button {
    border: none;
    font-size: 12px;
    display: block;
    color: #fff;
    padding: 20px 20px;
    font-family: "游明朝",
        "YuMincho",
        "ヒラギノ明朝 ProN W3",
        "Hiragino Mincho ProN",
        "HG明朝",
        "Sawarabi Mincho",
        serif;
    position: relative;
    display: block;
    overflow: hidden;
    width: 330px;
    background: #316745;
    text-transform: uppercase;
    margin: 50px auto 0 auto;
}

.contact-btn button:hover {
    cursor: pointer;
}

.contact-btn button:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #000;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}

.contact-btn button:hover:before {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    cursor: pointer;
}



@media only screen and (max-width: 1024px) {
    .contact-list dt {
        margin-bottom: 10px;
    }

    .contact-list dt,
    .contact-list dd {
        width: 100%;
    }

    .contact-list .must {
        display: inline-block;
        margin-left: 10px;
    }

}

@media only screen and (max-width: 599px) {}

/* ##### お問い合わせ　ここまで ##### */

/* ##### CONCEPT ##### */

.alternateBox .home01:nth-of-type(even) .pic {
    margin-left: 0;
}

.alternateBox .home01:nth-of-type(even) .home01-content {
    margin-right: calc(50% - 50vw);
    max-width: 1200px;
    margin-left: auto;
    position: static;
    width: 100%;

}

.alternateBox .home01:nth-of-type(even) {
    position: relative;
}

.alternateBox .home01:nth-of-type(even) .home01-content .t-box {
    right: unset;
    left: 0;
    bottom: 0;
    background: #fff;
    padding: 5% 5% 30px 0;
}

.moreLink {
    text-align: right;
    background: url(/import/tenant_1/160.16.68.159/html/images/01index/arrow.png) no-repeat center right;
}

.moreLink a {
    padding-right: 50px;
    display: block;
}

.conceptSection02 li {
    margin-bottom: 5%;
}

.conceptSection03 {
    padding-top: 5%;
}

.conceptSection03 h3 {
    position: relative;
}

.conceptSection03 h3:after {
    position: absolute;
    content: "";
    width: 1px;
    height: 113px;
    background: #000;
    bottom: -150px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 5;
    -webkit-animation: Scroll 3s ease 0s infinite normal;
    animation: Scroll 3s ease 0s infinite normal;
}

.conceptSection03 .home01-content .t-box {
    right: 0;
    bottom: -40px;
    background: #ececec;
    padding: 50px 30px;
}

.alternateBox.conceptSection03 .home01:nth-of-type(even) {
    padding: 10% 0 0;
    margin-bottom: 5%;
}

.alternateBox.conceptSection03 .home01:nth-of-type(even) .home01-content .t-box {
    bottom: -40px;
    background: #ececec;
    padding: 50px 30px;
}

.home01-content .more {
    margin: 50px auto 0;
    max-width: 240px;
}

@media only screen and (max-width: 1024px) {
    .conceptSection03 h3:after {
        height: 60px;
        bottom: -70px;
    }
}

@media only screen and (max-width: 599px) {
    .alternateBox .home01:nth-of-type(even) .home01-content .t-box {
        width: 100%;
        position: static;
        padding: 30px 20px;
        margin-left: calc(50% - 50vw);
    }

    .conceptSection03 .home01-content .t-box {
        margin-top: -5%;
    }
}

/* ##### CONCEPT　ここまで ##### */


/* ##### 店舗一覧 ##### */

.salonlistSection01 .box {
    padding: 10% 0 5%;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.salonlistSection01 .t-box {
    padding-right: 10px;
}

.salonlistSection01 .more {
    margin: 50px 0 0;
    max-width: 240px;
    width: calc(50% - 10px);
}

.salonlistSection01 .more+.more {
    margin: 50px 0 0 10px;
}

.salonlistSection01 dt {
    width: 130px;
}

.salonlistSection01 dd {
    width: calc(100% - 130px);
}

.salonlistSection01 .of70:before {
    min-height: 200px;
}

@media only screen and (max-width: 1024px) {
    .salonlistSection01 .flex.c {
        max-width: none;
    }

    /* .salonlistSection01 .salon-logo {
		max-width: 250px;
	} */

    .salonlistSection01 dt {
        width: 100%;
    }

    .salonlistSection01 dd {
        width: 100%;
    }

    .salonlistSection01 .of70:before {
        padding-top: 146%;
    }
}

@media only screen and (max-width: 599px) {
    .salonlistSection01 .box {
        margin-right: auto;
        margin-left: auto;
        width: 94%;
        max-width: 450px;
    }

    .salonlistSection01 .of70:before {
        padding-top: 70%;
        min-height: auto;
    }

    .salonlistSection01 .pic {
        width: 100%;
        margin-left: calc(50% - 50vw);
        margin-bottom: 20px;
    }

}

/* ##### 店舗一覧ここまで ##### */


/* ##### サロンデータ ##### */
.shopSection01 .box {
    padding-right: calc(50vw - 50%);
}

.shopSection02 {
    margin: 5% 0 0;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.shopSection03 {
    background: #f5f5f5;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.shopSection03 .menubox1 dl {
    padding: 20px 0;
}

.shopSection05.home01 {
    padding: 10% 0 0;
    margin-bottom: 10%;
}

.shopSection05.home01 .home01-content {
    margin-right: calc(50% - 50vw);
    max-width: 1200px;
    margin-left: auto;
    position: static;
    width: 100%;
}

.shopSection05.home01 .pic {
    margin-left: 0;
}

.shopSection05.home01 .home01-content .t-box {
    bottom: -40px;
    background: #ececec;
    padding: 50px 30px;
    left: 0;
}

.shopSection05 h3 span {
    margin-top: -5px;
}

.shopSection05 dl {
    margin-bottom: 20px;
}

.shopSection05 dt {
    width: 120px;
}

.shopSection05 dd {
    width: calc(100% - 120px);
}

.shopSection08 .more {
    max-width: 514px;
    margin: 0 auto;
}

.shopSection08 .more a {
    font-size: 28px;
    padding: 30px 20px;
    position: relative;
}

.shopSection08 .more a:after {
    content: "";
    width: 10px;
    height: 18px;
    background-image: url(/import/tenant_1/160.16.68.159/html/images/04theta/arrow.png);
    background-repeat: no-repeat;
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
}

.shopSection03 .menubox1 div[data-collection-list-content] dl:nth-of-type(n + 2) {
    display: none;
}

@media only screen and (max-width: 1024px) {
    .shopSection01 .pic {
        width: 100%;
    }

    .salonlistSection01 .ofimg:before {
        min-height: auto;
        padding-top: 80%;
    }

    .salonlistSection01 .t-box {
        max-width: 768px;
        margin: 50px 0 50px auto;
    }

    .salon-logo {
        width: 80%;
    }
}

@media only screen and (max-width: 599px) {
    .salonlistSection01 .t-box {
        width: 100%;
        max-width: 450px;
        margin: 50px 0;
        padding-right: 0;
    }

    .shopSection01 .box {
        padding-right: 0;
    }

    .shopSection01 .inner {
        max-width: none;
    }

    .shopSection05.home01 {
        position: relative;
    }

    .shopSection05.home01 .home01-content .t-box {
        width: 100%;
        position: static;
        padding: 30px 20px;
        margin-left: calc(50% - 50vw);
        margin-top: -5%;
    }

    .shopSection05 dt {
        width: 100%;
    }

    .shopSection05 dd {
        width: 100%;
        margin-top: 10px;
    }

    .shopSection08 .more a {
        font-size: 18px;
        padding: 20px 10px;
    }

    .salonlistSection01 .ofimg:before {
        padding-top: 50%;
    }

    .salonlink-list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .salon-logo {
        width: 50%;
    }
}

/* ##### サロンデータ　ここまで ##### */

/* ##### スタイリスト ##### */

.stylistSection01 .inner {
    padding: 10% 0 0;
}

.stylistSection01 .inner li {
    width: 18%;
    margin: 0 1% 20px;
}

.home03.stylistSection02 {
    background: transparent;
    margin: 5% 0 0;
}

.stylistSection01 .more span {
    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;
}

.stylistSectionDetail .inner {
    padding: 10% 0 0;
}

.list-back.box {
    padding: 5% 0 10%;
}

.list-back a {
    background: url(/import/tenant_1/160.16.68.159/html/images/08_stylist_list/next.png) no-repeat center right;
    padding-right: 50px;
}

.staff-sns-list {
    margin-left: 15px;
}

.staff-sns-list li {
    margin: 0 10px;
}

[class*="sns-icon"]:before {
    font-family: "Font Awesome 5 Brands";
    font-size: 26px;
    font-weight: 900;
    display: inline-block;
}

.sns-icon-instagram:before {
    content: "\f16d";
}

.sns-icon-facebook:before {
    content: "\f082";
}

[data-element-id] .stylistSection01 ul {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

@media only screen and (max-width: 1024px) {
    .stylistSection01 .inner li {
        width: 31%;
    }

    .gallerybox .w48 {
        width: 100%;
    }

    .gallerybox .gallery {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 50px;
    }
}

@media only screen and (max-width: 599px) {
    .stylistSection01 .inner li {
        width: 48%;
    }
}

/* ##### スタイリスト　ここまで ##### */

/* ##### スタイル ##### */
.stylelistSection01 ul {
    margin-bottom: 5%;
}

.stylelistSection01 li.row4 {
    margin: 0 1% 20px;
}

.styleDetail .profile-box dl {
    background: #ececec;
    border-bottom: none;
    margin-bottom: 20px;
    padding: 10px 20px;
}

.styleDetail .profile-box dl dd {
    text-align: left;
}

.styleDetail .profile-box h4 {
    padding-bottom: 20px;
    border-bottom: #dedddd solid 1px;
}

.styleRecommend {
    margin-top: 10%;
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

li.row4 a {
    display: block;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {}

/* ##### スタイル　ここまで ##### */

/* ##### 取り扱い商品 ##### */
.product-list li .ofimg img {
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: top center;
    object-position: top center;
    font-family: 'object-fit: contain; object-position: top center;';
}

.productSection h3 {
    border-bottom: 1px solid #dedddd;
    padding-bottom: 10px;
}

.itemDetail {
    border-top: 1px solid #dedddd;
    padding-top: 10px;
    margin-top: 20px;
}

.home03.productSection li h4 {
    margin: 20px 0;
}

[data-element-id].productSection li:nth-last-of-type(n+5) {
    display: none;
}

.confiBox h3 {
    color: #000;
}

.confiBox .contact-list dt {
    color: #000;
}

.product-category span {
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    line-height: 100%;
    margin: 2px 5px;
    padding: 5px 10px;
    background-color: #386c4c;
}

.product-link-li.hide {
    display: none;
}

@media only screen and (max-width: 1024px) {
    .productSection li {
        width: 31%;
    }
}

@media only screen and (max-width: 599px) {
    .productSection li {
        width: 48%;
    }
}

/* ##### 取り扱い商品 ここまで ##### */

/* ##### 再現性の高いスタイル ##### */

.cutSection01 {
    padding: 10% 0 5%;
}

.cutSection03 h4 {
    background: #000;
    color: #fff;
    padding: 10px;
}

.faceType {
    margin-bottom: 10%;
}

.home01.cutSection04 {
    padding: 0 0 5%;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {}

/* ##### 再現性の高いスタイル　ここまで ##### */

/* ##### 髪の毛の悩み ##### */
.troubleSection01 {
    padding: 10% 0;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.troubleSection01 .cline {
    margin-bottom: 75px;
}

.troubleSection01 .cline:after {
    height: 75px;
}

.troubleSection03 {
    margin: 5% 0;
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.troubleSection03 .inner {
    padding: 5% 0;
}

.troubleSection03 li {
    padding-left: 30px;
    position: relative;
}

.troubleSection03 li:before {
    content: "■";
    position: absolute;
    left: 0;
    top: 0;
}

.troubleBox {
    margin-bottom: 5%;
}

.troubleBox .inner {
    padding: 10% 0 0;
}

.troubleBox .in {
    background: #fff;
    padding: 5% 0 5% 5%;
    margin-left: auto;
    position: relative;
}

.troubleBox .in:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    margin-right: -999rem;
    padding-right: 999rem;
    display: block;
    z-index: -1;
}

.troubleBox:nth-of-type(even) .in {
    padding: 5% 5% 5% 0;
    margin-right: auto;
    margin-left: 0;
}

.troubleBox:nth-of-type(even) .in:after {
    content: "";
    position: absolute;
    left: 0;
    right: unset;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    margin-right: 0;
    padding-right: 0;
    margin-left: -999rem;
    padding-left: 999rem;
    display: block;
    z-index: -1;
}

.causeList dl {
    border-right: 1px solid #000;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 0 20px 0 0;
}

.causeList dl:nth-of-type(even) {
    border-right: none;
    padding: 0 0 0 20px;
}

.troubleSection05 {
    background: #555555;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.troubleSection05 .inner {
    padding: 5% 0 0;
}

.troubleSection05 dl {
    background: #fff;
    padding: 80px 50px;
    margin-top: 5%;
}

.troubleSection06 .inner {
    padding: 10% 0 0;
}

.troubleSection06 li {
    margin-bottom: 5%;
}

@media only screen and (max-width: 1024px) {
    .troubleSection01 .box {
        max-width: none;
    }

    .troubleSection03 ul {
        width: 100%;
    }

    .troubleSection03 h3 {
        margin-bottom: 30px;
    }

    .troubleSection05 dl {
        padding: 50px 30px;
        margin-top: 5%;
    }
}

@media only screen and (max-width: 599px) {
    .troubleSection01 .item .pic {
        width: 100%;
    }

    .troubleSection01 {
        width: 94%;
        margin: auto;
        max-width: 450px;
    }

    .troubleSection01 .item:nth-of-type(odd) {
        margin-right: auto;
    }

    .troubleSection01 .item:nth-of-type(even) {
        margin-left: auto;
    }

    .troubleSection01 .item:nth-of-type(odd) .pic {
        margin-left: calc(50% - 50vw);
    }

    .troubleSection01 .item:nth-of-type(even) .pic {
        margin-right: calc(50% - 50vw);
    }

    .troubleSection03 .inner {
        padding: 10% 0;
    }

    .troubleSection01.troubleSection04 {
        width: 100%;
        margin: auto;
        max-width: none;
    }

    .troubleBox .in {
        width: 100%;
    }

    .causeList dl {
        border-right: none;
        border-bottom: 1px solid #000;
        padding: 0 0 20px;
    }

    .causeList dl:nth-of-type(even) {
        padding: 0;
        border-bottom: none;
    }

    .troubleBox .inner {
        padding: 55% 0 0;
    }
}

/* ##### 髪の毛の悩み　ここまで ##### */

/* ##### リクルート ##### */
.troubleSection01.recruit01 .t-box {
    max-width: 500px;
    margin-left: auto;
    margin-top: 80px;
    padding-left: 20px;
}

.troubleSection01.recruit01 .t-box .tex {
    line-height: 2;
}

.troubleSection01.recruit01 .item:nth-of-type(even) .t-box {
    margin-left: 0;
    margin-right: auto;
    padding-left: 0;
    padding-right: 20px;
}

.troubleSection01.recruit01 .item:nth-of-type(even) .t-box h3,
.troubleSection01.recruit01 .item:nth-of-type(even) .t-box dt {
    text-align: right;
}

.recruit02 .inner {
    background: #000;
    padding: 15% 60px 5%;
}

.recruit02 img {
    opacity: 0.4;
}

.recruit03 {
    margin: 10% 0 5%;
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.recruit03 .stepBox li {
    background: #fff;
    padding: 30px 20px;
}

.recruit03 .stepBox dt:after {
    content: "";
    display: block;
    margin: 20px auto;
    text-align: center;
    width: 44px;
    height: 1px;
    background: #316745;
}

.recruit03 .inner {
    padding: 10% 0 5%;
}

.recruit03 .inner+.inner {
    padding: 0 0 10%;
}

.recruit03 .cline:after {
    height: 55px;
}

.recruit05.recruit03 {
    background: #1a1a1a;
}

.recruit05 .logo-c {
    max-width: 230px;
    margin: 0 auto 30px;
}

.recruit05 li dt {
    font-style: italic;
}

.recruit03.recruit05 .inner {
    padding: 5% 0;
}

.recruit07 {
    width: 100%;
}

.recruit07IN {
    margin-right: calc(50% - 50vw);
    margin-left: auto;
}

.recruit07 .cline {
    margin-bottom: 100px;
}

.recruit07 .cline:after {
    height: 107px;
}

.recruit07IN .t-box {
    max-width: 1200px;
    padding-right: 20px;
}

.recruit07IN h4 {
    margin-top: 80px;
    border-bottom: 1px solid #dedddd;
    padding-bottom: 20px;
    margin-bottom: 5%;
}

.recruit07IN dl {
    margin-bottom: 5%;
}

.recruit07IN dt {
    border-left: 5px solid #316745;
    padding-left: 10px;
    line-height: 20px;
}

.recruit08 {
    margin: 0 0 5%;
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.recruit10 {
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.recruit10 img {
    opacity: 0.1;
}

.recruit10 dl {
  margin-bottom: 5%;
    border-bottom: 1px solid;
    padding-bottom: 5%;
}  


.recruit10 dt {
    width: 200px;
}

.recruit10 dd {
    width: calc(100% - 200px);
}

.recruit11.recruit03 {
    background: transparent;
    margin-right: 0;
    margin-left: 0;
}

.recruit11 .stepBox li {
    background: #e0e0e0;
}

.recruit11 .inner {
    padding: 0;
}

.recruit12 {
    background: #1a1a1a;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.must {
    display: inline-block;
    font-size: 12px;
    color: #fff;
    background-color: #dc143c;
    line-height: 120%;
    padding: 2px 5px;
    margin: 5px 0 0 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media only screen and (max-width: 1024px) {
    .troubleSection01.recruit01 .item {
        width: 100%;
    }

    .troubleSection01.recruit01 .item:nth-of-type(odd) .pic {
        margin-left: calc(50% - 50vw);
    }

    .troubleSection01.recruit01 .item:nth-of-type(even) .pic {
        margin-right: calc(50% - 50vw);
        margin-left: auto;
    }

    .troubleSection01.recruit01 {
        width: 94%;
        margin: auto;
    }

    .troubleSection01.recruit01 .t-box,
    .troubleSection01.recruit01 .item:nth-of-type(even) .t-box {
        margin: 50px auto;
    }

    .recruit02 .w70 {
        width: 100%;
    }

    .recruit03 .stepBox li {
        width: 48%;
    }
}

@media only screen and (max-width: 599px) {
    .troubleSection01.recruit01 .t-box {
        padding-left: 10px;
    }

    .troubleSection01.recruit01 .item:nth-of-type(even) .t-box {
        padding-right: 10px;
    }

    .recruit02 .inner {
        padding: 20% 20px 5%;
    }

    .recruit03 .cline {
        padding-bottom: 10px;
        margin-bottom: 80px;
    }

    .recruit07 .pic {
        width: 100%;
    }

    .recruit07IN h4 {
        margin-top: 30px;
    }

    .fs44 {
        font-size: 22px;
    }

    .recruit03 .stepBox li {
        width: 100%;
    }

    .recruit03 .stepBox li dl {
        height: auto !important;
    }

    .recruit07 .cline:after {
        height: 61px;
    }

    .recruit07 .cline {
        margin-bottom: 66px;
    }

    .recruit03.recruit05 .inner {
        padding: 10% 0 5%;
    }

    .recruit06 .row4 {
        width: 100%;
    }

    .recruit07IN .t-box {
        padding-right: 10px;
    }

    .acc-btn:before {
        width: 20px;
    }

    .acc-btn:after {
        width: 20px;
    }

    .qa-list dt div {
        padding-right: 25px;
    }

    .recruit10 dt {
        width: 100%;
    }

    .recruit10 dd {
        width: 100%;
        margin-top: 10px;
    }

}

/* ##### リクルート　ここまで ##### */

@-webkit-keyframes Scroll {
    0% {
        height: 0;
        top: 100%;
    }

    24% {
        top: 100%;
    }

    25% {
        top: unset;
        bottom: -50px;
        height: 50px;
    }

    50% {
        height: 0;
        bottom: -50px;
    }

    100% {
        height: 0;
        bottom: -50px;
    }
}

@keyframes Scroll {
    0% {
        height: 0;
        top: 100%;
    }

    24% {
        top: 100%;
    }

    25% {
        top: unset;
        bottom: -50px;
        height: 50px;
    }

    50% {
        height: 0;
        bottom: -50px;
    }

    100% {
        height: 0;
        bottom: -50px;
    }
}

/* ##### instagram ##### */
.box-btn .icon-instagram:before {
    color: #fff;
    margin-right: 15px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.box-btn a:hover .icon-instagram:before {
    color: #c2a24d;
}

.instagram-link:before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #c2a24d;
    margin: 50px 0;
}

.insta-list>li {
    width: calc(25% - 10px);
    margin: 5px;
}

.insta-list a {
    display: block;
}

.insta-list a:hover {
    opacity: 1;
}

.insta-list li figure {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 0;
}

.insta-list li figcaption {
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: rgba(56, 108, 76, 0.8);
    -webkit-transition: .3s;
    transition: .3s;
    opacity: 0;
}

.insta-list li figure:hover figcaption {
    opacity: 1;
}

.insta-info-list * {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}

.insta-info-list li {
    text-align: center;
}

.insta_like span:before {
    content: "\f004";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    margin-right: 5px;
}

@media (max-width: 1024px) {
    .insta-list li figcaption {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        background: transparent;
        padding: 5px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        opacity: 1;
    }

    .insta-info-list {
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%;
    }

    .insta-info-list * {
        font-size: 12px;
    }

    .insta-info-list li {
        text-align: left;
        left: 100%;
        padding: 2px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .insta_like span,
    .insta_date {
        text-shadow: 1px 1px 0 #000;
    }

    .insta_date {
        -ms-flex-item-align: end;
        align-self: flex-end;
    }
}

@media only screen and (max-width: 599px) {
    .instagram-link:before {
        margin: 30px 0;
    }

    .insta-list>li {
        width: calc(50% - 10px);
    }

    .insta-title-area:before {
        top: 60px;
    }

    .insta-title-area {
        padding-bottom: 0;
    }
}

/* ##### instagram end ##### */

/* ##### エフェクト ##### */
.home-greeting {
    -webkit-transition: 1s;
    transition: 1s;
    overflow: hidden;
    position: relative;
}

 .home-greeting:before,
.home-greeting:after {
    content: "";
    display: block;
    position: absolute;
    top: -50%;
    width: 50%;
    height: 200%;
    background: #2D7638;
    z-index: 2;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
} 

.home-greeting:before {
    left: 0;
}

.home-greeting:after {
    right: 0;
}

.home-greeting.on:before {
    -webkit-animation: home-greeting-cloth1 3.4s 0.4s forwards;
    animation: home-greeting-cloth1 3.4s 0.4s forwards;
}

.home-greeting.on:after {
    -webkit-animation: home-greeting-cloth2 3.4s 0.4s forwards;
    animation: home-greeting-cloth2 3.4s 0.4s forwards;
}

.home-greeting-scissors {
    position: absolute;
    left: 50%;
    top: -30px;
    z-index: 3;
    margin-left: -15px;
    opacity: 0;
}

.home-greeting.on .home-greeting-scissors {
    -webkit-animation: home-greeting-scissors 3.4s;
    animation: home-greeting-scissors 3.4s;
}

[data-element-id] .home-greeting:before,
[data-element-id] .home-greeting:after {
    display: none;
}

@-webkit-keyframes home-greeting-cloth1 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    20% {
        -webkit-transform: rotate(-1deg);
        transform: rotate(-1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    21% {
        -webkit-transform: rotate(-1deg);
        transform: rotate(-1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    100% {
        -webkit-transform: rotate(-15deg) translateX(-160%);
        transform: rotate(-15deg) translateX(-160%);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }
}

@keyframes home-greeting-cloth1 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    20% {
        -webkit-transform: rotate(-1deg);
        transform: rotate(-1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    21% {
        -webkit-transform: rotate(-1deg);
        transform: rotate(-1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    100% {
        -webkit-transform: rotate(-15deg) translateX(-160%);
        transform: rotate(-15deg) translateX(-160%);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }
}

@-webkit-keyframes home-greeting-cloth2 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    20% {
        -webkit-transform: rotate(1deg);
        transform: rotate(1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    21% {
        -webkit-transform: rotate(1deg);
        transform: rotate(1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    100% {
        -webkit-transform: rotate(15deg) translateX(160%);
        transform: rotate(15deg) translateX(160%);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }
}

@keyframes home-greeting-cloth2 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    20% {
        -webkit-transform: rotate(1deg);
        transform: rotate(1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    21% {
        -webkit-transform: rotate(1deg);
        transform: rotate(1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    100% {
        -webkit-transform: rotate(15deg) translateX(160%);
        transform: rotate(15deg) translateX(160%);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }
}

@-webkit-keyframes home-greeting-scissors {
    0% {
        opacity: 0;
        top: -60px;
    }

    7% {
        opacity: 1;
        top: -60px;
    }

    47% {
        opacity: 1;
        top: 130%;
    }

    100% {
        opacity: 1;
        top: 130%;
    }
}

@keyframes home-greeting-scissors {
    0% {
        opacity: 0;
        top: -60px;
    }

    7% {
        opacity: 1;
        top: -60px;
    }

    47% {
        opacity: 1;
        top: 130%;
    }

    100% {
        opacity: 1;
        top: 130%;
    }
}

/* ##### エフェクト end ##### */

/**********2021/03/25*********/
.insta_icon00 {
  width: 40px;
}

.staff00x {
    margin-bottom: 50px;
}


/* キッズルーム作成  4/22*/

.jc-c{
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.pt-0{
  padding-top: 0px !important;
}


/* 5/7 */

.nav-ul {
    padding: 0px 30px;
}

.tac{
  text-align: center;
}

.lt01{
  letter-spacing: 0.1em;
}
.pti-0{
  padding-top: 0px !important;  
}
@media only screen and (max-width: 599px){
.pti-13{
  padding-top: 13% !important;
}  
}

.r{
  display: inline-block;
}

@media only screen and (max-width: 1024px){
  .r{
    display: block;
  }
}

@media only screen and (max-width: 599px){
  .r{
  display: inline-block;
}
}

@charset "utf-8";
/* CSS Document */

/* ##### font ##### */
.yu-min {
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", "Sawarabi Mincho", serif;
}

/* ##### font end ##### */

/* ##### reset.css上書き ##### */
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
button,
p {
    letter-spacing: 0.1em;
}


h1,
h2,
h3,
h4,
h5,
h6 {
    font-weight: 400;
}

html,
body {
    overflow-x: hidden;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {
    .fs30 {
        font-size: 20px;
    }

    .fs16 {
        font-size: 14px;
    }
}

/* ##### reset.css上書きここまで ##### */

/* ##### ローディング ##### */
#loading {
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    width: 100vw;
    height: 100vh;
    -webkit-transition: all 1s;
    transition: all 1s;
    background-color: #000;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9999;
}

#movie {
    width: 50%;
    height: auto;
    background-color: #000;
}

.loaded #loading {
    opacity: 0;
    visibility: hidden;
}

[data-element-id] #loading {
    width: 300px;
    height: 200px;
    position: absolute;
    top: 250px;
    left: 50px;
}

[data-element-id] #loading:before {
    content: 'ローディングエフェクト';
    display: block;
    width: 100%;
    height: 25px;
    background-color: #000;
    font-size: 14px;
    font-weight: bold;
    color: #fff;
    line-height: 100%;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: absolute;
    top: -27px;
    left: 0;
}

@media (max-width: 1024px) {
    #movie {
        width: 70%;
    }
}

@media (max-width: 599px) {
    #movie {
        width: 90%;
    }
}

/* ##### ローディング end ##### */

/* ##### 共通 ##### */

a {
    -webkit-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

#wrapper {
    min-width: 320px;
}

#wrapper[data-element-id] {
    padding-top: 0 !important;
}

.content {
    width: 100%;
    max-width: 1600px;
    margin: auto;
}

.inner {
    padding: 5% 0;
}

.w1000 {
    width: 92%;
    max-width: 1200px;
    margin: 0 auto;
}

.sp-only {
    display: none;
}

.fs10 {
    font-size: 10px;
}

.fs8 {
    font-size: 8px;
}

.fs50 {
    font-size: 50px;
}

.tex {
    line-height: 30px;
}

.tc {
    text-align: center;
}

.tr {
    text-align: right;
}

.tl {
    text-align: left;
}

.mt10 {
    margin-top: 10px;
}

.mb10 {
    margin-bottom: 10px;
}

.mt20 {
    margin-top: 20px;
}

.mb20 {
    margin-bottom: 20px;
}

.mt30 {
    margin-top: 30px;
}

.mb30 {
    margin-bottom: 30px;
}

.mb50 {
    margin-bottom: 50px;
}

.mt50 {
    margin-top: 50px;
}

.pad50 {
    padding: 50px 0;
}

.pt50 {
    padding-top: 50px;
}

.pb50 {
    padding-bottom: 50px;
}

.mt80 {
    margin-top: 80px;
}

.mb80 {
    margin-bottom: 80px;
}

.mauto {
    margin: 0 auto;
}

.z1 {
    position: relative;
    z-index: 1;
}

.ctex {
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: 0;
    padding: 0;
    z-index: 1;
}

.Blink a {
    display: block;
}

.more {
    text-align: center;
    margin: 50px auto 0 auto;
    width: 90%;
    max-width: 330px;
}

.more a {
    font-size: 12px;
    display: block;
    background: transparent;
    color: #000;
    padding: 20px 20px;
    font-family: "游明朝",
        "YuMincho",
        "ヒラギノ明朝 ProN W3",
        "Hiragino Mincho ProN",
        "HG明朝",
        "Sawarabi Mincho",
        serif;
    position: relative;
    display: block;
    overflow: hidden;
    text-transform: uppercase;
    border: solid 1px #000;
}

.more a:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #000;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}

.more a:hover:before {
    -webkit-transform: translateX(0);
    transform: translateX(0);
}

.more a span {
    position: relative;
    z-index: 5;
}

.more a:hover {
    color: #fff;
    opacity: 1;
}

.more.white a {
    border: solid 1px #fff;
    color: #fff;
}

.more.white a:before {
    background-color: #fff;
}

.more.white a:hover {
    color: #000;
}

.bgimg {
    position: absolute;
    top: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    width: 100%;
    height: 100%;
}

.bgimg img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
}

.of-img {
    width: 100%;
    overflow: hidden;
    height: 100%;
}

.of-img img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;';
}

.ofimg {
    width: 100%;
    overflow: hidden;
    height: auto;
    display: block;
}

.ofimg img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    font-family: 'object-fit: cover; object-position: center center;';
}

.of {
    position: relative;
}

.of:before {
    content: "";
    display: block;
}

.of img {
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.of15:before {
    padding-top: 15%;
}

.of20:before {
    padding-top: 20%;
}

.of25:before {
    padding-top: 25%;
}

.of30:before {
    padding-top: 30%;
}

.of35:before {
    padding-top: 35%;
}

.of40:before {
    padding-top: 40%;
}

.of45:before {
    padding-top: 45%;
}

.of50:before {
    padding-top: 50%;
}

.of55:before {
    padding-top: 55%;
}

.of60:before {
    padding-top: 60%;
}

.of65:before {
    padding-top: 65%;
}

.of70:before {
    padding-top: 70%;
}

.of75:before {
    padding-top: 75%;
}

.of80:before {
    padding-top: 80%;
}

.of85:before {
    padding-top: 85%;
}

.of90:before {
    padding-top: 90%;
}

.of95:before {
    padding-top: 95%;
}

.of100:before {
    padding-top: 100%;
}

.of105:before {
    padding-top: 105%;
}

.of110:before {
    padding-top: 110%;
}

.of115:before {
    padding-top: 115%;
}

.of120:before {
    padding-top: 120%;
}

.of135:before {
    padding-top: 135%;
}

.of140:before {
    padding-top: 140%;
}

.c-w {
    color: #fff;
}

.c-green {
    color: #386c4c;
}

.db {
    display: block;
}

.circle.pic span {
    border-radius: 50%;
}

.reverse {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.c {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.cc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.row2 {
    width: 48%;
    margin: 0 1% 6%;
}

.row3 {
    width: 31.333%;
    margin: 0 1% 6%;
}

.row4 {
    width: 23%;
    margin: 0 1% 6%;
}

.row5 {
    width: calc(20% - 10px);
    margin: 0 5px 6%;
}

.w20 {
    width: 20%;
}

.w75 {
    width: 75%;
}

.w90 {
    width: 90%;
}

@media only screen and (max-width: 1024px) {
    .sp-only {
        display: block;
    }

    .pc-only {
        display: none;
    }

    .tex.tc {
        text-align: left;
    }
}

@media only screen and (max-width: 599px) {
    .mb80 {
        margin-bottom: 50px;
    }

    .row2 {
        width: 98%;
        margin: 0 1% 10%;
    }

    .row3 {
        width: 48%;
        margin: 0 1% 10%;
    }

    .row4 {
        width: 48%;
        margin: 0 1% 10%;
    }

    .row5 {
        width: calc(33.33333% - 10px);
        margin: 0 5px 6%;
    }

    .w75 {
        width: 100%;
    }

    .sp-c {
        text-align: center;
    }

    .w90 {
        width: 100%;
    }

    .w20 {
        width: 90%;
        margin: 50px auto;
    }

}

/* ##### 共通ここまで ##### */

/* ##### header ##### */
.logo h1 {
    font-size: 12px;
    font-weight: normal;
    display: none;
}

h1[data-element-id] {
    display: block;
}

/* ##### header ##### */

header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 30px calc(50% - 800px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    width: 100%;
    z-index: 100;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    position: relative;
}

.inner-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: fixed;
    top: 35px;
    right: calc(50% - 800px);
    z-index: 5;
}

[data-element-id] .inner-header {
    position: absolute;
}

.h-reseave {
    margin-right: 30px;
}

.h-reseave a {
    color: #386c4c;
    border-bottom: 2px solid #386c4c;
}

.h-reseave .ab_b a {
    color: #a32727;
    border-bottom: 2px solid #a32727;
}

.logo {
    padding-top: 30px;
    width: 15vw;
    height: auto;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
}

.logo h1 {
    font-size: 12px;
    font-weight: normal;
    display: none;
}

h1[data-element-id] {
    display: block;
}

@media (max-width: 1600px) {
    .inner-header {
        right: 20px;
    }
}

@media only screen and (max-width: 1024px) {
    header {
        padding: 20px;
    }

    .inner-header {
        top: 25px;
    }

    .logo {
        padding-top: 30px;
        width: 20vw;
    }
}

@media only screen and (max-width: 599px) {
    header {
        padding: 10px;
    }

    .inner-header {
        top: 15px;
        right: 15px;
    }

    .logo {
        width: 30vw;
        padding-top: 10px;
    }
}

/* ##### header end ##### */

/* ##### nav ##### */
.nav-wrap {
    width: 90%;
    max-width: 640px;
    height: 100vh;
    background-color: #fff;
    padding: 100px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: fixed;
    top: 0;
    right: 0;
    -webkit-transform: translate(100%, 0);
    transform: translate(100%, 0);
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    z-index: 4;
}

[data-element-id] .nav-wrap,
.active .nav-wrap {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    -webkit-box-shadow: -2px 0px 15px -5px #000;
    box-shadow: -2px 0px 15px -5px #000;
}

[data-element-id] .nav-wrap {
    position: absolute;
}

.nav-wrap .logo {
    width: 30%;
    margin: 0 auto 15px;
}

.navshop-title {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 24px;
    font-weight: bold;
    text-align: center;
    margin: 10px;
}

.nav-ul {
    padding: 10px 30px;
}

.nav-ul li {
    margin-bottom: 15px;
}

.nav-ul li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.nav-ul li a span {
    display: block;
    line-height: 140%;
}

.nav-ul li a .en {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 20px;
    font-weight: bold;
    position: relative;
}

.nav-ul li a .en:after {
    content: '';
    display: block;
    width: 30px;
    height: 3px;
    background-color: #386c4c;
    margin: 5px auto;
}

.nav-ul li a .ja {
    font-size: 13px;
}

.nav-ul li .shop-snslink a {
    padding: 5px;
}

.navshop-list li {
    width: 50%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    border-left: 1px solid #a9a9a9;
}

.navshop-list li a {
    width: 100%;
}

.nav-list li {
    width: calc(100% / 3);
    border-left: 1px solid #a9a9a9;
    margin-bottom: 5px;
}

.navshop-list li:last-of-type,
.navshop-list li:nth-of-type(2n),
.nav-list li:last-of-type,
.nav-list li:nth-of-type(3n) {
    border-right: 1px solid #a9a9a9;
}

.nav-ul li.wide {
    width: 50%;
}

.nav-list li a {
    padding: 5px 10px;
}

.nav-list li a .en {
    font-size: 16px;
}

.nav-list li a .ja {
    font-size: 11px;
}

.icon-instagram:before {
    content: "\e055";
    font-family: "Font Awesome 5 Brands";
    font-size: 24px;
    color: #386c4c;
    font-weight: 900;
    display: inline-block;
}

.navshop-list div[data-collection-list-content] li:nth-of-type(n + 3) {
    display: none;
}

.insta_section_bussinessid {
    visibility: hidden;
    height: 0;
}

@media (max-width: 1024px) {
    .nav-wrap {
        padding: 60px 0 100px;
    }

    .nav-ul li a {
        padding: 8px;
    }

    .nav-ul li a .en {
        font-size: 18px;
    }

    .nav-ul li a .ja {
        font-size: 12px;
    }

    .nav-list li a {
        padding: 3px 8px;
    }

    .nav-list li a .en {
        font-size: 15px;
    }
}

@media (max-width: 599px) {
    .nav-wrap .logo {
        width: 50%;
        margin: 0 auto 10px;
    }

    .navshop-title {
        font-size: 20px;
        margin: 5px;
    }

    .nav-ul {
        padding: 5px 15px;
    }

    .nav-ul li a {
        padding: 8px 5px;
    }

    .nav-ul li a .en {
        font-size: 17px;
    }

    .nav-ul li a .ja {
        font-size: 10px;
    }

    .navshop-list li {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        border-right: 1px solid #a9a9a9;
    }

    .navshop-list li .shop-link {
        width: 100%;
    }

    .navshop-list li .shop-snslink {
        width: 15%;
    }

    .nav-list li {
        width: 50%;
        border-left: none;
        border-right: 1px solid #a9a9a9;
    }

    .nav-ul li.wide {
        width: 100%;
        border-left: 1px solid #a9a9a9;
        border-right: 1px solid #a9a9a9;
    }

    .nav-list li:nth-of-type(odd) {
        border-left: 1px solid #a9a9a9;
    }

    .nav-list li a .en {
        font-size: 15px;
    }

    .nav-list li a {
        padding: 5px;
    }
}

/* ##### nav end ##### */

/* ##### ナビオープン時 ##### */
header>.logo,
.top-slide-wrap,
.page-header,
.content,
footer {
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.active header>.logo,
.active .top-slide-wrap,
.active .page-header,
.active .content,
.active footer {
    -webkit-filter: blur(5px);
    filter: blur(5px);
    -webkit-transform: translate(-100px, 0);
    transform: translate(-100px, 0);
}

/* ##### ナビオープン時 end ##### */

/* ##### footer ##### */

footer {
    position: relative;
}

.footnav {
    margin-bottom: 5%;
}

.footnav .inner {
    padding: 10% 0 0;
}

.footnav li {
    width: calc(33.3333% - 10px);
    margin-bottom: 5%;
}

.copy {
    position: absolute;
    writing-mode: vertical-rl;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    height: 70px;
    font-size: 10px;
    right: 20px;
    bottom: 0;
}

.footimg {
    background: #000;
}

.footimg img {
    opacity: 0.3;
}

.footlogo {
    max-width: 219px;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 5;
}

.footlogo a {
    display: block;
}

.footnav [data-collection-list-content] li:nth-of-type(n + 2) {
    display: none;
}

@media only screen and (max-width: 1024px) {
    .footnav li {
        width: calc(50% - 10px);
    }
}

@media only screen and (max-width: 599px) {
    .footimg {
        width: 100%;
    }

    .footnav li {
        width: 100%;
    }

    .footimg .of20:before {
        padding-top: 30%;
    }
}

/* ##### footer end ##### */

/* ##### top ##### */
.top-slide-wrap {
    max-width: 100%;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
    margin-top: -60px;
}

#slide01 {
    width: 75%;
    position: relative;
}

#slide01:before {
    content: "";
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 190px 190px 0 0;
    border-color: #fff transparent transparent;
    z-index: 5;
    position: absolute;
    left: 0;
    top: 0;
}

#navslide {
    width: 22%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding-left: calc(50% - 800px);
}

#navslide .slick-slide {
    margin: 5px 0;
}

#navslide .slideimg:before {
    padding-top: 37.5%;
}

#slide01 .slick-slide {
    border-top: 2px solid transparent;
    border-bottom: 2px solid transparent;
}

[data-element-id] #slide01 .slideimg:nth-of-type(n+2) {
    display: none;
}

[data-element-id] #navslide .slideimg:nth-of-type(n+2) {
    display: none;
}

h3 .db {
    line-height: 14px;
    margin-top: 20px;
    padding-bottom: 20px;
}

.cline {
    position: relative;
    padding-bottom: 20px;
}

.cline:after {
    position: absolute;
    content: "";
    width: 1px;
    height: 113px;
    background: #000;
    top: 100%;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 5;
    -webkit-animation: Scroll 3s ease 0s infinite normal;
    animation: Scroll 3s ease 0s infinite normal;
}

.mb150 {
    margin-bottom: 75px;
}

@media (max-width: 1024px) {
    .top-slide-wrap {
        margin-top: -20px;
    }

    #slide01:before {
        border-width: 100px 100px 0 0;
    }

    #navslide {
        width: 24%;
        padding-left: 10px;
    }

    .slideimg:before {
        padding-top: calc(100vh - 100px);
    }
}

@media only screen and (max-width: 599px) {
    .top-slide-wrap {
        margin-top: 0;
    }

    #slide01:before {
        border-width: 50px 50px 0 0;
    }

    #slide01 {
        width: 100%;
    }

    #navslide {
        width: 50%;
        margin: 10px auto;
        padding-left: 0;
    }

    .cline:after {
        height: 80px;
    }

    .slideimg:before {
        padding-top: calc(100vh - 260px);
    }
}

/*home01*/


.home01 .pic {
    margin-left: calc(50% - 50vw);
}

.home01-content {
    position: relative;
}

.home01-content .t-box {
    position: absolute;
    right: 0;
    bottom: 0;
    background: #fff;
    padding: 5% 0 30px 5%;
}

.home01-content .more {
    margin: 50px 0 0 0;
}

.home01 {
    padding: 10% 0 5%;
}

.home01_01 {
    margin: 10% 0 5%;
}

@media only screen and (max-width: 1024px) {
    .home01-content .t-box {
        width: 80%;
    }

    .home01-content .of70:before {
        padding-top: 100%;
    }
}

@media only screen and (max-width: 599px) {
    .home01-content .t-box {
        width: 100%;
        position: static;
        padding: 30px 20px;
    }

    .home01-content .pic {
        width: 100%;
    }

    .home01-content .of70:before {
        padding-top: 70%;
    }

    .home01-content .more {
        margin: 50px auto 0;
    }

}

/*home02*/
.salon-list li h4 {
    position: relative;
    display: inline-block;
}

.salon-list li h4:after {
    position: absolute;
    content: "";
    background: #386c4c;
    width: 1px;
    height: 40px;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    top: 5px;
    right: -16px;
}

.salon-list li .in {
    padding: 30px;
    background: #ececec;
}

.salon-list li dl {
    margin-bottom: 10px;
}

.salon-list li dl dt {
    font-size: 14px;
    width: 130px;
}

.salon-list li dl dd {
    font-size: 14px;
    width: calc(100% - 130px);
}

.salon-list li.more {
    width: 49%;
    margin: 0;
}

.salon-list li.more a,
.conceptSection03 .more a,
.salonlistSection01 .more a,
.shopSection08 .more a {
    padding: 15px 20px;
    color: #fff;
    border: solid 1px transparent;
    background: #316745;
}

.salon-list li.more-salon a {
    background: #8d6629;
}

.more.mauto {
    margin: 0 auto 0;
}

.salon-list [data-collection-list-content] li:nth-of-type(n + 2) {
    display: none;
}

@media only screen and (max-width: 1024px) {
    .salon-list li.item {
        width: 100%;
    }

    .salon-list li.item .of80:before {
        padding-top: 60%;
    }

    .heightLine-logo {
        height: auto !important;
    }
}

@media only screen and (max-width: 599px) {
    .salon-list li.item .pic {
        width: 100%;
    }

    .salon-list li dl dt {
        width: 100%;
        margin-bottom: 10px;
    }

    .salon-list li dl dd {
        width: 100%;
    }

    .salon-list li .in {
        padding: 30px 15px;
    }

    .salon-list li h4:after {
        height: 28px;
    }

    .salon-list li.more a,
    .conceptSection03 .more a,
    .salonlistSection01 .more a,
    .shopSection08 .more a {
        padding: 15px 5px;
    }
}

/*home03*/

.home03 {
    margin: 5% 0;
    background: #000;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.home03 .inner {
    padding: 5% 0;
}

.home03 li {
    background: #fff;
}

.home03 li h4 {
    margin-bottom: 0;
}

.home03 li .fs8 {
    display: block;
    margin-top: -10px;
}

.home03 li a {
    display: block;
}

.home03 li .in {
    padding: 20px;
}

.home03 li .sub-more span {
    display: inline-block;
    border-bottom: 2px solid #386c4c;
}

@media only screen and (max-width: 1024px) {
    .home03 .inner {
        padding: 10% 0;
    }
}

@media only screen and (max-width: 599px) {
    .home03 li {
        margin-bottom: 20px;
    }

    .home03 li .pic {
        width: 100%;
    }

}

/*home04*/

.home04 li {
    margin-bottom: 10px;
}

.home04 li a {
    display: block;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {
    .home04 li .pic {
        width: 100%;
    }

}

/*home05*/
.home05 {
    margin: 5% 0;
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.home05 .inner {
    padding: 5% 0;
}

.home05 li a {
    display: block;
    margin-bottom: 30px;
}

.home05 .more {
    margin: 0 auto;
}

@media only screen and (max-width: 1024px) {
    .home05 .inner {
        padding: 10% 0;
    }
}

@media only screen and (max-width: 599px) {
    .home05 li .pic {
        width: 100%;
    }
}


/*home06*/
.home06 h3 {
    width: 200px;
}

.home06 .news {
    border-top: 1px solid #dedddd;
    width: calc(100% - 200px);
    padding-left: 160px;
    margin-top: 30px;
}

.home06 .news li {
    background: url(/import/tenant_1/160.16.68.159/html/images/01index/arrow.png) no-repeat center right;
}

.home06 .news li a {
    padding: 20px 0;
    border-bottom: 1px solid #dedddd;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.home06 .news li dt {
    width: 100px;
}

.home06 .news li dd {
    width: calc(100% - 100px);
    padding-right: 50px;
}

.home06 .news .flex {
    width: 100%;
}

@media only screen and (max-width: 1024px) {
    .home06 h3 {
        width: 120px;
    }

    .home06 .news {
        width: calc(100% - 120px);
        margin-top: 20px;
        padding-left: 50px;
    }

    .home06 .news li dt {
        width: 80px;
    }

    .home06 .news li dd {
        width: calc(100% - 80px);
    }

    .home06 .news .flex {
        max-width: none;
        width: 100%;
        margin: 0;
    }
}

@media only screen and (max-width: 599px) {
    .home06 h3 {
        width: 100%;
        text-align: center;
    }

    .home06 .news {
        width: 100%;
        margin-top: 0;
        padding-left: 0;
    }

    .home06 .news li dt {
        width: 100%;
    }

    .home06 .news li dd {
        width: 100%;
    }
}

/*home07*/

.home07 {
    margin-top: 5%;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.home07 a {
    display: block;
    background: #000;
    position: relative;
    width: 100%;
    height: 100%;
}

.home07 .pic img {
    opacity: 0.7;
}

.home07 li {
    width: calc(33.33333% - 10px);
}

.home07 li.bg-green a {
    background: #316745;
}

.home07 h4 {
    margin-bottom: 0;
    position: absolute !important;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 5;
    line-height: 1.2;
}

.home07-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.home07-title span {
    display: block;
    line-height: 120%;
}

@media only screen and (max-width: 1024px) {
    .home07 ul {
        max-width: none;
    }

    .home07 li {
        width: calc(33.33333% - 5px);
    }

    .home07 .of20:before {
        padding-top: 26%;
    }

    .home07 .of60:before {
        padding-top: 80%;
    }

    .home07 h4 {
        font-style: 20px;
    }

    .home07 h4 span {
        height: 20px;
    }

    .home07 h4 span img {
        max-height: 20px;
    }
}

@media only screen and (max-width: 599px) {
    .home07 .pic {
        width: 100%;
    }

    .home07 li {
        width: 100%;
        margin-bottom: 10px;
    }

    .home07 .of60:before {
        padding-top: 30%;
    }

    .home07 .of20:before {
        padding-top: 30%;
    }

    .home07 li.bg-green a {
        background: #316745;
        position: relative;
    }

    .home07 li.bg-green a:after {
        content: "";
        display: block;
        padding-top: 30%;
    }
}

/*home08*/

.home08 {
    padding: 100px 0;
    overflow: hidden;
    margin-top: 10%;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.home08 a {
    display: block;
}

.home08 .in {
    position: relative;
    z-index: 2;
    width: 98%;
    max-width: 1680px;
    background: rgba(255, 255, 255, 0.7);
    margin: auto;
    padding: 5% 0;
}

.home08 .in .t-box {
    width: 98%;
    max-width: 1200px;
    margin: auto;
}

.home08 .in .t-box .tex {
    position: relative;
}

.home08 .in .t-box .tex:before {
    position: absolute;
    content: "";
    width: 2px;
    height: 500px;
    background: #000;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    top: -500px;
    left: 350px;
}

.home08 .in .t-box .tex:after {
    position: absolute;
    content: "";
    width: 2px;
    height: 500px;
    background: #000;
    -webkit-transform: rotate(30deg);
    transform: rotate(30deg);
    bottom: -530px;
    left: -3px;
}

@media only screen and (max-width: 1024px) {
    .home08 {
        padding: 48px 0;
    }

    .home08 .in .t-box .tex:before {
        left: 252px;
    }

    .home08 .in .t-box .tex:after {
        bottom: -489px;
        left: -85px;
    }
}

/* ##### トップここまで ##### */

/* ##### 下層ページ共通 ##### */

.w80 {
    width: 80%;
}

.page-header {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin-right: calc(50% - 50vw);
    margin-top: -60px;
}

.page-header .tit {
    width: 22%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding-left: calc(50% - 800px);
}

.page-header .tit h2 {
    padding-left: 10px;
    z-index: 2;
    text-shadow:
        #fff 2px 0px 2px, #fff -2px 0px 2px,
        #fff 0px -2px 2px, #fff -2px 0px 2px,
        #fff 2px 2px 2px, #fff -2px 2px 2px,
        #fff 2px -2px 2px, #fff -2px -2px 2px,
        #fff 1px 2px 2px, #fff -1px 2px 2px,
        #fff 1px -2px 2px, #fff -1px -2px 2px,
        #fff 2px 1px 2px, #fff -2px 1px 2px,
        #fff 2px -1px 2px, #fff -2px -1px 2px,
        #fff 1px 1px 2px, #fff -1px 1px 2px,
        #fff 1px -1px 2px, #fff -1px -1px 2px;
    position: relative;
}

.page-header .imgbox:before {
    content: "";
    position: absolute;
    left: 0;
    top: 0;
    /* width: 190px;
	height: 190px;
	background: #fff;
	transform: rotate(45deg);
	*/
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 190px 190px 0 0;
    border-color: #fff transparent transparent;
    z-index: 5;
}

.pankuzu {
    padding: 5% 0 0;
}

.pankuzu li {
    padding-right: 10px;
    padding-left: 10px;
    line-height: 14px;
    font-family: "游明朝",
        "YuMincho",
        "ヒラギノ明朝 ProN W3",
        "Hiragino Mincho ProN",
        "HG明朝",
        "Sawarabi Mincho",
        serif;
}

.pankuzu li:after {
    content: "\f105";
    font-family: "Font Awesome 5 Free";
    color: #316745;
    font-size: 14px;
    margin-left: 20px;
    font-weight: 900;
}

.pankuzu li:last-of-type:after {
    content: none;
}

.pankuzu li:first-of-type {
    padding-left: 0;
}

@media only screen and (max-width: 1024px) {
    .page-header {
        margin-top: -20px;
        max-width: none;
    }

    .page-header .tit {
        width: 100%;
        margin: 0 -80% 0 0;
        padding-left: 10px;
    }

    .page-header .tit h2 {
        font-size: 24px;
    }

    .page-header .imgbox .ofimg:before {
        padding-top: 80vh;
    }

    .page-header .imgbox:before {
        border-width: 100px 100px 0 0;
    }

    .pankuzu li {
        font-size: 12px;
    }
}

@media only screen and (max-width: 599px) {
    .page-header {
        margin-top: 0;
    }

    .page-header .imgbox:before {
        border-width: 50px 50px 0 0;
    }

    .page-header .imgbox .pic {
        width: 100%;
        margin: 0;
    }

    .page-header .tit {
        margin: 0 -80% 0 0;
    }

    .page-header .imgbox {
        width: 80%;
    }

    .page-header .tit h2 {
        font-size: 20px;
    }

    .page-header .tit h2 span {
        font-size: 10px;
    }
}

/* ##### 下層ページ共通ここまで ##### */

/* ##### ブログ共通 ##### */

.blogListSection .inner {
    padding: 10% 0 5%;
}

.one-line {
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    display: block;
}

.blogListSection li a {
    display: block;
}

.blogListSection.news li {
    position: relative;
    overflow: hidden;
    margin: 0 1% 30px;
}

.blogListSection.news li .ontext {
    opacity: 0;
    position: absolute;
    left: 0;
    top: 0;
    background: rgba(255, 255, 255, 0.7);
    padding: 10px;
    width: 100%;
    height: 100%;
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
    -webkit-transform: translateY(-100%);
    transform: translateY(-100%);
}

.blogListSection.news li .ontext * {
    width: 100%;
}

.blogListSection.news li a:hover .ontext {
    display: block;
    opacity: 1;
    top: 0;
    -webkit-transform: translateY(0);
    transform: translateY(0);
}

.side-nav h3 {
    border-bottom: 1px solid #dedddd;
    margin-bottom: 30px;
}

.side-nav h3 span {
    margin-top: 10px;
}

.side-nav dd a {
    padding: 10px 0;
    font-size: 16px;
    display: block;
    background: url(/import/tenant_1/160.16.68.159/html/images/01index/arrow.png) no-repeat center right;
}

/*ページャー*/
.pagenav {
    padding: 5% 0;
}

.pagenav li {
    margin: 0 20px;
}

.pagenav li a {
    display: inline-block !important;
    width: 20px;
    line-height: 18px;
    text-align: center;
    font-size: 18px;
    color: #000;
    border-bottom: 1px solid transparent;
}

.pagenav li.st a {
    border-bottom: 1px solid #000;
}

.pagenav li.prev a,
.pagenav li.next a {
    width: 41px;
    font-size: 12px;
}

.pagenav li img {
    margin-top: -5px;
    vertical-align: middle;
}

.pagenav li.prev a {
    text-align: right;
}

.pagenav li.next a {
    text-align: left;
}

.blogRecommend {
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    margin-bottom: 5%;
}

@media only screen and (max-width: 1024px) {
    .blog-list .category span {
        font-size: 8px;
        margin-bottom: 5px;
        padding: 0px 8px;
    }

    .blog-list .category {
        margin-bottom: 10px;
    }

    .blogListSection.news li .ontext * {
        font-size: 12px;
        margin-bottom: 10px;
    }
}

@media only screen and (max-width: 599px) {
    .side-nav {
        margin-bottom: 30px;
        width: 100%;
    }

    .pagenav li {
        margin: 0 8px;
    }

    .blogListSection li .pic {
        width: 100%;
    }

    .blogListSection.news li .ontext span.db {
        font-size: 8px;
        margin-bottom: 5px;
    }
}


/* ##### ブログ共通ここまで ##### */

/* ##### 【料金表　1　】 ##### */
.menubox1 .menu-title {
    line-height: 120%;
}

.menubox1 dl {
    border-bottom: 1px solid #dedddd;
    padding: 10px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.menubox1 dt {
    font-size: 16px;
    font-weight: bold;
}

.menubox1 dd {
    text-align: right;
}

@media only screen and (max-width: 599px) {
    .menubox1 div {
        margin-bottom: 30px;
    }
}

/* ##### 【料金表　1　】ここまで ##### */
/* ##### 【料金表　2　】 ##### */
.menubox2 {
    margin-bottom: 50px;
}

.menubox2 h3 {
    text-align: center;
    border-bottom: 1px solid #000;
    margin-bottom: 10px;
}

.menubox2 dd dl {
    border-bottom: 1px solid #000;
    padding: 10px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.menubox2 dd dl dd {
    text-align: right;
}

@media (max-width: 599px) {
    .menubox2 h4 {
        text-align: center;
        margin-bottom: 0;
    }
}

/* ##### 【料金表　2　】ここまで ##### */
/* ##### 【左右のカラムが交互に代わるブロック】 ##### */
.crossbox li {
    margin-bottom: 50px;
}

.crossbox li:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

@media (max-width: 599px) {
    .crossbox li:nth-of-type(odd) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .crossbox .tex {
        margin-top: 20px;
    }
}

/* ##### 【左右のカラムが交互に代わるブロック】ここまで ##### */

/* ##### 【スタイル詳細】 ##### */
.gallery .main-image {
    width: 100%;
    margin-bottom: 15px;
}

.gallery .thumb-img {
    width: calc(33.33333% - 10px);
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.gallery .thumb-img:nth-of-type(3) {
    margin: 0 15px;
}

.gallery .thumb-img:hover {
    cursor: pointer;
    opacity: 0.8;
}

.profile-box dl {
    padding: 20px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: #dedddd solid 1px;
}

.profile-box dt {
    width: 200px;
}

.profile-box dd {
    width: calc(100% - 200px);
    text-align: right;
}


@media only screen and (max-width: 1024px) {
    .profile-box dt {
        width: 130px;
    }

    .profile-box dd {
        width: calc(100% - 130px);
    }

    .s-data.w50 {
        width: 60%;
    }
}

@media only screen and (max-width: 599px) {
    .s-data {
        margin-top: 30px;
    }

    .profile-box .stylist-data .pic {
        width: 100%;
    }

    .profile-box .stylist-data .w25 {
        width: 25%;
    }

    .profile-box .stylist-data .w70 {
        width: 70%;
    }

    .gallery .pic {
        width: 100%;
    }

    .profile-box dt {
        width: 100%;
    }

    .profile-box dd {
        width: 100%;
        margin-top: 10px;
    }

}

/* ##### 【スタイル詳細】ここまで ##### */

/* ##### よくある質問 ##### */
.faq-box {
    padding-top: 80px;
}

.qa-list {
    margin-bottom: 50px;
}

.qa-q {
    font-size: 28px;
    margin-right: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    width: 65px;
    height: 65px;
    font-family: "游明朝",
        "YuMincho",
        "ヒラギノ明朝 ProN W3",
        "Hiragino Mincho ProN",
        "HG明朝",
        "Sawarabi Mincho",
        serif;
    border: 1px solid #000;
}

.qa-list dt div {
    font-size: 24px;
    position: relative;
    color: #000;
    display: inline-block;
    width: calc(100% - 90px);
    font-family: "游明朝",
        "YuMincho",
        "ヒラギノ明朝 ProN W3",
        "Hiragino Mincho ProN",
        "HG明朝",
        "Sawarabi Mincho",
        serif;
    padding-right: 40px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #dedddd;
}

.acc-btn {
    position: relative;
}

.acc-btn:before {
    position: absolute;
    content: "";
    right: 0;
    top: 50%;
    transform: translateY(-50%) rotate(90deg);
    -webkit-transform: translateY(-50%) rotate(90deg);
    -moz-transform: translateY(-50%) rotate(90deg);
    -ms-transform: translateY(-50%) rotate(90deg);
    -o-transform: translateY(-50%) rotate(90deg);
    width: 31px;
    height: 1px;
    background: #000;
    transition: all 0.3s;
    -webkit-transition: all 0.3s;
    -moz-transition: all 0.3s;
    -ms-transition: all 0.3s;
    -o-transition: all 0.3s;
}

.acc-btn:after {
    position: absolute;
    content: "";
    right: 0;
    top: 50%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    width: 31px;
    height: 1px;
    background: #000;
}

.acc-btn.action:before {
    transform: translateY(-50%) rotate(0deg);
    -webkit-transform: translateY(-50%) rotate(0deg);
    -moz-transform: translateY(-50%) rotate(0deg);
    -ms-transform: translateY(-50%) rotate(0deg);
    -o-transform: translateY(-50%) rotate(0deg);
}

.qa-list dt:hover {
    cursor: pointer;
}

.qa-list dd {
    font-size: 14px;
    padding: 20px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

[data-element-id].qa-list dd {
    display: block !important;
    height: 100%;
}

.qa-list .tex {
    margin-left: auto;
    width: calc(100% - 90px);
}


@media only screen and (max-width: 1024px) {

    .qa-list dt div {
        font-size: 20px;
    }
}

@media only screen and (max-width: 599px) {
    .qa-list dt div {
        font-size: 18px;
    }

    .qa-q {
        font-size: 16px;
        margin-right: 10px;
        width: 30px;
        height: 30px;
    }

    .qa-list dt div {
        width: calc(100% - 50px);
    }

    .qa-list .tex {
        width: calc(100% - 50px);
    }
}

/* ##### よくある質問 ここまで ##### */

/* ##### お問い合わせ ##### */
.contact-list {
    margin-bottom: 20px;
    padding-bottom: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.contact-list dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    width: 350px;
    font-size: 18px;
    font-weight: bold;
    color: #fff;
}

.contact-list dd {
    width: calc(100% - 350px);
}

.contact-list input,
.contact-list textarea,
.contact-list select {
    background: #fff;
    width: 100%;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.contact-btn button {
    border: none;
    font-size: 12px;
    display: block;
    color: #fff;
    padding: 20px 20px;
    font-family: "游明朝",
        "YuMincho",
        "ヒラギノ明朝 ProN W3",
        "Hiragino Mincho ProN",
        "HG明朝",
        "Sawarabi Mincho",
        serif;
    position: relative;
    display: block;
    overflow: hidden;
    width: 330px;
    background: #316745;
    text-transform: uppercase;
    margin: 50px auto 0 auto;
}

.contact-btn button:hover {
    cursor: pointer;
}

.contact-btn button:before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background-color: #000;
    -webkit-transform: translateX(-100%);
    transform: translateX(-100%);
    -webkit-transition: 0.5s ease-in-out;
    transition: 0.5s ease-in-out;
}

.contact-btn button:hover:before {
    -webkit-transform: translateX(0);
    transform: translateX(0);
    cursor: pointer;
}



@media only screen and (max-width: 1024px) {
    .contact-list dt {
        margin-bottom: 10px;
    }

    .contact-list dt,
    .contact-list dd {
        width: 100%;
    }

    .contact-list .must {
        display: inline-block;
        margin-left: 10px;
    }

}

@media only screen and (max-width: 599px) {}

/* ##### お問い合わせ　ここまで ##### */

/* ##### CONCEPT ##### */

.alternateBox .home01:nth-of-type(even) .pic {
    margin-left: 0;
}

.alternateBox .home01:nth-of-type(even) .home01-content {
    margin-right: calc(50% - 50vw);
    max-width: 1200px;
    margin-left: auto;
    position: static;
    width: 100%;

}

.alternateBox .home01:nth-of-type(even) {
    position: relative;
}

.alternateBox .home01:nth-of-type(even) .home01-content .t-box {
    right: unset;
    left: 0;
    bottom: 0;
    background: #fff;
    padding: 5% 5% 30px 0;
}

.moreLink {
    text-align: right;
    background: url(/import/tenant_1/160.16.68.159/html/images/01index/arrow.png) no-repeat center right;
}

.moreLink a {
    padding-right: 50px;
    display: block;
}

.conceptSection02 li {
    margin-bottom: 5%;
}

.conceptSection03 {
    padding-top: 5%;
}

.conceptSection03 h3 {
    position: relative;
}

.conceptSection03 h3:after {
    position: absolute;
    content: "";
    width: 1px;
    height: 113px;
    background: #000;
    bottom: -150px;
    left: 50%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    z-index: 5;
    -webkit-animation: Scroll 3s ease 0s infinite normal;
    animation: Scroll 3s ease 0s infinite normal;
}

.conceptSection03 .home01-content .t-box {
    right: 0;
    bottom: -40px;
    background: #ececec;
    padding: 50px 30px;
}

.alternateBox.conceptSection03 .home01:nth-of-type(even) {
    padding: 10% 0 0;
    margin-bottom: 5%;
}

.alternateBox.conceptSection03 .home01:nth-of-type(even) .home01-content .t-box {
    bottom: -40px;
    background: #ececec;
    padding: 50px 30px;
}

.home01-content .more {
    margin: 50px auto 0;
    max-width: 240px;
}

@media only screen and (max-width: 1024px) {
    .conceptSection03 h3:after {
        height: 60px;
        bottom: -70px;
    }
}

@media only screen and (max-width: 599px) {
    .alternateBox .home01:nth-of-type(even) .home01-content .t-box {
        width: 100%;
        position: static;
        padding: 30px 20px;
        margin-left: calc(50% - 50vw);
    }

    .conceptSection03 .home01-content .t-box {
        margin-top: -5%;
    }
}

/* ##### CONCEPT　ここまで ##### */


/* ##### 店舗一覧 ##### */

.salonlistSection01 .box {
    padding: 10% 0 5%;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.salonlistSection01 .t-box {
    padding-right: 10px;
}

.salonlistSection01 .more {
    margin: 50px 0 0;
    max-width: 240px;
    width: calc(50% - 10px);
}

.salonlistSection01 .more+.more {
    margin: 50px 0 0 10px;
}

.salonlistSection01 dt {
    width: 130px;
}

.salonlistSection01 dd {
    width: calc(100% - 130px);
}

.salonlistSection01 .of70:before {
    min-height: 200px;
}

@media only screen and (max-width: 1024px) {
    .salonlistSection01 .flex.c {
        max-width: none;
    }

    /* .salonlistSection01 .salon-logo {
		max-width: 250px;
	} */

    .salonlistSection01 dt {
        width: 100%;
    }

    .salonlistSection01 dd {
        width: 100%;
    }

    .salonlistSection01 .of70:before {
        padding-top: 146%;
    }
}

@media only screen and (max-width: 599px) {
    .salonlistSection01 .box {
        margin-right: auto;
        margin-left: auto;
        width: 94%;
        max-width: 450px;
    }

    .salonlistSection01 .of70:before {
        padding-top: 70%;
        min-height: auto;
    }

    .salonlistSection01 .pic {
        width: 100%;
        margin-left: calc(50% - 50vw);
        margin-bottom: 20px;
    }

}

/* ##### 店舗一覧ここまで ##### */


/* ##### サロンデータ ##### */
.shopSection01 .box {
    padding-right: calc(50vw - 50%);
}

.shopSection02 {
    margin: 5% 0 0;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.shopSection03 {
    background: #f5f5f5;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.shopSection03 .menubox1 dl {
    padding: 20px 0;
}

.shopSection05.home01 {
    padding: 10% 0 0;
    margin-bottom: 10%;
}

.shopSection05.home01 .home01-content {
    margin-right: calc(50% - 50vw);
    max-width: 1200px;
    margin-left: auto;
    position: static;
    width: 100%;
}

.shopSection05.home01 .pic {
    margin-left: 0;
}

.shopSection05.home01 .home01-content .t-box {
    bottom: -40px;
    background: #ececec;
    padding: 50px 30px;
    left: 0;
}

.shopSection05 h3 span {
    margin-top: -5px;
}

.shopSection05 dl {
    margin-bottom: 20px;
}

.shopSection05 dt {
    width: 120px;
}

.shopSection05 dd {
    width: calc(100% - 120px);
}

.shopSection08 .more {
    max-width: 514px;
    margin: 0 auto;
}

.shopSection08 .more a {
    font-size: 28px;
    padding: 30px 20px;
    position: relative;
}

.shopSection08 .more a:after {
    content: "";
    width: 10px;
    height: 18px;
    background-image: url(/import/tenant_1/160.16.68.159/html/images/04theta/arrow.png);
    background-repeat: no-repeat;
    top: 50%;
    right: 10px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
}

.shopSection03 .menubox1 div[data-collection-list-content] dl:nth-of-type(n + 2) {
    display: none;
}

@media only screen and (max-width: 1024px) {
    .shopSection01 .pic {
        width: 100%;
    }

    .salonlistSection01 .ofimg:before {
        min-height: auto;
        padding-top: 80%;
    }

    .salonlistSection01 .t-box {
        max-width: 768px;
        margin: 50px 0 50px auto;
    }

    .salon-logo {
        width: 80%;
    }
}

@media only screen and (max-width: 599px) {
    .salonlistSection01 .t-box {
        width: 100%;
        max-width: 450px;
        margin: 50px 0;
        padding-right: 0;
    }

    .shopSection01 .box {
        padding-right: 0;
    }

    .shopSection01 .inner {
        max-width: none;
    }

    .shopSection05.home01 {
        position: relative;
    }

    .shopSection05.home01 .home01-content .t-box {
        width: 100%;
        position: static;
        padding: 30px 20px;
        margin-left: calc(50% - 50vw);
        margin-top: -5%;
    }

    .shopSection05 dt {
        width: 100%;
    }

    .shopSection05 dd {
        width: 100%;
        margin-top: 10px;
    }

    .shopSection08 .more a {
        font-size: 18px;
        padding: 20px 10px;
    }

    .salonlistSection01 .ofimg:before {
        padding-top: 50%;
    }

    .salonlink-list {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .salon-logo {
        width: 50%;
    }
}

/* ##### サロンデータ　ここまで ##### */

/* ##### スタイリスト ##### */

.stylistSection01 .inner {
    padding: 10% 0 0;
}

.stylistSection01 .inner li {
    width: 18%;
    margin: 0 1% 20px;
}

.home03.stylistSection02 {
    background: transparent;
    margin: 5% 0 0;
}

.stylistSection01 .more span {
    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;
}

.stylistSectionDetail .inner {
    padding: 10% 0 0;
}

.list-back.box {
    padding: 5% 0 10%;
}

.list-back a {
    background: url(/import/tenant_1/160.16.68.159/html/images/08_stylist_list/next.png) no-repeat center right;
    padding-right: 50px;
}

.staff-sns-list {
    margin-left: 15px;
}

.staff-sns-list li {
    margin: 0 10px;
}

[class*="sns-icon"]:before {
    font-family: "Font Awesome 5 Brands";
    font-size: 26px;
    font-weight: 900;
    display: inline-block;
}

.sns-icon-instagram:before {
    content: "\f16d";
}

.sns-icon-facebook:before {
    content: "\f082";
}

[data-element-id] .stylistSection01 ul {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
}

@media only screen and (max-width: 1024px) {
    .stylistSection01 .inner li {
        width: 31%;
    }

    .gallerybox .w48 {
        width: 100%;
    }

    .gallerybox .gallery {
        width: 100%;
        max-width: 600px;
        margin: 0 auto 50px;
    }
}

@media only screen and (max-width: 599px) {
    .stylistSection01 .inner li {
        width: 48%;
    }
}

/* ##### スタイリスト　ここまで ##### */

/* ##### スタイル ##### */
.stylelistSection01 ul {
    margin-bottom: 5%;
}

.stylelistSection01 li.row4 {
    margin: 0 1% 20px;
}

.styleDetail .profile-box dl {
    background: #ececec;
    border-bottom: none;
    margin-bottom: 20px;
    padding: 10px 20px;
}

.styleDetail .profile-box dl dd {
    text-align: left;
}

.styleDetail .profile-box h4 {
    padding-bottom: 20px;
    border-bottom: #dedddd solid 1px;
}

.styleRecommend {
    margin-top: 10%;
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

li.row4 a {
    display: block;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {}

/* ##### スタイル　ここまで ##### */

/* ##### 取り扱い商品 ##### */
.product-list li .ofimg img {
    -o-object-fit: contain;
    object-fit: contain;
    -o-object-position: top center;
    object-position: top center;
    font-family: 'object-fit: contain; object-position: top center;';
}

.productSection h3 {
    border-bottom: 1px solid #dedddd;
    padding-bottom: 10px;
}

.itemDetail {
    border-top: 1px solid #dedddd;
    padding-top: 10px;
    margin-top: 20px;
}

.home03.productSection li h4 {
    margin: 20px 0;
}

[data-element-id].productSection li:nth-last-of-type(n+5) {
    display: none;
}

.confiBox h3 {
    color: #000;
}

.confiBox .contact-list dt {
    color: #000;
}

.product-category span {
    display: inline-block;
    font-size: 12px;
    font-weight: bold;
    color: #fff;
    line-height: 100%;
    margin: 2px 5px;
    padding: 5px 10px;
    background-color: #386c4c;
}

.product-link-li.hide {
    display: none;
}

@media only screen and (max-width: 1024px) {
    .productSection li {
        width: 31%;
    }
}

@media only screen and (max-width: 599px) {
    .productSection li {
        width: 48%;
    }
}

/* ##### 取り扱い商品 ここまで ##### */

/* ##### 再現性の高いスタイル ##### */

.cutSection01 {
    padding: 10% 0 5%;
}

.cutSection03 h4 {
    background: #000;
    color: #fff;
    padding: 10px;
}

.faceType {
    margin-bottom: 10%;
}

.home01.cutSection04 {
    padding: 0 0 5%;
}

@media only screen and (max-width: 1024px) {}

@media only screen and (max-width: 599px) {}

/* ##### 再現性の高いスタイル　ここまで ##### */

/* ##### 髪の毛の悩み ##### */
.troubleSection01 {
    padding: 10% 0;
    margin-left: calc(50% - 50vw);
    margin-right: calc(50% - 50vw);
}

.troubleSection01 .cline {
    margin-bottom: 75px;
}

.troubleSection01 .cline:after {
    height: 75px;
}

.troubleSection03 {
    margin: 5% 0;
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.troubleSection03 .inner {
    padding: 5% 0;
}

.troubleSection03 li {
    padding-left: 30px;
    position: relative;
}

.troubleSection03 li:before {
    content: "■";
    position: absolute;
    left: 0;
    top: 0;
}

.troubleBox {
    margin-bottom: 5%;
}

.troubleBox .inner {
    padding: 10% 0 0;
}

.troubleBox .in {
    background: #fff;
    padding: 5% 0 5% 5%;
    margin-left: auto;
    position: relative;
}

.troubleBox .in:after {
    content: "";
    position: absolute;
    right: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    margin-right: -999rem;
    padding-right: 999rem;
    display: block;
    z-index: -1;
}

.troubleBox:nth-of-type(even) .in {
    padding: 5% 5% 5% 0;
    margin-right: auto;
    margin-left: 0;
}

.troubleBox:nth-of-type(even) .in:after {
    content: "";
    position: absolute;
    left: 0;
    right: unset;
    top: 0;
    width: 100%;
    height: 100%;
    background: #fff;
    margin-right: 0;
    padding-right: 0;
    margin-left: -999rem;
    padding-left: 999rem;
    display: block;
    z-index: -1;
}

.causeList dl {
    border-right: 1px solid #000;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 0 20px 0 0;
}

.causeList dl:nth-of-type(even) {
    border-right: none;
    padding: 0 0 0 20px;
}

.troubleSection05 {
    background: #555555;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.troubleSection05 .inner {
    padding: 5% 0 0;
}

.troubleSection05 dl {
    background: #fff;
    padding: 80px 50px;
    margin-top: 5%;
}

.troubleSection06 .inner {
    padding: 10% 0 0;
}

.troubleSection06 li {
    margin-bottom: 5%;
}

@media only screen and (max-width: 1024px) {
    .troubleSection01 .box {
        max-width: none;
    }

    .troubleSection03 ul {
        width: 100%;
    }

    .troubleSection03 h3 {
        margin-bottom: 30px;
    }

    .troubleSection05 dl {
        padding: 50px 30px;
        margin-top: 5%;
    }
}

@media only screen and (max-width: 599px) {
    .troubleSection01 .item .pic {
        width: 100%;
    }

    .troubleSection01 {
        width: 94%;
        margin: auto;
        max-width: 450px;
    }

    .troubleSection01 .item:nth-of-type(odd) {
        margin-right: auto;
    }

    .troubleSection01 .item:nth-of-type(even) {
        margin-left: auto;
    }

    .troubleSection01 .item:nth-of-type(odd) .pic {
        margin-left: calc(50% - 50vw);
    }

    .troubleSection01 .item:nth-of-type(even) .pic {
        margin-right: calc(50% - 50vw);
    }

    .troubleSection03 .inner {
        padding: 10% 0;
    }

    .troubleSection01.troubleSection04 {
        width: 100%;
        margin: auto;
        max-width: none;
    }

    .troubleBox .in {
        width: 100%;
    }

    .causeList dl {
        border-right: none;
        border-bottom: 1px solid #000;
        padding: 0 0 20px;
    }

    .causeList dl:nth-of-type(even) {
        padding: 0;
        border-bottom: none;
    }

    .troubleBox .inner {
        padding: 55% 0 0;
    }
}

/* ##### 髪の毛の悩み　ここまで ##### */

/* ##### リクルート ##### */
.troubleSection01.recruit01 .t-box {
    max-width: 500px;
    margin-left: auto;
    margin-top: 80px;
    padding-left: 20px;
}

.troubleSection01.recruit01 .t-box .tex {
    line-height: 2;
}

.troubleSection01.recruit01 .item:nth-of-type(even) .t-box {
    margin-left: 0;
    margin-right: auto;
    padding-left: 0;
    padding-right: 20px;
}

.troubleSection01.recruit01 .item:nth-of-type(even) .t-box h3,
.troubleSection01.recruit01 .item:nth-of-type(even) .t-box dt {
    text-align: right;
}

.recruit02 .inner {
    background: #000;
    padding: 15% 60px 5%;
}

.recruit02 img {
    opacity: 0.4;
}

.recruit03 {
    margin: 10% 0 5%;
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.recruit03 .stepBox li {
    background: #fff;
    padding: 30px 20px;
}

.recruit03 .stepBox dt:after {
    content: "";
    display: block;
    margin: 20px auto;
    text-align: center;
    width: 44px;
    height: 1px;
    background: #316745;
}

.recruit03 .inner {
    padding: 10% 0 5%;
}

.recruit03 .inner+.inner {
    padding: 0 0 10%;
}

.recruit03 .cline:after {
    height: 55px;
}

.recruit05.recruit03 {
    background: #1a1a1a;
}

.recruit05 .logo-c {
    max-width: 230px;
    margin: 0 auto 30px;
}

.recruit05 li dt {
    font-style: italic;
}

.recruit03.recruit05 .inner {
    padding: 5% 0;
}

.recruit07 {
    width: 100%;
}

.recruit07IN {
    margin-right: calc(50% - 50vw);
    margin-left: auto;
}

.recruit07 .cline {
    margin-bottom: 100px;
}

.recruit07 .cline:after {
    height: 107px;
}

.recruit07IN .t-box {
    max-width: 1200px;
    padding-right: 20px;
}

.recruit07IN h4 {
    margin-top: 80px;
    border-bottom: 1px solid #dedddd;
    padding-bottom: 20px;
    margin-bottom: 5%;
}

.recruit07IN dl {
    margin-bottom: 5%;
}

.recruit07IN dt {
    border-left: 5px solid #316745;
    padding-left: 10px;
    line-height: 20px;
}

.recruit08 {
    margin: 0 0 5%;
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.recruit10 {
    background: #ececec;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.recruit10 img {
    opacity: 0.1;
}

.recruit10 dl {
    margin-bottom: 5%;
}

.recruit10 dt {
    width: 200px;
}

.recruit10 dd {
    width: calc(100% - 200px);
}

.recruit11.recruit03 {
    background: transparent;
    margin-right: 0;
    margin-left: 0;
}

.recruit11 .stepBox li {
    background: #e0e0e0;
}

.recruit11 .inner {
    padding: 0;
}

.recruit12 {
    background: #1a1a1a;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
}

.must {
    display: inline-block;
    font-size: 12px;
    color: #fff;
    background-color: #dc143c;
    line-height: 120%;
    padding: 2px 5px;
    margin: 5px 0 0 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

@media only screen and (max-width: 1024px) {
    .troubleSection01.recruit01 .item {
        width: 100%;
    }

    .troubleSection01.recruit01 .item:nth-of-type(odd) .pic {
        margin-left: calc(50% - 50vw);
    }

    .troubleSection01.recruit01 .item:nth-of-type(even) .pic {
        margin-right: calc(50% - 50vw);
        margin-left: auto;
    }

    .troubleSection01.recruit01 {
        width: 94%;
        margin: auto;
    }

    .troubleSection01.recruit01 .t-box,
    .troubleSection01.recruit01 .item:nth-of-type(even) .t-box {
        margin: 50px auto;
    }

    .recruit02 .w70 {
        width: 100%;
    }

    .recruit03 .stepBox li {
        width: 48%;
    }
}

@media only screen and (max-width: 599px) {
    .troubleSection01.recruit01 .t-box {
        padding-left: 10px;
    }

    .troubleSection01.recruit01 .item:nth-of-type(even) .t-box {
        padding-right: 10px;
    }

    .recruit02 .inner {
        padding: 20% 20px 5%;
    }

    .recruit03 .cline {
        padding-bottom: 10px;
        margin-bottom: 80px;
    }

    .recruit07 .pic {
        width: 100%;
    }

    .recruit07IN h4 {
        margin-top: 30px;
    }

    .fs44 {
        font-size: 22px;
    }

    .recruit03 .stepBox li {
        width: 100%;
    }

    .recruit03 .stepBox li dl {
        height: auto !important;
    }

    .recruit07 .cline:after {
        height: 61px;
    }

    .recruit07 .cline {
        margin-bottom: 66px;
    }

    .recruit03.recruit05 .inner {
        padding: 10% 0 5%;
    }

    .recruit06 .row4 {
        width: 100%;
    }

    .recruit07IN .t-box {
        padding-right: 10px;
    }

    .acc-btn:before {
        width: 20px;
    }

    .acc-btn:after {
        width: 20px;
    }

    .qa-list dt div {
        padding-right: 25px;
    }

    .recruit10 dt {
        width: 100%;
    }

    .recruit10 dd {
        width: 100%;
        margin-top: 10px;
    }

}

/* ##### リクルート　ここまで ##### */

@-webkit-keyframes Scroll {
    0% {
        height: 0;
        top: 100%;
    }

    24% {
        top: 100%;
    }

    25% {
        top: unset;
        bottom: -50px;
        height: 50px;
    }

    50% {
        height: 0;
        bottom: -50px;
    }

    100% {
        height: 0;
        bottom: -50px;
    }
}

@keyframes Scroll {
    0% {
        height: 0;
        top: 100%;
    }

    24% {
        top: 100%;
    }

    25% {
        top: unset;
        bottom: -50px;
        height: 50px;
    }

    50% {
        height: 0;
        bottom: -50px;
    }

    100% {
        height: 0;
        bottom: -50px;
    }
}

/* ##### instagram ##### */
.box-btn .icon-instagram:before {
    color: #fff;
    margin-right: 15px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.box-btn a:hover .icon-instagram:before {
    color: #c2a24d;
}

.instagram-link:before {
    content: '';
    display: block;
    width: 100%;
    height: 1px;
    background-color: #c2a24d;
    margin: 50px 0;
}

.insta-list>li {
    width: calc(25% - 10px);
    margin: 5px;
}

.insta-list a {
    display: block;
}

.insta-list a:hover {
    opacity: 1;
}

.insta-list li figure {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 0;
}

.insta-list li figcaption {
    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;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    background: rgba(56, 108, 76, 0.8);
    -webkit-transition: .3s;
    transition: .3s;
    opacity: 0;
}

.insta-list li figure:hover figcaption {
    opacity: 1;
}

.insta-info-list * {
    color: #fff;
    font-size: 16px;
    font-weight: 500;
}

.insta-info-list li {
    text-align: center;
}

.insta_like span:before {
    content: "\f004";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    display: inline-block;
    margin-right: 5px;
}

@media (max-width: 1024px) {
    .insta-list li figcaption {
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        background: transparent;
        padding: 5px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        opacity: 1;
    }

    .insta-info-list {
        height: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        width: 100%;
    }

    .insta-info-list * {
        font-size: 12px;
    }

    .insta-info-list li {
        text-align: left;
        left: 100%;
        padding: 2px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .insta_like span,
    .insta_date {
        text-shadow: 1px 1px 0 #000;
    }

    .insta_date {
        -ms-flex-item-align: end;
        align-self: flex-end;
    }
}

@media only screen and (max-width: 599px) {
    .instagram-link:before {
        margin: 30px 0;
    }

    .insta-list>li {
        width: calc(50% - 10px);
    }

    .insta-title-area:before {
        top: 60px;
    }

    .insta-title-area {
        padding-bottom: 0;
    }
}

/* ##### instagram end ##### */

/* ##### エフェクト ##### */
.home-greeting {
    -webkit-transition: 1s;
    transition: 1s;
    overflow: hidden;
    position: relative;
}

/* .home-greeting:before,
.home-greeting:after {
    content: "";
    display: block;
    position: absolute;
    top: -50%;
    width: 50%;
    height: 200%;
    background: #2D7638;
    z-index: 2;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
} */

/*  .home-greeting:before,
.home-greeting:after {
   content: "";
   display: block;
   position: absolute;
   top: -50%;
   width: 50%;
   height: 200%;
   background: #ececec;
   z-index: 2;
   -webkit-transform-origin: center bottom;
   transform-origin: center bottom;
}  */

.home-greeting:before,
.home-greeting:after {
    content: "";
    display: block;
    position: absolute;
    top: -50%;
    width: 50%;
    height: 200%;
    background: #BDC0BA;
    /* background: #9E7A7A; */
    z-index: 2;
    -webkit-transform-origin: center bottom;
    transform-origin: center bottom;
} 


.home-greeting:before {
    left: 0;
}

.home-greeting:after {
    right: 0;
}

.home-greeting.on:before {
    -webkit-animation: home-greeting-cloth1 3.4s 0.4s forwards;
    animation: home-greeting-cloth1 3.4s 0.4s forwards;
}

.home-greeting.on:after {
    -webkit-animation: home-greeting-cloth2 3.4s 0.4s forwards;
    animation: home-greeting-cloth2 3.4s 0.4s forwards;
}

.home-greeting-scissors {
    position: absolute;
    left: 50%;
    top: -30px;
    z-index: 3;
    margin-left: -15px;
    opacity: 0;
}

.home-greeting.on .home-greeting-scissors {
    -webkit-animation: home-greeting-scissors 3.4s;
    animation: home-greeting-scissors 3.4s;
}

[data-element-id] .home-greeting:before,
[data-element-id] .home-greeting:after {
    display: none;
}

@-webkit-keyframes home-greeting-cloth1 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    20% {
        -webkit-transform: rotate(-1deg);
        transform: rotate(-1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    21% {
        -webkit-transform: rotate(-1deg);
        transform: rotate(-1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    100% {
        -webkit-transform: rotate(-15deg) translateX(-160%);
        transform: rotate(-15deg) translateX(-160%);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }
}

@keyframes home-greeting-cloth1 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    20% {
        -webkit-transform: rotate(-1deg);
        transform: rotate(-1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    21% {
        -webkit-transform: rotate(-1deg);
        transform: rotate(-1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    100% {
        -webkit-transform: rotate(-15deg) translateX(-160%);
        transform: rotate(-15deg) translateX(-160%);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }
}

@-webkit-keyframes home-greeting-cloth2 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    20% {
        -webkit-transform: rotate(1deg);
        transform: rotate(1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    21% {
        -webkit-transform: rotate(1deg);
        transform: rotate(1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    100% {
        -webkit-transform: rotate(15deg) translateX(160%);
        transform: rotate(15deg) translateX(160%);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }
}

@keyframes home-greeting-cloth2 {
    0% {
        -webkit-transform: rotate(0deg);
        transform: rotate(0deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    20% {
        -webkit-transform: rotate(1deg);
        transform: rotate(1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    21% {
        -webkit-transform: rotate(1deg);
        transform: rotate(1deg);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }

    100% {
        -webkit-transform: rotate(15deg) translateX(160%);
        transform: rotate(15deg) translateX(160%);
        -webkit-transform-origin: center bottom;
        transform-origin: center bottom;
    }
}

@-webkit-keyframes home-greeting-scissors {
    0% {
        opacity: 0;
        top: -60px;
    }

    7% {
        opacity: 1;
        top: -60px;
    }

    47% {
        opacity: 1;
        top: 130%;
    }

    100% {
        opacity: 1;
        top: 130%;
    }
}

@keyframes home-greeting-scissors {
    0% {
        opacity: 0;
        top: -60px;
    }

    7% {
        opacity: 1;
        top: -60px;
    }

    47% {
        opacity: 1;
        top: 130%;
    }

    100% {
        opacity: 1;
        top: 130%;
    }
}

/* ##### エフェクト end ##### */

/**********2021/03/25*********/
.insta_icon00 {
  width: 40px;
}

.staff00x {
    margin-bottom: 50px;
}


/* キッズルーム作成  4/22*/

.jc-c{
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.pt-0{
  padding-top: 0px !important;
}


/* 5/7 */

.nav-ul {
    padding: 0px 30px;
}

.tac{
  text-align: center;
}

.lt01{
  letter-spacing: 0.1em;
}
.pti-110{
  padding-top: 110px !important;  
}
@media only screen and (max-width: 599px){
.pti-13{
  padding-top: 13% !important;
}  
}

.r{
  display: inline-block;
}

@media only screen and (max-width: 1024px){
  .pti-110{
  padding-top: 50px !important;  
}
  
  .r{
    display: block;
  }
}

@media only screen and (max-width: 599px){
  .r{
  display: inline-block;
}
}

.fz16{
  font-size: 16px;
}

.mincho-style{
  font-family: 游明朝, YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", HG明朝, "Sawarabi Mincho", serif;
}

.w-nwrap{
  white-space: nowrap;
}

@media only screen and (min-width: 1024px){
  .stylistSection01 .inner li {
    width: 20% !important;
    margin: 0 1% 20px !important;
} 
}

.list-onlineshop {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
}

.list-onlineshop li {
    width: 30%;
    margin: 1%;
}

.list-onlineshop li[data-link=''] {
    display: none;
}

.list-onlineshop li a {
    display: block;
    padding:  1em 0.5em;
    text-align: center;
    width: 100%;
    border: 1px solid black;
    text-transform: unset;
}

.list-onlineshop li a .btn-inner {
    z-index: 1;
    position: relative;
}

.list-onlineshop li a:hover {
    color: white;
}

.list-onlineshop li:nth-of-type(1) a {
    background-color:#ef4c54;
}

.list-onlineshop li:nth-of-type(1) a::before {
    background-color: white;
}

.list-onlineshop li:nth-of-type(1) a:hover {
    color: black;
}

.list-onlineshop li:nth-of-type(2) a {
    background-color: white;
}

.list-onlineshop li:nth-of-type(3) a {
    background-color: #bbd1dc;
}

@media screen and (max-width:599px) {
  .list-onlineshop {
    display: block;
    flex-wrap: wrap;
    justify-content: center;
  }
  .list-onlineshop li {
    width: 100%;
    margin: 3px auto;
}
}
.ttn{
  text-transform: none;
}
@media only screen and (min-width: 600px) and (max-width: 1024px) {
.list-onlineshop li {
    width: 30%;
    margin: 1.5%;
}
}
.flexb dt[data-link=''] {
    display: none;
}

/* 2023/04/07追記 */
.pullwrap {
    position: relative;
    z-index: 11;
}

.list-onlineshop li a {
  box-sizing: border-box;
}
.list-onlineshop .pullbox dt {
    display: block;
    padding: 1em 0.5em;
    text-align: center;
    width: 100%;
    border: 1px solid black;
    text-transform: unset;
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", "Sawarabi Mincho", serif;
    font-size: 12px;
    height: 100%;
}

.list-onlineshop .pull {
    position: relative;
}

.list-onlineshop .pulllist {
    visibility: hidden;
    opacity: 0;
    -webkit-transition: 0.6s all ease;
    transition: 0.6s all ease;
    position: absolute;
    -webkit-transform: translate(-50%, -60px);
    -ms-transform: translate(-50%, -60px);
    transform: translate(-50%, -60px);
    left: 50%;
    width: 100%;
    z-index: 10;
    padding: 10px;
    background: #000;
}

.list-onlineshop .pulllist li {
    width: 100%;
}

.list-onlineshop .pullbox:hover .pulllist {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate(-50%, 0px);
    -ms-transform: translate(-50%, 0px);
    transform: translate(-50%, 0px);
}

.list-onlineshop .pulllist li a {
    background-color: unset;
    border: none;
    color: #fff;
    padding: 5px 0;
}

.list-onlineshop .pulllist li a:hover {
    color: #fff;
    opacity: 0.7;
}

.list-onlineshop .pulllist li a:hover:before {
    background: unset;
    display: none;
}

.list-onlineshop .pullbox dl {
    height: 100%;
}

.list-onlineshop .pullbox {
    position: relative;
    z-index: 1;
}

[data-element-id].list-onlineshop .pullbox .pulllist {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate(-50%, 0px);
    -ms-transform: translate(-50%, 0px);
    transform: translate(-50%, 0px);
}

[data-element-id].pullwrap {
    padding-bottom: 160px;
}

.recbox01{
  border-top: 1px solid;
    padding-top: 5%;
}


@media only screen and (max-width: 599px){
.recruit10 dl {
    border-bottom: 1px solid #00000073;
}

.recbox01{
  border-top: 1px solid #00000073;
}
}

/**TOPお知らせ**/
.top-attention {
  width: 70%;
  margin: 0 auto 80px;
  padding: 5%;
  border: 1px solid #000;
}
.top-attention .midashi {
  text-align: center;
  font-size: 22px;
  margin-bottom: 20px;
}
.top-attention .txt {
  text-align: center;
}

@media only screen and (max-width: 1024px){
  .top-attention {
    width: 70%;
  }
}
@media only screen and (max-width: 599px){
  .top-attention {
    width: 100%;
  }
  .top-attention .midashi {
    font-size: 20px;
  }
  .top-attention .txt {
    text-align: left;
  }
}

/* 2024/07/23 */

.lp-link .flex-box{
    display: flex;
    flex-direction: row-reverse;
    width: 50%;
    max-width: 600px;
    margin: auto;
    border: 1px solid #cdcdcd;
}

.lp-link .txt-box{
    color: #9f9f9f;
    flex: 2;
    padding: 20px;
    font-weight: bold;
}

.lp-link .img-box{
    flex: 1;
}


.lp-link .txt-box .large-txt{
    font-size: 24px;
    margin-bottom: 5px;
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", "Sawarabi Mincho", serif;
    color: #5b5b5b;
}

.lp-link .txt-box div{
    font-size: 16px;
    font-weight: bold;
    margin-bottom: 5px;
    color: #333;
}

.lp-link .c-gold{
  color: #D1A254;
}

.lp-link .gold-underline{
  border-bottom: 3px solid #D1A254;
}

.lp-link .txt-box div.c-gray{
  color: #737373;
  font-size: 12px;
}

.lp-link .txt-box div.mb-20{
  margin-bottom: 20px;
}

.lp-link .link-btn{
    height: 50px;
    display: flex;
    align-items: center;
    border: 1px solid #D1A254;
    width: 60%;
}

.lp-link .link-btn a{
    display: flex;
    align-items: center;
    color: #D1A254;
    justify-content: center;
    width: 100%;
    height: 100%;
    font-weight: bold;
    font-size: 14px;
}

.mti-0{
  margin-top: 0px !important;
}

.pbi-0{
  padding-bottom: 0px !important;
}

.lp-link .pc-block{
  display: block;
}

.lp-link .img-box img{
    object-fit: cover;
    height: 100% !important;
    width: 100%;
}


@media screen and (min-width:600px) and (max-width:1024px) {
  .lp-link .flex-box {
    width: 80%;
    max-width: 600px;
}
}

@media screen and (max-width:599px) {
  
.lp-link .pc-block{
  display: none;
}


.lp-link .flex-box{
  width: 97%;
}

.lp-link .txt-box {
    flex: 1;
}

.lp-link .img-box {
    flex: 1;
}

.lp-link .img-box img{
    object-fit: cover;
    height: 100% !important;
    width: 100%;
}

.lp-link .txt-box .large-txt {
    font-size: 16px;
}

.lp-link .txt-box div {
    font-size: 11px;
}

.lp-link .txt-box div.c-gray {
    color: #737373;
    font-size: 11px;
}

.lp-link .link-btn {
    height: 40px;
    width: 100%;
}

.lp-link .link-btn a {
    font-size: 11px;
}
}


.rec-lp{
  margin: 5rem auto -5rem;
}

.rec-lp-p01{
  text-align: center;
    font-size: 18px;
}

.rec-lp-p02{
  text-align: center;
    font-size: 18px;
    background: #747171;
    padding: 15px;
    color: #fff;
    border-radius: 30px;
}

.lp-more{
  width: 400px;
    margin: 1rem auto 0;
}

.lp-box{
margin: -3rem auto 0rem;
    background: #000;
    padding: 3rem 0 9rem;
}

.rec-pp01{
  color: #fff;
  margin-bottom: 8px;
}

.rec-lp2{
margin: 3rem auto -3rem;
}


@media (max-width: 599px) {
.rec-lp {
    margin: 1rem auto -1rem;
}

.rec-lp-p01 {
    text-align: left;
    padding: 0 20px;
    line-height: 2;
    font-size: 14px;
}

.lp-more {
    width: 300px;
}

.rec-lp-p02 {
    font-size: 14px;
}

.lp-box {
    margin: 2rem auto 0rem;
    background: #000;
    padding: 1rem 0 7rem;
}


.rec-lp2{
margin: 3rem auto -3rem !important;
}
}
