@charset 'utf-8';
/*
 * name:top.css
 * author:sovanda nulo
*/

/* top
------------------------------------------------ */

button.mfp-close { font-size: 1rem; width: 6em; height: 6em; color: transparent; opacity: 1; top: 6em !important; right: 6em; }
button.mfp-close:before,
button.mfp-close:after { content: ''; display: block; width: 6em; height: .2em; background: #fff; overflow: hidden; position: relative; transform: rotate(45deg); position: absolute; left: 0; top: 50%; }
button.mfp-close:after { transform: rotate(-45deg); }

    @media only screen and (min-width: 768px) and ( max-width: 1920px ) {
        button.mfp-close { font-size: .52vw; }
    }

    @media only screen and (max-width: 768px) {
        button.mfp-close { font-size: 1rem; width: 3.4em; height: 3.4em; top: 3em !important; right: 3em; }
        button.mfp-close:before,
        button.mfp-close:after { width: 3.4em; height: .2em; }
    }

    @media only screen and (max-width: 374px) {
        button.mfp-close { font-size: 2.65vw; }
    }

#container { overflow: clip; }
#footer { margin-top: 0; }
#footer #waves { display: none; }
#main { z-index: 2; }

    @media only screen and (min-width: 768px) {
        #header { background: rgba(255, 255, 255, .8); box-shadow: 0 2px 15px rgba(0, 0, 0, .15); }
    }
    @media only screen and (max-width: 768px) {
        #footer:before { height: 100%; }
    }

.pf-section { display: block; overflow: hidden; position: relative; padding: 12em 2em; background: rgba(255, 255, 255, .9); border-radius: 2em; }
.pf-section:not(:last-child) { margin-bottom: 10em; }
.pf-section .section--title { margin-bottom: 7em; }

    @media only screen and (max-width: 768px) {
        .pf-section { padding: 5em 3em; border-radius: 1em; }
        .pf-section:not(:last-child) { margin-bottom: 4em; }
        .pf-section .section--title { margin-bottom: 2.1em; }
    }

/* section p-facilities */
#p-facilities { padding: 15em 0 32em; background-image: url(../../img/top/bg-facility.jpg); background-repeat: no-repeat; background-size: cover; background-attachment: fixed; margin-bottom: -17em; }
.pf-facilities--block { display: block; max-width: 88em; margin: 0 auto; }
.pf-facilities__lists { display: block; position: relative; }
.pf-facilities__lists:not(:last-child) { margin-bottom: 15em; }
.pf-facilities__lists--tlt { font-size: 2.8em; line-height: 1.428; display: block; text-align: center; color: #01685B; margin-bottom: 1.428em; }
.pf-facilities__lists--tlt small { font-size: .5em; color: #464646; display: block; margin-bottom: .3em; }
.pf-facilities__lists--pic { display: block; overflow: hidden; border-radius: 2em; }
.pf-facilities__lists--link { display: flex; flex-wrap: wrap; align-items: center; margin-top: 4em; }
.pf-facilities__lists--link li { font-size: 1.6em; font-weight: bold; display: block; position: relative; width: 31.022%; margin-right: 3.467%; }
.pf-facilities__lists--link li:nth-child(3n) { margin-right: 0; }
.pf-facilities__lists--link li:nth-child(n+4) { margin-top: 2.27%; }
.pf-facilities__lists--link li a { padding: .7em 1em; display: block; position: relative; border-radius: .625em; border: 1px solid #72B331; background: #fff; color: #72B331; }
.pf-facilities__lists--link li a:after { content: ''; display: block; width: .5em; height: .75em; position: absolute; right: 1em; top: 50%; transform: translateY(-50%); background-image: url(../../img/share/btn-arrow-g.svg); background-repeat: no-repeat; background-size: 100% 100%; }
.pf-facilities__lists--link li:last-child a { border-color: #fff; background: linear-gradient(#7cc136 0%, #74bc2b 42.36%, #0c7663 100%); color: #fff; }    
.pf-facilities__lists--link li:last-child a:after { background-image: url(../../img/share/btn-arrow-w.svg); }

    @media only screen and (min-width: 768px) {
        .pf-facilities__lists--link li a:hover { border-color: #fff; background: linear-gradient(#7cc136 0%, #74bc2b 42.36%, #0c7663 100%); color: #fff; }
        .pf-facilities__lists--link li a:hover:after { background-image: url(../../img/share/btn-arrow-w.svg); }
        .pf-facilities__lists--link li:last-child a:hover { background: #fff; color: #72B331; border-color: #72B331; }
        .pf-facilities__lists--link li:last-child a:hover:after { background-image: url(../../img/share/btn-arrow-g.svg); }
    }

    @media only screen and (max-width: 768px) {
        #p-facilities { padding: 6em 0 26em; margin-bottom: -6em; }
        #pf-facilities .section--title { margin-bottom: 3.1em; }
        .pf-facilities__lists:not(:last-child) { margin-bottom: 6em; }
        .pf-facilities__lists--tlt { font-size: 1.8em; line-height: 1.5; margin-bottom: 1em; }
        .pf-facilities__lists--tlt small { font-size: .72em; line-height: 1.5; margin: 0; }
        .pf-facilities__lists--pic { border-radius: 1em; }
        .pf-facilities__lists--link { display: block; margin-top: 2.5em; }
        .pf-facilities__lists--link li:not(:last-child) { font-size: 1.5em; width: 100%; margin: 0 !important; margin-top: .8em !important; }
        .pf-facilities__lists--link li:not(:last-child) a { color: #464646; padding: 0; padding-left: 1.33em; border-radius: 0; border: none; background: none; }
        .pf-facilities__lists--link li:not(:last-child) a:after { width: 1em; height: 1em; right: auto; left: 0; top: .4em; transform: none; background-image: url(../../img/share/btn-arrow-cgy.svg); }
        .pf-facilities__lists--link li:last-child { max-width: 100%; width: 100%; margin-right: 0; margin-top: 2em !important; }
    }

/* section pf-project */
#pf-project {  }
.pf-project--block { display: block; max-width: 108em; margin: 0 auto; }
.pf-project__lists { display: flex; flex-wrap: wrap; }
.pf-project__lists li { width: 30.83%; margin-right: 3.755%; position: relative; display: block; overflow: hidden; border-radius: 2em; }
.pf-project__lists li:nth-child(3n) { margin-right: 0; }
.pf-project__lists li:nth-child(n+4) { margin-top: 3.755% }
.pf-project__lists li a { display: block; overflow: hidden; position: relative; }
.pf-project__lists li a img { display: block; transition: linear .2s; }
.pf-project__lists li figcaption { font-size: 2.2em; font-weight: bold; position: absolute; left: 0; bottom: 0; width: 100%; padding: .55em 1em; background: #72B331; color: #fff; text-align: center; box-sizing: border-box; transition: linear .2s; }

    @media only screen and (min-width: 768px) {
        .pf-project__lists li a:hover figcaption { background: #EDF8DD; color: #01685B; }
        .pf-project__lists li a:hover img { transform: scale(1.1); }
    }

    @media only screen and (max-width: 768px) {
        .pf-project__lists { display: block; }
        .pf-project__lists li { width: 100%; margin: 0; border-radius: 1em; }
        .pf-project__lists li:nth-child(n+2) { margin-top: 2em; }
        .pf-project__lists li img { display: block; width: 56.36%; margin-left: auto; }
        .pf-project__lists li figcaption { font-size: 1em; line-height: 1.5; position: absolute; left: 0; top: 0; height: 100%; width: calc( 100% - 56.36% ); padding: 0; display: flex; align-items: center; justify-content: center; }
    }

/* section pf-news */
#pf-news {  }
.pf-news--btn { max-width: 81em; text-align: right; margin-top: 3.125em; }
.pf-news--btn a { padding: .3em .80em; display: inline-block; width: 8.75em; text-align: left; box-sizing: border-box; background: none; color: #72B331; border-color: #72B331; }
.pf-news--btn a:after { right: .80em; background-image: url(../../img/share/btn-arrow-g.svg); }
.pf-news__block { display: block; max-width: 81em; margin: 0 auto; }
.pf-news__block--break { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; }
.pf-news__contents { display: block; position: relative; width: calc( 100% - 21em ); }
.pf-news__contents--block { position: absolute; left: 2em; top: 0; display: block; opacity: 0; visibility: hidden; transition: linear .2s; }
.pf-news__contents--block.active { position: relative; left: 0; opacity: 1; visibility: initial; }
.pf-news__tabs { display: block; position: relative; width: 21em; padding-left: 5.5em; margin-top: 2.5em; box-sizing: border-box; }
.pf-news__tabs--click { font-size: 1.8em; font-weight: bold; line-height: 1.5; cursor: pointer; margin-bottom: 1.72em; color: #ccc; display: block; position: relative; transition: linear .2s; }
.pf-news__tabs--click:before { content: ''; display: block; width: 0; height: .11em; position: absolute; left: -3.05em; top: 50%; transform: translateY(-50%); background: #72B331; transition: linear .2s; }
.pf-news__tabs--click.active { color: #72B331; }
.pf-news__tabs--click.active:before { width: 1.72em; }

.pf-news__lists { display: block; position: relative; }
.pf-news__list { display: block; position: relative; border-bottom: 1px solid #ccc; }
.pf-news__lists--click { padding: 2.8em 0; display: flex; flex-wrap: wrap; }
.pf-news__lists--cate { font-size: 1.3em; line-height: 1.69; display: flex; flex-wrap: wrap; align-items: center; }
.pf-news__lists--cate span { display: inline-block; color: #fff; background: #72B331; padding: 0 .769em; border-radius: 10em; margin-right: .769em; }
.pf-news__lists--date { font-size: 1.3em; line-height: 1.69; }
.pf-news__lists--tlt { font-size: 1.6em; font-weight: 500; line-height: 1.8; width: 100%; margin-top: .375em; transition: linear .2s; }
    
    @media only screen and (min-width: 768px) {
        .pf-news--btn a:hover { background: #72B331; color: #fff; }
        .pf-news--btn a:hover:after { right: .80em; background-image: url(../../img/share/btn-arrow-w.svg); }
        .pf-news__lists--click:hover .pf-news__lists--tlt { color: #72B331; }
    }

    @media only screen and (max-width: 768px) {
        #pf-news { padding-left: 1.5em; padding-right: 1.5em; }
        .pf-news--btn { margin-top: 2.5em; }
        .pf-news__tabs { display: none; }
        .pf-news__contents { width: 100%; }
        .pf-news__contents--block { left: 0; top: 0; }
        .pf-news__contents--block.active { top: 0; }
        .pf-news__lists { border-top: 1px solid #ccc; }
        .pf-news__lists--click { padding: 2.5em 0; }
        .pf-news__lists--cate { font-size: 1.2em; line-height: 1.66; }
        .pf-news__lists--cate span { padding: 0 .83em; margin-right: .83em; }
        .pf-news__lists--date { font-size: 1.2em; line-height: 1.66; }
        .pf-news__lists--tlt { font-size: 1.4em; line-height: 1.5; margin-top: .71em; }

        .pf-news__tabs--mb { display: block; position: relative; overflow: hidden; width: 90%; padding: 0 5%; margin-bottom: 4em; }
        .pf-news__owl { width: 33.33%; display: block; margin: 0 auto; position: relative; text-align: center; }
        .pf-news__owl--items { font-size: 1.4em; line-height: 1.78; font-weight: bold; text-align: center; color: #ccc; }
        .pf-news__owl--items:not(:first-child) { display: none; }
        .pf-news__owl .owl-stage-outer { overflow: initial; }
        .pf-news__owl .owl-item.active .pf-news__owl--items { color: #72B331; }
        .pf-news__owl .owl-nav button { position: absolute; left: 0; top: 0; width: 100%; height: 100%; }
        .pf-news__owl .owl-nav button span { display: none; }
        .pf-news__owl .owl-nav button.owl-prev { left: -116.5%; background: url(../../img/share/btn-arrow-cbL.svg) no-repeat left center; background-size: 2.5em; }
        .pf-news__owl .owl-nav button.owl-next { left: 116.5%; background: url(../../img/share/btn-arrow-cbR.svg) no-repeat right center; background-size: 2.5em; }
    }


/* section pf-recruit */
#pf-recruit { background: rgba(246, 252, 238, .9); }
.pf-recruit--btn { margin-top: 7.5em; }
.pf-recruit__slide { position: relative; display: block; margin: 0 auto; max-width: 72em; }
.pf-recruit__owl { position: relative; display: block; overflow: initial; }
.pf-recruit__owl .owl-stage-outer { overflow: initial; }
.pf-recruit__owl--frame { display: block; overflow: hidden; border-radius: 2em; background: #fff; }
.pf-recruit__owl--pic { position: relative; display: block; }
.pf-recruit__owl--pic:before,
.pf-recruit__owl--pic:after { content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, .3); transition: linear .2s; }
.pf-recruit__owl--pic:after { width: 9em; height: 9em; left: 50%; top: 50%; transform: translate(-50%, -50%); background-color: unset; background-image: url(../../img/share/icon-play.svg); background-repeat: no-repeat; background-size: 100% 100%; }
.pf-recruit__owl--desc { padding: 2.5em 3.5em; }
.pf-recruit__owl--title { font-size: 2.2em; font-weight: bold; line-height: 1.5; color: #01685B; transition: linear .2s; }
.pf-recruit__owl--cate { font-size: 1.6em; margin-top: .6875em; }
.pf-recruit__owl .owl-item { -webkit-transform: scale3d(0.88, 0.88, 1); transform: scale3d(0.88, 0.88, 1); transition: all .5s ease-in-out; }
.pf-recruit__owl .owl-item.active { -webkit-transform: scale3d(1.0, 1.0, 1); transform: scale3d(1.0, 1.0, 1); }
.pf-recruit__owl .owl-dots { position: absolute; left: calc( 50% - 1.45em ); bottom: -6em; height: 1.5em; display: flex; flex-wrap: wrap; }
.pf-recruit__owl .owl-dot { width: 1.3em; height: 1.3em; border-radius: 50%; margin: 0 .75em; border: 1px solid #01685B !important; transition: linear .2s; }
.pf-recruit__owl .owl-dot.active { background: #01685B; }
.pf-recruit__owl .owl-nav button { position: absolute; left: 50%; bottom: -6em; width: .9em; height: 1.5em; transform: translateX(-50%); }
.pf-recruit__owl .owl-nav button.owl-prev { left: calc( 50% - 8.5em ); background: url(../../img/share/owl-prev.svg) no-repeat; background-size: 100% 100%; }
.pf-recruit__owl .owl-nav button.owl-next { left: calc( 50% + 8.5em ); background: url(../../img/share/owl-next.svg) no-repeat; background-size: 100% 100%; }
.pf-recruit__owl .owl-nav button span { display: none; }
.pf-recruit__owl--control { position: absolute; height: 1.5em; width: 1.5em; left: calc( 50% - 6.5em ); bottom: -5.9em; z-index: 2; }
.pf-recruit__owl--control:after { content: ''; display: block; position: absolute; right: -2.2em; top: 50%; transform: translateY(-50%); height: 100%; width: .2em; border-radius: 1em; background: #aaa; }
.pf-recruit__owl--control li { position: absolute; left: 0; top: 0; width: 100%; height: 100%; text-align: center; }
.pf-recruit__owl--control li.owl-play { display: none; }

.pf-recruit__owl__popup { font-size: 1rem; position: relative; display: block; padding: 0 2em; max-width: 100em; margin: 10em auto; }
.pf-recruit__owl__popup--frame { box-sizing: border-box; }
.pf-recruit__owl__popup--title { font-size: 3.2em; font-weight: bold; color: #fff; line-height: 1; margin-bottom: 1.81em; text-align: center; }
.pf-recruit__owl__popup--btn { display: block; width: 4.2em; position: absolute; top: 50%; transform: translateY(-50%); }
.pf-recruit__owl__popup--btn span { cursor: pointer; display: block; }
.pf-recruit__owl__popup--btn span img { width: 100%; height: auto; }
.pf-recruit__owl__popup--prev { left: -14em; }
.pf-recruit__owl__popup--next { right: -14em; }
.pf-recruit__owl__popup--video { display: block; }
.pf-recruit__owl__popup--video iframe,
.pf-recruit__owl__popup--video video { width: 100%; height: auto; }

    @media only screen and (min-width: 768px) and (min-height: 400px) and (max-height: 1080px) {
        .pf-recruit__owl__popup { max-width: 92.59vh; margin: 9.259vh auto; }
        .pf-recruit__owl__popup--title { font-size: 2.96vh; }
        .pf-recruit__owl__popup--btn { width: 3.88vh; top: calc( 50% + 2.96vh ); }
        .pf-recruit__owl__popup--prev { left: -12.96vh; }
        .pf-recruit__owl__popup--next { right: -12.96vh; }
    }

    @media only screen and (min-width: 768px) and ( max-width: 1920px ) {
        .pf-recruit__owl__popup { font-size: .52em; }
    }

    @media only screen and (min-width: 768px) {
        .pf-recruit__owl--item:not(:first-child) { position: absolute; left: 0; top: 0; opacity: 0; }
        .pf-recruit__owl .btn-popup { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 2; }
        .pf-recruit__owl--frame:hover .pf-recruit__owl--pic:before { background-color: rgba(0, 0, 0, .6); }
        .pf-recruit__owl--frame:hover .pf-recruit__owl--title { color: #72B331; }
    }

    @media only screen and (max-width: 768px) {
        .pf-recruit--btn { margin-top: 2.5em; }
        .pf-recruit--btn a { padding-left: 1.625em; }
        .pf-recruit--btn a:after { right: 1.625em; }
        .pf-recruit__owl--item:not(:last-child) { margin-bottom: 3em; }
        .pf-recruit__owl--frame { border-radius: 1em; }
        .pf-recruit__owl--pic:after { width: 4.5em; height: 4.5em; }
        .pf-recruit__owl--desc { padding: 1.5em; }
        .pf-recruit__owl--title { font-size: 1.45em; line-height: 1.5; }
        .pf-recruit__owl--cate { font-size: 1.4em; margin-top: .78em; }
        .pf-recruit__owl--video { height: 40.53vw; position: relative; border-bottom-left-radius: 0; border-bottom-right-radius: 0; }
        .pf-recruit__owl--video .h-video--btn:after { opacity: 1; background: rgba(0, 0, 0, .3); }
        .pf-recruit__owl--video .h-video--btn:before { width: 4.5em; height: 4.5em; }

        .mfp-auto-cursor .mfp-content { vertical-align: initial; }
        .pf-recruit__owl__popup--title { font-size: 2.2em; margin-bottom: 1em; }
        .pf-recruit__owl__popup--btn { display: block; width: 1.6em; position: absolute; top: calc( 100% + 3em ); left: 50%; transform: translate(-50%, 0); }
        .pf-recruit__owl__popup--prev { left: calc( 50% - 6em ); }
        .pf-recruit__owl__popup--next { left: calc( 50% + 6em ); right: 0; }
    }


/* #top　トップページ
=========================================== */
.top_mv_slider_wrapper { position: relative; margin-bottom: 8em; z-index: 2; }
.top_mv_slider_control { width: 100%; height: 100%; position: absolute; bottom: 0; left: 50%; z-index: 5; pointer-events: none; -webkit-transform: translateX(-50%); transform: translateX(-50%); }

@media (max-width: 768px) {
    .top_mv_slider_control { display: none; }
    .top_mv_slider_wrapper { padding: 0; margin-bottom: 2em; }
}

.top_mv_slider_control > * { width: 25vw; height: 100%; position: absolute; top: 0; pointer-events: auto; cursor: none; }
.top_mv_slider_control > *._prev { left: 0; }
.top_mv_slider_control > *._next { right: 0; }

.top_stalker { width: 9em; height: 9em; position: fixed; top: -4.5em; left: -4.5em; z-index: 10; border-radius: 50%; pointer-events: none; opacity: 0; -webkit-transition: opacity 0.4s ease; transition: opacity 0.4s ease; }
.top_stalker.anime { opacity: 1; }

.top_mv_slider { font-size: inherit; width: 21.875%; margin-left: 35.4166%; position: relative; z-index: 4; opacity: 1; -webkit-transition: 1s ease; transition: 1s ease; overflow: initial; }
.top_mv_slider .swiper-wrapper { -webkit-transition-timing-function: cubic-bezier(0.36, -0.02, 0.34, 0.98); transition-timing-function: cubic-bezier(0.36, -0.02, 0.34, 0.98); }
.top_mv_slider ._slide { position: relative; -webkit-transition: 0.4s ease; transition: 0.4s ease; pointer-events: none; }
.top_mv_slider ._slide ._inner { position: relative; display: block; width: 100%; height: 42.7vw; -webkit-transform-origin: left center; transform-origin: left center; border-radius: 2em; }
.top_mv_slider ._slide.swiper-slide-active { pointer-events: auto; }
.top_mv_slider ._slide .s-pic img { max-width: none; width: 130%; position: relative; -webkit-animation: topMvPrev 1.4s cubic-bezier(0.36, -0.02, 0.34, 0.98) both; animation: topMvPrev 1.4s cubic-bezier(0.36, -0.02, 0.34, 0.98) both; }
.top_mv_slider ._slide.swiper-slide-active .s-pic img,
.top_mv_slider ._slide.swiper-slide-next .s-pic img { -webkit-animation: topMvActive 1.4s cubic-bezier(0.36, -0.02, 0.34, 0.98) both; animation: topMvActive 1.4s cubic-bezier(0.36, -0.02, 0.34, 0.98) both; }
.top_mv_slider ._slide.swiper-slide-active + * + * .s-pic img { -webkit-animation: topMvNext 1.4s cubic-bezier(0.36, -0.02, 0.34, 0.98) both; animation: topMvNext 1.4s cubic-bezier(0.36, -0.02, 0.34, 0.98) both; }
.top_mv_slider ._hover_item { position: relative; display: block; border-radius: 2em; pointer-events: none; -webkit-transition: 0.4s ease; transition: 0.4s ease; }
.top_mv_slider ._hover_item.hover .s-pic img { -webkit-transition: 0.4s ease; transition: 0.4s ease; }
.top_mv_slider ._hover_item::before { content: ""; display: block; background: rgba(253, 134, 47, 0.77); width: 100%; height: 100%; position: absolute; top: 0; left: 0; border-radius: 2em; opacity: 0; -webkit-transition: 0.4s ease; transition: 0.4s ease; }
.top_mv_slider .swiper-slide-active ._hover_item { pointer-events: auto; }
.top_mv_slider ._slide .s-pic { position: absolute; left: 0; top: 0; width: 100%; height: 100%; display: block; overflow: hidden; border-radius: 2em; }
.top_mv_slider ._slide .s-cmn { font-size: inherit; display: flex; flex-wrap: wrap; flex-direction: column; justify-content: space-between; overflow: hidden; position: absolute; left: 0; top: 0; width: 10%; padding: 2.5em 0; height: 100%; color: #fff; background: linear-gradient(#7cc136 0%, #74bc2b 42.36%, #0c7663 100%); border-radius: 2em 0 0 2em; box-sizing: border-box; }
.top_mv_slider ._slide .s-cmn--tlt { font-size: 1.8em; font-weight: bold; line-height: 1.2; letter-spacing: .1em; margin-left: .5em; text-align: center; width: 100%; writing-mode: vertical-lr; text-orientation: upright; }
.top_mv_slider ._slide .s-cmn--num { font-family: "Lato", sans-serif; font-weight: bold; }
.top_mv_slider ._slide .s-cmn--num small { font-size: 1.3em; letter-spacing: .09em; line-height: 1.3; display: block; writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; margin-bottom: .35em; margin-left: .9em; }
.top_mv_slider ._slide .s-cmn--num span { font-size: 2em; letter-spacing: .09em; line-height: 1.3; display: block; text-align: center; }
.top_mv_slider ._slide .s-desc { font-size: inherit; position: absolute; left: 0; top: 0; width: calc( 200% + 40px ); height: 100%; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; overflow: hidden; background: linear-gradient(#7cc136 0%, #74bc2b 42.36%, #0c7663 100%); color: #fff; z-index: 2; border-radius: 2em; opacity: 0; visibility: hidden; transition: .2s linear; box-sizing: border-box; }
.top_mv_slider ._slide .s-desc--num { font-family: "Lato", sans-serif; font-size: 1.3em; font-weight: bold; letter-spacing: .09em; }
.top_mv_slider ._slide .s-desc--num span { font-size: 1.53em; letter-spacing: .09em; display: block; }
.top_mv_slider ._slide .s-desc--logo { display: block; margin: 2.6em auto 0; }
.top_mv_slider ._slide .s-desc--logo img { display: block; width: 100%; height: auto; }
.top_mv_slider ._slide .s-desc--logo-01 { max-width: 44.8em; }
.top_mv_slider ._slide .s-desc--logo-02 { max-width: 49.2em; }
.top_mv_slider ._slide .s-desc--logo-03 { max-width: 47em; }
.top_mv_slider ._slide .s-desc--cmn { font-size: 1.6em; line-height: 1.8; margin-top: 3.75em; }
.top_mv_slider ._slide .s-desc--btn { max-width: 17.1875em; margin-top: 2.5em; }
.top_mv_slider ._slide .s-desc--btn a { padding-left: 1em; background: #fff; color: #72B331; border-color: #72B331; text-align: left; }
.top_mv_slider ._slide .s-desc--btn a:after { right: 1em; background-image: url(../../img/share/btn-arrow-g.svg); }


    @media only screen and (min-width: 768px) and ( max-width: 1920px ) {
        .top_mv_slider { font-size: .52vw; }
    }
    @media only screen and (min-width: 768px) {
        .top_mv_slider ._slide:nth-of-type(2n):not(.swiper-slide-next) ._inner { opacity: 0; -webkit-transition: 1s 0.2s ease; transition: 1s 0.2s ease; }
        .top_mv_slider ._hover_item:hover .s-desc { opacity: 1; visibility: initial; }
        .top_mv_slider ._slide .s-desc--btn a:hover { background: none; color: #fff; border-color: #fff; }
        .top_mv_slider ._slide .s-desc--btn a:hover:after { background-image: url(../../img/share/btn-arrow-w.svg); }
    }

    @media only screen and (max-width: 768px) {
        .top_mv_slider { width: 37.33%; margin-left: 2em; }
        .top_mv_slider ._slide ._inner { height: 72vw; border-radius: 1em; }
        .top_mv_slider ._hover_item { border-radius: 1em; }
        .top_mv_slider ._hover_item::before { border-radius: 1em; }
        .top_mv_slider ._slide .s-pic { border-radius: 1em; }
        .top_mv_slider ._slide .s-cmn { width: 3em; padding: 1.2em 0; border-radius: 1em 0 0 1em; }
        .top_mv_slider ._slide .s-cmn--num { display: none; }
        .top_mv_slider ._slide .s-cmn--tlt { font-size: .7em; line-height: 1.17; letter-spacing: .15em; margin-left: 1.5em; }
        .top_mv_slider ._hover_item .s-desc { position: relative; opacity: 0; visibility: initial; width: calc( 200% + 20px ); }
        .top_mv_slider ._slide .s-desc--btn { position: initial; }
        .top_mv_slider ._slide .s-desc--btn a { position: absolute; left: 0; top: 0; width: 100%; height: 100%; padding: 0; }
    }


@-webkit-keyframes topMvActive { 0% { left: -30%; } 100% { left: -15%; } }
@keyframes topMvActive { 0% { left: -30%; } 100% { left: -15%; } }
@-webkit-keyframes topMvNext { 0% { left: -45%; } 100% { left: -30%; } }
@keyframes topMvNext { 0% { left: -45%; } 100% { left: -30%; } }
@-webkit-keyframes topMvPrev { 0% { left: -15%; } 100% { left: 0%; } }
@keyframes topMvPrev { 0% { left: -15%; } 100% { left: 0%; } }


/*._hover_item:hover ._title_sec { background: red; }*/

/*section visual*/
#visual { padding: 18em 0 0; overflow: clip; }
.visual__maps { position: absolute; left: 0; top: 0; width: 100%; height: 100%; z-index: 1; }
.visual__title h2 { font-family: "Noto Serif JP", serif; font-size: 2.83vw; letter-spacing: .1em; line-height: 1.3; color: #01685B; display: block; text-align: center; writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; }
.visual__title h2 span { display: inline-block; }
.visual__title h2 span:not(:last-child) { margin-bottom: .3em; }

#pop-recruit { position: fixed; right: 2em; bottom: 2em; z-index: 10; }
#pop-recruit.arrived { position: absolute; }
.pop-recruit--click { display: block; overflow: hidden; padding: 1em 1em 1.3em; border-radius: 1em; background: linear-gradient(#5cd6ba 0%, #307ee8 63.55%, #266fd1 100%); }
.pop-recruit--click img { width: 31.6em; margin-bottom: 1em; border-radius: 1em 1em 0 0; display: block; overflow: hidden; }
.pop-recruit--click figcaption { font-size: 1.8em; font-weight: bold; text-align: center; color: #fff; }

    @media only screen and (min-width: 768px) {
        #pop-recruit .pop-small,
        .pop-recruit--close { display: none; }
    }

    @media only screen and (max-width: 768px) {

        #pop-recruit { position: absolute; right: 0; top: 23.3em; height: fit-content; }
        .pop-recruit--click { padding: 0 0 0 3em; border-radius: 1em 0 0 1em; position: relative; transition: none; }
        .pop-recruit--click img { width: 7.3em; margin-bottom: 0; border-radius: 0; }
        .pop-recruit--click figcaption { font-size: 1.3em; letter-spacing: .15em; height: 100%; position: absolute; left: .3em; top: 50%; transform: translateY(-50%); writing-mode: vertical-rl; -webkit-writing-mode: vertical-rl; -ms-writing-mode: tb-rl; }
        .pop-recruit--close { position: absolute; right: -.45em; top: -.45em; width: 1.8em; height: 1.8em; background: #464646; border-radius: 50%; z-index: 2; display: none; }
        .pop-recruit--close:before,
        .pop-recruit--close:after { content: ''; display: block; width: .9em; height: .1em; background: #fff; overflow: hidden; position: relative; transform: rotate(45deg); position: absolute; left: .45em; top: 50%; }
        .pop-recruit--close:after { transform: rotate(-45deg); }

        #pop-recruit .pop-big { display: none; opacity: 0; transition: linear 1s; transition-delay: 1s; }

        #pop-recruit.moved { position: fixed; right: 1.2em; bottom: 1.2em; top: auto; }
        #pop-recruit.moved .pop-recruit--click { padding: .6em; border-radius: 1em; }
        #pop-recruit.moved .pop-recruit--click img { width: 13.4em; margin-bottom: .6em; border-radius: 1em 1em 0 0; }
        #pop-recruit.moved .pop-recruit--click figcaption { font-size: 1.3em; height: initial; position: relative; left: auto; top: auto; transform: none; writing-mode: initial; -webkit-writing-mode: initial; -ms-writing-mode: initial }
        #pop-recruit.moved .pop-small { display: none; }
        #pop-recruit.moved .pop-recruit--close { display: block; }
        #pop-recruit.moved .pop-big { display: block; opacity: 1; }

        #pop-recruit.arrived { position: absolute; right: 1.2em; bottom: 1.2em; }
    }

#visual.animate .top_mv_slider,
#visual.animate .visual__title { opacity: 0; transition-delay: .5s; }
#visual.animated .top_mv_slider,
#visual.animated .visual__title { opacity: 1; }
/*#visual.animated .pop-recruit { opacity: 1; bottom: 2em; }*/

    @media only screen and (min-width: 768px) {
        #visual:before { content: ''; display: block; position: absolute; left: 0; top: 0; width:  100%; height: calc( 26em + 42.7vw ); background: linear-gradient(#fff 0%, #edf8dd 100%); z-index: 0; }
        #visual:after { content: ''; display: block; position: absolute; left: 0; top: calc(26em + 42.7vw); width:  100%; height: calc( 100% - (26em + 42.7vw) ); background: #EDF8DD; z-index: 0; }
        .visual__maps--pic { position: sticky; left: 1.5vw; top: 0; width: 97.44vw; height: 83.28vw; margin-left: 1.5vw; transition: 1s ease; }
        .visual__maps--pic img { position: absolute; left: 0; bottom: 24.6vw; object-fit: cover; object-position: left bottom; width: 100%; height: auto; transition: 1s ease; }
        #visual.active .visual__maps--pic { width: 243vw; }
        #visual.active .visual__maps--pic img { left: -14.16vw; bottom: 0; opacity: .5; }
        .visual__title { position: absolute; width: 21.875%; left: calc( 13.55% - 40px ); top: 0; z-index: 1; height: calc(79.7vw + 36em ); }
        .visual__title--break { position: sticky; top: 18em; left: 0; width: 100%; height: 42.7vw; display: flex; align-items: center; justify-content: center; }
        
    }

    @media only screen and (max-width: 768px) {
        #visual { padding-top: 8em; }
        #visual:after { content: ''; display: block; position: absolute; left: 0; bottom: 0; width: 100%; height: calc( 100% - (39.5em + 72vw) ); background: linear-gradient(#fff 0%, #edf8dd 100%); }
        .visual__maps { height: 100%; }
        .visual__maps--pic { width: 100%; height: 113vw; position: sticky; top: 0; }
        .visual__maps--pic img { width: 239vw; height: 204vw; max-width: initial; position: absolute; left: -26.66vw; bottom: 12.26vw; transform: rotate(-11deg); display: block; transition: 1s ease; }
        #visual.active .visual__maps--pic img { width: 500vw; height: 427vw; left: -70vw; bottom: 0; opacity: .5; }
        .visual__title { margin-bottom: 2em; }
        .visual__title h2 { font-size: 2.5em; margin: 0 auto; }
        .visual__title h2 span:not(:last-child) { margin-bottom: .2em; }
    }

/*section concept*/
#concept { position: relative; padding: 10em 0 15em; z-index: 2; }
#concept .section--title { text-align: left; margin-bottom: 3em; }
.concept--btn { max-width: 18.75em; margin-top: 3.75em; margin-left: 0; }
.concept__block { display: block; margin-left: auto; max-width: 80em; }
.concept--desc { font-size: 1.8em; line-height: 2;  }
.concept__video { display: block; position: relative; padding: 7em 10em 10em; margin-top: 10em; border-radius: 2em; background: #fff; }
.concept__video--tlt { font-size: 2.8em; line-height: 1.5; font-weight: bold; text-align: center; cursor: pointer; padding-bottom: 1.14em; color: #01685B; transition: linear .2s; }
.concept__video--tlt:before { content: ''; display: inline-block; width: 1.07em; height: 1.07em; vertical-align: -.1785em; margin-right: .7em; transition: linear .2s; background-image: url(../../img/share/btn-arrow-cg.svg); background-repeat: no-repeat; background-size: 100% 100%; }
.concept__video--play { display: block; position: relative; width: 100%; height: 60em; }
.concept__video .h-video--btn .bow { height: auto; width: 100%; z-index: 2; } 
.concept__video .h-video--btn:after { background: rgba(0, 0, 0, .3); z-index: 3; }
.concept__video .h-video--btn:before { display: none !important; }

    @media only screen and (min-width: 768px) {
        .concept__video.active .concept__video--tlt,
        .concept__video--frame:hover .concept__video--tlt { color: #72B331; }
        .concept__video.active .concept__video--tlt:before,
        .concept__video--frame:hover .concept__video--tlt:before { background-image: url(../../img/share/btn-arrow-cgH.svg); }
        .concept__video .concept__video--frame:hover .h-video--btn:after { opacity: 1; }
    }

    @media only screen and (max-width: 768px) {
        #concept { padding: 6em 0; }
        #concept .section--title { text-align: center; margin-bottom: 1.5em; }
        .concept--desc { text-align: center; }
        .concept--btn { max-width: 17.1875em; margin: 2.5em auto 0; }
        .concept__video { padding: 0; margin-top: 7em; border-radius: 0; background: none; }
        .concept__video--tlt { font-size: 1.8em; padding-bottom: .88em; }
        .concept__video--tlt:before { margin-right: .5em; }
        .concept__video--play { height: 50.4vw; }
            
    }

