/*======================================================mainVisual======================================================*/

.swiper-wrapper img {
    height: 920px;
    object-fit: cover;
}

.mainVisual {
    position: relative;
}

.copy {
    margin: 120px 240px;
}

.copy h1 {
    font-size: 64pt;
    line-height: 120pt;
}

.newsBox {
    margin: 0 240px;
    position: absolute;
    z-index: 4;
    bottom: -160px;
    width: calc(100% - 480px);
}

.newsBoxWrap {
    background-color: rgba(232, 232, 232, 0.85);
    width: 50%;
    margin-left: 50%;
}

.newsBoxInner {
    padding: 64px 40px;
}

h3 {
    font-size: 24pt;
}

.newsConts {
    margin-top: 40px;
}

/*======================================================about======================================================*/

.about {
    margin-top: 284px;
}

.img {
    width: calc(50% + 240px);
}

.aboutImg {
    margin-left: -240px;
}

.aboutInner {
    position: relative;
}

.aboutInfo {
    position: absolute;
    right: -240px;
    left: calc(50% - 240px);
    top: 320px;
    padding: 120px 240px;
    background-color: rgba(232, 232, 232, 0.85);
}

.aboutConts {
    margin-top: 80px;
}

.aboutInfoInner .btn {
    margin-top: 80px;
}

/*======================================================service======================================================*/

.service {
    margin-top: 533px;
}

.serviceInner {
    position: relative;
}

.serviceImg {
    margin-left: 50%;
}

.serviceInfo {
    position: absolute;
    left: -240px;
    top: 320px;
    right: calc(50% - 240px);
    padding: 120px 240px;
    background-color: rgba(232, 232, 232, 0.85);
}

.serviceConts {
    margin-top: 80px;
}

.serviceInfoInner .btn {
    margin-top: 80px;
}

/*======================================================recruit======================================================*/

.recruit {
    margin-top: 733px;
}

.recruitImg {
    margin-left: -240px;
}

.recruitInner {
    position: relative;
}

.recruitInfo {
    position: absolute;
    right: -240px;
    left: calc(50% - 240px);
    top: 320px;
    padding: 120px 240px;
    background-color: rgba(232, 232, 232, 0.85);
}

.recruitConts {
    margin-top: 80px;
}

.recruitInfoInner .btn {
    margin-top: 80px;
}

/*======================================================contact======================================================*/

.contact {
    margin-top: 533px;
}
.contactInner {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: #e8e8e8;
    height: 400px;
}

.contactInner h3 {
    width: fit-content;
}

.contactInner span {
    width: 16pt;
    height: 3px;
    background-color: #707070;
    position: relative;
    left: 60px;
    top: 68px;
}

.contactInner span::before {
    content: "";
    width: 8pt;
    height: 8pt;
    border-bottom: solid #707070 3px;
    border-right: solid #707070 3px;
    transform: rotate(-45deg);
    display: block;
    position: absolute;
    left: 7pt;
    top: -4pt;
}

.contactInner span {
    transition: transform 0.3s;
}

.contactInner:hover span {
    transform: translateX(10px);
}
