*{
    margin: 0;
    padding: 0;

}

html body {
    max-width: 100%;
}

html body .container {
    font-family: "Shippori Mincho", serif;
    font-weight: 400;
    font-style: normal;
    font-size: 15px;
    letter-spacing: 1px;
    color: #3E3A39;
    line-height: 27px;
    max-width: 100%;
}

/* fv */

h1 {
    height: auto;
    margin-bottom: 50px;
}

.fv_pc {
    background-image: url(/LP/retreat_campaign/images/fv.jpg);
    height: 0;
    padding-top: 47%;
    background-repeat: no-repeat;
    background-size: cover;
}

h1 img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.fv_sp {
    display: none;
}

@media screen and (max-width: 768px) {

    .fv_pc {
        display: none;
    }

    .fv_sp {
        display: block;
    }

    h1 {
        height: auto;
    }

    .fv_sp {
        height: 100%;
    }

}

/* message */

.message {
    width: 60%;
    border-radius: 5px;
    box-shadow: 0px 0px 15px -5px #777777;
    margin: auto;
}

.logo_box {
    display: block;
    width: 100%;
    height: 39px;
    line-height: 39px;
    text-align: center;
    background-image: linear-gradient(90deg, rgba(62, 58, 57, 1), rgba(164, 153, 151, 1));
    border-top-right-radius: 5px;
    border-top-left-radius: 5px;
}

.logo_box img {
    width: 100px;
}

.message_ttl {
    width: 225px;
    margin: auto;
    padding-top: 30px;
}

.message_ttl img {
    width: 100%;
}

.message_desc {
    width: 90%;
    border-top: dotted #3E3A39 2px;
    margin: auto;
    text-align: center;
    padding-top: 30px;
    line-height: 31px;
    padding-bottom: 30px;
}

.desc_block {
    display: block;
    margin-top: 20px;
}

@media screen and (max-width: 768px) {
    .message {
        width: 95%;
    }
    .logo_box img {
        width: 73px;
    }
}

/* intro */

.intro {
    margin-top: 50px;
    background-color: #3E3A39;
    color: #fff;
    padding-bottom: 50px;
}

.intro_box {
    width: 70%;
    margin: auto;
}

.intro_ttl {
    font-size: 18px;
    padding-top: 50px;
    text-align: center;
    background-color: #3E3A39;
}

.intro_ttl img {
    width: 100px;
}

.intro-desc_01 {
    text-align: center;
    letter-spacing: 2px;
    font-weight: 300;
    margin-top: 10px;
    line-height: 30px;
}

.num_big {
    font-size: 25px;

}

.desc-box {
    margin-top: 10px;
    display: inline-block;
    border: solid #fff 1px;
    padding: 3px 10px;
    margin-right: 5px;
    margin-bottom: 30px;
    font-size: 10px;
}

.hotel-list_box {
    width: 100%;
}

.hotel-list_box {
    list-style: none;

}

.hotel-list {
    background-color: #fff;
    display: flex;
    justify-content: space-between;
    color: #3E3A39;
    margin-bottom: 20px;
}

.hotel-list_left {
    width: 40%;
    padding: 50px;
    box-sizing: border-box;
}

.list_label {
    display: inline-block;
    background-color: #DCC96A;
    color: #fff;
    text-align: center;
    padding: 3px 10px;
    margin-bottom: 20px;
    font-weight: 300;
    letter-spacing: 3px;
}

.list_ttl {
    font-size: 25px;
    margin-bottom: 15px;
    font-weight: 500;
}

.list_desc {
    line-height: 32px;
}

.hotel-list_right {
    width: 55%;
}

.hotel-list_right img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.list_sp {
    display: none;
}

.desc_underline {
    display: inline-block;
    border-bottom: dotted #fff 2px;
    color: #DCC96A;
}

.intro-desc_01 img {
    width: 196px;
    display: inline-block;
    margin-top: 30px;
    margin-bottom: 10px;
}

.present02_block {
    line-height: 35px;
}

.intro_sp {
    display: none;
}
.hotel-cta {
    color: #3E3A39;
}

@media screen and (max-width: 768px) {

    .intro_box {
        width: 95%;
    }

    .desc-box {
    margin-top: 5px;
    display: block;
    border: solid #fff 1px;
    padding: 3px 10px;
    margin-right: 5px;
    margin-bottom: 0px;
    font-size: 10px;
}
    .desc-box_01 {
        margin-top: 10px;
    }
    .desc-box_02 {
        margin-bottom: 20px;
    }

    .list_pc {
        display: none;
    }

    .list_sp {
        display: block;
    }

    .hotel-list {
        display: block;
        color: #fff;
        padding: 20px;
        font-weight: 300;
    }

    .list_label {
        background-color:rgba(220,201,106,0.55);
    }
    .list_ttl {
    font-size: 20px;
    margin-bottom: 15px;
    font-weight: 500;
}
     
    .list_01 {
        background-image: url(/LP/retreat_campaign/images/list-01_sp.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        height: 100%;
    }
    .list_02 {
        background-image: url(/LP/retreat_campaign/images/list-02_sp.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        height: 100%;
    }

    .list_03 {
        background-image: url(/LP/retreat_campaign/images/list-03_sp.jpg);
        background-size: cover;
        background-repeat: no-repeat;
        height: 100%;
    }

    .intro_pc {
        display: none;
    }

    .intro_sp {
        display: block;
    }

    .hotel-cta {
        color: #fff;
    }
    .present02_block {
    line-height: 35px;
    padding-bottom: 50px;
}


}

/* wchance */

.wchance_box {
    width: 572px;
    height: 416px;
    background-color: #fff;
    position: relative;
    color: #3E3A39;
    margin: auto;
}

.wchance_ttl {
    text-align: center;
    padding-top: 50px;
}

.wchance_ttl img {
    width: 140px;
}

.wchance_box::before {
    content: url(/LP/retreat_campaign/images/triangle01.png);
    display: block;
    width: 90px;
    position: absolute;
    top: 0px;
}
.wchance_box::after {
    content: url(/LP/retreat_campaign/images/triangle02.png);
    display: block;
    width: 90px;
    position: absolute;
    bottom: -8px;
    left: auto;
    right: 63px;
}

.wchance_descBox {
    text-align: center;
    margin-top: 20px;
}

.wchance-list_ttl {
    color: #ADA250;
    padding-top: 20px;
    width: 200px;
    margin: auto;
}

.wchance_flexbox {
    display: flex;
    justify-content: space-between;
    width: 79%;
    margin: auto;
    padding-top: 20px;
}

.wchance_flexbox img {
    width: 213px;
}

.wchance_listBox {
    list-style: none;
    font-size: 12px;
    text-align: left;
    padding-top: 20px;
}

.wchance-list_ttl::before,
.wchance-list_ttl::after {
  background-color: #ADA250; /* 横線の色 */
  content: "";
  height: 1px; /* 横線の高さ */
  width: 138px; /* 横線の長さ */
  position: absolute;
}

.wchance-list_ttl::before {
    top: 192px;
    left: 84px;
}
.wchance-list_ttl::after {
    top: 192px;
    right: 84px;
}

.intro-desc_02 {
    padding-bottom: 50px;
}

@media screen and (max-width: 768px) {
    .wchance_box {
    width: 95%;
    height: auto;
    background-color: #fff;
    position: relative;
    color: #3E3A39;
    margin: auto;
}
.wchance_box::before {
    content:"";
    background-image: url(/LP/retreat_campaign/images/triangle01.png);
    display: block;
    width: 90px;
    height: 76.5px;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    top: 0px;
}
.wchance_box::after {
    content: "";
    background-image: url(/LP/retreat_campaign/images/triangle02.png);
    display: block;
    width: 90px;
    height: 76.5px;
    background-size: contain;
    background-repeat: no-repeat;
    position: absolute;
    bottom: 0px;
    left: auto;
    right: -25px;
}
.wchance_descBox {
    text-align: center;
    margin-top: 20px;
    width: 95%;
}
.wchance_flexbox {
    flex-direction: column-reverse;
    justify-content: space-between;
    width: 95%;
    margin: auto;
    padding-top: 0px;
    padding-bottom: 20px;
}
.wchance_listBox {
    list-style: none;
    font-size: 12px;
    text-align: center;
    padding-top: 20px;
}
.wchance_flexbox img {
    width: 100%;
}
.wchance_descBox {
    text-align: center;
    /* margin-top: 20px; */
    width: 95%;
    margin: auto;
    padding-top: 15px;
}
.wchance_listBox {
    list-style: none;
    font-size: 12px;
    text-align: center;
    padding-top: 20px;
    padding-bottom: 15px;
}
.wchance-list_ttl::before {
    top: 260px;
    left: 246px;
}
.wchance-list_ttl::after {
    top: 260px;
    right: 246px;
}
.wchance-list_ttl::before, .wchance-list_ttl::after {
    background-color: #ADA250;
    content: "";
    height: 1px;
    width: 89px;
    position: absolute;
}
}

/* guideline */

.guideline {
    padding-bottom: 50px;
}

.guideline_box {
    width: 70%;
    box-shadow: 0px 0px 15px -5px #777777;
    border-radius: 5px;
    margin: auto;
    padding-top: 30px;
    padding-bottom: 30px;
    
}


.guideline_ttl {
    font-weight: 300;
    padding-bottom: 30px;
    background-color: #fff;
}

.guideline_flexbox {
    display: flex;
    justify-content: flex-start;
    border-bottom: #ADA250 solid 1px;
    padding: 20px 10px 20px;
    width: 75%;
    margin: auto;
}

.guideline_flexbox dt {
    width: 30%;
    color: #ADA250;
    font-weight: 700;
}
.guideline_flexbox dd {
    width: 60%;
}

.present_ttl {
    font-weight: 700;
    padding-bottom: 10px;
    display: inline-block;
}
.present_ttl_02 {
    padding-top: 30px;
}

@media screen and (max-width: 768px) {
    .guideline_box {
        width: 95%;
    }
    .guideline_flexbox {
    display: flex;
    justify-content: flex-start;
    flex-direction: column;
    border-bottom: #ADA250 solid 1px;
    padding: 20px 10px 20px;
    width: 86%;
    margin: auto;
}
    .guideline_flexbox dt, .guideline_flexbox dd {
        width: 100%;
    }

    .guideline_flexbox dt {
        text-align: center;
        padding-bottom: 13px;
    }
    .guideline_flexbox dd {
        text-align: left;
    }
}

/* flow */

.flow {
    background-color: #3E3A39;
    color: #fff;
    padding-bottom: 50px;
}

.flow_ttl {
    font-weight: 300;
    padding-bottom: 30px;
    letter-spacing: 5px;
}

.flow_box {
    width: 70%;
    margin: auto;
    list-style: none;
    position: relative;
    display: flex;
    justify-content: space-between;
}

.flow_list {
    width: 22%;
    background-color: #fff;
    border-radius: 5px;
    height: auto;
    padding: 13px;
    box-sizing: border-box;
    color: #3E3A39;
}

.flow_step {
    background-color: #ADA250;
    height: 22px;
    text-align: center;
    color: #fff;
    font-size: 10px;
    border-radius: 5px;
    line-height: 22px;
    letter-spacing: 2px;
    padding: 0px;
}

.list_img {
    display: block;
    width: 57px;
    margin: auto;
    padding-top: 20px;
    padding-bottom: 20px;
}


.arrow_box {
    width: 2%;
}
.list_arrow {
    width: 100%;
    padding-top: 120px;
    box-sizing: border-box;
}


@media screen and (max-width: 768px) {
    .flow_box {
    width: 70%;
    margin: auto;
    list-style: none;
    position: relative;
    display: block;
    justify-content: space-between;
}
.flow_list {
    width: 100%;
    background-color: #fff;
    border-radius: 5px;
    height: auto;
    padding: 13px;
    box-sizing: border-box;
    color: #3E3A39;
}
.arrow_box {
    width: 5%;
    margin: auto;
    text-align: center;
    height: 38px;
    margin-top: 5px;
}
.list_arrow {
    width: 100%;
    padding-top: 10px;
    box-sizing: border-box;
    transform: rotate(90deg);
}

.flow_step {
    padding: 0px;
}
}

/* contact */

.contact {
    padding-bottom: 50px;
}

.attention {
    width: 601px;
    border: solid #FF0000 1px;
    height: auto;
    padding: 15px 30px;
    color: #FF0000;
    line-height: 23px;
    margin: auto;
}

.attention_ttl {
font-size: 13px;
    font-weight: 700;
    text-align: center;
    border-bottom: #FF0000 solid 1px;
    display: block;
    width: 94px;
    margin: auto;
}

.ttl_margin {
    margin-top: 12px;
}

.attention li {
    font-size: 13px;
    list-style-type: disc;
}

::marker {
    font-size: 8px;
}

.contact_ttl {
    background-color: #fff;
}

@media screen and (max-width: 768px) {
.attention {
    width: 95%;
    border: solid #FF0000 1px;
    height: auto;
    box-sizing: border-box;
    padding: 15px 30px;
    color: #FF0000;
    line-height: 23px;
    margin: auto;
}

.attention_ttl {
    width: 40%;
}
}

/* 応募フォーム非表示 */

.block-landingpage-form--spec {
    display: none;
}

.block-cart--order {
    display: none;
}

/*  フローティングバナー表示 */
html[data-browse-mode="S"] body.page-sales_landingpage .js-efo-progress {
    height: 0px;
    width: 0px;
    font-size: 0px;
    line-height: calc(18 / 14);
    font-weight: 400;
    display: none !important;
}
html[data-browse-mode="P"] body.page-sales_landingpage .js-efo-progress {
    height: 0px;
    width: 0px;
    font-size: 0px;
    line-height: calc(18 / 14);
    font-weight: 400;
    display: none !important;
}

/* 注文内容→ご希望の宿に変更 */
[data-browse-mode="S"] #frmLP {
    width: 70%;
    margin: 0 auto;
}

body [data-browse-mode="S"] .page-sales_landingpage .block-order-method--regular-title, [data-browse-mode="S"] .page-sales_landingpage .block-landingpage-form--comment-title, [data-browse-mode="S"] .page-sales_landingpage .block-landingpage-form--guest-title, [data-browse-mode="S"] .page-sales_landingpage .block-landingpage-form--method-title, [data-browse-mode="S"] .page-sales_landingpage .block-landingpage-form--spec-title, [data-browse-mode="S"] .page-sales_landingpage .block-landingpage-form--goods-title {
    font-size: 0px;
    line-height: 1.4;
    word-wrap: break-word;
    white-space: normal;
}

body [data-browse-mode="P"] .page-sales_landingpage .block-order-method--regular-title, [data-browse-mode="P"] .page-sales_landingpage .block-landingpage-form--comment-title, [data-browse-mode="P"] .page-sales_landingpage .block-landingpage-form--guest-title, [data-browse-mode="P"] .page-sales_landingpage .block-landingpage-form--method-title, [data-browse-mode="P"] .page-sales_landingpage .block-landingpage-form--spec-title, [data-browse-mode="P"] .page-sales_landingpage .block-landingpage-form--goods-title {
    font-size: 0px;
    line-height: 1.4;
    word-wrap: break-word;
    white-space: normal;
}



.block-landingpage-form--goods-title::before {
    font-size:20px;
    content: '希望宿泊施設';
}


.block-landingpage-form--guest-title::before {
    font-size: 20px;
    content: 'お客様情報のご入力';
}
html body .container .block-landingpage-form .block-landingpage-form--goods .block-landingpage-form--goods-qty {
    display: none;

}

.block-landingpage-form--goods .block-landingpage-form--goods-goods .form-label  {
    display: none;
}

.action-buttons [name="order"] {
    width: 100%;
}

[data-browse-mode="S"] .page-sales_landingpage .action-buttons [name="order"] {
    width: 100%; 
}
  



@media screen and (max-width: 768px) {

  /* html body [data-browse-mode="P"] .page-sales_landingpage .block-order-method--regular-title, [data-browse-mode="P"] .page-sales_landingpage .block-landingpage-form--comment-title, [data-browse-mode="P"] .page-sales_landingpage .block-landingpage-form--guest-title, [data-browse-mode="P"] .page-sales_landingpage .block-landingpage-form--method-title, [data-browse-mode="P"] .page-sales_landingpage .block-landingpage-form--spec-title, [data-browse-mode="P"] .page-sales_landingpage .block-landingpage-form--goods-title {
    font-size: 0px !important;
} */

body .block-landingpage-form--goods-title, body .block-landingpage-form--guest-title {
    font-size: 0px !important;
    padding-top: 50px;
}

.block-landingpage-form--goods-title::before {
    font-size: 1.4rem;
    line-height: 1.4;
    word-wrap: break-word;
    white-space: normal;
    content: '希望宿泊施設';
}


.block-landingpage-form--guest-title::before {
    font-size: 1.4rem;
    line-height: 1.4;
    content: 'お客様情報のご入力';
}
html body .container .block-landingpage-form .block-landingpage-form--goods .block-landingpage-form--goods-qty {
    display: none;

}

[data-browse-mode="S"] #frmLP {
    width: 97%;
    margin: 0 auto;
}


}

/* CTAボタン　テキスト変更 */
.btn-primary {
    background-size: contain;
    background-image: url(/LP/retreat_campaign/images/cta-btn.png);
    background-repeat: no-repeat;
}


[data-browse-mode="S"] .page-sales_landingpage .action-buttons [name="order"] {
    width: calc(355 / 375 * 100vw);
    height: 61px;
    width: 323px;
    border-radius: 8px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0px;
    background-color: var(--lp-black);
    border: none;
    font-weight: bold;
}

[data-browse-mode="P"] .page-sales_landingpage .action-buttons [name="order"] {
    width: calc(355 / 375 * 100vw);
    height: 61px;
    width: 323px;
    border-radius: 8px;
    padding: 0 !important;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    font-size: 0px;
    background-color: var(--lp-black);
    border: none;
    font-weight: bold;
}