@charset 'UTF-8';
/* 中ページ（レギュラーページ） */

/* CSS読み込み */
@import url("ress.css");
@import url("common.css");



/* ビジュアル */
.main_visual {
    position: relative;
    height: 102.4vw;
    background: url('../img/main_bg.webp');
    background-size: cover;
}
.visual_video {
    position: absolute;
    bottom: 0;
    overflow: hidden;
    width: 100%;
}
.visual_video video {
    height: 102.4vw;
}
.visual_frame {
    position: absolute;
    height: 102.4vw;
}
/* ビジュアル上 */
.main_visual__head {
    height: 100vh;
}
.catch {
    position: absolute;
    left: 0%;
    right: 0%;
    top: calc(50vh - (213px / 2) + 8vh);
    display: flex;
    justify-content: center;
}
.scroll {
    position: absolute;
    top: 88vh;
    left: 0;
    right: 0;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
}
.scroll a {
    color: #FFF;
}
.scroll span {
    display: block;
    margin-bottom: 8px;
}
.scroll::after {
    content: "";
    /* position: absolute;
    bottom: 0;
    left: 50%; */
    width: 1px;
    background: #FFF;
    /* height: 10px; */
    height: 46px;
    animation: scroll-down-line 3s ease infinite;
}
/* ビジュアル下 */
.main_visual__foot {
    display: flex;
    /* justify-content: space-between; */
    justify-content: center;
    padding: 65px 60px 0 60px;
}
.main_visual__foot .catch_copy {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
}
.main_visual__foot .catch_copy span {
    display: inline-block;
    margin-bottom: 11px;
    padding: 4px 43px 4px 23px;
    background: rgb(93, 192, 214);
    background: linear-gradient(60deg, rgba(0, 191, 126, 1) 0%, rgba(93, 192, 214, 1) 100%);
    font-size: 1.9375rem;
    color: #FFF;
    white-space: nowrap;
}
.main_visual__foot .catch_copy img {
    position: absolute;
    bottom: -15px;
    left: 10px;
    opacity: 0.63;
}
.main_visual__foot p {
    position: relative;
    padding-left: 5%;
    line-height: 2.0;
    font-size: 1.0625rem;
    color: #FFF;
}
/* コンテンツ */
.content {
    position: relative;
    z-index: 1;
}
/* about us */
.content .about_us {
    margin-top: -32px;
    text-align: center;
}
.content .about_us h2 {
    margin: 0 auto 80px auto;
}
.content .about_us .bnr_type--01 {
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    /* width: 100%; */
    height: 27vw;
    margin: 0 60px;
    padding: 47px 42px 39px 55px;
    border-radius: 20px;
    background: url('../img/bnr__bg_01.webp') no-repeat center center;
    background-size: cover;
    text-align: left;
}
.content .about_us .bnr_type--01::before {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 100%;
    border-radius: 20px;
    background: rgb(93, 192, 214);
    background: linear-gradient(60deg, rgba(0, 191, 126, 1) 0%, rgba(93, 192, 214, 1) 100%);
    mix-blend-mode: multiply;
    transition: 0.3s;
}
.content .about_us .bnr_type--01:hover::before {
    /* background: transparent; */
    /* mix-blend-mode: normal; */
    opacity: 0;
}
.content .about_us .bnr_type--01 h3 {
    z-index: 1;
}
.content .about_us .bnr_type--01 div {
    position: relative;
}
.content .about_us .bnr_type--01 div h4 {
    margin-bottom: 10px;
    font-weight: bold;
    font-size: 1.375rem;
    color: #FFF;
}
.content .about_us .bnr_type--01 div p {
    width: 50%;
    font-size: 0.9375rem;
    color: #FFF;
}
.content .about_us .bnr_type--01 div .read_more__btn {
    position: absolute;
    right: 0;
    bottom: 0;
    z-index: 1;
}
.content .about_us .bnr_type--01 div .read_more__btn span {
    display: block;
    margin-bottom: 9px;
    text-align: center;
    font-family: 'Montserrat';
    font-weight: 800;
    font-size: 9px;
    color: #FFF;
}
.content .about_us .bnr_type--01 div .read_more__btn em {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 72px;
    height: 72px;
    border-radius: 100%;
    background-color: #E8E44B;
}
.content .about_us .bnr_type--01 div .read_more__btn em img {
    transition: 0.3s;
}
.content .about_us .bnr_type--01 div .read_more__btn em:hover img {
    margin-left: 20px;
}
.content .about_us .bnr__01 {
    background-image: url('../img/bnr__bg_01.webp');
    margin-bottom: 39px;
}
.content .about_us .bnr__02 {
    background-image: url('../img/bnr__bg_02.webp');
}
.content .about_us .bnr__03 {
    background-image: url('../img/bnr__bg_03.webp');
    margin-bottom: 39px; 
}
.content .about_us .bnr__04 {
    background-image: url('../img/bnr__bg_04.webp');
    margin-bottom: 71px;
}
.content .about_us .bnr_type--02 {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin-bottom: 61px;
    padding-top: 93px;
}
.content .about_us .bnr_type--02 .js_auto_slide {
    position: absolute;
    left: 50%;
    top: 30px;
}
.content .about_us .bnr_type--02 .js_auto_slide em {
    /* position: absolute;
    left: 50%;
    top: 30px; */
    transform: translate(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    display: block;
    /* width: 100%; */
    text-align: center;
    /* font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ Pro', 'Hiragino Kaku Gothic Pro'; */
    /* font-family: 'Montserrat'; */
    font-weight: 900;
    font-size: 80px;
    -webkit-text-stroke: 1px #00BF98;
    color: #fff0;
    opacity: .25;
    white-space: nowrap;

    /* -webkit-clip-path: inset(0 100% 0 0); */
    /* clip-path: inset(0 100% 0 0); */
    /* display: inline-block; */
    /* animation: text-show 4s 0s forwards; */
    margin: 0;
    z-index: -1;
}
/* @keyframes text-show {
    0% {
        clip-path: inset(0 100% 0 0);
    }
    100% {
        clip-path: inset(0);
    }
} */
.content .about_us .bnr_type--02 ul {
    display: flex;
    justify-content: space-between;
    padding: 0 60px;
}
.content .about_us .bnr_type--02 ul li {
    position: relative;
    display: flex;
    flex-direction: column;
    width: 32%;
    /* padding: 244px 0 0 0; */
    /* background: url('../img/photo__cableway.png') no-repeat center top; */
    /* background-size: 100% auto; */
}
.content .about_us .bnr_type--02 ul li > img {
    position: absolute;
    top: 0px;
    left: 0;
    right: 0;
    margin: 0 auto;
}
.content .about_us .bnr_type--02 ul li a {
    padding: 384px 18px 19px 33px;
}
.content .about_us .bnr_type--02 ul li a .department_box {
    position: absolute;
    bottom: 0;
    left: 0;
    display: block;
    width: 100%;
    height: 364px;
    border-radius: 10px;
    background: #FFF;
    z-index: -1;
    transition: 0.3s;
}
.content .about_us .bnr_type--02 ul li a:hover .department_box {
    /* background: linear-gradient(60deg, rgba(93, 192, 214, 0.35) 0%, rgba(0, 191, 126, 0.35) 100%); */
    background: rgba(0, 191, 126, 0.35);
}
.content .about_us .bnr_type--02 ul li h4 {
    position: absolute;
    top: 264px;
    left: 33px;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    margin-bottom: 34px;
}
.content .about_us .bnr_type--02 ul li h4 span {
    display: inline-block;
    margin-bottom: 11px;
    padding: 4px 43px 4px 23px;
    background: rgb(93, 192, 214);
    background: linear-gradient(60deg, rgba(0, 191, 126, 1) 0%, rgba(93, 192, 214, 1) 100%);
    font-size: 1.375rem;
    color: #FFF;
}
/* .content .about_us .bnr_type--02 .department_01 {
    background: url('../img/photo__cableway.webp') no-repeat center top;
}
.content .about_us .bnr_type--02 .department_01:nth-of-type(2) {
    background: url('../img/photo__sales_planning.webp') no-repeat center top;
} */

.content .about_us .bnr_type--02 ul li .read_more__btn em {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 46px;
    height: 46px;
    border-radius: 100%;
    background: #fff url('../img/icon__circle_color.svg') no-repeat center center;
    margin-left: auto;
}
.content .about_us .bnr_type--02 ul li .read_more__btn em img {
    transition: 0.3s;
}
.content .about_us .bnr_type--02 ul li .read_more__btn em:hover img {
    margin-left: 20px;
}






/* -----------------------------------------------------------------------------
>> PC用
----------------------------------------------------------------------------- */

/* モニター幅960px以上 ---------------------------------------------------------- */
@media only screen and (min-width:960px) {

}


/* -----------------------------------------------------------------------------
>> レシポンシブ対応
----------------------------------------------------------------------------- */
/* タブレット幅1024px以下 ---------------------------------------------------------- */
@media only screen and (max-width:1024px) {
    .main_visual__head {
        height: 38vw;
    }
    .main_visual__foot .catch_copy img {
        top: 150px;
        bottom: auto;
    }
    .catch {
        position: absolute;
        left: 0%;
        right: 0%;
        top: calc(38vw - (20% / 2) - 5vh);
        display: flex;
        justify-content: center;
    }
    .catch img {
        width: 20%;
    }
    .content .about_us .bnr_type--02 ul li a {
        padding-top: 300px;
    }
    .content .about_us .bnr_type--02 ul li h4 {
        top: 184px;
        left: 15px;
    }
    .content .about_us .bnr_type--02 ul li h4 span {
        padding-right: 1em;
        padding-left: 1em;
        font-size: 1.125rem;
    }
}


/* モニター幅959px以下 ---------------------------------------------------------- */
@media only screen and (max-width:959px) {
    .main_visual__head {
        height: 30vh;
    }
    .main_visual__foot {
        padding: 65px 20px 0 20px;
    }
    .main_visual__foot .catch_copy {
        margin-bottom: 16px;
    }
    .main_visual__foot .catch_copy img {
        top: 100px;
        bottom: auto;
    }
    .main_visual__foot .catch_copy span {
        padding: 4px 23px 4px 13px;
        font-size: 1.125rem;
        white-space: nowarp;
    }
    .main_visual__foot {
        padding-left: 50px;
        padding-right: 50px;
    }
    .main_visual__foot p {
        padding-left: 20px;
    }
    .content .about_us .bnr_type--01 {
        height: auto;
    }
    .content .about_us .bnr_type--01 h3 {
        margin-bottom: 16px;
    }
    
    .content .about_us .bnr_type--02 ul li a {
        padding-top: 233px;
    }
    .content .about_us .bnr_type--02 ul li h4 {
        top: 134px;
    }
    .content .about_us .bnr_type--02 ul li h4 span {
        font-size: 1rem;
    }
}


/* iPad 縦 ------------------------------------------------------------------ */
@media only screen and (max-width:768px){
    .main_visual__foot p {
        font-size: 0.75rem;
    }
    .content .about_us .bnr_type--01 {
        margin: 0 10px;
        padding: 27px 22px 19px 25px;
        height: auto;
    }
    .content .about_us .bnr_type--01 div p {
        width: 100%;
    }
    .content .about_us .bnr_type--01 div .read_more__btn {
        top: -50px;
        bottom: unset;
    }
    .content .about_us .bnr_type--01 div .read_more__btn em {
        width: 32px;
        height: 32px;
    }
    .content .about_us .bnr_type--01 div .read_more__btn span {
        display: none;
    }
    .content .about_us h2 {
        margin-bottom: 20px;
        padding: 0 10px;
    }
    .content .about_us .bnr__01,
    .content .about_us .bnr__03 {
        margin-bottom: 24px;
    }
    .content .about_us .bnr__04 {
        margin-bottom: 50px;
    }
    .content .about_us .bnr_type--02 {
        margin-bottom: 30px;
    }
    .content .about_us .bnr_type--02 ul {
        flex-direction: column;
        padding: 0 20px;
    }
    .content .about_us .bnr_type--02 ul li {
        width: 100%;
    }
    .content .about_us .bnr_type--02 ul li a {
        padding-top: 38vh;
    }
    .content .about_us .bnr_type--02 ul li h4 {
        top: 26vh;
    }

}

	
/* スマートフォン 横(ランドスケープ) --------------------------------------------------- */
@media only screen and (max-width:640px) {
    .main_visual {
        height: 100vh;
        background-image: url('../img/main_bg_sp.webp');
    }
    .main_visual__head {
        height: 40vh;
    }
    .main_visual__foot {
        flex-direction: column;
        padding: 25px 30px 0 30px;
    }
    .main_visual__foot p {
        padding-left: 0;
    }
    .contact__fixd {
        display: none;
    }
}

/* スマートフォン 横(ランドスケープ) --------------------------------------------------- */
@media (orientation: landscape) and (max-height: 450px) {
    .catch {
        position: absolute;
        left: 0%;
        right: 0%;
        top: calc(50vh - (30vh / 2));
        display: flex;
        justify-content: center;
    }
    .scroll {
        display: none;
        /* top: calc(100vh - (30px * 2)); */
    }
    .scroll::after {
        height: 23px;
    }
    .main_visual__foot {
        margin-top: 65vh;
        padding-top: 10vh;
    }
    .main_visual__foot .catch_copy img {
        bottom: auto;
        top: 100px;
        left: 0px;
    }
    /* #menu .menu__head {
        display: none;
    }
    #menu .menu__navi {
        padding-top: 50px;
    }
    #menu .menu__navi li {
        margin-bottom: 30px;
        padding-bottom: 12px;
    } */

    /* .content .about_us .bnr_type--02 ul li a {
        padding: 0 12px 13px 12px;
    }
    .content .about_us .bnr_type--02 ul li h4 {
        margin-bottom: 14px;
    } */
    .content .about_us .bnr_type--02 ul li h4 span {
        padding: 4px 12px;
        font-size: 1.0rem;
    }
    .content .about_us .bnr_type--02 ul li a {
        padding-top: 60vh;
    }
    .content .about_us .bnr_type--02 ul li h4 {
        top: 36vh;
    }
    .content .about_us .bnr_type--02 ul li a .department_box {
        height: 65vh;
    }
}


/* スマートフォン 横(ランドスケープ) --------------------------------------------------- */
@media (orientation: landscape) and (max-height: 380px) {
    .content .about_us .bnr_type--02 ul li img {
        left: auto;
    }
    .content .about_us .bnr_type--02 ul li a {
        padding-top: 48vw;
    }
    .content .about_us .bnr_type--02 ul li h4 {
        top: 34vw;
        left: 5vw;
        right: auto;
    }
}

/* スマートフォン 縦(ポートレート) ---------------------------------------------------- */
@media only screen and (max-width:480px) {
    .visual_video {
        bottom: 0;
        overflow: hidden;
        width: 100%;
    }
    .visual_video video {
        height: 100vh;
    }
    .visual_frame {
        position: absolute;
        height: auto;
        width: 100%;
    }

    .catch {
        position: absolute;
        left: 0%;
        right: 0%;
        top: calc(50vw - (30% / 2) + 5vh);
        display: flex;
        justify-content: center;
    }
    .catch img {
        width: 30%;
    }
    .main_visual__foot .catch_copy img {
        top: 80px;
        bottom: auto;
    }

    .sp480_not_only {
        display: none !important;
    }
}
@media only screen and (min-width:481px) {
    .sp480_only {
        display: none !important;
    }
}