@charset "UTF-8";

.inner {
    max-width: 100%;
    width: min(83.5%, 1100px);
    padding: 0;
}

.about {
    max-width: 100%;
}
.about_content {
    margin-left: 425px;
}
.company {
    max-width: 100%;
}
.company .h2_ttl h2 {
    text-align: left;
}
.company table {
    max-width: 800px;
    margin-left: auto;
}
.h2_ttl{
    font-size: clamp(4rem, 2.393rem + 5.14vw, 5.2rem);
}
.contact h2 {
    font-size: clamp(5.625rem, -2.153rem + 16.2vw, 7rem);
}
footer .sns {
    justify-content: center;
}
#side-contact {
    position: fixed;
    display: none;
    right: 20px;
    bottom: 90px;
    width: 50px;
    height: 50px;
    background-color: #fff;
    border: 1px var(--black) solid;
    box-sizing: border-box;
    z-index: 9999;
    border-radius: 50px;
    font-size: 1.1rem;
}
    #side-contact a {
        display: flex;
        justify-content: center;
        align-items: center;
        width: 100%;
        height: 100%;
    }

@media only screen and (max-width: 1344px){
.main .inner .scroll {
    right: calc((1344px - 100vw) / 2);
}
}
@media only screen and (max-width: 1200px){
.main .inner .scroll {
    right: 4%;
}
}
@media only screen and (max-width: 1065px){
.about_content {
    margin-left: auto;
}
}


/*
.service .service_img01{
    position: absolute;
    top: 14vh;
    right: 0;
    width: 24vw;
}
.service .service_img02{
    position: absolute;
    bottom: 10vh;
    right: 10vw;
    width: 24vw;
}
.service .service_img03{
    position: absolute;
    bottom: calc(50% - 12vw);
    right: 20vw;
    width: 24vw;
}
@media only screen and (max-width: 1440px){
    .service .service_img01 {
        top: 20vh;
        width: 28vw;
    }
    .service .service_img02 {
        bottom: 15vh;
        width: 28vw;
    }
    .service .service_img03 {
        width: 28vw;
        bottom: calc(50% - 15.5vw);
    }
}
@media only screen and (max-width: 1200px){
    .service .service_img01 {
        top: 26vh;
    }
    .service .service_img02 {
        right: 3vw;
    }
    .service .service_img03 {
        right: 10vw;
        bottom: calc(50% - 18vw);
    }
}
@media only screen and (max-width: 1024px){
    .service .service_img01 {
        top: 16vh;
        width: 40vw;
        z-index: 0;
    }
    .service .service_img02 {
        width: 40vw;
    }
    .service .service_img03 {
        width: 40vw;
        bottom: calc(50% - 20vw);
    }
}
@media only screen and (max-width: 768px){
    .service .service_img01 {
        width: 45vw;
        top: 12vh;
    }
    .service .service_img02 {
        width: 45vw;
        bottom: 5vh;
        right: 4vw;
    }
    .service .service_img03 {
        width: 45vw;
        bottom: calc(50% - 27vw);
        right: 14vw;
    }
}
@media only screen and (max-width: 600px){
.inner {
    width: 88.5%;
}
    .service .service_img01 {
        top: 10vh;
        width: 60vw;
    }
    .service .service_img02 {
        bottom: 9vh;
        width: 60vw;
        right: 8vw;
    }
    .service .service_img03 {
        width: 60vw;
        right: 20vw;
    }
}
@media only screen and (max-width: 390px){
    .service .service_img01 {
        top: -4vh;
        width: 70vw;
    }
    .service .service_img02 {
        width: 70vw;
        right: 3vw;
        bottom: 5vw
    }
    .service .service_img03 {
        width: 70vw;
        right: auto;
        left: 0;
        bottom: calc(50% - 45vw);
    }
}
*/

.service .service_content {
    max-width: 100%;
}
.service_wrapper {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 8rem;
    position: relative;
}
.service_wrapper:last-child {
    margin-bottom: 0;
}
.service_wrapper:nth-child(2n) {
    flex-direction: row-reverse;
}
.service_content_box {
    width: 54%;
}
.service_img  {
    width: 35%;
}

@media only screen and (max-width: 1200px){
.service_wrapper {
    margin-bottom: 4rem;
}
}
@media only screen and (max-width: 768px){
.service_content_box {
    width: 100%;
    z-index: 1;
}
.service_img {
    width: 45%;
    position: absolute;
    bottom: 0;
    right: 0;
}
.service_wrapper:nth-child(2n) .service_img {
    right: auto;
    left: 0;
}
.service_wrapper:nth-child(2n) .service_content_box span {
    justify-content: flex-end;
}
.service_wrapper:nth-child(2n) h3 {
    text-align: right;
}
}
@media only screen and (max-width: 600px){
.service_img {
    width: 60%;
}
}


.news .news_content {
    max-width: calc(800px - 8rem);
}
.company table {
    width: calc(70% + 8rem);
}
.about_content {
    margin-left: auto;
    width: calc(70% + 8rem);
    max-width: 800px;
}
.about_content h3 {
    margin-left: 0;
}
@media only screen and (max-width: 950px){
.company table {
    width: calc(70% + 6rem);
}
.about_content {
    width: calc(70% + 6rem);
}
}
@media only screen and (max-width: 768px){
.company table {
    width: 100%;
}
.about_content {
    width: 100%;
}
}