@charset "utf-8";
/* visuallyHidden */
.visually-hidden{
    position: fixed !important;
    top: 0px !important;
    left: 0px !important;
    width: 4px !important;
    height: 4px !important;
    opacity: 0 !important;
    overflow: hidden !important;
    border: none !important;
    margin: 0 !important;
    padding: 0 !important;
    display: block !important;
    visibility: visible !important;
}
/* mv */
.mv {
    position: relative;
}
.mv .mvTxt {
    position: absolute;
    z-index: 5;
    width: 100%;
    top: calc(50% - 10px);
    left: 50%;
    transform: translate(-50%, -50%);
    color: #FFFFFF;
    font-size: clamp(4rem, 3.612rem + 1.66vw, 5.6rem);
    line-height: 1;
    font-weight: 700;
    text-align: center;
    letter-spacing: 0.1em;
    text-shadow: 0px 4px 3px rgba(0, 0, 0, 0.25);
}
.mv .mvTxt .mvSub {
    display: block;
    margin-top: 24px;
    font-size: clamp(2.2rem, 2.054rem + 0.62vw, 2.8rem);
    line-height: 1.4645;
    letter-spacing: 0.05em;
}
.mvLead {
    margin: 80px 0 56px;
    font-size: 2rem;
    line-height: 1.8;
    font-weight: 500;
    text-align: center;
}
@media screen and (max-width: 768px){
    .mv .mvTxt {
        font-size: 4rem;
        line-height: 1.4;
    }
    .mv .mvTxt .mvSub {
        font-size: 2.2rem;
        margin-top: 16px;
    }
    .mvLead {
        margin: 20px 0 58px;
        font-size: 1.6rem;
    }
}
/* .contents {
    background: no-repeat bottom / 100% url(../img/bg_pc.jpg);
} */
.contents-inner {
    max-width: 1080px;
    margin: auto;
    padding-bottom: 12px;
}
.section {
    padding: 80px 0;
}
.section .sectionTtl {
    width: max-content;
    margin: auto;
    margin-bottom: 40px;
    font-family: "Montserrat";
    font-size: 3.6rem;
    line-height: 3.6rem;
    font-weight: 500;
    text-align: center;
}
.section .sectionTtl span {
    display: block;
    font-family: "Noto Sans JP";
    font-size: 2rem;
    line-height: 2rem;
    color: #CC0000;
    border-top: 2px solid #CC0000;
    margin-top: 8px;
    padding-top: 8px;
}
.newslist-wrap ul {
    border-top: 2px solid #CCCCCC;
}
.newslist-wrap li {
    display: flex;
    width: 100%;
    padding: 16px 0;
    border-bottom: 2px solid #CCCCCC;
}
.newslist-wrap li span {
    font-size: 1.6rem;
    font-weight: 500;
    line-height: 2.88rem;
}
.newslist-wrap li span.newslist-date {
    width: 12%;
    min-width: 130px;
    font-weight: normal;
}
.newslist-wrap li span.newslist-text {
    width: 82%;
    margin-left: 40px;
}
.newslist-wrap li span.newslist-text > a {
    display: block;
    width: 100%;
}
.sceneBox {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 40px;
}
.sceneBox li {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
}
/* .sceneBox li + li {
    margin-left: 40px;
} */
.sceneBox h3 {
    padding-bottom: 8px;
    font-size: 2.4rem;
    line-height: 3.36rem;
    font-weight: 500;
    border-bottom: 2px solid #CCCCCC;
}
.sceneBox p {
    flex-grow: 1;
    margin: 12px 0 24px;
    font-size: 1.6rem;
    line-height: 2.56rem;
}
.info-box {
    border-top: 2px solid #CCCCCC;
    border-bottom: 2px solid #CCCCCC;
}
.info-box dl {
    display: table;
    width: 1080px;
}
.info-box dl + dl {
    border-top: 2px solid #CCCCCC;
}
.info-box dt,.info-box dd {
    display: table-cell;
    font-size: 1.6rem;
    line-height: 3.6rem;
    vertical-align: middle;
}
.info-box dt {
    width: 22%;
    padding: 16px 0;
    font-weight: 500;
    text-align: center;
    background: #EEEEEE;
}
.info-box dd {
    width: 78%;
    padding: 16px 40px;
    background: #FFFFFF;
}
.inquiries-wrap a {
    display: flex;
    width: 27.5%;
    margin: auto;
    justify-content: space-between;
    align-items: center;
}
.inquiries-wrap a > img {
    width: 15%;
}
.inquiries-wrap a > p {
    font-size: 2.4rem;
    font-weight: 500;
}

@media screen and (max-width: 1080px){
    .contents-inner {
        width: 95%;
    }
}

@media screen and (max-width: 767px){
.mv {
    background: no-repeat top / cover url(../img/sp_mv_bg.jpg);
}
.mv .mainTxt {
    width: 90%;
    max-width: 335px;
    margin: auto;
    padding: 50px 0;
    font-size: 4rem;
    line-height: 5.6rem;
    letter-spacing: 0;
}
.mv .mainTxt span {
    margin-top: 16px;
    font-size: 2.2rem;
    line-height: 3.186rem;
}
.mv .mainSubTxt {
    padding: 0 0 49px;
    font-size: 1.6rem;
    line-height: 2.88rem;
}
/* .contents {
    background: no-repeat bottom / 100% url(../img/bg_sp.jpg);
} */
.contents-inner {
    width: 90%;
    padding-bottom: 32px;
}
.section  {
    padding: 48px 0;
}
.section .sectionTtl {
    margin-bottom: 36px;
    font-family: "Montserrat";
    font-size: 2.4rem;
    line-height: 2.4rem;
}
.section .sectionTtl span {
    font-family: "Noto Sans JP";
    font-size: 1.6rem;
    line-height: 1.6rem;
}
.newslist-wrap li span {
    font-size: 1.4rem;
    line-height: 2.52rem;
}
.newslist-wrap li span.newslist-date {
    display: block;
    margin: 0;
}
.sceneBox {
    display: block;
}
.sceneBox li {
    display: block;
}
.sceneBox li + li {
    margin-left: 0;
    margin-top: 36px;
}
.sceneBox h3 {
    padding-bottom: 8px;
    font-size: 1.8rem;
    line-height: 1.8rem;
    font-weight: 500;
    border-bottom: 2px solid #CCCCCC;
}
.sceneBox p {
    font-size: 1.6rem;
    line-height: 2.24rem;
}
.info-box dl {
    display: block;
    width: 100%;
}
.info-box dt,.info-box dd {
    display: block;
    width: 100%;
    font-size: 1.4rem;
    line-height: 2.24rem;
}
.info-box dt {
    padding: 5%;
    text-align: left;
}
.info-box dd {
    padding: 7.5% 5%;
}
.inquiries-wrap a {
    width: 100%;
    justify-content: center;
    flex-flow: column;
}
.inquiries-wrap a > img {
    width: 20%;
    margin: auto;
}
.inquiries-wrap a > p {
    margin-top: 10px;
    font-size: 1.8rem;
}
}
/* add index layout */
/* link-button */
.button-link {
    background-color: #fff;
    border: 1px solid #ACACAC;
    display: inline-block;
    margin-top: 10px;
    box-shadow: 3px 3px 0px 0px #acacac;
    position: relative;
    box-sizing: content-box;
}
.button-link.bg-white{
    background-color: #fff;
}
.button-link .btn-wrap{
    display: block;
    padding: 20px 92px 20px 36px;
}
.button-link .btn-inner {
    display: block;
    position: relative;
    color: #333;
}
.button-link::after{
    content: '';
    display: block;
    position: absolute;
    background: transparent url(../img/icon/link_arrow.svg) center top no-repeat;
    width: 20px;
    height: 10px;
    top: 50%;
    left: auto;
    right: 36px;
    bottom: auto;
    transform: translateY(-50%);
}
.button-link.pdf-link::after{
    display: none;
}
.button-link.pdf-link .btn-inner{
    padding-right: 36px;
}
.button-link.pdf-link .alt-icon {
    width: 27px;
    height: 27px;
}
@media screen and (max-width: 768px){
    .button-link {
        width: 100%;
        background-color: #F5F5F5;
    }
    .button-link .btn-wrap{
        padding: 19px 21px 20px;
    }
    .button-link .btn-inner {
        font-size: 1.4rem;
    }
    .button-link::after{
        right: 29px;
    }
}
.companyArea{
    background-color: #FAFAFA;
    margin-top: 25px;
    padding-bottom: 139px;
}
.company-pic{
    width: 460px;
}
.companyArea .button-link{
    width: 300px;
    margin-top: 68px;
}
.companyArea .sceneBox{
    margin-top: 104px;
}
.companyArea .sceneBox p{
    margin: 24px 0 0;
}
.sceneBox .col {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    width: 520px;
}
.sceneBox .col + .col {
    margin-left: 40px;
}
@media screen and (max-width: 768px){
    .sceneBox .col {
        display: block;
        width: 100%;
    }
    .sceneBox .col + .col {
        margin-left: 0;
        margin-top: 36px;
    }
}
@media screen and (max-width: 768px){
    .companyArea{
        margin-top: 48px;
        padding: 51px 0 32px;
    }
    .companyArea .button-link{
        width: 100%;
        margin-top: 45px;
    }
    .company-pic{
        width: 100%;
    }
    .companyArea .sceneBox {
        display: flex;
        flex-direction: column;
    }
    .companyArea .sceneBox{
        margin-top: 43px;
    }
    .companyArea .sceneBox .col{
        order: 2;
        margin-top: 22px;
    }
    .companyArea .sceneBox .col + .col {
        order: 1;
        margin-top: 0;
    }
}

/* serviceArea */
@media screen and (max-width: 768px){
    .serviceLink .button-link{
        margin-top: 36px;
    } 
    .service_other {
      margin-top: 36px;
  }
}
@media screen and (min-width: 768px){
  .service_other {
    padding: 40px 0px 0px 0px;
}
  .pc-width-520{
    width: 520px;
  }
}
@media screen and (min-width: 1081px){
.serviceLink{
    position: relative;
    display: block;
}
.serviceLink .button-link{
    position: absolute;
    right: 0;
    bottom: 0;
    border: none;
    box-shadow: none;
    background-color: rgba(255,255,255,.9);
    transition: all .4s;
}
.serviceLink:hover .button-link{
    background-color: #fff;
}
}

/* recruitArea */
.recruitArea{
    background-color: #FAFAFA;
    text-align: center;
}
.recruitArea .button-link{
    margin-top: 75px;
}
.recruitArea .textBox{
    max-width: 840px;
    margin-left: auto;
    margin-right: auto;
}
.recruitArea .textBox p{
    line-height: 1.6;
}
@media screen and (max-width: 768px){
    .recruitArea{
        text-align: left;
        padding: 51px 0 32px;
    }
    .recruitArea .button-link{
        margin-top: 43px;
    }
    .recruitArea .textBox{
        margin-top: 7px;
    }
}