@charset "UTF-8";
/* base.cssに追加 */


.marcellus {
    font-family: "Marcellus", serif;
}

.pc-none {
    display: none;
}

@media(max-width:1024px) {
    .pc-none {
        display: block;
    }
}

/* base.css上書き */
html {
    font-size: 16px;
    color: #717171;
    background-color: white;
}

/* common */
.color-main-text {
    color: #685034;
}

.color-main-bgc {
    background-color: #3f3f3f;
}

.color-sub-text-01 {
    color: #554335;
}

.color-sub-text-02 {
    color: #cec5bb;
}

.color-sub-bgc-01 {
    background-color: #554335;
}

.color-sub-bgc-02 {
    background-color: #cec5bb;
}

.border-top {
    border-top: 10px solid #685034;
}

.border-bottom {
    border-bottom: 10px solid #685034;
}

.border-left {
    border-left: 10px solid #685034;
}

.border-right {
    border-right: 10px solid #685034;
}

.tel,
.fax {
    font-size: 16px;
    letter-spacing: 2px;
}

.tel-item .tel {
    font-size: 24px;
}

.logo {
    width: 250px;
    max-width: 80%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.map::after {
    padding-top: 60%;
}

@media (max-width: 1024px) {
    .tel-item .tel {
        font-size: 20px;
    }
}

@media (max-width: 599px) {
    .tel-item .tel {
        font-size: 18px;
    }
}

/* icon */
.icon-mail::before {
    content: "\f0e0";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: inherit;
    line-height: 100%;
}

.icon-instagram::before {
    content: "\f16d";
    display: inline-block;
    font-family: "Font Awesome 5 Brands";
    font-weight: 900;
    font-size: inherit;
    line-height: 100%;
}

.icon-line::before {
    content: "\f3c0";
    display: inline-block;
    font-family: "Font Awesome 5 Brands";
    font-weight: 900;
    font-size: inherit;
    line-height: 100%;
}

/* title */
.title-box {
    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: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-bottom: 50px;
}

.title-box-inner {
    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;
    margin-left: 80px;
}

.title-01 {
    margin-bottom: 50px;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 60px;
    letter-spacing: 2px;
}

.title-02 {
    margin-bottom: 50px;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 28px;
    letter-spacing: 2px;
}

.title-03 {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    font-size: 36px;
    line-height: 1;
    letter-spacing: 2px;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.title-03 .title-inner:first-letter {
    font-size: 120%;
    color: #cec5bb;
}

.title-03::after {
    content: "";
    width: 1px;
    height: 30px;
    display: block;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin: 15px auto 0;
    background-color: black;
}

.title-04 {
    margin-bottom: 50px;
    font-size: 36px;
    letter-spacing: 2px;
}

.title-05 {
    display: inline-block;
    padding: 0 55px;
    position: relative;
}

.title-05:before,
.title-05:after {
    content: "";
    width: 45px;
    height: 4px;
    display: inline-block;
    border-top: double 1px white;
    border-bottom: double 1px white;
    position: absolute;
    top: 50%;
}

.title-05:before {
    left: 0;
}

.title-05:after {
    right: 0;
}

[class*="title"].-bottom-large {
    margin-bottom: 80px;
}

[class*="title"].-bottom-medium {
    margin-bottom: 50px;
}

[class*="title"].-bottom-small {
    margin-bottom: 30px;
}

[class*="title"].-bottom-0 {
    margin-bottom: 0;
}

@media (max-width: 1024px) {
    .title-01 {
        margin-bottom: 40px;
        font-size: 40px;
    }

    .title-02 {
        margin-bottom: 40px;
        font-size: 22.4px;
    }

    .title-03 {
        font-size: 28.8px;
    }

    .title-04 {
        margin-bottom: 40px;
        font-size: 28.8px;
        letter-spacing: 1px;
    }

    [class*="title"].-bottom-large {
        margin-bottom: 64px;
    }

    [class*="title"].-bottom-medium {
        margin-bottom: 40px;
    }

    [class*="title"].-bottom-small {
        margin-bottom: 24px;
    }
}

@media (max-width: 599px) {
    .title-box-inner {
        width: 100%;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        margin-top: 20px;
        margin-left: 0;
    }

    .title-01 {
        margin-bottom: 30px;
        font-size: 30px;
    }

    .title-02 {
        margin-bottom: 30px;
    }

    .title-04 {
        margin-bottom: 30px;
        font-size: 21.6px;
    }

    [class*="title"].-bottom-large {
        margin-bottom: 48px;
    }

    [class*="title"].-bottom-medium {
        margin-bottom: 30px;
    }

    [class*="title"].-bottom-small {
        margin-bottom: 18px;
    }
}

/* list */
.caption-inner {
    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;
    padding: 10px;
    font-weight: bold;
    font-size: 18px;
    color: white;
    background-color: rgba(206, 197, 187, 0.6);
    opacity: 0;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    position: absolute;
    top: 0;
    left: 0;
}

.caption-title {
    width: 100%;
    text-align: center;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    -webkit-transform: translate(100%, 0);
    transform: translate(100%, 0);
}

.caption-title::after {
    content: "";
    width: 80%;
    height: 2px;
    display: block;
    margin: 10px auto;
    background-color: white;
}

.caption-title-sub {
    width: 100%;
    text-align: center;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    -webkit-transform: translate(-100%, 0);
    transform: translate(-100%, 0);
}

.caption a {
    opacity: 1;
}

.caption a:hover .caption-inner {
    opacity: 1;
}

.caption a:hover .caption-title {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.caption a:hover .caption-title-sub {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
}

.list-sns {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-flex: 1;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.list-sns li a {
    display: block;
}

.list-check li {
    padding-left: 40px;
    font-weight: 500;
    position: relative;
}

.list-check li+li {
    margin-top: 40px;
}

.list-check li::before {
    content: "\f00c";
    width: 30px;
    height: 30px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    padding: 5px;
    font-family: "Font Awesome 5 Free";
    font-weight: bold;
    font-size: 15px;
    color: white;
    line-height: 1;
    line-height: 100%;
    border: 3px solid white;
    border-radius: 100%;
    position: absolute;
    top: -5px;
    left: 0;
}

.list-pagenav {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-evenly;
}

.list-pagenav li {
    width: 20%;
    margin: 1%;
    padding: 5px;
    text-align: center;
    border-bottom: 1px dashed #cdcdcd;
}

.list-pagenav li a {
    display: block;
}

.list-pagenav li span {
    display: block;
}

.list-pagenav li .en {
    font-size: 24px;
}

.list-pagenav li .ja::before {
    content: "-";
    display: inline-block;
    margin-right: 5px;
}

.list-menu {
    padding: 10px 5px;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 18px;
}

.list-menu+.list-menu {
    border-top: 1px dashed #cdcdcd;
}

.list-menu dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.list-menu dt .list-menu-title {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.list-menu dt .list-menu-price {
    -ms-flex-negative: 0;
    flex-shrink: 0;
    margin-left: 15px;
    letter-spacing: 1px;
}

.list-menu dd {
    display: none;
    font-size: 14px;
}

.list-menu dt .list-menu-title .sub {
    display: block;
    font-weight: normal;
    font-size: 14px;
}

.list-flat {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 15px 5px;
}

.list-flat dt {
    width: 20%;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.list-flat dd {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 30px;
    
}

.list-flat+.list-flat {
    border-top: 1px dotted black;
}

.list-hover .list-inner {
    overflow: hidden;
    position: relative;
}

.list-staff-caption {
    margin-top: 10px;
}

.list-staff-caption-position {
    font-size: 16px;
    letter-spacing: 1px;
}

.list-staff-caption-name-en {
    font-size: 18px;
    letter-spacing: 1px;
}

.list-staff-caption-name-ja {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    letter-spacing: 1px;
}

.list-faq+.list-faq {
    margin-top: 80px;
}

.list-faq dt,
.list-faq dd {
    padding-left: 70px;
    position: relative;
}

.list-faq dt::before,
.list-faq dd::before {
    width: 60px;
    height: 60px;
    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;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 48px;
    line-height: 1;
    position: absolute;
    top: -20px;
    left: 0;
}

.list-faq dt::before {
    content: "Q";
}

.list-faq dd {
    margin-top: 60px;
}

.list-faq dd::before {
    content: "A";
    color: white;
    background-color: #717171;
}

.list-policy dt {
    font-weight: bold;
    font-size: 20px;
}

.list-policy dd {
    font-size: 18px;
}

@media (max-width: 1024px) {
    .caption-inner {
        height: 50%;
        font-size: 16px;
        opacity: 1;
        top: auto;
        bottom: 0;
    }

    .caption .caption-title {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }

    .caption .caption-title-sub {
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }

    .caption_02 .caption-inner {
        height: 40%;
    }

    .list-check li {
        padding-left: 34px;
    }

    .list-check li+li {
        margin-top: 30px;
    }


    .list-pagenav li .en {
        font-size: 20px;
    }

    .list-pagenav li .ja {
        font-size: 12px;
    }

    .list-menu {
        font-size: 16px;
    }

    .list-faq+.list-faq {
        margin-top: 64px;
    }

    .list-faq dt,
    .list-faq dd {
        padding-left: 56px;
    }

    .list-faq dt::before,
    .list-faq dd::before {
        width: 48px;
        height: 48px;
        font-size: 38.4px;
        top: -16px;
    }

    .list-faq dd {
        margin-top: 48px;
    }

    .list-policy dt {
        font-size: 18px;
    }

    .list-policy dd {
        font-size: 14px;
    }
}

@media (max-width: 599px) {
    /*     .list-pagenav li {
    width: 98%;
} */
    .list-pagenav li .en {
        font-size: 13px;
    }

    .list-pagenav.sp-col2 li {
        width: 45%;
    }

    .list-pagenav.sp-col3 li {
        width: 30%;
    }

    .list-menu dd {
        font-size: 12px;
    }

    .list-menu dt .list-menu-title .sub {
        font-size: 12px;
    }

    .list-faq+.list-faq {
        margin-top: 48px;
    }

    .list-faq dt,
    .list-faq dd {
        padding-left: 42px;
    }

    .list-faq dt::before,
    .list-faq dd::before {
        width: 36px;
        height: 36px;
        font-size: 28.8px;
        top: -12px;
    }

    .list-faq dd {
        margin-top: 36px;
    }

    .list-menu dt {
        flex-wrap: wrap;
    }

    .list-menu dt .list-menu-title {
        width: 100%;
        display: block;
    }


    .list-menu dt .list-menu-price {
        width: 95%;
        display: block;
        text-align: right;
    }
    
    .list-flat dd{
      width: 100%;
      text-align:right;
    }
}

/* button */
.btn {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.btn a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 5px 10px;
    font-weight: bold;
    font-size: 15px;
    color: inherit;
    letter-spacing: 2px;
    position: relative;
}

.btn a::before {
    content: "";
    width: 30px;
    height: 1px;
    display: inline-block;
    margin-right: 10px;
    border-bottom: 1px solid #717171;
}

.btn.-btn-top-large {
    margin-top: 80px;
}

.btn.-btn-top-medium {
    margin-top: 50px;
}

.btn.-btn-top-small {
    margin-top: 30px;
}

.btn.-btn-center {
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.btn.-btn-right {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
}

.btn.-btn-white a {
    color: white;
}

.btn.-btn-white a::before {
    border-bottom: 1px solid white;
}

@media (max-width: 1024px) {
    .btn a {
        padding: 5px;
        letter-spacing: 1px;
        justify-content: flex-end;
        margin-top:30px;
    }

    .btn a::before {
        width: 40px;
        margin-right: 15px;
    }

    .btn.-btn-top-large {
        margin-top: 64px;
    }

    .btn.-btn-top-medium {
        margin-top: 40px;
    }

    .btn.-btn-top-small {
        margin-top: 24px;
    }

    .btn.-btn-center\@tb {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .btn.-btn-right\@tb {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

@media (max-width: 599px) {
    .btn a::before {
        margin-right: 10px;
    }

    .btn.-btn-top-large {
        margin-top: 48px;
    }

    .btn.-btn-top-medium {
        margin-top: 30px;
    }

    .btn.-btn-top-small {
        margin-top: 18px;
    }

    .btn.-btn-center\@sp {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .btn.-btn-right\@sp {
        -webkit-box-pack: end;
        -ms-flex-pack: end;
        justify-content: flex-end;
    }
}

/* header */
header {
    width: 100%;
    height: 100px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    padding: 30px 50px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    position: fixed;
    top: 0;
    right: 0;
    z-index: 4;
}

main {
    padding-top: 100px;
    color: white;
    background-image: url(/import/tenant_1/160.16.107.43/html/images/common/walnut.jpg);
    background-size: contain;
    position: relative;
}

.h1 {
    color: white;
    position: absolute;
    top: 5px;
    left: 5px;
    z-index: 5;
}

header .list-sns {
    margin-right: 30px;
}

header .list-sns li+li {
    margin-left: 30px;
}

header .list-sns li [class*="icon"]::before {
    font-weight: normal;
    font-size: 30px;
    color: white;
}



.list-sns,
.hamburger {
    display: none;
}

@media (max-width: 1024px) {
    .list-sns,
    .hamburger {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
    }

    main {
        padding-top: 0;
    }

    header {
        width: 300px;
        height: 80px;
        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;
        padding: 15px 30px;
        padding: 30px 50px;
        -webkit-transition: 0.3s linear;
        transition: 0.3s linear;
        position: fixed;
        top: 0;
        right: 0;
        z-index: 4;
    }

    header .list-sns {
        margin-right: 20px;
    }

    header .list-sns li+li {
        margin-left: 20px;
    }

    header .list-sns li [class*="icon"]::before {
        font-size: 24px;
    }
}

@media (max-width: 599px) {
    header {
        width: 150px;
        height: 70px;
        padding: 20px 20px 10px 20px;
    }
}

/* nav */
nav {
    width: 100%;
}

.active nav {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0);
    height: 130%;
}


.nav-list {
    width: 100%;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    font-weight: bold;
    color: white;
}

@media(min-width:1025px){
  .scrolled nav .nav-list {
    -webkit-box-pack: space-evenly;
    -ms-flex-pack: space-evenly;
    justify-content: space-evenly;
}
}


.nav-list li a {
    margin: 0 8px;
    font-size: 18px;
}

@media (max-width: 1024px) {
    nav {
        width: 300px;
        padding: 30px 30px 200px 30px;
        background-color: rgba(223, 217, 210, 0.8);
        -webkit-transition: 0.3s linear;
        transition: 0.3s linear;
        -webkit-transform: translate(100%, 0);
        transform: translate(100%, 0);
        position: fixed;
        top: 80px;
        right: 0;
        z-index: 3;
    }

    .nav-list {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        -webkit-box-pack: start;
        -ms-flex-pack: start;
        justify-content: flex-start;
    }

    .nav-list li {
        margin: 5px 0;
        font-size: 12px;
    }


    .nav-list li a {
        font-weight: 600;
        color: white;
        letter-spacing: 0.7px;
        font-size:16px;
    }
}

@media (max-width: 599px) {
    nav {
        top: 70px;
    }
}

/* footer */
footer {
    color: white;
}

.footer-cont {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: end;
    align-items: flex-end;
    -ms-flex-align: end;
}

.footer-cont-inner {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
}

.footer-cont-inner .logo {
    margin-bottom: 30px;
}

.footer-cont-inner .item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

@media (max-width: 599px) {
    .footer-cont-inner {
        width: 100%;
    }

    .footer-cont-inner .item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .footer-cont .copy {
        width: 100%;
        margin-top: 50px;
        text-align: center;
    }
}

section {
    position: relative;
    z-index: 1;
}

/* main visual */
h2 {
    font-weight: bold;
    font-size: 30px;
    color: black;
    text-shadow: 1px 1px 1px white,
    0 0 0.1em white,
    0 0 0.5em white;
}

.main-visual-index {
    padding: 50px 0 50px 10%;
    position: relative;
}

.main-visual {
    position: relative;
}

.main-visual::before {
    content: "";
    width: 20%;
    height: 100%;
    display: block;
    background-color: #554335;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.fr {
    height: 40vh;
}

@media(max-width:1024px) {
    .fr {
        height: 30vh;
    }
}

.main-visual-lower::before {
    content: "";
    width: 20%;
    height: 300%;
    display: block;
    background-color: #554335;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.uk-slideshow {
    position: relative;
}

.main-visual-index-cont {
    margin-left: 80px;
    position: absolute;
    bottom: 80px;
    z-index: 1;
}

.logoimg {
    width: 150px;
    margin-bottom: 20px;
}


.main-visual-lower {
    width: calc(100% - 100px);
    max-width: 1400px;
    margin: 0 auto;
}


.lower-img-wrap {
    position: relative;
}

.lower-img-wrap::before {
    content: "";
    width: 500px;
    max-width: 30vw;
    height: 100%;
    display: block;
    background-color: #554335;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}

.lower-image {
    width: 100%;
    display: block;
    position: relative;
}

.lower-image::after {
    content: "";
    display: block;
    padding-top: 30%;
}

.lower-image img {
    width: 100%;
    height: 40vh;
    -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;";
    position: absolute;
    top: 0;
    left: 0;
}

.lower-content {
    padding-left: 20em;
    position: relative;
    z-index: 2;
}

.lower-content.-pl-none {
    padding-left: 0;
}

.title-lower {
    font-family: "Marcellus", serif;
    font-size: 65px;
    letter-spacing: 2px;
    text-shadow: 2px 2px 3px white,
    0px 0px 5px white,
    -2px -2px 2px white,
    5px 5px 7px white,
    -5px -5px 7px white,
    -1px -2px 5px white;
    -webkit-transform: translate(-0.5em, 50%);
    transform: translate(-0.5em, 50%);
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 1;
}

.title-lower:first-letter {
    color: #cec5bb;
}

.h2 {
    font-size: 60px;
}

.h2r {
    color: black;
    text-shadow: #fff;
}

@media (max-width: 1024px) {
    .lower-img-wrap {
        padding-top: 10px;
    }

    .lower-image::after {
        padding-top: 50%;
    }

    .lower-image img {
        height: 35vh;
    }

    .lower-content {
        padding-left: 6em;
    }

    .title-lower {
        font-size: 50px;
    }
}

@media (max-width: 599px) {
    .lower-img-wrap {
        padding-top: 0px;
    }

    .main-visual-lower {
        width: calc(100% - 15px);
        max-width: 400px;
    }

    .lower-image::after {
        padding-top: 70%;
    }

    .lower-content {
        /* padding-left: 14em; */
        padding-left: 0;
        text-align: right;
    }

    .lower-image img {
        height: 30vh;
    }

    .title-lower {
        font-size: 35px;
        letter-spacing: 1px;
        -webkit-transform: translate(0, 50%);
        transform: translate(0, 50%);
    }

    .main-visual-index-cont {
        margin-left: 5px;
    }

    .main-visual-index-cont h2 {
        font-size: 32px;
    }

    .main-visual-index-cont-title a .logoimg {
        width: 80px;
    }


    .main-visual-index-cont .h2r {
        margin-left: 0px;
        font-size: 20px;
    }

    .h2 {
        font-size: 40px;
    }
}

/* parts */
.num {
    font-size: 10vw;
    line-height: 1;
    opacity: 0.5;
}

.box-wide {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}

.box-wide-cont {
    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: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}

.box-wide-cont .block {
    padding: 30px 50px;
}

.box-wide:nth-of-type(odd) .box-wide-cont {
    width: 50%;
    margin-left: auto;
}

.box-wide:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.box-wide:nth-of-type(even) .box-wide-cont {
    width: 500px;
    margin-left: 0;
    margin-right: auto;
}

.box-wide:nth-of-type(even) .box-wide-img .img-skew {
    -webkit-transform: skew(10deg) translate(-10%, 0);
    transform: skew(10deg) translate(-10%, 0);
}

.box-alternate-item {
    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;
}

.box-alternate-item:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}


.box-alternate-item02 {
    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;
}

.box-alternate-item02:nth-of-type(odd) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.box-vertical {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.box-vertical-title {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.box-vertical-cont {
    width: 10%;
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    margin-left: 30px;
}

.box-vertical:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}

.img-shadow {
    width: 90%;
    position: relative;
    z-index: 2;
}

.img-shadow::before {
    content: "";
    width: 100%;
    height: 100%;
    display: block;
    background-color: #554335;
    position: absolute;
    top: 10%;
    left: 10%;
    z-index: -1;
}

.img-skew {
    overflow: hidden;
    -webkit-transform: skew(10deg) translate(10%, 0);
    transform: skew(10deg) translate(10%, 0);
}

.img-skew img {
    -webkit-transform: skew(-10deg) scale(1.2);
    transform: skew(-10deg) scale(1.2);
}

.deco {
    font-size: 8vw;
    color: #554335;
    line-height: 1;
    letter-spacing: 0;
    white-space: nowrap;
    opacity: 0.3;
    position: absolute;
    top: 100px;
    z-index: 1;
}

.ab1 {
    position: relative;
}

.deco1 {
    position: absolute;
    top: 300px;
    z-index: 0;
}

.deco2 {
    position: absolute;
    top: 250px;
}

@media(max-width:1024px) {
    .deco1,
    .deco2 {
        top: 60px;
        right: 30px;
    }
}

.scale {
    overflow: hidden;
}

.scale img {
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.scale:hover img {
    -webkit-transform: scale(1.1);
    transform: scale(1.1);
}

.return {
    padding: 30px;
    background-color: #e5e5e5;
}

@media (max-width: 1024px) {
    .num {
        font-size: 60px;
    }

    .box-wide {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }

    .box-wide:nth-of-type(odd) .box-wide-cont {
        width: 100%;
    }

    .box-wide:nth-of-type(even) .box-wide-cont {
        width: 100% !important;
    }

    .box-wide:nth-of-type(even) .box-wide-img .img-skew {
        -webkit-transform: skew(0) translate(0, 0);
        transform: skew(0) translate(0, 0);
    }

    .box-vertical-cont {
        margin-left: 20px;
    }

    .box-vertical:nth-of-type(even) .box-vertical-cont {
        margin-right: 20px;
    }

    .img-skew {
        -webkit-transform: skew(0) translate(0, 0);
        transform: skew(0) translate(0, 0);
    }

    .img-skew img {
        -webkit-transform: skew(0) scale(1);
        transform: skew(0) scale(1);
    }
}

@media (max-width: 599px) {
    .box-wide-cont .block {
        padding: 10px 20px;
    }

    .box-vertical-cont {
        margin-left: 20px;
        margin-right: 20px;
    }


    .deco {
        font-size: 16vw;
        white-space: normal;
    }
}

/* custom contents */
.date {
    font-weight: bold;
    letter-spacing: 1px;
}

.title-cc {
    margin: 5px 0;
    font-weight: bold;
    font-size: 20px;
    letter-spacing: 2px;
}

.list-blog li .box-thumb .date {
    font-size: 26px;
    text-align: right;
    -webkit-transform: translate(0, 50%);
    transform: translate(0, 50%);
    position: relative;
    z-index: 1;
}

.list-blog li .box-info .category {
    margin-top: 5px;
    font-size: 16px;
}

.list-news li {
    padding: 20px 10px;
}

.list-news li+li {
    border-top: 1px dashed #cdcdcd;
}

.list-news-info span {
    display: inline-block;
}

.list-news-info span+span::before {
    content: "｜";
    display: inline-block;
    margin: 0 10px;
}

.list-voice-box {
    padding: 50px 10px;
}

.list-voice-box+.list-voice-box {
    border-top: 2px solid #cdcdcd;
}

.list-voice-detail {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: 15px 5px;
    border-top: 1px dotted black;
}

.list-voice-detail dt {
    width: 20%;
    margin-bottom: 10px;
    font-weight: bold;
}

.list-voice-detail dd {
    width: 75%;
}

.list-product-info {
    margin-top: 10px;
}

.list-product-title {
    font-size: 20px;
}

.list-product-description {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.list-product-description dt {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.list-product-description dt::after {
    content: "：";
    display: inline-block;
    margin: 0 5px;
}

.list-product-description dd {
    -webkit-box-flex: 1;
    -ms-flex-positive: 1;
    flex-grow: 1;
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.list-product-price {
    letter-spacing: 1px;
    text-align: right;
}

.side {
    margin-top: 200px;
}

.side-title {
    margin-bottom: 15px;
    font-size: 26px;
    letter-spacing: 2px;
}

.side-list li {
    padding: 10px 5px;
}

.side-list li+li {
    border-top: 1px dashed #cdcdcd;
}

.side-list li a {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 16px;
    letter-spacing: 1px;
}

.mincho {
    font-family: "游明朝",
    YuMincho,
    "Hiragino Mincho ProN W3",
    "ヒラギノ明朝 ProN W3",
    "Hiragino Mincho ProN",
    "HG明朝E",
    "ＭＳ Ｐ明朝",
    "ＭＳ 明朝",
    serif !important;
    font-weight: bold;
}

.detail-header {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
}

.detail-item {
    text-align: center;
}

.detail-item .detail-category {
    display: inline-block;
    padding: 5px 20px;
    border: 1px solid #717171;
}

.detail-date {
    font-size: 24px;
}

.detail-date_square {
    width: 180px;
    height: 180px;
    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;
    -ms-flex-negative: 0;
    flex-shrink: 0;
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    color: white;
    line-height: 1.2;
    letter-spacing: 2px;
    background-color: #717171;
    font-weight:bold;
}

.detail-date_square .year-month-wrap {
    width: 60%;
    display: flex;
    justify-content: space-between;
    margin-top: 10px;
    align-items:center;
}

.detail-date_square .year-month-wrap .month {
    display: block;
    font-size: 22px;
}

.detail-date_square .year-month-wrap .year {
    font-size: 20px;
}

.detail-date_square .week {
    font-size: 20px;
    margin-bottom:10px;
}

.detail-date_square .date {
    font-size: 450%;
    line-height:90%;
}

.detail-item {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: 30px;
}

.detail-item .detail-category {
    margin-bottom: 15px;
    font-size: 18px;
}

.detail-item .detail-title {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 24px;
}

.detail-content {
    margin-top: 50px;
}

.detail-staff-cont {
    margin-top: 200px;
}

.detail-staff-cont .staff-name {
    font-family: "游明朝", YuMincho, "Hiragino Mincho ProN W3", "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
}

.detail-staff-img .staff-name {
    text-align: right;
}

.detail-staff .staff-position {
    font-size: 18px;
    letter-spacing: 2px;
}

.detail-staff .staff-name {
    margin: 10px 0;
    font-size: 28px;
}

.detail-gallery-slide .slick-slide:not(.slick-center) {
    -webkit-filter: grayscale(1);
    filter: grayscale(1);
}

.detail-gallery-position {
    margin: 5px 0;
    font-size: 18px;
    text-align: center;
}

.detail-gallery-name {
    font-size: 18px;
    text-align: center;
}

.recommend {
    margin-top: 50px;
}

.style-data {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 30px 0;
    font-size: 18px;
}

.style-data dt,
.style-data dd {
    -ms-flex-negative: 0;
    flex-shrink: 0;
}

.style-data dd::before {
    content: "/";
    display: inline-block;
    margin: 0 10px;
}

.color-level {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
}

.color-level li {
    width: 25px;
    height: 25px;
    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;
    color: white;
    line-height: 1;
    background-color: #685034;
}

.color-level li+li {
    margin-left: 5px;
}

.color-level.レベル５ li:nth-of-type(1)~li {
    color: inherit;
    background-color: #c9c9c9;
}

.color-level.レベル６ li:nth-of-type(2)~li {
    color: inherit;
    background-color: #c9c9c9;
}

.color-level.レベル７ li:nth-of-type(3)~li {
    color: inherit;
    background-color: #c9c9c9;
}

.color-level.レベル８ li:nth-of-type(4)~li {
    color: inherit;
    background-color: #c9c9c9;
}

.color-level.レベル９ li:nth-of-type(5)~li {
    color: inherit;
    background-color: #c9c9c9;
}

.color-level.レベル１０ li:nth-of-type(6)~li {
    color: inherit;
    background-color: #c9c9c9;
}

.color-level.レベル１１ li:nth-of-type(7)~li {
    color: inherit;
    background-color: #c9c9c9;
}

.color-level.レベル１２ li:nth-of-type(8)~li {
    color: inherit;
    background-color: #c9c9c9;
}

.color-level.レベル１３ li:nth-of-type(9)~li {
    color: inherit;
    background-color: #c9c9c9;
}

.color-level.レベル１４ li:nth-of-type(10)~li {
    color: inherit;
    background-color: #c9c9c9;
}

.color-level.レベル１５ li:nth-of-type(11)~li {
    color: inherit;
    background-color: #c9c9c9;
}

.color-level.レベル１６ li:nth-of-type(12)~li {
    color: inherit;
    background-color: #c9c9c9;
}

@media (max-width: 1024px) {
    .list-blog li .box-thumb .date {
        font-size: 20px;
    }

    .list-product-title {
        font-size: 16px;
    }

    .side {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between;
        margin-top: 50px;
    }

    .side-box {
        width: 48%;
    }

    .detail-date {
        font-size: 19.2px;
    }


    .detail-date_square {
        width: 144px;
        height: 144px;
        letter-spacing: 1px;
    }

    .detail-item {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        margin-left: 24px;
    }

    .detail-item .detail-category {
        font-size: 16px;
    }

    .detail-item .detail-title {
        font-size: 19.2px;
    }

    .detail-staff-cont {
        margin-top: 160px;
    }

    .detail-staff-cont .list-flat dt {
        width: 100%;
        font-weight: bold;
    }

    .detail-staff-cont .list-flat dd {
        margin-top: 10px;
        margin-left: 1em;
    }

    .detail-staff .staff-name {
        font-size: 22.4px;
    }

    .detail-gallery-content .list-flat dt {
        width: 100%;
    }

    .detail-gallery-content .list-flat dd {
        margin-top: 5px;
        margin-left: 0;
    }



    .color-level li {
        width: 20px;
        font-size: 12px;
    }

    .color-level li+li {
        margin-left: 4px;
    }
    
    .detail-date_square .year-month-wrap {
    width: 70%;
    margin-top: 5px;
}

.detail-date_square .year-month-wrap .month {
    font-size: 18px;
}

.detail-date_square .year-month-wrap .year {
    font-size: 16px;
}

.detail-date_square .week {
    font-size: 18px;
    margin-bottom:5px;
}

}

@media (max-width: 599px) {
    .list-blog li .box {
        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-blog li .box-thumb {
        width: 35%;
    }

    .list-blog li .box-thumb .date {
        font-size: 16px;
    }

    .list-blog li .box-info {
        width: 60%;
    }

    .list-blog li .box-info .category {
        font-size: 14px;
    }

    .list-news li {
        padding: 15px 5px;
    }

    /* .list-product .list-inner {
        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-product-thumb {
        width: 35%;
    }

    .list-product-info {
        width: 60%;
        margin-top: 0;
    }

    .side-box {
        width: 100%;
    }

    .detail-date {
        font-size: 14.4px;
    }

    .detail-date_square {
        width: 108px;
        height: 108px;
    }

    .detail-item {
        -webkit-box-flex: 1;
        -ms-flex: 1;
        flex: 1;
        margin-left: 18px;
    }

    .detail-item .detail-title {
        font-size: 14.4px;
    }

    .detail-staff-cont {
        margin-top: 50px;
    }
    
    .detail-date_square .year-month-wrap {
    margin-top:13px;
    }
}

/* form */
.must {
    display: block;
    margin-top: 5px;
    margin-left: 0;
    padding: 0;
    font-size: inherit;
    color: #c67c83;
    text-align: left;
    background-color: transparent;
}

.must2 {
    display: block;
    margin-top: 5px;
    margin-left: 0;
    padding: 0;
    font-size: inherit;
    color: grey;
    text-align: left;
    background-color: transparent;
}

.contact-item {
    padding: 10px 0;
}

.contact-item dd input,
.contact-item dd textarea {
    color: black;
    border: none;
    border-radius: 3px;
    background-color: #eee;
}

.contact-item dd .address-num {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    margin-bottom: 10px;
}

.contact-item dd .address-num input {
    width: 50%;
    margin-left: 10px;
}

.contact-btns li {
    width: 200px;
    height: 45px;
}

.contact-btns li button {
    width: 100%;
    height: 100%;
    color: white;
    border: 1px solid #685034;
    background-color: #685034;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
}

.contact-btns li button:hover {
    color: #685034;
    background-color: white;
    opacity: 1;
}

@media (max-width: 599px) {
    .contact-item dd .address-num input {
        width: 60%;
    }
}

.area_21 {
    padding-left: calc(50% - 500px);
}

@media (max-width: 1024px) {
    .area_21 .box-vertical {
        padding-left: 2%;
    }
}

.grid {
    display: -ms-grid;
    display: grid;

    -ms-grid-columns: (minmax(300px, 1fr))[auto-fit];
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
    grid-auto-rows: 0.5fr;
}

.grid-item {
    min-width: 0;
}

.grid-item .img {
    overflow: hidden;
    border: 5px solid white;
}

.grid-01 {
    -webkit-transform: translate(13%, 20%);
    transform: translate(13%, 20%);
}

.grid-03 {
    -webkit-transform: translate(-10%, 12%);
    transform: translate(-10%, 12%);
}

.grid-04 {
    -webkit-transform: translate(-15%, 0);
    transform: translate(-15%, 0);
}

.grid-04 .img02 {
    -webkit-transform: translate(-10%, -10%);
    transform: translate(-10%, -10%);
}

.grid-05 {
    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: 30px;
}

.grid-06 {
    -webkit-transform: translate(15%, 0);
    transform: translate(15%, 0);
}

.grid-06 .img02 {
    -webkit-transform: translate(10%, -10%);
    transform: translate(10%, -10%);
}

.grid-07 {
    -webkit-transform: translate(5%, -25%);
    transform: translate(5%, -25%);
}

.grid-09 {
    -webkit-transform: translate(-5%, -25%);
    transform: translate(-5%, -25%);
}

.gridtitle {
    margin-bottom: 0;
    color: white;
}

.grid-05 .item .btn {
    -webkit-box-pack: end;
    -ms-flex-pack: end;
    justify-content: flex-end;
    margin-top: -30px;
    color: white;
}

.grid-05 .item .text {
    color: white;
}

@media (max-width: 1024px) {
    .box-recruit01 .bg-cont {
        padding: 30px 20px;
    }

    .grid {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }

    .grid-item {
        width: calc(94% / 3);
        margin: 1%;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }

    .grid-04,
    .grid-06 {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
    }

    .grid-04 [class*="img"],
    .grid-06 [class*="img"] {
        width: calc(94% / 3);
        margin: 1%;
        -webkit-transform: translate(0, 0);
        transform: translate(0, 0);
    }

    .grid-04 {
        margin-top: -10%;
    }

    .grid-05 {
        width: 100%;
        padding: 30px 10px;
    }

    .grid-06 {
        margin-bottom: -10%;
        z-index: 1;
    }

    .block01 .bg-cont {
        min-height: 400px;
    }
}

@media (max-width: 599px) {
    .box-menu {
        -webkit-column-count: 1;
        -moz-column-count: 1;
        column-count: 1;
    }

    .grid-item .img {
        border: 3px solid white;
    }

    .grid-05 .item .btn {
        display: block;
        margin-top: 0;
    }
}

h4 {
    margin: 10px 0px;
    font-weight: bold;
    font-size: 18px;
}

.card-text,
.card-text div {
    max-width: 100%;
    height:1.5rem;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    line-height:1.5;
}



.mini-img a {
    width: 100%;
    height: 100%;
    display: flex;
    justify-content: center;
}

.mini-img a img {
    width: 90%;
    margin: 0 auto;
}

.mini-title {
    margin: 50px 0 20px 0;
    font-size: 18px;
    text-align: center;
}



.map1 {
    height: 250px;
}

.map1 iframe {
    width: 100%;
    height: 100%;
}

.access-box1 .access-box-inner {
    padding: 20px;
    color: black;
    background-color: #cec5bb;
}

.adress-list dt:nth-child(1) {
    margin-top: 0;
}

.adress-list dt {
    margin-top: 15px;
    margin-bottom: 5px;
    font-weight: bold;
    font-size: 1.2em;
}

.calendar-container {
    width: 100%;
    margin: 0 auto;
}

.calendar-current-month {
    margin: 0;
    font-size: 25px;
}

table {
    width: 100%;
}

.calendar-table-week .calendar-table-day {
    width: 60px;
    font-weight: normal;
    font-size: 14px;
    text-align: center;
    border: 1px solid white;
}

.calendar-table-week:nth-child(3) .calendar-table-day,
.calendar-table-week:nth-child(4) .calendar-table-day,
.calendar-table-week:nth-child(5) .calendar-table-day,
.calendar-table-week:nth-child(6) .calendar-table-day,
.calendar-table-week:nth-child(7) .calendar-table-day,
.calendar-table-week:nth-child(8) .calendar-table-day {
    width: 60px;
    height: 70px;
    vertical-align: top;
    padding: 0 5px;
    font-weight: bold;
    text-align: right;
    border: 1px solid white;
    position: relative;
}

.calendar-prev-month {
    position: relative;
    z-index: 3;
}


.calendar-table-day {
    position: relative;
}

.calendar-c-9::after,
.mon span::after,
.calendar-table-week:nth-child(5) .sun span::after {
    content: "定休日";
    display: block;
    padding: 1px 5px;
    font-size: 12px;
    color: white;
    text-align: center;
    background-color: #565656;
    position: absolute;
    bottom: 5px;
}

.tue-1 span::after {
    content: "定休日";
    display: block;
    padding: 1px 5px;
    font-size: 12px;
    color: white;
    text-align: center;
    background-color: #565656;
    position: absolute;
    bottom: 5px;
}

.calendar-c-10::after {
    content: none !important;
}

@media(max-width:599px) {
    .uk-width-1-2 {
        width: 100%;
    }

    .uk-width-1-2:nth-child(2) {
        display: none;
    }

    .calendar-c-9::after,
    .mon span::after,
    .calendar-table-week:nth-child(5) .sun span::after {
        font-size: 10px;
    }

    .tue-1 span::after {
        font-size: 10px;
    }
}

.footer-cont-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
    -ms-flex-direction: row;
    flex-direction: row;
    -webkit-box-align: start;
    align-items: flex-start;
    -ms-flex-align: start;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
}

.foot-adress {
    width: 20%;
    font-size: 1.1em;
    line-height: 200%;
}

@media(max-width:1024px) {
    .foot-adress {
        text-align: center;
    }
}

.pays {
    width: 30%;
    min-width: 300px;
}

.foot-navmenu {
    width: 30%;
}

.copy {
    padding-top: 40px;
    text-align: center;
}

.foot-logo {
    width: 150px;
    margin: 0 auto 30px auto;
}

.footlist ul li {
    font-weight: bold;
}

.footnav-list1 li,
.footnav-list2 li,
.footnav-list3 li,
.footnav-list4 li {
    padding: 10px 0;
}

@media(max-width:1024px) {
    .footer-cont-inner {
        -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;
    }

    .footlist ul {
        margin: 20px 0;
    }

    .foot-navmenu {
        text-align: center;
    }

    .foot-adress,
    .pays,
    .foot-navmenu,
    .pays ul li {
        width: 90%;
    }
}

@media(max-width:599px) {
    .list-blog-ontop {
        padding-top: 0px;
    }
}


.list-blog-ontop li:nth-child(1) {
    margin-top: -60px !important;
}

.list-blog-ontop li:nth-child(3) {
    padding-top: 60px !important;
}

.pay1 li {
    width: 150px;
    height: 40px;
}

.pay2 li {
    width: 150px;
    height: 40px;
}

.pay2 .for-train {
    height: 100px;
}

.logopay {
    max-width: 150px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    margin: 5px auto;
    padding: 3px;
    background-color: white;
}

.logopay,
.logopay img {
    height: 100%;
    -o-object-fit: contain;
    object-fit: contain;
    border-radius: 10px;
}

.bg-parent {
    z-index: 1;
}

.btns {
    color: white;
    position: fixed;
    top: 80%;
    right: 0;
    z-index: 6;
}

.fixed-btn1 .tel,
.fixed-btn2 {
    font-size: 25px;
}

.fixed-btn1,
.fixed-btn2 {
    width: 270px;
    height: 60px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin: 20px 0;
    background-color: #3f3f3f;
    z-index: 10;
}

.fixed-btn1 a,
.fixed-btn2 a {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}



@media(max-width:1024px) {
    .btns {
        width: 100%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: horizontal;
        -webkit-box-direction: normal;
        -ms-flex-direction: row;
        flex-direction: row;
        -webkit-box-align: center;
        align-items: center;
        -ms-flex-align: center;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: space-evenly;
        top: auto;
        bottom: 20px;
    }

    .fixed-btn1,
    .fixed-btn2 {
        width: 45vw;
        height: 50px;
        margin: 0;
        border-radius: 10px;
    }

    .fixed-btn1 .tel,
    .fixed-btn2 {
        font-size: 20px;
    }
}

@media (max-width:599px) {
    .list-blog-ontop li:nth-child(3) {
        margin-top: -40px;
        padding-top: 0px !important;
    }

    .fixed-btn1 .tel,
    .fixed-btn2 {
        font-size: 15px;
    }
}

.cc-cards {
    width: 70%;
    margin: -80px 60px 0 auto;
    position: relative;
    z-index: 2;
}

.cc-card-title {
    margin-top: -50px;
    font-weight: bold;
    font-size: 20px;
    color: white;
    text-shadow: black 2px 2px 2px;
    position: relative;
}

@media(max-width:1024px) {
    .cc-cards {
        width: 100%;
        margin: 30px 0 0 0;
    }

}

.grid-img a:hover {
    opacity: 0.8;
}

.inner .box-vertical-wrap .space .ml-il {
    margin-left: 0 !important;
}



.modal {
    width: 100%;
    height: 100vh;
    display: none;
    background-color: rgba(0, 0, 0, 0.8);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
}

.bigimg {
    width: 80%;
    max-width: 800px;
    height: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    align-items: center;
    -ms-flex-align: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    margin-left: auto;
    margin-right: auto;
    z-index: 100;
}

.bigimg img {
    max-height: 80vh;
    -o-object-fit: contain;
    object-fit: contain;
}

.close-btn {
    font-size: 40px;
    color: #fff;
    position: absolute;
    top: 0;
    right: 20px;
}

.close-btn a {
    color: #fff;
    text-decoration: none;
}

.under {
    margin-bottom: 0px !important;
}

.togo a {
    width: 100%;
    height: 100%;
    margin: 0 10px;
    padding: 5px 30px;
    border: 1px solid white;
}

.togo a:hover {
    color: black;
    background-color: white;
}

.faq-tbox {
    font-weight: 700;
    font-size: 20px;
}

.flist {
    counter-reset: number;
}

.fitem {
    margin: 80px 0;
}

.fitem:last-of-type {
    margin-bottom: 0;
}

.fitem dd {
    padding: 20px 120px 30px 0;
    position: relative;
}

.fitem dd span.btn {
    display: none;
    color: #fff;
    border-color: #685034;
    background: #685034;
    position: absolute;
    top: 100%;
    right: -1px;
}

.fitem span.btn {
    width: 50px;
    display: inline-block;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    text-align: center;
    border: 1px solid #685034;
    cursor: pointer;
    -webkit-transition: 0.6s all ease;
    transition: 0.6s all ease;
}

.fitem span.btn:hover {
    opacity: 0.6;
}

.fitem dl {
    position: relative;
    /*     border-bottom: 1px solid #685034; */
    position: relative;
}

.fitem.open dl {
    /*     border: 1px solid #685034; */
    position: relative;
}

.fitem.open dt {
    padding-right: 120px;
    -webkit-transition: 0.6s all ease;
    transition: 0.6s all ease;
}

.fitem.open dt .btn {
    /*     display: none; */
    margin-top: 0;
}

.fitem dt {
    width: 100%;
    padding-left: 5px;
    padding-right: 120px;
    position: relative;
}

.fitem dt .btn {
    color: white;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    z-index: 1;
}

.fitem dt .btn:before {
    content: "＋";
    font-size:1.5rem;
}

.fitem.open dt .btn:before {
    content: "−";
    font-size:1.5rem;
}


.fitem dt span.faq-tbox {
    display: inline-block;
    padding-left: 2.5em;
}

.fitem dt span.faq-tbox:before {
    content: "Q"counter(number) ".";
    display: block;
    counter-increment: number;
    font-size: 24px;
    position: absolute;
    top: 0;
    left: 0;
}

.t .btn {
    margin-top: 0;
}

@media (max-width:1024px) {
    .fitem dt {
        padding-right: 100px;
    }


    .fitem span.btn {
        width: 85px;
        padding: 7.5px 10px;
        font-size: 14px;
    }
}

@media (max-width:599px) {
    .fitem dt {
        padding-right: 80px;
    }

    .fitem span.btn {
        width: 70px;
        padding: 5px 10px;
        font-size: 11px;
    }

    .fitem dd {
        padding: 10px 20px;
    }

    .fitem.open dt {
        padding-right: 80px;
    }

    .faq-tbox {
        font-size: 18px;
    }
}

.box-vertical {
    position: relative;
}

.box-vertical .deco {
    position: absolute;
    top: 50%;
}

.menu-deco1,
.menu-deco3,
.menu-deco5,
.menu-deco7 {
    right: -5%;
}

.menu-deco2,
.menu-deco4,
.menu-deco6 {
    left: -5%;
    ;
}

.deco1 {
    position: absolute;
    top: 300px;
    z-index: 0;
}

.deco2 {
    position: absolute;
    top: 250px;
}

@media(max-width:1024px) {
    .deco1,
    .deco2,
    .deco3,
    .deco4,
    .deco5 {
        top: 60px;
        right: 30px;
    }
}

.banner {
    width: 70%;
    margin: 30px auto 0 auto;
}

@media(max-width:599px) {
    .banner {
        width: 100%;
    }

    .deco1,
    .deco2,
    .deco3,
    .deco4,
    .deco5 {
        top: 0;
    }
}

.mcp {
    margin-top: 60px;
    margin-bottom: 60px;
}

.lr-border {
    border-left: 3px solid #554335;
    border-right: 3px solid #554335;
}

@media(max-width:599px) {
    .lr-border {
        border: none;
    }
}

.btmdash {
    padding-bottom: 10px;
    border-bottom: 1px dashed #cdcdcd;
}

.star-list .item:before {
    content: "\f005";
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}

.star-list.star-1 .item:nth-of-type(2) {
    display: none;
}

.star-list.star-1 .item:nth-of-type(3) {
    display: none;
}

.star-list.star-1 .item:nth-of-type(4) {
    display: none;
}

.star-list.star-1 .item:nth-of-type(5) {
    display: none;
}

.star-list.star-2 .item:nth-of-type(3) {
    display: none;
}

.star-list.star-2 .item:nth-of-type(4) {
    display: none;
}

.star-list.star-2 .item:nth-of-type(5) {
    display: none;
}

.star-list.star-3 .item:nth-of-type(4) {
    display: none;
}

.star-list.star-3 .item:nth-of-type(5) {
    display: none;
}

.star-list.star-4 .item:nth-of-type(5) {
    display: none;
}

.no-shadow {
    text-shadow: none !important;
}

.h2-abs {
    margin-left: 0;
    bottom: 120px;
    left: 70px;
}

@media(max-width:599px) {
    .h2-abs {
        top: 360px;
        left: 30px;
    }
}

.z-set {
    position: relative;
    z-index: 5;
}

@media (max-width:1024px) {
    h1 {
        font-size: 12px;
    }
}

@media(max-width:599px) {
    .detail-date_square .date {
        margin-bottom: -10px;
        font-size: 300%;
    }

    .detail-date_square .week {
        padding-top: 0px;
        font-size: 14px;
    }

    .detail-date_square .year-month-wrap .month {
        font-size: 12px;
    }
}

.detail-content h2 {
    font-weight: bold;
    font-size: 25px;
    color: white;
    text-shadow: none;
}

.detail-content h3 {
    font-weight: bold;
    font-size: 20px;
    color: white;
    text-shadow: none;
}

.detail-content h4 {
    font-weight: normal;
    font-size: 20px;
    color: white;
    text-shadow: none;
}

.h1u {
    position: absolute;
    top: 0px;
    z-index: 100;
}

h1 {
    margin: 0 10px;
}

@media(max-width:599px) {
    .h1u {
        top: 0px;
    }

    h1 {
        font-size: 10px;
    }
}

.ab-g .fixed-btn1,
.ab-g .fixed-btn2 {
    background-color: #64182c;
}

.reflection {
    overflow: hidden;
    padding: 10px 20px;
    color: #fff;
    text-decoration: none;
    outline: none;
    background: #333;
    position: relative;
}

/*キラッと光る*/
.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;
}

@-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) {
    nav {
        scrollbar-width: none;
        -ms-overflow-style: none;
        scrollbar-width: none;
        overflow:hidden;
    }

    .contents_box::-webkit-scrollbar {
        display: none;
    }

    .copy {
        margin-bottom: 60px;
    }

    .menu_child {
        display: none;
    }
}

.menu_child {
    position: fixed;
}

.menu_child li {
    height: 0;
    overflow: hidden;
    background-color: #3f3f3f;
    transition: 0.3s;
}

.nav-list li:hover>ul>li {
    height: 3.2rem;
    overflow: visible;
}

.nav-list .drop-num:hover>.menu_child {
    padding-top: 30px;
}

.drop-num {
    position: relative;
}

@media(min-width:1025px) {
    .pc-none2 {
        display: none;
    }
}

.anchor {
    display: block;
    padding-top: 85px;
}

.color-box1 {
    border-left: 10px solid white;
    background-color: #554335;
}

.bgw {
    padding: 10px;
    border-radius: 10px;
    background-color: white;
}

.cashless {
    padding: 10px 0;
    font-weight: bold;
    font-size: 1.2em;
    color: #554335;
    text-align: center;
}

.pays .up-col-2 ul li {
    margin: 0 auto;
}

.calendar-table-day.sat {
    color: #6fb5ff !important;
}

.calendar-table-day.sun {
    color: #ff838b !important;
}


.pro-card .txt-in {
    width: 100%;
    height: 100%;
    padding: 50% 0;
    font-weight: bold;
    color: white;
    text-align: center;
    background: linear-gradient(rgba(0, 0, 0, 0), rgba(255, 161, 3, 1));
    opacity: 1;
    -webkit-transition: 0.3s ease-in-out;
    transition: 0.3s ease-in-out;
    position: absolute;
    top: 0;
    left: -100%;
    ;
}

.pro-card:hover .txt-in {
    left: 0;
}

.cards-pic:after {
    content: "";
    display: block;
    padding-top: 140%;
}

.left-in {
    font-size: 18px;
    line-height: 2em;
    border-bottom: 1px solid white;
}

.right-in {
    font-size: 15px;
}

.drop-num a {
    height: 100%;
}


.big-list {
    width: 40% !important;
}

.color-box6 {
    padding: 30px 0;
    background-color: #554335;
}

.double-r {
    flex-direction: row-reverse !important;
}

.wide2 {
    width: 40% !important;
}

.img-skew2 {
    overflow: hidden;
    -webkit-transform: skew(10deg) translate(-10%, 0);
    transform: skew(10deg) translate(-10%, 0);
}

@media (max-width:599px) {
    .cashless {
        width: 80%;
        margin: auto;
    }
}


/* 追記 */
.cc-card {
    display: flex;
    flex-wrap: wrap;
}


.cc-card .cc-card-img {
    width: 100%;
}

.cc-card .cc-card-title {
    width: 100%;
}

.cc-card .cc-card-text {
    width: 89%;
    margin-top: 1.5em;
}

@media (max-width:599px) {
    .cc-card .cc-card-img {
        
    }

    .cc-card .cc-card-title {
        
        
        margin-bottom: 10px;
    }

    .cc-card .cc-card-text {
        width: 100%;
        
    }
}


@media (max-width:599px) {
    .top-product .list-hover li:nth-child(3) {
        display: none;
    }

    .top-feature .img-shadow {
        width: 40%;
    }

    .top-feature .title-01 {
        margin-top: -30px;
        margin-bottom: 30px;
        text-align: right;
    }

    .top-blog .title-box-inner {
        display: block;
        text-align: right;
    }

    .top-blog .title-box-inner .btn {
        justify-content: flex-end;
    }

    .top-product .title-box {
        display: block;
        margin-bottom: 10px;
    }

    .top-product .title-box .title-box-inner {
        display: block;
    }

    .top-product .title-box .title-box-inner .btn {
        justify-content: flex-end;
    }

    .menu_child {
        display: none;
    }

    .breadcrumbs-list {
        justify-content: flex-end;
        margin-right: 10px;
    }
}

.uk-slidenav-position .uk-slidenav-next {
    right: -20px;
}

.uk-slidenav-position .uk-slidenav-previous {
    left: -20px;
}

/* .brand-img img {
    width: 90%;
    transform: translateX(-50%);
    left: 50%;
} */

[data-element-id] .pc-none {
    display: block;
    border: 2px solid green;
}

[data-element-id] .pc-none::after {
    content: "SP時のみ表示";
    display: block;
    color: yellow;
    background: green;
}

[data-element-id] header {
    position: relative;
}

[data-element-id] nav {
    width: 100%;
    display: block;
    padding: 30px 30px 200px 30px;
    -webkit-transition: 0.3s linear;
    transition: 0.3s linear;
    -webkit-transform: translate(100%, 0);
    transform: translate(100%, 0);
    transform: translate(0, 0);
    position: absolute;
    top: 0;
    right: 0;
    z-index: 3;
}

[data-element-id] .btns {
    border: 2px solid green;
    position: absolute;
    top: 0;
}

[data-element-id] .btns::after {
    content: "ABテスト設置個所";
    display: block;
    color: yellow;
    background: green;
}

[data-element-id] .btns .fixed-btn2 {
    display: block;
    border: 2px solid blue;
}

[data-element-id] .fixed-btn2::after {
    content: "コンバージョン設置個所";
    display: block;
    font-size: 16px;
    color: yellow;
    background: blue;
}

[data-element-id] .menu_child {
    top: 100px;
}

[data-element-id] .menu_child li {
    height: 3.2rem;
    overflow: visible;
    border: 2px solid blue;
}

[data-element-id] .menu_child li::after {
    content: "PC時のみ表示";
    display: block;
    font-size: 16px;
    color: yellow;
    background: blue;
}

[data-element-id] .ads1 {
    position: absolute;
    top: 100px;
    right: 0;
}

[data-element-id] .ads2 {
    position: absolute;
    top: 150px;
    right: 0;
}

[data-element-id] .detail-date_square .week {
    font-size: 10px;
}

[data-element-id] .detail-date_square .date {
    font-size: 10px;
    letter-spacing: 0;
}

@media(max-width:599px){
  .calendar-next-month,
  .calendar-prev-month
  {
    align-items:flex-start;
    padding-top:12px;
  }
  .calendar-next-month i,
  .calendar-prev-month i
  {
    font-size:25px;
  }
  .calendar-next-month{
    margin-left:-50px;
  }
    .calendar-prev-month{
    margin-right:-50px;
  }
}
.fj .box-vertical-cont {
  width:100%;
  margin-left:0;
}

.m-a{
  margin-left:auto;
  margin-right:auto;
}

@media(max-width:1024px){
  .ads1{
    margin-top:40px!important;
  }
  
  .ads1 .tel a::before{
    content: "\f095";
    display: inline-block;
    font-family: "Font Awesome 5 Free";
    font-weight: 900;
    font-size: inherit;
    line-height: 100%;
    padding-right:3px;
  }
}
