@charset "UTF-8";
/* ##### フォント font ##### */
@import url("https://fonts.googleapis.com/css2?family=Raleway&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Poppins&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Roboto+Mono&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Oooh+Baby&display=swap");

.raleway {
    font-family: "Raleway", sans-serif;
}

.poppins {
    font-family: "Poppins", sans-serif;
}

.roboto {
    font-family: "Roboto Mono", monospace;
}

.oooh {
    font-family: "Oooh Baby", cursive;
}

/* ##### base.css上書き base.css overwrite ##### */
html {
    font-family: var(--font_02);
    color: var(--color-default_text);
    letter-spacing: 0.1em;
    background-color: var(--color-default_bgc);
}

.wrapper {
    min-width: 375px;
}

.fead-cover {
    overflow: hidden;
    z-index: 2;
}

.fead-cover.-cover01::before {
    background-color: var(--color-bgc_01);
}

.fead-cover.-cover02::before {
    background-color: var(--color-bgc_02);
}

.map {
    padding-top: 60%;
}

@media (max-width: 599px) {
    .map {
        padding-top: 90%;
    }
}

/* ##### 共通使用 common ##### */
[data-link=""] {
    display: none;
}

.br-pc {
    display: block;
}

.br-tb {
    display: none;
}

.br-sp {
    display: none;
}

.radius-alternate-em1 {
    overflow: hidden;
    border-radius: 1em 0;
}

.radius-alternate-em2 {
    overflow: hidden;
    border-radius: 2em 0;
}

.sign-name {
    font-weight: bold;
    font-size: clamp(1.125rem, 1.07rem + 0.24vw, 1.25rem);
}

.float-box-wrap.-change .float-box:nth-child(odd) .noinner {
    margin-left: auto;
}

.float-box-wrap.-change .float-box:nth-child(odd) [class*=btn] {
    margin-right: 0;
}

.float-box-wrap.-change .float-box:nth-child(even) .noinner {
    margin-right: auto;
}

.float-box-wrap.-change .float-box:nth-child(even) [class*=btn] {
    margin-left: 0;
}

.float-box-wrap.-colored .float-box-img {
    position: relative;
}

.float-box-wrap.-colored .float-box-img::before {
    content: "";
    width: 190%;
    height: 100%;
    display: block;
    background-color: var(--color-bgc_04);
    position: absolute;
    top: 4em;
}

.float-box-wrap.-colored.-colored-ver2 .float-box-img::before {
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(234, 241, 230, 0)), color-stop(2%, rgba(234, 241, 230, 0)), color-stop(75%, rgba(234, 241, 230, 1)));
    background: linear-gradient(to bottom, rgba(234, 241, 230, 0) 0%, rgba(234, 241, 230, 0) 2%, rgba(234, 241, 230, 1) 75%);
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#00eaf1e6', endColorstr='#eaf1e6', GradientType=0);
    z-index: -1;
}

.float-box-wrap.-colored .float-box:nth-child(odd) .float-box-img::before {
    right: 0;
}

.float-box-wrap.-colored .float-box:nth-child(even) .float-box-img::before {
    left: 0;
}

.float-box-wrap.-rowr.-change .float-box:nth-child(odd) .noinner {
    margin-left: 0;
    margin-right: auto;
}

.float-box-wrap.-rowr.-change .float-box:nth-child(odd) [class*=btn] {
    margin-left: 0;
    margin-right: 0;
}

.float-box-wrap.-rowr.-change .float-box:nth-child(even) .noinner {
    margin-left: auto;
    margin-right: 0;
}

.float-box-wrap.-rowr.-change .float-box:nth-child(even) [class*=btn] {
    margin-left: 0;
    margin-right: 0;
}

.float-box-wrap.-rowr.-colored .float-box:nth-child(odd) .float-box-img::before {
    left: 0;
}

.float-box-wrap.-rowr.-colored.-colored-ver2 .float-box:nth-child(odd) .float-box-img::before {
    left: -4em;
}

.float-box-wrap.-rowr.-colored .float-box:nth-child(even) .float-box-img::before {
    left: auto;
    right: 0;
}

.float-box-wrap.-rowr.-colored.-colored-ver2 .float-box:nth-child(even) .float-box-img::before {
    right: -4em;
}

.float-box-wrap.-custom .float-box-plus {
    float: right;
}

.float-box-wrap.-custom .float-box-plus .map {
    padding-top: 55%;
    border-radius: 1em;
}

.bg-parent .bg-img.-blur img {
    opacity: 0.25;
    -webkit-filter: blur(5px);
    filter: blur(5px);
}

.bg-parent .bg-img.-opacity img {
    opacity: 0.3;
}

.bg-01 {
    background-image: url("/import/tenant_1/153.121.43.234/html/images/common/bg_001.webp");
    background-size: 100% auto;
    background-repeat: repeat-y;
    background-position: center center;
    background-color: rgba(255, 255, 255, 0.4);

    background-blend-mode: lighten;
}

.staff-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 80px 0;
}

.staff-box:nth-of-type(even) {
    margin-left: -999rem;
    margin-right: -999rem;
    padding-left: 999rem;
    padding-right: 999rem;
    background-color: var(--color-bgc_02);
}

.staff-box .staff-box-shop-name {
    width: 15%;
}

.staff-box .list-cc-staff {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 5vw;
}

.card-01 {
    display: -ms-grid;
    display: grid;
}

.card-01 .card-img,
.card-01 .card-content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
}

.card-01 .card-img {
    width: 95%;
    overflow: hidden;
    margin-bottom: 5%;
    margin-left: auto;
    border-radius: 2px;
}

.card-01 .card-content {
    width: 90%;
    max-height: 80%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-top: auto;
    padding: 1em;
    background-color: var(--color-bgc_03);
    position: relative;
    z-index: 1;
}

.card-01 .card-content>* {
    color: white;
    text-shadow: 0px 0px 5px rgba(148, 182, 122, 0.8);
}

.card-01 .card-content .staff-shop-logo {
    width: 50%;
}

.card-01 .card-content .staff-name-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    font-weight: bold;
    font-size: 18px;
}

.card-01 .card-content .staff-name-box .list-sns {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 1em;
}

.card-01 .card-content .staff-name-box .list-sns li a {
    font-size: 110%;
}

.card-02 a {
    display: -ms-grid;
    display: grid;
    overflow: hidden;
    border-radius: 2px;
}

.card-02 a .card-img,
.card-02 a .card-content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
}

.card-02 a .card-content {
    min-height: 50%;
    max-height: 80%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: auto;
    padding: 2em 1em 1em;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(184, 206, 117, 0)), color-stop(25%, rgba(184, 206, 117, 0)), to(rgba(184, 206, 117, 0.8)));
    background: linear-gradient(to bottom, rgba(184, 206, 117, 0) 0%, rgba(184, 206, 117, 0) 25%, rgba(184, 206, 117, 0.8) 100%);
    opacity: 0;
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#00b8ce75", endColorstr="#ccb8ce75", GradientType=0);
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
    position: relative;
    z-index: 1;
}

.card-02 a .card-title {
    margin-top: 0.5em;
    font-weight: bold;
    color: white;
    text-shadow: var(--shadow-black_03);
}

.card-02 a:hover {
    opacity: 1;
}

.card-02 a:hover .card-content {
    opacity: 1;
}

.card-03 .card-img {
    overflow: hidden;
    border-radius: 2px;
}

.card-03 .card-content {
    margin-top: 1em;
}

.card-03 .card-title {
    font-weight: bold;
    font-size: clamp(1.1rem, 0.98rem + 0.53vw, 1.375rem);
}

.card-03 .product-brand {
    display: inline;
    font-weight: bold;
    font-size: 1.2em;
    background: -webkit-gradient(linear, left top, left bottom, color-stop(60%, transparent), color-stop(60%, var(--color-bgc_01)));
    background: linear-gradient(transparent 60%, var(--color-bgc_01) 60%);
}

.card-03 .size {
    font-size: 90%;
}

.card-04 {
    background-color: white;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
}

.card-04 a .card-img {
    overflow: hidden;
    border-radius: 2px;
}

.card-04 a .card-content {
    padding: 0.5em;
}

.card-04 a .card-title {
    margin-top: 0.5em;
    font-weight: bold;
    font-size: 110%;
    text-decoration: underline;
}

.card-05 {
    padding: 2em 1em;
    border-radius: 2em;
    background-color: white;
    -webkit-box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 0px 5px 0px rgba(0, 0, 0, 0.2);
    position: relative;
}

.card-05 .num {
    width: 3em;
    height: 3em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.5em;
    font-family: "Poppins", sans-serif;
    font-size: clamp(2.1875rem, 1.76rem + 1.82vw, 3.125rem);
    color: white;
    line-height: 1;
    border-radius: 100%;
    background-color: var(--color-bgc_03);
    -webkit-transform: translate(-25%, -50%);
    transform: translate(-25%, -50%);
    position: absolute;
    top: 0;
    left: 0;
}

.card-05 [class*=title] {
    padding: 0.2em;
    background-color: white;
    position: relative;
    z-index: 1;
}

.card-06 {
    padding: 3em 1em;
    border: 1px solid var(--color-border_03);
    border-radius: 0.2em;
    position: relative;
}

.card-06::after {
    content: "";
    width: 100%;
    height: 70%;
    background: -webkit-gradient(linear, right bottom, left top, color-stop(50%, rgba(76, 175, 80, 0.04)), color-stop(50%, transparent));
    background: linear-gradient(to top left, rgba(76, 175, 80, 0.04) 50%, transparent 50%);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: -1;
}

.card-07 {
    padding: 2em;
    border-radius: 2em;
    background-color: white;
}

.card-08 {
    overflow: hidden;
    border-radius: 2em 0;
}

.card-08 a {
    display: -ms-grid;
    display: grid;
}

.card-08 a .card-img,
.card-08 a .card-content {
    -ms-grid-row: 1;
    grid-row: 1;
    -ms-grid-column: 1;
    grid-column: 1;
}

.card-08 a .card-content {
    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;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    padding: 2em 1em;
    background-color: var(--color-bgc_04);
    position: relative;
    z-index: 1;
}

.card-08 a .card-title {
    margin-bottom: 0.5em;
    margin-right: auto;
    font-family: "Roboto Mono", monospace;
    font-size: clamp(2rem, 1.77rem + 0.97vw, 2.5rem);
    color: var(--color-text_01);
    line-height: 1.2;
    text-shadow: var(--shadow-white_03);
}

.card-08 a .card-title-sub {
    margin-right: auto;
    color: white;
}

.card-08 a .card-btn {
    font-family: "Oooh Baby", cursive;
    font-size: clamp(2rem, 1.77rem + 0.97vw, 2.5rem);
    color: white;
    opacity: 0.5;
    -webkit-transform: rotate(-10deg);
    transform: rotate(-10deg);
    position: absolute;
    bottom: 0.5em;
    right: 0.5em;
    z-index: -1;
}

.box-border-01 {
    padding: 1.5em;
    border: 1px solid var(--color-border_01);
    border-radius: 1em;
}

.phone.-big a {
    font-size: clamp(1.5rem, 1.33rem + 0.73vw, 1.875rem);
}

.reflection a {
    width: 100%;
    overflow: hidden;
    position: relative;
}

.reflection a::before {
    content: "";
    width: 30px;
    height: 100%;
    background-color: white;
    opacity: 0;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    -webkit-animation: reflection 2s ease-in-out infinite;
    animation: reflection 2s ease-in-out infinite;
    position: absolute;
    top: -180px;
    left: 0;
    z-index: 1;
}

.hpb-link {
    max-width: 200px;
    margin: 10px auto;
}

@-webkit-keyframes reflection {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    80% {
        opacity: 0.5;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
    }
}

@keyframes reflection {
    0% {
        opacity: 0;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    80% {
        opacity: 0.5;
        -webkit-transform: scale(0) rotate(45deg);
        transform: scale(0) rotate(45deg);
    }

    81% {
        opacity: 1;
        -webkit-transform: scale(4) rotate(45deg);
        transform: scale(4) rotate(45deg);
    }

    100% {
        opacity: 0;
        -webkit-transform: scale(50) rotate(45deg);
        transform: scale(50) rotate(45deg);
    }
}

@media (max-width: 1024px) {
    .br-pc {
        display: none;
    }

    .br-tb {
        display: block;
    }

    .br-sp {
        display: none;
    }

    .staff-box .staff-box-shop-name {
        width: 25%;
    }

    .card-02 a .card-content {
        padding: 0.5em;
        opacity: 1;
    }

    .card-02 a .card-title {
        font-size: 14px;
    }

    .card-04 a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .card-04 a .card-img {
        width: 35%;
    }

    .card-04 a .card-content {
        width: 10%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-flex: 1;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -ms-flex-positive: 1;
        flex-grow: 1;
        padding: 1em 0.5em;
    }
}

@media (max-width: 599px) {
    .br-pc {
        display: none;
    }

    .br-tb {
        display: block;
    }

    .br-sp {
        display: block;
    }

    .newmo-sp {
        padding: 2em 1em;
    }

    .staff-box .staff-box-shop-name {
        width: 100%;
        margin-bottom: 30px;
    }

    .staff-box .list-cc-staff {
        width: 100%;
        margin-left: 0;
    }

    .card-02 a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .card-02 a .card-img {
        width: 40%;
    }

    .card-02 a .card-content {
        width: 10%;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }

    .card-03 a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .card-03 .card-img {
        width: 35%;
    }

    .card-03 .card-content {
        width: 10%;
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
        padding: 0.5em;
    }

    .card-03.-ver2 {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .card-03.-ver2 .card-img,
    .card-03.-ver2 .card-content {
        width: 100%;
    }

    .float-box-wrap.-colored:nth-child(odd) .float-box-img::before,
    .float-box-wrap.-colored:nth-child(even) .float-box-img::before {
        width: 90%;
    }

    .float-box-wrap.-custom .float-box-map .map {
        padding-top: 80%;
    }
}

/* #### jsスライダー js slider ##### */
.slider-01 {
    position: relative;
}

.slider-01 .slick-slide {
    margin: 0 0.5em;
}

.slider-01 .slick-arrow {
    width: 3em;
    height: 3em;
    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;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto;
    border: 1px solid black;
    background-color: rgba(255, 255, 255, 0.8);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    z-index: 1;
}

.slider-01 .slick-arrow::before {
    content: "\f105";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 150%;
    line-height: 1;
}

.slider-01 .slick-prev {
    left: 3em;
}

.slider-01 .slick-prev::before {
    -webkit-transform: scale(-1, 1);
    transform: scale(-1, 1);
}

.slider-01 .slick-next {
    right: 3em;
}

@media (max-width: 1024px) {
    .slider-01 .slick-prev {
        left: 1em;
    }

    .slider-01 .slick-next {
        right: 1em;
    }
}

@media (max-width: 599px) {
    .slider-01 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }

    .slider-01 .slick-list {
        width: 100%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        margin-bottom: 1em;
    }

    .slider-01 .slick-arrow {
        margin: 1em;
        position: static;
    }

    .slider-01 .slick-prev {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .slider-01 .slick-next {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }
}

/* ##### テーブル table ##### */
.time-table tr th,
.time-table tr td {
    padding: 1em;
    text-align: center;
}

.time-table tr th {
    color: white;
    background-color: var(--color-bgc_02);
}

.time-table tr th+th {
    border-left: 1px solid white;
}

.time-table tr td {
    background-color: white;
}

.time-table tr td+td {
    border-left: 1px solid var(--color-default_text);
}

.time-table tr:nth-of-type(n+2) th:nth-of-type(1) {
    border-top: 1px solid white;
}

.time-table tr:nth-of-type(n+2) td {
    border-top: 1px solid var(--color-default_text);
}

@media (max-width: 599px) {
    .time-table tr th,
    .time-table tr td {
        padding: 0.5em;
        font-size: 14px;
    }
}

/* ##### タイトル title ##### */
.title-01 {
    margin-bottom: 1.5em;
    font-family: "Raleway", sans-serif;
    font-weight: bold;
    font-size: clamp(1.8375rem, 1.48rem + 1.53vw, 2.625rem);
    line-height: 1.2;
    letter-spacing: 0.2em;
}

.title-01 .main,
.title-01 .sub {
    display: block;
}

.title-01 .main::after {
    content: "";
    width: 1em;
    height: 0.2em;
    display: block;
    margin-top: 0.3em;
    margin-bottom: 0.3em;
    background-color: var(--color-default_text);
}

.title-01 .sub {
    display: block;
    font-family: var(--font_02);
    font-weight: normal;
    font-size: initial;
    line-height: 1.5;
    letter-spacing: 0.1em;
}

.title-01.-ta-center .main::after {
    margin-left: auto;
    margin-right: auto;
}

.title-01.-ta-right .main::after {
    margin-left: auto;
    margin-right: 0;
}

.title-02-wrap {
    margin-bottom: 1em;
}

.title-02 {
    display: inline;
    font-weight: bold;
    font-size: clamp(1.575rem, 1.5rem + 0.34vw, 1.75rem);
    letter-spacing: 0.15em;
}

.title-03 {
    margin-bottom: 1em;
    font-weight: bold;
    font-size: clamp(1.2rem, 1.06rem + 0.58vw, 1.5rem);
    color: var(--color-text_01);
    position: relative;
}

.title-04 {
    margin-bottom: 1em;
    padding: 0.5em 1em;
    font-family: "Roboto Mono", monospace;
    font-weight: bold;
    font-size: clamp(1.2rem, 1.06rem + 0.58vw, 1.5rem);
    color: white;
    border-radius: 0.2em;
    background-color: var(--color-bgc_03);
}

.title-05 {
    margin-bottom: 1.5em;
    padding: 0.5em 1em;
    font-weight: bold;
    font-size: clamp(1.35rem, 1.28rem + 0.29vw, 1.5rem);
    position: relative;
}

.title-05 .title-inner {
    position: relative;
    z-index: 2;
}

.title-05::before {
    content: "";
    width: 3em;
    height: 3em;
    background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, var(--color-bgc_03)), color-stop(50%, transparent));
    background: linear-gradient(to bottom right, var(--color-bgc_03) 50%, transparent 50%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.title-06 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-bottom: 2em;
    font-weight: bold;
    font-size: clamp(1.5rem, 1.33rem + 0.73vw, 1.875rem);
    position: relative;
}

.title-06::before {
    content: "";
    width: 3em;
    height: 3em;
    display: block;
    border-radius: 100%;
    background-color: var(--color-bgc_04);
    -webkit-transform: translate(-25%, -25%);
    transform: translate(-25%, -25%);
    position: absolute;
    top: 0;
    left: 0;
}

.title-06.-center {
    margin-left: auto;
    margin-right: auto;
}

.title-07 {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-bottom: 1em;
    font-weight: bold;
    font-size: clamp(1.4625rem, 1.39rem + 0.32vw, 1.625rem);
}

.title-07::after {
    content: "";
    width: 10%;
    height: 1px;
    display: block;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 1em;
    background-color: var(--color-bgc_01);
}

.title-08 {
    display: inline-block;
    margin-bottom: 1em;
    font-weight: bold;
    font-size: clamp(1.1rem, 0.98rem + 0.53vw, 1.375rem);
    letter-spacing: 0.15em;
}

.title-09 {
    margin-bottom: 1em;
    padding: 0.5em 1em;
    font-family: "Roboto Mono", monospace;
    font-weight: bold;
    font-size: clamp(1.1rem, 0.98rem + 0.53vw, 1.375rem);
    color: white;
    border-radius: 1em 0;
    background-color: var(--color-bgc_03);
}

.title-10 {
    margin-bottom: 1em;
    font-weight: bold;
    font-size: clamp(1.8rem, 1.71rem + 0.39vw, 2rem);
}

.title-11 {
    margin-bottom: 1em;
    padding: 0.5em 1em;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    border: 1px dotted var(--color-default_text);
}

.title-12 {
    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: 1em;
    font-size: clamp(1.875rem, 1.449rem + 1.82vw, 2.813rem);
    line-height: 1.3;
    position: relative;
}

.title-12::before {
    content: "";
    width: 1em;
    height: 1em;
    border-radius: 100%;
    background-color: var(--color-bgc_01);
    position: absolute;
    top: -0.5em;
    left: -0.5em;
    z-index: -1;
}

.title-12 .num {
    font-weight: bold;
    font-size: 30%;
}

.title-12 .position {
    margin: 0.5em 0;
    font-size: 50%;
}

.title-12 .name-ja {
    margin-top: 1em;
}

.title-12 .name-en {
    font-size: 40%;
}

@media (max-width: 599px) {
    .title-02.for-sp {
        font-size: 22px;
    }
}

/* #### リスト list ##### */
.list-01 dt {
    font-weight: bold;
    font-size: 120%;
}

.list-01 dd {
    padding-left: 1em;
}

.list-02 dt {
    font-weight: bold;
}

.list-02 dd {
    padding-left: 1em;
}

.list-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.list-sns li+li {
    margin-left: 0.5em;
}

.list-sns li a {
    text-shadow: none;
}

.list-skew {
    margin: 5em 0;
    -webkit-transform: skew(0, 10deg);
    transform: skew(0, 10deg);
}

.list-skew li {
    margin-top: clamp(3.75rem, 2.61rem + 4.85vw, 6.25rem);
    -webkit-transform: skew(0, -10deg);
    transform: skew(0, -10deg);
}

.list-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.list-btn li {
    width: 48%;
    margin: 1%;
}

.list-btn li 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;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden;
    padding: 0.5em 2em;
    font-size: 14px;
    border-radius: 3px;
    position: relative;
}

.list-btn li a::after {
    content: "\f105";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: inherit;
    line-height: 1;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    right: 0.5em;
}

.list-btn li a:hover {
    opacity: 1;
}

.list-btn li.pattern-01>div {
    height: 100%;
}

.list-btn li.pattern-01>div>div {
    height: 100%;
}

.list-btn li.pattern-01 a {
    color: white;
    border: 2px solid var(--color-border_01);
    background-color: var(--color-bgc_01);
}

.list-btn li.pattern-01 a:hover {
    color: var(--color-text_01);
    background-color: white;
}

.list-btn li.pattern-02 a {
    color: var(--color-text_01);
    border: 2px solid var(--color-border_01);
    background-color: white;
}

.list-btn li.pattern-02 a:hover {
    color: white;
    background-color: var(--color-bgc_01);
}

.list-btn li.pattern-03 .phone {
    height: 100%;
}

.list-btn li.pattern-03 .phone a {
    padding: 0.5em;
    font-size: clamp(1.375rem, 1.32rem + 0.24vw, 1.5rem);
    color: white;
    line-height: 1;
    text-align: center;
    background-color: var(--color-bgc_01);
}

.list-btn li.pattern-03 .phone a::after {
    display: none;
}

.list-btn li .type-a,
.list-btn li .type-b {
    height: 100%;
}

.list-btn li .type-a a {
    background-color: var(--color-bgc_01);
}

.list-btn li .type-a a:hover {
    color: var(--color-text_01);
    background-color: white;
}

.list-btn li .type-b a {
    border: 2px solid var(--color-border_05);
    background-color: var(--color-bgc_05);
}

.list-btn li .type-b a:hover {
    color: var(--color-text_05);
    background-color: white;
}

.list-photo {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.list-photo li {
    width: calc((100% - 12px) / 6);
    margin: 1px;
}

.list-faq {
    overflow: hidden;
    border-radius: 2em 0;
    background-color: white;
    position: relative;
}

.list-faq::before,
.list-faq::after {
    content: "";
    width: 3em;
    height: 0.2em;
    display: block;
    background-color: var(--color-bgc_01);
    position: absolute;
    top: 3em;
    right: 2em;
}

.list-faq::after {
    -webkit-transition: -webkit-transform 0.3s linear;
    transition: -webkit-transform 0.3s linear;
    transition: transform 0.3s linear;
    transition: transform 0.3s linear, -webkit-transform 0.3s linear;
    -webkit-transform: rotate(90deg);
    transform: rotate(90deg);
}

.list-faq.action::after {
    -webkit-transform: rotate(0deg);
    transform: rotate(0deg);
}

.list-faq dt,
.list-faq dd {
    position: relative;
}

.list-faq dt::before,
.list-faq dd::before {
    width: 1.8em;
    height: 1.8em;
    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;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    overflow: hidden;
    padding: 0.2em;
    font-family: "Roboto Mono", monospace;
    font-size: clamp(1.5rem, 1.33rem + 0.73vw, 1.875rem);
    color: white;
    line-height: 1;
    border-radius: 0.5em 0;
    position: absolute;
    top: 1em;
    left: 1em;
}

.list-faq dt {
    padding: 2em 6em;
    font-weight: bold;
    font-size: 20px;
    color: gray;
}

.list-faq dt::before {
    content: "Q";
    background-color: var(--color-bgc_01);
}

.list-faq dd {
    padding: 2em 2em 2.1em 7.5em;
    line-height: 1.8;
}

.list-faq dd::before {
    content: "A";
    background-color: var(--color-bgc_05);
}

.list-menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    padding: 1.5em 0.5em;
    border-bottom: 1px dotted var(--color-border-gray_01);
}

.list-menu dt,
.list-menu dd {
    font-weight: bold;
}

.list-menu dt {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    font-size: 98%;
}

.list-menu dd {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 3em;
    color: var(--color-text_06);
}

.list-menu .notice-menu {
    width: 100%;
    margin-top: 0.5em;
    font-size: 12px;
    color: var(--color-text-gray_01);
}

.list-salon li {
    padding: 4em 0;
}

.list-salon li:nth-child(even) {
    margin-left: -999rem;
    margin-right: -999rem;
    padding-left: 999rem;
    padding-right: 999rem;
    background-color: var(--color-bgc_02);
}

.list-filtering {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    padding: 2em 0;
}

.list-filtering li {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 200px;
    margin: 0.5em;
}

.list-filtering li a {
    display: block;
    padding: 0.5em 1em;
    font-family: "Roboto Mono", monospace;
    font-size: clamp(1.125rem, 1.07rem + 0.24vw, 1.25rem);
    color: white;
    text-align: center;
    border: 2px solid var(--color-border_01);
    border-radius: 0.8em 0;
    background-color: var(--color-bgc_01);
}

.list-filtering li a:hover {
    color: var(--color-text_01);
    background-color: white;
    opacity: 1;
}

.list-filtering.-ver2 li a {
    border: 2px solid var(--color-border_05);
    background-color: var(--color-bgc_05);
}

.list-filtering.-ver2 li a:hover {
    color: var(--color-text_05);
    background-color: white;
}

.list-filtering-box {
    margin-top: 2em;
    padding-left: 2em;
    padding-right: 2em;
    border-radius: 2em 0;
    background-color: var(--color-bgc_04);
}

.list-filtering-box.-ver2 {
    background-color: var(--color-bgc_07);
}

.list-filtering-title {
    margin-bottom: -1em;
    font-family: "Roboto Mono", monospace;
    font-size: clamp(1.5rem, 1.33rem + 0.73vw, 1.875rem);
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
}

.list-table {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.list-table+.list-table>dt {
    border-top: 1px solid white;
}

.list-table+.list-table>dd {
    border-top: 1px solid var(--color-border_01);
}

.list-table-wrap {
    max-width: 1000px;
    overflow: hidden;
    margin-left: auto;
    margin-right: auto;
    border: 1px solid var(--color-border_01);
    border-radius: 2em 0;
}

.list-table>dt,
.list-table>dd {
    padding: 1.5em;
}

.list-table>dt {
    width: 25%;
    color: white;
    background-color: var(--color-bgc_01);
}

.list-table>dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.curriculum-block {
    margin: 1%;
    padding: 2em 1em;
    border-radius: 1em;
    background-color: var(--color-bgc_04);
}

.curriculum .curriculum-block:nth-child(2) {
    background-color: var(--color-bgc_02);
}

.curriculum .curriculum-block:nth-child(2) .list-curriculum-inner dt {
    background-color: var(--color-bgc_06);
}

.curriculum .curriculum-block:nth-child(3) {
    background-color: var(--color-bgc_07);
}

.curriculum .curriculum-block:nth-child(3) .list-curriculum-inner dt {
    background-color: var(--color-bgc_05);
}

.list-curriculum li+li {
    margin-top: 0.75em;
}

.list-curriculum-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

.list-curriculum-inner dt {
    width: 20%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    padding: 0.5em;
    color: white;
    text-align: center;
    border-radius: 0.5em;
    background-color: var(--color-bgc_01);
}

.list-curriculum-inner dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 0.5em;
    font-size: 90%;
}

@media (max-width: 1024px) {
    .list-btn li.pattern-03 .phone a {
        font-size: 2.7vw;
    }

    .list-photo li {
        width: calc((100% - 8px) / 4);
    }

    .list-faq::before,
    .list-faq::after {
        width: 2em;
        top: 2em;
    }

    .list-faq dt::before,
    .list-faq dd::before {
        top: 0.6em;
    }

    .list-faq dt {
        padding: 1em 4em;
    }

    .list-faq dd {
        padding: 1em 2em 2em 6em;
    }

    .list-table>dt {
        width: 35%;
    }

    .list-table-03 {
        margin-top: 8em;
    }
}

@media (max-width: 599px) {
    .list-btn li {
        -webkit-box-flex: 1;
        -ms-flex-positive: 1;
        flex-grow: 1;
    }

    .list-btn li a {
        padding: 0.5em;
        font-size: 13px;
        line-height: 1.2;
        text-align: center;
    }

    .list-btn li a::after {
        display: none;
    }

    .list-btn li.pattern-03 {
        width: 1.5em;
    }

    .list-btn li.pattern-03 .phone a {
        font-size: clamp(1.375rem, 1.32rem + 0.24vw, 1.5rem);
    }

    .list-btn li.pattern-03 .phone a .tel-text {
        display: none;
    }
    
    .list-skew li {
        margin-top: 1em;
    }

    .list-photo li {
        width: calc((100% - 6px) / 3);
    }

    .list-filtering li {
        min-width: 90px;
        margin: 1%;
    }

    .list-filtering li a {
        font-size: 14px;
    }

    .list-table-wrap {
        border-radius: 1em 0;
    }

    .list-table>dt,
    .list-table>dd {
        padding: 1em;
    }

    .list-table>dt {
        width: 100%;
    }
}

/* ##### ボタン button ##### */
.btn-01 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 200px;
    margin-top: 3em;
    margin-left: auto;
    margin-right: auto;
}

.btn-01 a,
.btn-01 button {
    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;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.8em 3em;
    border: 2px solid black;
    border-radius: 3px;
    position: relative;
}

.btn-01 a::after,
.btn-01 button::after {
    content: "\f105";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: inherit;
    line-height: 1;
    position: absolute;
    top: 0.9em;
    right: 1em;
}

.btn-01 a:hover,
.btn-01 button:hover {
    color: white;
    background-color: black;
    opacity: 1;
}

.btn-01.-white a,
.btn-01.-white button {
    background-color: white;
}

.btn-01.-white a:hover,
.btn-01.-white button:hover {
    color: white;
    background-color: black;
}

.btn-01.-back a::after,
.btn-01.-back button::after {
    content: "\f104";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: inherit;
    line-height: 1;
    left: 1em;
    right: auto;
}

.btn-02 {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    margin-top: 3em;
    margin-left: auto;
    margin-right: auto;
}

.btn-02 a,
.btn-02 button {
    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;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.4em 2em;
    color: white;
    border: 1px solid black;
    border-radius: 2px;
    background-color: black;
}

.btn-02 a:hover,
.btn-02 button:hover {
    color: black;
    background-color: white;
    opacity: 1;
}

.btn-03 {
    width: 100%;
    max-width: 380px;
    margin-top: 1em;
    margin-left: auto;
    margin-right: auto;
}

.btn-03 a,
.btn-03 button {
    display: block;
    padding: 1em 2em;
    font-weight: bold;
    font-size: clamp(0.9rem, 0.74rem + 0.68vw, 1.25rem);
    color: var(--color-default_text);
    text-align: center;
    border: 2px solid var(--color-default_text);
    border-radius: 3px;
    background-color: white;
}

.btn-03 a [class*=icon],
.btn-03 button [class*=icon] {
    margin-right: 0.5em;
}

.btn-03 a:hover,
.btn-03 button:hover {
    color: white;
    background-color: var(--color-default_text);
    opacity: 1;
}

.btn-03.-colored a,
.btn-03.-colored button {
    color: white;
    border: 2px solid var(--color-border_01);
    background-color: var(--color-bgc_01);
}

.btn-03.-colored a:hover,
.btn-03.-colored button:hover {
    color: var(--color-text_01);
    background-color: white;
}

.btn-03.-white a,
.btn-03.-white button {
    color: var(--color-text_01);
    border: 2px solid var(--color-border_01);
    background-color: white;
}

.btn-03.-white a:hover,
.btn-03.-white button:hover {
    color: white;
    background-color: var(--color-bgc_01);
}

.btn-04 {
    width: 100%;
    max-width: 500px;
    margin-top: 5em;
    margin-left: auto;
    margin-right: auto;
}

.btn-04 a,
.btn-04 button {
    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;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.5em 1em;
    font-family: "Roboto Mono", monospace;
    font-weight: bold;
    font-size: clamp(1.5rem, 1.33rem + 0.73vw, 1.875rem);
    color: white;
    border: 3px solid var(--color-border_01);
    border-radius: 1em 0;
    background-color: var(--color-bgc_01);
}

.btn-04 a .main,
.btn-04 button .main {
    font-weight: normal;
    font-size: 50%;
}

.btn-04 a:hover,
.btn-04 button:hover {
    color: var(--color-text_01);
    background-color: white;
    opacity: 1;
}

/* ##### ヘッダー header ##### */
header {
    width: 100%;
    background-color: white;
    position: relative;
    z-index: 30;
}

.header-inner {
    width: 100%;
    max-width: 1200px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    padding: 0.5em;
}

.header-btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.header-btn .list-btn {
    min-width: 400px;
}

.header-btn .list-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-left: 1em;
}

.header-btn .list-sns li a {
    font-size: 2em;
    line-height: 1;
}

@media (max-width: 1024px) {
    header {
        width: 65%;
        height: 100%;
        -webkit-transition: right 0.3s linear;
        transition: right 0.3s linear;
        position: fixed;
        top: 0;
        right: -65%;
    }

    .header-inner {
        height: 100%;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        padding: 1em 0.5em;
    }
}

@media (max-width: 599px) {
    header {
        width: 85%;
        right: -85%;
    }
}

/* ##### ナビ nav ##### */
nav {
    width: 100%;
}

/* ##### フッター footer ##### */
.footer-item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.footer-item .list-sns {
    margin-left: 1em;
}

.footer-item .list-sns li a {
    font-size: 2em;
}

.footer-nav-list {
    -webkit-column-count: 3;
    -moz-column-count: 3;
    column-count: 3;
}

.footer-nav-list li {
    -webkit-column-gap: 0.5em;
    -moz-column-gap: 0.5em;
    column-gap: 0.5em;
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
}

.footer-nav-list li+li {
    margin-top: 1.5em;
}

.totop {
    width: 3em;
    height: 3em;
    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;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-transition: opacity 0.3s linear;
    transition: opacity 0.3s linear;
    position: fixed;
    bottom: 1em;
    right: 1em;
    z-index: 5;
}

.totop::before {
    content: "";
    width: 2.5em;
    height: 1px;
    display: block;
    margin-bottom: 1em;
    margin-left: auto;
    margin-right: auto;
    background-color: black;
}

.totop::after {
    content: "";
    width: 2em;
    height: 2em;
    display: block;
    margin-left: auto;
    margin-right: auto;
    border-top: 1px solid black;
    border-left: 1px solid black;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}

.totop:hover {
    opacity: 0.5;
    cursor: pointer;
}

.copyright {
    padding: 5em 1em;
    font-size: 12px;
    text-align: center;
}

@media (max-width: 1024px) {
    .fix-content {
        width: calc(100% - 6.5em);
        position: fixed;
        bottom: 1.5em;
        right: 5.5em;
        z-index: 20;
    }

    .fix-content li {
        width: calc((100% - 1.2em) / 3);
        margin: 0.2em;
    }

    .totop {
        display: none !important;
    }

    .footer-item {
        width: 48%;
        margin: 1%;
    }

    .footer-item-wrap {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-align: start;
        align-items: flex-start;
        -ms-flex-align: start;
    }

    .copyright {
        padding-bottom: 10em;
    }
}

@media (max-width: 599px) {
    .fix-content {
        width: calc(100% - 4.3em);
        right: 3.7em;
    }

    .footer-item {
        width: 100%;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        margin: 0;
    }

    .footer-nav-list {
        -webkit-column-count: 2;
        -moz-column-count: 2;
        column-count: 2;
    }

    .footer-nav-list li a {
        font-size: 14px;
    }
}

/* ##### メインビジュアル hero section ##### */
.hero-section.-top {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.hero-section.-top .hero-section-box {
    width: 88%;
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    position: relative;
}

.hero-section.-top .hero-section-img,
.hero-section.-top .hero-section-copyright,
.hero-section.-top .hero-section-phone {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.hero-section.-top .hero-section-img {
    overflow: hidden;
    border-radius: 5px;
}

.hero-section.-top .hero-section-img .uk-slideshow li div.uk-flex {
    position: relative;
}

.hero-section.-top .hero-section-img .uk-slideshow li div.uk-flex::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: rgba(0, 0, 0, 0.3);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.hero-section.-top .hero-section-img .uk-slideshow li img {
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.hero-section.-top .hero-section-img .uk-slideshow li.uk-active img {
    -webkit-transition-duration: 5.5s;
    transition-duration: 5.5s;
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
}

.hero-section.-top .hero-section-copyright,
.hero-section.-top .hero-section-phone {
    width: 6%;
    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;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 1em;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.hero-section.-top .hero-section-copyright {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    font-size: 12px;
}

.hero-section.-top .hero-section-phone {
    -webkit-box-ordinal-group: 4;
    -ms-flex-order: 3;
    order: 3;
}

.hero-section.-top .hero-section-phone .phone a {
    display: inline-block;
    padding: 1em 0.5em;
    font-size: clamp(1.125rem, 1.07rem + 0.24vw, 1.25rem);
    border: 1px solid var(--color-default_border);
    border-radius: 3px;
}

.hero-section.-top .hero-section-phone .phone a::before {
    margin-bottom: 0.5em;
}

.hero-section.-top .hero-section-content {
    margin: auto;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 1;
}

.hero-section.-top .hero-section-title {
    font-size: clamp(1.125rem, 0.78rem + 1.45vw, 1.875rem);
    color: white;
    letter-spacing: 0.7em;
    text-align: center;
    text-shadow: var(--shadow-black_03);
}

.hero-section.-lower {
    position: relative;
}

.hero-section.-lower .hero-section-img {
    overflow: hidden;
    border-radius: 0 0 0 10vw;
}

.hero-section.-lower .hero-section-img .img {
    display: block;
    position: relative;
}

.hero-section.-lower .hero-section-img .img::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-image: radial-gradient(#526350 70%, transparent 90%);
    background-size: 5px 5px;
    background-position: 0 0;
    background-color: #fff;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;

    mix-blend-mode: screen;
}

.hero-section.-lower .hero-section-img .img::after {
    content: "";
    display: block;
    padding-top: 25%;
}

.hero-section.-lower .hero-section-img .img img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: 50% 50%;
    object-position: 50% 50%;
    font-family: "object-fit: cover; object-position: 50% 50%;";
    opacity: 0.8;
    position: absolute;
    top: 0;
    left: 0;
}

.hero-section.-lower .hero-section-content {
    margin: auto;
    -webkit-transform: translate(0, -50%);
    transform: translate(0, -50%);
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    z-index: 1;
}

.hero-section.-lower .hero-section-title {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 0.5em;
    font-family: "Roboto Mono", monospace;
    font-size: clamp(3rem, 2.09rem + 3.88vw, 5rem);
    color: white;
    text-shadow: var(--shadow-black_03);
}

.hero-section.-lower .hero-section-title .main {
    line-height: 1.2;
    text-align: right;
}

.hero-section.-lower .hero-section-title .main::first-letter {
    color: var(--color-text_01);
}

.hero-section.-lower .hero-section-title .sub {
    display: inline-block;
    margin-top: 1em;
    margin-left: 2em;
    font-size: initial;
}

@media (max-width: 1024px) {
    .hero-section.-top .hero-section-box {
        width: calc(100% - 120px);
    }

    .hero-section.-top .hero-section-copyright,
    .hero-section.-top .hero-section-phone {
        width: 60px;
    }

    .hero-section.-lower .hero-section-img .img::before {
        background-size: 4px 4px;
    }

    .hero-section.-lower .hero-section-img .img::after {
        padding-top: 40%;
    }
}

@media (max-width: 599px) {
    .hero-section.-top {
        display: block;
        margin-top: 0;
    }

    .hero-section.-top .hero-section-box {
        width: 100%;
    }

    .hero-section.-top .hero-section-img {
        border-radius: 0;
    }

    .hero-section.-top .hero-section-copyright,
    .hero-section.-top .hero-section-phone {
        width: 100%;
        -ms-writing-mode: lr-tb;
        -webkit-writing-mode: horizontal-tb;
        writing-mode: horizontal-tb;
    }

    .hero-section.-top .hero-section-phone .phone a {
        padding: 0.6em 2em 0.4em;
    }

    .hero-section.-lower .hero-section-img .img::after {
        padding-top: 60vh;
    }
}

/* ##### bodyにクラス名が追加された時のcss add-class ##### */
.header-fixed header {
    background-color: rgba(255, 255, 255, 0.8);
    -webkit-box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.2);
    box-shadow: 0px 4px 2px -2px rgba(0, 0, 0, 0.2);
    position: fixed;
    top: 0;
    left: 0;
}

.drawer-active header {
    -webkit-box-shadow: -2px 0px 15px -5px #000;
    box-shadow: -2px 0px 15px -5px #000;
    right: 0;
}

.drawer-active .h1-parent,
.drawer-active main,
.drawer-active footer {
    -webkit-filter: blur(3px);
    filter: blur(3px);
}

@media (max-width: 1024px) {
    .header-fixed header {
        background-color: white;
        -webkit-box-shadow: none;
        box-shadow: none;
        left: auto;
    }
}

/* ##### カスタムコンテンツ custom contents ##### */
.date {
    font-size: 14px;
}

.category span.Mens {
    border: 1px solid var(--color-border_05);
    background-color: var(--color-bgc_05);
}

.category.-pattern-02 span {
    font-size: initial;
}

.list-cc-staff li:nth-child(even) .card-01 .card-content {
    background-color: var(--color-bgc-gray_tran);
}

.list-cc-staff li:nth-child(even) .card-01 .card-content>* {
    text-shadow: var(--shadow-black_03);
}

.list-cc-staff.-ver2 .card-01 .card-img,
.list-cc-staff.-ver2 .card-01 .card-content {
    border-radius: 1em 0;
}

.list-cc-staff.-ver2 .card-01 .card-content .staff-message {
    font-size: 13px;
}

.list-cc-news {
    padding: 1em 0.5em;
    border-bottom: 1px solid black;
}

.list-cc-news dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

.list-cc-news dt .category {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 1em;
}

.list-cc-news dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.list-cc-news dd [class*=title],
.list-cc-news dd [class*=btn] {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.list-cc-news dd [class*=title] {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.list-cc-news dd [class*=btn] {
    margin-left: 1em;
}

.list-cc-recruit li:nth-child(even) .card-08 .card-content {
    background-color: var(--color-bgc_07);
}

.list-cc-recruit li:nth-child(even) .card-08 .card-title {
    color: var(--color-text_05);
}

.list-cc-title-01 a {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.detail-staff-box {
    width: calc(100% - 2em);
    margin-left: auto;
    padding: 2em 2em 4em;
    border-radius: 2em 0;
    background-color: var(--color-bgc_04);
}

.detail-staff-box .detail-staff-upper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.detail-staff-box .detail-staff-upper .detail-staff-img {
    width: 40%;
    overflow: hidden;
    margin-top: -4em;
    margin-left: -4em;
    border-radius: 2em 0;
}

.detail-staff-box .detail-staff-upper .detail-staff-name {
    width: 10%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding: 2em;
    font-weight: bold;
}

.detail-staff-box .detail-staff-upper .detail-staff-name .en {
    font-family: "Roboto Mono", monospace;
    color: var(--color-text_01);
}

.detail-staff-box .detail-staff-upper .detail-staff-name .ja {
    font-size: clamp(1.3rem, 1.15rem + 0.63vw, 1.625rem);
}

.detail-staff-box .detail-staff-middle .detail-staff-shop-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.detail-staff-box .detail-staff-middle .detail-staff-shop-list dt::after {
    content: ">";
    display: inline-block;
    margin: 0 0.5em;
}

.detail-staff-box .detail-staff-middle .detail-staff-shop-list dd {
    font-weight: bold;
    color: var(--color-text_01);
}

.detail-staff-box .detail-staff-bottom .detail-staff-profile {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.detail-staff-box .detail-staff-bottom .detail-staff-profile dt {
    width: 20%;
    font-weight: bold;
}

.detail-staff-box .detail-staff-bottom .detail-staff-profile dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    padding-left: 1em;
}

.detail-staff-box .detail-staff-message .message-box {
    padding: 3em 2em;
    border: 1px solid var(--color-border_01);
    border-radius: 1.5em;
}

.detail-staff-box .detail-staff-message .message-box-title {
    margin-bottom: 0.5em;
    font-weight: bold;
    font-size: clamp(1.35rem, 1.28rem + 0.29vw, 1.5rem);
    color: var(--color-text_01);
}

.detail-style-img {
    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;
}

.detail-style-img .img {
    overflow: hidden;
    border-radius: 1em;
}

.detail-style-img .image-main {
    width: calc(80% - 1em);
}

.detail-style-img .image-thumb {
    width: 20%;
}

.detail-style-img .image-thumb li+li {
    margin-top: 0.5em;
}

.detail-style-img .image-thumb li.active-img .img {
    outline: 4px solid var(--color-border_01);
}

.detail-style-box2 {
    -webkit-column-count: 2;
    -moz-column-count: 2;
    column-count: 2;
    -webkit-column-gap: 2em;
    -moz-column-gap: 2em;
    column-gap: 2em;
}

.detail-style-list {
    -webkit-column-break-inside: avoid;
    -moz-column-break-inside: avoid;
    break-inside: avoid;
}

.detail-style-list+.detail-style-list {
    margin-top: 4em;
}

.detail-style-list dt {
    margin-bottom: 0.5em;
    padding: 0.25em 0.5em;
    font-weight: bold;
    font-size: 110%;
    position: relative;
}

.detail-style-list dt .title-inner {
    position: relative;
    z-index: 2;
}

.detail-style-list dt::before {
    content: "";
    width: 3em;
    height: 3em;
    background: -webkit-gradient(linear, left top, right bottom, color-stop(50%, var(--color-bgc_03)), color-stop(50%, transparent));
    background: linear-gradient(to bottom right, var(--color-bgc_03) 50%, transparent 50%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.detail-style-list dd {
    padding-left: 1em;
}

.detail-style-stylist {
    padding: 1em;
    border: 1px solid var(--color-border_01);
    border-radius: 2em 0;
}

.detail-style-stylist-wrap {
    width: 80%;
    margin-left: auto;
}

.detail-style-stylist .img {
    overflow: hidden;
    border-radius: 2em 0;
}

.detail-style-stylist [class*="btn"] a {
    border-radius: 0 0 1em 0;
}

@media (max-width: 1024px) {
    .detail-style-stylist-wrap {
        width: 90%;
    }

    .order-change-tb {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .order-change-tb .parallel {
        display: contents;
    }

    .order-change-tb .block-content {
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
    }

    .order-change-tb .block-side {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .order-change-tb .recommend {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .order-change-tb [class*=btn] {
        -webkit-box-ordinal-group: 5;
        -ms-flex-order: 4;
        order: 4;
    }
}

@media (max-width: 599px) {
    .list-cc-news dd {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .list-cc-news dd [class*=title] {
        width: 100%;
        font-weight: bold;
    }

    .list-cc-news dd [class*=btn] {
        margin-top: 1em;
        margin-left: auto;
        margin-right: 0;
    }

    .list-cc-staff.-ver2 .card-01 {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    .list-cc-staff.-ver2 .card-01 .card-img {
        width: 40%;
    }

    .list-cc-staff.-ver2 .card-01 .card-img {
        margin-bottom: 0.5em;
    }

    .list-cc-staff.-ver2 .card-01 .card-content {
        width: 65%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
        margin-top: 5%;
        margin-left: -5%;
    }

    .detail-staff-box {
        width: calc(100% - 1em);
        padding: 1em 1em 3em;
    }

    .detail-staff-box .detail-staff-upper .detail-staff-img {
        width: calc(90% + 3em);
        margin-left: -2em;
    }

    .detail-staff-box .detail-staff-upper .detail-staff-name {
        width: 100%;
        margin-top: 1em;
        padding: 0;
    }

    .detail-staff-box .detail-staff-bottom .detail-staff-profile dt {
        width: 100%;
    }

    .detail-staff-box .detail-staff-message .message-box {
        padding: 2em 1.5em;
        border-radius: 1em;
    }

    .detail-style-img .img {
        border-radius: 0.5em;
    }

    .detail-style-img .image-main {
        width: calc(80% - 0.5em);
    }

    .detail-style-box2 {
        -webkit-column-count: unset;
        -moz-column-count: unset;
        column-count: unset;
    }

    .detail-style-list+.detail-style-list {
        margin-top: 2em;
    }

    .detail-style-stylist-wrap {
        width: 100%;
    }
}

/* ##### お問い合わせ メールフォーム form ##### */
.form {
    padding: 2em;
    border-radius: 3em 0;
    background-color: white;
}

@media (max-width: 599px) {
    .form {
        padding: 2em 1em;
    }
}

/* ##### 見たまま編集画面 edit page ##### */
[data-element-id] header {
    margin-top: 30px;
}

[data-element-id] .uk-slideshow>li {
    opacity: 1;
}

[data-element-id] [data-ab-test-contents] {
    padding: 1.5em 0.2em 0.2em;
    border: 2px solid #8b008b;
    position: relative;
}

[data-element-id] [data-ab-test-contents]::before {
    content: "Aパターン";
    width: 100%;
    display: block;
    padding: 0.5em 0.2em;
    font-size: 10px;
    color: white;
    line-height: 1.2;
    text-align: center;
    background-color: #8b008b;
    position: absolute;
    top: 0;
    left: 0;
}

[data-element-id] [data-ab-test-contents]+[data-ab-test-contents] {
    border: 2px solid #556b2f;
}

[data-element-id] [data-ab-test-contents]+[data-ab-test-contents]::before {
    content: "Bパターン";
    background-color: #556b2f;
}

[data-element-id] .abtest-parent>div>div {
    opacity: 1;
}

[data-element-id] .abtest-parent>div>div:nth-of-type(n+2) {
    display: block;
}

[data-element-id] *::before,
[data-element-id] *::after {
    pointer-events: none;
}

[data-element-id] .bg-content {
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    min-width: 500px;
    height: auto;
    margin-left: auto;
    margin-right: auto;
}

[data-element-id] .only-mobile,
[data-element-id] .only-sp {
    display: block;
    padding: 2em 1em 1em;
    border: 2px solid blue;
    position: relative;
}

[data-element-id] .only-mobile::before,
[data-element-id] .only-sp::before {
    content: "モバイルのみ表示";
    width: 100%;
    display: block;
    padding: 0.5em;
    font-size: 10px;
    color: white;
    line-height: 1.2;
    text-align: center;
    background-color: blue;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id] .edit-landmark {
    padding: 2em 1em 1em;
    outline: 2px solid silver;
    position: relative;
}

[data-element-id] .edit-landmark::before {
    content: "要素のコピー、複製、削除、移動はここをダブルクリック";
    width: 100%;
    display: block;
    padding: 1em 0.5em;
    font-size: 10px;
    color: white;
    line-height: 1.2;
    text-align: center;
    background-color: silver;
    position: absolute;
    top: 0;
    left: 0;
}

[data-element-id] .nav-list {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
}

[data-element-id] .nav-list li {
    margin: 5px;
}

[data-element-id] .dropdown-menu {
    overflow: visible;
    padding: 2em 1em 1em;
    border: 2px solid blue;
    position: relative;
}

[data-element-id] .dropdown-menu::before {
    content: "ドロップダウン";
    width: 100%;
    display: block;
    padding: 0.5em;
    font-size: 10px;
    color: white;
    line-height: 1.2;
    text-align: center;
    background-color: blue;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

[data-element-id] .dropdown-menu .dropdown-box {
    visibility: visible;
    opacity: 1;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    position: static;
}

.abtest-parent>div>div[data-ab-test-contents] {
    opacity: 1;
}

.abtest-parent>div>div[data-ab-test-contents]:nth-of-type(n+2) {
    display: block;
}

[data-element-id] .slider-01 div[data-collection-list-content] {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    overflow-x: scroll;
    -webkit-overflow-scrolling: touch;
}

[data-element-id] .slider-01 div[data-collection-list-content] .slider-item {
    width: 20%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin: 1%;
}

[data-element-id] .list-filtering [data-collection-filtered-content] {
    width: 10%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -ms-flex-positive: 1;
    flex-grow: 1;
}
