﻿
/* CSS Document */

/* ====================================================
Font
==================================================== */
.size18 {
    font-size: 18px;
    font-size: 1.8rem;
    line-height: 2.0em;
}

.col_bk {
    color: #000;
}

.center {
    text-align: center;
}

/********************** COMMON PART ************************/
.show-menu>li {
    position: relative;
}

.sub {
    overflow: hidden;
    position: absolute;
    left: -120px;
    top: 3em;
    width: 240px;
    min-height: 0;
    height: 0;
    z-index: 3;
    transition: min-height 0.5s;
    background-color: #eee;
    writing-mode: horizontal-tb;
}

.sub>li>a {
    padding: 10px 20px;
    font-size: 12px;
    font-size: 1.2rem;
    line-height: 1.8em;
}

.sub>li>a:hover {
    background-color: #dee1e3;
    opacity: 1;
}

.sub.active {
    min-height: 180px;
}

.menu-fixed__price {
    width: 80%;
    margin: -30px auto 30px auto;
    font-size: 12px;
    font-size: 1.2rem;
    text-align: left;
    line-height: 2.0em;
}

.page-brand_index .content_box .content_text .title_c {
    background: #9C6E56;
}

@media screen and (max-width: 834px) {

    .sec-news .btn-comp01 {
        margin-left: auto;
    }

    .list-news {
        margin-bottom: 30px;
        -ms-flex-wrap: nowrap;
        flex-wrap: nowrap;
        overflow-x: auto;
        margin: 0;
    }

    .list-news .item {
        width: 250px;
        margin-right: 15px;
        padding: 0;
        -ms-flex-negative: 0;
        flex-shrink: 0;
    }

    .list-brand .item__img {
        height: 174.55px;
    }

    .list-news .item__ttl {
        margin-bottom: 10px;
    }

    .sec-brand-footer p {
        margin-bottom: -15px !important;
    }

}

/********************** TOP ************************/

@media screen and (max-width: 834px) {
    .box-direct {
        justify-content: space-between;
    }

    .box-direct .item {
        margin-bottom: 0;
        padding: 3% !important;
        width: 50%;
    }

    .box-direct .item:nth-child(odd) {
        border-right: 1px dotted #000;
    }

    .box-direct .item:nth-child(3) {
        border-bottom: none;
    }

    .box-direct .item .item__img.illu-01 img {
        max-width: 62%;
    }

    .box-direct .item .item__img.illu-02 img {
        max-width: 70%;
    }

    .box-direct .item .item__img.illu-03 img {
        max-width: 70%;
    }

    .box-direct .item .item__img.illu-04 img {
        max-width: 56%;
    }

    .sec-next {
        padding: 100px 0 90px;
        /* background: none, url(../image/ico-06.svg) no-repeat left -48px bottom 68px/200% 492px, url(../image/bg-line.png) repeat-x left 2px bottom, #ffffff !important; */
        position: relative;
        z-index: 2;
    }

    .sec-next .block-wrap:after {
        background: none;
    }

    .box-store__img {
        width: 100%;
        margin: 0 auto;
        max-width: 100px;
    }

    .box-store__img.hyogo {
        width: 100px !important;
        max-width: 65px;
    }

    .box-store__ttl span {
        width: 210px;
        background-size: 160px;
        font-size: 20px;
        font-size: 2.0rem;
        background-position: calc(50% - 0px) 50%;
    }

    .box-store__list {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        justify-content: space-between;
        overflow: unset;
    }

    .box-store__list .item {
        width: 48%;
        margin-right: 0;
        margin-bottom: 20px;
    }
}

@media screen and (max-width: 380px) {

    .list-brand .item__img {
        height: 90px;
    }

    .list-brand .item__img {
        max-width: 90px;
        margin: 0 auto 15px;
    }

    .list-brand .item__ttl {
        font-size: 1.3rem;
        line-height: 1.7;
    }

    .sec-shop .block-ttl {
        font-size: 4.5rem;
        margin-bottom: 20px;
    }

    .sec-shop .block-txt,
    .sec-next .block-txt {
        font-size: 1.4rem;
        line-height: 1.9;
    }

    .box-store__list .item__txt {
        font-size: 1.2rem;
    }

    .box-direct .item__ttl {
        font-size: 1.4rem;
    }
}

/********************** TUTU ************************/

.page-tutu_index .list-menu__img {
    width: calc(100% - 285px);
}

.page-tutu_index .list-price-center {
    text-align: center;
    margin-top: 20px;
    font-size: 1.5rem;
}

@media screen and (max-width: 990px) {
    .page-tutu_index .list-menu__wrap {
        width: 266px;
    }

    .page-tutu_index .list-menu__cricle {
        width: 29.5%;
        margin: inherit;
    }

    .page-tutu_index .list-menu__content {
        width: 66%;
    }
}

@media screen and (max-width: 834px) {

    .page-tutu_index .sec-concept,
    .page-tutu_index .page-tutu_index,
    .page-tutu_index .page-tutu_index {
        padding: 60px 0;
    }

    .page-tutu_index .sec-menu {
        padding: 60px 0 40px;
    }

    .page-tutu_index .sec-access {
        padding: 20px 0 60px;
    }

    .page-tutu_index .sec-brand-footer {
        padding: 60px 0 10px;
    }

    .page-tutu_index .concept-ttl {
        font-size: 2.4rem;
    }

    .page-tutu_index .concept-tm {
        font-size: 1.8rem;
    }

    .page-tutu_index .menu-ttl {
        font-size: 1.8rem;
    }

    .page-tutu_index .list-menu__wrap {
        width: 100%;
    }

    .page-tutu_index .list-menu .thumbnail.face {
        display: none;
    }

    .page-tutu_index .list-menu .list-menu__img:before {
        background: none;
    }

    .page-tutu_index .list-menu__img:before {
        background: none;
    }

    .page-tutu_index .list-menu__img {
        display: none;
    }

    .page-tutu_index .list-menu .sp img {
        width: 70%;
        margin: 0 auto;
        text-align: center;
        display: block;
    }

    .page-tutu_index .price-page-ttl {
        font-size: 2.3rem;
        max-width: 160px;
        padding: 3px 0;
    }
}

@media screen and (max-width: 640px) {
    .list-menu__item {
        width: 100%;
    }

    .page-tutu_index .sec-brand-footer p {
        margin-bottom: 0;
    }

    .page-tutu_index .list-menu__txt {
        line-height: 1.7;
    }

    .page-tutu_index .sp-display {
        display: flex;
        justify-content: space-between;
    }

    .page-tutu_index .sp-display .ttl-comp03.sp {
        margin-right: 3%;
        width: 30%;
    }

    .page-tutu_index .sp-display .stylist-img.sp {
        width: 67%;
    }

    .page-tutu_index .sec-stylist .sp-display .ttl-comp03:before {
        width: 100%;
        top: 0;
    }

    .page-tutu_index .access-logo {
        margin: 0 0 20px;
    }

    .page-tutu_index .gallery-content:before {
        top: 33%;
        left: 60%;
    }
}

/********************** GRAN ************************/

.sec-meister .block-sign {
    margin-right: 0;
}

.sec-access03 .block .block-info p {
    font-family: "Cormorant Garamond", serif;
    font-weight: 800;
    font-size: 1.8rem;
    line-height: 1.74;
}

.sec-access03.second .block {
    left: 0;
    right: auto;
}

.sec-meister .block {
    align-items: center;
}

.list-price dl {
    border-bottom: 1px solid #c7c7c7;
    display: flex;
    justify-content: space-between;
    align-items: center;
}

.list-price dl dt {
    font-size: 15px;
    font-size: 1.5rem;
}

.list-price dl dd {
    font-size: 15px;
    font-size: 1.5rem;
    text-align: right;
    padding: 7px 0;
}

.list-price dl dd span {
    font-size: 12px;
    font-size: 1.2rem;
}

.sec-price-page-02 .list-price__line .right small.bold {
    font-weight: bold;
}

.shop-btn {
    margin: 0 auto 100px;
    text-align: center;
}

.shop-btn .black-btn {
    background: #000;
    color: #fff;
    font-size: 22px;
    font-size: 2.2rem;
    padding: 30px 30px;
    margin: 10px;
    max-width: 420px;
    display: inline-block;
    width: 100%;
}

@media screen and (max-width: 834px) {

    .sec-high-quority .block-ttl .jp {
        font-size: 2.6rem;
    }

    .sec-high-quority .block-txt,
    .sec-men-styling .block-txt,
    .sec-grooming-care .block-txt {
        font-weight: 400;
        font-size: 1.4rem;
        line-height: 2;
    }

    .box-result__txt {
        font-size: 1.4rem;
        line-height: 2 !important;
    }

    .sec-men-styling .block-head {
        width: 114%;
        margin-left: -7%;
    }

    .sec-men-styling .block-stl {
        font-size: 2.2rem;
        line-height: 1.8;
    }

    .sec-meister .block-stl2 {
        font-size: 1.8rem;
        line-height: 1.7;
    }

    .sec-high-quority .block div:nth-of-type(1) {
        order: 2;
    }

    .sec-high-quority .block div:nth-of-type(2) {
        order: 1;
    }

    .sec-meister .block-img {
        width: 100%;
        display: none;
    }

    .box-result {
        display: block;
    }

    .sec-meister .sp-layout {
        display: flex;
        justify-content: space-between;
        align-items: flex-end;
    }

    .sec-meister .block-sign {
        width: 56%;
        margin-right: 0;
        text-align: left;
        margin-left: 3%;
    }

    .sec-meister .block-sign strong {
        font-size: 2.0rem;
    }

    .sec-meister .sp-layout img {
        width: 52%;
    }

    .sec-meister .block-txt {
        margin-bottom: 30px;
        font-size: 1.4rem;
        line-height: 2;
    }

    .sec-meister .block-stl {
        font-size: 2.4rem;
        line-height: 1.6;
    }

    .sec-grooming-care .block-ttl {
        font-size: 2.2rem;
        margin-bottom: 20px;
        line-height: 1.4;
    }

    .shop-btn {
        margin: 20px auto 10px;
        text-align: center;
        display: flex;
        justify-content: flex-start;
        flex-wrap: wrap;
    }

    .shop-btn .black-btn {
        font-size: 1.6rem;
        padding: 10px 15px;
        margin: 0 1% 2%;
        width: 48%;
    }
}

/********************** nihonriyou ************************/

.page-nihonriyo_index .barber-desc span {
    -webkit-text-combine: horizontal;
    -ms-text-combine-horizontal: all;
    text-combine-upright: all;
}

.page-nihonriyo_index .sec-price .price-item .note {
    background: #efefef;
    border-radius: 50px;
    padding: 6px 5px;
    text-align: center;
    font-size: 15px;
    font-size: 1.5rem;
}

.page-nihonriyo_index .price-menu dd {
    text-align: right;
}

.page-nihonriyo_index .sec-price {
    padding: 120px 0 180px;
}

.page-nihonriyo_index .price-btn {
    display: flex;
    margin: 0 auto 100px;
    justify-content: space-between;
}

.page-nihonriyo_index .price-btn li {
    width: 48%;
}

.page-nihonriyo_index .price-btn li a {
    display: flex;
    background: #fff;
    padding: 20px;
    text-align: center;
    font-size: 16px;
    height: 100px;
    justify-content: center;
    width: 100%;
    align-items: center;
}

#priceList01 {
    text-align: center;
    margin-bottom: 65px;
    scroll-margin-top: 20px;
}

#priceList02 {
    scroll-margin-top: 80px;
}

@media screen and (max-width: 834px) {

    .page-nihonriyo_index .sec-mv__nihonriyo .mv-nihonriyo__content {
        width: 70px;
        position: absolute;
        top: 45px;
        left: 30px;
    }

    .page-nihonriyo_index .sec-customers .customers-ttl span {
        font-size: 3.5rem;
    }

    .page-nihonriyo_index .sec-customers .customers-ttl span span {
        font-size: 1.8rem;
    }

    .page-nihonriyo_index .sec-customers .customers-ct span {
        font-size: 2.5rem;
        margin-top: 3px;
    }

    .page-nihonriyo_index .sec-customers .customers-ct span span {
        font-size: 1.0rem;
        margin-top: 10px;
    }

    .page-nihonriyo_index .sec-customers .customers-ct {
        width: 60%;
        max-width: 100%;
        position: absolute;
        padding: 5px;
        font-size: 1.2rem;
        bottom: 0;
    }

    .page-nihonriyo_index .step-ttl span span {
        font-size: 3rem;
    }

    .page-nihonriyo_index .technical-heading {
        position: absolute;
        padding: 0 20px;
        -webkit-writing-mode: vertical-rl;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        font-size: 1.3rem;
        text-align: inherit;
    }

    .page-nihonriyo_index .technical-heading span {
        font-size: 1.3rem;
        margin-left: 6px;
        margin-top: -35px;
        padding: 10px 4px;
    }

    .page-nihonriyo_index .step-main .step-img {
        order: 2;
    }

    .page-nihonriyo_index .step-main .step-ttl {
        order: 1;
    }

    .page-nihonriyo_index .sec-price .price-item .note {
        font-size: 13px;
        font-size: 1.3rem;
    }

    .page-nihonriyo_index .price-heading {
        margin-bottom: 35px;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0);
        font-size: 4rem;
    }

    .page-nihonriyo_index .gallery-flex {
        -ms-flex-wrap: flex;
        flex-wrap: flex;
        justify-content: space-between;
    }

    .page-nihonriyo_index .gallery-left {
        width: 48%;
    }

    .page-nihonriyo_index .gallery-right {
        width: 48%;
    }

    .page-nihonriyo_index .gallery-txt {
        font-size: 1.4rem;
        line-height: 1.9;
    }


    .page-nihonriyo_index .sec-price {
        padding: 50px 0;
    }

    .page-nihonriyo_index .price-btn {
        display: block;
        margin: 0px auto 50px;
        justify-content: space-between;
    }

    .page-nihonriyo_index .price-btn li {
        width: 100%;
    }

    .page-nihonriyo_index .price-btn li:first-child {
        margin-bottom: 20px;
    }

    #priceList02 {
        scroll-margin-top: 50px;
    }


}

/********************** /wp/contact/ ************************/

.page-contact_index .sec-main .form-label {
    text-align: left;
}

.page-contact_index .sec-main {
    max-width: 1000px;
}

.page-contact_index .sec-main .input-control {
    border: 1px solid #ddd;
    border-radius: 3px;
}

.page-contact_index .sec-main select {
    border: 1px solid #ddd;
    border-radius: 3px;

}

/********************** /nihonriyo/ ************************/
.wrap-next:before {
    position: absolute;
    content: "";
    background: #000;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    z-index: 3;
    display: block;
    opacity: 0.1;
}

@media screen and (max-width: 834px) {
    .page-nihonriyo_index .sec-price .price-item .note {
        font-size: 12px;
        font-size: 1.2rem;
    }

    .wrap-next:before {
        display: none;
    }
}

/********************** /gran/ ************************/
@media screen and (max-width: 834px) {
    #header-gran .inner .logo img {
        width: 70%;
    }
}

/********************** add20211020 **************/
.youtube_video {
    position: relative;
    width: 100%;
    height: 0;
    padding-top: 56.25%;
}

.youtube_video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}

.videoArea {
    width: 90%;
    max-width: 640px;
    margin: 0 auto;
    padding: 60px 0;
}

.videoArea2 {
    max-width: 980px;
}

/********************** add20211224 **************/
.page-salon_index .main .item .item_img span>span {
    font-size: 14px;
    font-size: 1.4rem;
}

@media screen and (max-width: 1080px) {
    .page-salon_index .main .item .item__ttl {
        font-size: 2rem;
        font-size: 20px;
        padding: 13px 15px 13px 12px;
    }
}

@media screen and (max-width: 834px) {
    .page-salon_index .main .item .item_img span>span {
        font-size: 12px;
        font-size: 1.2rem;
    }

    /********************** add20211227 **************/
    @media screen and (max-width: 640px) {
        .page-salon_index .main .item .item__ttl {
            padding: 13px 14px 13px 10px;
            font-size: 15px;
            font-size: 1.5rem;
        }

        .page-salon_index .main .item .item_img span>span {
            font-size: 11px;
            font-size: 1.1rem;
        }
    }

    @media screen and (max-width: 360px) {
        .page-salon_index .main .item .item__ttl {
            padding: 10px 10px 10px 6px;
        }

        .page-salon_index .main .item .item_img span>span {
            font-size: 10px;
            font-size: 1rem;
        }
    }

    @media screen and (max-width: 340px) {
        .page-salon_index .main .item .item__ttl {
            font-size: 12px !important;
            font-size: 1.2rem !important;
            letter-spacing: -0.04em;
        }
    }

    .box-store__list .item__ttl span {
        letter-spacing: 0;
    }

    .box-store__list .item__ttl span span {
        font-size: 10px;
        padding: 0;
        letter-spacing: 0;
    }

    /*-------------------------------------add20220308---*/
    .sec-shop .block-stl strong {
        font-size: 5rem;
    }

    @media screen and (max-width: 360px) {
        .sec-shop .block-stl {
            letter-spacing: 4px;
        }
    }

}

@media screen and (max-width: 600px) {
    .sec-shop .block-img img {
        width: 100%;
        position: relative;
        left: 0;
        top: 0;
        max-width: inherit;
    }

    .sec-shop .block-content {
        width: 100%;
        padding: 300px 0 0;
    }

    .sec-shop .block-img {
        margin-top: 0;
    }

    .sec-shop .inner {
        margin-top: -310px;
    }
}

/*

.sec-shop{
  padding: 145px 0 50px;
  background: url("../img/index/map.png") no-repeat left top;
background: url("../img/index/map.png") no-repeat left top;
    background-size: auto;
  background-size: 52.5% auto;
  max-width: 100%;
}
*/

/* 20230712__add */

.list-news .item__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.page-salon_detail #slider {
    /* background: #ececec; */
    background: #fff;
}

.page-salon_detail #slider .slick-slide {
    height: auto;
    aspect-ratio: 1/ 1;
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
}

.page-salon_detail .slide-item img {
    width: auto;
    display: block;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}

.page-salon_detail .thumbnail-item {
    aspect-ratio: 16/9;
    flex: none;
    width: 32%;
    margin-right: 2%;
}

.page-salon_detail .thumbnail-item:nth-of-type(3n) {
    margin-right: 0;
}

.page-salon_detail .thumbnail-item img {
    width: 100%;
    margin: 0 auto;
    height: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.page-news_index .main .item .item_img {
    aspect-ratio: 1/0.7;
}

.page-news_index .main .item img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.page-salon_detail #thumbnail-list {
    justify-content: flex-start;
}

/* .page-salon_index .main .item .item_img{
    aspect-ratio: 4/2.3;
} */

.page-salon_index .main .item .item_img img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.list-news .item__img {
    aspect-ratio: 4 / 3;
}

/* .list-news .item__img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
} */

.page-news_index .main .item .item_img {
    aspect-ratio: 4 / 3;
    overflow: hidden;
}

.page-news_index .main .item img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 50% 50%;
    transition-duration: 0.5s;
}

.page-news_index .main .item a:hover img {
    transform: scale(1.1, 1.1);
    transition-duration: 0.5s;
}

.page-salon_index .main .item .item_img .img-box {
    width: 100%;
    height: auto;
    aspect-ratio: 4 / 3;
}

.page-salon_index .main .item img .img-box img {
    height: 100%;
    width: 100%;
    object-fit: cover;
    object-position: 50% 50%;
}

.page-brand_index .content_link hr {
    width: 13.5em;
}

.page-nihonriyo_index .box-store__list .item.item-none {
    display: none;
}

.page-nihonriyo_index .box-store__list .item__ttl span {
    color: #000;
    background-color: transparent;
    border-radius: 0;
    padding: 0;
}

.page-nihonriyo_index .box-store__list .item__ttl::before {
    content: "";
    display: inline-block;
    width: 8px;
    height: 8px;
    margin-right: 8px;
    border-right: 1px solid #000;
    border-bottom: 1px solid #000;
    transform: rotate(-45deg) translate(1px, 0px);
}

.page-nihonriyo_index .box-store__list .item {
    margin-bottom: 30px;
    width: 48%;
}

.page-nihonriyo_index .box-store__list .item__ttl {
    margin: 0 0 10px;
    border-bottom: 1px solid #000;
    padding-bottom: 5px;
    width: fit-content;
    padding-right: 10px;
}

.page-nihonriyo_index .box-store {
    margin-top: 30px;
}

.salon-link__list {
    display: flex;
    justify-content: space-between;
    margin-top: 100px;
}

.salon-link__list li {
    width: 32%;
    height: 100px;
}

.salon-link__list li a {
    width: 100%;
    height: 100%;
    background-color: #000;
    color: #fff;
    border-radius: 10px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    position: relative;
}

.salon-link__list li a::after {
    display: block;
    width: 6px;
    height: 6px;
    border-right: 2px solid #fff;
    border-bottom: 2px solid #fff;
    transform: rotate(45deg) translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 35px;
    content: "";
}

.salon-link__list li a .big {
    font-size: 24px;
    display: block;
    text-align: center;
}

.salon-link__list li a .en {
    font-size: 12px;
    display: block;
    text-align: center;
}

.page-salon_index .salon_ttl {
    margin-top: 80px;
}

body,
html {
    scroll-behavior: smooth;
}

/* アコーディオン */
.page-index .box-store__content {
    display: none;
}

.nav-open {
    padding: 15px;
    color: #fff;
    background: #000;
    position: relative;
    cursor: pointer;
}

.nav-open::before {
    /* 閉じている時 */
    content: "＋";
    position: absolute;
    right: 20px;
}

.nav-open.active::before {
    /* 開いている時 */
    content: "－";
}

.box-store__btn {
    width: 100%;
    height: 70px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-bottom: 20px;
    font-size: 21px;
    font-family: "Shippori Mincho B1", serif;
    flex-direction: column;
}

.box-store__btn .en {
    display: block;
    text-align: center;
    width: 100%;
    font-size: 1.2rem;
}

.page-index .box-store__content {
    width: 100%;
    padding-left: 0;
    padding-top: 10px;
}

.page-index .box-store__content:before {
    display: none;
}

.page-index .box-store__list {
    margin: 0;
    gap: 30px 1.333%;
    margin-bottom: 40px;
}

.page-index .box-store__list .item {
    width: 24%;
    padding: 0;
}

.page-index .box-store__list .item:nth-child(n+4) {
    margin-top: 0;
}

.page-index .sec-shop .block-wrap {
    margin-bottom: 0;
}

.bpx-store__bl {
    margin-bottom: 100px;
}

.sec-next {
    background: url(../image/ico-09.svg) no-repeat right -23px top 56%/300px 346px, url(../image/ico-06.svg) no-repeat left -48px bottom 68px/220px 492px, #ffffff;
}

.sec-news {
    background: url(../image/bg-line.png) repeat-x left 2px bottom;
    padding: 63px 0 52px;
}

.sec-shop .block-img {
    margin-top: 0;
}

#gran-access {
    padding: 114px 0;
    background-color: #fff;
}

#gran-access .block-ttl {
    font-family: "Cormorant Garamond", serif;
    font-weight: bold;
    font-size: 5.6rem;
    line-height: 1.56;
    margin-bottom: 76px;
    text-align: center;
}

.gran-access__item {
    display: flex;
    margin-bottom: 60px;
}

.gran-access__item .img {
    width: 50%;
    padding-right: 40px;
}

.gran-access__item .img img {
    width: 100%;
    height: auto;
    vertical-align: bottom;
}

.gran-access__title-bl {
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 10px;
    display: flex;
    flex-wrap: wrap;
    align-items: center;
}

.gran-access__title-bl {
    border-bottom: 1px solid #ccc;
    padding-bottom: 10px;
    margin-bottom: 25px;
}

.gran-access__title-middle {
    font-size: 26px;
    margin-right: 20px;
    display: inline-block;
    font-weight: 600;
}

.gran-access__access {
    background-color: #000;
    border-radius: 5px;
    color: #fff;
    font-size: 14px;
    width: fit-content;
    display: inline-block;
    padding: 5px 10px;
}

.gran-access__list {
    display: flex;
    margin-bottom: 10px;
}

.gran-access__list-title {
    width: 150px;
    padding-right: 15px;
    font-size: 20px;
    font-family: "Cormorant Garamond", serif;
    font-weight: 600;
}

.gran-access__list-txt {
    width: calc(100% - 150px);
    font-size: 15px;
    display: flex;
    flex-wrap: wrap;
    column-gap: 5px;
}

.gran-access__list-txt a {
    font-size: 12px;
    text-decoration: underline;
}

.gran-access__item .cont {
    display: flex;
    flex-direction: column;
    justify-content: center;
    width: 50%;
}

.list-brand__link {
    width: 90%;
    height: 55px;
    display: flex !important;
    justify-content: center;
    align-items: center;
    color: #fff;
    font-size: 16px;
    position: relative;
    border-radius: 5px;
    background-color: #000;
    margin-left: auto;
    margin-right: auto;
}

.list-brand__link::after {
    display: block;
    position: absolute;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: rotate(-45deg) translateY(-50%);
    top: 50%;
    right: 15px;
    content: "";
    width: 5px;
    height: 5px;
}

.list-brand .item__ttl {
    height: 120px;
    margin-top: -28px;
}

.salon-price-txt {
    font-size: 1.8rem;
    margin-bottom: 15px;
}

.salon-price-txt2 {
    font-size: 1.6rem;
    transform: translateY(70px);
}

.shop-hosoku-btn {
    position: absolute;
    width: 100%;
    left: 0;
    bottom: 0;
    transform: translateY(160%);
    white-space: nowrap;
    /* font-size: 12px; */
    font-size: 1.5em;
}

@media screen and (min-width: 1441px) {
    .page-nihonriyo_index .box-store__list .item:nth-child(n+5) {
        margin-top: 0;
    }
}

@media screen and (max-width: 1440px) {
    .page-nihonriyo_index .box-store__list .item:nth-child(n+4) {
        margin-top: 0;
    }

    .page-nihonriyo_index .box-store__list .item__ttl::before {
        transform: rotate(-45deg) translate(-3px, 4px);
    }

    .page-nihonriyo_index .box-store__list .item__ttl {
        display: flex;
    }

    .page-index .box-store__list {
        gap: 30px 2%;
    }

    .page-index .box-store__list .item {
        width: 32%;
    }

    .box-store__list .item:nth-child(n+3) {
        margin-top: 0;
    }

    .box-store__btn {
        font-size: 24px;
    }

    .gran-access__access {
        font-size: 12px;
    }

    .gran-access__title-middle {
        font-size: 21px;
    }
}

@media screen and (max-width: 1024px) {
    .page-index .sec-shop .block-wrap {
        margin-bottom: 0px;
    }
}

@media screen and (max-width: 834px) {
    .page-nihonriyo_index .box-store__list .item {
        width: 100%;
    }

    .salon-link__list {
        margin-top: 60px;
        flex-direction: column;
    }

    .salon-link__list li {
        width: 100%;
        margin-bottom: 10px;
        height: 68px;
    }

    .salon-link__list li a .big {
        font-size: 18px;
    }

    .page-index .sec-shop .block-wrap {
        margin-bottom: 50px;
    }

    .page-index .box-store__list .item {
        width: 48%;
    }

    .page-index .box-store__list {
        gap: 10px 4%;
        margin-bottom: 10px;
    }

    .box-store__btn {
        height: 60px;
        font-size: 18px;
        margin-bottom: 10px;
    }

    .bpx-store__bl {
        margin-bottom: 50px;
    }

    #gran-access .block-ttl {
        font-size: 4rem;
        margin-bottom: 25px;
    }

    .gran-access__item {
        margin-bottom: 35px;
        flex-direction: column;
    }

    .gran-access__item .img {
        width: 100%;
        padding-right: 0;
        margin-bottom: 4vw;
    }

    .gran-access__item .cont {
        width: 100%;
    }

    .gran-access__title-bl {
        margin-bottom: 15px;
    }

    .gran-access__title-middle {
        font-size: 18px;
        margin-right: 0;
        width: 100%;
        margin-bottom: 5px;
    }

    .gran-access__access {
        font-size: 12px;
    }

    .gran-access__list-title {
        width: 95px;
        padding-right: 15px;
        font-size: 17px;
    }

    .gran-access__list-txt {
        width: calc(100% - 95px);
        font-size: 14px;
    }

    #gran-access {
        padding: 50px 0 20px;
    }

    .list-brand .item__ttl {
        height: auto;
        margin-top: -13px;
        margin-bottom: 20px;
    }

    .page-gran_index .sec-meister .block-sign {
        width: 100%;
    }

    .salon-price-txt {
        font-size: 1.7rem;
        margin-bottom: 15px;
    }

    .salon-price-txt2 {
        font-size: 1.5rem;
        transform: translateY(40px);
    }
}

@media screen and (max-width: 640px) {
    .page-salon_index .salon_ttl {
        margin-top: 20px;
    }
}

@media screen and (max-width: 400px) {
    .list-brand .item__ttl {
        height: auto;
        margin-top: -17px;
        margin-bottom: 20px;
    }
}

.pb-0 {
    padding-bottom: 0;
}

.w-100 {
    width: 100%;
}

.mx-w3000 {
    max-width: 3000px;
}

@media screen and (min-width: 1441px) {
    .wrap-next .block-abs.right0 {
        right: 0;
    }
}

/* サロンクーポン＆支払い方法 */
#page-salon_about-payment {
    margin-top: 8em;
}

#page-salon_about-payment h2 {
    font-size: 32px;
}

#page-salon_about-payment p {
    font-size: 16px;
}

#page-salon_about-payment .lar-flex {
    display: flex;
    flex-direction: column-reverse;
}

#page-salon_about-payment .mid-flex {
    display: flex;
    align-items: center;
    padding: 5em 0;
}

#page-salon_about-payment .mid-flex div:nth-last-of-type(1) {
    padding: 3em 0 3em 4em;
}

#page-salon_about-payment .sml-flex {
    width: 32%;
    padding: 0 6em 2em 0;
    border-right: 1px solid gray;
    line-height: 2;
}

#page-salon_about-payment .sml-flex p:first-of-type {
    text-decoration: underline;
}

#page-salon_about-payment .sml-flex p:nth-last-of-type(1) {
    margin-top: 2em;
}

@media screen and (max-width: 834px) {
    #page-salon_about-payment {
        margin-top: 3em;
    }

    #page-salon_about-payment .mid-flex {
        display: block;
        padding: 0;
        margin: 2em auto;
    }

    #page-salon_about-payment .sml-flex {
        width: 100%;
        padding: 2em;
        border-right: none;
        line-height: 1.5;
    }

    #page-salon_about-payment .mid-flex div:nth-last-of-type(1) {
        padding: 0;
    }
}

/* 240509 */

.sec-next {
    background: url(../image/bg-line.png) repeat-x left 2px top;
    padding: 100px 0 90px;
}

.wrap-video {
    position: relative;
    display: flex;
    justify-content: center;
    width: 90%;
    margin: 0 auto 100px;
}

.visit_back01 {
    position: absolute;
    top: -100px;
    left: -15px;
    width: 20%;
    z-index: -1;
}

.visit_back02 {
    position: absolute;
    bottom: -100px;
    right: -15px;
    width: 15%;
}

.catch-copy-block {
    text-align: start;
    writing-mode: vertical-rl;
    margin-right: 30px;
}

.catch-copy-block h2 {
    font-size: 7.2rem;
    font-family: "Cinzel", serif;
    font-weight: bold;
    line-height: 1.1;
}

.catch-copy-block span {
    font-size: 1.6rem;
    font-weight: 500;
}

.videoArea2 {
    padding: 0;
    margin: 0;
    height: fit-content;
}

.page-salon_detail .sec-shop .tel .details {
    flex-wrap: wrap;
}

.page-salon_detail .sec-shop .tel {
    padding-right: 20px;
}

.salon__other-txt {
    width: 100%;
    margin-top: 20px;
}

.page-salon_detail .sec-shop {
    padding-top: 100px;
}

.salon__shop-tel-link {
    font-size: 5.1rem
}

@media screen and (max-width: 990px) {
    .page-salon_detail .sec-shop {
        padding-top: 40px;
    }

    .page-salon_detail .sec-shop .tel {
        padding-right: 0;
    }
}

@media (max-width:834px) {
    .sec-next {
        background: url(../image/bg-line.png) repeat-x left 2px top;
    }

    .catch-copy-block {
        margin-right: 10px;
    }

    .catch-copy-block h2 {
        font-size: 2rem;
    }

    .catch-copy-block span {
        font-size: 1.5rem;
    }

    .salon__shop-tel-link {
        font-size: 3rem
    }
}

@media (max-width:500px) {
    .wrap-video {
        margin: 0 auto 30px;
    }

    .visit_back01 {
        position: absolute;
        top: -100px;
        left: -15px;
        width: 30%;
        z-index: -1;
    }

    .visit_back02 {
        position: absolute;
        bottom: -80px;
        right: -15px;
        width: 25%;
    }
}

.header-ryukyuriyo .inner .logo {
    background-color: #254791 !important;
}

.header-ryukyuriyo .mobile-icon {
    background-color: #254791 !important;
}

.header-ryukyuriyo .menu-fixed__list {
    flex-direction: column;
    gap: 20px;
}

.header-ryukyuriyo .menu-fixed__list li a {
    writing-mode: horizontal-tb;
}

.list-brand .item {
    width: 25%;
}

.main-ryukyuriyo_index .list-brand .item__ttl {
    height: initial;
    margin-top: 0;
}

.page-gran_topics .sec-mv-gran .mv-ttl .en.ja-big {
    font-size: 5.8rem;
}

@media screen and (max-width: 834px) {
    .list-brand .item {
        width: 100%;
    }

    .main-ryukyuriyo_index .list-brand .item__img {
        height: auto;
    }

    .main-ryukyuriyo_index .list-brand .item__ttl {
        margin-bottom: 0;
    }

    .page-gran_topics .sec-mv-gran .mv-ttl .en.ja-big {
        font-size: 3.8rem;
        margin: 10px 0 27px;
    }
}

@media screen and (max-width: 834px) {
    .page-salon_detail .details table tr td {
        font-size: 1.6rem;
        padding-top: 5px;
        padding-bottom: 5px;
    }

    .page-salon_detail .details table tr td:nth-child(1) {
        padding-right: 15px;
    }

    .page-salon_detail .details table tr td:last-child {
        padding-left: 15px;
    }
}

@media screen and (max-width: 640px) {
    .page-brand_index .content_box .content_text h2 {
        font-size: 2.2rem;
    }
}

/*-------------------------------------------------------
店舗一覧ページ20240909
---------------------------------------------------------*/
.page-salon_index .salon-link__list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.page-salon_index .menu-item {
	position: relative;
}
.page-salon_index .submenu {
	display: none;
	position: absolute;
	z-index: 5;
	top: 100%;
	border-radius: 0 0 10px 10px;
	width: 100%;
	left: 0;
	list-style: none;
	padding: 0;
	margin: 0;
	background: #f9f9f9;
	border: 1px solid #ddd;
}
.page-salon_index .submenu li {
	padding: 10px;
	width: 100%;
	height: auto;
}
.page-salon_index .submenu li a {
	text-decoration: none;
	background: none;
	border-radius: 0;
	color: #000;
	align-items: center;
	height: auto;
	font-size: 16px;
}
.page-salon_index .menu-item:hover .submenu {
	display: block;
}
.page-salon_index .menu-link:hover {
	border-radius: 10px 10px 0 0;
}

@media screen and (max-width: 834px) {
	.page-salon_index .submenu li {
		margin-bottom:0;
	}
	.page-salon_index .submenu li a {
		font-size: 14px;
	}
}