@charset "utf-8";
/* CSS Document */


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

}


/* #page_ttl
----------------------------------------- */
#page_ttl {
    height: calc(100vh - 9rem);
    padding-bottom: 2rem;
}

#page_ttl .inner {
    height: 100%;
    position: relative;
    z-index: 1;
}

#page_ttl h1 {
    position: absolute;
    top: 50%;
    left: calc(50/1316*100%);
    transform: translate(0,-50%);
    z-index: 2;
}
#page_ttl h1 span {
    font-size: 3.3rem;
    letter-spacing: 0.065em;
    line-height: 1;
    font-weight: 400;
    color: #FFFFFF;
}

#page_ttl .bg {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
}
#page_ttl .bg img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#brand-concept #page_ttl h1 span {
    color: #231815;
}

@media screen and (max-width: 768px) {
#page_ttl {
    height: calc(100vh - 8rem);
    padding-bottom: 1.5rem;
}

#page_ttl h1 {
    left: calc(25/345*100%);
}
#page_ttl h1 span {
    font-size: 2.3rem;
    letter-spacing: 0.065em;
}
}


/* #page_con
----------------------------------------- */
#page_con {
}

#page_con .inner {
    padding-bottom: 20rem;
}

#page_con .layout {
    display: flex;
    flex-flow: column;
    gap: 10rem 0;
    margin-top: 10rem;
}
#page_con .layout .con.txt {
    width: 37.5rem;
    margin: auto;
    font-size: 1.5rem;
    line-height: calc(33/15);
    text-align: justify;
}
#page_con .layout .con.txt > p:not(:last-child) {
    margin-bottom: 2em;
}
#page_con .layout .ttl_wrap {
    margin-bottom: 7rem;
}
#page_con .layout .ttl_wrap h2 {
    font-size: 5rem;
    font-weight: 200;
    letter-spacing: 0.065em;
    line-height: 1.2;
}
#page_con .layout .info_table {
}
#page_con .layout .info_table th {
    white-space: nowrap;
    padding-right: 2rem;
    font-weight: 400;
}

#page_con .layout .con.img {
    width: 100%;
    height: var(--pc-height);
}
#page_con .layout .con.img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#brand-concept #page_con .layout {
    gap: 16rem 0;
    margin-top: 20rem;
}

#company-profile #page_con .layout .con.txt {
    font-size: 1.3rem;
    line-height: calc(23/13);
}

@media screen and (max-width: 768px) {
#page_con .inner {
    padding-bottom: 6rem;
}
#page_con .layout {
    gap: 8rem 0;
    margin-top: 8rem;
}
#page_con .layout .con.txt {
    width: 30.5rem;
    margin: auto;
    font-size: 1.3rem;
}
#page_con .layout .con.img {
    height: var(--sp-height);
}
    
#brand-concept #page_con .layout {
    gap: 12rem 0;
    margin-top: 14rem;
}
#brand-concept #page_con .layout .ttl_wrap {
    margin-bottom: 7rem;
}
#brand-concept #page_con .layout .ttl_wrap h2 {
    font-size: 4rem;
}
}

