@charset "utf-8";
main {
    width: 100%;
    margin: auto;
    background: #0d0015;
    color: #fff;
}
.ft10 {
    font-size: 10px;
    letter-spacing: .1em;
    margin: 20px auto 0;
}
#mv_design {
    width: 100%;
    height: 600px;
    overflow: hidden;
}
#mv_design figure {}
#mv_design img {
    width: 100%;
}
.linkWrap {
    width: 94%;
    max-width: 1200px;
    position: relative;
    margin: auto;
}
.linkWrap .page_ttl {
    margin: 0 auto;
    width: 50%;
    text-align: center;
    max-width: 480px;
}
.linkWrap .page_ttl img {
    height: 155px;
    max-width: 290px;
}
.linkWrap ul {
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    position: absolute;
    bottom: 0;
    width: 100%;
    max-width: 1200px;
}
.linkWrap li {
    width: 50%;
    max-width: 200px;
}
.linkWrap a {
    display: block;
    width: 100%;
    height: 100%;
}
.linkWrap a img {
    width: 100%;
}

.design_caution {
    width: 94%;
    max-width: 1200px;
    margin: 120px auto 0;
}
.design_concept{
    width: 94%;
    max-width: 1200px;
    margin: 115px auto 0;
    position: relative;
    z-index: 0;
}
.design_concept h3{
    width: 100%;
    max-width: 810px;
    height: auto;
    margin: auto;
}
.design_concept p{
    width: 100%;
    max-width: 960px;
    height: auto;
    margin: 60px auto 0;
}
.design_concept h3 img,.design_concept p img,.design_concept figure img{
    width: 100%;
}
.design_concept figure{
    width: 100%;
    max-width: 1200px;
    margin: -100px auto 0;
    position: relative;
    z-index: -1;
}
.design_concept02 {
    width: 100%;
    max-width: 1200px;
    margin: 120px auto 0;
}
.design_concept02 figure {
    width: 100vw;
    height: 800px;
    background: url(../../img/design/img_concept01.jpg) no-repeat center / cover;
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
}

.design_concept02 figcaption {
    width: 640px;
    height: 100%;
    position: relative;
}
.design_concept02 figcaption img {
    width: 100%;
    position: absolute;
    bottom: 80px;
}
.design_concept02 .innerBox {
    width: 94%;
    max-width: 960px;
    height: auto;
    margin: 125px auto 0;
}
.design_concept02 .innerBox img {
    width: 100%;
}
.design_concept02 .innerBox img + img{
    margin-top: 120px;
}
/* landplan
======================================== */
.landplanWrap {
    width: 100%;
    background: #343434;
    margin-top: 300px;
}
.landplanWrap .bg_txt {
    width: 94%;
    height: 150px;
    max-width: 1200px;
    margin: auto;
    background: url(../../img/design/bg_landplan.png) no-repeat top center / 85% auto;
    position: relative;
    top: -100px;
    padding-top: 60px;
}
.landplanWrap .bg_txt img {
    display: block;
    width: 100%;
    max-width: 325px;
    height: auto;
    margin:  auto;
}
.landplanWrap .landplanImage {
    width:100%;
    max-width: 960px;
    margin: auto;
}
.landplanWrap .landplanImage img {
    width: 100%;
}
.landplanWrap dl {
    max-width: 960px;
    margin: 40px auto 0;
}
.landplanWrap dl dt {
    font-size: 24px;
    line-height: 36px;
    letter-spacing: .1em;
}
.landplanWrap dl dt:not(.noBorder)::after{
    content: "";
    display: block;
    width: 60px;
    height: 1px;
    background: #fff;
    margin: 20px 0;
}
.landplanWrap dl dd {
    font-size: 16px;
    line-height: 32px;
}
.landplanWrap .plantIntroWrap {
    max-width: 960px;
    padding: 60px;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    background: #fff;
    margin: 115px auto 0;
}
.landplanWrap .plantWrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    padding: 0 70px;
}
.landplanWrap li {
    width: calc((100% - 80px)/3);
    margin-bottom: 30px;
}
.landplanWrap li:nth-child(3n),
.landplanWrap li:nth-child(3n+2){
    margin-left: 40px;
}
.landplanWrap li img {
    width: 100%;
}
.landplanWrap .plantCaption {
    text-align: right;
    color: #0d0015;
    padding: 0 70px;
}
.landplanWrap .plantIntroWrap dl {
    color: #0d0015;
}
.landplanWrap .noBorder {
    color: #0d0015;
}
.personIntroWrap {
    max-width: 1200px;
    margin: 120px auto 0;
}
.personIntroWrap .innerBox {
    border: solid 1px #fff;
}
.personIntroWrap dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
}
.personIntroWrap dt {
    width: calc(100% - 320px);
}
.personIntroWrap .subttl {
    padding:0 60px;
    font-size: 24px;
    line-height: 36px;
}
.personIntroWrap .subttl::after{
    content: "";
    display: block;
    width: 60px;
    height: 1px;
    background: #fff;
    margin: 20px 0;
}
.personIntroWrap ul {
    padding: 0 60px;
    font-size: 16px;
    line-height: 32px;
    letter-spacing: .06em;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
}
.personIntroWrap li + li {
    margin-left: 40px;
}
.personIntroWrap dd {
    width: 320px;
}
.personIntroWrap dd img {
    width: 100%;
}
@media screen and (max-width:480px) {
    #mv_design {
        width: 100%;
        height: 30vh;
    }
    #mv_design figure {
        width: 100%;
        height: 100%;
    }
    #mv_design img {
        height: 100%;
        -o-object-fit: cover;
        object-fit: cover;
    }
    .linkWrap .page_ttl img{
        width: 100%;
        height: auto;
    }
    .design_caution {
        margin: 40px auto 0;
    }
    .linkWrap ul {
        position: static;
        margin: auto;
        padding: 1rem;
    }
    .linkWrap ul li {
        width: 48%;
    }
    .design_concept figure{
        margin-top: -30px;
    }
    .design_concept02 figure{
        height: 240px;
    }
    .design_concept02 figcaption{
        width: 94%;
        margin: auto;
    }
    .design_concept02 figcaption img{
        bottom: 20px;
    }
    .design_concept02 .innerBox,.design_concept02 .innerBox img + img{
        margin-top: 60px;
    }
    .landplanWrap{
        margin: 120px auto 0;
        padding: 0 3%;
        -webkit-box-sizing: border-box;
        box-sizing: border-box;
    }
    .landplanWrap .bg_txt{
        top: -40px;
        background-size:contain;
        background-position: top .5vh center;
    }
    .landplanWrap .plantIntroWrap{
        padding: 20px 10px;
        margin-top: 45px;
    }
    .landplanWrap .plantWrap,.landplanWrap .plantCaption{
        padding: 0;
    }
    .landplanWrap dl dt{
        font-size: 21px;
    }
    .landplanWrap dl dd{
        font-size: 15px;
    }
    .landplanWrap li:nth-child(3n), .landplanWrap li:nth-child(3n+2){
        margin-left: 8px;
    }
    .landplanWrap li{
        width: calc((100% - 16px)/3);
    margin-bottom: 10px;
    }
    .landplanWrap .plantIntroWrap dl{
        margin-top: 20px;
    }
    .personIntroWrap{
        margin-top: 60px;
    }
    .personIntroWrap .innerBox{
        width: 94%;
        margin: auto;
    }
    .personIntroWrap dl{
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    }
    .personIntroWrap dd{width: 100%;
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    }
    .personIntroWrap dt{
        width: 100%;
        -webkit-box-ordinal-group: 3;
        -ms-flex-order: 2;
        order: 2;
    }
    .personIntroWrap .subttl{
        padding: 20px 10px 0;
    }
    .personIntroWrap ul{
        display:block;
        width: 100%;
        padding: 0 10px 10px;
    }
    .personIntroWrap li + li{
        margin: 0;
    }
}
