@charset "utf-8";
/* CSS Document */

/* # root2 START # */
:root {
    --color01: #0abab5;
    --color02: #d8f2f0;
    --color03: #dff8f6;
    --color04: #f4a99e;
    --image-url02: url('/import/tenant_1/162.43.50.10/S02/images/ea6b13f8255eb99411dce3014645798a_blue.webp') no-repeat;
    --image-url03: url('/import/tenant_1/162.43.50.10/S02/images/deco2_blue.webp') no-repeat;
    --image-url04: url('/import/tenant_1/162.43.50.10/S02/images/wave1_blue.webp');
    --image-url05: url('/import/tenant_1/162.43.50.10/S02/images/deco5_blue.webp') left top 5px no-repeat;
    --image-url06: url('/import/tenant_1/162.43.50.10/S02/images/deco4_blue.webp') no-repeat;
    --image-url07: url('/import/tenant_1/162.43.50.10/S02/images/deco6_blue.webp') no-repeat;
    --image-url08: url('/import/tenant_1/162.43.50.10/S02/images/deco7_blue.webp') no-repeat;
    --image-url09: url('/import/tenant_1/162.43.50.10/S02/images/deco8_blue.webp') no-repeat;
    --image-url10: url('/import/tenant_1/162.43.50.10/S02/images/subimg-deco1-blue.webp') no-repeat;
    --image-url11: url('/import/tenant_1/162.43.50.10/S02/images/subimg-deco2-blue.webp') no-repeat;
    --image-url12: url('/import/tenant_1/162.43.50.10/S02/images/deco1_blue.webp') no-repeat;
    --image-url13: url('/import/tenant_1/162.43.50.10/S02/images/ordermade-bg-blue.webp') no-repeat;
}
/* # root2 END # */

/* # root1 START # */
/* :root {
    --color01: #bf6f94;
    --color02: #ffded9;
    --color03: #ffefed;
    --color04: #f4a99e;
    --image-url01: url("../images-tec-bg.webp")no-repeat;
    --image-url02: url('/import/tenant_1/162.43.50.10/S02/images/ea6b13f8255eb99411dce3014645798a.webp') no-repeat;
    --image-url03: url('/import/tenant_1/162.43.50.10/S02/images/deco2.webp') no-repeat;
    --image-url04: url('/import/tenant_1/162.43.50.10/S02/images/wave1.webp');
    --image-url05: url('/import/tenant_1/162.43.50.10/S02/images/deco5.webp') left top 5px no-repeat;
    --image-url06: url('/import/tenant_1/162.43.50.10/S02/images/deco4.webp') no-repeat;
    --image-url07: url('/import/tenant_1/162.43.50.10/S02/images/deco6.webp') no-repeat;
    --image-url08: url('/import/tenant_1/162.43.50.10/S02/images/deco7.webp') no-repeat;
    --image-url09: url('/import/tenant_1/162.43.50.10/S02/images/deco8.webp') no-repeat;
    --image-url10: url('/import/tenant_1/162.43.50.10/S02/images/subimg-deco1.webp') no-repeat;
    --image-url11: url('/import/tenant_1/162.43.50.10/S02/images/subimg-deco2.webp') no-repeat;
    --image-url12: url('/import/tenant_1/162.43.50.10/S02/images/deco1.webp') no-repeat;
    --image-url13: url('/import/tenant_1/162.43.50.10/S02/images/ordermade-bg.webp') no-repeat;
} */
/* # root1 END # */

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
button,
p {
    margin: 0px;
    padding: 0px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    font-family: "游明朝", "YuMincho", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝", "Sawarabi Mincho", serif;
    font-size: 18px;
    color: #524229;

    /*font-family:"游ゴシック",YuGothic,Hiragino Sans,"ヒラギノ角ゴ ProN W3","Hiragino Kaku Gothic Pro",Hiragino Kaku Gothic ProN,"メイリオ",Meiryo,'ＭＳ Ｐゴシック',sans-serif;*/
    /*font-family: 'メイリオ', Meiryo, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', sans-serif;*/
    /*font-family: "ヒラギノ丸ゴ Pro W4", "ヒラギノ丸ゴ Pro", "Hiragino Maru Gothic Pro", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "HG丸ゴシックM-PRO", "HGMaruGothicMPRO";*/
    line-height: 160%;
    word-wrap: break-word;
    overflow-wrap: break-word;
}

@media(max-width:599px) {
body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
form,
input,
button,
p {
    font-size: 16px;
}    
}

#wrapper {
    min-width: 320px;
    overflow: hidden;
}

.section-py-xsmall {
    padding: 0 0;
}

.section-py-small {
    padding: 40px 0;
}

.section-py-medium {
    padding: 80px 0;
}

.section-py-medium.-pt0 {
    padding-top: 0;
}

@media(max-width:599px) {
    .section-py-medium {
        padding: 50px 0;
    }

    .section-py-small {
        padding: 20px 0;
    }
}

h2 {
    font-weight: normal;
    font-size: 38px;
}

h3 {
    margin-bottom: 50px;
    font-weight: normal;
    font-size: 30px;
}

h4 {
    margin-bottom: 30px;
    font-weight: normal;
    font-size: 24px;
}

h5 {
    margin-bottom: 20px;
    font-weight: normal;
    font-size: 20px;
}

.bold {
    font-weight: bold;
}

.red {
    color: red;
}

.blue {
    color: blue;
}

.white {
    color: #fff;
}

/*クリアフィックス*/

.clearfix:after {
    content: "";
    display: block;
    clear: both;
}

.clearfix:before {
    content: "";
    display: block;
    clear: both;
}

.clearfix {
    display: block;
}

.clear {
    clear: both;
}

.map {
    overflow: hidden;
    position: relative;
    height: 100%;
    padding-top: 0;
}

.map:after {
    content: "";
    display: block;
}

.map iframe {
    width: 100%;
    max-width: initial;
    height: 100%;
    margin: auto;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
}

iframe {
    max-width: 100%;
}

.ellipsis {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

img {
    max-width: 100% !important;
    height: auto !important;
    vertical-align: top;
    border: none;
}

img:not([src*="."]) {
    display: none;
}

.scale {
    -webkit-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.scale:hover {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

[data-element-id] .filter:before,
[data-element-id] .filterT:before,
[data-element-id] .filterR:before,
[data-element-id] .filterB:before,
[data-element-id] .filterL:before,
[data-element-id] .filterRad:before {
    display: none;
}

.filter,
.filterT,
.filterR,
.filterB,
.filterL,
.filterRad {
    position: relative;
}

.filter:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: rgba(255, 255, 255, 0.6);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}

.filterT:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: -webkit-gradient(linear, left bottom, left top, from(rgba(255, 255, 255, 1)), color-stop(50%, rgba(255, 255, 255, 0)));
    background: linear-gradient(to top, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}

.filterR:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 1)), color-stop(50%, rgba(255, 255, 255, 0)));
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}

.filterB:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: -webkit-gradient(linear, left top, left bottom, from(rgba(255, 255, 255, 1)), color-stop(50%, rgba(255, 255, 255, 0)));
    background: linear-gradient(to bottom, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}

.filterL:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: -webkit-gradient(linear, right top, left top, from(rgba(255, 255, 255, 1)), color-stop(50%, rgba(255, 255, 255, 0)));
    background: linear-gradient(to left, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 50%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}

.filterRad:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background: radial-gradient(ellipse at center, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 80%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 5;
}

.pic {
    width: 100%;
    text-align: center;
}

.pic img {
    width: 100%;
}

.bkimg {
    width: 100%;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: 0;
    left: 50%;
}

[data-element-id] .fead-toleft {
    opacity: 1;
}

.fead-toleft {
    opacity: 0;
    -webkit-transition: 0.8s;
    transition: 0.8s;
    -webkit-transform: translateX(10px);
    transform: translateX(10px);
}

.fead-toleft.mv {
    opacity: 1;
    -webkit-transform: translateX(0px);
    transform: translateX(0px);
}

a {
    color: #524229;
    text-decoration: none;
}

.more {
    width: 80%;
    max-width: 300px;
    margin: 50px auto 0 auto;
    text-align: center;
}

.more a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px 20px;
    color: #fff;
    background: #524229;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    position: relative;
}

.more a:hover {
    text-shadow: 0 0 10px rgba(255, 255, 255, 1), 0 0 50px rgba(255, 255, 255, 0.8), 0 0 75px rgba(255, 255, 255, 0.6), 0 0 76px rgba(255, 255, 255, 0.4), 0 0 77px rgba(255, 255, 255, 0.5), 0 0 78px rgba(255, 255, 255, 0.4), 0 0 79px rgba(255, 255, 255, 0.3), 0 0 80px rgba(255, 255, 255, 0.2), 0 0 85px rgba(255, 255, 255, 0.1);
    opacity: 1;
}

.more a:before {
    content: "";
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: solid 1px #fff;
    position: absolute;
    top: 5px;
    left: 5px;
}

.more a:after {
    content: "\f101";
    display: block;
    margin-left: 10px;
    margin-right: -10px;
    font-family: fontawesome;
    font-size: 14px;
}

.more.back a {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.more.back a:after {
    content: "\f100";
    margin-left: 0;
    margin-right: 10px;
}

@media (max-width: 1024px) {
    h2 {
        font-size: 32px;
    }

    h3 {
        margin-bottom: 40px;
        font-size: 28px;
    }

    h4 {
        font-size: 22px;
    }

    .more {
        margin: 40px auto 0 auto;
    }
}

@media (max-width: 599px) {
    h2 {
        font-size: 30px;
    }

    h3 {
        margin-bottom: 20px;
        font-size: 24px;
    }

    h4 {
        margin-bottom: 20px;
        font-size: 20px;
    }

    h5 {
        margin-bottom: 20px;
        font-size: 18px;
    }

    .more {
        margin: 30px auto 0 auto;
    }

    .calc {
        width: 100% !important;
    }

    dt.calc {
        margin-bottom: 10px;
    }
}

/*header*/

#header {
    position: relative;
    z-index: 151;
}

#header .headerin {
    max-width: 1100px;
    margin: auto;
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}

#header .headerin .logo {
    max-width: 280px;
}

#header .headerin .logo a {
    display: block;
    width: 100%;
    height: 100%;
}

#header .headerin .info {
    width: calc(100% - 290px);
}

#header .headerin .info dt {
    text-align: right;
}

#header .headerin .info dd {
    text-align: right;
}

@media (max-width: 1024px) {
    #header .headerin .logo {
        max-width: 250px;
    }

    #header .headerin .info {
        margin-right: 30px;
    }

    #header .headerin .info dd {
        font-size: 14px;
    }
}

@media (max-width: 599px) {
    #header .headerin .logo {
        max-width: 220px;
        margin: auto;
    }

    #header .headerin .info {
        display: none;
    }
}

/* ハンバーガー */

@media (max-width: 1024px) {
    #gnav .toggle {
        width: 42px;
        height: 42px;
        display: block !important;
        background: var(--color01);
        opacity: 0.8;
        cursor: pointer;
        position: fixed !important;
        top: 0px;
        right: 0px;
        z-index: 251;
    }

    #gnav .toggle .bar {
        width: 28px;
        height: 2px;
        display: block;
        margin-top: -1px;
        padding: 0;
        text-indent: 9999px;
        background: #fff;
        -webkit-transition: ease 0.40s;
        transition: ease 0.40s;
        position: absolute;
        top: 50%;
        left: 7px;
    }

    #gnav .toggle .bar:before {
        content: "";
        width: 28px;
        height: 2px;
        display: block;
        background: #fff;
        position: absolute;
        top: -10px;
        left: 0;
    }

    #gnav .toggle .bar:after {
        content: "";
        width: 28px;
        height: 2px;
        display: block;
        background: #fff;
        position: absolute;
        top: 10px;
        left: 0;
    }

    #gnav.action .toggle .bar {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    #gnav.action .toggle .bar:after,
    #gnav.action .toggle .bar:before {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        top: 0;
        left: 0;
    }

    #gnav .accordion-body {
        width: 90%;
        max-width: 500px;
        height: 100vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: #ffded9;
        -webkit-transition: 0.4s;
        transition: 0.4s;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
        position: fixed !important;
        top: 0;
        right: -100%;
        z-index: 250;
    }

    #gnav.action .accordion-body {
        right: 0;
    }

    #gnav .accordion-inner {
        width: 100%;
        padding: 60px 15px 150px 15px;
    }

    body:after {
        content: "";
        display: block;
        -webkit-transition: 0.4s;
        transition: 0.4s;
    }

    .overlay {
        overflow: hidden;
    }

    .action .overlay:after {
        content: "";
        width: 100%;
        height: 100vh;
        background: #000;
        opacity: 0.3;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 150;
    }
}

[data-element-id] h1 {
    top: 5px;
}

/*gnav*/

#gnav {
    background: var(--color02);
}

#gnav ul {
    max-width: 1100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: auto;
    text-align: center;
}

#gnav li {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin: 0 10px;
    padding: 10px 0;
}

#gnav li.gnavlogo {
    display: none;
}

#gnav li a,
#gnav li .a {
    display: block;
    text-align: center;
    cursor: pointer;
}

#gnav li a span,
#gnav li .a span {
    display: block;
}

#gnav li a span.en,
#gnav li .a span.en {
    color: var(--color01);
}

[data-element-id] #gnav.fixed {
    position: static;
}

#gnav.fixed {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 200;
}



/*dropdown*/

[data-element-id] #gnav .dropdown {
    overflow: visible;
}

[data-element-id] #gnav .dropdown .dropin {
    opacity: 1;
    -webkit-transform: none;
    transform: none;
    position: static;
}

#gnav .dropdown {
    overflow: hidden;
    position: relative;
}

#gnav .dropdown:hover {
    overflow: visible;
}

#gnav .dropin {
    width: 320px;
    display: block;
    background: var(--color03);
    opacity: 0;
    -webkit-transition: 0.4s;
    transition: 0.4s;
    -webkit-transform: translateX(-50%);
    transform: translateX(-50%);
    position: absolute;
    top: 100%;
    left: 50%;
    z-index: 15;
}

#gnav .dropdown:hover .dropin {
    opacity: 1;
}

#gnav .dropin li {
    margin: 0;
    padding: 0;
}

#gnav .dropin a {
    padding: 10px;
    font-size: 14px;
    border-bottom: solid 1px #999;
}

@media (max-width: 1024px) {
    #gnav {
        padding: 0;
    }

    #gnav ul {
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    #gnav li {
        width: 100%;
        margin: 0;
        padding: 0;
        border-bottom: solid 1px #999;
        opacity: 1;
    }

    #gnav li a,
    #gnav li .a {
        padding: 10px 0;
        text-align: left;
    }

    #gnav li.gnavlogo {
        display: block;
    }

    #gnav li.gnavlogo img {
        width: 220px;
        display: block;
        margin: 0 auto 20px;
    }

    #gnav .dropdown {
        overflow: visible;
    }

    #gnav .dropin {
        width: 100%;
        border-top: solid 1px #999;
        background: no-repeat;
        opacity: 1;
        -webkit-transform: none;
        transform: none;
        position: static;
    }

    #gnav .dropin li:last-of-type {
        border-bottom: none;
    }

    #gnav .dropin a {
        padding-left: 20px;
        border-bottom: none;
    }
}



/*footer*/

[data-element-id] .footfix {
    position: relative;
    top: auto;
    width: 250px;
}

.footfix {
    width: 110px;
    display: none;
    position: fixed;
    top: 200px;
    right: 0;
    z-index: 100;
}

.footfix li {
    width: 100%;
    margin: 10px 0;
    cursor: pointer;
}

.footfix li a {
    display: block;
    padding: 5px 10px 2px;
    font-size: 14px;
    color: #fff;
    text-align: center;
    background: rgba(82, 66, 41, 0.8);
    position: relative;
    cursor: pointer;
}

.footfix li a .active-box {
    position: absolute;
    top: 100%;
    right: 0;
    z-index: 2;
    background: #8f8474;
    color: #fff;
    padding: 10px;
    width: 220px;
    text-align: center;
    opacity: 0;
    visibility: hidden;
    -webkit-transition: .5s;
    transition: .5s;
    -webkit-transform: translateX(100%);
    transform: translateX(100%);
}

.footfix li a .active-box.active {
    opacity: 1;
    visibility: visible;
    -webkit-transform: translateX(0%);
    transform: translateX(0%);
}

.footfix li img {
    max-width: 35px !important;
    display: block;
    margin: 0 auto 2px;
}

#footer {
    background: #524229;
}

#footer .left .logo {
    margin-bottom: 20px;
    max-width: 300px;
}

#footer .left .logo a {
    display: block;
    width: 100%;
    height: 100%;
}

#footer .left .txt {
    margin-bottom: 10px;

    color: #fff;
}

#footer .left .tel {
    margin-bottom: 20px;
}

#footer .left .tel a {
    color: #fff;
}

#footer .footnav {
    margin-bottom: 20px;
}

#footer .footnav li {
    width: 31.333%;
    margin: 1%;
    padding-left: 20px;
    text-indent: -20px;
}

#footer .footnav li a {
    color: #fff;
    font-size: 14px;
}

#footer .footnav li a:before {
    content: "";
    width: 10px;
    height: 2px;
    display: inline-block;
    vertical-align: middle;
    margin-top: -6px;
    margin-right: 10px;
    background: var(--color01);
}

#footer .footbtn1 li {
    max-width: 280px;
}

#footer .footbtn1 li:not(:last-of-type) {
    margin-bottom: 10px;
}

#footer .footbtn1 li a {
    display: block;
    padding: 10px;
    color: #fff;
    text-align: center;
    background: var(--color01);
}

#footer .footbtn1 li.car a {
    background: var(--color01);
}

#footer .footbtn1 li.car img {
    width: 20px;
    vertical-align: middle;
    margin-top: -5px;
    margin-right: 10px;
}

#footer .footbtn1 li.ofi a {
    background: #57b3c0;
}

#footer .footbtn1 li.ofi img {
    display: block;
    margin: auto;
}

#footer .footbtn2 li {
    width: 48%;
}

#footer .footbtn2 li a {
    display: block;
    padding: 10px;
    text-align: center;
    background: #fff;
}

#footer .footbtn2 li img {
    vertical-align: middle;
    margin-top: -6px;
    margin-right: 10px;
}

#footer .footbtn2 li.reserve a {
    border: solid 5px #e3d3b5;
}

#footer .footbtn2 li.lineatt a {
    border: solid 5px #00b900;
}

#footer .footbottom {
    background: var(--color02);
}

#footer .footbottom .footin {
    max-width: 1000px;
    margin: auto;
    padding: 20px;
}

#footer .footin .sns {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
}

#footer .footin .sns a {
    width: 30px;
    height: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    font-size: 20px;
    color: #fff;
    background: #524229;
}

#footer .footin .sns li:not(:last-of-type) {
    margin-right: 10px;
    padding-right: 10px;
    border-right: solid 2px;
}

#footer .footin .sns li.comment{
    color: red;
    font-size: 14px;
    font-weight: bold;
    align-self: end;
}

#footer .footin .sns li.beforecomment {
    border-right: none;
}

#footer .footin .copy {
    font-size: 14px;
    text-align: right;
}

.foot-upper-logo {
    max-width: 300px;
}

@media (max-width: 1024px) {
    #footer {
        padding-bottom: 60px;
    }

    #footer .footnav li {
        width: 48%;
    }

    #footer .footin .sns {
        width: 100%;
        margin-bottom: 20px;
    }

    #footer .footin .copy {
        width: 100%;
        text-align: center;
    }

    .footfix {
        width: 100%;
        top: auto;
        bottom: 0;
    }

    .footfix li {
        width: 25%;
        margin: 0;
    }

    .footfix li:not(:last-of-type) {
        border-right: solid 1px #fff;
    }

    .footfix li a {
        font-size: 12px;
    }

    .footfix li img {
        max-width: 25px !important;
    }

    .footfix li a .active-box {
        display: none;
        -webkit-transform: none;
        transform: none;
    }
}

@media (max-width: 599px) {
    #footer .footnav li a {
        font-size: 14px;
    }
}

/* A-BiSUスライダー */
.mainimg {
    position: relative;
}

.mainimg .uk-slidenav-position {
    height: 100%;
}

.mainimg .uk-slideshow {
    height: 100% !important;
    max-height: 770px;
    overflow: hidden;
    position: relative;
}

.mainimg .uk-slideshow::after {
    content: "";
    display: block;
    padding-top: 70%;
}

.mainimg .uk-slideshow li {
    width: 100%;
    height: 100% !important;
    position: absolute;
    top: 0;
}

.mainimg .uk-slideshow li>div {
    height: 100% !important;
}

.mainimg .uk-slideshow img {
    width: 100%;
    height: 100% !important;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center center;
    object-position: center center;
    font-family: "object-fit: cover; object-position: center center;";
}

.mainimg .catch {
    width: 50%;
    text-align: center;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    z-index: 5;
}

.mainimg .catch .txt {
    margin-bottom: 10px;
    color: var(--color01);
    font-style: italic;
}

.mainimg .catch .texteach * {
    opacity: 0;
}

.mainimg .catch .name {
    font-size: 60px;
    letter-spacing: 3px;
}

.mainimg .pic {
    width: 50%;
    margin-left: auto;
    position: relative;
}

.mainimg .pic::before {
    content: "";
    width: 30%;
    height: 100%;
    display: block;
    background: -webkit-gradient(linear, left top, right top, from(rgba(255, 255, 255, 1)), to(rgba(255, 255, 255, 0)));
    background: linear-gradient(to right, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

@media (max-width: 1024px) {
    .mainimg .catch .name {
        font-size: 46px;
    }
}

@media (max-width: 599px) {
    .mainimg .catch {
        width: 90%;
        padding: 10px;
        background: rgba(255, 255, 255, 0.6);
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        left: 50%;
    }

    .mainimg .catch .name {
        font-size: 36px;
    }

    .mainimg .catch .txt {
        font-size: 14px;
    }

    .mainimg .pic {
        width: 100%;
    }
}



/*top*/

.top-info .box {
    max-width: 700px;
    margin: auto;
    list-style-type: none;
}

.top-info li {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: solid 1px #f4e5e3;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.top-info li a {
    width: 100%;
    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;
}

.top-info .date {
    width: 10em;
    flex-shrink: 0;
}

.top-info .tit {
    width: calc(100% - 10em);
}

.top-tec .left .more {
    margin-left: 0;
}

.top-tec .right {
    margin-top: 50px;
    position: relative;
}

.top-tec .right .label1 {
    width: 100px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute !important;
    top: 0;
    left: 0;
    z-index: 1;
}

.top-tec .right .label2 {
    width: 200px;
    position: absolute !important;
    bottom: 10px;
    right: 20px;
    z-index: 1;
}

.top-tec .right .pic {
    position: relative;
}

.top-tec .right .pic:before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    border: solid 1px var(--color01);
    pointer-events: none;
    position: absolute;
    top: 10px;
    left: -10px;
    z-index: 1;
}

.achievelist .item h4 {
    margin-bottom: 0;
    padding: 5px 10px;
    -webkit-box-sizing: content-box;
    box-sizing: content-box;
    font-size: 20px;
    text-align: center;
    background: #fbf5e9;
}

.achievelist .item .picbox {
    position: relative;
}

.achievelist .item .picbox:before {
    content: "";
    width: 0;
    height: 0;
    display: block;
    border-top: solid 15px transparent;
    border-bottom: solid 15px transparent;
    border-left: solid 15px #524229;
    -webkit-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 1;
}

.achievelist .item .left {
    width: 49%;
}

.achievelist .item .left .label {
    padding: 5px 10px;
    color: #fff;
    text-align: center;
    background: #524229;
}

.achievelist .item .right {
    width: 49%;
}

.achievelist .item .right .label {
    padding: 5px 10px;
    color: #fff;
    text-align: center;
    background: var(--color01);
}

.top-voice .item .pic {
    margin-bottom: 15px;
    border-radius: 100%;
}

.top-voice .item .txt {
    width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 20px;
    color: var(--color01);
    white-space: inherit;

    -webkit-line-clamp: 2;
}

.top-between {
    overflow: hidden;
}

.top-between .left {
    width: 50%;
}

.top-between .right {
    width: 55%;
    max-width: 800px;
    margin-left: -5%;
    margin-right: auto;
    padding: 2%;
    background: #fff;
    position: relative;
}

.top-between .right:before {
    content: "";
    width: 1000%;
    height: 100%;
    display: block;
    background: #fff;
    position: absolute;
    top: 0;
    left: 100%;
}

.top-menu {
    position: relative;
}

.top-menu .item {
    padding-bottom: 70px;
    position: relative;
}

.top-menu .item .picbox {
    margin-bottom: 15px;
    position: relative;
}

.top-menu .item .picbox .pic {
    width: 85%;
}

.top-menu .item .picbox .tit {
    margin: 0;
    font-size: 20px;
    line-height: 1.6;
    text-align: center;
    position: absolute;
    bottom: 5px;
    right: 0;
    width: 10em;
    background-color: rgba(255,255,255,0.8);
    font-weight: bold;
}

.top-menu .item .more {
    width: 100%;
    max-width: none;
    margin: 0;
    position: absolute;
    bottom: 0;
    left: 0;
}

.top-bnr .box {
    max-width: 800px;
    margin: auto;
    padding: 10px;
    border: solid 2px #fbf5e9;
    position: relative;
}

.top-bnr .left {
    position: relative;
    z-index: 5;
    width: 50%;
}

.top-bnr .right {
    width: 50%;
}

.top-bnr .right .pic {
    width: 70%;
    height: calc(100% - 20px);
    position: absolute;
    top: 10px;
    right: 10px;
}

.top-access .left .map:after {
    padding-top: 100%;
}

.top-access .right .item {
    margin-bottom: 20px;
}

.top-access .right .item dt {
    width: 120px;
}

.top-access .right .item dd {
    width: calc(100% - 130px);
}

@media (max-width: 1024px) {
    .top-between .right {
        width: 50%;
        margin: 0;
        padding: 20px;
    }
}

@media (max-width: 599px) {
    .top-tec .left .more {
        margin-left: auto;
    }

    .top-tec .right {
        margin-top: 0;
    }

    .top-voice .item .pic {
        margin: 0 auto 15px;
    }

    .top-voice .item+.item {
        margin-top: 30px;
    }

    .top-between .left {
        width: 100%;
    }

    .top-between .right {
        width: 100%;
    }

    .top-bnr .left {
        width: 75%;
    }

    .top-bnr .right {
        width: 25%;
    }

    .top-bnr .left h3 {
        text-shadow: 1px 1px 10px #fff, 1px 1px 10px #fff, 1px 1px 10px #fff;
    }

    .top-bnr .left .txt {
        text-shadow: 1px 1px 10px #fff, 1px 1px 10px #fff, 1px 1px 10px #fff;
    }

    .top-bnr .right .pic {
        width: 100%;
        height: 100%;
        opacity: 0.8;
        top: 0px;
        right: 0px;
    }

    .top-info .date,
    .top-info .tit {
        width: 100%;
    }

    .top-menu .item .more {
        width: 80%;
        margin: 30px auto 0;
        position: relative;
    }
}



/*hxx*/

.heading1 {
    text-align: center;
}

.heading1 .sub {
    display: block;
    font-size: 18px;
    color: var(--color01);
    line-height: 1.4;
}

.heading1:before {
    content: "";
    width: 190px;
    height: 24px;
    display: block;
    margin: 0 auto 10px;
    background: var(--image-url02);
    background-size: contain;
}

.heading2 {
    padding-bottom: 10px;
    padding-left: 50px;
    color: var(--color01);
    font-style: italic;
    border-bottom: solid 2px var(--color01);
    background: var(--image-url03);
    background-size: 40px;
}

.heading3 {
    padding: 5px;
    color: #fff;
    text-align: center;
    background: var(--color01);
    position: relative;
}

.heading3:after {
    content: "";
    width: 0;
    height: 0;
    display: block;
    margin-left: -15px;
    border-top: solid 15px var(--color01);
    border-left: solid 15px transparent;
    border-right: solid 15px transparent;
    position: absolute;
    top: 100%;
    left: 50%;
}

.heading4 {
    text-align: center;
}

.heading4:after {
    content: "";
    width: 190px;
    height: 24px;
    display: block;
    margin: 10px auto 0;
    background: var(--image-url06);
    background-size: contain;
}

.heading5 {
    padding-bottom: 10px;
    padding-left: 40px;
    color: var(--color01);
    border-bottom: solid 2px var(--color01);
    background: var(--image-url05);
}

.heading6 {
    color: var(--color01);
    text-align: center;
}

.heading6:after {
    content: "";
    width: 220px;
    height: 10px;
    display: block;
    margin: 10px auto 0;
    background: var(--image-url09);
    background-size: contain;
}



/*background-color*/

.bg1 {
    background: #fbf5e9;
}

.bg2 {
    background: var(--color02);
}

.bg3 {
    background: var(--image-url13);
    background-size: cover;
}



/*wave*/

.wave1 {
    position: relative;
}

.wave1:after {
    content: "";
    width: 100%;
    height: 40px;
    display: block;
    background: var(--image-url04);
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
    position: absolute;
    bottom: 0;
}

.wave2 {
    position: relative;
}

.wave2:after {
    content: "";
    width: 100%;
    height: 40px;
    display: block;
    background: url('/import/tenant_1/162.43.50.10/S02/images/wave2.webp');
    -webkit-transform: translateY(50%);
    transform: translateY(50%);
    position: absolute;
    bottom: 0;
}



/*attention*/

.attention {
    margin: 30px 0;
    text-align: center;
}

.attention2 {
    margin: 30px 0;
}

@media(max-width:599px) {
    .attention {
        text-align: left;
    }
}



/*countnum*/

.countnum {
    counter-increment: num;
}

.countnum.ver02 {
    position: relative;
}

.countnum .num {
    position: relative;
}

.countnum .num {
    width: 50px;
    display: block;
    font-size: 26px;
    color: #fff;
    font-style: italic;
    line-height: 50px;
    text-align: center;
    border-radius: 100%;
    background: var(--color01);
    -webkit-transform: translateY(-40%);
    transform: translateY(-40%);
    position: absolute !important;
    top: 0;
    left: 0;
    z-index: 2;
}

.flowlist .item .pic {
    margin-bottom: 10px;
    position: relative;
}

.flowlist .item .pic::before {
    content: "";
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    display: block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: solid 1px #fff;
    position: absolute;
    top: 10px;
    left: 10px;
    z-index: 1;
}

.flowlist .item .tit {
    margin-bottom: 10px;
    font-size: 20px;
    text-align: center;
}



/*subimg*/

.subimg {
    max-width: none;
    background: #fafafa;
    position: relative;
}

.subimg:before {
    content: "";
    width: 250px;
    height: 233px;
    display: block;
    background: var(--image-url10);
    background-size: contain;
    opacity: 0.6;
    position: absolute !important;
    top: 0;
    left: 0;
    z-index: 1;
}

.subimg:after {
    content: "";
    width: 250px;
    height: 233px;
    display: block;
    background: var(--image-url11);
    background-size: contain;
    opacity: 0.6;
    position: absolute !important;
    bottom: 0;
    right: 0;
    z-index: 1;
}

.subimg .ttl {
    width: 50%;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: calc(50% - 500px);
    z-index: 5;
}

.subimg .ttl span {
    display: block;
}

.subimg .ttl .ja {
    font-size: 18px;
    color: var(--color01);
    line-height: 1.6;
}

.subimg .ttl .en {
    font-size: 44px;
    letter-spacing: 5px;
}

.subimg .pic {
    width: 50%;
    margin-left: auto;
    position: relative;
}

.subimg .pic:before {
    content: "";
    display: block;
    padding-top: 60%;
    position: relative;
    z-index: -1;
}

.subimg .pic:after {
    content: "";
    width: 40%;
    height: 100%;
    display: block;
    background: -webkit-gradient(linear, left top, right top, from(rgba(250, 250, 250, 1)), to(rgba(250, 250, 250, 0)));
    background: linear-gradient(to right, rgba(250, 250, 250, 1) 0%, rgba(250, 250, 250, 0) 100%);
    position: absolute;
    top: 0;
    left: 0;
}

.subimg .pic img {
    width: 100%;
    height: 100%;
    -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%;";
    position: absolute;
    top: 0;
    left: 0;
}

@media (max-width: 1024px) {
    .subimg .ttl {
        left: 5%;
    }

    .subimg:before {
        width: 150px;
        height: 140px;
    }

    .subimg:after {
        width: 150px;
        height: 140px;
    }

    .subimg .pic:before {
        padding-top: 60%;
    }
}

@media (max-width: 599px) {
    .subimg {
        -webkit-box-shadow: inset 20px 20px 40px #fff, inset -20px -20px 40px #fff;
        box-shadow: inset 20px 20px 40px #fff, inset -20px -20px 40px #fff;
    }

    .subimg .ttl {
        width: 90%;
        text-shadow: 2px 2px 20px #fff, 2px 2px 20px #fff, 2px 2px 20px #fff;
        -webkit-transform: none;
        transform: none;
        top: auto;
        bottom: 5%;
    }

    .subimg .ttl .en {
        font-size: 34px;
    }

    .subimg .pic {
        width: 100%;
    }

    .subimg .pic:before {
        padding-top: 50%;
    }

    .subimg .pic:after {
        width: 100%;
        background: rgba(255, 255, 255, 0.4);
    }
}



/*breadcrumb*/

.breadcrumb li {
    display: inline;
    vertical-align: middle;
    color: var(--color01);
}

.breadcrumb li a:after {
    content: "→";
    display: inline-block;
    margin: 0 10px;
}



/*pagelink*/

.pagelink li {
    width: 18%;
    max-width: 31.333%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin: 1%;
}

.pagelink li a {
    display: block;
    padding: 10px;
    color: #fff;
    text-align: center;
    background: #524229;
}

@media (max-width: 1024px) {
    .pagelink li {
        width: 31.333%;
    }
}

@media (max-width: 599px) {
    .pagelink li {
        width: 48%;
        max-width: 100%;
    }

    .pagelink li a {
        padding: 10px 5px;
        font-size: 14px;
    }
}



/*pagenav*/

.pagenav {
    margin: 8% 0;
}

.pagenav ul {
    text-align: center;
}

.pagenav li {
    display: inline-block;
    vertical-align: middle;
    margin: 5px;
    font-size: 20px;
}

.pagenav li a {
    display: block;
    padding: 5px;
}

.pagenav li.active {
    padding: 0px 10px;
    color: #fff;
    background: var(--color01);
}

.pagenav li img {
    display: block;
}



/*cuscon*/

.cusconmain {
    width: calc(100% - 250px);
}

.side {
    width: 200px;
}

.side dl {
    width: 100%;
}

.side dl:not(:last-of-type) {
    margin-bottom: 30px;
}

.side dt {
    margin-bottom: 20px;
    font-size: 28px;
    text-align: center;
}

.side dt .sub {
    display: block;
    padding: 0 50px;
    font-size: 16px;
    color: var(--color01);
    line-height: 1.6;
    background: url('/import/tenant_1/162.43.50.10/S02/images/deco10.webp') left center no-repeat, url('/import/tenant_1/162.43.50.10/S02/images/deco11.webp') right center no-repeat;
    background-size: 40px;
}

.side dd {
    margin-bottom: 15px;
    padding-bottom: 15px;
    text-align: center;
    border-bottom: solid 1px #ebe1ce;
}

@media (max-width: 1024px) {
    .cusconmain {
        width: 100%;
    }

    .side {
        width: 100%;
        margin-top: 8%;
    }

    .side dl {
        width: 48%;
    }
}

@media (max-width: 599px) {
    .side dl {
        width: 100%;
    }
}



/*beginning*/

.beginning1 {
    position: relative;
}

.beginning1 .inner {
    position: relative;
    z-index: 5;
}

.beginning1 .bk {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
}

.beginning1 .bk:after {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    position: absolute;
    top: 0;
    left: 0;
}

.beginning1 h3 {
    color: #fff;
}

.beginning1 h3:before {
    background: url('/import/tenant_1/162.43.50.10/S02/images/deco3.webp') no-repeat;
    background-size: contain;
}

.beginning1 h3 .sub {
    color: #fff;
}

.beginning1 .txt {
    color: #fff;
}

.beginning2 {
    position: relative;
}

.beginning2 .box {
    margin: 5% 0;
}

.beginning2 .ttl {
    min-height: 50px;
    margin-bottom: 20px;
    padding-top: 10px;
    padding-left: 70px;
    font-size: 20px;
    position: relative;
}

.beginning2 .ttl .num {
    -webkit-transform: translateY(0%);
    transform: translateY(0%);
}

.beginning3 li {
    position: relative;
}

/* .beginning3 li:before {
    display: block;
    content: "";
    width: 0;
    height: 0;
    border-left: solid 10px var(--color01);
    border-top: solid 10px transparent;
    border-bottom: solid 10px transparent;
    position: absolute;
    top: 50%;
    left: 105%;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    z-index: 1;
} */

.beginning3 li:before {
    content: "";
    width: 0;
    height: 0;
    display: block;
    border-top: solid 10px transparent;
    border-bottom: solid 10px transparent;
    border-left: solid 10px var(--color01);
    -webkit-transform: translateY(-50%);
    transform: translate(-50%, 50%);
    position: absolute;
    top: 34%;
    right: -10px;
    z-index: 1;
}

.beginning3 li:nth-of-type(3n):before {
    display: none;
}

.salon .beginning3 li:nth-of-type(3n):before {
    display: block;
}

.salon .beginning3 li:nth-of-type(2n):before {
    display: none;
}

.beginning3 li:last-of-type:before {
    display: none;
}

@media (max-width: 599px) {
    .beginning3 li:before {
        display: none !important;
    }
}



/*price*/

.pricelist .box {
    max-width: 800px;
    margin: auto;
}

.pricelist .item {
    margin-bottom: 20px;
    padding-bottom: 20px;
    border-bottom: solid 1px #ebe1ce;
}

.pricelist .item dt {
    width: calc(100% - 160px);
}

.pricelist .item dt .mini {
    display: block;
    font-size: 14px;
    color: #84827f;
}

.pricelist .item dd {
    width: 160px;
    color: var(--color01);
    text-align: right;
}



/*technology*/

.tech1 {
    position: relative;
}

.tech1 h3 {
    margin-bottom: 0;
    padding: 10px calc(50% - 350px);
    font-size: 22px;
    color: #fff;
    text-align: center;
    background: var(--color01);
    position: relative;
}

.tech1 h3:before {
    content: "";
    width: 120px;
    height: 40px;
    display: block;
    background: var(--image-url07);
    background-size: contain;
    position: absolute;
    bottom: 0;
    left: calc(50% - 500px);
}

.tech1 h3:after {
    content: "";
    width: 120px;
    height: 40px;
    display: block;
    background: var(--image-url08);
    background-size: contain;
    position: absolute;
    bottom: 0;
    right: calc(50% - 500px);
}

.tech1 .left {
    width: 250px;
}

.tech1 .right {
    width: calc(100% - 260px);
}

.tech1 .right .checklist {
    margin: 20px 0;
}

.tech1 .right .checklist li {
    width: 48%;
    margin: 1%;
    padding-left: 20px;
    color: var(--color01);
    position: relative;
}

.tech1 .right .checklist li:before {
    content: "";
    width: 10px;
    height: 2px;
    display: inline-block;
    margin-right: 10px;
    background: var(--color01);
    position: absolute;
    top: 10px;
    left: 0;
}

.tech1 .right .txt {
    margin: 20px 0;
}

.tech3 .box1 {
    margin: 5% 0;
}

.tech3 .box2 .sb-ttl {
    margin-right: -20px;
    padding-right: 40px;
    position: relative;
}

.tech3 .box2 .left .txt {
    padding: 0 20px;
}

.box2 .item+.item {
    margin-top: 20px;
}

@media (max-width: 1024px) {
    .tech1 h3 {
        padding: 10px 150px;
    }

    .tech1 h3:before {
        left: 0;
    }

    .tech1 h3:after {
        right: 0;
    }
}

@media (max-width: 599px) {
    .tech1 h3 {
        padding: 10px 20px;
    }

    .tech1 h3:before {
        display: none;
    }

    .tech1 h3:after {
        display: none;
    }

    .tech1 .right {
        width: 100%;
    }

    .tech1 .right .checklist li {
        width: 100%;
    }

    .tech1 .left {
        margin: auto;
        width: 100%;
    }

    .tech3 .box2 .sb-ttl {
        margin-right: 0;
        padding-right: 0;
    }

    .tech3 .box2 .left .txt {
        padding: 0;
    }
}



/*ordermade*/

.order4 {
    background: var(--image-url13);
    background-size: cover;
}

.order4 .inner {
    padding-bottom: 0;
}

.order4 .box .pic {
    width: 120px;
}

.order4 .box .txt {
    width: calc(100% - 240px);
    padding: 0 30px;
    text-align: center;
}

@media (max-width: 599px) {
    .order4 .box .pic {
        width: 42%;
        max-width: 100px;
        margin: 4% 4% 0;
    }

    .order4 .box .pic1 {
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }

    .order4 .box .pic2 {
        -webkit-box-ordinal-group: 4;
        -ms-flex-order: 3;
        order: 3;
    }

    .order4 .box .txt {
        width: 100%;
        -webkit-box-ordinal-group: 2;
        -ms-flex-order: 1;
        order: 1;
        padding: 0;
    }
}



/*asthenopia*/

.asthenopia5 .box .more {
    margin-left: 0;
}

@media (max-width: 599px) {
    .asthenopia5 .box .more {
        margin-left: auto;
    }
}



/*voice*/

.voicelist .item {
    margin: 5% 0;
    padding: 5%;
    background: url('/import/tenant_1/162.43.50.10/S02/images/voice-deco1.webp') top left no-repeat, url('/import/tenant_1/162.43.50.10/S02/images/voice-deco2.webp') bottom right no-repeat;
    background-color: #fbf5e9;
}

.voicelist .left .picbox {
    position: relative;
}

.voicelist .left .picbox .pic:hover {
    cursor: pointer;
}

.voicelist .left .picbox:not(:last-of-type) {
    margin-bottom: 10px;
}

.voicelist .left .picbox .label {
    padding: 5px 20px;
    color: #fff;
    background: #524229;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.voicelist .left .picbox .label.after {
    background: var(--color01);
}

.voicelist .right .tit {
    margin-bottom: 15px;
    padding-bottom: 15px;
    font-size: 20px;
    color: var(--color01);
    border-bottom: solid 2px var(--color01);
}

.voicelist .right .info dl {
    margin: 15px 0;
}

.voicelist .right .info dt {
    width: 130px;
}

.voicelist .right .info dd {
    width: calc(100% - 140px);
}

@media (max-width: 599px) {
    .voicelist .item {
        background-size: 60px;
    }
}



/*voice_detail*/

.voicedetail {
    background: url('/import/tenant_1/162.43.50.10/S02/images/voice-deco1.webp') top left no-repeat, url('/import/tenant_1/162.43.50.10/S02/images/voice-deco2.webp') bottom right no-repeat;
    background-color: #fbf5e9;
}

.voicedetail .item {
    margin: 0;
    padding: 0;
    background: none;
}

.voicedetail .right .txt {
    margin-top: 30px;
}

.voicedetail .left .picbox:not(:last-of-type):before {
    content: "";
    width: 0;
    height: 0;
    display: block;
    margin-left: -20px;
    border-top: solid 20px #524229;
    border-left: solid 20px transparent;
    border-right: solid 20px transparent;
    position: absolute !important;
    bottom: -15px;
    left: 50%;
    z-index: 1;
}

@media (max-width: 599px) {
    .voicedetail {
        background-size: 60px;
    }

    .voicedetail .item .itemin {
        -webkit-box-orient: vertical;
        -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
        flex-direction: column-reverse;
    }
}



/*product*/

.productlist .item .pic {
    margin-bottom: 15px;
}

.productlist .item .pic img {
    display: block;
    margin: auto;
}

.productlist .item .tit {
    margin-bottom: 15px;
    font-size: 20px;
}

.productlist .item dl {
    margin: 15px 0;
}

.productlist .item dt {
    color: #84827f;
    text-align: right;
}

.productlist .item dd {
    color: var(--color01);
    text-align: right;
}

.productlist .item .txt {
    color: #84827f;
}



/*recruit*/

.recruit1 .pic {
    margin-bottom: 20px;
}

.recruit2 .item:before {
    content: url('/import/tenant_1/162.43.50.10/S02/images/deco9.webp');
    display: block;
    margin-bottom: 10px;
    text-align: center;
}

.recruit2 .item dt {
    margin-bottom: 15px;
    font-size: 20px;
    text-align: center;
}

.recruit3 .box h4 {
    margin-right: -20px;
    padding-right: 40px;
    position: relative;
    z-index: 1;
}

.recruit3 .box h4 .sub {
    display: block;
    font-size: 16px;
    line-height: 1.4;
}

.recruit4 h4 {
    text-align: center;
}

.recruit5 .box {
    max-width: 800px;
    margin: auto;
}

.recruit5 .item {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: solid 1px #ebe1ce;
}

.recruit5 .item dt {
    width: 120px;
}

.recruit5 .item dd {
    width: calc(100% - 130px);
}

@media (max-width: 599px) {
    .recruit3 .box h4 {
        margin-right: 0;
        padding-right: 0;
    }
}



/*faq*/

.faqlist .box {
    max-width: 800px;
    margin: auto;
}

.faqlist .item:not(:last-of-type) {
    margin-bottom: 30px;
}

.faqlist .item dt {
    margin-bottom: 15px;
    padding-bottom: 15px;
    padding-left: 40px;
    font-size: 20px;
    color: var(--color01);
    border-bottom: solid 2px var(--color01);
    position: relative;
}

.faqlist .item dt:before {
    content: "Q";
    display: inline-block;
    font-size: 30px;
    position: absolute;
    top: 0;
    left: 0;
}



/*salon*/

.salon1 .left dl {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: solid 1px #ebe1ce;
}

.salon1 .left dl dt {
    width: 90px;
}

.salon1 .left dl dd {
    width: calc(100% - 100px);
}

.salon2 .map {
    margin-bottom: 20px;
}

.salon3 .item .pic {
    margin-bottom: 10px;
}



/*contact*/

.form dl {
    margin-bottom: 30px;
}

.form dt {
    width: 220px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.form dt .hissu {
    margin-left: 5px;
    padding: 5px 10px;
    color: #fff;
    background: var(--color01);
    flex-shrink: 0;
}

.form dd {
    width: calc(100% - 240px);
}

.form dd ul li {
    max-width: 47%;
    display: inline-block;
    vertical-align: top;
    margin: 0 1%;
}

.form dd ul li>* {
    display: inline-block;
    vertical-align: middle;
    line-height: 1;
}

.form dd input[type="text"] {
    width: 100%;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: solid 1px var(--color02);
    border-radius: 0;

    -webkit-appearance: none;
}

.form dd input.p-postal-code {
    width: 50% !important;
}

.form dd .uk-text-danger{
  width: 100%;
}

.form dd textarea {
    width: 100%;
    height: 150px;
    padding: 5px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: solid 1px var(--color02);
    border-radius: 0;

    -webkit-appearance: none;
}

.form input[type="radio"] {
    margin-right: 5px;
    font-size: 14px;
}

.form dd.radiobtn label {
    display: inline-block;
    margin: 0.5em 0;
    padding: 0 10px 0 30px;
    position: relative;
}

.form dd.radiobtn label::before {
    content: "";
    width: 20px;
    height: 20px;
    display: block;
    border: 2px solid #dcdcdc;
    border-radius: 3px;
    background-color: white;
    position: absolute;
    top: 0.2em;
    left: 0;
}

.form dd.radiobtn label:hover {
    text-decoration: underline;
    cursor: pointer;
}

.form dd.radiobtn input {
    display: none;
}

.form dd.radiobtn input:checked+label {
    text-decoration: underline;
}

.form dd.radiobtn input:checked+label::after {
    content: "\f00c";
    width: 0;
    height: 0;
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: 24px;
    line-height: 1;
    background-color: transparent;
    position: absolute;
    top: 0;
    left: 2px;
}

.form dd.radiobtn input+label {
    margin-right: 15px;
}

.formbtn {
    margin-top: 5%;
}

.formbtn .more {
    width: 48%;
    margin: 1%;
}

.formbtn .more button {
    width: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 10px 20px;
    color: #fff;
    border: none;
    background: var(--color01);
    cursor: pointer;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    position: relative;
}

.formbtn .more button:hover {
    text-shadow: 0 0 10px rgba(255, 255, 255, 1), 0 0 50px rgba(255, 255, 255, 0.8), 0 0 75px rgba(255, 255, 255, 0.6), 0 0 76px rgba(255, 255, 255, 0.4), 0 0 77px rgba(255, 255, 255, 0.5), 0 0 78px rgba(255, 255, 255, 0.4), 0 0 79px rgba(255, 255, 255, 0.3), 0 0 80px rgba(255, 255, 255, 0.2), 0 0 85px rgba(255, 255, 255, 0.1);
    opacity: 1;
}

.formbtn .more button:before {
    content: "";
    width: calc(100% - 10px);
    height: calc(100% - 10px);
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    border: solid 1px #fff;
    position: absolute;
    top: 5px;
    left: 5px;
}

.formbtn .more button:after {
    content: "\f101";
    display: block;
    margin-left: 10px;
    margin-right: -10px;
    font-family: fontawesome;
    font-size: 14px;
}

.formbtn .more.back button {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.formbtn .more.back button:after {
    content: "\f100";
    margin-left: 0;
    margin-right: 10px;
}

@media (max-width: 599px) {
    .form dd.radiobtn {
        padding: 0.5em 0;
        width: 100%;
    }
}

/*blog*/

.bloglist .item .pic {
    margin-bottom: 10px;
}

.bloglist .item .tit {
    width: 100%;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    overflow: hidden;
    font-size: 18px;
    color: var(--color01);
    white-space: inherit;

    -webkit-line-clamp: 2;
}

.blogdetail h3 {
    margin-bottom: 15px;
    padding-bottom: 15px;
    color: var(--color01);
    border-bottom: solid 2px var(--color01);
}

.blogdetail .txt {
    margin: 20px 0;
}

.blogdetail .txt img {
    width: 100%;
    max-width: 500px !important;
    display: block;
    margin: auto;
}

.blogdetail dl {
    margin: 20px 0;
    padding-bottom: 20px;
    border-bottom: solid 2px var(--color01);
}

.blogdetail dd {
    color: var(--color01);
}

.recommend {
    margin-top: 8%;
}

.recommend .box .item:nth-of-type(4) {
    display: none;
}

@media(max-width:599px) {
    .recommend .box .item:nth-of-type(4) {
        display: block;
    }
}


/*4/28追記  */



.beginning1 h3.heading1:before {
    background: var(--image-url12);
    background-size: contain;
}

/*   .beginning1 h3.heading1{
 color: #fff;
} 


.beginning1 h3.heading1 .sub {
 color: #fff;
}


.beginning1 .bk{
 background-color: #000;
} 



.beginning1 .bk img{
width: 100%;
 background: #000;
 opacity: .9;
}


.brown div{
 color: #fff !important;
}  
 */

/* 下記要望通りの色 */

.brown div {
    color: #524229 !important;
}

.beginning1 h3.heading1 .sub {
    color: var(--color01);
}

.beginning1 .bk img {
    width: 100%;
    background: #000;
    opacity: 0.3;
}


.beginning1 .txt {
    text-shadow: none !important;
}

.beginning1 h3.heading1 {
    color: #524229;
    text-shadow: none;
}


/* 2021/07/16 */

.logo h1 {
    width: 136%;
    margin-bottom: 9px;
    font-size: 13px;
}

#header .headerin .info01 {
    margin-top: 10px;
    margin-bottom: 10px;
}

#header .headerin .info01 dt {
    text-align: right;
}

.logo h1 {
    width: 153%;
    margin-bottom: 9px;
    font-size: 13px;
}

@media (max-width: 1024px) {
    .logo h1 {
        width: 153%;
        margin-bottom: 9px;
        font-size: 13px;
    }

    #header .headerin .info01 {
        margin-top: 25px;
        margin-right: 0px;
    }
}


@media (max-width: 599px) {
    #header .headerin .info01 {
        display: none;
    }

    .logo h1 {
        width: 83%;
        margin-bottom: 9px;
        font-size: 12px;
    }
}

.heading {
    max-width: 1100px;
    margin: 10px auto 0;
    padding-left: 19px;
}

.heading h1 {
    font-weight: normal;
    font-size: 13px;
}

@media (max-width: 1024px) {
    .heading h1 {
        padding-right: 45px;
    }
}

@media (max-width: 599px) {
    .heading h1 {
        font-size: 12px;
    }
}


/* 2022.02.26 */

.metaject01 {
    margin-bottom: 20px;
}

.metaject02 {
    font-weight: bold;
    font-size: 17px;
}

.metaject03 {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 1em;
}

.metaject04 {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

@media (max-width: 1024px) {
    .metaject03 {
        width: 100%;
        margin-bottom: 10px;
        text-align: right;
        margin-left: 0;
    }

    .metaject04 {
        margin-bottom: 0 !important;
    }

    .metaject01 {
        margin-bottom: 25px;
    }
}

/* 04/19 追記 */
@media (max-width: 599px) {
    #station-access .item:nth-of-type(3n):before {
        display: none !important;
    }
}

#station-access .item .txt {
    text-align: center;
}

/* 05/20 追記 */

.r {
    display: inline-block;
}

@media (max-width: 599px) {
    .r {
        display: block;
    }
}

/* 05/24 追記 */

.link-list2 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-column-count: auto;
    -moz-column-count: auto;
    column-count: auto;
    -webkit-column-gap: 15px;
    -moz-column-gap: 15px;
    column-gap: 15px;
}


/* 07/15 追記 */

.ta-r {
    text-align: right;
}

/* 07/20 追記 */


.top-access .right .item dt {
    width: 120px;
    font-weight: bold;
    font-size: 18px;
}

.sp-only {
    display: block;
}

@media (max-width: 599px) {
    .sp-only {
        display: inline-block;
    }

    .achievelist .item .picbox:before {
        content: "";
        width: 0;
        height: 0;
        display: block;
        border-top: solid 15px transparent;
        border-bottom: solid 15px transparent;
        border-left: solid 15px #524229;
        -webkit-transform: translate(-50%, -50%);
        transform: translate(-50%, -50%);
        position: absolute;
        top: 50%;
        left: 50.6%;
        z-index: 1;
    }

    .achievelist .item .right {
        width: 48%;
    }

    .achievelist .item .left {
        width: 48%;
    }

    .achievelist .item+.item {
        margin-top: 30px;
    }

    #topmenu .item:not(:last-of-type) {
        margin-bottom: 30px;
    }
}

/* 0906 追記 */

.top-index .benner-area {
    width: 50%;
    max-width: 700px;
    margin: auto;
    padding-top: 50px;
    background-color: #fff;
    position: relative;
}

.top-index .benner-area .b-txt,
.price {
    padding: 0px 20px;
    font-size: 28px;
    color: var(--color01);
}


.top-index .benner-area img {
    width: 100%;
}

.top-index .bg1.pb50 {
    padding-bottom: 60px;
}

.top-index .tac {
    text-align: center;
}

.top-index .benner-area .asirai-txt {
    font-size: 130%;
    color: #5cb9da;
    letter-spacing: 1px;
    -webkit-transform: rotate(-10deg) translate(-75%, -75%);
    transform: rotate(-10deg) translate(-75%, -75%);
    position: absolute !important;
    top: -10px;
    left: 160px;
}

.top-index .pos-r {
    position: relative;
}

.top-index .mb25 {
    margin-bottom: 25px;
}

.top-index .price span {
    padding: 5px;
    font-family: fangsong;
    font-weight: bold;
    font-size: 50px;
    letter-spacing: -0.03em;
}

.top-index .price {
    margin-bottom: 20px;
}

.top-index .price span.smal-txt {
    font-size: 32px;
    text-decoration: line-through;
}

.top-index .menu-txt {
    margin-bottom: 25px;
    margin-left: auto;
    margin-right: auto;
    font-size: 28px;
    color: #998f86;
}

.top-index .smal-txt {
    text-decoration: line-through;
}

.top-index .price span {
    padding: 5px;
    font-family: fangsong;
    font-weight: bold;
    font-size: 50px;
    letter-spacing: -0.03em;
    text-decoration: underline;
}

.top-index .price span.price-mark {
    font-family: inherit;
    font-size: 18px;
    text-decoration: none;
}





.top-index .benner-area::before,
.top-index .benner-area::after {
    content: "";
    width: 70px;
    height: 25px;
    background-color: #fbf5e9;
    -webkit-transform: rotate(-35deg);
    transform: rotate(-35deg);
    position: absolute;
    z-index: 1;
}

.top-index .benner-area::before {
    border-bottom: 1px solid #aaa;
    top: -5px;
    left: -25px;
}

.top-index .benner-area::after {
    border-top: 1px solid #aaa;
    bottom: -5px;
    right: -25px;
}


@media (max-width: 1024px) {
    .top-index .bg1.pb50 {
        padding-bottom: 50px;
    }


    .top-index .benner-area {
        width: 60%;
    }

    .top-index .benner-area .asirai-txt {
        top: -10px;
        left: 110px;
    }

    .top-index .mb25 {
        margin-bottom: 15px;
    }
}

@media (max-width: 599px) {
    .top-index .bg1.pb50 {
        overflow: hidden;
        padding-bottom: 40px;
    }


    .top-index .benner-area {
        width: 97%;
    }

    .top-index .menu-txt {
        font-size: 22px;
    }

    .top-index .benner-area .b-txt,
    .price {
        padding: 0px 10px;
        font-size: 22px;
    }

    .top-index .price span {
        padding: 5px;
        font-family: fangsong;
        font-weight: bold;
        font-size: 40px;
        letter-spacing: -0.03em;
        text-decoration: underline;
    }

    .top-index .price span.smal-txt {
        font-size: 28px;
    }
}


.top-index .campaign-h {
    font-size: 42px !important;
}

@media (max-width: 1024px) {
    .top-index .campaign-h {
        font-size: 38px !important;
    }

    .top-index .benner-area .asirai-txt {
        top: -15px;
        left: 110px;
    }
}

@media (max-width: 599px) {
    .top-index .campaign-h {
        font-size: 32px !important;
    }

    .top-index .benner-area .asirai-txt {
        top: -17px;
        left: 90px;
    }

    .top-index .benner-area .asirai-txt {
        font-size: 110% !important;
    }
}

.top-index .caption-txt {
    margin-bottom: 10px;
    font-size: 14px;
    text-align: center;
}

.detail-content-text h2 {
    margin-top: 50px;
    margin-bottom: 20px;
    padding: 0.5em;
    font-weight: bold;
    font-size: 22px;
    letter-spacing: 2px;
    border-bottom: 3px solid var(--color01);
}

.detail-content-text h3 {
    margin-top: 50px;
    margin-bottom: 20px;
    padding: 0.5em 1em;
    font-weight: bold;
    font-size: 20px;
    color: #fff;
    letter-spacing: 2px;
    background: var(--color01);
}

.detail-content-text h4 {
    margin-top: 50px;
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 18px;
    color: var(--color01);
    letter-spacing: 2px;
}

.detail-content-text ol {
    counter-reset: count 0;
}

.detail-content-text ol li {
    margin: 10px 0;
    padding-left: 20px;
    font-size: 16px;
    color: #000;
    position: relative;
}

.detail-content-text ol li::before {
    content: counter(count) ". ";
    display: inline-block;
    counter-increment: count 1;
    color: var(--color01);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.detail-content-text ul li {
    margin: 10px 0;
    padding-left: 20px;
    font-size: 16px;
    color: #000;
    position: relative;
}

.detail-content-text ul li::before {
    content: "";
    width: 15px;
    height: 15px;
    display: inline-block;
    border-radius: 50%;
    background: var(--color01);
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    position: absolute;
    top: 50%;
    left: 0;
}

.detail-content-text ol li marker {
    display: none;
}

.detail-content-text iframe[src*="youtube"] {
    height: 100%;
    margin-top: 30px;

    aspect-ratio: 16 / 9;
}

.layout-list01 .item {
    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: 30px 20px;
    border-top: 2px solid var(--color01);
}

.layout-list01 .item.up-d-none {
    display: none;
}

.layout-list01 .item:last-of-type {
    border-bottom: 2px solid var(--color01);
}

.layout-list01 .box a {
    display: block;
    padding: 30px;
    border: 2px solid var(--color01);
}

.layout-list01 dt {
    width: 200px;
    font-weight: bold;
    color: var(--color01);
    line-height: 1.8;
}

.layout-list01 dd {
    width: calc(100% - 200px);
    padding-left: 20px;
    line-height: 1.8;
}

.layout-list01 dl dd dl {
    padding: 10px 0;
    border-bottom: 2px solid var(--color01);
}

.layout-list01 dl dd dl:last-child {
    border-bottom: none;
}

@media (max-width: 599px) {
    .layout-list01 .item {
        padding: 10px 10px;
    }

    .layout-list01 dt,
    .layout-list01 dd {
        width: 100%;
    }

    .layout-list01 dd {
        font-size: 13px;
    }
}

.inner-rec-list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0.5em;
}

.inner-rec-list dt,
.inner-rec-list dd {
    margin: 0;
    padding: 0;
}

.inner-rec-list dt {
    width: 100%;
    max-width: 145px;
    padding-right: 1em;
    font-weight: bold;
    position: relative;
}

.inner-rec-list dt::after {
    content: "：";
    display: inline-block;
    position: absolute;
    top: 0;
    right: 0;
}

.inner-rec-list dd {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

@media (max-width: 1024px) {
    .inner-rec-list dt {
        width: 35%;
    }
}

@media (max-width: 599px) {

    .inner-rec-list dt,
    .inner-rec-list dd {
        width: 100%;
    }

    .inner-rec-list dt::after {
        display: none;
    }

    .inner-rec-list dd {
        margin-top: 0.5em;
        padding-left: 1em;
        font-size: 90%;
    }
}

/* ハンバーガー */

@media (max-width: 1024px) {
    #gnav .toggle .bar {
        width: 28px;
        height: 2px;
        display: block;
        margin-top: -1px;
        padding: 0;
        text-indent: 9999px;
        background: #fff;
        -webkit-transition: ease 0.40s;
        transition: ease 0.40s;
        position: absolute;
        top: 50%;
        left: 7px;
    }

    #gnav .toggle .bar:before {
        content: "";
        width: 28px;
        height: 2px;
        display: block;
        background: #fff;
        position: absolute;
        top: -10px;
        left: 0;
    }

    #gnav .toggle .bar:after {
        content: "";
        width: 28px;
        height: 2px;
        display: block;
        background: #fff;
        position: absolute;
        top: 10px;
        left: 0;
    }

    #gnav.action .toggle .bar {
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
    }

    #gnav.action .toggle .bar:after,
    #gnav.action .toggle .bar:before {
        -webkit-transform: rotate(90deg);
        transform: rotate(90deg);
        top: 0;
        left: 0;
    }

    #gnav .accordion-body {
        width: 90%;
        max-width: 500px;
        height: 100vh;
        overflow-y: auto;
        -webkit-overflow-scrolling: touch;
        background: var(--color02);
        -webkit-transition: 0.4s;
        transition: 0.4s;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
        position: fixed !important;
        top: 0;
        right: -100%;
        z-index: 250;
    }

    #gnav.action .accordion-body {
        right: 0;
    }

    #gnav .accordion-inner {
        width: 100%;
        padding: 60px 15px 150px 15px;
    }

    body:after {
        content: "";
        display: block;
        -webkit-transition: 0.4s;
        transition: 0.4s;
    }

    /* .action .overlay:after {
        content: "";
        width: 100%;
        height: 100vh;
        background: #000;
        opacity: 0.3;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 150;
    } */
}

.beforeafter-box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.beforeafter-box .item {
    width: calc((100% - 40px)/2);
    position: relative;
}

.beforeafter-box .item .deco {
    position: absolute;
    bottom: 0;
    left: 0;
    background-color: #524229;
    color: #fff;
    padding: 5px 10px;
    min-width: 5em;
    text-align: center;
}

.beforeafter-box .item.-after .deco {
    background-color: var(--color01);
}

.beforeafter-box .item+.item::before {
    content: "";
    -webkit-clip-path: polygon(0 0, 0% 100%, 100% 51%);
    clip-path: polygon(0 0, 0% 100%, 100% 51%);
    background-color: var(--color01);
    width: 18px;
    height: 40px;
    display: block;
    position: absolute;
    top: 50%;
    left: -27px;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
}

@media(max-width:599px) {
    .beforeafter-box .item {
        width: calc((100% - 30px)/2);
    }

    .beforeafter-box .item+.item::before {
        width: 13px;
        height: 30px;
        left: -20px;
    }
}

/* 表示・非表示 */
[data-element-id] .show {
    display: block;
    border: solid 2px #008000;
    position: relative;
}

[data-element-id] .show:after {
    content: "PC用";
    display: block;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    background: #008000;
}

[data-element-id] .show\@tb {
    display: block;
    border: solid 2px #008000;
    position: relative;
}

[data-element-id] .show\@tb:after {
    content: "モバイル用";
    display: block;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    background: #008000;
}

[data-element-id] .show\@sp {
    display: block;
    border: solid 2px #008000;
    position: relative;
}

[data-element-id] .show\@sp:after {
    content: "モバイル用";
    display: block;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    background: #008000;
}

[data-element-id] .up-d-none {
    display: block;
    border: solid 4px black;
    position: relative;
}

[data-element-id] .up-d-none:after {
    content: "モバイル用";
    display: block;
    padding: 5px;
    font-weight: 700;
    font-size: 12px;
    color: #fff;
    text-align: center;
    background: black;
}

[data-element-id] .up-sp-text {
    width: 100%;
    max-width: 375px;
    margin: auto;
}

[data-element-id] #gnav ul.accordion-inner {
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

[data-element-id] .up-sp-text h3 {
    margin-bottom: 0;
    font-size: 24px;
}

[data-element-id] .flowlist .item {
    position: relative;
}

[data-element-id] .footfix li a .active-box {
    opacity: 1;
    visibility: visible;
    position: relative;
    top: 0;
    right: 0;
    -webkit-transform: none;
    transform: none;
}

/* 2025/10/06 */
.profile-detail{
  display: flex;
}

.profile-detail dt{
  width: 8em;
  margin-right: 1em;
  color: var(--color01);
  flex-shrink: 0;
}

.profile-detail dd{
  width: calc((100% - 8em));
}

.pagelink.ver02 li {
  width: calc((100% - 10px) / 2);
  max-width: none;
  flex-grow: 0;
  margin: 0;
}

.pricelist.ver02 .item dl {
  font-size: 16px;
}

.pricelist.ver02 .item dt {
  width: calc((100% - 21em));
}

.pricelist.ver02 .item dd.price {
  width: 18em;
  font-size: 1em;
}

.pricelist.ver02 .item dd.time {
  width: 3em;
}

.pricelist.ver02 .item dd.time02 {
  width: 100%;
}

.pricelist.ver03 .item dt {
  width: calc(100% - 20em);
  text-align: center;
}

.pricelist.ver03 .item dd {
  text-align: center;
}

.pricelist.ver03 .item dd.ttl01,
.pricelist.ver03 .item dd.ttl02{
  width: 5em;
}

.pricelist.ver03 .item dd.ttl03 {
  width: 10em;
}

.note-text{
  color: var(--color01);
  font-weight: bold;
  text-align: center;
  font-size: 1.25em;
}

.list-check li{
  text-indent: -1em;
  padding-left: 1em;
}

.list-check li::before{
  content: "・";
}

@media(max-width:599px) {
.pagelink.ver02 li {
  width: 100%;
} 

.pricelist.ver02 .item dd.price {
  padding-left: 0;
  padding-right: 0;
}
}

.reflection {
    overflow: hidden;
}

.reflection::before {
    content: "";
    width: 30px;
    height: 100%;
    background-color: #fff;
    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;
    pointer-events: none;
}

@-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);
    }
}

[data-element-id].mainimg .catch .up-sp-text .name {
  font-size: 36px;
}

.contact-address>div{
  display: flex;
  align-items: center;
}

.alt2{
  display: none;
  opacity: 0;
  height: 0;
}

.footfix li.btn-toggle {
  pointer-events: auto;
}

.fee-table-wrapper {
  width: 100%;
  -webkit-box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
  border: 1px solid #dee2e6;
}

.fee-table {
  width: 100%;
  border-collapse: collapse;
  text-align: center;
  min-width: 700px;
}

.fee-table th {
  background-color: var(--color01);
  color: #fff;
  padding: 1em;
  border-bottom: 1px solid #dee2e6;
}

.fee-table td {
  background-color: #ffffff;
  padding: 1em;
}

.fee-table td.color {
  color: var(--color01);
}

.fee-table th,
.fee-table td {
  border-left: 1px solid #dee2e6;
  white-space: nowrap;
}

.fee-table th:first-child,
.fee-table td:first-child {
  border-left: none;
}

.scrollable {
  overflow-x: auto;
  /* 横方向にはみ出た場合にスクロールバーを表示 */
}

/* 2025/10/28 */
[data-ab-test-block]{
  max-width: 400px;
  margin-left: auto;
}
