@charset "utf-8";
/* ##### font ##### */


.voll {
    font-family: 'Vollkorn', serif;
}

/* ##### font end ##### */

/* ##### 共通 ##### */
main {
    padding-bottom: 150px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

#scroll {
    padding-top: 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.under .breadcrumbs {
    padding-top: 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.box {
    margin: 50px auto;
}

.boxp {
    padding: 50px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.more-arrow:after {
    content: "\f105";
    font-family: FontAwesome;
    display: inline-block;
    margin-left: 10px;
}

.back-arrow:before {
    content: "\f104";
    font-family: FontAwesome;
    display: inline-block;
    margin-right: 10px;
}

.under-arrow {
    display: block;
}

.under-arrow:after {
    content: "\f107";
    font-family: FontAwesome;
    display: inline-block;
    margin-left: 10px;
    font-size: 20px;
    float: right;
}

.rev {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.bkc-brown {
    background-color: #f1ece6;
}

.tac-tal {
    text-align: center;
}

.top-slide[data-element-id] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.top-slide[data-element-id] .ofimg {
    width: calc(100% / 3);
}

@media (max-width: 1024px) {
    #scroll {
        padding-top: 0;
    }

    .under .breadcrumbs {
        padding-top: 0;
    }

    .box {
        margin: 40px auto;
    }

    .boxp {
        padding: 40px 0;
    }
}

@media (max-width: 599px) {
    .box {
        margin: 30px auto;
    }

    .boxp {
        padding: 30px 0;
    }

    .tac-tal {
        text-align: left;
    }
}

/* 店舗のカラー */
.赤 .more-shop a,
.staff-shop.赤,
.shop-title.赤 span {
    color: #c40f0f;
}

.赤 .shop-info-box {
    border-bottom: 2px solid #c40f0f;
}

.青 .shop-info-box {
    border-bottom: 2px solid #575edf;
}

.青 .more-shop a,
.staff-shop.青,
.shop-title.青 span {
    color: #575edf;
}

.緑 .shop-info-box {
    border-bottom: 2px solid #739901;
}

.緑 .more-shop a,
.staff-shop.緑,
.shop-title.緑 span {
    color: #739901;
}

.黄 .shop-info-box {
    border-bottom: 2px solid #b09501;
}

.黄 .more-shop a,
.staff-shop.黄,
.shop-title.黄 span {
    color: #b09501;
}

.紫 .shop-info-box {
    border-bottom: 2px solid #c264a6;
}

.紫 .more-shop a,
.staff-shop.紫,
.shop-title.紫 span {
    color: #c264a6;
}

/* 店舗のカラー　end */

/* breadcrumbs */
.breadcrumbs {
    margin: 50px 0;
}

.breadcrumbs li,
.breadcrumbs li a {
    letter-spacing: 2px;
}

.breadcrumbs li:last-of-type {
    padding-right: 0;
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    display: block;
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
}

.breadcrumbs li:last-of-type span br {
    display: none;
}

.breadcrumbs li:after {
    font-size: 16px;
    line-height: 15px;
    content: "\f105";
    font-family: FontAwesome;
    display: inline-block;
    margin: 0 10px;
}

.breadcrumbs li:last-of-type:after {
    display: none;
}

/* breadcrumbs end */

/* shop-box */
.grid {
    width: calc(100% / 4);
    position: relative;
    overflow: hidden;
}

div[data-element-id] .grid:nth-of-type(n + 6) {
    display: none;
}

/*.grid:nth-of-type(1),
.grid:nth-of-type(2) {
    width: 50%;
}*/

.shop-box .grid .ofimg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin: auto;
}

.shop-info-box {
    -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: 300px;
    height: auto;
    min-height: 250px;
    max-height: 80%;
    margin: 50px auto;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    position: relative;
    z-index: 1;
}

.shop-title {
    text-align: center;
    padding-bottom: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.shop-title span {
    display: inline-block;
    margin: 5px 10px;
}

.shop-title .salon-title-en {
    font-size: 24px;
    font-weight: bold;
}

.shop-title .salon-title-ja {
    font-size: 18px;
}

.shop-title:after {
    content: '';
    display: block;
    width: 20px;
    height: 1px;
    border-top: 1px solid #000;
    margin: 15px auto;
    position: absolute;
    bottom: 15px;
    left: 0;
    right: 0;
    margin: auto;
}

.grid .contel a {
    font-size: 20px;
    font-weight: bold;
    letter-spacing: 2px;
}

.more-shop {
    margin-top: 30px;
}

.more-shop a {
    letter-spacing: 2px;
}

@media (max-width: 1024px) {

    .grid,
    .grid:nth-of-type(1),
    .grid:nth-of-type(2) {
        width: 100%;
    }

    .grid .shop-info-box {
        width: 40%;
        height: 100%;
        max-height: 100%;
        margin: 0;
    }

    .grid-wide .shop-info-box {
        width: 330px;
        height: auto;
        min-height: 250px;
        position: static;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }

    .shop-box .grid .ofimg {
        width: 60%;
        height: 250px;
        min-height: 250px;
        position: static;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }

    .grid {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .grid .ofimg {
        width: 50%;
    }

    .grid .ofimg:before {
        padding-top: 60%;
    }

    .grid-wide .ofimg {
        width: 100%;
    }

    .grid-wide .ofimg:before {
        padding-top: 50%;
    }
}

@media (max-width: 599px) {

    .grid .ofimg:before,
    .grid-wide .ofimg:before {
        padding-top: 80%;
    }

    .shop-box .grid .ofimg {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 50%;
        left: 0;
        right: 0;
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
        margin: auto;
    }

    .grid .shop-info-box {
        width: 70%;
        max-width: 80%;
        height: auto;
        max-height: auto;
        margin: 10% 15%;
    }

    .grid .contel a {
        font-size: 18px;
    }

    .shop-title {
        font-size: 20px;
    }

    .shop-title .voll {
        font-size: 24px;
    }
}

/* shop-box end */

/* catalog-list */
.salon_detail .catalog-list[data-element-id] li+div {
    width: 75%;
}

.salon_detail .catalog-list[data-element-id] li+div>li {
    width: calc(100% / 3 - 2%);
}

.catalog-list li {
    width: 28%;
    margin: 0 2.5% 5% 2.5%;
}

.catalog-list li a {
    display: block;
}

.catalog-list li a:hover {
    opacity: 1;
}

.catalog-list figure {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.catalog-list 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: 1;
    width: 100%;
    height: 100%;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: rgba(0, 0, 0, .4);
    -webkit-transition: .3s;
    transition: .3s;
    opacity: 0;
}

.catalog-list figcaption .catalog-title,
.catalog-list figcaption .catalog-stylist {
    color: #fff;
    text-align: center;
    line-height: 120%;
}

.catalog-list figcaption .catalog-title {
    font-size: 16px;
    margin-bottom: 10px;
}

.catalog-list figure:hover figcaption {
    opacity: 1;
}

@media (max-width: 599px) {
    .catalog-list figcaption {
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: end;
        -ms-flex-align: end;
        align-items: flex-end;
        top: auto;
        bottom: 0;
        height: 40%;
        padding: 5px;
        opacity: 0.6;
    }

    .catalog-list figure:hover figcaption {
        opacity: 0.6;
    }

    .catalog-list figcaption .catalog-title {
        font-size: 14px;
        text-align: left;
    }
}

/* catalog-list end */

/* blog_news-list */
.salon_detail .blog_news-list[data-element-id] li+div {
    width: 75%;
}

.salon_detail .blog_news-list[data-element-id] li+div>li {
    width: calc(100% / 3 - 2%);
}

.blog_news-list li {
    background-color: #fff;
}

.blog_news-list li a {
    display: block;
}

.blog_news-list li .blog-info {
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.blog_news-list li .date {
    font-size: 12px;
    font-weight: bold;
}

.blog_news-list .category {
    margin: 5px 0;
}

.blog_news-list .category span {
    display: inline-block;
    font-size: 12px;
    line-height: 100%;
    margin: 2px 5px;
    padding: 2px 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #dcdcdc;
}

.blog-info .blog-title a p {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    font-weight: bold;
}

.tag {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    font-weight: bold;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin-top: 10px;
}

.tag .ofimg {
    width: 30px;
    border-radius: 50%;
    margin-right: 10px;
}

.tag .blog-shop-name {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    font-weight: bold;
    line-height: 120%;
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

/* カスタムコンテンツ */
.cc-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.cc-list dt {
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 16px;
    text-align: center;
    letter-spacing: 2px;
    border: 1px solid #000;
}

.cc {
    border-bottom: 1px solid #000;
}

.cc li {
    padding: 20px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #e0e0e0;
}

.cc li a {
    font-size: 16px;
    padding-left: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.cc li a:before {
    content: '-';
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}

/* カスタムコンテンツ end */

/* pagenav */
.pagenav {
    width: 100%;
    margin: 30px 0;
}

.pagenav ul li {
    margin: 0 10px
}

.pagenav ul li a,
.pagenav ul li .now {
    width: 35px;
    height: 35px;
    display: block;
    font-family: 'Vollkorn', serif;
    font-size: 18px;
    border-radius: 50%;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    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;
    background-color: #f1ece6;
}

.pagenav ul li .now,
.pagenav ul li a:hover {
    opacity: 1;
    background-color: #baac9b;
}

.pagenav ul li a:focus {
    outline: none;
}

@media all and (-ms-high-contrast:none) {

    *::-ms-backdrop,
    .pagenav ul li a,
    .pagenav ul li .now {
        padding-top: 5px;
    }
}

.pagenav ul li a:hover {
    opacity: 1;
    color: #fff;
}

.pagenav ul li a:hover span:before {
    color: #f1ece6;
}

.pagenav ul .prev,
.pagenav ul .next {
    font-size: 10px;
    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;
    background-color: #baac9b;
    color: #fff;
    border-radius: 50%;
    position: relative;
}

.pagenav ul .prev a,
.pagenav ul .next a {
    background-color: #baac9b;
}

.pagenav ul .prev-arrow:before {
    content: "\f104";
    font-family: FontAwesome;
    display: inline-block;
    font-size: 26px;
    color: #f1ece6;
}

.pagenav ul .next-arrow:before {
    content: "\f105";
    font-family: FontAwesome;
    display: inline-block;
    font-size: 26px;
    color: #f1ece6;
}

.pagenav ul .prev a:hover,
.pagenav ul .next a:hover {
    background-color: #f1ece6;
}

.pagenav ul .prev a:hover .prev-arrow,
.pagenav ul .next a:hover .next-arrow {
    line-height: 100%;
}

.pagenav ul .prev a:hover .prev-arrow:before,
.pagenav ul .next a:hover .next-arrow:before {
    color: #000;
}

@media (max-width: 599px) {

    .pagenav ul li {
        margin: 0 5px;
    }

    .pagenav ul li a,
    .pagenav ul li .now {
        width: 30px;
        height: 30px;
    }
}

/* pagenav end */

@media (max-width: 599px) {
    .blog_news-list li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .blog_news-list li>a {
        width: 35%;
    }

    .blog_news-list li>a .ofimg {
        height: 100%;
    }

    .blog_news-list li .blog-info {
        width: 65%;
        padding: 5px 10px;
    }

    .blog_news-list .category {
        margin: 2px 0;
    }

    .blog-info .blog-title a p {
        font-size: 12px;
    }

    .tag {
        margin-top: 5px;
    }

    .tag .ofimg {
        width: 25px;
    }

    .blog-shop-name {
        font-size: 12px;
    }
}

/* blog_news-list end */

/* recommend */
.recommend-box ul li {
    width: 23%;
    margin: 1%;
}

@media (max-width: 599px) {
    .recommend-box ul li {
        width: 48%;
    }

    .haircatalog_list .recommend-box ul li {
        width: 98%;
    }
}

/* recommend end */

/* 見出し */
.heading {
    width: 100%;
    font-family: 'Vollkorn', serif;
    font-size: 36px;
    text-align: center;
    letter-spacing: 5px;
    margin-bottom: 50px;
    padding-bottom: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.heading:before {
    content: '｛';
    font-size: 32px;
    display: inline-block;
    margin-right: 30px;
}

.heading:after {
    content: '｝';
    font-size: 32px;
    display: inline-block;
    margin-left: 30px;
}

.heading-sub {
    font-size: 18px;
    line-height: 100%;
    letter-spacing: normal;
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.title {
    font-size: 38px;
}

@media (max-width: 1024px) {
    .heading {
        font-size: 32px;
        padding-bottom: 20px;
    }

    .heading:before {
        margin-right: 20px;
    }

    .heading:after {
        margin-left: 20px;
    }

    .title {
        font-size: 32px;
    }
}

@media (max-width: 599px) {
    .heading {
        font-size: 22px;
        padding-bottom: 16px;
    }

    .heading-sub {
        font-size: 16px;
    }

    .heading:before {
        font-size: 18px;
        margin-right: 0;
    }

    .heading:after {
        font-size: 18px;
        margin-left: 0;
    }

    .title {
        font-size: 22px;
    }
}

/* 見出し end */

/* ボタン */
.more-btn {
    width: 450px;
    max-width: 80%;
    margin: auto;
}

.back-btn {
    width: 220px;
    margin: 50px auto 0 0;
}

.more-btn a,
.more-btn button {
    width: 100%;
    font-size: 16px;
    letter-spacing: 2px;
    display: block;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    background-color: #fff;
    border: 1px solid #000;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.more-btn a:hover,
.more-btn button:hover {
    cursor: pointer;
    opacity: 1;
    background-color: #000;
    color: #fff;
}

.m50 {
    margin: 50px auto;
}

@media (max-width: 599px) {
    .back-btn {
        margin: 30px auto 0 0;
    }
}

/* ボタン end */

/* ##### 共通 end ##### */

/* ##### header ##### */
header {
    position: fixed;
    top: 0;
    left: calc(50% - 700px);
    z-index: 4;
}

header[data-element-id] {
    position: absolute;
}

.header-logo a {
    display: block;
    width: 100px;
    background-color: #4d423e;
    padding: 75px 10px 30px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.smaller .header-logo a {
    padding: 14px 20px 14px 20px;
}

@media (max-width: 1024px) {
    header {
        position: absolute;
        left: 10px;
        z-index: 2;
    }
}

/* ##### header end ##### */

/* ##### nav ##### */
nav+div,
nav+div>div {
    min-height: 0 !important;
}

nav {
    width: 100%;
    height: 80px;
    position: absolute;
    top: calc(100vh - 80px);
    left: 0;
    z-index: 3;
    background-color: #fff;
}

nav.fixed {
    height: 60px;
    position: fixed;
    top: 0;
    left: 0;
    background-color: rgba(255, 255, 255, 0.9);
    -webkit-box-shadow: 0px 4px 2px -2px rgba(169, 169, 169, 0.2);
    box-shadow: 0px 4px 2px -2px rgba(169, 169, 169, 0.2);
}

nav[data-element-id].fixed {
    position: static;
}

nav .logo {
    display: none;
}

.nav-list {
    width: 1200px;
    max-width: 100%;
    height: 100%;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: auto;
    padding: 10px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.nav-list[data-element-id] {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.nav-list li {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    text-align: center;
    padding: 0 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-right: 1px solid #dcdcdc;
}

.nav-list li[data-element-id] {
    width: 160px;
    margin-bottom: 10px;
    position: relative;
}

.nav-list li.sp-only[data-element-id]:hover:after {
    content: 'スマホナビのリンクです';
    display: block;
    padding: 2px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-size: 12px;
    line-height: 120%;
    background-color: #c0c0c0;
    position: absolute;
    top: auto;
    bottom: 0;
    left: 0;
    -webkit-transform: translate(0, 100%);
    transform: translate(0, 100%);
}

.nav-list li.sp-only {
    display: none;
}

.nav-list li.sp-only[data-element-id] {
    display: block;
}

.nav-list li:first-of-type {
    border-left: 1px solid #dcdcdc;
}

.nav-list li a {
    width: 100%;
    height: 100%;
    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;
}

.nav-list .en {
    font-size: 11px;
}

@media (max-width: 1024px) {
    nav .background--dark {
        background-color: #fff;
        border: 1px solid #4d423e;
    }

    nav .background--dark .menu-trigger span {
        background-color: #4d423e;
    }

    nav {
        width: 350px;
        height: 100%;
        position: fixed;
        top: 0;
        left: auto;
        right: 0;
        -webkit-transition: all 0.3s;
        transition: all 0.3s;
        -webkit-transform: translate(350px, 0);
        transform: translate(350px, 0);
        z-index: 10;
        padding: 0;
    }

    nav.fixed {
        left: inherit;
        width: 350px;
    }

    .active nav {
        -webkit-transform: translate(0);
        transform: translate(0);
        -webkit-box-shadow: -3px 0px 13px -3px rgba(169, 169, 169, 0.8);
        box-shadow: -3px 0px 13px -3px rgba(169, 169, 169, 0.8);
    }

    .nav-list li.sp-only {
        display: block;
    }

    nav .logo {
        display: block;
    }

    nav .logo a {
        width: 100%;
        padding: 15px 10px;
    }

    .nav-list {
        display: block;
        padding: 0;
        padding-bottom: 100px;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
    }

    .nav-list li,
    .nav-list li:first-of-type {
        border-right: none;
    }

    .nav-list li {
        border-bottom: 1px solid #dcdcdc;
    }

    .nav-list li a {
        padding: 5px;
    }

    .nav-list li a:hover {
        opacity: 1;
    }
}

@media (max-width: 599px) {
    nav {
        width: calc(100% - 70px);
        -webkit-transform: translate(100%, 0);
        transform: translate(100%, 0);
    }

    .hamburger {
        right: calc(100% + 10px);
    }
}

/* ##### nav end ##### */

/* ##### footer ##### */
footer {
    background-color: #ccc7c3;
    position: relative;
}

.floating-btn {
    width: 140px;
    height: 140px;
    position: absolute;
    top: 30px;
    right: 3%;
    z-index: 1;
}

.floating-btn.off {
    display: none;
}

.floating-btn a {
    width: 100%;
    height: 100%;
    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;
    font-family: 'Vollkorn', serif;
    font-size: 34px;
    text-align: center;
    line-height: 100%;
    border-radius: 50%;
}

.floating-btn_a a {
    background: rgb(225, 230, 201);
    background: linear-gradient(45deg, rgba(225, 230, 201, 1) 1%, rgba(154, 188, 76, 1) 100%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#e1e6c9', endColorstr='#9abc4c', GradientType=1);
}

.floating-btn_b a {
    background: rgb(255, 165, 0);
    background: linear-gradient(45deg, rgba(255, 165, 0, 1) 0%, rgba(255, 242, 178, 1) 67%, rgba(255, 242, 178, 1) 67%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ffa500', endColorstr='#fff2b2', GradientType=1);
}

.floating-btn .small {
    font-size: 22px;
    line-height: 110%;
}

.floating-btn .more-arrow {
    font-size: 16px;
    line-height: 110%;
}

footer .totop {
    width: 140px;
    height: 140px;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    -webkit-transform: translate(0, -40%);
    transform: translate(0, -40%);
    margin: auto;
}

footer .totop a {
    width: 100%;
    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: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    background-color: #ccc7c3;
    border-radius: 50%;
    font-size: 16px;
    color: #fff;
    letter-spacing: 1px;
    text-align: center;
}

footer .totop a:hover {
    opacity: 1;
}

footer .totop a img {
    margin: 20px 0 10px 0;
}

.footer-upper {
    padding-top: 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.footer-title {
    font-size: 18px;
    margin-bottom: 15px;
}

.footer-shop-list {
    -webkit-column-count: 2;
    column-count: 2;
}

.footer-shop-list li {
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 30px;
}

.footer-shop-img-box a,
.footer-shop-info h4 a {
    display: block;
}

.footer-shop-info h4 a p {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    font-size: 14px;
    font-weight: bold;
}

.footer-shop-info .tel a {
    letter-spacing: 2px;
}

.footer-bottom {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    border-top: 1px solid #000;
    margin-top: 30px;
    padding: 30px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.footer-logo-box h3 {
    font-size: 22px;
    line-height: 200%;
    margin-bottom: 10px;
}

.footer-logo {
    margin-bottom: 15px;
}

.footer-address {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

.footer-nav-list {
    -webkit-column-count: 3;
    column-count: 3;
}

.footer-nav-list li {
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
}

.footer-nav-list li {
    margin-bottom: 5px;
    padding-left: 16px;
    position: relative;
}

.footer-nav-list li:before {
    content: '-';
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}

.footer-nav-list li a {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
}

.copy {
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    color: #836e68;
    text-align: center;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #4d423e;
}

.footer-insta-link {
    text-align: right;
    margin-top: 30px;
}

.insta-icon:before {
    content: "\f16d";
    font-family: FontAwesome;
    display: inline-block;
    font-size: 40px;
}

@media (max-width: 1024px) {
    footer .totop {
        width: 120px;
        height: 120px;
    }
}

@media (max-width: 599px) {
    .floating-btn {
        width: 120px;
        height: 120px;
        top: 10px;
        right: 10px;
    }

    .floating-btn a {
        font-size: 26px;
    }

    .footer-shop-list {
        -webkit-column-count: 1;
        column-count: 1;
    }

    .footer-shop-list li {
        margin-bottom: 10px;
    }

    .footer-shop-img-box {
        width: 30%;
    }

    .footer-shop-img {
        height: 100%;
    }

    .footer-shop-info {
        width: 68%;
    }

    .footer-logo-box,
    .footer-logo {
        text-align: center;
    }

    .footer-logo {
        width: 50%;
        margin: 15px auto;
    }

    .footer-nav-list {
        -webkit-column-count: 2;
        column-count: 2;
    }

    .copy {
        padding-right: 60px;
    }
}

/* ##### footer end ##### */

/* ##### mainimg ##### */
.scroll-btn {
    position: absolute;
    bottom: 50px;
    left: 0;
    right: 0;
    margin: auto;
    text-align: center;
}

.scroll-btn a {
    display: inline-block;
    font-size: 22px;
    color: #4d423d;
    letter-spacing: 2px;
}

.scroll-arrow {
    width: 100%;
    height: 25px;
    display: inline-block;
    margin-top: 15px;
    position: relative;
}

.scroll-arrow span {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    margin: auto;
}

.scroll-btn.background--light a {
    color: black;
}

.scroll-btn.background--light .arrow-img-black {
    display: inline-block;
}

.scroll-btn.background--light .arrow-img-white {
    display: none;
}

.scroll-btn.background--dark a {
    color: white;
}

.scroll-btn.background--dark .arrow-img-black {
    display: none;
}

.scroll-btn.background--dark .arrow-img-white {
    display: inline-block;
}

/* top */
.top-visual-box {
    width: 1000px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    -ms-flex-align: end;
    align-items: flex-end;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin: auto;
}

.top-visual-box h2 {
    font-size: 34px;
    color: #4d423d;
    line-height: 200%;
    margin-bottom: 30px;
}

/* top end */

/* 下層 */
.under .mainimg .ofimg:before {
    padding-top: calc(100vh - 80px)
}

/* 下層 end */

@media (max-width: 1024px) {
    .top .mainimg .uk-slideshow:after {
        padding-top: calc(100vh - 80px);
    }

    .mainimg .uk-slideshow:after {
        padding-top: 60vh;
    }

    .under .mainimg .ofimg:before {
        padding-top: calc(100vh - 270px)
    }
}

@media (max-width: 599px) {
    .scroll-btn {
        bottom: 15px;
    }
}

/* ##### mainimg end ##### */

/* ##### top ##### */
.top main {
    padding-bottom: 0;
}

/* top-concept */
.top-concept .title {
    margin-bottom: 30px;
    text-align: center;
}

/* top-concept end */

/* top-product-introduction */
.gray-border-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 80px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 2px solid #e0e0e0;
}

/* top-product-introduction end */

/* top-catalog */
.top-catalog-list li {
    position: relative;
}

.top-catalog-list li:before {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 50px 50px 0 0;
    border-color: #ffffff transparent transparent transparent;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 2;
}

.top-catalog-list li:after {
    content: '';
    width: 0;
    height: 0;
    border-style: solid;
    border-width: 0 0 50px 50px;
    border-color: transparent transparent #ffffff transparent;
    position: absolute;
    bottom: 0;
    right: 0;
    z-index: 1;
}

.top-catalog-list li figcaption {
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
}

/* top-catalog end */

/* top-blog_news-list-box */
.top-blog_news-list-box {
    background-color: #f2f2f2;
}

/* top-blog_news-list-box end */

/* top-product-list */
.top-product-list .text {
    text-align: center;
    margin: 30px 0;
}

.top-product-list .product-list li {
    margin-bottom: 30px;
}

.top-product-list .product-title {
    font-size: 16px;
    line-height: 120%;
    margin: 10px 0;
}

.product-description {
    font-size: 12px;
}

/* top-product-list end */

/* top-recruit-box */
.top-recruit-box {
    background-color: #f1ece6;
    padding-bottom: 150px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.recruit-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.recruit-img {
    position: relative;
}

.recruit-img .ofimg {
    width: 60%;
}

.overlap {
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin: auto;
}

.overlap+.ofimg {
    position: relative;
    width: 45%;
    margin-top: 30px;
    z-index: 1;
}

.recruit-text .title {
    text-align: center;
}

/* top-recruit-box end */

@media (max-width: 1024px) {
    .gray-border-box {
        padding: 30px;
    }

    .top-slide .ofimg:before {
        padding-top: 70%;
    }

    .catalog-list li {
        width: calc(100% / 3 - 2%);
        margin: 0 1% 5% 1%;
    }

    .top-catalog-list li:before {
        border-width: 25px 25px 0 0;
    }

    .top-catalog-list li:after {
        border-width: 0 0 25px 25px;
    }

    .recruit-text,
    .recruit-img {
        width: calc(100% - 30px);
        margin: 15px;
    }

    .more-shop {
        margin-top: 20px;
    }

    .catalog-list li {
        width: calc(100% / 2 - 2%);
    }
}

@media (max-width: 599px) {

    .recruit-text,
    .recruit-img {
        width: calc(100% - 10px);
        margin: 5px;
    }

    .top-product-list .product-list li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 10px;
    }

    .top-product-list .product-list li .ofimg {
        width: 40%;
    }

    .top-product-list .product-list li .product-info {
        width: 58%;
    }

    .top-product-list .product-title {
        margin-top: 0;
    }

    .product-description {
        font-size: 10px;
    }
}

/* ##### top end ##### */

/* ##### company ##### */
.company-wrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.company-img {
    margin-left: calc(50% - 500px);
    margin-right: 50px;
    padding: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.company-info {
    background-color: #f2f2f2;
    padding: 30px 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.company-info table {
    width: 100%;
    border-collapse: collapse;
}

.company-info table th,
.company-info table td {
    font-size: 16px;
    padding: 15px 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: left;
}

.company-info table th {
    border-right: 1px solid #e0e0e0;
}

@media (max-width: 1024px) {
    .company-wrap {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .company-img {
        min-width: 220px;
        max-width: 30%;
        margin-left: auto;
        margin-right: auto;
        padding: 15px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }

    .company-info {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        padding: 50px 15px;
    }
}

@media (max-width: 599px) {

    .company-info table th,
    .company-info table td {
        font-size: 14px;
        padding: 10px;
    }
}

/* ##### company end ##### */

/* ##### concept ##### */
.concept-box .text {
    font-size: 16px;
    margin: 30px 0;
}

/* ##### concept end ##### */

/* ##### menu ##### */
.inpagenav-list li a {
    display: block;
    width: 100%;
    height: 100%;
    font-size: 16px;
    text-align: center;
    line-height: 100%;
    padding: 15px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #fff;
    border: 1px solid #000;
}

.inpagenav-list li a:hover {
    opacity: 1;
    background-color: #000;
    color: #fff;
}

.inpagenav-list li a span {
    display: block;
}

.inpagenav-list li a .more-arrow:after {
    float: right;
}

.menu-wrap {
    -webkit-column-count: 2;
    column-count: 2;
}

.menu-box {
    -webkit-column-break-inside: avoid;
    break-inside: avoid;
    margin: 0 2% 80px 2%;
    padding-top: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.menu-title {
    font-size: 32px;
    text-align: center;
    margin-bottom: 30px;
}

.menu-list {
    margin-bottom: 30px;
    padding-bottom: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #e0e0e0;
}

.menu-list dt,
.menu-list dd {
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.menu-name {
    font-size: 16px;
    line-height: 120%;
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.menu-price {
    width: 20%;
    font-family: "游ゴシック", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    text-align: right;
    line-height: 120%;
}

.menu-description {
    width: 100%;
    margin-top: 10px;
    font-size: 13px;
}

@media (max-width: 1024px) {
    .menu-box {
        padding-top: 0;
    }

    .menu-price {
        width: 35%;
    }
}

@media (max-width: 599px) {
    .menu-wrap {
        -webkit-column-count: 1;
        column-count: 1;
    }

    .menu-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .menu-list dt,
    .menu-list dd {
        width: 100%;
    }
}

/* ##### menu end ##### */

/* ##### staff_list ##### */
.staff-list li {
    margin-bottom: 30px;
}

.staff-list li a {
    display: block;
}

.staff-info {
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.staff-shop {
    font-size: 18px;
    font-weight: bold;
    margin: 10px 0 5px 0;
}

.staff-shop span {
    display: inline-block;
    margin-right: 10px;
}

.staff-shop .salon-title-ja {
    font-size: 16px;
}

.staff-name p {
    text-align: right;
}

.staff-name-ja {
    font-size: 18px;
}

.staff-name-en {
    letter-spacing: 1px;
}

.staff-comment {
    line-height: 120%;
    margin-top: 10px;
    padding: 10px 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-top: 1px solid #f1ece6;
}

.staff-detail-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.staff_detail .staff-shop {
    font-size: 20px;
    margin-bottom: 50px;
}

.staff_detail .staff-position {
    font-size: 18px;
    margin-bottom: 30px;
}

.staff_detail .staff-name {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.staff_detail .staff-name-ja {
    font-size: 38px;
}

.staff_detail .staff-name-en {
    font-size: 18px;
}

.staff_detail .staff-comment {
    margin-top: 50px;
    padding-top: 50px;
    font-size: 16px;
    line-height: 160%;
}

.staff_detail .recommend-box ul li .ofimg:before {
    padding-top: 125%;
}

@media (max-width: 1024px) {
    .staff_detail .staff-shop {
        margin-bottom: 30px;
    }

    .staff_detail .staff-name {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .staff_detail .staff-name p {
        width: 100%;
        text-align: left;
    }

    .staff_detail .staff-comment {
        margin-top: 30px;
        padding-top: 30px;
    }
}

@media (max-width: 599px) {
    .staff-list li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 15px;
    }

    .staff-list li a {
        width: 38%;
    }

    .staff-list li a .ofimg {
        height: 100%;
    }

    .staff-info {
        width: 60%;
    }

    .staff-shop {
        margin: 0 0 5px 0;
    }

    .staff-comment {
        margin-top: 5px;
        padding: 5px 0;
    }

    .staff_detail .staff-shop {
        margin-bottom: 15px;
    }

    .staff_detail .staff-position {
        margin-bottom: 15px;
    }

    .staff_detail .staff-name-ja {
        font-size: 34px;
    }

    .staff_detail .staff-comment {
        margin-top: 15px;
        padding-top: 15px;
    }

    .staff_detail .more-btn {
        margin: 50px auto;
    }
}

/* ##### staff_list end ##### */

/* ##### blog_news ##### */
.blog_news_detail .blog-info{
  align-items: flex-end;
}
.blog_news_detail .blog-info .right{
  width: 22%;
  position: relative;
}
.blog_news_detail .blog-info.赤 .right:after{
content: "";
    border: 1px solid #c40f0f;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -5%;
    right: -5%;
    z-index: 1;
}
.blog_news_detail .blog-info.青 .right:after{
content: "";
    border: 1px solid #575edf;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -5%;
    right: -5%;
    z-index: 1;
}
.blog_news_detail .blog-info.緑 .right:after{
content: "";
    border: 1px solid #739901;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -5%;
    right: -5%;
    z-index: 1;
}
.blog_news_detail .blog-info.黄 .right:after{
content: "";
    border: 1px solid #b09501;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -5%;
    right: -5%;
    z-index: 1;
}
.blog_news_detail .blog-info.紫 .right:after{
content: "";
    border: 1px solid #c264a6;
    width: 100%;
    height: 100%;
    position: absolute;
    bottom: -5%;
    right: -5%;
    z-index: 1;
}
.blog_news_detail .blog-info .left{
  width: 78%;
}
.blog_news_detail .date {
    font-size: 16px;
    font-weight: bold;
}

.blog_news_detail .blog-title {
    font-family: "游明朝体", "Yu Mincho", YuMincho, "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ ゴシック", sans-serif;
    font-size: 24px;
    margin-bottom: 50px;
    padding: 15px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #e0e0e0;
}
@media (max-width: 1024px) {
  .blog_news_detail .blog-info {
    align-items: center;
}
.blog_news_detail .blog-title{
  font-size: 22px;
}
}
@media (max-width: 599px) {
    .blog_news_detail .recommend-box ul li {
        width: 98%;
    }

    .blog_news_detail .recommend-box ul li .blog-title {
        margin-bottom: 10px;
        padding: 10px 0;
    }
    .blog_news_detail .blog-info .left{
      width: 100%;
    padding-top: 30px;
    }
    .blog_news_detail .blog-info .right{
      width: 55%;
    margin: 0 auto;
    }
}

/* ##### blog_news end ##### */

/* ##### haircatalog_list ##### */
.haircatalog_list .inpagenav-list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.haircatalog_list .catalog-list li {
    width: 21%;
    margin: 2% 2% 4% 2%;
}

.haircatalog-detail-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.haircatalog-title {
    font-size: 28px;
    line-height: 120%;
    margin-bottom: 50px;
}

.haircatalog-information dl {
    margin-bottom: 50px;
}

.haircatalog-information dl dt {
    margin-bottom: 15px;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    font-size: 16px;
    line-height: 100%;
    border: 1px solid #000;
}

.haircatalog-detail-menu-list dd {
    font-size: 18px;
}

.haircatalog-shop-name:after {
    display: none;
}

.haircatalog-shop-name {
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 15px;
    text-align: right;
}

.haircatalog-staff-name {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.haircatalog-staff-name a {
    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;
}

.haircatalog-staff-name p {
    letter-spacing: 2px;
}

.haircatalog-staff-position {
    font-size: 18px;
}

.haircatalog-staff-name {
    font-size: 30px;
    margin-left: 30px;
}

@media (max-width: 599px) {
    .haircatalog_list .catalog-list li {
        width: 46%;
    }
}

/* ##### haircatalog_list end ##### */

/* ##### recruit ##### */
.recruit .inpagenav-list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.recruit-box {
    padding: 80px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.recruit-title {
    font-size: 28px;
    text-align: center;
    line-height: 100%;
    margin-bottom: 50px;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #000;
    background-color: #fff;
}

.rec-list {
    border-bottom: 1px solid #a6a6a6;
}

.rec-list>dt,
.rec-list>dd {
    font-size: 18px;
    padding: 30px 0 30px 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.rec-list>dt {
    width: 30%;
}

.rec-list>dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.normal-list {
    padding-left: 16px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.normal-list li {
    font-size: 18px;
    list-style-type: disc;
    list-style-position: outside;
    margin-bottom: 5px;
}

.horizon-list li {
    font-size: 18px;
    display: inline-block;
    margin-right: 15px;
    padding-left: 20px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.horizon-list li:before {
    content: '◎';
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}

.workplace-list {
    margin-bottom: 30px;
}

.workplace-list dt,
.workplace-list dd {
    font-size: 18px;
    width: 50%;
}

.workplace-list dt {
    position: relative;
    padding-left: 20px;
}

.workplace-list dt:before {
    content: '■';
    display: inline-block;
    position: absolute;
    top: 0;
    left: 0;
}

.schedule-intro {
    -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;
    margin-bottom: 80px;
}

.recruit-staff-name-box {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    margin: 15px 0;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #a6a6a6;
    -ms-flex-item-align: end;
    align-self: flex-end;
}

.recruit-staff-position {
    font-size: 16px;
    margin-right: 10px;
}

.recruit-staff-name {
    font-size: 32px;
}

.flow-list {
    clear: both;
}

.flow-list li {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    margin-bottom: 50px;
}

.flow-cont {
    width: 65%;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

.flow-time {
    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;
    font-size: 24px;
    font-weight: bold;
    letter-spacing: 2px;
    width: 120px;
    height: 120px;
    border-radius: 50%;
    background-color: #f1ece6;
}

.flow-cont dt {
    position: relative;
}

.flow-cont dt:after {
    content: '';
    display: inline-block;
    width: 5px;
    height: calc(100% + 50px);
    background-color: #ccc7c3;
    position: absolute;
    top: 0;
    left: 60px;
    margin: auto;
    z-index: -1;
}

.flow-list li:last-of-type .flow-cont dt:after {
    display: none;
}

.flow-cont dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin: 0 15px;
}

.flow-cont dd h3 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 120px;
    font-size: 28px;
    line-height: 120%;
}

.flow-photo {
    width: 35%;
}

.flow-photo .ofimg {
    height: 100%;
}

.recruit-flow .flow-time {
    font-size: 64px;
    background-color: #fff;
}

.recruit-flow .flow-list li {
    margin-bottom: 80px;
    position: relative;
}

.recruit-flow .flow-list li:after {
    content: '';
    width: 55px;
    height: 30px;
    background-image: url(/import/tenant_1/133.167.73.146/html/images/common/arrow_down_001.png);
    background-size: 100% auto;
    background-repeat: no-repeat;
    background-position: center center;
    position: absolute;
    bottom: -40px;
    left: 0;
    right: 0;
    margin: auto;
}

.recruit-flow .flow-list li:last-of-type:after {
    display: none;
}

@media (max-width: 1024px) {
    .recruit-box {
        padding: 50px 0;
    }

    .rec-list>dt {
        width: 38%;
    }

    .workplace-list dt,
    .workplace-list dd {
        width: 100%;
    }

    .flow-time {
        width: 100px;
        height: 100px;
    }

    .flow-cont dt:after {
        left: 50px;
    }

    .flow-cont dd h3 {
        height: 100px;
        font-size: 24px;
    }

    .recruit-flow .flow-time {
        font-size: 60px;
    }
}

@media (max-width: 599px) {
    .recruit-box {
        padding: 30px 0;
    }

    .recruit-title {
        font-size: 22px;
        margin-bottom: 30px;
        padding: 20px 5px;
    }

    .rec-list>dt,
    .rec-list>dd {
        width: 100%;
        padding: 10px;
    }

    .rec-list>dd {
        padding-top: 0;
        padding-left: 30px;
    }

    .rec-list>dd,
    .normal-list li,
    .horizon-list li,
    .workplace-list dt,
    .workplace-list dd {
        font-size: 16px;
    }

    .recruit-staff-name {
        font-size: 28px;
    }

    .flow-list li {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .flow-cont {
        width: 100%;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .flow-cont dd {
        width: 100%
    }

    .flow-cont dt {
        width: 100%;
        margin-bottom: 15px;
    }

    .flow-cont dt:after {
        display: none;
    }

    .flow-cont dd {
        margin: 0;
    }

    .flow-cont dd h3 {
        height: auto;
        font-size: 20px;
    }

    .flow-photo {
        width: 80%;
        margin: auto;
    }

    .recruit-flow .flow-time {
        font-size: 50px;
    }

    .recruit-flow .flow-list li {
        margin-bottom: 50px;
    }
}

/* ##### recruit end ##### */

/* ##### voice_list ##### */
.voice-box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
}

.voice-list {
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.voice-list li {
    border: 1px solid #000;
    margin-bottom: 50px;
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.voice-info {
    margin-bottom: 15px;
    padding: 15px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #000;
}

.voice-info-list {
    margin-right: 10px;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-bottom: 10px;
}

.vils {
    width: 25%;
    -webkit-box-flex: 0;
    -ms-flex-positive: 0;
    flex-grow: 0;
}

.voice-cont-list {
    margin-bottom: 50px;
}

.voice-cont-list dt {
    text-align: center;
    line-height: 100%;
    margin-bottom: 15px;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #ccc7c3;
}

.voice-list .more-btn {
    margin: 15px auto;
}

.voice_detail-box {
    width: 100%;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.voice_detail-box .voice-info {
    margin-bottom: 30px;
}

.voice_detail-box .voice-cont-list dt {
    background-color: #fff;
    border: 1px solid #000;
}

@media (max-width: 599px) {
    .voice-info-list {
        width: 100%;
        margin-right: 0;
    }

    .voice-info-list dt,
    .voice-info-list dd {
        font-size: 12px;
    }

    .voice-cont-list {
        margin-bottom: 30px;
    }

    .voice-cont-list dt {
        padding: 10px 5px;
    }
}

/* ##### voice_list end ##### */

/* ##### contact ##### */
.contact #scroll {
    padding: 50px 0;
}

.contact-item {
    margin-bottom: 50px;
}

.contact-item dt {
    width: 25%;
    font-size: 18px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

.contact-item dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.contact-item dd input,
.contact-item dd textarea {
    width: 100%;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.contact-item dd textarea {
    height: 200px;
}

.contact-item .radiobtn input {
    width: auto;
}

.contact-item dd.radiobtn label {
    position: relative;
    margin: 0 15px 0 0;
    padding-left: 22px;
}

.contact-item dd.radiobtn input {
    display: none;
}

.contact-item dd.radiobtn label:hover {
    cursor: pointer;
    text-decoration: underline;
}

.contact-item dd.radiobtn label:before {
    content: "";
    display: block;
    position: absolute;
    top: 1px;
    left: 0;
    width: 15px;
    height: 15px;
    border: 1px solid #000;
    border-radius: 50%;
    background-color: #fff;
}

.contact-item dd.radiobtn input:checked+label {
    text-decoration: underline;
    color: #000;
}

.contact-item dd.radiobtn input:checked+label:after {
    content: "";
    display: block;
    position: absolute;
    top: 4px;
    left: 3px;
    width: 11px;
    height: 11px;
    background: #000;
    border-radius: 50%;
}

.contact-btns li {
    width: 200px;
    margin: 30px;
}

@media (max-width: 1024px) {
    .contact-item dt {
        width: 30%;
    }
}

@media (max-width: 599px) {
    .contact-item {
        margin-bottom: 30px;
    }

    .contact-item dt,
    .contact-item dd {
        width: 100%;
        font-size: 16px;
    }

    .contact-item dd.radiobtn label {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        margin-bottom: 5px;
    }

    .contact-item dd.radiobtn label:before {
        top: 4px;
    }

    .contact-item dd.radiobtn input:checked+label:after {
        top: 7px;
    }

    .contact-btns li {
        margin: 10px;
    }
}

/* ##### contact end ##### */

/* ##### faq ##### */
.faq-list {
    margin-bottom: 50px;
    padding-bottom: 50px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #000;
}

.faq-list dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    height: 55px;
    font-size: 22px;
    margin-bottom: 30px;
    position: relative;
    padding-left: 70px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.faq-list dt:before {
    content: 'Q';
    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: 55px;
    height: 55px;
    font-family: 'Vollkorn', serif;
    font-size: 30px;
    color: #fff;
    background-color: #ccc7c3;
    border-radius: 50%;
    position: absolute;
    top: 0;
    left: 0;
}

.faq-list dd {
    font-size: 16px;
}

@media (max-width: 1024px) {
    .faq-list {
        padding-bottom: 20px;
    }

    .faq-list dt {
        height: 45px;
        font-size: 20px;
        margin-bottom: 20px;
        padding-left: 55px;
    }

    .faq-list dt:before {
        width: 45px;
        height: 45px;
        font-size: 26px;
    }
}

@media (max-width: 599px) {
    .faq-list {
        padding-bottom: 10px;
    }

    .faq-list dt {
        font-size: 18px;
        margin-bottom: 10px;
        padding-left: 40px;
    }

    .faq-list dt:before {
        width: 35px;
        height: 35px;
        font-size: 22px;
    }
}

/* ##### faq end ##### */

/* ##### franchised ##### */
.franchise-intro-box {
    position: relative;
}

.fc-cont {
    margin-bottom: 100px;
}

.fib-inner {
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    margin: auto;
    z-index: 2;
}

.fib-inner .title {
    text-align: center;
}

.fib-inner .text {
    font-size: 18px;
    margin-top: 30px;
}

.franchise-intro-box .ofimg:after {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background-color: rgba(255, 255, 255, 0.6);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.fc-title {
    font-size: 36px;
    text-align: center;
    margin-bottom: 50px;
    padding: 30px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background-color: #f1ece6;
}

.fc-title-sub {
    display: block;
    font-size: 16px;
    text-align: center;
    line-height: 100%;
}

.fc-box {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 50px;
}

.fc-box:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.fc-box-title {
    font-size: 24px;
    line-height: 120%;
    margin-bottom: 30px;
}

.fc-box-text .text {
    font-size: 16px;
}

.fc-voice .fc-box:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
}

@media (max-width: 1024px) {
    .franchise-intro .title {
        font-size: 28px;
    }

    .fib-inner .text {
        font-size: 16px;
        margin-top: 20px;
    }

    .franchise-intro .ofimg:before {
        padding-top: 40%;
    }

    .fc-title {
        font-size: 32px;
        margin-bottom: 40px;
    }

    .fc-title-sub {
        font-size: 14px;
    }

    .fc-box-title {
        font-size: 22px;
        margin-bottom: 20px;
    }

    .fc-box-text,
    .fc-box-img {
        margin: 1% 1% 4% 1%;
    }

    .fc-box-text {
        min-width: 350px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }

    .fc-box-img {
        max-width: 80%;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        margin: 0 auto;
    }
}

@media (max-width: 599px) {
    .franchise-intro .title {
        font-size: 20px;
    }

    .fib-inner .text {
        font-size: 14px;
        margin-top: 15px;
    }

    .franchise-intro .ofimg:before {
        padding-top: 70%;
    }

    .fc-title {
        font-size: 28px;
        margin-bottom: 30px;
    }

    .fc-box-text {
        min-width: 100%;
    }

    .fc-box-title {
        font-size: 18px;
        margin-bottom: 15px;
    }

    .fc-box-text .text {
        font-size: 14px;
    }
}

/* ##### franchised end ##### */

/* ##### product_list ##### */
.product_list .inpagenav-list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.pdct-list li {
    width: 28%;
    margin: 0 2.5% 5% 2.5%;
}

.pdct-info {
    margin-top: 10px;
}

.pdct-text {
    font-size: 12px;
    margin-bottom: 15px;
}

.pdct-title {
    padding: 10px;
    font-size: 16px;
    line-height: 120%;
    border-top: 1px solid #f1ece6;
}

.pdct-price {
    text-align: right;
    margin-top: 30px;
}

@media (max-width: 1024px) {
    .pdct-list li {
        width: 45%;
        margin: 0 2.5% 5% 2.5%;
    }
}

@media (max-width: 599px) {
    .pdct-list li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start;
        width: 100%;
        margin: 0 0 30px 0;
        padding-bottom: 10px;
        border-bottom: 1px solid #f1ece6;
    }

    .pdct-list li .ofimg {
        width: 40%;
    }

    .pdct-info {
        width: 58%;
        height: 100%;
        margin-top: 0;
        padding-bottom: 32px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: relative;
    }

    .pdct-text {
        font-size: 10px;
        margin-bottom: 5px;
    }

    .pdct-title {
        padding: 5px 0;
        font-size: 14px;
    }

    .pdct-price {
        margin-top: 0;
        position: absolute;
        bottom: 0;
        right: 0;
    }
}

/* ##### product_list end ##### */

/* ##### salon_list ##### */
.salon-list {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.salon-list li {
    margin-bottom: 50px;
    padding: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #000;
}

.salon-list li>a {
    display: block;
}

.salon-list li .shop-title {
    margin: 15px 0;
    padding-bottom: 0;
}

.salon-list li .shop-title:after {
    display: none;
}

.salon-list li .shop-title a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.salon-list li .tel {
    text-align: center;
    margin-top: 15px;
    padding: 20px 10px 10px 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-top: 1px solid #f1ece6;
}

.salon-list li .tel a {
    font-size: 18px;
    letter-spacing: 1px;
}

.salon_detail-title {
    margin: 15px 0 30px 0;
    padding: 30px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #f1ece6;
}

.salon_detail-title span {
    font-size: 28px;
}

.salon_detail-title .salon-title-en {
    font-size: 34px;
    font-weight: bold;
    margin-right: 15px;
}

.sdc-title-wrap {
    position: relative;
    width: 100%;
}

.sdc-title-wrap:before {
    content: "";
    display: block;
    padding-top: 100%;
}

.sdc-title-wrap h3 {
    font-size: 32px;
    letter-spacing: 1px;
    line-height: 140%;
    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;
    padding: 25px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: 1px solid #000;
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
    right: 0;
}

.sdc-title-wrap h3 span {
    width: 100%;
}

.sdc-title-box {
    padding-bottom: 55px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    position: relative;
}

.sdc-title-box .more-btn {
    width: 100%;
    max-width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
}

.sdctitle-ja {
    font-size: 18px;
    line-height: 120%;
}

.sdc-info {
    margin-top: 10px;
}

.salon_detail-cc .catalog-list li {
    width: 23%;
    margin: 1%;
}

.salon_detail-cc:nth-of-type(odd) .sdc-title-box {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
}

.salon_detail .salon-staff-list[data-element-id] li+div {
    width: 75%;
}

.salon_detail .salon-staff-list[data-element-id] li+div>li {
    width: calc(100% / 3 - 2%);
}

.salon_detail-blog li a .ofimg:before {
    padding-top: 78%;
}

.salon-staff-list figure {
    position: relative;
    overflow: hidden;
    width: 100%;
}

.salon-staff-list 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: -100%;
    left: 0;
    z-index: 2;
    width: 100%;
    height: 100%;
    padding: 10px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: rgba(0, 0, 0, .4);
    -webkit-transition: .3s;
    transition: .3s;
    opacity: 1;
}

.salon-staff-list figcaption h3,
.salon-staff-list figcaption .staff-position,
.salon-staff-list figcaption .staff-name-en {
    color: #fff;
}

.salon-staff-list figure:hover figcaption {
    top: 0;
    left: 0;
}

.salon-menu-img {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin: 1%;
}

.salon-access {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.salon-access-title {
    font-size: 36px;
    letter-spacing: 2px;
    position: relative;
}

.salon-access-title:after {
    content: '';
    display: block;
    width: 70%;
    height: 1px;
    border-top: 1px solid #000;
    margin: 15px auto 30px 0;
}

.salon-access-sub {
    display: block;
    font-size: 18px;
    line-height: 120%;
}

.salon-access-shop {
    font-size: 36px;
}

.salon-access-shop .salon-title-en {
    font-weight: bold;
    margin-right: 30px;
}

.salon-access-shop .salon-title-ja {
    font-size: 28px;
}

.salon-access-list {
    margin-top: 15px;
    padding-bottom: 15px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border-bottom: 1px solid #f1ece6;
}

.salon-access-list dt,
.salon-access-list dd {
    font-size: 18px;
    padding: 15px 0;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
}

.salon-access-list dt {
    width: 30%;
}

.salon-access-list dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

@media (max-width: 1024px) {
    .salon-list li {
        margin-bottom: 30px;
    }

    .sdc-title-box {
        width: 100%;
    }

    .sdc-title-box {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        padding-bottom: 0;
    }

    .sdc-title-wrap:before {
        padding-top: 10%;
    }

    .sdc-title-wrap {
        width: calc(100% / 3 * 2 - 0.7%);
    }

    .sdc-title-wrap h3 {
        font-size: 22px;
        padding: 10px 15px;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
    }

    .sdc-title-wrap h3 span {
        width: auto;
    }

    .sdc-title-wrap h3 span br {
        display: none;
    }

    .sdctitle-ja {
        font-size: 16px;
    }

    .sdc-title-box .more-btn {
        position: static;
        width: calc(100% / 3 - 1.3%);
        height: 100%;
        margin: 0;
    }

    .sdc-title-box .more-btn a {
        font-size: 18px;
        height: 100%;
        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;
    }

    .salon_detail-cc .catalog-list li {
        width: calc(100% / 3 - 2%);
    }

    .salon_detail-cc:nth-of-type(odd) .sdc-title-box {
        width: 100%;
        -webkit-box-ordinal-group: 1;
        -ms-flex-order: 0;
        order: 0;
    }

    .salon_detail-cc ul li .ofimg:before {
        padding-top: 100%;
    }

    .salon_detail-cc ul .salon-menu-img .ofimg:before {
        padding-top: 35%;
    }

    .salon-access-info {
        min-width: 280px;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        margin: 1% 2%;
    }

    .salon-access-title {
        font-size: 30px;
    }

    .salon-access-sub {
        font-size: 16px;
    }

    .salon-access-shop {
        font-size: 32px;
    }

    .salon-access-shop .salon-title-ja {
        font-size: 24px;
    }

    .salon-access-list dt {
        width: 35%;
    }

    .salon-access-img {
        max-width: 80%;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        margin: 1% auto;
    }
}

@media (max-width: 599px) {
    .salon-list li {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-bottom: 10px;
        padding: 0;
    }

    .salon-list li a {
        width: 35%;
    }

    .salon-list li a .ofimg {
        height: 100%;
    }

    .salon-info-box {
        width: 65%;
        padding: 5px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .salon-list li .shop-title {
        margin: 10px 0;
        line-height: 100%;
    }

    .salon-list li .shop-title a {
        width: 100%;
    }

    .salon-list li .shop-title .salon-title-en {
        font-size: 18px;
        margin: 0;
    }

    .salon-list li .shop-title .salon-title-ja {
        font-size: 16px;
        margin: 0;
    }

    .salon-list li .salon-address {
        font-size: 12px;
        height: auto !important;
    }

    .salon-list li .tel {
        margin-top: 5px;
        padding: 5px;
    }

    .salon-list li .tel a {
        width: 100%;
        font-size: 16px;
    }

    .salon_detail-cc {
        margin-bottom: 80px;
    }

    .sdc-title-box {
        margin-bottom: 15px;
    }

    .sdc-title-wrap {
        width: 100%;
    }

    .sdc-title-wrap:before {
        display: none;
    }

    .sdc-title-wrap h3 {
        position: static;
        font-size: 20px;
        -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;
        margin-bottom: 15px;
        padding: 5px 5px 10px 10px;
        border: none;
        border-bottom: 1px solid #000;
    }

    .sdc-title-wrap h3 .sdctitle-ja {
        font-size: 14px;
    }

    .sdc-title-box .more-btn {
        width: 45%;
        height: auto;
        margin: 0 0 0 auto;
    }

    .sdc-title-box .more-btn a {
        padding: 5px;
    }

    .sdc-info {
        width: 65%;
        margin-top: 0;
        padding: 5px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }

    .salon_detail-cc .catalog-list li {
        width: 46%;
    }

    .salon_detail-cc .salon_detail-catalog li .ofimg:before {
        padding-top: 150%;
    }

    .salon-staff-list figure {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .salon-staff-list .ofimg {
        width: 35%;
    }

    .salon-staff-list figcaption {
        display: block;
        width: 65%;
        height: 100%;
        padding: 5px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
        position: static;
        opacity: 1;
        background-color: #fff;
    }

    .salon-staff-list figcaption h3,
    .salon-staff-list figcaption .staff-position,
    .salon-staff-list figcaption .staff-name-en {
        color: inherit;
    }

    .salon-staff-list figcaption h3 {
        font-size: 18px;
    }

    .salon_detail-cc ul .salon-menu-img .ofimg:before {
        padding-top: 55%;
    }

    .salon-access-list dt,
    .salon-access-list dd {
        font-size: 16px;
    }
}

/* ##### salon_list end ##### */
