@charset "utf-8";
@import url("https://use.typekit.net/thx0dpg.css");
.subhead{
    background: url(../img/quality/subhead.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: center center;
}
.subhead_ttl_ja {
    letter-spacing: 0.1em;
    color: #000;
    filter: drop-shadow(0px 0px 5px rgba(255, 255, 255, 0.8)) drop-shadow(0px 0px 4px rgba(255, 255, 255, 0.8)) drop-shadow(0px 0px 5px rgba(255, 255, 255, 0.8));
}



.quality_nav{
    display: flex;
    border: solid 1px #000;
    margin: 80px auto 60px;
}
.quality_nav.fst{
    margin: 80px auto 0;
}
.quality_nav_btn{
    width: calc(100% / 3);
}
.quality_nav_btn:not(:last-child){
    border-right: solid 1px #000;
}
.quality_nav_btn a{
    padding: 10px 0;
    display: block;
    text-align: center;
    color: #000;
    letter-spacing: 0.1em;
    font-size: 18px;
    transition-duration: 0.3s;
}
.quality_nav_btn a.active{
    background: #000;
    background: linear-gradient(180deg, #8187c2, #6356a3);
    color: #fff;
}
.quality_nav_btn a:hover{
    background: #000;
    background: linear-gradient(180deg, #8187c2, #6356a3);
    color: #fff;
    opacity: 0.8;
}
.quality_nav_btn a .ja{
    padding-bottom: 0.3em;
    margin-bottom: 0.3em;
    position: relative;
}
.quality_nav_btn a .ja::after{
    content: "";
    position: absolute;
    display: block;
    width: 70px;
    background: #000;
    height: 1px;
    bottom: 0;
    left: 50%;
    transform: translateX(-50%);
    transition-duration: 0.3s;
}
.quality_nav_btn a.active .ja::after{
    background: #fff;
}
.quality_nav_btn a:hover .ja::after{
    background: #fff;
}
.quality_nav_btn a .en{
    font-family: "bebas-neue-pro", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size: 1.3em;
    line-height: 1;
    text-transform: uppercase;
}
.quality_nav_btn a .en span{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.7em;
    font-weight: 500;
}


.quality_link{
    padding-top: 80px;
    margin-top: -80px;
    pointer-events: none;
}
.quality_area{
    background: #9e9ea8;
    margin: 0 auto 80px;
}
.quality_inner{
    background: #fff;
}



.eq_box{
    margin: 0 auto 60px;
}
.eq_ttl{
    background: #3d3268;
    color: #fff;
    display: flex;
    align-items: center;
    padding: 10px 20px;
}
.eq_ttl .en{
    font-family: "bebas-neue-pro", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-transform: uppercase;
    font-size: 28px;
    line-height: 1;
    letter-spacing: 0.1em;
    margin-right: 0.5em;
}
.eq_ttl .ja{
    font-size: 16px;
}
.eq_lead{
    text-align: center;
    font-size: 20px;
    margin: 1.5em auto;
    line-height: 1.5;
}


.qua_flex{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    margin-bottom: -40px;
}
.qua_item{
    margin-bottom: 40px;
}
.qua_item.col3{
    width: 31%;
    max-width: 290px;
}
.qua_item.col2_3{
    width: 65.5%;
}
.qua_item.col2{
    width: 48%;
}
.qua_item.col1{
    width: 100%;
}
.qua_item_img{
    position: relative;
}
.qua_item_name{
    font-size: 16px;
    /* padding: 0.8em 0; */
    position: relative;
    height: 3em;
    display: flex;
    align-items: center;
    width: 100%;
}
.qua_item_name p{
    width: 100%;
}
.qua_item_name::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: 0;
    height: 2px;
    width: 100%;
    background: linear-gradient(180deg, #8187c2, #6356a3);
}
.qua_item_name span.small{
    font-size: 10px;
    display: inline-block;
}
.qua_item_name span.long{
    font-size: 0.8em;
}
.qua_item_name span.toolong{
    font-size: 0.8em;
    letter-spacing: -0.05em;
}
.qua_item_lead{
    font-size: 14px;
    text-align: justify;
    line-height: 1.5;
    margin-top: 0.5em;
}


.powder_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}
.powder_flex > .qua_item_img{
    width: 32.5%;
}

.in_flex{
    display: flex;
    justify-content: space-between;
}
.in_flex > .qua_item_img{
    width: 49%;
    max-width: 159px;
}
.powder_img_cap{
    position: absolute;
    left: 0;
    bottom: 0;
    width: 100%;
    color: #fff;
    background: rgba(0, 0, 0, 0.6);
    padding: 0.2em 0.5em;
    font-size: 10px;
}



.restroom_box{
    padding: 20px;
    border: solid 2px #3d3268;
}
.restroom_box .qua_item{
    width: 32.5%;
    max-width: 310px;
}
.restroom_box .qua_item_name::after{
    content: none;
}
.restroom_box .qua_item_name{
    height: auto;
    margin-top: 0.5em;
}


.walldoor{
    padding: 20px;
    border: solid 2px #3d3268;
}
.walldoor_flex{
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin: 0 auto 10px;
}
.walldoor_flex .qua_item_img{
    width: 48%;
    max-width: 293px;
}






.qua_ttl{
    text-align: center;
    margin: 40px auto;
}
.qua_ttl .ja{
    font-size: 20px;
}
.qua_ttl .en{
    font-size: 56px;
    font-family: "bebas-neue-pro", sans-serif;
    font-weight: 400;
    font-style: normal;
    text-transform: uppercase;
    letter-spacing: 0.05em;
}
.qua_ttl .en span{
    font-family: "Noto Sans JP", sans-serif;
    font-size: 0.7em;
    font-weight: 500;
}



.double_lock_flex{
    display: flex;
    justify-content: space-between;
}
.double_lock_illust{
    width: 70%;
    background: #efefef;
    display: flex;
    justify-content: center;
    align-items: center;
    padding: 20px;
}
.double_lock_img{
    width: 28%;
}

.safe_name{
    font-size: 14px;
    text-align: center;
    color: #fff;
    background: #3d3268;
    padding: 0.5em 0;
}
.double_lock_img .safe_name{
    font-size: 12px;
    letter-spacing: -0.05em;
}
.double_lock_img .qua_img:not(:last-child){
    margin-bottom: 10px;
}




.alsok_flex{
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
}
.alsok_img{
    width: 64%;
}
.alsok_text{
    width: 32%;
}


.qua_item_name.ha{
    height: auto;
    padding-bottom: 1em;
}

.handfree_flex01{
    display: flex;
    justify-content: space-between;
    align-items: center;
}
.handsfree_box{
    padding: 20px;
    border: solid 1px #aba454;
}
.handsfree_flex01_img{
    width: 36%;
    max-width: 344px;
}
.handsfree_flex01_text{
    width: 60%;
}
.handsfree_ttl{
    font-size: 18px;
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 1em;
    white-space: nowrap;
    color: #3d3268;
    margin: 1em 0;
    width: 100%;
}
.handsfree_ttl::before, .handsfree_ttl::after{
    content: "";
    width: 100%;
    height: 1px;
    background: #000;
}


.handsfree_box .qua_item.col3{
    max-width: 296px;
    display: flex;
    flex-direction: column;
}
.match_h1{
    display: flex;
    justify-content: center;
    align-items: center;
    flex-grow: 1;
}
.match_h2{
    display: flex;
    justify-content: center;
    align-items: center;
}
.handsfree_name{
    color: #fff;
    text-align: center;
    background: #3d3268;
    padding: 0.5em 0;
    margin-bottom: 10px;
    width: 100%;
}

.handsfree_ttl.ttl02{
    width: 65.5%;
}
.handsfree_ttl.ttl03{
    width: 31%;
}




.door_box{
    padding: 20px;
    background: #f1f9fe;
    margin-bottom: 10px;
}
.door_flex01{
    display: flex;
    align-items: center;
    justify-content: space-between;
    flex-wrap: wrap;
}
.door_flex02{
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
}
.door_main{
    width: 27%;
    max-width: 259px;
}
.door_flex02{
    width: 70%;
}
.door_item{
    width: 32%;
    max-width: 215px;
}
.door_item:nth-child(n + 4){
    margin-top: 20px;
}
.door_name{
    background: #3d3268;
    color: #fff;
    text-align: center;
    font-size: 14px;
    letter-spacing: -0.05em;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 2.5em;
}
.door_name .long{
    font-size: 0.9em;
}
.door_name .small{
    font-size: 10px;
    display: block;
}
.door_item .qua_item_lead{
    font-size: 12px;
}






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

}




@media screen and (max-width: 1040px) {
.qua_item_name {
    font-size: 14px;
}
.quality_nav_btn a {
    font-size: 16px;
}
.eq_ttl .en {
    font-size: 26px;
}
.eq_ttl .ja {
    font-size: 14px;
}
.eq_lead {
    font-size: 18px;
}
.qua_item_lead {
    font-size: 12px;
}
.handsfree_name {
    font-size: 14px;
}
.handsfree_ttl {
    font-size: 16px;
}
.door_name {
    font-size: 12px;
}
.qua_ttl .ja {
    font-size: 16px;
}
.qua_ttl .en {
    font-size: 42px;
}
.quality_nav.fst {
    margin: 60px auto 0;
}
}





@media screen and (max-width: 1000px) {
.door_item {
    width: 48%;
    max-width: unset;
}
.door_item:nth-child(n + 3) {
    margin-top: 20px;
}
.door_flex02 {
    width: 60%;
}
.door_main {
    width: 34%;
    max-width: unset;
}
.qua_item_name span.small.out1000{
    position: absolute;
    left: 0;
    bottom: -2em;
    width: 100%;
}
}





@media screen and (max-width: 768px) {
.qua_item.col3 {
    width: 48%;
}
.qua_item_name span.long {
    font-size: 0.9em;
    letter-spacing: -0.05em;
}
.powder_flex > .qua_item_img {
    width: 49%;
}
.powder_flex > .qua_item_img:first-child{
    width: 100%;
    margin-bottom: 2%;
}
.in_flex > .qua_item_img {
    max-width: unset;
}
.handsfree_box .qua_item.col3 {
    max-width: unset;
}
.handsfree_box .qua_item.col3:nth-child(4n){
    margin-left: auto;
    margin-right: auto;
}
.qua_item.col2_3 {
    width: 100%;
}
.walldoor_flex .qua_item_img{
    max-width: unset;
}
.double_lock_flex{
    flex-wrap: wrap;
}
.double_lock_illust{
    width: 100%;
    margin-bottom: 10px;
}
.double_lock_img{
    width: 100%;
    display: flex;
    justify-content: space-between;
}
.double_lock_img .qua_img{
    width: 48%;
}
.double_lock_img .qua_img:not(:last-child) {
    margin-bottom: 0px;
}
.alsok_flex{
    flex-wrap: wrap;
}
.alsok_img {
    width: 100%;
    margin-bottom: 10px;
}
.alsok_text{
    width: 100%;
}
.handfree_flex01{
    flex-wrap: wrap;
    max-width: 500px;
    margin: 0 auto 20px;
}
.handsfree_flex01_img{
    width: 100%;
    margin: 0 auto 10px;
    max-width: unset;
}
.handsfree_flex01_text {
    width: 100%;
}
.handsfree_ttl.ttl02 {
    width: 100%;
}
.handsfree_ttl.ttl03{
    width: 100%;
    order: 1;
}
.handsfree_box .qua_item.col3:last-child{
    order: 2;
    margin-left: auto;
    margin-right: auto;
}
.handsfree_ttl {
    margin: 0em 0 1em;
}
.restroom_box .qua_item.col3:last-child{
    margin-left: auto;
    margin-right: auto;
}
}


@media screen and (max-width: 760px) {
.quality_link {
    padding-top: 60px;
    margin-top: -60px;
}

}


@media screen and (max-width: 650px) {
.quality_nav_btn a {
    font-size: 14px;
}
.eq_ttl .en {
    font-size: 22px;
}
.eq_ttl .ja {
    font-size: 12px;
}
.eq_lead {
    font-size: 16px;
}
.qua_item_name {
    font-size: 13px;
}
.handsfree_name {
    font-size: 12px;
}
.qua_flex {
    margin-bottom: -30px;
}
.qua_item {
    margin-bottom: 30px;
}
.handsfree_ttl {
    font-size: 14px;
}
.door_flex02{
    width: 100%;
}
.door_main{
    width: 70%;
    margin: 0 auto 20px;
    max-width: 230px;
}
.qua_ttl {
    margin: 30px auto;
}
.img_cap.out650{
    position: unset;
    text-align: right;
    margin-top: 0.2em;
}
.qua_item_name span.small.out1000 {
    bottom: -3.3em;
    white-space: nowrap;
}
.qua_item_name span.toolong {
    font-size: 0.9em;
}
}



@media screen and (max-width: 550px) {
.quality_nav_btn {
    width: 100%;
}
.quality_nav{
    flex-wrap: wrap;
}
.quality_nav_btn:not(:last-child) {
    border-right: none;
    border-bottom: solid 1px #000;
}
.qua_item_name {
    height: 3.5em;
    /* line-height: 1; */
    font-size: 12px;
}
.powder_flex > .qua_item_img{
    width: 100%;
}
.powder_flex > .qua_item_img:last-child{
    margin-top: 10px;
}
.restroom_box {
    /* padding: 10px; */
}
.qua_item_name span.small {
    letter-spacing: -0.05em;
}
.walldoor {
    /* padding: 10px; */
}
.walldoor_flex .qua_item_img {
    /* width: 100%; */
    width: 49%;
}
.walldoor_flex .qua_item_img:first-child{
    /* margin-bottom: 10px; */
}
.quality_nav.fst {
    margin: 40px auto 0;
}
.qua_ttl .en {
    font-size: 32px;
}
.qua_ttl .ja {
    font-size: 14px;
}


.handsfree_name {
    font-size: 11.5px;
    height: 2.8em;
    padding: 0;
    display: flex;
    justify-content: center;
    align-items: center;
}

.restroom_box {
    padding: 20px 10px;
}
.walldoor {
    padding: 20px 10px;
}
.handsfree_box {
    padding: 20px 10px;
}
.door_name .long {
    font-size: 0.8em;
}

.img_cap.out650 span{
    font-size: 8px;
}
}

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

}



