@charset "utf-8";





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

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


.mv_cap{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    position: absolute;
    /* white-space: nowrap; */
    letter-spacing: 0;
    width: 100%;
    bottom: 0.25em;
    padding: 0 0.5em;
    gap: 7px;
}
.mv_cap .img_cap{
    position: initial;
}
.mv_cap .img_cap:first-of-type{
    white-space: nowrap;
}
.mv_cap .img_cap:last-of-type{
    /* text-align: right; */
}


.belt_area{
    /* background: #45769c; */
    padding: 60px 0;
}
.belt_inner{
    max-width: 1540px;
    padding: 0 20px;
    margin: 0px auto 0;
}

.belt_inner > .cap{
    text-align: right;
    margin-top: 3em;

}

.belt_ttl{
    color: #fff;
    text-align: center;
    font-size: 26px;
    line-height: 2;
}
.belt_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 30px;
}

.belt_item{
    /* width: 30%; */
    text-align: center;
}

.belt01{
    width: 22%;
}
.belt02{
    width: 24%;
}
.belt03 {
    width: 17%;
}
.belt04 {
    width: 19%;
}

.belt_sepa{
    width: 1px;
    height: min(10vw, 40px);
    display: block;
    content: "";
    background: #fff;
}


.top_req_box{
    background: linear-gradient(90deg, #7b6d41, #aea67d,#7b6d41);
    padding: 30px 0;
    text-align: center;
}

.top_req_box > p{
    color: #fff;
}

.top_req_btn{
    height: 45px;
    width: 260px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: linear-gradient(0deg, #866949, #be9669);
    color: #fff;
    margin: 10px 0 0;
    font-size: 18px;
    transition-duration: 0.6s;
}

.top_req_btn.res{
    background: linear-gradient(0deg, #3b3c71, #5456a0);
}

.top_req_btn:hover{
    opacity: 0.6;
}
.info_cap{
    font-size: 12px;
    margin-top: 30px;
    text-align: center;
}


.top_sub_ttl_en{
    color: #a69b52;
    font-family: "adobe-garamond-pro", serif;
    text-transform: uppercase;
}
.top_ttl{
    font-size: 46px;
    letter-spacing: 0.2em;
    /* margin: 0 auto 1.2em; */
    line-height: 1.3;
    font-weight: 500;
}
.top_ttl sup{
    font-size: 0.2em;
    position: relative;
    top: -3.5em;
}

.top_ttl + .item_ttl{
    margin-bottom: 1.5em;
}

.top_sec_cap{
    line-height: 1.8;
    letter-spacing: 0.05em;
    font-size: 12px;
}

.feature li{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    flex-wrap: wrap;
}

.feature li:nth-of-type(n + 2){
    margin-top: 60px;
}

.feature_img{
    width: 56%;
}
.feature_txt{
    width: 40%;
}

.item_ttl{
    font-size: 22px;
    margin-bottom: 10px;
    letter-spacing: 0.2em;
    line-height: 1.8;
}

.item_ttl sup{
    font-size: 0.5em;
    position: relative;
    top: -1em;
    z-index: 2;
    color: #000;
}
.item_ttl sub{
    font-size: 0.5em;
}

.info_req_box{
    /* max-width: 600px; */
    
    margin: 0 auto ;
    padding: 40px 0 40px;
    /* background: linear-gradient(170deg, #fff, #dbdbdb); */
    background: linear-gradient(90deg, #fff, #e8e8e8);

}
.info_req_box > p,.info_req_box .com_inner > p{
    font-family: "adobe-garamond-pro", serif;
    font-size: 14px;
    text-transform: uppercase;
    color: #9d7d25;
    padding-bottom: 5px;
    margin-bottom: 5px;
    border-bottom: 1px solid ;
}

.top_req_flex{
    display: flex;
    justify-content: space-between;
    max-width: 540px;
    gap: 20px;
    margin: 0 auto;
}

.info_req_txt .belt_ttl{
    color: #55310b;
}

.top_bg01{
    background: url(../img/top/top_bg01.jpg)no-repeat;
    background-size: cover;
}

.feature_txt_box{
    text-align: center;
}


.cont_location_bg{
    background: url(../img/top/cont_location_bg.jpg)no-repeat;
    background-size: cover;
}

.cont_design_bg{
    background: url(../img/top/cont_design_bg.jpg)no-repeat;
    background-size: cover;
}

.cont_flex{
    display: flex;
    justify-content: space-between;
    align-items: center;
    flex-wrap: wrap;
}

.cont_img{
    width:48%;
}

.cont_txt{
    width: 48%;
    position: relative;
}

.cont_txt_bg_r{
    width: 50vw;
    background: rgba(255, 255, 255, 0.24);
    color: #fff;
    padding: 20px;
    line-height: 1.8;
    margin: 20px 0;
}

.item_ttl_en{
    font-family: "adobe-garamond-pro", serif;
    font-size: 24px;
    color: #fff;
    text-transform: uppercase;
    letter-spacing: 0.2em;
}

.btn_more{
    background: rgba(255, 255, 255, 0.75);
    border-radius: 40px;
    display: flex;
    align-items: center;
    justify-content: center;
    height: 55px;
    width: 320px;
    font-size: 14px;
    letter-spacing: 0.05em;
    position: relative;
    /* margin: 30px 0 60px; */
    transition-duration: 0.6s;
}

.btn_more::before{
    content: "";
    background: url(../img/top/btn_more_arrow.svg) no-repeat;
    background-size: contain;
    width: 70px;
    height: 13px;
    position: absolute;
    top: 50%;
    right: -50px;
    animation: loop_arrow 2s linear infinite;
}

.btn_more:hover{
    opacity: 0.6;
}

.btn_more:hover::before{
    animation: hover_arrow 0.2s linear forwards;
}

.top_plan_info{
    margin: 60px auto 40px;
}



/* 20251211 */
.db750_dn650 {
    display: none;
}




@keyframes loop_arrow {
  0% {
    width: 75px;
  }
  50% {
    width: 90px;
  }
  100% {
    width: 75px;
  }
}

@keyframes hover_arrow {
  100% {
    width: 75px;
  }
}


.mv_txt{
    position: absolute;
    top: 0;
    left: 0;
}



.plan_cta_box{
    background: #f2f0eb;
    position: relative;
    padding: 60px 20px;
    text-align: center;
}
.item_ttl02{
    font-size: 18px;
    margin-bottom: 10px;
    line-height: 1.8;
}
.plan_cta_box .item_ttl02{
    color: #9d7d25;
}
.plan_cta_box::before{
    content: "";
    width: calc(100% - 20px);
    height: calc(100% - 20px);
    border: 1px solid #b9ad94;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    pointer-events: none;
}

.plan_cta_box .ft_cta_box{
    justify-content: center;
    width: auto;
    margin-top: 20px;
}

.top_yokoku_box{
    border: 1px solid;
    padding: 10px 20px;
}
.top_yokoku_box .item_ttl02{
    border-bottom: 1px solid;
    padding-bottom: 0.5em;
    margin-bottom: 0.5em;
}

#top_plan{
    margin-top: -80px;
    padding-top: 80px;
}

.feature_txt_r{
    text-align: right;
}

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

.belt_flex{
    flex-wrap: wrap;
    align-items: unset;
    max-width: 700px;
    margin: 30px auto 0;
}
.belt_item{
    width: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px 0;
}
.belt_sepa {
    height: min(15vw, 130px);
}
.belt_sepa.dn1100{
    display: none;
}
.belt01 img{
    width: 90%;
}
.belt02 img{
    /* width: 80%; */
    width: 90%;
}
.belt03 img{
    width: 66%;
}
.belt04 img{
    width: 71%;
}
.belt03,.belt04{
    /* border-top: solid 1px #fff; */
}
.belt04{
    margin: 0 auto;
}
.belt01,.belt03{
    /* border-right: solid 1px #fff; */
    border-right: none;
}
.belt02 {
    border-right: solid 1px #fff;
}
.belt01{
    margin: 0 auto;
}

}

@media screen and (max-width: 1000px) { 
.belt_ttl {
    font-size: 22px;
}
.item_ttl {
    font-size: 20px;
}
.item_ttl_en{
    font-size: 22px;
}

.top_ttl{
    font-size: 38px;
}

.mv_cap .img_cap{
    font-size: 8px;
}


.feature_img{
    aspect-ratio: 180 / 100;
}
.feature_img img{
    object-fit: cover;
    height: 100%;
}


.btn_more{
    width: 280px;
}

.btn_more::before{
    height: 8px;
}

@keyframes loop_arrow {
  0% {
    width: 55px;
  }
  50% {
    width: 70px;
  }
  100% {
    width: 55px;
  }
}

@keyframes hover_arrow {
  100% {
    width: 55px;
  }
}

.item_ttl02{
    font-size: 16px;
}

}

@media screen and (max-width: 750px) {
.db750_dn650 {
    display: block;
}

}

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

.info_req_box{
    padding: 30px 20px 30px;
}

.belt_flex{
    flex-wrap: wrap;
    max-width: 450px;
    margin: 30px auto 0;
    width: 95%;
}
.belt_item{
    width: 100%;
    padding: 5% 0;
}
.belt_item:first-child{
    padding-top: 0;
}
.belt_item:last-child{
    padding-bottom: 0;
}
.belt_sepa{
    width: 100%;
    height: 1px;
    margin: 8% 0;
}

.belt_inner > .cap{
    text-align: left;
}

.belt01 img{
    width: 75%;
}
.belt01,.belt02, .belt03{
    border-right: none;
}
.belt01{
    border-top: 1px solid #fff;
}
.belt02 img{
    width: 80%;
}
.belt03 img{
    width: 60%;
}
.belt04 img{
    width: 65%;
}
.belt04{
    border-top: 1px solid #fff;
    margin: 0;
}

.belt_ttl {
    font-size: 18px;
    letter-spacing: 0;
}

.belt_area {
    padding: 40px 0;
}

.info_req_box,.feature li,.cont_flex{
    /* max-width: 450px; */
    margin: 0 auto;
}

.cont_flex.mb40{
    margin-bottom: 40px;
}


.top_req_box{
    padding: 25px 0;
}

.feature_img,.feature_txt {
    width: 100%;
}
.feature_txt{
    order: 2;
    text-align: center;
    margin-top: 20px;
}

.feature li:nth-of-type(n + 2) {
    margin-top: 40px;
}

.item_ttl {
    font-size: 18px;
}
.item_ttl_en{
    font-size: 20px;
}

.top_ttl{
    font-size: 36px;
}



.cont_img,.cont_txt{
    width: 100%;
}
.cont_txt{
    order: 2;
    margin-top: 30px;
    text-align: center;
}
.cont_txt_bg_r{
    width: 100%;
    padding: 15px 10px;
}
.btn_more{
    height: 50px;
    width: 260px;
    font-size: 13px;
    margin: 0 auto;
}

.btn_more::before{
    height: 7px;
}



/* 20251211 */
.db750_dn650 {
    display: none;
}


@keyframes loop_arrow {
  0% {
    width: 55px;
  }
  50% {
    width: 70px;
  }
  100% {
    width: 55px;
  }
}

@keyframes hover_arrow {
  100% {
    width: 55px;
  }
}


.top_sec_cap{
    font-size: 10px;
}

.top_yokoku_box .top_sec_cap{
    text-align: left;
}

.plan_cta_box{
    padding: 40px 20px;
}
.item_ttl02{
    font-size: 14px;
}

.feature_txt_r{
    text-align: center;
}

}