body {
    font-family: "Zen Kaku Gothic New", sans-serif;
    background: url(/cdn/shop/files/main_bg.png);
    font-size: 1.4rem;
    -webkit-text-size-adjust: 100%;
    -moz-text-size-adjust: 100%;
    -ms-text-size-adjust: 100%;
    text-size-adjust: 100%;
    line-height: 1;
    letter-spacing: 0.05em;
}

.gradient {
    background: transparent important;
}

.margin-top {
    padding: 8em 3rem;
    position: relative;
}

@media screen and (min-width: 768px) {
    .margin-top {
        margin-top: -15vw;
    }
}

.l-inner {
    max-width: 120rem;
    margin-left: auto;
    margin-right: auto;
}
.l-inner--small {
    max-width: 100rem;
    margin-left: auto;
    margin-right: auto;
    width: 90%;
}
@media screen and (max-width: 767px) {
    .l-inner--small {
      width: 100%;
    }
}


/*indexスライダー*/

.p-view {
    position: relative;
    z-index: 1;
}
@media screen and (max-width: 767px) {
    .p-view {
        display: none;
        overflow: hidden;
        height: 40rem;
    }
}
.p-view::before {
    content: "";
    position: absolute;
    top: -1rem;
    left: 0;
    width: clamp(1rem, 55vw, 78rem);
    background: url(/cdn/shop/files/dec-1.png) no-repeat center / contain;
    aspect-ratio: 773 / 675;
}
.p-view__wrap {
    position: relative;
}
.p-view__desc {
    position: absolute;
    z-index: 2;
    /*top: 15rem;*/
}
@media screen and (max-width: 767px) {
    .p-view__desc {
        /*left: 2rem;
        top: 25vw;*/
        -webkit-transform: translate(0, -25%);
        transform: translate(0, -25%);
    }
}
.p-view__desc p {
    font-family: "Lora", serif;
    font-size: 2rem;
    font-weight: 600;
    margin-bottom: 1rem;
    letter-spacing: 0.1em;
    color: #bda47b;
}
@media screen and (max-width: 767px) {
    .p-view__desc p {
        font-size: 1.4rem;
        margin-bottom: 0.8rem;
    }
}
.p-view__desc h1 {
    font-size: 5.4rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
    .p-view__desc h1 {
        font-size: 2rem;
        line-height: 1.2;
    }
}
.p-view__desc span img {
    max-width: 9rem;
    width: 8vw;
    margin-top: 240px;
    margin-left: -4vw;
}

@media screen and (max-width: 767px) {
    .p-view__desc span img {
        left: 2rem;
        top: 30vw;
        margin-left: 0vw;
        margin-top: 38vw;
        -webkit-transform: translate(0, -50%);
        transform: translate(0, -50%);
    }
}
@media screen and (min-width: 768px) and (max-width: 1250px) {
    .p-view__desc span img {
    max-width: 9rem;
    width: 7vw;
    margin-top: 20vw;
    margin-left: -4vw;
    } 
}


/*indexページ以外のアイキャッチエリア*/


.p-elmView {
    position: relative;
}
.p-elmView__dec {
    position: absolute;
    /*top: -7vw;*/
    left: 0;
    z-index: -1;
    width: 80rem;
    max-width: 54%;
}

.c-elmCatch p.sub {
    font-family: "Lora", serif;
    text-transform: uppercase;
}

.p-elmView__img {

    margin-left: auto;
    position: relative;

}
@media screen and (min-width: 768px) {
.p-elmView__img {
    width: calc(48vw + 30vw);
    margin-left: auto;
    position: relative;
    max-width: 1250px;
}
}
@media screen and (max-width: 767px) {
    .p-elmView__img {
        max-width: calc(50vw + 32vw);
    }
}

.p-elmView__img__main {
    width: 100%;
}
@media screen and (max-width: 767px) {
    .p-elmView__img__main {
       width: 100%;
        height: 48vw;
        -o-object-fit: cover;
        object-fit: cover;
        -o-object-position: center;
        object-position: center;
        border-radius: 5rem 0 0 0;
    }
}

.p-elmView__desc {
    /*position: absolute;*/
    left: 6rem;
    /*top: 20rem;*/
    /* -webkit-transform: translate(-60%, -60%); */
    /* transform: translate(-60%, -60%); */
    -webkit-transform: translate(-5vw, -150%); 
    transform: translate(-5vw, -150%);
    /* max-width: calc(50vw + 28vw); */
    /* margin-left: auto; */
}
@media screen and (max-width: 767px) {
    .p-elmView__desc {
        -webkit-transform: unset;
        transform: unset;
        background: url(/cdn/shop/files/main_bg.png);
        padding: 2rem;
        border-radius: 0 5rem 0 0;
        left: -8rem;
        bottom: -8rem;
        top: unset;
        position: absolute;
        top: 58vw;
        left: 0vw;
        /*height: 13rem;*/
        /*width: 58vw;*/
        background: #f3f3f3;
    }
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
.p-elmView__desc {
    /*position: absolute;*/
    left: 6rem;
    /*top: 20rem;*/
    /* -webkit-transform: translate(-60%, -60%); */
    /* transform: translate(-60%, -60%); */
    -webkit-transform: translate(-0%, -150%); 
    transform: translate(-0%, -150%);
    /* max-width: calc(50vw + 28vw); */
    /* margin-left: auto; */
}
}

.p-elmView__desc img {
    width: 5vw;
    /*margin-bottom: 4rem;*/
    margin-left: -4rem;
}

@media screen and (max-width: 767px) {
    .p-elmView__desc img {
        width: 9vw;
        margin-left: 0;
        margin-bottom: 0rem;
        position: absolute;
        top: -10vw;
    }
}
.p-elmView__desc h2 {
    font-family: "Lora", serif;
    font-size: 4vw;
    font-weight: bold;
    color: #a68961;
    text-transform: uppercase;
}
@media screen and (max-width: 767px) {
    .p-elmView__desc h2 {
    font-size: 8vw;
    margin: 0;
    }
}
.p-elmView__desc p {
    font-size: 1.4vw;
    font-weight: 600;
    margin-top: -1.5rem;
}
@media screen and (max-width: 767px) {
    .p-elmView__desc p {
        font-size: 1.5rem;
        margin-top: 2rem;
        position: absolute;
        white-space: nowrap;
    }
}

.p-elmSec {
    padding: 12rem 3rem 3rem;
    position: relative;
}

/*見出しエリア*/
.c-elmCatch {
    text-align: center;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 2rem;
}
@media screen and (max-width: 767px) {
    .c-elmCatch:not(:last-child) {
        margin-bottom: 6rem;
    }
}
.c-elmCatch p {
    color: #bda47b;
    font-size: 1.5rem;
    font-weight: bold;
}
@media screen and (max-width: 767px) {
    .c-elmCatch p {
        font-size: 1.5rem;
    }
}
.c-elmCatch img {
    width: 2.2rem;
}
.c-elmCatch h2 {
    font-size: clamp(1rem, 3vw, 3.6rem);
    font-weight: bold;
    letter-spacing: 0.055em;
    margin-block-start: 0.05rem;
}
@media screen and (max-width: 767px) {
    .c-elmCatch h2 {
        font-size: 2.3rem;
    }
}
.c-elmCatch:not(:last-child) {
    margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
    .c-elmCatch:not(:last-child) {
        margin-bottom: 6rem;
    }
}
.c-elmCatch h2 span {
    font-family: "Lora", serif;
    font-weight: 500;
}

.p-intr {
    padding: 12rem 3rem;
    background: #efeae2;
}
@media screen and (max-width: 767px) {
    .p-intr {
        padding: 8rem 0;
    }
}

.p-intr__list {
    gap: 6rem 3rem;
    align-items: center;
    /*justify-content: space-between;*/
}
@media screen and (max-width: 767px) {
    .p-intr__list {
        /*grid-template-columns: repeat(6, 1fr);
        overflow: scroll;
        -ms-overflow-style: none;
        scrollbar-width: none;*/
        gap: 4rem;
        padding: 15px 2vw 2vw;

    }
}

/*コンテンツ説明部分*/

.p-read {
    position: relative;
    z-index: 0;
    padding: 0rem 4rem 2rem;

}
@media screen and (min-width: 768px) {
    .p-read {
        margin-top: -8vw;
    }
}

@media screen and (max-width: 767px) {
    .p-read {
        padding: 12rem 3rem 2rem;
    }
}
.p-read::before {
    content: "";
    position: absolute;
    z-index: -1;
    /*top: 8rem;*/
    right: 0;
    width: 36vw;
    background: url(/cdn/shop/files/dec-2.png) no-repeat center / contain;
    aspect-ratio: 50 / 57;
}
@media screen and (max-width: 767px) {
    .p-read::before {
        width: 60%;
    }
}
.p-read__margintop {
    margin-top: 10rem;
}
@media screen and (max-width: 767px) {
    .p-read__margintop {
        margin-top: 0rem;
    }
}

.p-read__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
;
    gap: 6vw;
    margin-bottom: 6rem;
}

@media screen and (max-width: 767px) {
    .p-read__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 3rem;

    }
}
.p-read__img {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin-left: calc(50% - 50vw);
}
.p-read__logo {
    max-width: 16vw;
    margin-top: 5vw;
    margin-right: 4vw;
    margin-bottom: 5vw;
    margin-left: auto;
}
@media screen and (max-width: 767px) {
    .p-read__logo {
        margin-top: 1rem;
        width: 35vw;
        max-width: 25rem;
        margin-right: auto;
        margin-left: 3rem;
        margin-bottom: 4rem;
    }
}
.p-read__desc {
    width: 60%;
}
@media screen and (max-width: 767px) {
    .p-read__desc {
        width: 100%;
    }
}
.p-read__desc h2 {
    font-size: clamp(1rem, 3vw, 3.6rem);
    font-weight: 600;
    line-height: 1.5;
    margin-bottom: 4rem;
    letter-spacing: 0.075em;
}
@media screen and (max-width: 767px) {
    .p-read__desc h2 {
        font-size: 2.2rem;
        margin-bottom: 3rem;
        letter-spacing: 0;
    }
}
.p-read__desc p {
    font-size: clamp(1rem, 1.2vw, 1.6rem);
    line-height: 1.8;
    letter-spacing: 0.075em;
}
@media screen and (max-width: 767px) {
    .p-read__desc p {
        font-size: 1.4rem;
    }
}
.p-read__desc p:not(:last-child) {
    margin-bottom: 2.5rem;
}
@media screen and (max-width: 767px) {
    .p-read__desc p:not(:last-child) {
        margin-bottom: 1.5rem;
    }
}
.p-read__img figure {
    overflow: hidden;
    border-radius: 0 6rem 6rem 0;
}
.p-read__img figure img {
    width: 100%;
    height: 58rem;
    -o-object-fit: cover;
    object-fit: cover;
    -o-object-position: center;
    object-position: center;
}
@media screen and (max-width: 767px) {
    .p-read__img figure img {
        height: 100vw;
    }
}

/*バナー*/

.p-bnr {
    padding: 8rem 3rem;
    max-width: 1200px;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
    .p-bnr {
        padding: 3rem 3rem 10rem;
    }
}
.p-bnr__large {
    display: block;
}


/*ボタン*/
.c-elmBtn__medium {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    background: #bda47b;
    border-radius: 5rem;
    padding: 1.5rem;
    text-align: center;
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600;
    width: 100%;
    max-width: 50rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 6rem;
}
@media screen and (max-width: 767px) {
    .c-elmBtn__medium {
        margin-top: 4rem;
        max-width: 100%;
    }
}
.c-elmBtn__medium span {
    background: #fff;
    border-radius: 100%;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex
;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 5rem;
    height: 5rem;
}
.c-elmBtn__medium span img {
    width: 60%;
    display: block;
}
.c-elmBtn__medium p {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    text-align: center;
    padding-right: 3rem;
}


/*カート*/

.cart__note .text-area {
    resize: vertical;
    background: transparent!important;
}
.cart__ctas button {
    color: #ffffff;
    align-items: center;
    width: calc(100% - 0rem);
    border-radius: 5rem;
    padding: 3rem;
    color: #fff;
    background: #bda47b;
    font-size: 1.8rem;
}
button.button.button--primary.button--full-width {
    display: none;
}

button.shopify-payment-button__button.shopify-payment-button__button--unbranded {
    display: none;
}


/*TOPページ動画エリア　GALLERYページ*/
.p-movie {
    padding: 12rem 4rem;
}
@media screen and (max-width: 767px) {
    .p-movie {
        padding: 3rem;
    }
}
.p-movie__wrap iframe {
    width: 100%;
    height: 100%;
    aspect-ratio: 560 / 400;
}

/*TOPページ：WILD CROWNからのお約束エリア*/
.p-future {
    position: relative;
    padding: 0 4rem 12rem;
}
@media screen and (max-width: 767px) {
    .p-future {
        padding: 0 3rem 8rem;
    }
}
.p-future::before {
    content: "";
    position: absolute;
    z-index: -1;
    top: -7rem;
    left: 0;
    width: 32rem;
    background: url(/cdn/shop/files/dec-3.png) no-repeat center / contain;
    aspect-ratio: 451 / 515;
}
@media screen and (max-width: 767px) {
    .p-future::before {
        top: -4rem;
        width: 20rem;
    }
}
.p-future__read {
    position: relative;
    width: -webkit-fit-content;
    width: -moz-fit-content;
    width: fit-content;
    width: 100%;
    max-width: 80rem;
    margin: auto;
}
.p-future__read .dog-1 {
    position: absolute;
    z-index: 10;
    top: -3rem;
    right: 5rem;
    width: clamp(1rem, 10vw, 14rem);
}
@media screen and (max-width: 767px) {
    .p-future__read .dog-1 {
        right: 0rem;
        width: 8rem;
    }
}
.p-future__read p {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 1.8;
    padding: 3rem 0;
    text-align: center;
    border-radius: 6rem 6rem 0 6rem;
    background: #f9f7f3;
    -webkit-box-shadow: 0 0 1rem rgba(166, 137, 97, 0.2);
    box-shadow: 0 0 1rem rgba(166, 137, 97, 0.2);
}
@media screen and (max-width: 767px) {
    .p-future__read p {
        font-size: 1.4rem;
        border-radius: 4rem 4rem 0 4rem;
    }
}
.p-future__read p span {
    background: -webkit-gradient(linear, left top, left bottom, color-stop(50%, transparent), color-stop(50%, #f4ec94));
    background: linear-gradient(transparent 50%, #f4ec94 50%);
}
.p-future__read .dog-2 {
    position: absolute;
    z-index: 10;
    bottom: -4rem;
    left: 5rem;
    width: clamp(1rem, 8vw, 11rem);
}
@media screen and (max-width: 767px) {
    .p-future__read .dog-2 {
        left: 1rem;
        width: 6rem;
    }
}
.p-future__wrap {
    margin-top: 12rem;
    margin-bottom: 12rem;
}
@media screen and (max-width: 767px) {
    .p-future__wrap {
        margin-top: 8rem;
        margin-bottom: 8rem;
    }
}
.p-future__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 7vw;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
@media screen and (max-width: 767px) {
    .p-future__item {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
        gap: 3rem;
        margin-bottom: 5rem;
    }
}
.p-future__item:nth-of-type(even) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-direction: row-reverse;
    flex-direction: row-reverse;
}
@media screen and (max-width: 767px) {
    .p-future__item:nth-of-type(even) {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}
.p-future__img {
    width: 100%;
    max-width: 50rem;
}
.p-future__desc h3 {
    font-size: clamp(1rem, 2vw, 2.8rem);
    font-weight: 600;
    line-height: 1.5;
    position: relative;
    margin-bottom: 3rem;
    padding-left: 10rem;
}
@media screen and (max-width: 989px) {
    .p-future__desc h3 {
        padding-left: 4rem;
    }
}
@media screen and (max-width: 767px) {
    .p-future__desc h3 {
        font-size: 2.1rem;
        padding-left: 6rem;
    }
}
.p-future__desc h3 img {
    position: absolute;
    z-index: -1;
    top: -6rem;
    left: -2rem;
    width: 14rem;
}
@media screen and (max-width: 989px) {
    .p-future__desc h3 img {
        top: -4rem;
        left: -2rem;
        width: 8rem;
    }
}
@media screen and (max-width: 767px) {
    .p-future__desc h3 img {
        top: -5rem;
        left: -2rem;
        width: 10rem;
    }
}
.p-future__desc p {
    font-size: clamp(1rem, 1.2vw, 1.6rem);
    line-height: 2;
}
@media screen and (max-width: 767px) {
    .p-future__desc p {
    font-size: 1.4rem;
    }
}

/*TOPページ：見学からご家族になるまで*/
.p-guide {
    padding: 8rem 3rem;
    background: rgba(235, 228, 215, 0.4);
}
@media screen and (max-width: 767px) {
    .p-guide {
        padding: 8rem 3rem;
    }
}
.p-guide__list {
    display: grid;
    gap: 2rem;
    grid-template-columns: repeat(2, 1fr);
}
@media screen and (max-width: 767px) {
    .p-guide__list {
        grid-template-columns: repeat(1, 1fr);
    }
}
.p-guide__list dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 3rem;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 2rem;
    border-radius: 3rem;
    background: #ffffff;
}
@media screen and (max-width: 767px) {
    .p-guide__list dl {
        gap: 1.5rem;
        padding: 2rem;
    }
}
.p-guide__list dl dt {
    width: 13rem;
}
@media screen and (max-width: 989px) {
    .p-guide__list dl dt {
        width: 10rem;
    }
}
@media screen and (max-width: 767px) {
    .p-guide__list dl dt {
        width: 5rem;
    }
}
.p-guide__list dl dd h3 {
    font-size: clamp(1rem, 1.8vw, 2.4rem);
    font-weight: 600;
    margin-bottom: 1.8vw;
    -webkit-text-decoration: underline wavy #f5cc54;
    text-decoration: underline wavy #f5cc54;
    text-underline-offset: 1.1vw;
}
@media screen and (max-width: 767px) {
    .p-guide__list dl dd h3 {
        font-size: 1.8rem;
        margin-bottom: 2rem;
        text-underline-offset: 1.2rem;
    }
}
.p-guide__list dl dd p {
    font-size: clamp(1rem, 1.2vw, 1.6rem);
    line-height: 2;
}
@media screen and (max-width: 767px) {
    .p-guide__list dl dd p {
        font-size: 1.3rem;
        line-height: 1.7;
    }
}

/*GUIDE*/
.p-visit {
    padding: 1rem 12rem 12rem;
    position: relative;
}
@media screen and (max-width: 767px) {
    .p-visit {
        padding: 4rem 3rem 8rem;
    }
}
.p-visit::after {
    content: "";
    width: 26rem;
    aspect-ratio: 109 / 103;
    position: absolute;
    bottom: 12rem;
    left: 5rem;
    z-index: -1;
    background: url(/cdn/shop/files/dec-4.png) no-repeat center / contain;
}
@media screen and (max-width: 767px) {
    .p-visit::after {
        width: 20rem;
        bottom: 4rem;
        left: -5rem;
    }
}

.p-visit__desc p {
    max-width: 80rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 6rem;
    font-size: clamp(1.4rem, 1.2vw, 1.6rem);
    line-height: 2;
}
.p-visit__desc img {
    width: 100%;
    max-width: 900px;
    margin-left: auto;
    margin-right: auto;
    margin-top: 4rem;
    display: block;
}
@media screen and (max-width: 767px) {
    .p-visit__desc img {
        max-width: 100%;
    }
}
.p-flow {
    padding: 8rem 3rem;
    background: rgba(235, 228, 215, 0.4);
}
@media screen and (max-width: 767px) {
    .p-flow {
        padding: 8rem 3rem;
    }
}
.p-flow__wrap{
    margin-top: -3rem;
}
.p-flow__item {
    background: #fff;
    border-radius: 6rem;
    overflow: hidden;
}
@media screen and (max-width: 767px) {
    .p-flow__item {
        border-radius: 4rem;
    }
}
.p-flow__item dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 3rem;
    background: #f7f7f7;
    padding: 3rem;
}
@media screen and (max-width: 767px) {
    .p-flow__item dl {
        padding: 2rem;
        gap: 1.5rem;
    }
}
.p-flow__item dl dt {
    width: clamp(6rem, 8vw, 10rem);
}
@media screen and (max-width: 767px) {
    .p-flow__item dl dt {
        width: 6rem;
    }
}
.p-flow__item dl dd {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.p-flow__item dl dd h3 {
    font-size: clamp(1rem, 2vw, 2.4rem);
    font-weight: 600;
    margin-bottom: 0.9rem;
}
@media screen and (max-width: 767px) {
    .p-flow__item dl dd h3 {
        font-size: 2rem;
        margin-bottom: 0.5rem;
    }
}
.p-flow__item dl dd p {
    font-size: clamp(1rem, 1.2vw, 1.6rem);
    line-height: 1.5;
    color: #a68961;
}
@media screen and (max-width: 767px) {
    .p-flow__item dl dd p {
        font-size: 1.4rem;
    }
}
.p-flow__desc {
    padding: 5rem 5rem 5rem 10rem;
}
@media screen and (max-width: 767px) {
    .p-flow__desc {
        padding: 2rem;
    }
}
.p-flow__desc p {
    font-size: clamp(1.4rem, 1.2vw, 1.6rem);
    line-height: 2;
}
.p-flow__desc p:not(:last-child) {
    margin-bottom: 2rem;
}
.p-flow__intr {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 2rem;
}
@media screen and (max-width: 767px) {
    .p-flow__intr {
        gap: 1rem;
    }
}
.p-flow__intr img {
    width: calc((100% - 4rem) / 3);
}
@media screen and (max-width: 767px) {
    .p-flow__intr img {
        width: calc((100% - 2rem) / 3);
    }
}
.p-flow__stamp {
    text-align: center;
    margin: 3rem 0;
}
.p-flow__stamp img {
    max-width: clamp(3.6rem, 6vw, 7.6rem);
}
@media screen and (max-width: 767px) {
    .p-flow__stamp img {
        max-width: 3.6rem;
    }
}
.p-flow__box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    gap: 5rem;
    padding: 5rem 5rem 5rem 10rem;
}
@media screen and (max-width: 767px) {
    .p-flow__box {
        gap: 1rem;
        padding: 2rem;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}
.p-flow__box__desc p {
    font-size: clamp(1rem, 1.2vw, 1.6rem);
    line-height: 1.8;
    letter-spacing: 0.1em;
}
@media screen and (max-width: 767px) {
    .p-flow__box__desc p {
        font-size: 1.3rem;
    }
}
.p-flow__box__desc ul {
    margin-top: 5rem;
    border-radius: 6rem;
    padding: 4rem;
    list-style: disc;
    background: #fbf9f7;
}
@media screen and (max-width: 767px) {
    .p-flow__box__desc ul {
        margin-top: 2rem;
        border-radius: 2rem;
        padding: 2rem;
    }
}
.p-flow__box__desc ul li {
    font-size: clamp(1rem, 1.2vw, 1.6rem);
    margin-left: 2rem;
}
@media screen and (max-width: 767px) {
    .p-flow__box__desc ul li {
        font-size: 1.3rem;
    }
}
.p-flow__box__desc ul li:not(:last-child) {
    margin-bottom: 2rem;
}
@media screen and (max-width: 767px) {
    .p-flow__box__desc ul li:not(:last-child) {
        margin-bottom: 1rem;
    }
}
.p-flow__box__img ul {
    margin-top: 4rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 1.5rem;
    max-width: 32rem;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width: 767px) {
    .p-flow__box__img ul {
        gap: 0.8rem;
        margin-top: 3rem;
    }
}
.p-person {
    padding: 8rem 3rem;
    position: relative;
}
@media screen and (max-width: 767px) {
    .p-person {
        padding: 8rem 3rem;
    }
}
.p-person::before {
    content: "";
    width: 32rem;
    aspect-ratio: 451 / 515;
    position: absolute;
    top: 20rem;
    left: 0;
    z-index: -1;
    background: url(../../assets/img/dec-3.png) no-repeat center / contain;
}
@media screen and (max-width: 767px) {
    .p-person::before {
        width: 22rem;
    }
}
.p-person__wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 6rem;
    margin-top: 12rem;
}
@media screen and (max-width: 767px) {
    .p-person__wrap {
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-direction: column;
        flex-direction: column;
    }
}
.p-person::after {
    content: "";
    width: 30rem;
    aspect-ratio: 109 / 103;
    position: absolute;
    top: 4rem;
    right: 2rem;
    z-index: -1;
    background: url(/cdn/shop/files/dec-4.png) no-repeat center / contain;
}
@media screen and (max-width: 767px) {
    .p-person::after {
        width: 18rem;
        right: 0rem;
    }
}
.p-person__desc {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
}
.p-person__desc p {
    font-size: clamp(1.4rem, 1.2vw, 1.6rem);
    line-height: 2;
}
.p-person__img {
    width: 50%;
    position: relative;
}
@media screen and (max-width: 767px) {
    .p-person__img {
        width: 70%;
    }
}
.p-person__img figure {
    max-width: clamp(1rem, 28vw, 34rem);
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width: 767px) {
.p-person__img figure {
    max-width: 34rem;
    }
}
.p-person__img span {
    position: absolute;
}
.p-person__img span:nth-of-type(1) {
    top: -6rem;
    left: 12rem;
    width:  clamp(1rem, 9vw, 11rem);
    z-index: 2;
}
@media screen and (max-width: 767px) {
    .p-person__img span:nth-of-type(1) {
        top: -4rem;
        left: -3rem;
        width: 9rem;
    }
}
.p-person__img span:nth-of-type(2) {
    top: 1rem;
    left: 0;
    width:  clamp(1rem, 15vw, 18rem);
    z-index: 1;
}
@media screen and (max-width: 767px) {
    .p-person__img span:nth-of-type(2) {
        top: 4rem;
        left: -7rem;
        width: 12rem;
    }
}
.p-person__img span:nth-of-type(3) {
    bottom: 0;
    left: 6rem;
    width:  clamp(1rem, 11vw, 13rem);
    z-index: 2;
}
@media screen and (max-width: 767px) {
    .p-person__img span:nth-of-type(3) {
        bottom: 0;
        left: -6rem;
        width: 9rem;
    }
}
.p-person__img span:nth-of-type(4) {
    top: -4rem;
    right: 5rem;
    width:  clamp(1rem, 9vw, 11rem);
    z-index: 1;
}
@media screen and (max-width: 767px) {
    .p-person__img span:nth-of-type(4) {
        top: -4rem;
        right: -5rem;
        width: 9rem;
    }
}
.p-person__img span:nth-of-type(5) {
    top: 5rem;
    right: 0;
    width:  clamp(1rem, 11vw, 13rem);
    z-index: 2;
}
@media screen and (max-width: 767px) {
    .p-person__img span:nth-of-type(5) {
        top: 9rem;
        right: -5rem;
        width: 10rem;
    }
}
.p-person__img span:nth-of-type(6) {
    top: 22rem;
    right: 5rem;
    width:  clamp(1rem, 9vw, 11rem);
    z-index: 1;
}
@media screen and (max-width: 767px) {
    .p-person__img span:nth-of-type(6) {
        top: 18rem;
        right: -6rem;
        width: 9rem;
    }
}

/*ABOUT*/
.p-read__img figure img.small {
    height: 48rem;
}
.p-company {
    padding: 12rem 3rem;
    background: rgba(235, 228, 215, 0.4);
}
@media screen and (max-width: 767px) {
    .p-company {
        padding: 8rem 3rem;
    }
}
.p-company__wrap {
    max-width: 100rem;
    margin: auto;
    padding: 8rem;
    background: #fff;
    border-radius: 6rem;
    width: 90%;
}
@media screen and (max-width: 767px) {
    .p-company__wrap {
        padding: 4rem;
        width: 100%;
    }
}
.p-company__wrap dl {
    display: grid;
    grid-template-columns: 18rem 1fr;
}
@media screen and (max-width: 767px) {
    .p-company__wrap dl {
        display: block;
    }
}
.p-company__wrap dl:not(:last-child) {
    border-bottom: solid 1px #eee;
}
.p-company__wrap dl dt {
    font-size: clamp(1.3rem, 1.2vw, 1.6rem);
    line-height: 2;
    letter-spacing: 0.1em;
    padding: 2rem 0;
}
@media screen and (max-width: 767px) {
    .p-company__wrap dl dt {
        padding: 2rem 0 0;
    }
}
.p-company__wrap dl dd {
    font-size: clamp(1.3rem, 1.2vw, 1.6rem);
    line-height: 2;
    padding: 2rem 0;
}
@media screen and (max-width: 767px) {
    .p-company__wrap dl dd {
        padding: 1rem 0 2rem;
    }
}

/*GALLERY*/

.p-gallery {
    padding: 10rem 3rem 12rem 3rem;
    position: relative;
}

@media screen and (min-width: 768px) {
    .p-gallery {
        margin-top: -15vw;
    }
}
.p-single h1 {
    font-size: 2.4rem;
    font-weight: 600;
    line-height: 1.45;
    border-left: solid 0.6rem #bda47b;
    margin: 4rem 0 2.5rem;
    padding-left: 1.8rem;
}
@media screen and (max-width: 767px) {
    .p-single h1 {
        font-size: 2.1rem;
        margin: 3rem 0 2rem;
    }
}
.p-single iframe {
    max-width: 100%;
    width: 100%;
    height: 100%;
    aspect-ratio: 500 / 280;
}

  #yt-section-{{ section.id }} .yt-pager {
    margin-top: 6rem;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 2rem;
    font-size: 1.6rem;
  }
  #yt-section-{{ section.id }} .yt-pager-btn {
    color: #ffffff;
    align-items: center;
    width: 25vw;
    border-radius: 5rem;
    padding: 2rem;
    color: #fff;
    background: #bda47b;
    font-size: 1.8rem;
  }
  #yt-section-{{ section.id }} .yt-pager-btn:disabled {
    opacity: .4;
    cursor: default;
  }

/*PRIVACY*/
.p-privacy {
    padding: 12rem 3rem 12rem 3rem;
    position: relative;
}
@media screen and (min-width: 768px) {
    .p-privacy {
        margin-top: -15vw;
    }
}
.p-privacy__list:not(:last-child) {
    margin-bottom: 6rem;
}
.p-privacy__list-summary {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    gap: 2rem;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    border-bottom: dotted 2px #dddddd;
}
.p-privacy__list-summary::before {
    content: "";
    display: block;
    width: 2rem;
    height: 0.2rem;
    background: #000000;
}
.p-privacy__list-summary p {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size:  clamp(1.4rem, 1.2vw, 1.6rem);
    line-height: 2;
    letter-spacing: 0.1em;
}
.p-privacy__list-detail p {
    font-size:  clamp(1.4rem, 1.2vw, 1.6rem);
    line-height: 2;
    letter-spacing: 0.1em;
}

/*contact*/

section#product-contact-section {
    margin-top: -6rem;
}

.p-form {
    position: relative;

    padding: 10rem 4rem 2rem;
}
@media screen and (min-width: 768px) {
    .p-form {
        margin-top: -15vw;
    }
}

.p-form__table {
    width: 100%;
    max-width: 100rem;
    margin: 8rem auto 0;
}
@media screen and (max-width: 767px) {
    .p-form__table {
        width: 100%;
        max-width: 100rem;
        margin: 8rem auto 0;
    }
}
@media screen and (max-width: 767px) {
    .p-form__table tbody {
        display: block;
    }
}
.p-form__table tbody tr {
    border-top: solid 1px #eeeeee;
}
@media screen and (max-width: 767px) {
    .p-form__table tbody tr {
        display: block;
        border-top: solid 1px #eeeeee;
    }
}
.p-form__table tbody tr th {
    font-size:  clamp(1.4rem, 1.2vw, 1.6rem);
    position: relative;
    width: 32rem;
    padding: 2.5rem;
    text-align: left;
    vertical-align: middle;
}
@media screen and (max-width: 767px) {
    .p-form__table tbody tr th {
        display: block;
        font-size:  clamp(1.4rem, 1.2vw, 1.6rem);
        position: relative;
        width: auto;
        padding: 2rem 0;
    }
}
.p-form__table tbody tr th .required {
    font-size: 1.2rem;
    position: absolute;
    top: 50%;
    right: 2rem;
    padding: 0.5rem 0.8rem;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%);
    color: #ffffff;
    border-radius: 0.5rem;
    background: #ff4848;
}
@media screen and (max-width: 767px) {
    .p-form__table tbody tr th .required {
        font-size: 1.2rem;
        position: absolute;
        top: 50%;
        right: 2rem;
        padding: 0.5rem 0.8rem;
        -webkit-transform: translateY(-50%);
        transform: translateY(-50%);
        color: #ffffff;
        border-radius: 0.5rem;
        background: #ff4848;
    }
}
.p-form__table tbody tr td {
    padding: 2.5rem;
    vertical-align: middle;
}
@media screen and (max-width: 767px) {
    .p-form__table tbody tr td {
        display: block;
        padding: 0 0 2rem;
    }
}

.p-form input[type=text], .p-form input[type=email],.p-form input[type=tel] {
    font-size: 1.5rem;
    display: block;
    width: 100%;
    padding: 1.5rem;
    border-radius: 0.5rem;
    background: #eeeeee;
}
@media screen and (max-width: 767px) {
    .p-form input[type=text], .p-form input[type=email],.p-form input[type=tel] {
        font-size: 1.5rem;
        display: block;
        width: 100%;
        padding: 1.5rem;
        border-radius: 0.5rem;
        background: #eeeeee;
    }
}
.p-form__table tbody tr th small {
    display: block;
    margin-top: 0.8rem;
}
.p-form input[type=checkbox], .p-form input[type=radio] {
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
    
}
@media screen and (max-width: 767px) {
    .p-form input[type=checkbox], .p-form input[type=radio] {
    	width: 18px;
	height:	18px;
	-moz-transform:	scale(1.2);
	-webkit-transform: scale(1.2);
	transform: scale(1.2);
    }
}
.p-form textarea {
    font-size: 1.5rem;
    display: block;
    width: 100%;
    min-height: 20rem;
    padding: 1.5rem;
    resize: none;
    border-radius: 0.5rem;
    background: #eeeeee;
}
@media screen and (max-width: 767px) {
    .p-form textarea {
        font-size: 1.5rem;
        display: block;
        width: 100%;
        min-height: 20rem;
        padding: 1.5rem;
        resize: none;
        border-radius: 0.5rem;
        background: #eeeeee;
    }
}
button.contact-submit {
    font-size: 1.8rem;
    display: block;
    width: 100%;
    max-width: 28rem;
    margin: 6rem auto 0;
    padding: 3rem;
    text-align: center;
    letter-spacing: 0.1em;
    color: #ffffff;
    background: #a68961;
    border-radius: 5rem;
    margin-bottom: 8rem;
}
@media screen and (max-width: 767px) {
    button.contact-submit {
        margin: 4rem auto 0;
        padding: 2rem;
        margin-bottom: 8rem;
    }
}

.confirm-group {
    margin-top: 4rem;
    padding: 4rem;
    border-radius: 3rem;
    background: #ffecec;
    max-width: 950px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}
@media screen and (max-width: 767px) {
.confirm-group {
    padding: 2rem;
    }
}

.confirm-group p {
    color: #d00;
    margin-bottom: 2rem;
    line-height: 2.2rem;
}




  /* 成功・エラー表示 */
  #product-contact-section .contact-success {
    margin-bottom: 8rem;
    padding: 8rem;
    background: #fff;
    border-radius: 3rem;
    width: 100%;
    overflow: hidden;
  }
@media screen and (max-width: 767px) {
  #product-contact-section .contact-success {
    padding: 4rem;
    line-height: 2.2rem;
 
  }
  }

  #product-contact-section .contact-errors {
    margin-bottom: 8rem;
    padding: 8rem;
    background: #fff;
    border-radius: 6rem;
    background: #ffecec;
 
  }

  @media screen and (max-width: 767px) {
  #product-contact-section .contact-errors {
    padding: 4rem;
    line-height: 2.2rem;
  
  }
  }

  #product-contact-section .error-message {
    font-size: 1.2rem;
    color: #d00;
    margin-top: 2rem;


  }

@media screen and (max-width: 768px) {
  /* iPhoneでの自動ズーム防止用 */
  #product-contact-section input[type="text"],
  #product-contact-section input[type="tel"],
  #product-contact-section input[type="email"],
  #product-contact-section input[type="search"],
  #product-contact-section input[type="url"],
  #product-contact-section input[type="number"],
  #product-contact-section textarea,
  #product-contact-section select {
    font-size: 16px; 
  }
}

/*LOGIN ACCOUNT*/

.p-account {
    position: relative;
    padding: 2rem 4rem 10rem;
}

.customer button {
    font-size: 1.8rem;
    display: block;
    width: 100%;
    padding: 2rem;
    text-align: center;
    letter-spacing: 0.1em;
    color: #ffffff;
    background: #a68961;
    border-radius: 5rem;
}

.button:after, .shopify-challenge__button:after, .customer button:after, .shopify-payment-button__button--unbranded:after {
    content: "";
    position: relative!important;
    font-size: 0px;
}

.activate button[name=decline], .addresses li>button, .addresses form button[type] {
    background-color:#a68961!important;

}

.customer form {
    /*margin-top: -6rem!important;*/
}
.customer__title {
    font-family: "Lora", serif;
    font-size: 4vw;
    font-weight: bold;
    color: #a68961;
    text-transform: uppercase;
}
@media screen and (max-width: 767px) {
    .customer__title {
    font-size: 8vw;
    }
}

.addresses ul p {
    font-size: clamp(1.4rem, 1.2vw, 1.6rem);
    text-align: left;
    font-weight: bold;
    margin-left: 2rem;
}
@media screen and (max-width: 768px) {
.customer:not(.account):not(.order) {
    padding-left: 0rem !important;
    padding-right: 0rem !important;
}
}
li[data-address] {
    margin-top: 5rem;
    border: 1px;
    background: #EFEAE2;
    padding: 2rem;
    border-radius: 2rem;
}

:is(.account,.order) p {
    line-height: 2.2rem;
}
  
/*voice*/

/*voice　アプリ部分*/
.trustshop-review--author_name {
    display: none!important;
}

.trustshop-view-image--right .trustshop-product-container {
    display: none!important;
}
.trustshop-review--author {
    display: none!important;
}

.trustshop-view-image--right #trustshop-view-image--review .review-item-action--field button {
    display: none!important;
}

.trustshop-medias-sections--wrap {
    display: none!important;
}

.trustshop-image-review--container {
    display: none!important;
}

.trustshop-review-summary--box.type-top.style-minimal {
    display: none!important;
}

#trustshop-loadmore--container {
    visibility: hidden!important;
}

.trustshop-no--review {
    display: none!important;
}

.trustshop-review-item--container {
 
    border-radius: var(--trustshop-corner-element-radius, 0);
    flex-direction: row;
    flex-wrap: nowrap;
    justify-content: space-between;
    padding: 3vw!important;
    border-radius: 50px!important;
    background: #efeae2!important;
 
}

@media screen and (max-width: 768px) {
.trustshop-review-item--container {
    padding: 6vw!important;
}
}

.trustshop-review-item--wrap {
    flex-direction: column !important;
}

.trustshop-review-item--wrap .trustshop-review--header {
    flex-direction: column-reverse !important;
}

.trustshop-review-item--container:last-child {
  margin-bottom:100px;
}

.trustshop-score-card-type--top {
   background: #fff;
}

@media screen and (min-width: 594px) {
.trustshop-review-media-focus--container{
    height: 300px !important;
    width: 35% !important;
}
}

/*voiceウィジェットを非表示（ウィジェットを有効にしないとCSSが効かないので）*/
div#shopify-block-AT3hodXF6dGR3djJHd__trustshop_reviews_review_carousel_zmpkaR {
    display: none!important;
}
