

.companies-logos {
    margin:-35px auto 0;
}

@media only screen and (max-width:967px){
    .companies-logos {
        margin:-5px auto;
    }
}

.general-content {
    text-align:left;
}

.gc-desc,
.gc-sub,
.gc-sub img {
    display:inline-block;
    vertical-align: top;
    box-sizing: border-box;
}

.gc-desc {
    padding:25px 15px 0 0;
    width:350px;
    font-size:14px;
    color:#444;
    line-height:21px;
}

.gc-sub {
    width:calc(100% - 400px);
}

@media only screen and (max-width:1267px){
    .gc-desc {
        width:250px;
    }
    .gc-sub {
        width:calc(100% - 300px);
    }
}

@media only screen and (max-width:1067px){
    .gc-desc {
        width:100%;
        line-height:21px;
    }
    .gc-sub {
        width:100%;
    }
}

.gc-sub img {
    width:calc(100% / 5);
    opacity:0.85;
}

@media only screen and (max-width: 667px){
   
    .gc-sub {
        margin:15px 0 0 -20px;
    }
    .gc-sub img {
        width:calc(100% / 5);
        opacity:0.85;
    }
}

.gc-sub img:hover {
    opacity:1;
    transform:400ms;
}


.general-header {
    margin:0 auto;
    text-align:left;
}

.gh-title {
    padding-top:15px;
    color:#000;
    font-family: "Noto Sans JP", sans-serif;
    font-size:36px;
    font-weight:900;
}

.general-section {
    padding:125px 0;
}

@media only screen and (max-width:1067px){
    .general-section {
        padding:35px 0;
    }
}

.splash-container {
    position: relative;
    width: 100%;
    height: 96vh;
    margin: 0 auto;

    display: flex;
    justify-content: center; 
    align-items: center;   

    overflow:hidden;
    box-sizing: border-box;
}

@media only screen and (max-width:667px){
    .splash-container {
        height: 85vh;
    }
}

.splash-content {
    text-align:center;
    color:#333;
}

.sc-title {
    font-weight:600;
    letter-spacing:-3px;
    font-size:172px;
    font-family: "Noto Sans JP", sans-serif;
}

@media only screen and (max-width:667px){
    .sc-title {
        font-size:136px;
    }
}

.sc-sub {
    margin-top:-15px;
    font-size:16px;
    text-transform:uppercase;
    letter-spacing:13px;
    word-spacing:5px;
    padding-left:15px;
    font-family: "Noto Sans JP", sans-serif;
}

.sc-content {
    font-weight:100;
    width:40%;
    font-size:16px;
    line-height:27px;
    margin:55px auto 0;
    color:#777;
}

@media only screen and (max-width:1067px){
    .sc-content {
        width:60%;
    }
}

@media only screen and (max-width:667px){
    .sc-content {
        width:77%;
        font-size:16px;
        line-height:21px;
    }
}


.sc-footer {
    position:absolute;
    width:100%;
    bottom:0;
    left:0;
    text-align:center;
}
.scf-title {
    font-family: "Noto Sans JP", sans-serif;
    text-transform:uppercase;
    margin-bottom:10px;
    font-size:11px;
    letter-spacing: 1px;
    color:#777;
}

.scf-line {
    height:35px;
    width:1px;
    background:#AAA;
}


.three-item-block {
    background:#F7F7F7;
    padding:125px 0;
    text-align:left;
}

@media only screen and (max-width:867px){
    .three-item-block {
        padding:35px 0;
    }
}

.tib-block {
    display:inline-block;
    vertical-align: top;
    box-sizing: border-box;
    width:calc(100% / 3);
    text-align:left;
}


.tib-block:nth-child(1){
    padding-right:50px;
}

.tib-block:nth-child(2){
    padding:0 25px;
}

.tib-block:nth-child(3){
    padding-left:50px;
}

@media only screen and (max-width:1067px){
    .tib-block:nth-child(1){
        padding-right:30px;
    }

    .tib-block:nth-child(2){
        padding:0 15px;
    }

    .tib-block:nth-child(3){
        padding-left:30px;
    }
}

@media only screen and (max-width:867px){
    .tib-block:nth-child(1){
        padding-right:0;
    }

    .tib-block:nth-child(2){
        padding:0;
    }

    .tib-block:nth-child(3){
        padding-left:0;
    }

    .tib-block {
        width:100%;
        margin-bottom:15px;
    }
}


.tib-block:hover .tibb-icon {
    opacity:1;
    transition:400ms;
}

.tibb-icon {
    width:65px;
    opacity:0.72;
    margin:15px 0;
}

.tibb-icon img {
    width:100%;
}

.tibb-title {
    margin:15px 0;
    font-family: "Noto Sans JP", sans-serif;
    font-size:34px;
    color:#444;
    font-weight:900;
}

.tibb-content {
    color:#777;
    font-size:14px;
    line-height:22px;
    min-height:100px;
}

@media only screen and (max-width:1067px){
    .tibb-content {
        font-size:12px;
    }
}

@media only screen and (max-width:867px){
    .tibb-content {
        font-size:14px;
        min-height:auto;
    }
}

.tibb-button {
    display:none;
    margin:25px 0;
}

.tibb-button a {
    display:block;
    border:1px #AAA solid;
    padding:12px 15px;
    text-align:center;
    text-decoration:none;
    color:#444;
    font-family: "Noto Sans JP", sans-serif;
    text-transform:uppercase;
    font-size:11px;
}
