@charset "UTF-8";

ul {
    padding: 0;
}
ul li {
    font-family: var(--font_jp);
}

.mainVisual {
    width: 100%;
    height: 51.857143vw;
    position: relative;
    overflow: hidden;
}
.mainVisual .imgView p.cap {
    font-family: var(--font_jp);
    line-height: 1;
    z-index: 2 !important;
}
.mainVisual .imgView img {
    width: 100vw;
    height: auto;
}
.mainVisual .imgView .box.only600 {
    display: block;
    position: absolute;
    bottom: 3.4988vw;
    left: 4.500877vw;
    transition: opacity 1s ease-out;
    opacity: 0;
    z-index: 3;
}
.mainVisual .imgView .box.only600 img {
    display: block;
    width: 37.1375vw;
    opacity: 1;
    transition: opacity 1s ease-out;
    z-index: 2;
}

.arrow.arrowOther {
    position: relative;
}
.arrow.arrowOther span {
    border-top: 2px solid var(--border_color );
    border-right: 2px solid var(--border_color );
    transform: rotate(135deg);
    -webkit-transform: rotate(135deg);
    position: relative;
}
.arrow.arrowOther span:nth-of-type(1) {
  bottom: -10px;
}
.arrow.arrowOther span:nth-of-type(2) {
  bottom: 0;
}

.cont.ch {
    background: #fff;
    position: relative;
    overflow: hidden;
}
.back {
    width: min(120px, 8.571429vw);
    display: block;
    z-index: 2;
}
.cont.ch .back {
    position: absolute;
    top: 1.5rem;
    right: 1.5rem;
}
.cont.ch + .back {
    margin: 0 1.5rem 50px auto;
}
.cont.ch .box img {
    margin: 0;
    display: flex;
}
.cont.ch .box h2 {
    width: 100%;
    padding: 0 0 0.5rem 0;
    text-align: left;
    font-family: var(--font_jp);
    color: #231815;
    position: relative;
}
.cont.ch .box h2::before {
    content: "";
    display: block;
    width: 100%;
    border-bottom: solid 1px var(--border_color);
    position: absolute;
    right: 0;
    bottom: 0;
}
.cont.ch .box .copy p {
    color: #231815;
    text-shadow: unset;
}

/* animation */
.box.only600 p.target.trigger,
.box.spOnly600 p.target.trigger,
.back.target.trigger {
    opacity: 0;
}
@media (max-width: 1024px) {
    .back {
        width: clamp(80px, 9.765625vw, 100px);
    }
}
@media (max-width: 600px) {
    .mainVisual .imgView .box.only600 {
        display: none;
    }
    .box.spOnly600 {
        padding: 30px 5% 50px 5%;
    }
    .mainVisual .imgView.active .box.only600,
    .mainVisual .imgView.active .box.only600 img {
        opacity: 0;
        visibility: hidden;
        z-index: -100;
    }
}

/* about01 */
.cont .box {
    width: 95vw;
    margin: 0 0 0 auto;
    padding: 0 0 50px 0;
    border-bottom: solid 1px var(--border_color);
}
.cont .box.about01 {
    padding: 1.875rem 0 50px 0;
}
.cont .box .copy {
    /* margin: 1.5625rem 0 0 0; */
    float: left;
}
.copy h3 {
    margin: 0 0 1rem 0;
    padding: 0;
    display: inline-block;
    text-align: left;
    font-family: var(--font_jp);
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 0.2em;
    line-height: 1;
    color: #231815;
}
@media (max-width: 1024px) {
    .copy h3 {
        font-size: clamp(20px, 2.34375vw, 24px);
    }
}
@media (max-width: 600px) {
    .copy h3 {
        border-top: unset;
        border-bottom: unset;
    }
}

/* 共通 */
.box .fBox {
    width: 100%;
    height: auto;
    margin: 1.875rem 0 0 0;
    display: flex;
}
.box .fBox .copy {
    width: 50%;
    display: flex;
    flex-direction: column;
}
.fBox .copy ul {
    margin: auto 0 0 0;
}
.fBox .copy ul li {
    width: 100%;
}
.box .fBox .imgBox {
    width: 47.4741vw;
    height: 100%;
    margin: 0;
    float: right;
}
.fBox img {
    width: 100%;
}
.fBox + ul {
    width: 100%;
    margin: 0;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.fBox + ul li {
    width: 50%;
}
.fBox .copy ul li:nth-of-type(n + 2),
.fBox + ul li:nth-of-type(n + 2) {
    margin: 1.875rem 0 0 0;
}
.fBox + ul li p {
    color: #231815;
    text-shadow: none;
}
ul li h4 {
    display: flex;
    flex-wrap: nowrap;
    font-size: 18px;
    letter-spacing: 0.2em;
    color: #908669;
}
ul li p {
    font-size: 14px;
    letter-spacing: 0.1em;
}
ul li span.priceBg {
    padding: 0.25em 0.5em;
    display: inline-block;
    line-height: 1.5;
    background: rgba(144, 134, 105, 0.2);
}
@media (max-width: 1200px) {
    ul li h4 {
        font-size: clamp(16px, 1.5vw, 18px);
    }
    ul li p {
        font-size: clamp(12px, 1.17vw, 14px);
    }
}
@media (max-width: 1100px) {
    .box .fBox {
        margin: 1.875rem 0;
    }
    .fBox + ul li:nth-of-type(n + 2) {
        margin: 0;
    }
    .fBox .copy ul li:nth-of-type(n + 2),
    .fBox + ul li:nth-of-type(n + 3) {
        margin: 1.875rem 0 0 0;
    }
}
@media (max-width: 600px) {
    .box .fBox {
        flex-wrap: wrap;
    }
    .box .fBox .copy {
        width: 100%;
    }
    .box .fBox .imgBox {
        width: 100%;
        margin: 1.5625rem 0 0 auto;
    }
    .fBox + ul li {
        width: 100%;
    }
    .fBox + ul li:nth-of-type(n + 2) {
        margin: 1.875rem 0 0 0;
    }
}

/* about02 */
@media (max-width: 1100px) {
    .about02 .fBox + ul.pcOnly1100 {
        display: flex !important;
    }
}

/* about03 */
@media (max-width: 1100px) {
    .about03 .fBox + ul.pcOnly1100 li {
        width: 100%;
    }
}

/* about04 */
.cont .about04 {
    padding: 0 0 80px 0;
    border-bottom: unset;
}
.cont .about04 .fBox + ul li p {
    line-height: 1.5;
}
.cont .about04 .fBox + ul li:nth-child(2) h4 + p {
    margin: 0 0 1rem 0;
}
.cont .about04 .fBox + ul li p .priceBg {
    margin: 0.25em 0 0 0;
    /* padding: 0.25em 0.5em;
    line-height: 1.5; */
}
@media (max-width: 1100px) {
    .cont .about04 .fBox + ul li:nth-child(2) h4 + p {
        margin: 0 0 1rem 0;
    }
}

/* caption */
i.caption {
    padding: 0.5rem 0 0 0;
    display: block;
    font-size: 10px;
    letter-spacing: 0.025em;
    line-height: 1.25;
}

/* policy */
.policy {
    width: 100%;
    max-width: 90%;
    margin: 0 auto 50px;
    font-family: var(--font_jp);
}
.policy i.caption {
    padding: 0;
}
.policy p.policyCont {
    margin: 1.25rem 0 0 0;
    font-size: 14px;
    line-height: 1.35;
}
@media (max-width: 1200px) {
    .policy p.policyCont {
        font-size: clamp(12px, 1.17vw, 14px);
    }
}

/* careContact */
.careContact {
    width: 100%;
    max-width: calc(90% - 2em);
    margin: 50px auto;
    padding: 1em;
    font-family: var(--font_jp);
    background: #eae5e3;
}
.careContact p {
    font-size: 16px;
    text-align: center;
}
.careContact p span.tel,
.careContact p span.reserveSite {
    font-size: 180%;
    line-height: 1;
    vertical-align: text-bottom;
}
.careContact p:last-child {
    line-height: 1.55;
}
@media (max-width: 1024px) {
    .careContact p {
        font-size: clamp(14px, 3.333vw, 16px);
        line-height: 1.55;
    }
    .careContact p span.tel,
    .careContact p span.reserveSite {
        font-size: 150%;
        line-height: 2;
    }
}
@media (max-width: 800px) {
    .careContact p:nth-of-type(2) {
        margin: 1rem 0;
    }
    .careContact p span.tel,
    .careContact p span.reserveSite {
        line-height: 1.35;
    }
}
@media (max-width: 480px) {
    .careContact p span.tel,
    .careContact p span.reserveSite {
        font-size: 130%;
    }
}


@media (max-width: 768px) {}
@media (max-width: 768px) {}
@media (max-width: 600px) {}
@media (max-width: 480px) {}