:root{
    --color-voice-red:#8c0d23;
}
@media screen and (max-width: 1024px) {
    :root{
        --padding-inner-lr: 50px;
        --padding-description-inner: 0;
        --padding-points-inner: 20px;
    }
}

@media screen and (max-width: 639px) {
    :root{
        --flex-responsive: block;
        --grid-responsive: block;
        --padding-inner-lr: 0;
        --padding-box30: 15px;
    }
}

.contents-wrap .contents-inner {
    width: 95%;
}
/*--------------------------------------
  メインビジュアル
*/

#main-visual {
    background-image: url(../img/voice/voice-header-bg.jpg);
}

#voice-header-wrapper{
    background-image: url(../img/voice/voice-header-bg.jpg);
    background-size: cover;
    background-position: top;
    height: 523px;
}


@media screen and (min-width: 640px) {
    #voice-header.content-header h1 img{
            height: 135px;
            margin-left: -37px;
        }
    #main-contents:after {
        display: none;
    }
}
@media screen and (max-width: 639px) {
    #main-visual {
        background-image: url(../img/voice/voice-header-bg-sp.jpg);
    }
    #main-visual .header-contents h2,
    #main-visual .header-contents p{
        margin-left: 0;
    }
    #main-top #main-contents{
        padding-top: 70px;
    }
        #voice-header .contents{
            width: 100%;
        }
    #main-contents #voice-header.content-header {
        grid-template-columns: 1fr;
        padding: 40px 0;
        width: 100%;
    }
    #main-contents #voice-header .contents-inner{
        width: 100%;
        max-width: 100%;
    }
    #voice-header h1 {
        text-align: center;
    }
    #voice-header h1 > img {
        width: auto;
        margin: 0 auto;
        height: 70px;
    }

    #voice-header h2 {
        text-align: center;
        font-size: 32px;
    }
    
    #voice-header.content-header > div {
        margin-top: 0 !important
    }

    #voice-header .content-header-lead {
        margin-top: 30px;
        text-align: center;
        font-size: 20px;
    }
    section:is(#voice-header) > div{
        margin-top: 0;
    }
}

/*--------------------------------------
  見出し
--------------------------------------*/


#business {
    padding-top: 0 !important;
}
.contents-layout-left-title .left-title-text .red{
    color: var(--color-voice-red);
}

/*--------------------------------------
  コンテンツ部
--------------------------------------*/
    #main-contents #staff,
#main-contents #private {
    margin-top: 30px
}
/*--------------------------------------
  活用された方の声
--------------------------------------*/
section>div.left-title{
    margin-top: 60px;
}
section>div:not(.left-title){
    margin-top: 30px;
}


.contents-inner div.img-right-wrap>img{
    height: auto;
}

#business div.people_img {
    background-image: url(../img/voice/business_people.png);
}

#staff div.people_img {
    background-image: url(../img/voice/staff_people.png);
}

#private div.people_img {
    background-image: url(../img/voice/private_people.png);
    background-size: contain;
}

.contents-inner div.img-right-wrap {
    display: flex;
}
.contents-inner div.img-right-wrap > div:first-of-type{
    width: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
}
.contents-inner div.img-right-wrap > div:first-of-type .voice-lead{
    font-family: var(--font-family-mincho);
    font-weight: 600;
    font-size: 25px;
    line-height: 2;
    letter-spacing: 0.1em;
}
.contents-inner div.img-right-wrap > div:first-of-type .voice-lead span{
    display: inline-block;
}
.contents-inner div.img-right-wrap > div:last-of-type{
    width: 50%;
    position: relative;
    display: flex;
    align-items: flex-end;
}
.contents-inner div.img-right-wrap > div:last-of-type img{
    height: auto;
    max-height: 370px;
    object-fit: contain;
    width: 100%;
    object-position: bottom right;
    bottom: 0;
}

#staff .contents-inner div.img-right-wrap > div:last-of-type img{
    position: relative;
    right: -25px;
    bottom: 0;
}

#private .contents-inner div.img-right-wrap > div:last-of-type img{
    position: relative;
    bottom: -1px;
}
.contents-inner div.img-right-wrap + .seat-wrap{
    margin-top: 0;
}
.img-wrap{
    width: 92%;
    max-width: 1600px;
    display: flex;
    margin: 60px auto 0;
 }
.img-wrap img{
width: calc(100% / 3);
height: auto;
}
.seat-wrap {
    margin-top: 50px;
}

.seat-wrap p {
    font-size: 19px;
}


/* 座席ごとの見出し */
div.seat-wrap>div:first-child {
    padding: 8px 0.85em 8px 0.85em;
    color: #FFF;
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 15px;
    text-align: left;
}

.seat-wrap div.toshiba {
    background-color: var(--color-seat-toshiba);
}

.seat-wrap div.green {
    background-color: var(--color-seat-green);
}

.seat-wrap div.breeze {
    background-color: var(--color-seat-breeze);
}

.seat-wrap div.left {
    background-color: var(--color-seat-left);
}

.seat-wrap div.ivy {
    background-color: var(--color-seat-ivy);
}

.seat-wrap div.right {
    background-color: var(--color-seat-right);
}

.seat-wrap div.smbc-1 {
    background-color: var(--color-seat-smbc-first);
}

.seat-wrap div.smbc-3 {
    background-color: var(--color-seat-smbc);
}

.seat-wrap>div>* {
    display: inline;
    margin: 0;
    line-height: 1em;
}

.seat-wrap>div>span {
    font-family: var(--font-family-gothic);
    font-feature-settings: "palt";

}

.contents-inner p {
    font-family: var(--font-family-gothic);
    line-height: 1.75em;
}

@media screen and (min-width:1201px) {


}

@media screen and (max-width:1200px) {
    .img-right-wrap {
        overflow: hidden;
    }
}

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

   

    
}

@media screen and (min-width:640px) {
    
    .contents-inner > div:first-child{
        margin-top: 0;
    }
     .contents-inner div.img-right-wrap > div:first-of-type .voice-lead{
    font-size: clamp(1.25rem, 0.8929rem + 0.8929vw, 1.5625rem);
}
}

@media screen and (max-width:639px) {
    .seat-wrap p {
        font-size: 14px;
    }
    .contents-inner{
        overflow: hidden;
    }
    .contents-inner > div{
        width: 95%;
    }
    .contents-inner div.img-right-wrap > div:first-of-type{
        max-width: fit-content;
        width: fit-content;
        flex-shrink: 0;
    }

    /* 座席ごとの見出し */
    div.seat-wrap>div:first-child {
        padding-left: 8px;
        padding-right: 8px;
    }
    .contents-inner div.img-right-wrap > div:first-of-type .voice-lead{
        font-size: clamp(1rem, 0.2898rem + 3.0303vw, 1.5rem);
        line-height: 1.58;
        letter-spacing: 0.18em;
        margin-top: 1.5em;
        margin-bottom: 1.25em;
        max-width: calc(1.18em * 6);
    }
    .contents-inner div.img-right-wrap > div:last-of-type{
        flex-grow: 1;
    }

    .contents-inner div.img-right-wrap > div:last-of-type img.sp{
        right: -22px;
        width: calc(100% + 5vw);
        max-width: unset;
        height: auto;
        object-fit: unset;
    }

    *:not(#business) section>div:not(.category-main) {
        margin-top: 30px;
    }

    #staff .contents-inner div.img-right-wrap > div:last-of-type img{
        right: 0;
        width: calc(100% + 3vw);
    }

    #private .contents-inner div.img-right-wrap > div:last-of-type img{
        right: 1vw;
        width: calc(100% + 2vw);
        bottom: 0;
    }
    section.contents-wrap:not(#staff) .contents-inner>div:first-child{
        margin-top: 0;
    }
    .contents-inner .seat-wrap{
        margin-top: 30px;
    }
    .contents-inner .seat-wrap>div:first-child{
        margin-bottom: 5px;
    }
    .contents-inner .seat-wrap>div:first-child>*{
        padding: 0;
        letter-spacing: 0.017em;
    }

    .contents-inner .seat-wrap > p{
        padding: 0;
        font-feature-settings: "palt";
        text-align: justify;
    }
    .contents-inner .seat-wrap>div:first-child{
        flex-direction: column;
        justify-content: center;
        gap: 5px;
        align-items: flex-start;
    }
    .contents-inner .seat-wrap>div:first-child>span{
        font-size: 0.8em;
    }
    .seat-wrap p br{
        display: none;
    }
    .contents-inner div.img-right-wrap:not(:first-child){
    margin-top: 30px;
    }
    .contents-inner div.img-right-wrap .seat-wrap{
        margin-top: 0;
    }
    .contents-inner div.img-right-wrap .seat-wrap > div{
        margin-top: 0;
    }
    .voice-contents-wrap .img-wrap {
        display: block;
        margin-top: 0;
        width: 95%;
    }

    .voice-contents-wrap .img-wrap img {
        width: 100%;
        height: auto;
        margin-top: 30px;
    }
    #main-contents #staff, #main-contents #private{
        margin-top: 50px;
    }
    
}