@charset "UTF-8";


body {
    margin: 0;
}

.s3d {
    position: relative;
    display: flex;
}

.s3d img {
    opacity: 0.6;
}


.s3p {
    position: absolute;
    display: block;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    text-align: center;
}

.s3p-1 {
    color: white;
    margin-bottom: 0;
    padding-bottom: 0;
    font-family: "Noto Serif JP", Sans-serif;

}

.s3p-2 {
    color: white;
    margin-bottom: 0;
    padding-bottom: 0;
    font-size: 0.6rem;
    font-family: "Noto Serif JP", Sans-serif;
}

.s4d {
    position: relative;
    display: flex;
}

p.s4p1 {
    color: white;
    transform: rotate(-90deg);
    position: absolute;
    top: 50px;
    left: 0%;
    font-size: 0.6rem;
    font-family: "Noto Serif JP", sans-serif;
}

p.s4p2 {
    color: white;
    transform: rotate(90deg);
    position: absolute;
    bottom: 50px;
    right: 0%;
    font-size: 0.6rem;
    font-family: "Noto Serif JP", sans-serif;
}

span.s4d-l1 {
    content: "";
    position: absolute;
    border-bottom: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    transform: rotate(180deg);
    height: 300px;
    top: 0;
    left: 10%;
}

span.s4d-l2 {
    content: "";
    position: absolute;
    border-bottom: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    transform: rotate(180deg);
    height: 300px;
    bottom: 0;
    right: 10%;
}


/* fixed_btn */
.fixed_btn {
    position: fixed;
    top: 20%;
    left: 0;
    font-size: 0.6rem;
    font-family: "Noto Serif JP", sans-serif;
    background-color: #6d8593;
    color: #ffffff;
    border: 0;
    padding: 10px 5px 10px 5px;
}

/* footer */
.footer {
    background-color: #181819;
}

.footer_div {
    flex-direction: column;
    justify-content: center;
    align-items: center;
    text-align: center;
    padding-top: 30px;
    padding-bottom: 30px;
}

.footer_logo img {
    width: 50%;
    height: auto;
    padding-bottom: 5vh;
}

.footer_menu ul {
    display: flex;
    list-style-type: none;
    padding: 0;
}

.footer_menu li {
    color: #ffffff;
    position: relative;
    padding-left: 10px;
    padding-right: 10px;
    font-family: "Noto Serif JP", sans-serif;
    text-decoration: none;

}

.footer_menu a {
    text-decoration: none;
    color: #ffffff;
}

/* レストランページ */
.page-header {
    position: relative;
    text-align: end;
}

.page-header-resH {
    position: absolute;
    top: 50%;
    left: 10%;
    transform: translateY(-50%);
    text-align: start;

}

.phr1 {
    color: #ffffff;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 1.0rem;
    padding-bottom: 2px;
    margin-bottom: 0;
}

.phr2 {
    color: #ffffff;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 0.6rem;
    padding-top: 2px;
    margin-bottom: 0px;
}

.phr-line {
    content: "";
    border-bottom: 1px solid #ffffff;
    border-left: 1px solid #ffffff;
    width: 200px;
    position: absolute;
    left: -10%;
}

.page-header img {
    width: 80%;
}

.res_consept1 {
    position: relative;
}

.res_consept1 h4 {
    position: absolute;
    color: #ffffff;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 0.6rem;
    padding-top: 2px;
    margin-bottom: 0px;
    left: 5vw;
    top: 50%;
}

.res_conline1 {
    content: "";
    border-bottom: 1px solid #ffffff;
    width: 200px;
    position: absolute;
    left: 0;
    top: 0;
}

.res_conline2 {
    content: "";
    border-bottom: 1px solid #ffffff;
    width: 80vw;
    position: absolute;
    right: 0;
    top: 10px;
}

.res_consept2 {
    position: relative;
    height: 40vh;
}

.res_consept2 img {
    width: 70vw;

    position: absolute;
    left: 0vw
}

.res_consept2 h5 {
    position: absolute;
    color: #ffffff;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 1.0rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    right: 17vw;
    top: -2vh;
}

.res_consept2 p {
    position: absolute;
    color: #ffffff;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 0.6rem;
    top: 25vh;
    right: 15vw;
}

.res_consept2 .p_line {
    content: "";
    border-left: 1px solid #ffffff;
    position: absolute;
    /* transform: rotate(90deg); */
    height: 35vh;
    right: 10vw;
    top: 0;
}

.res_box1 {
    content: "";
    position: absolute;
    top: -4vh;
    right: 15vw;
    width: 20vw;
    height: 7vh;
    background-color: #6d8593;
}


/* ケーキページ */
.page-header_cake {
    position: relative;
    text-align: start;
}

.page-header-cakeH {
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translateY(-50%);
    text-align: start;

}

.phc1 {
    color: #ffffff;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 1.0rem;
    padding-bottom: 2px;
    margin-bottom: 0;
}

.phc2 {
    color: #ffffff;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 0.6rem;
    padding-top: 2px;
    margin-bottom: 0px;
}

.phc-line {
    content: "";
    border-bottom: 1px solid #ffffff;
    width: 200px;
    position: absolute;
    right: -10%;
}

.page-header_cake img {
    width: 80%;
}

.cake_consept1 {
    position: relative;
}

.cake_consept1 h4 {
    position: absolute;
    color: #ffffff;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 0.6rem;
    padding-top: 2px;
    margin-bottom: 0px;
    right: 5vw;
    top: 50%;
}

.cake_conline1 {
    content: "";
    border-bottom: 1px solid #ffffff;
    width: 200px;
    position: absolute;
    right: 0;
    top: 0;
}

.cake_conline2 {
    content: "";
    border-bottom: 1px solid #ffffff;
    width: 80vw;
    position: absolute;
    left: 0;
    top: 10px;
}

.cake_consept2 {
    position: relative;
    height: 40vh;
}

.cake_consept2 img {
    width: 70vw;
    position: relative;
    left: 100%;
    transform: translateX(-100%);

}

.cake_consept2 h5 {
    position: absolute;
    color: #ffffff;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 1.0rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    left: 17vw;
    top: -2vh;
}

.cake_consept2 p {
    position: relative;
    color: #ffffff;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 0.6rem;
    top: 1vh;
    right: 5vw;
    text-align: end;
}

.cake_consept2 .p_line {
    content: "";
    border-left: 1px solid #ffffff;
    position: absolute;
    /* transform: rotate(90deg); */
    height: 35vh;
    left: 10vw;
    top: 0;
}

.cake_box1 {
    content: "";
    position: absolute;
    top: -4vh;
    left: 15vw;
    width: 20vw;
    height: 7vh;
    background-color: #a38b78;
}

.cake_consept3 {
    position: relative;
    height: 40vh;
}

.cake_consept3 img {
    width: 70vw;
    position: relative;
    left: 0;

}

.cake_consept3 h5 {
    position: absolute;
    color: #ffffff;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 1.0rem;
    -ms-writing-mode: tb-rl;
    writing-mode: vertical-rl;
    right: 17vw;
    top: -2vh;
}

.cake_consept3 p {
    position: relative;
    color: #ffffff;
    font-family: "Noto Serif JP", sans-serif;
    font-size: 0.6rem;
    /* top: 25vh; */
    top: 1vh;
    padding-left: 5vw;
    text-align: start;
}

.cake_consept3 .p_line {
    content: "";
    border-left: 1px solid #ffffff;
    position: absolute;
    /* transform: rotate(90deg); */
    height: 35vh;
    right: 10vw;
    top: 0;
}

.cake_box2 {
    content: "";
    position: absolute;
    top: -4vh;
    right: 15vw;
    width: 20vw;
    height: 7vh;
    background-color: #6d8593;
}

/* メディアクエリ */

@media screen and (min-width: 481px) {

    /* 481px以上に適用されるCSS（タブレット用） */
    p.s4p1 {
        color: white;
        transform: rotate(-90deg);
        position: absolute;
        top: 50px;
        left: -10vh;
        font-size: 0.6rem;
        font-family: "Noto Serif JP", sans-serif;
    }

    p.s4p2 {
        color: white;
        transform: rotate(90deg);
        position: absolute;
        bottom: 50px;
        right: -10vh;
        font-size: 0.6rem;
        font-family: "Noto Serif JP", sans-serif;
    }

    span.s4d-l1 {
        content: "";
        position: absolute;
        border-bottom: 1px solid #ffffff;
        border-left: 1px solid #ffffff;
        transform: rotate(180deg);
        height: 500px;
        top: 0;
        left: -5vh
    }

    span.s4d-l2 {
        content: "";
        position: absolute;
        border-bottom: 1px solid #ffffff;
        border-left: 1px solid #ffffff;
        transform: rotate(180deg);
        height: 500px;
        bottom: 0;
        right: -5vh;
    }
}

@media screen and (min-width: 960px) {
    /* 960px以上に適用されるCSS（PC用） */

    .s2d {
        position: relative;

    }

    .s2d-l1 {
        content: "";
        position: absolute;
        border-bottom: 1px solid #ffffff;
        border-left: 1px solid #ffffff;
        transform: rotate(180deg);
        height: 50vh;
        bottom: 10vh;
        left: 23%;

    }

    .s2d-l2 {
        content: "";
        position: absolute;
        border-bottom: 1px solid #ffffff;
        border-left: 1px solid #ffffff;
        transform: rotate(180deg);
        height: 40vh;
        bottom: 27vh;
        left: 27%;

    }

    .s2p1 {
        color: white;
        transform: rotate(-90deg);
        position: absolute;
        bottom: 20vh;
        left: 25%;
        font-size: 0.6rem;
        font-family: "Noto Serif JP", sans-serif;
        line-height: 0;

    }

    p.s4p1 {
        color: white;
        transform: rotate(-90deg);
        position: absolute;
        top: 50px;
        left: -10vh;
        font-size: 0.6rem;
        font-family: "Noto Serif JP", sans-serif;
    }

    p.s4p2 {
        color: white;
        transform: rotate(90deg);
        position: absolute;
        bottom: 50px;
        right: -10vh;
        font-size: 0.6rem;
        font-family: "Noto Serif JP", sans-serif;
    }

    span.s4d-l1 {
        content: "";
        position: absolute;
        border-bottom: 1px solid #ffffff;
        border-left: 1px solid #ffffff;
        transform: rotate(180deg);
        height: 500px;
        top: 0;
        left: -5vh
    }

    span.s4d-l2 {
        content: "";
        position: absolute;
        border-bottom: 1px solid #ffffff;
        border-left: 1px solid #ffffff;
        transform: rotate(180deg);
        height: 500px;
        bottom: 0;
        right: -5vh;
    }

    /* レストランページ */
    .page-header {
        position: relative;
        text-align: end;
    }

    .page-header-resH {
        position: absolute;
        top: 50%;
        left: 10%;
        transform: translateY(-50%);
        text-align: start;

    }

    .phr1 {
        color: #ffffff;
        font-family: "Noto Serif JP", sans-serif;
        font-size: 2.0rem;
        padding-bottom: 2px;
        margin-bottom: 0;
    }

    .phr2 {
        color: #ffffff;
        font-family: "Noto Serif JP", sans-serif;
        font-size: 1.6rem;
        padding-top: 2px;
        margin-bottom: 0px;
    }

    .phr-line {
        content: "";
        border-bottom: 1px solid #ffffff;
        width: 50vw;
        position: absolute;
        left: -10%;
    }

    .page-header img {
        width: 80%;
    }

    .res_consept1 {
        position: relative;
    }

    .res_consept1 h4 {
        position: absolute;
        color: #ffffff;
        font-family: "Noto Serif JP", sans-serif;
        font-size: 0.7rem;
        padding-top: 2px;
        margin-bottom: 0px;
        left: 25vw;
        top: 20px;
    }

    .res_conline1 {
        content: "";
        border-bottom: 1px solid #ffffff;
        width: 50vw;
        position: absolute;
        left: 15vw;
        top: 0;
    }

    .res_conline2 {
        content: "";
        border-bottom: 1px solid #ffffff;
        width: 66vw;
        position: absolute;
        right: 0;
        top: 30px;
    }

    .res_consept2 {
        position: relative;
        height: auto;
    }

    .res_consept2 img {
        width: 50vw;
        position: relative;
        left: 20%;
    }

    .res_consept2 h5 {
        position: absolute;
        color: #ffffff;
        font-family: "Noto Serif JP", sans-serif;
        font-size: 2.0rem;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        right: 17vw;
        top: -2vh;
    }

    .res_consept2 p {
        position: relative;
        color: #ffffff;
        font-family: "Noto Serif JP", sans-serif;
        font-size: 1rem;
        top: 1rem;
        left: 50%;
        transform: translateX(-30%);
    }

    .res_consept2 .p_line {
        content: "";
        border-left: 1px solid #ffffff;
        position: absolute;
        /* transform: rotate(90deg); */
        height: 70vh;
        right: 10vw;
        top: 0;
    }

    .res_box1 {
        content: "";
        position: absolute;
        top: -4vh;
        right: 15vw;
        width: 20vw;
        height: 15vh;
        background-color: #6d8593;
    }

    /* ケーキページ */
    .page-header_cake {
        position: relative;
        text-align: start;
    }

    .page-header-cakeH {
        position: absolute;
        top: 50%;
        right: 10%;
        transform: translateY(-50%);
        text-align: start;

    }

    .phc1 {
        color: #ffffff;
        font-family: "Noto Serif JP", sans-serif;
        font-size: 2.0rem;
        padding-bottom: 2px;
        margin-bottom: 0;
    }

    .phc2 {
        color: #ffffff;
        font-family: "Noto Serif JP", sans-serif;
        font-size: 1.6rem;
        padding-top: 2px;
        margin-bottom: 0px;
    }

    .phc-line {
        content: "";
        border-bottom: 1px solid #ffffff;
        width: 50vw;
        position: absolute;
        right: -10%;
    }

    .page-header_cake img {
        width: 80%;
    }

    .cake_consept1 {
        position: relative;
    }

    .cake_consept1 h4 {
        position: absolute;
        color: #ffffff;
        font-family: "Noto Serif JP", sans-serif;
        font-size: 0.7rem;
        padding-top: 2px;
        margin-bottom: 0px;
        right: 25vw;
        top: 20%;
    }

    .cake_conline1 {
        content: "";
        border-bottom: 1px solid #ffffff;
        width: 50vw;
        position: absolute;
        right: 15vw;
        top: 0;
    }

    .cake_conline2 {
        content: "";
        border-bottom: 1px solid #ffffff;
        width: 66vw;
        position: absolute;
        left: 0;
        top: 30px;
    }

    .cake_consept2 {
        position: relative;
        height: auto;
    }

    .cake_consept2 img {
        width: 50vw;
        position: relative;
        left: 80%;
        transform: translateX(-100%);

    }

    .cake_consept2 h5 {
        position: absolute;
        color: #ffffff;
        font-family: "Noto Serif JP", sans-serif;
        font-size: 2.0rem;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        left: 17vw;
        top: -2vh;
    }

    .cake_consept2 p {
        position: relative;
        color: #ffffff;
        font-family: "Noto Serif JP", sans-serif;
        font-size: 1rem;
        top: 1vh;
        right: 20%;
        text-align: end;
    }

    .cake_consept2 .p_line {
        content: "";
        border-left: 1px solid #ffffff;
        position: absolute;
        /* transform: rotate(90deg); */
        height: 70vh;
        left: 10vw;
        top: 0;
    }

    .cake_box1 {
        content: "";
        position: absolute;
        top: -4vh;
        left: 15vw;
        width: 20vw;
        height: 17vh;
        background-color: #a38b78;
    }

    .cake_consept3 {
        position: relative;
        height: auto;
    }

    .cake_consept3 img {
        width: 50vw;
        position: relative;
        left: 20%;

    }

    .cake_consept3 h5 {
        position: absolute;
        color: #ffffff;
        font-family: "Noto Serif JP", sans-serif;
        font-size: 2.0rem;
        -ms-writing-mode: tb-rl;
        writing-mode: vertical-rl;
        right: 17vw;
        top: -2vh;
    }

    .cake_consept3 p {
        position: relative;
        color: #ffffff;
        font-family: "Noto Serif JP", sans-serif;
        font-size: 1rem;
        /* top: 25vh; */
        top: 1rem;
        left: 15%;
        /* padding-left: 5vw; */
        text-align: start;
    }

    .cake_consept3 .p_line {
        content: "";
        border-left: 1px solid #ffffff;
        position: absolute;
        /* transform: rotate(90deg); */
        height: 35vh;
        right: 10vw;
        top: 0;
    }

    .cake_box2 {
        content: "";
        position: absolute;
        top: -4vh;
        right: 15vw;
        width: 20vw;
        height: 15vh;
        background-color: #6d8593;
    }
}