@charset "utf-8";

#Top-page .service-box-wrap .col-md-4,
#Top-page .service-box-wrap .col-sm-6,
#Top-page .service-box-wrap .col-xs-6 {
    padding-right: 0 !important;
    padding-left: 0 !important;
}




.kikagaku {
    positon: relative;
    z-index: -1;
    overflow: hidden;
}


#video {
    top: 0;
    width: 100%;
    height: 100%;
    background: #000;
    /*背景を黒で表示*/
}

#p-move {

    /*描画固定*/
    z-index: 1;
    /*描画を一番下に*/
    width: 100%;
    height: 300px;
    position: absolute;
    left: 0;
    top: 0;
    z-index: -1;
}



.vegas-slider-sp {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    width: 100vw;
    height: 100vh;
    text-align: center;
}




.list-num {
    margin-bottom: .5em;
    margin-left: 2em !important;
}


.list-num-1::before {
    content: '①' !important;
    position: absolute;
    top: -.5rem !important;
    left: -1.2em !important;
    color: #336699;
    font-weight: 700;
    font-size: 2rem;
}


.list-num-2::before {
    content: '② ' !important;
    position: absolute;
    top: -.5rem !important;
    left: -1.2em !important;
    color: #336699;
    font-weight: 700;
    font-size: 2rem;

}


.list-num-3::before {
    content: '③ ' !important;
    position: absolute;
    top: -.5rem !important;
    left: -1.2em !important;
    color: #336699;
    font-weight: 700;
    font-size: 2rem;
}


.list-num-4::before {
    content: '④ ' !important;
    position: absolute;
    top: -.5rem !important;
    left: -1.2em !important;
    color: #336699;
    font-weight: 700;
    font-size: 2rem;
}



.list-num-5::before {
    content: '⑤ ' !important;
    position: absolute;
    top: -.5rem !important;
    left: -1.2em !important;
    color: #336699;
    font-weight: 700;
    font-size: 2rem;
}






.VideoArea {
    margin-top: 5rem;
}

/* 動画全体の横幅を指定するためのdiv */
.video-wrap {
    width: 100%;
    max-width: 31%;
    /* ここに動画の横幅を指定 */
}

/* 動画を囲うdiv */
.video-wrap .video {
    position: relative;
    width: 100%;
    /* 横幅は100%で固定 */
    height: 0;
    /* 高さは0にしておく(padding-topで高さを指定するため) */
    padding-top: 56.25%;
    /* 高さを指定(16:9) */
}

/* YouTube埋め込み用のiframe */
.video-wrap .video iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}


@media (max-width: 1200px) {
    .video-wrap {
        max-width: 48%;
        /* ここに動画の横幅を指定 */
    }

}

@media (max-width: 767px) {
    .video-wrap {
        max-width: 100%;
        /* ここに動画の横幅を指定 */
    }

}


.ceo-name {
    float: right;
    margin-bottom: 5rem;
    margin-top: -3rem;
}




/* -------------------------------------------------
    トップページ スライダー カラー
----------------------------------------------------*/
#top-slider .nav-pos-ver-bottom {
    background-color: rgba(0, 0, 0, 0) !important;
}





/*========= ローディング画面のためのCSS ===============*/

.wrapper {
    background: #fff;
    background-size: contain;
    overflow: hidden;
    position: relative;
    min-width: 1010px;
}


body {
    min-height: 100vh;
    /* mobile viewport bug fix */
    min-height: -webkit-fill-available;
}

html {
    height: -webkit-fill-available;
}

#splash {
    position: fixed;
    width: 100%;

    background: #fff;
    z-index: 9999998;
    text-align: center;
    color: #fff;
    min-height: 100vh;
    /* mobile viewport bug fix */
    min-height: -webkit-fill-available;
}


body.appear #splash {
    animation-name: SlideOpenAnime;
    animation-duration: .6s;
    animation-delay: .4s;
    animation-timing-function: cubic-bezier(0.085, 0.480, 0.155, 0.995);
    animation-fill-mode: forwards;
    content: "";
    position: fixed;
    z-index: 2000;
    width: 100%;

    top: 0;
    left: 0;
    transform: scaleX(1);
    background-color: #fff;
    /*伸びる背景色の設定*/
    overflow: hidden;
    min-height: 100vh;
    /* mobile viewport bug fix */
    min-height: -webkit-fill-available;
}

@keyframes SlideOpenAnime {
    0% {
        opacity: 1;
        top: 0%;
    }

    98% {
        top: -110%;
        opacity: 1;
    }

    99% {
        top: -110%;
        opacity: 0;
        min-height: 0;
    }


    100% {
        top: -110%;
        opacity: 0;
        min-height: 0;
        display: none !important;
        position: static !important;
        background: none !important;
        z-index: -10 !important;
    }
}




#splash_logo {
    position: fixed;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: -1;
}

/* Loadingバー中央配置　*/
#splash_text {
    position: absolute;
    top: 50%;
    left: 50%;
    z-index: 999;
    width: 100%;
    transform: translate(-50%, -50%);
    color: #fff;
}

/*IE11対策用バーの線の高さ※対応しなければ削除してください*/
#splash_text svg {
    height: 2px;
}


/*========= 画面遷移のためのCSS ===============*/

/*画面遷移アニメーション*/

.splashbg1,
.splashbg2 {
    display: none;
}

body.appear .splashbg1 {
    display: block;
}

/*右に消えるエリア*/
body.appear .splashbg1 {
    animation-name: PageAnime;
    animation-duration: .8s;
    animation-delay: .6s;
    animation-timing-function: cubic-bezier(0.085, 0.480, 0.155, 0.995);
    animation-fill-mode: forwards;
    content: "";
    position: fixed;
    z-index: 2000;
    width: 100%;
    height: 100vh;
    top: 0;
    left: 0;
    transform: scaleX(1);
    background-color: #fff;
    /*伸びる背景色の設定*/
    overflow: hidden;
}

@keyframes PageAnime {
    0% {
        opacity: 1;
        top: 0%;
    }

    98% {
        top: -110%;
        opacity: 1;
    }

    100% {
        top: -110%;
        opacity: 0;
        display: none !important;
    }
}





/*========= wow  ===============*/


.fadeInUpMin {
    animation-name: fadeInUpMin;
}

@keyframes fadeInUpMin {
    from {
        opacity: 0;
        transform: translate3d(0, 18%, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}




@keyframes fadeInDownMin {
    from {
        opacity: 0;
        transform: translate3d(0, -30%, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fadeInDownMin {
    animation-name: fadeInDownMin;
}


@keyframes fadeInLeftMin {
    from {
        opacity: 0;
        transform: translate3d(-8%, 0, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fadeInLeftMin {
    animation-name: fadeInLeftMin;
}




@keyframes fadeInRightMin {
    from {
        opacity: 0;
        transform: translate3d(8%, 0, 0);
    }

    to {
        opacity: 1;
        transform: none;
    }
}

.fadeInRightMin {
    animation-name: fadeInRightMin;
}



.zenkaku-medium {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 500;
    font-style: normal;
  }
  
  .zenkaku-bold {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 700;
    font-style: normal;
  }
  
  .zenkaku-black {
    font-family: "Zen Kaku Gothic New", sans-serif;
    font-weight: 900;
    font-style: normal;
  }

  

/* ヒーロー領域：ビューポート全体 */
#hero{
    position:relative;
    width:100vw;
    height:105vh;
    overflow:hidden;
    display:block;
    
  }
  
  /* canvas はヒーロー全体を覆う */
  #canvas{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    display:block;
  }


  :root{
    --bg:#fff;
    --text:#ffffff;
    --anniv-size-1:clamp(12px, 2.8vw, 28px); /* ANNIVERSARY */
    --anniv-size-2:clamp(12px, 2.8vw, 28px); /* Since 1966 */
  }


  #anniv-line1,
  #anniv-line2{
    font-family: 'Montserrat', system-ui, -apple-system, sans-serif;
  }


/* テキストコンテナ（60th の下に追従して配置される）*/
#text-container{
    position:absolute;
    transform:translate(-50%, 0); /* left を中心に合わせる */
    pointer-events:none;
    text-align:center;
    opacity:0;
    transition:opacity 1.5s ease;
    will-change:transform, opacity;
  }
  
  /* 表示クラスが付いたらフェードイン */
  #text-container.show{
    opacity:1;
  }


/* ANNIVERSARY と Since 1966 のスタイル（レスポンシブ） */
#anniv-line1{
  font-weight:600;
  letter-spacing:0;
  text-transform:uppercase;
  font-size:var(--anniv-size-1);
  color: #de007c;
  margin-bottom:6px;
}
#anniv-line2{
  font-weight:600;
  font-size:var(--anniv-size-2);
  color:#de007c;
}



/* ヒーロー中央の画像 */
#hero-image{
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);

    width:100vw;
    height:auto;
    opacity:0;
    transition:opacity 10s ease;
    pointer-events:none;
    text-align: center;
    display:flex !important;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  
  #hero-image .logo{
    max-width:55vh;
  }

  /* フェードイン後 */
  #hero-image.show{
    opacity:1;
  }

  .hero.is-hidden {
    opacity: 0;
  }
  
.hero_txt_wrap{
    display:flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.midashi_intro{
    opacity:0;
  margin:4rem 0 0 0;
  max-width:50vh;
}
.midashi_intro.show {
    animation-name: fadeInDownMin;
    animation-duration: 5s;
    animation-delay: .7s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    content: "";
}

.hero-midashi{
    opacity:0;
  margin:2rem 0 0 0;
  max-width:50vh;
}
.hero-midashi.show {
    animation-name: fadeInDownMin;
    animation-duration: 5s;
    animation-delay: 1.5s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    content: "";
}







  @media (max-width: 767px) {

    #hero-image{
        transform:translate(-50%, -60%);
    
      }


    #hero-image .logo{
        max-width:55vw;
      }
    .midashi_intro{
      margin:3rem 0 0 0;
      max-width:40vh;
    }
    .hero-midashi{
      margin:1.5rem 0 0 0;
      max-width:40vh;
    }

}



.anniv-area{
    width:100%;
    padding:clamp(1rem, -0.818rem + 7.76vw, 5rem) 15px;
    position:relative;
}


.anniv_txt-wrap {
    max-width: 600px;
    margin: 0 auto;
}


.anniv_txt-inner{
    opacity: 0;
}

.anniv_txt-inner.anniv_FadeIn {
    animation-name: annivfadein;
    animation-duration: 4s;
    animation-delay: 1s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    content: "";
}

@keyframes annivfadein {
    0% {
        opacity: 0;
    }

    100% {
        opacity: 1;
        transform: none;
    }
}

.anniv_txt h2{
    font-size:5.4rem;
}


.annivtext{
    margin-bottom:0;
    font-weight:700;
    font-size:1.6rem;
    line-height: 2;
    text-align: center;
    letter-spacing: 1px;
}



.anniv_gallery{
    position:relative;
    width:100%;
    max-width:1200px;
    height:100%;
    padding:clamp(5rem, 0.455rem + 19.39vw, 15rem) 0;
    margin:0 auto;
}

.mazenta{color:#e3007f;}



  /* ===== 画像 ===== */
  
  .anniv_image {
    position: absolute;
    opacity: 0;
    width: 200px;
    
    overflow: hidden;
    box-shadow: 0 10px 20px rgba(0, 0, 0, 0.9);
  
  }
    
  


  .anniv_image.show.one {
    width:calc(200px * 1);
    height:auto;
    aspect-ratio: 4 / 3;
    animation-delay: 1.1s;

    animation-name: annivimgfadein;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    background:#f9c21a;
  }

  .anniv_image.show.two {
    width:calc(200px * 1);
    height:auto;
    aspect-ratio: 4 / 3;
    animation-delay: .5s;

    animation-name: annivimgfadein;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    background:#f9c21a;
  }

  .anniv_image.show.three {
    width:240px;
    height:auto;
    aspect-ratio: 4 / 3;
    animation-delay: .9s;

    animation-name: annivimgfadein;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    background:#2dc0da;
  }
  .anniv_image.show.four {
    width:calc(200px * 0.7);
    height:auto;
    aspect-ratio: 4 / 3;
    animation-delay: 1.2s;

    animation-name: annivimgfadein;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    background:#2dc0da;
  }
  .anniv_image.show.five {
    width:140px;
    height:auto;
    aspect-ratio: 4 / 3;
    animation-delay: 1.6s;

    animation-name: annivimgfadein;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    background:#80ea88;
  }
  .anniv_image.show.six {
    width:calc(200px * 0.8);
    height:auto;
    aspect-ratio: 4 / 3;
    animation-delay: 1.9s;

    animation-name: annivimgfadein;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    background:#ebdd1a;
  }
  .anniv_image.show.seven {
    width:calc(200px * 1.1);
    height:auto;
    aspect-ratio: 4 / 3;
    animation-delay: 1.6s;

    animation-name: annivimgfadein;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    background:#e08ea3;
    
  }
  .anniv_image.show.eight {
    width:calc(200px * .8);
    height:auto;
    aspect-ratio: 4 / 3;
    animation-delay: 1.3s;

    animation-name: annivimgfadein;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    background:#e08ea3;
  }
  .anniv_image.show.nine {
    width:calc(200px * 0.7);
    height:auto;
    aspect-ratio: 4 / 3;
    animation-delay: 1.3s;

    animation-name: annivimgfadein;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    background:#f99df8;
  }
  .anniv_image.show.ten {
    width:calc(200px * 0.7);
    height:auto;
    aspect-ratio: 4 / 3;
    animation-delay: 1.4s;

    animation-name: annivimgfadein;
    animation-duration: 2s;
    animation-timing-function: cubic-bezier(.61,.57,.42,.84);
    animation-fill-mode: forwards;
    background:#f99df8;
  }


@keyframes annivimgfadein {
    0% {
        opacity: 0;
    }

    100% {
        opacity: .4;
        transform: none;
    }
}



  .anniv_image.show img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    mix-blend-mode: multiply;
  }
  
  .brsp{
    display:none;
  }



  @media (max-width: 767px) {

    .brsp{
        display:block;
      }


.anniv_txt h2{
    font-size:3.5rem;
    margin-bottom:3rem;
}

.annivtext{
    margin-bottom:0rem;
    font-weight:600;
    font-size:1.5rem;
    line-height: 1.5;
    
}


.anniv_gallery{
    padding:clamp(3rem, -2.455rem + 23.27vw, 15rem) 0 clamp(8rem, 4.818rem + 13.58vw, 15rem) 0;
}


    .anniv_image.show.two {
      width:100px;
    }

    .anniv_image.show.one, .anniv_image.show.three {
        width:90px;
      }

      .anniv_image.show.seven, .anniv_image.show.eight, .anniv_image.show.nine, .anniv_image.show.ten {
        width:60px;
      }

      .anniv_image.show.four, .anniv_image.show.six, .anniv_image.show.five {
        width:50px;
      }



  }




/* ヒーロー下のテキスト表示　スクロールの */
  .full {
    width: 100vw;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  
  
/* sectionB を基準に中央配置 */
#sectionB {
    overflow: hidden;
  }
  
  #bText {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
  
  #bText > * {
    opacity: 0;
    transition: opacity 0.5s ease;
  }
  
  #bText > *.show {
    opacity: 1;
  }

/* 次セクション用フェード */
.pre-fade {
    opacity: 0;
  }
  
  .fade-in {
    opacity: 1;
    transition: opacity 2s ease;
    transition-delay: 2s;
  }
  

#frontpage_nav .responsive-nav li a {
    color: #111;
}
#frontpage_nav .responsive-nav li .sub-menu a  {
    color:#111;
}









/* wrap */

.hero {
    position: relative;
}

/* video */

.video-box {
    position: relative;
    overflow: hidden;
    width: 100%;
    height: 100vh;
}


.video-box .video {
    position: absolute;
    top: 50%;
    left: 50%;
    min-width: 100%;
    min-height: 100%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
}

.mainvideo {
    position: relative;
    overflow: hidden;
    width: 100%;
    margin: 0 auto 0 auto;
}


.subvideo video {
    width: 100%;
    height: auto;
}




.subvideo {
    max-width: 1200px;

    margin: 10rem auto 20rem auto;
}

.subvideo video {
    width: 100%;
    height: auto;
}






/* scroll down */

.down {
    position: absolute;
    width: 100vw;
    height: 100vh;
}

.down .inner {
    position: absolute;
    bottom: 10px;
    left: 50%;
    transform: translateX(-50%);
    color: #fff;
    z-index: 500;

}

.down a {
    font-size: 3rem;
    color: #fff;
    display: block;
    width: 100px;
    height: 100px;
}

.down a:hover,
.down a:active,
.down a:visited {
    color: #fff;
}



/*スクロールダウン*/
.scrolldown2 {
    position: absolute;
    bottom: 5px;
    left: 50%;
    z-index: 30;

}

.scrolldown2 span {
    position: absolute;
    left: 10px;
    bottom: 10px;
    color: #fff;
    font-size: 0.7rem;
    letter-spacing: 0.05em;
    -ms-writing-mode: tb-rl;
    -webkit-writing-mode: vertical-rl;
    writing-mode: vertical-rl;
}

.scrolldown2:before {
    content: "";
    position: absolute;
    bottom: 0;
    left: -2px;
    width: 5px;
    height: 10px;
    border-radius: 0%;
    background: #fff;
    animation:
        circlemove 1.6s ease-in-out infinite,
        cirlemovehide 1.6s ease-out infinite;
}

@keyframes circlemove {
    0% {
        bottom: 45px;
    }

    100% {
        bottom: -5px;
    }
}

@keyframes cirlemovehide {
    0% {
        opacity: 0
    }

    50% {
        opacity: 1;
    }

    80% {
        opacity: 0.9;
    }

    100% {
        opacity: 0;
    }
}

.scrolldown2:after {
    content: "";
    position: absolute;
    bottom: 0;
    left: 0;
    width: 1px;
    height: 50px;
    background: #fff;
}









/* text */

.pagetitle {
    position: relative;
    padding: 10rem 0 10rem 0;
    z-index: 0;
}

.pagetitle-box {
    position: absolute;
    top: 50%;
    left: 50%;

    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    margin: auto;
    cursor: pointer;

}



.pagetitleinsert {
    margin: 0 auto;
    opacity: 0;
    cursor: pointer;
}



body.appear .pagetitleinsert {
    animation-name: PTin;
    animation-duration: 1.5s;
    animation-delay: .7s;
    animation-timing-function: cubic-bezier(0.100, 0.500, 0.700, 0.995);
    animation-fill-mode: forwards;
    content: "";
}

@keyframes PTin {
    0% {
        opacity: 0;
        transform: scale(1.6);
        -webkit-opacity: 0;
        -webkit-transform: scale(1.6);
    }

    2% {
        opacity: 0.6;
        transform: scale(1.4);
        -webkit-opacity: 0.6;
        -webkit-transform: scale(1.4);
    }

    99.9%,
    to {
        opacity: 1;
        transform: scale(1);
        -webkit-opacity: 1;
        -webkit-transform: scale(1);
    }
}






.text-box {
    position: absolute;
    top: 50%;
    left: 50%;

    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1000;
    margin: auto;
    cursor: pointer;

}


#intro {
    width: 100vw;
    position: relative;
    margin-top: 100vh;
    padding-top: 20vw;
    background: #fff;
}



.goodidea {
    margin: 0 auto;
    opacity: 0;
    cursor: pointer;

}


.melit_title span {
    background: linear-gradient(transparent 60%, #ff6 60%);
}



body.appear .goodidea {
    animation-name: goodideain;
    animation-duration: 6.5s;
    animation-delay: .7s;
    animation-timing-function: cubic-bezier(0.100, 0.500, 0.700, 0.995);
    animation-fill-mode: forwards;
    content: "";
}

@keyframes goodideain {
    0% {
        opacity: 0;
        transform: scale(1.8);
        -webkit-opacity: 0;
        -webkit-transform: scale(1.8);
    }

    2% {
        opacity: 0.6;
        transform: scale(1.6);
        -webkit-opacity: 0.6;
        -webkit-transform: scale(1.6);
    }

    99.9%,
    to {
        opacity: 1;
        transform: scale(1);
        -webkit-opacity: 1;
        -webkit-transform: scale(1);
    }
}




#introscroll {
    position: fixed;
    display: block;
    width: 100%;
    height: 100vh;
    z-index: -3;
    background: #eee;

}




.litxt {
    width: 90%;
}


.longimgarea {
    position: relative;
    margin-bottom: 10rem;
}



.longimg {
    width: 90%;
}

.longimgtext {
    position: absolute;
    z-index: 3;
    right: 0;
    bottom: -5rem;

    background: #fff;
    padding: 1rem 0rem 1rem 3rem;
    width: calc(300px + 8vw);
    border-radius: 2rem;
}





/* -------------------------------------------------
    トップページ
----------------------------------------------------*/
#top-slider {
    background-image: url('../img/front-page/slider/facility_top_img_bg.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
}

.top-contents-wrap {
    max-width: 800px;
    margin: 0 auto;
    padding: 0;
}

/* トップページ スライダー下 導入エリア */
#top-intro {
    padding-top: 50px;
    padding-bottom: 500px;
    background-image: url('../img/kanda-img.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
}





.nextstagelogo {
    position: relative;
    margin-bottom: 4rem;
    margin-top: 2rem;

}


.nextstage {
    position: absolute;
    z-index: 1;
    top: -35px;

    display: block;
    width: 170%;
    height: 100%;
    opacity: .7;
    mix-blend-mode: difference;
}









.backside {
    z-index: 10;
    opacity: .6;

}



#hide_servece {
    display: none;
    height: 1px;
    margin-left: -10000px;
}





/* トップページ 各セクション */
#NEWS,
#CSR {
    padding: 100px 0 0 0;
    display: block;
    position: relative;
}



#NEWS .title {
    margin-bottom: 100px;
    z-index: 1000;
}



/* ----- サービス エリア ----- */
#SERVICE {
    
    padding: 80px 0 8rem 0;
    background: #fff;
}




.media__lst {
    margin-top: 36px;
    padding: 0 6.94444%;
    -webkit-transition: .3s cubic-bezier(.55, .085, .68, .53);
    transition: .3s cubic-bezier(.55, .085, .68, .53);
}


.mediabox {
    position: relative;

}


.mediabox::after {
    content: "";
    display: block;
    clear: both;
}



.mediatitle {
    position: absolute;
    left: 10px;
    top: 0px;
    transform-origin: right top;
    -moz-transform: rotate(0deg);
    /* Firefox用 */
    -webkit-transform: rotate(0deg);
    /* Chrome,Safari,新しいOpera用 */
    -o-transform: rotate(0deg);
    /* 古いOpera用 */
    -ms-transform: rotate(0deg);
    /* IE9用 */
    transform: rotate(0deg);
    /* CSS3の書き方 */

    z-index: 100;

}

.linefont {
    font-size: 4rem;
    font-family: 'Kanit', sans-serif;
    letter-spacing: 0px;
    line-height: 1;
    color: rgba(0, 0, 0, 1);
    text-shadow: 0px 0px 0px #fff;
    -webkit-text-stroke: 0px #fff;
    text-stroke: 0px #fff;
    padding: 0 0 10px;
    opacity: 1;
}


.linefont_white {
    font-size: 4rem;
    font-family: 'Kanit', sans-serif;
    letter-spacing: 0px;
    line-height: 1;
    color: rgba(255, 255, 255, 1);
    text-shadow: 1px 2px 8px #666;

    -webkit-text-stroke: 0px #fff;
    text-stroke: 0px #fff;

    padding: 0 0 10px;
    opacity: 1;
}


.linefont_white:first-letter {
    color: #fff;
}

svg {
    width: 100%;
    height: auto;
    overflow: visible;
}

text {
    fill: #000;
    stroke: #FFF;
    stroke-width: 1;
    stroke-linejoin: round;
}







#logo_line_moving {
    width: 200px;
}


#logo-color-1 {
    fill: #0052A4;
}

#logo-color-2 {
    fill: #00A2E1;
}

#logo-color-3 {
    fill: #0079C3;
}

.logo-item {
    opacity: 0;
}

.logo-item.is-active {
    opacity: 1;

    fill: #fff;
    /*塗りつぶし色*/
    stroke-width: 1;
    /*線の太さ*/
    stroke-dasharray: 1000;
    /*線の間隔*/
    stroke-dashoffset: 0;
    /*線の始まりの開始位置*/
    animation-name: anime-logo;
    /*keyframe名*/
    animation-duration: 1.8s;
    /*所要時間*/
    animation-timing-function: cubic-bezier(.57, .51, .86, .85)
        /*進行割合*/

}

/* アニメーション設定 */
@keyframes anime-logo {
    0% {
        fill: #fff;
        /*塗りつぶし色*/
        stroke-dashoffset: 1000;
        /*線の終わりの開始位置*/
        stroke: #000;
        /*パスの色*/
    }


    80% {
        fill: #fff;
        stroke-dashoffset: 0;
        stroke: #000;
    }


    95% {}



    100% {
        stroke: #fff;

    }


}



/*==================================================
   波線
===================================*/

#header .fixed {
    display: flex;
    justify-content: center;
    align-items: center;
    overflow: hidden;
    position: relative;
}


#waveCanvas {
    position: absolute;
    left: 0;

    width: 100%;
    z-index: 1;
}










.fluid-over {
    width: 100%;
    height: 100%;
    background: rgba(239, 83, 14, 1);

    /*背景色（グラデーション）*/
    animation: fluidrotate-over 18s linear 0s infinite;
    mix-blend-mode: screen;
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;

}

.fluid {
    width: 100%;
    height: 100%;
    background: rgba(69, 206, 147, 1);

    /*背景色（グラデーション）*/
    animation: fluidrotate 18s linear 0s infinite;
    mix-blend-mode: screen;
    position: absolute;
    z-index: 5;
    top: 0;
    left: 0;

}

.fluid_under {
    width: 100%;
    height: 100%;
    background: rgba(79, 163, 211, 1);
    /*背景色（グラデーション）*/
    animation: fluidrotate-under 20s linear 0s infinite;
    mix-blend-mode: screen;
    position: absolute;
    z-index: 2;
    top: 0;
    left: 0;
}





.fluid-block {
    position: absolute;
    top: 2%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);

    width: 270px;
    height: 270px;
    animation-delay: 0.5s;
    mix-blend-mode: multiply;
}







@keyframes fluidrotate {

    0%,
    100% {
        border-radius: 46% 54% 75% 25% / 66% 23% 77% 34%;
    }

    10% {
        border-radius: 22% 78% 63% 37% / 71% 42% 58% 29%;

    }

    25% {
        border-radius: 49% 51% 37% 63% / 70% 59% 41% 30%;
    }

    40% {
        border-radius: 49% 51% 28% 72% / 43% 33% 67% 57%;
    }

    58% {
        border-radius: 55% 45% 53% 47% / 66% 22% 78% 34%;

    }

    68% {
        border-radius: 29% 71% 53% 47% / 42% 49% 51% 58%;
    }

    80% {
        border-radius: 63% 37% 60% 40% / 67% 49% 51% 33%;

    }

}



@keyframes fluidrotate-under {

    0%,
    100% {
        border-radius: 42% 58% 42% 58% / 67% 49% 51% 33%;
    }

    10% {
        border-radius: 69% 31% 71% 29% / 38% 30% 70% 62%;
    }

    25% {
        border-radius: 54% 46% 37% 63% / 55% 63% 37% 45%;
    }

    42% {
        border-radius: 51% 49% 57% 43% / 72% 43% 57% 28%;
    }

    54% {
        border-radius: 53% 47% 76% 24% / 44% 68% 32% 56%;
    }

    70% {
        border-radius: 41% 59% 42% 58% / 33% 69% 31% 67%;
    }

    85% {
        border-radius: 72% 28% 42% 58% / 52% 34% 66% 48%;
    }

}





@keyframes fluidrotate-over {

    0%,
    100% {
        border-radius: 50% 50% 42% 58% / 35% 34% 66% 65%;
    }

    8% {
        border-radius: 75% 25% 70% 30% / 66% 42% 58% 34%;
    }

    22% {
        border-radius: 32% 68% 34% 66% / 29% 64% 36% 71%;
    }

    44% {
        border-radius: 69% 31% 67% 33% / 66% 27% 73% 34%;
    }

    55% {
        border-radius: 69% 31% 19% 81% / 66% 76% 24% 34%;
    }

    70% {
        border-radius: 69% 31% 74% 26% / 66% 31% 69% 34%;
    }

    82% {
        border-radius: 30% 70% 46% 54% / 29% 63% 37% 71%;
    }

}






/* にゅーん（滑らかに変形して出現） */
.smooth {
    animation-name: smoothAnime;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    transform-origin: left;
    opacity: 0;
}

@keyframes smoothAnime {
    from {
        transform: translate3d(0, 0, 0) skewY(12deg);
        opacity: 0;
    }

    to {
        transform: translate3d(0, 0, 0) skewY(0);
        opacity: 1;
    }
}

/* スクロールをしたら出現する要素にはじめに透過0を指定　*/

.smoothTrigger {
    opacity: 0;
}




/* ----- マスクアニメーション ----- */
.mask-wrap {
    display: inline-block;

}


.masktxt {}




.mask-wrap .mask-inner {
    position: relative;
    visibility: hidden;
}

.mask-wrap .mask-inner::after {
    content: "";
    background: #2a87d3;
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    -webkit-transform-origin: left top;
    transform-origin: left top;
    -webkit-transform: scale(0, 1);
    transform: scale(0, 1);
    -webkit-transition: all 0.3s ease 0s;
    transition: all 0.3s ease 0s;
    visibility: visible;
}



.mask-wrap .mask-inner.leftstart {
    -webkit-animation-name: animate-content;
    animation-name: animate-content;
    -webkit-animation-duration: .9s;
    animation-duration: .9s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.mask-wrap .mask-inner.leftstart::after {
    -webkit-animation-name: animate-panelleft;
    animation-name: animate-panelleft;
    -webkit-animation-duration: .9s;
    animation-duration: .9s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}






.mask-wrap .mask-inner.rightstart {
    -webkit-animation-name: animate-content;
    animation-name: animate-content;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.mask-wrap .mask-inner.rightstart::after {
    -webkit-animation-name: animate-panelright;
    animation-name: animate-panelright;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}



.mask-wrap .mask-inner.topstart {
    -webkit-animation-name: animate-content;
    animation-name: animate-content;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}

.mask-wrap .mask-inner.topstart::after {
    -webkit-animation-name: animate-paneltop;
    animation-name: animate-paneltop;
    -webkit-animation-duration: 1.5s;
    animation-duration: 1.5s;
    -webkit-animation-timing-function: ease;
    animation-timing-function: ease;
    -webkit-animation-delay: 0s;
    animation-delay: 0s;
    -webkit-animation-iteration-count: 1;
    animation-iteration-count: 1;
    -webkit-animation-direction: normal;
    animation-direction: normal;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-play-state: running;
    animation-play-state: running;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
}



@-webkit-keyframes animate-panelleft {
    0% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
    }

    40% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    70% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    100% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
    }
}

@keyframes animate-panelleft {
    0% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
    }

    40% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    70% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    100% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
    }
}





@-webkit-keyframes animate-panelright {
    0% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
    }

    40% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    70% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    100% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
    }
}


@keyframes animate-panelright {
    0% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
    }

    40% {
        -webkit-transform-origin: right top;
        transform-origin: right top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    70% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    100% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(0, 1);
        transform: scale(0, 1);
    }
}





@-webkit-keyframes animate-paneltop {
    0% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1, 0);
        transform: scale(1, 0);
    }

    40% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    70% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    100% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}

@keyframes animate-paneltop {
    0% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1, 0);
        transform: scale(1, 0);
    }

    40% {
        -webkit-transform-origin: left top;
        transform-origin: left top;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    70% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
    }

    100% {
        -webkit-transform-origin: left bottom;
        transform-origin: left bottom;
        -webkit-transform: scale(1, 0);
        transform: scale(1, 0);
    }
}






@-webkit-keyframes animate-content {
    0% {
        visibility: hidden;
    }

    42% {
        visibility: hidden;
    }

    43% {
        visibility: visible;
    }

    100% {
        visibility: visible;
    }
}

@keyframes animate-content {
    0% {
        visibility: hidden;
    }

    42% {
        visibility: hidden;
    }

    43% {
        visibility: visible;
    }

    100% {
        visibility: visible;
    }
}






/* ----- NEWS エリア ----- */
#Top-page #NEWS {
    clear: both;
    padding-bottom: 70px;
    background-color: #fff;
}

#Top-page #NEWS .container {
    max-width: 900px;
}

#Top-page #NEWS ul {
    list-style-type: none;
}

#Top-page #NEWS .news-list-wrap {
    display: block;
    padding: 1.5em;
}

#Top-page #NEWS .news-box-wrap {
    display: block;
    padding: 1em;
    margin: 0;
    border-bottom: none;
}

/* ----- リクルート エリア ----- */
#recintro {
    background: #6ad3fb;
    text-align: center;
    padding: 10rem 1rem 0rem 1rem;
    position: relative;
    overflow: hidden;
}

.rectitle {
    margin-bottom: 5rem;
}

.recbtn {
    margin-top: 5rem;
    margin-bottom: 8rem;

}

.recbtn a {
    color: #000;
    font-size: 2rem;
    background: #faf6c6;
    border: 2px solid #111;

    transition: all .5s;
    display: inline-block;
    padding: 2rem 4rem;
}


.recbtn a:hover {
    color: #fff;
    background: #6ad3fb;
    border: 2px solid #fff;
}


.joinus {
    margin-bottom: -152px;
    opacity: 0;
}

.joinus_bottom {
    margin-top: -152px;
    opacity: 0;
}





.joinus.visible {
    animation-name: juHead;
    animation-duration: 1.5s;
    animation-delay: .4s;
    animation-timing-function: cubic-bezier(0, .82, .68, .98);
    animation-fill-mode: forwards;
    content: "";
    z-index: 999;
}

@keyframes juHead {
    0% {
        opacity: 0;
        transform: translateX(280px);
    }

    100% {
        opacity: 1;
        margin-bottom: -78px;
        transform: translateX(0px);
    }
}





.joinus_bottom.visible {
    animation-name: juBottom;
    animation-duration: 1.5s;
    animation-delay: .4s;
    animation-timing-function: cubic-bezier(0, .82, .68, .98);
    animation-fill-mode: forwards;
    content: "";
}

@keyframes juBottom {
    0% {
        opacity: 0;
        transform: translateX(-280px);

    }

    100% {
        opacity: 1;
        margin-top: -73px;
        transform: translateX(0px);
    }
}







#RECRUIT {
    padding: 0rem 0 30px 0;
    display: block;
    background: #fff;
    overflow: hidden;
    position: relative;
}

.RECRUIT__bg-img {
    background: linear-gradient(-45deg, rgba(9, 134, 191, 0.63), rgba(42, 185, 211, .9)),
        url('../img/recruit/recruit_head_img_bg.jpg');
    background-position: right center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
}


.interview_title {
    margin-top: 8rem;
    z-index: 300;
}



/* ----- CSR エリア ----- */
#CSR {
    padding-bottom: 230px;
    background-image: url('../img/front-page/csr-bg.jpg');
    background-position: center bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
    background-color: #2591d1;
}

#CSR .title {
    display: block;
    margin: 0 auto !important;
}


.fsc-subtitle {
    color: #235b4e;

}

.fsc-ninsho {
    align-items: flex-start !important;
}



.fsc_chart_sp {
    display: none;
}

.fsc_chart {
    display: block;
}

@media (max-width: 767px) {

    .fsc_chart {
        display: none;
    }

    .fsc_chart_sp {
        display: block;
    }

}


#housin {
    border: 1px solid #333;
    padding: 3rem;
    margin-bottom: 5rem;
}

#housin h3 {
    border-bottom: 1px solid #333;
    padding-bottom: 2rem;
    margin-bottom: 2rem;
    color: #2a87d3;
    font-weight: 700;
}

#housin h4 {
    margin-bottom: 3rem;
}



#housin ul {
    margin-left: 2rem;
}

#housin li {
    list-style-type: disc;
    margin-bottom: 2rem;
    font-size: 1.6rem;
}


.signature {
    text-align: right;
    width: 100%;
    white-space: nowrap；
}




.stb_btn {
    display: flex;
    justify-content: center;
    margin-bottom: 10rem;
    flex-wrap: wrap;
}





.marker {
    padding-left: .5rem;
    padding-right: .5rem;
    font-weight: 700;
    background: linear-gradient(transparent 60%, #faed1e 60%);
}



.ninsho-box {
    background: #eeeeee;
    position: relative;
    margin-top: 10rem;
    margin-bottom: 10rem;

}

.ninsho-title {

    background: #eeeeee;
    margin-top: -5rem;
    position: absolute;
    left: 50%;
    transform: translate(-50%);
    font-size: 2rem;
    font-weight: 700;
    padding: 8px 3rem 1rem 3rem;
    border-radius: 10px;
}


.ninsho-logo {
    display: flex;
    justify-content: center;
    z-index: 10;
    padding: 2rem 5rem 5rem 5rem;
    gap: 5rem;
    align-items: flex-end;
}


.logomark {
    display: flex;
    padding: 2rem;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 27%;
}





.esg_btn {
    display: flex;
    justify-content: center;

    border-bottom: 1px solid #000;
    gap: 5rem;
    width: 100%;
    margin: 0 auto 5rem auto;
}


.esg_btn a {
    font-size: 2.2rem;
    font-weight: 700;
}


#for-esg {
    position: relative;
}

.btn_esg {}



.esg-sub-title {
    border-bottom: 8px solid #f38f1e;
}


.esg-sub-title img {
    height: 80px;
}


.keikaku ul {
    margin-left: 2rem;
}

.keikaku li {
    list-style-type: disc;
    margin-bottom: 1rem;
    font-size: 1.6rem;
}


.sdgs-logo img {
    width: 400px;
}


.sdgs_sengen {
    display: flex;
    gap: 5rem;
}

.sankyu {
    font-weight: 2rem;
    font-weight: 700;
}


.security_block {
    background: #e3ffff;
    padding: 3rem;
    margin-bottom: 5rem;
}



.sec_title {

    font-size: 2rem;

    position: relative;
}



.sec_title span {
    border-bottom: 1px solid #333;
    padding-bottom: .3rem;
}



.sbt_logo {
    width: 27%;
    height: auto;
}



.sbt_syutoku {
    width: 67%;
    height: auto;
}



.sbt-sub-title {
    border-bottom: 8px solid #f38f1e;
    font-size: 3rem;
    font-weight: 700;
    display: flex;
    align-items: end;
    margin-bottom: 3rem;
}


.sbt-sub-title img {
    height: 80px;
    margin-right: 1rem;
    max-width: 150px
}



.scope1_midashi {
    font-size: 1.8rem;
    font-weight: 700;
}

.scope1_midashi span {
    font-size: 1.4rem;
    font-weight: 400;
}


.scope2_midashi {
    font-size: 1.8rem;
    font-weight: 700;
}

.scope_gap{
	padding-right:1rem;
}


.ev_table {
    margin-bottom: 1rem;
	width:100%;
	max-width:500px;
	margin-left:auto;
	margin-right:auto;
	
}


.scopeimgtxt {
    text-align: center;
    font-size: 1.5rem;
    font-weight: 600;
}

.led_box {
    border: 1px solid #aaa;
    padding: 2rem 2rem 1rem 2rem;
    margin-bottom: 1rem;
}

.panel_box {
    border: 1px solid #aaa;
    padding: 2rem 2rem 2rem 2rem;
    margin-bottom: 1rem;
}

.oflinled {
	margin-bottom: 2rem;
}






.ev_table table {
    border-collapse: collapse;
    /* セルの線を重ねる */
    border: 1px solid #111;
    width: 100%;
    margin-bottom: 0;
}

.ev_table tr:nth-child(even) {
    background-color: #ddd;
    /* 背景色指定 */
}

.ev_table th,
.ev_table td {
    text-align: center;
}

.ev_table th,
.ev_table td {
    padding: .5rem 1rem .5rem 1rem;
    /* 余白指定 */
    border: 1px solid #111;
}


.td_daisu {

    background: #ffe699;
}

.td_hv {

    background: #c6e0b4;
}



.table_box {
    display: flex;
    gap: 4rem;
    align-items: start;
    justify-content:center;
}


.scope2_secondline{
	margin-top:100px;
}



.img_box {
    display: flex;
    gap: 4rem;
    justify-content: space-between;
    flex-wrap: wrap;
}

.img_box div {
    width: 22%;
}



.link-button {
    pointer-events: auto;
    cursor: pointer;
    background: #e7e7e7;
    border: none;
    padding: 1.2rem 3rem 1rem 3rem;
    margin: 0;
    font-family: inherit;
    font-size: inherit;
    position: relative;
    display: inline-block;
    width: 250px;

}









.link-button::before,
.link-button::after {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}



.link-button--pandora {
    background: #fff;
    border: 1px solid #0071b8;
    font-weight: 700;
    font-size: 1.8rem;
    padding: 0;
    border-radius: 5px;
}

.link-button--pandora span {
    display: block;
    background: #0071b8;
    padding: 3rem 2rem;

    border-radius: 5px;
    color: #fff;
    transform: translate3d(-6px, -6px, 0);
    transition: transform 0.2s cubic-bezier(0.7, 0, 0.2, 1);
}

.link-button--pandora:hover span {
    transform: translate3d(0px, 0px, 0);
    color: #000;
    background: #13ece9
}



.link-button--pandora.onbtn span {
    transform: translate3d(0px, 0px, 0);
    color: #000;
    background: #13ece9
}




.link-button svg {
    position: absolute;
    right: 10px;
    top: 40%;
}






/* ----- 会社情報 エリア ----- */
#CORPORATE-top {
    padding: 60px 0;
    background-image: url('../img/front-page/CORPORATE-bg.jpg');
    background-position: center center;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: cover;
}

#CORPORATE-top .title {
    display: block;
}

/* トップページ　リード文 */
#Top-page .title__lead {
    font-size: 1.2em;
    margin-bottom: 8rem;
}

/* ----- トップページ 3PRエリア ----- */
#Top-page .PR-ImgArea__box {
    width: 24%;
    margin-bottom: 3rem;
}

#Top-page .PR-ImgArea__cap {
    padding: 0;
    margin: 0;
}

#Top-page .PR-ImgArea__box-inner {
    display: block;
    padding: 15px 20px 10px 20px !important;
}

#Top-page .PR-ImgArea__box-inner:nth-child(2) {
    color: #333 !important;
}

#Top-page .PR-ImgArea__box a:hover {
    background-color: rgba(0, 0, 0, 0.4);
}

/* -------------------------------------------------
    トップページ メインカルーセルスライダー
----------------------------------------------------*/
/* トップページ　スライダータイトル */
h1.very-big {
    font-family: 'Lato', sans-serif;
    font-style: italic;
    font-size: 70px !important;
    line-height: 1.4em;
    margin-bottom: .4em;
}

/* -------------------------------------------------
    トップページ Service 製品・サービス
----------------------------------------------------*/
/* ----- 製品サービス ボックス ----- */
.service-box {
    position: relative;
    display: block;
    width: 100%;
    height: auto;
    height: auto;
    overflow: hidden;
}

.service-box__inner {
    display: block;
    max-width: 760px;
    margin: auto;
    padding: 0;
    position: relative;
}

/* ----- 製品サービス ボックスのイメージ画像 ----- */
/* ----- クリエイティブ ----- */
#service-box__creative {
    background-image: url('../img/front-page/top-service-box__01_bg.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
}

#service-box__creative--hover {
    background-image: url('../img/front-page/top-service-box__01_bg_hover.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
}

/* ----- 動画事業 ----- */
#service-box__movie {
    background-image: url('../img/front-page/top-service-box__02_bg.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
}

#service-box__movie--hover {
    background-image: url('../img/front-page/top-service-box__02_bg_hover.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
}

/* ----- 企業情報 ----- */
#service-box__corporate {
    background-image: url('../img/front-page/top-service-box__03_bg.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
}

#service-box__corporate--hover {
    background-image: url('../img/front-page/top-service-box__03_bg_hover.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
}

/* ----- オンデマンド ----- */
#service-box__ondemand {
    background-image: url('../img/front-page/top-service-box__04_bg.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
}

#service-box__ondemand--hover {
    background-image: url('../img/front-page/top-service-box__04_bg_hover.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
}

/* ----- 印刷媒体 ----- */
#service-box__print {
    background-image: url('../img/front-page/top-service-box__05_bg.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
}

#service-box__print--hover {
    background-image: url('../img/front-page/top-service-box__05_bg_hover.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
}

/* ----- 工場設備 ----- */
#service-box__facility {
    background-image: url('../img/front-page/top-service-box__06_bg.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
}

#service-box__facility--hover {
    background-image: url('../img/front-page/top-service-box__06_bg_hover.jpg');
    background-position: right bottom;
    background-repeat: no-repeat;
    background-attachment: scroll;
    background-size: contain;
}

/* ----- 製品サービス マウスオーバーアクション ----- */
.service-box span:nth-child(2) {
    margin: 0;
    padding: 0;
    transition: 0.5s ease;
    position: absolute;
    display: block;
    bottom: -100%;
    width: 100%;
    height: 100%;
    opacity: 1;
    z-index: 10;
}

.service-box span:nth-child(1) {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.service-box:hover span:nth-child(2) {
    bottom: 0;
    opacity: 1;
}

.service-box:hover span:nth-child(1) {
    opacity: 1;
    top: -100%;
    width: 100%;
    height: 100%;
}

/* ----- 製品サービス Box - タイトル ----- */
.service-box__title {
    opacity: 0.8;
    display: block;
    position: absolute;
    left: 15px;
    top: 15px;
}

.service-box__title__eng {
    font-family: 'Lato', sans-serif;
    font-style: italic;
    font-weight: 400;
    font-size: 3em;
    display: block !important;
}

.service-box__title__cap {
    font-size: 1.1em;
    margin-left: 3px;
    font-weight: bold;
}

/* ----- 製品サービス Box - 続きを読むボタン ----- */
.service-box__btn {
    font-weight: bold;
    font-size: 1.1em;
    position: absolute;
    left: 15px;
    bottom: 5px;
}

/* ---------- 製品サービス Box - マウスオーバー状態 ---------- */
.service-box__title--over {
    border: solid 1px #fff;
    padding: 15px;
    font-size: 2em;
    line-height: 1.4;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width: 400px;
    height: 120px;
}

.service-box__creative {
    background-color: rgba(232, 88, 102, .7);
}

/* -------------------------------------------------
    トップページ News 製品・サービス
----------------------------------------------------*/
/* トップ新着記事 */
#NEWS .news-list-wrap {
    margin-top: -20px;
    padding-bottom: 0;
}

/* ----- NEWS マウスオーバーアクション用 -----*/
.news-box li a {
    position: relative;
    display: block;
}

.news-box li a:nth-child(2)::after {
    content: '';
    position: absolute;
    display: block;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    transition: 0.3s ease;
    -webkit-transform: scale(0.5);
    transform: scale(0.5);
}

.news-box li a:nth-child(2):hover::after {
    background: rgba(22, 83, 137, 0.8);
    opacity: 0.6;
    -webkit-transform: scale(1);
    transform: scale(1);
}

.news-box li a:nth-child(2)::before {
    z-index: 100;
    content: '続きを読む';
    position: absolute;
    color: #fff;
    border: solid 1px #fff;
    top: 0px;
    right: 0px;
    bottom: 0px;
    left: 0px;
    margin: auto;
    width: 120px;
    height: 40px;
    padding: 5px 10px;
    transition: 0.5s;
    text-align: center;
    opacity: 0;
    font-size: 1.2em
}

.news-box li a:nth-child(2):hover::before {
    display: block;
    opacity: 1;
}

/* -------------------------------------------------
    トップページ INFORMATION 会社情報
----------------------------------------------------*/
/* 会社情報 バナー */
.info-img-wrap {
    margin: 0 7px 15px 7px;
}

.info-img-wrap a {
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
    transition: all 0.3s ease;
}

.info-img-wrap a:hover {
    opacity: 0.6;
}

/* -------------------------------------------------
    @メディアクエリ 991px以上
----------------------------------------------------*/
/* ----- NEWS メディアクエリ ----- */
@media (min-width: 991px) {
    .news-list-wrap {
        width: 100%;
        margin: auto;
    }


}



/* -------------------------------------------------
    @メディアクエリ 991px以下
----------------------------------------------------*/

@media (max-width: 991px) {

    .longimg {
        width: 100%;
    }

    .longimgtext {
        position: relative;

        left: 0;
        bottom: 0rem;
        padding: 0rem;
        width: 100%;
        background: none;
    }

    .longimgarea {
        margin-bottom: 5rem;
    }

    .litxt {
        width: 100%;
    }


    .nextstage {
        top: -13px;
    }


    


    #Top-page .PR-ImgArea__box {
        width: 48%;
        margin-bottom: 3rem;
    }


    .ninsho-logo {
        flex-wrap: wrap;
        gap: 0;
    }

    .logomark {
        width: 100%;
    }
	
	.table_box.scope1_table{
		display: block;
	}
	
	
	.scope1_table .ev_table:first-child{
		margin-bottom:4rem;
	}
	


	


}







/* -------------------------------------------------
    @メディアクエリ 768px以下
----------------------------------------------------*/
/* ----- NEWS メディアクエリ ----- */
@media (max-width: 880px) {

    .joinus img {
        width: 400px;
    }

    .joinus_bottom img {
        width: 400px;
    }



    .joinus {
        margin-bottom: -78px;
        opacity: 0;
    }

    .joinus_bottom {
        margin-top: -75px;
        opacity: 0;
    }



    .joinus.visible {
        animation-name: juHead;
        animation-duration: 1s;
        animation-delay: .4s;
        animation-timing-function: cubic-bezier(0, .82, .68, .98);
        animation-fill-mode: forwards;
        content: "";
        z-index: 999;
    }


    @keyframes juHead {
        0% {
            opacity: 0;
            transform: translateX(280px);
        }

        100% {
            opacity: 1;
            margin-bottom: -38px;
            transform: translateX(0px);
        }
    }


    .joinus_bottom.visible {
        animation-name: juBottom;
        animation-duration: 1s;
        animation-delay: .4s;
        animation-timing-function: cubic-bezier(0, .82, .68, .98);
        animation-fill-mode: forwards;
        content: "";
    }

    @keyframes juBottom {
        0% {
            opacity: 0;
            transform: translateX(-280px);

        }

        100% {
            opacity: 1;
            margin-top: -37px;
            transform: translateX(0px);
        }
    }






}




/* -------------------------------------------------
    @メディアクエリ 768px以下
----------------------------------------------------*/
/* ----- NEWS メディアクエリ ----- */
@media (max-width: 768px) {

    .mediabox:not(:first-child) {
        margin-top: 52px;
    }




    .link-button--pandora span {
        padding: 1rem 2rem;

    }

    .sbt_logo {
        width: 100%;
        height: auto;

    }

    .sbt_syutoku {
        width: 100%;
        height: auto;
    }





}




/* -------------------------------------------------
    @メディアクエリ 767px以下
----------------------------------------------------*/
@media (max-width: 767px) {
    #Top-page .PR-ImgArea__box-inner {
        padding: 15px 20px 10px 20px !important;
    }

    #NEWS {

        display: block;
    }


    .fluid-block {
        position: absolute;
        top: 2%;
        width: 210px;
        height: 210px;
    }



    #SERVICE {
        padding: 40px 0 8rem 0;
        display: block;
    }

    #CORPORATE-top {
        padding: 40px 0 40px 0;
        display: block;
    }

    #CSR {
        padding: 40px 0 100px 0;
    }

    #Top-page .title__lead {
        font-size: 1.1em;
        padding: 0 10px;
    }

    #CSR .flex-box-between,
    #CORPORATE-top .flex-box-between {
        display: block;
    }

    #Top-page .PR-ImgArea__box {
        width: 100%;
    }



    .media__lst {

        padding: 0 0;
    }


    .esg_btn {
        justify-content: space-around;
    }

    .table_box {
        flex-wrap: wrap;
    }

    .table_box {
        padding-top: 3rem;
        gap: 2rem;
    }


.ev_table {
    width:100%;
	max-width:600px;
}
	
	#scope2 .title__lead{
		margin-bottom:0;
	}
	
	
	.scope2_secondline{
	margin-top:80px;
}
	
	.scope2_teian{
	margin-top:50px;
}
	
	.scope_gap {
    padding-right: 0;
}
	

}

/* -------------------------------------------------
    @メディアクエリ 574px以下
----------------------------------------------------*/
@media (max-width: 574px) {

    /* ----- トップページ CSR -----*/
    .prBlock .prBlock_image {
        width: 100%;
        border-radius: 0;
    }

    #Top-page #NEWS .news-list-wrap {
        padding: 0.5em;
    }

    #Top-page #NEWS .news-box-wrap {
        padding: 0.5em;
    }

    /* ----- トップページ INFORMATION 会社情報 -----*/
    .info-img-wrap {
        margin: 0;
        padding: 5px 0;
    }

    /* ----- NEWS エリア ----- */
    #Top-page #NEWS {
        background-color: #fff;
    }







}




/* -------------------------------------------------
    @メディアクエリ 574px以下
----------------------------------------------------*/
@media (max-width: 500px) {


    .joinus img {
        width: 340px;
    }

    .joinus_bottom img {
        width: 340px;
    }



    .joinus {
        margin-bottom: -85px;
        opacity: 0;
    }

    .joinus_bottom {
        margin-top: -85px;
        opacity: 0;
    }



    .joinus.visible {
        animation-name: juHead;
        animation-duration: 0.8s;
        animation-delay: .4s;
        animation-timing-function: cubic-bezier(0, .82, .68, .98);
        animation-fill-mode: forwards;

        content: "";
        z-index: 999;
    }

    @keyframes juHead {
        0% {
            opacity: 0;
            margin-bottom: -85px;
            transform: translateX(880px);
        }

        100% {
            opacity: 1;
            margin-bottom: -33px;
            transform: translateX(0px);
        }
    }


    .joinus_bottom.visible {
        animation-name: juBottom;
        animation-duration: 0.8s;
        animation-delay: .4s;
        animation-timing-function: cubic-bezier(0, .82, .68, .98);
        animation-fill-mode: forwards;
        content: "";
        z-index: 1009;
    }

    @keyframes juBottom {
        0% {
            opacity: 0;
            margin-top: -85px;
            transform: translateX(-880px);

        }

        100% {
            opacity: 1;
            margin-top: -33px;
            transform: translateX(0px);
        }
    }

    .fadeout {
        diplay: none;
        opacity: 0;
        height: 1;
    }


    .esg_btn {
        gap: 2rem;
    }

    .esg_btn a {
        font-size: 1.8rem;
    }



}









/* -------------------------------------------------
    @メディアクエリ 575px以上
----------------------------------------------------*/
/* ----- CSR メディアクエリ ----- */
@media (min-width: 575px) and (max-width: 767px) {
    .prBlock .prBlock_image {
        width: 140px;
        height: 140px;
    }
}



@media (min-width: 768px) {
    .responsive-nav .sub-menu a {
        display: block;
    }
}



@media (max-width: 991px) {
    .sdgs_sengen {
        display: block;
    }


    .sdgs-logo img {
        width: 250px;
    }



}