.ishi_main_bg{
    background: url(../../images/pickup/syuriishiminecho/concept_bg.jpg) no-repeat center / cover;
}
.ishi_land_bg {
    background-color: #fcd558;
}
.ishi_location_bg{
    background-color: #139a6a;
}
.ishi_plan_bg{
    background-color: #d8311f;
}
.ishi_spec_bg{
    background-color: #fad356;
}
.ishi_outline_bg{
    background-color: #f4ede5;
}

.ttl_img550 img{
    max-width: 550px;
}
.ttl_img500 img{
    max-width: 500px;
}
.ttl_img470 img{
    max-width: 470px;
}
.ttl_img400 img{
    max-width: 400px;
}
.ttl_img370 img{
    max-width: 370px;
}
.ttl_img300 img{
    max-width: 300px;
}

.ttl_img600_img{
    max-width: 600px;
}
.ttl_img500_img{
    max-width: 500px;
}

.plan_gochi_ttl_bg{
    background-color: #3db48e;
}
.text_blue {
    color: #171c61;
}
.land_pd {
    padding: 30px;
}
.land_pd_sub {
    padding-left: 20px;
    padding-right: 10px;
    padding-bottom: 30px;
}
.land_pd_sub_prn {
    padding-left: 20px;
    padding-right: 0;
    padding-bottom: 30px;
}
.land_pd_ttl {
    padding-top: 20px;
    padding-left: 20px;
    padding-right: 20px;
}
@media screen and (max-width: 599px) {
    .land_pd_sub {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 30px;
}
.land_pd_sub_prn {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 30px;
}
.land_pd_ttl {
    padding-top: 20px;
    padding-left: 0;
    padding-right: 0;
}
.sp_center img {
    margin: 0 auto;
}
}

@media screen and (max-width: 980px) {
    .d_br2 {
        display: none;
}
}
@media screen and (max-width: 499px) {
    .d_br {
        display: none;
}
}
/* frame */
.inner_frame.large_inner_frame{
    max-width: 1160px;
    z-index: 1;
}
@media screen and (max-width: 1159px) {
    .inner_frame.large_inner_frame{
        max-width: 1160px;
        padding-left: 20px;
        padding-right: 20px;
    }
}
@media screen and (max-width: 820px) {
    .inner_frame.large_inner_frame{
        padding-left: 3%;
        padding-right: 3%;
    }
}
@media screen and (max-width: 599px) {
    .inner_frame.large_inner_frame{
        padding-left: 3.5%;
        padding-right: 3.5%;
    }
}

/* flex_01 */

.flex_01{
    display: flex;
    justify-content: space-between;
    gap: 20px;
}
.flex_01.ai_center{
    align-items: center;
}
.flex_01.reverse{
    flex-direction: row-reverse;
}
.flex_01 > div:first-child{
    flex: 2;
}

.flex_01 > div:last-child{
    flex: 1;
}

@media screen and (max-width: 599px) {
    .flex_01,.flex_01.reverse{
        flex-direction: column;
        row-gap: 20px;
    }
    .flex_01 > div{
        width: 100%;
    }
}

/* flex_02 */
.flex_02{
    display: flex;
    justify-content: space-between;
}
.flex_02.ai_center{
    align-items: center;
}
.flex_02.reverse{
    flex-direction: row-reverse;
}
.flex_02 > div{
    width: 48.5%;
}
@media screen and (max-width: 599px) {
    .flex_02,.flex_02.reverse{
        flex-direction: column;
        row-gap: 20px;
    }
    .flex_02 > div{
        width: 100%;
    }
    .flex_02.m_b50.ai_center._green{
        flex-direction: column;
        row-gap: 0;
    }
}

/* flex_03 */
.flex_03{
    display: flex;
    justify-content: space-between;
    align-items: stretch;
}
.flex_03.ai_center{
    align-items: center;
}
.flex_03.reverse{
    flex-direction: row-reverse;
}
.flex_03 > div{
    width: 48.5%;
    align-items: center;
}
.flex_03 > div:first-child {
    display: flex;
}
.flex_03 > div:first-child img{
    width: 100%;
    height: 100%;
    object-fit: contain;
}
@media screen and (max-width: 599px) {
    .flex_03,.flex_03.reverse{
        flex-direction: column;
        row-gap: 30px;
        margin-top: 30px;
    }
    .flex_03 > div{
        width: 100%;
    }
}

/* flex_04 */
.flex_04{
    display: flex;
    justify-content: space-between;
}
.flex_04.ai_center{
    align-items: center;
}
.flex_04.reverse{
    flex-direction: row-reverse;
}
.flex_04 > div{
    width: 48.5%;
}
@media screen and (max-width: 599px) {
    .flex_04,.flex_04.reverse{
        flex-direction: column-reverse;
        row-gap: 30px;
    }
    .flex_04 > div{
        width: 100%;
    }
}

/* grid_03 */
.grid_03_a {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    column-gap: 2%;
}
@media screen and (max-width: 599px) {
    .grid_03_a {
        grid-template-columns: repeat(2,1fr);
    }
}

.grid_03{
    display: grid;
    grid-template-columns: repeat(3,1fr);
    column-gap: 2%;
    row-gap: 30px;
}
@media screen and (max-width: 599px) {
    .grid_03{
        grid-template-columns: repeat(1,1fr);
    }
}

/* grid_04 */
.grid_04{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    column-gap: 2%;
    row-gap: 30px;
    align-items: stretch;
}
@media screen and (max-width: 599px) {
    .grid_04{
        grid-template-columns: repeat(1,1fr);
    }
}
.spec_card {
    display: flex;
}
.spec_card_flex {
    display: flex;
    flex-direction: column;
    width: 100%;
    height: 100%;
}
.spec_point_text_box {
  flex-grow: 1; 
}

/* grid_05 */
.grid_05{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    gap: 40px 0%;
}

@media screen and (max-width: 599px) {
    .grid_05{
        grid-template-columns: repeat(2,1fr);
        gap: 30px 0%;
    }
}


.plan_contents_box{
    background-color: #fff;
    padding: 15px 60px 30px 60px;
}
@media screen and (max-width: 599px) {
    .plan_contents_box{
        background-color: #fff;
        padding: 10px 20px;
    }
}


.plan_a_ttl_deco{
    position: absolute;
    top: 0;
    left: 70%;
    transform: translateY(-50%);
    max-width: 126px;
    width: 10%;
    min-width: 55px;
}
.plan_deco01,.plan_deco02{
    position: absolute;
}
.plan_deco01{
    max-width: 300px;
    width: 100%;
    top: 2.9%;
    left: 20%;
    transform: translateX(-50%);
}
.plan_deco02{
    max-width: 250px;
    width: 100%;
    top: 4.5%;
    right: 20%;
    transform: translateX(50%);
}

@media screen and (max-width: 1059px) {
    .plan_deco01{
    max-width: 250px;
    top: 3.4%;
    left: 15%;
}
    .plan_deco02{
    max-width: 200px;
    top: 5%;
    right: 15%;
}
}
@media screen and (max-width: 929px) {
    .plan_deco01{
    display: none;
}
    .plan_deco02{
    display: none;
}
}
.plan_contents_box._land {
    overflow: hidden; 
    position: relative;
}
.plan_contents_box._land > * {
    position: relative;
    z-index: 2;
}
.plan_contents_box._land::before,
.plan_contents_box._land::after {
    content: "";
    position: absolute;
    top: 0;
    width: 300px;         /* 見せたい幅 */
    height: 100%;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 1;          /* ← 下に潜らせる */
}

.plan_contents_box._land::before {
    left: -30px;
    top: -21%;
    background-image: url(../../images/pickup/syuriishiminecho/urban_bg_deco01.png);
    background-position: left center;
}

.plan_contents_box._land::after {
    right: -4px;
    top: 28%;
    background-image: url(../../images/pickup/syuriishiminecho/urban_bg_deco02.png);
    background-position: right center;
}
@media screen and (max-width: 1059px) {
    .plan_contents_box._land::before{
        top: -22%;
    }
    .plan_contents_box._land::after {
        top: 29%;
    }
}
@media screen and (max-width: 930px) {
    .plan_contents_box._land::before{
        top: -23%;
    }
    .plan_contents_box._land::after {
        top: 31%;
    }
}
@media screen and (max-width: 820px) {
    .plan_contents_box._land::before{
        top: -25%;
    }
    .plan_contents_box._land::after {
        top: 33%;
    }
}
@media screen and (max-width: 599px) {
    .plan_contents_box._land::before ,
    .plan_contents_box._land::after {
        display: none;
    }
}




.location_box{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    column-gap: 5%;
    margin-top: -5%;
}
.location_list{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    line-height: 1.2;
}
.location_list dt{
    padding: 2rem;
    color: #fff;
    border-bottom: 1px solid #fff;
    width: 50%;
    box-sizing: border-box;
}
.location_list dd{
    padding: 2rem;
    color: #fff;
    border-bottom: 1px solid #fff;
    width: 50%;
    box-sizing: border-box;
}
.location_list dt{
    padding: 2rem 0rem 2rem 2rem;
}
.location_list dd{
    text-align: right;
    padding: 2rem 2rem 2rem 0rem;
}
.location_box_r {
    padding-top: 70px;
}
@media screen and (max-width: 599px) {
    .location_box{
        grid-template-columns: repeat(1,1fr);
        margin-top: 50px;
    }
    .location_list dt{
        padding: 2rem 0rem 2rem 1rem;
    }
    .location_list dd{
        text-align: right;
        padding: 2rem 1rem 2rem 0rem;
    }
    
}

.outline_table_box{
    display: grid;
    grid-template-columns: repeat(2,1fr);
    column-gap: 2%;
}
.outline_list > div{
    display: flex;
    border-top: 1px solid #d2d2d2;
}
.outline_list dt,
.outline_list dd{
    padding: 1em;
}
.outline_list dt{
    color: #fff;
    background-color: #171c61;
    width: calc((170 / 520) * 100%);
}
.outline_list dd{
    background-color: #fff;
    width: calc((350 / 520) * 100%);
}
@media screen and (max-width: 599px) {
    .outline_table_box{
        grid-template-columns: repeat(1,1fr);
        row-gap: 30px;
    }
    .outline_list dt{
        padding-left: 1rem;
        padding-right: 1rem;
        width: 40%;
    }
    .outline_list dd{
        padding-left: 1rem;
        padding-right: 1rem;
        width: 60%;
    }
}

.bg_white{
    background-color: #fff;
}
.spec_point_text_box{
    padding: 1em 1.5em 2em 1.5em;
}


.text_l {
    text-align: left;
}
.plan_l {
    display: flex;
    justify-content: center;
    margin-top: 50px;
}
.kukaku {
    width: 60%;
}
@media screen and (max-width: 768px) {
    .kukaku {
    width: 100%;
    }
}
.land_pd_3 {
    padding-right: 30px;
    padding-bottom: 30px;
}
.land_pd_sub_3 {
    padding-left: 20px;
    padding-bottom: 30px;
}
.land_pd_ttl_4 {
    padding-left: 20px;
    padding-right: 20px;
}
@media screen and (max-width: 599px) {
    .land_pd_3 {
    padding-right: 0;
}
    .land_pd_sub_3 {
    padding-left: 0;
}
    .land_pd_ttl_4 {
    padding-left: 0;
    padding-right: 0;
}
}
.ur_deco {
    position: absolute;
    bottom: 3%;
    right: 6%;
    max-width: 160px;
}
.ur_deco_p {
    padding-right: 80px;
}
.ur_deco_pw {
    max-width: 350px;
}
.flex_04 .center img {
    margin-top: 0;
}
.flex_center_land {
    display: flex;
    justify-content: center;
    gap: 0;
    margin-top: 20px;
}
.flex_center_land img {
    width: calc(33.333% - 13.33px);
    height: auto;
}
@media screen and (max-width: 599px) {
    .flex_center_land{
    flex-direction: column;
    row-gap: 30px;
    margin-top: 0;
    }
    .flex_center_land img {
    width: 100%;
    height: auto;
    }
}
@media screen and (max-width: 1150px) {
    .ur_deco {
    max-width: 120px;
    right: 6%;
}
}
@media screen and (max-width: 980px) {
    .ur_deco {
    display: none;
    }
    .ur_deco_p {
    padding-right: 0;
    } 
}
@media screen and (max-width: 599px) {
    .ur_deco_p {
    padding: 0;
    margin-top: 30px;
    } 
}
.rebon {
    background: url(../../images/pickup/syuriishiminecho/plan_obi_top.png);
    background-repeat: repeat-x;
    background-position: center top;
    background-size: auto 100%;
    height: 40px;
}
.rebon2 {
    background: url(../../images/pickup/syuriishiminecho/plan_obi_down.png);
    background-repeat: repeat-x;
    background-position: center top;
    background-size: auto 100%;
    height: 40px;
}
.spec_deco_ab {
    position: absolute;
    top: 3%;
    left: 50%;
    transform: translateX(-50%);
}
.spec_deco_ab_flex {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 650px;
}
.spec_deco_ab_flex img:first-child {
    max-width: 180px;
}
.spec_deco_ab_flex img:last-child {
    max-width: 150px;
}
@media screen and (max-width: 999px) {
    .spec_deco_ab {
        display: none;
    }
}
.green_line {
    border: 2px dashed #056833;
    box-sizing: border-box;
    outline: none;
}

.guarantee_deco_ab {
    position: absolute;
    top: 38%;
    left: 50%;
    transform: translateX(-50%);
}
.guarantee_deco_ab_flex {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 580px;
}
.guarantee_deco_ab_flex img:first-child {
    max-width: 180px;
}
.guarantee_deco_ab_flex img:last-child {
    max-width: 150px;
}
@media screen and (max-width: 999px) {
    .guarantee_deco_ab {
        display: none;
    }
}
.sp_w_85_center {
    width: 85%;
    display: block;
    margin: 0 auto;
}
.flex_02.m_b50._land_plan {
    align-items: flex-end;    
}
.flex_01._madori {
    align-items: flex-end
}
@media screen and (max-width: 599px) {
.text_16.lh_20.m_b30._green{
    margin-bottom: 0;
}
.flex_02.m_b50.m_t50._room , 
.flex_02.m_b50._room {
    margin-bottom: 0;
}
.respon.sp_w_85.m_b50._after {
    margin-bottom: 0;
}
}