html {
    overflow-x: hidden;
}

body {
    -webkit-font-smoothing: antialiased;
    overflow-x: hidden;
}

body {
    font-family: 'Noto Sans JP' !important;
    background: #12C0A9;
}

.company-profile section {
    padding: 0% !important;
}

.banner {
    position: relative;
    overflow: hidden;
    background: #fff;
    background-size: cover;
    /* min-height: 23.640454vh; */
}

#home {
    overflow: hidden;
    position: relative;
    /* height: 419px; */
}

#home img {
    width: 100%;
    object-fit: cover;
}

.features {
    padding-bottom: 16.197916666667vw;
}

.feature-icon {
    position: absolute;
    left: -3.5416666666667vw;
    top: -3.59375vw;
    width: 38.385416666667vw;
    height: 9.4791666666667vw;
    z-index: 1;
    background-repeat: no-repeat !important;
    background-size: 100% !important;
}

.feature-item {
    margin-top: 9.0104166666667vw;
    /*margin-left: 5.2083333333333vw;*/
    margin-bottom: 210px;
    height: fit-content;
    width: 88.645833333333vw;
    background-color: #fff;
    border: #000 solid 0.2683843263553409vw;
    border-radius: 15px 15px 15px 15px;
    box-shadow: 0px 0px 30px 0px rgba(0, 42, 106, 0.1);
}

@media (min-width: 1025px) {
    .feature-item {
        /* flex-basis: 73.90625vw; */
        /* margin-left: 5%; */
    }
}

.feature-item {
    position: relative;
}

.feature-item.mb-5.mb-lg-0:after {
    content: "";
    position: absolute;
    z-index: -1;
    width: 100%;
    height: 100%;
    top: 1.3020833333333vw;
    right: -1.1979166666667vw;
    background-color: #fff;
    border: #000000 solid 0.2683843263553409vw;
    border-radius: 15px 15px 15px 15px;
    box-shadow: 0px 0px 30px 0px rgba(0, 42, 106, 0.1);
}

.cp-title {
    width: 54vw;
    margin-top: 5.2083333333333vw;
}

.cp-table {
    margin-top: 5.5729166666667vw;
    width: 77.135416666667vw;
}

.td-left {
    border-right: solid 2px #DBDBDB;
}

.cp-border-light {
    border-top: solid 2px #DBDBDB;
    border-bottom: solid 2px #DBDBDB;
}

.cp-margin-bottom {
    margin-bottom: 3.3854166666667vw !important;
}

.cp-table td, th {
    padding-top: 2.0833333333333vw !important;
    padding-bottom: 2.0833333333333vw !important;
    font-size: 1.25vw;
    line-height: 2.5vw;
    color: #000000;
    opacity: 1;
}

.cp-table .td-right {
    padding-left: 3.125vw;
}

.cp-table .td-left {
    padding-left: 14.0625vw;
}

.cp-top {
    width: 26.40625vw;
    height: 7.8645833333333vw;
}

.read-more {
    border-top: 0.26041666666667vw solid #000000;
    border-bottom: 0.26041666666667vw solid #000000;
    height: 33.023735810114vh;
}

.mr-footer {
    min-height: 4.6439628482972vh;
}

.company {
    margin-top: 137.6px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
}

.company-executives {
    margin: 0 8% 94.95px;
    width: 100%;
    max-width: 1267px;
    min-height: 661px;
    transform: skewX(-10deg);
    border: 5px solid #000;
    background: #FFF9F0;
}

.company__executives-img {
    position: absolute;
    top: -2vw;
    left: -5vw;
    transform: skewX(10deg);
    border: 5px solid #000;
    background-color: #000000;
    width: 32.03125vw;
    height: 31.197916666666668vw;
    -webkit-clip-path: polygon(18% 0, 100% 0%, 82% 100%, 0% 100%);
    clip-path: polygon(18% 0, 100% 0%, 82% 100%, 0% 100%);
    overflow: hidden;
}

.company-manager-img {
    width: 100%;
}

.company-manager {
    position: relative;
}

.company__executives-img > img {
    position: absolute;
    width: 100%;
    height: 100%;
    -webkit-clip-path: polygon(18% 0, 100% 0%, 82% 100%, 0% 100%);
    clip-path: polygon(18% 0, 100% 0%, 82% 100%, 0% 100%);
    object-fit: cover;
}

.company__manager-bg {
    position: absolute;
    top: 0;
    left: -8%;
    width: 31.5625vw;
    height: 30.833333333333332vw;
    transform: skewX(10deg);
}

.company__executives-info {
    transform: skewX(10deg);
    padding: 84.5px 73.5px 84.5px 0;
}

.company__executives-info p {
    margin: 0;
}

.executives__info-position {
    margin-bottom: 17px !important;
    font-size: 24px;
    font-weight: lighter;
    line-height: 46px;
}

.executives__info-name {
    font-size: 42px;
    font-weight: bold;
    line-height: 28px;
}

.executives__info-description {
    margin-top: 57px;
    font-size: 18px;
    font-weight: 500;
    line-height: 35px;
    overflow: hidden;
}

.brand-btn-top {
    position: relative;
    width: 45%;
    float: left;
}

.brand-btn-top::before {
    content: "";
    position: absolute;
    --dotSize: 0.08rem;
    --bgSize: 0.4rem;
    --bgPosition: calc(var(--bgSize) / 2);
    background-image: radial-gradient(circle at center, #000 var(--dotSize), transparent 0), radial-gradient(circle at center, #000 var(--dotSize), transparent 0);
    background-size: var(--bgSize) var(--bgSize);
    background-position: 0 0, var(--bgPosition) var(--bgPosition);
    top: 30%;
    left: 2%;
    width: 90%;
    height: 90%;
    border-radius: 5px;
    border: 1px solid transparent;
}

.brand-btn-top p {
    text-align: center;
    color: #fff;
    font-weight: 600;
}

.brand-btn-top-link {
    display: inline-block;
    width: 90%;
    padding: 30px 0;
    text-align: center;
    background: #000;
    border-radius: 10px;
}

.brand-btn-top-link > span {
    display: inline-block;
    line-height: 35px;
    color: #fff;
    font-weight: 600;
    opacity: 0.99;
    font-size: 26px
}

.btn-rhombus-top {
    position: absolute;
    top: 95%;
    right: 15%;
    width: 60px;
    height: 60px;
    clip-path: polygon(25% 0%, 70% 0%, 62% 23%, 100% 23%, 32% 100%, 54% 39%, 11% 39%);
    background: #000;
}

span.btn-rhombus-bg-top {
    position: absolute;
    top: 100%;
    right: 10%;
    width: 60px;
    height: 60px;
    clip-path: polygon(25% 0%, 70% 0%, 62% 23%, 100% 23%, 32% 100%, 54% 39%, 11% 39%);
    --dotSize: 0.08rem;
    --bgSize: 0.4rem;
    --bgPosition: calc(var(--bgSize) / 2);
    background-image: radial-gradient(circle at center, #000 var(--dotSize), transparent 0), radial-gradient(circle at center, #000 var(--dotSize), transparent 0);
    background-size: var(--bgSize) var(--bgSize);
    background-position: 0 0, var(--bgPosition) var(--bgPosition);
}

.btn-group-next {
    width: 70%;
    margin: 0 auto;
    display: flex;
    justify-content: center;
}

.navigation-cp {
    margin-top: 120px;
    margin-bottom: 200px;
    display: flex;
    justify-content: center;
}

#home .company-head-mb {
    display: none;
}

.company-executives-title {
    font-size: 46px;
    line-height: 35px;
}

.company-top {
    font-size: 36px;
    line-height: 48px;
}

.mobile-svg-title {
    display: none;
}

a {
    text-decoration: none !important;
}

a:hover, a:focus, a:active {
    text-decoration: none !important;
}

.executives__info-name.sp {
    display: none;
}

.company-head-bg {
    display: inline;
}

@media only screen  and (min-width:761px ) and (max-width: 1024px) {
    .executives__info-description {
        font-size: 1.7vw;
    }
    .executives__info-name {
        font-size: 4vw;
    }
    .executives__info-position {
        font-size: 2.34375vw;
    }
}
@media only screen  and (min-width:761px ) and (max-width: 767px) {
    .c-e-ipad {
        width: 50%;
    }
}

@media screen and (max-width: 760px) {
    body {
        background: #11C7B2 !important;
    }

    #home {
        height: 115.52631578947vw;
    }

    #home img {
        width: 100%;
        height: 101.5%;
        object-fit: cover;
    }

    #home .company-head-bg {
        display: none;
    }

    #home .company-head-mb {
        display: block;
    }

    .background-company-ex {
        background-image: url('../images/company-executives/company-mb.png') !important;
    }

    .feature-icon {
        left: -7.541667vw;
        top: 7.40625vw;
        width: 56.975vw !important;
        height: 14.04vw;
    }

    .feature-item {
        margin-top: 26.010417vw !important;
        margin-bottom: 27.6316vw !important;
    }

    .company {
        margin-top: 11.31579vw !important;
    }

    .company-executives, .company__executives-info, .company__executives-img {
        transform: skew(0);
    }

    .company__executives-img {
        top: -48vw;
        left: -73.95px;
        clip-path: none !important;
        border: 0.657895vw solid #000;
        width: 97.57%;
        height: 75.265vw;
    }

    .company__executives-img > img {
        clip-path: none !important;
        width: 100%;
        height: 100%;
    }

    .company-manager-img {
        width: 100%;
        min-height: 38.15789vw;
    }

    .company__executives-info {
        padding: 0 7.89474vw 12.89474vw 7.89474vw !important;
    }

    .company-executives {
        margin-right: -105px !important;
    }

    .company__manager-bg {
        background-image: var(--bg-image-url) !important;
        top: -45vw;
        left: -3.4em !important;
        width: 97.404% !important;
        height: 75.265vw !important;
        transform: skew(0deg) !important;
    }

    .feature-item {
        border: 0.657895vw solid #000;
    }

    .feature-item.mb-5.mb-lg-0:after {
        display: none !important;
    }

    .cp-title {
        width: 65.396vw !important;
        height: 82px !important;
        margin-top: 5.2083333333333vw;
    }

    .cp-top {
        width: 48.159vw !important;
        height: 13.423vw !important;
        margin-left: 50% !important;
    }

    .company-executives {
        border: 0.657895vw solid #000;
        margin-top: 42.1053vw !important;
        border-right: none !important;
        min-height: 86.9737vw;
    }

    .navigation-cp {
        width: 94vw;
        margin-top: -9.21053vw;
        margin-bottom: 26.7105vw;
    }

    .company-executives-title {
        font-size: 32px;
        line-height: 24px;
    }

    .executives__info-position {
        font-size: 2.36842vw;
        line-height: 4.60526vw;
        font-weight: 500;
    }

    .company-top {
/*        font-size: 24px;*/
        line-height: 32px;
    }

    .element-btn-action {
        margin-bottom: 38.5px !important;
    }

    .pc-svg-title {
        display: none;
    }

    .mobile-svg-title {
        display: block;
    }

    .executives__info-description {
        margin-top: 7.5vw;
        font-size: 2.36842vw;
        line-height: 4.60526vw;
    }

    .executives__info-name {
        font-size: 5.52632vw;
        line-height: 3.68421vw;
    }

    .executives__info-name.pc {
        display: none;
    }

    .executives__info-name.sp {
        display: block;
    }

}
@media screen and (min-width: 761px) and ( max-width:1920px) { 
    .feature-item {
        box-shadow: 0.5208333333333333vw 0.5208333333333333vw #fff,  0.78125vw 0.78125vw black !important;
    }
}
