@charset "utf-8";
/* CSS Document */

/* #topmain
----------------------------------------- */
#topmain {
	height : 100vh;
    /*height : calc(100vh - 7rem);*/
    z-index: 2;
    position: relative;
}

#topmain .inner {
	max-width: none;
	height: 100%;
}

#topmain .topmain_layout {
    width : 100%;
	height: 100%;
	position: relative;
}

#topmain .logo {
    position: absolute;
    bottom: 15rem;
    left: 8rem;
    z-index: 2;
    /*filter: drop-shadow(0px 0px 6px rgba(0, 0, 0, 0.30)) drop-shadow(0px 0px 2px rgba(0, 0, 0, 0.40));*/
}
#topmain .logo img {
    animation-name: logo_img_anim;
    animation-duration: 1s;
    animation-fill-mode: forwards;
    animation-delay: 1.5s;
    opacity:0;
    object-position: top left;
    object-fit: contain;
}
@keyframes logo_img_anim{
  from {
      transform: translateX(0);
      filter: blur(1rem);
      opacity: 0;
  }

  to {
      transform: translateX(0);
      filter: blur(0);
      opacity: 1;
  }
}

#topmain .visual_wrap {
    width : 100%;
	height: 100%;
}
#topmain .visual_wrap img {
    width : 100%;
	height: 100%;
    object-fit: cover;
}

#topmain .pickup_news_wrap {
    position: absolute;
    z-index: 2;
    bottom: 4.5rem;
    left: 8rem;
    max-width: calc(100% - 16rem);
}
#topmain .pickup_news_wrap .pickup_news {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    grid-gap: 1rem 1rem;
}
#topmain .pickup_news_wrap .pickup_news > li {
    background-color: #FFFFFF;
    border-radius: 10rem;
    padding: 0.5rem 2rem;
}
#topmain .pickup_news_wrap .pickup_news a {
    display: flex;
    align-items: center;
    grid-gap: 0 2rem;
}
#topmain .pickup_news_wrap .pickup_news a .date {
    font-size: 1.2rem;
}
#topmain .pickup_news_wrap .pickup_news a .ttl {
    font-size: 1.5rem;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}

#topmain .scroll_down {
    position: absolute;
    z-index: 2;
    bottom: 2rem;
    right: 2.5rem;
}
#topmain .scroll_down a {
    display: flex;
    flex-flow: column;
    align-items: center;
    grid-gap: 1rem 0;
    font-size: 1.2rem;
    line-height: 1;
}
#topmain .scroll_down a img {
    transition: all .6s;
}
#topmain .scroll_down a:hover img {
    transform: translateY(0.5rem);
}


@media only screen and (max-width: 768px) {
#topmain {
	height: auto;
    position: relative;
}
#topmain .topmain_layout {
    height : 100vh;
    height : calc(var(--vh2, 1vh) * 100);
}
#topmain .logo {
    bottom: 10rem;
    left: 3rem;
}

#topmain .scroll_down {
    bottom: 5.5rem;
    right: 2rem;
}
    
#topmain .pickup_news_wrap {
    position: absolute;
    bottom: 1rem;
    left: 0;
    width: 100%;
    max-width: 100%;
}
#topmain .pickup_news_wrap .pickup_news {
    grid-gap: 0.5rem 0;
}
#topmain .pickup_news_wrap .pickup_news > li {
    width: calc(100% - 2rem);
    margin: auto;
    background-color: #FFFFFF;
    /*border-radius: 0;*/
    padding: 0.5rem 1.5rem;
}
#topmain .pickup_news_wrap .pickup_news > li:not(:first-child) {
    display: none;
}
#topmain .pickup_news_wrap .pickup_news a {
    grid-gap: 0 1.5rem;
}
#topmain .pickup_news_wrap .pickup_news a .date {
    font-size: 1.2rem;
}
#topmain .pickup_news_wrap .pickup_news a .ttl {
    font-size: 1.5rem;
    overflow: hidden;
    display: -webkit-box;
    text-overflow: ellipsis;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 1;
}
}


/* #about
----------------------------------------- */
#about {
}

#about .inner {
    padding-top: 16rem;
    padding-bottom: 8rem;
}

#about .layout {
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}
#about .layout > h2.ttl {
    font-size: 2.8rem;
    line-height: calc(40/28);
    font-weight: 700;
    text-align: center;
}
#about .layout > .txt {
    font-size: 1.8rem;
    line-height: calc(42/18);
    letter-spacing: 0.02em;
    text-align: center;
    margin-top: 5rem;
}
#about .layout > .btn_wrap {
    margin-top: 4rem;
}

@media only screen and (max-width: 768px) {
#about .inner {
    padding-top: 9rem;
    padding-bottom: 8rem;
}

#about .layout {
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    justify-content: flex-start;
}
#about .layout > .txt {
    font-size: 1.8rem;
    line-height: calc(36/18);
    letter-spacing: 0;
    text-align: left;
    margin-top: 4rem;
}
#about .layout > .btn_wrap {
    margin: auto;
    margin-top: 5rem;
}
}


/* #movie
----------------------------------------- */
#movie .inner {
    padding-top: 8rem;
    padding-bottom: 12rem;
}

#movie .layout {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    grid-gap: 4rem 2.5rem;
}
#movie .layout .con {
    display: flex;
    flex-flow: column;
    align-items: center;
}
#movie .layout .con .play_movie {
}
#movie .layout .con .play_movie a {
    display: flex;
    position: relative;
    z-index: 1;
    border-radius: 2rem;
    overflow: hidden;
}
#movie .layout .con .play_movie a:hover {
    opacity: 1;
}
#movie .layout .con .play_movie a .img_wrap {
    width: 100%;
    aspect-ratio: 360 / 240;
    position: relative;
    z-index: 1;
}
#movie .layout .con .play_movie a .img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /*position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);*/
    transition: all .6s;
}
#movie .layout .con .play_movie a:hover .img_wrap img {
    transform: scale(1.08);
}
#movie .layout .con .play_movie a .img_wrap::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #CCCCCC;
    position: absolute;
    mix-blend-mode: multiply; 
    top: 0;
    left: 0;
    transition: all .6s;
    z-index: 2;
}
#movie .layout .con .play_movie a:hover .img_wrap::before {
    background: #dddddd;
}
#movie .layout .con .play_movie a .btn_wrap {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    z-index: 2;
}
#movie .layout .con .play_movie a:hover .btn_wrap .btn.reverse {
    background-color: #FFFFFF;
}
#movie .layout .con .play_movie a:hover .btn_wrap .btn.reverse span {
    color: #000000;
}
#movie .layout .con .play_movie a:hover .btn_wrap .btn::after {
    transform: translate(30%,-50%);
}

#movie .layout .con .txt_wrap .number {
    font-size: 1.3rem;
    line-height: 1;
    letter-spacing: 0.02em;
    text-align: center;
    margin-top: 1.5rem;
}
#movie .layout .con .txt_wrap .ttl {
    font-size: 1.8rem;
    line-height: calc(24/18);
    letter-spacing: 0.02em;
    text-align: center;
    margin-top: 1rem;
}

@media only screen and (max-width: 768px) {
#movie .inner {
    padding-top: 8rem;
    padding-bottom: 12rem;
}

#movie .layout {
    display: grid;
    grid-template-columns: repeat(1,100%);
    grid-gap: 3rem 0;
}
#movie .layout .con {
    display: flex;
    flex-flow: column;
    align-items: center;
}
}


/* #initiatives
----------------------------------------- */
#initiatives {
    position: relative;
}
#initiatives .inner {
    max-width: none;
    padding-top: 0;
    padding-bottom: 0;
    position: relative;
    z-index: 1;
}
#initiatives .initiatives_ttl_wrap {
    position: absolute;
    top: 50vh;
    transform: translateY(-50%);
    left: 18rem;
    z-index: 5;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list {
    display: flex;
    flex-flow: column;
    grid-gap: 6rem 0;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li {
    position: relative;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li a:hover {
    opacity: 1;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li a:hover .no::before {
    opacity: 1;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li .no {
    position: absolute;
    top: -2.5rem;
    left: -4rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    
    font-size: 1.4rem;
    color: #FFFFFF;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li .no::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #FFFFFF;
    border-radius: 50%;
    box-sizing: border-box;
    transition: all .6s;
    opacity: 0;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li.is-show .no::before {
    opacity: 1;
}

#initiatives .post_list_wrap.initiatives { 
}
#initiatives .post_list_wrap.initiatives .post_list {
}
#initiatives .post_list_wrap.initiatives .post_list > li {
    width: 100%;
    height: 100vh;
    position: relative;
    z-index: 1;
}
/*#initiatives .post_list_wrap.initiatives .post_list > li .layout {
    position: absolute;
    top: 50%;
    right: 10%;
    transform: translate(0,-50%);
    display: flex;
    justify-content: space-between;
    width: 67.5rem;
}
#initiatives .post_list_wrap.initiatives .post_list > li .layout .img_wrap {
    width: calc(305/675*100%);
}
#initiatives .post_list_wrap.initiatives .post_list > li .layout .txt_wrap {
    width: calc(300/675*100%);
    color: #FFFFFF;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}
#initiatives .post_list_wrap.initiatives .post_list > li .layout .txt_wrap h3.ttl {
    font-size: 1.8rem;
    line-height: calc(21.6/18);
    font-weight: 700;
    margin-top: 2.8rem;
}
#initiatives .post_list_wrap.initiatives .post_list > li .layout .txt_wrap > .txt {
    font-size: 1.6rem;
    line-height: calc(30/16);
    letter-spacing: 0.02em;
    margin-top: 2rem;
}
#initiatives .post_list_wrap.initiatives .post_list > li .layout .txt_wrap > .txt br {
    display: none;
}
#initiatives .post_list_wrap.initiatives .post_list > li .layout .txt_wrap .btn_wrap {
    margin-top: auto;
    padding-top: 2rem;
}*/


#initiatives .initiatives_img_wrap {
    width: 30.5rem;
    position: absolute;
    top: 50vh;
    transform: translateY(-50%);
    right: 53.5rem;
    z-index: 3;
}
#initiatives .initiatives_img_scroll {
    width: 100%;
    /*height: 100%;*/
    aspect-ratio: 305 / 415;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-flow: column-reverse;
}
#initiatives .initiatives_img_wrap .img_wrap {
    width: 100%;
    position: absolute;
    top: 0;
    left: 0;
}
#initiatives .initiatives_img_wrap .img_wrap::after {
    content: '';
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    background-color: #000000;
}
#initiatives .initiatives_img_wrap .initiative_img_1 {
    z-index: 1
}
#initiatives .initiatives_img_wrap .initiative_img_2 {
    z-index: -2
}
#initiatives .initiatives_img_wrap .initiative_img_3 {
    z-index: -3
}
#initiatives .initiatives_img_wrap .initiative_img_4 {
    z-index: -4
}
#initiatives .initiatives_img_wrap .initiative_img_5 {
    z-index: -5
}
#initiatives .initiatives_img_wrap .initiative_img_6 {
    z-index: -6
}
#initiatives .initiatives_img_wrap .img_wrap:not(:first-child) {
}
#initiatives .initiatives_img_wrap .initiative_img {
}
#initiatives .initiatives_img_wrap .initiative_img.is-show {
    opacity: 1;
    z-index: 2;
}

#initiatives .initiatives_txt_wrap {
    width: 30rem;
    position: absolute;
    top: 50vh;
    transform: translateY(-50%);
    right: 16.5rem;
    z-index: 3;
}
#initiatives .initiatives_txt_wrap .txt_wrap {
    color: #FFFFFF;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}
#fixed-wrap:not(.is-active):not(.is-active2) #initiatives .initiatives_txt_wrap .txt_wrap.is-show2 {
    opacity: 1;
}
#initiatives .initiatives_txt_wrap .txt_wrap:not(.is-show):first-child {
    opacity: 0;
}
#initiatives .initiatives_txt_wrap .txt_wrap:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: -1;
}
#initiatives .initiatives_txt_wrap .txt_wrap.is-show {
    opacity: 1;
    z-index: 2;
}
#initiatives .initiatives_txt_wrap .txt_wrap.is-show.is-show2 {
    /*opacity: 1;*/
}

#initiatives .initiatives_txt_wrap .txt_wrap h3.ttl {
    font-size: 1.8rem;
    line-height: calc(21.6/18);
    font-weight: 700;
    margin-top: 2.8rem;
    
}
#initiatives .initiatives_txt_wrap .txt_wrap > .txt {
    font-size: 1.6rem;
    line-height: calc(30/16);
    letter-spacing: 0.02em;
    margin-top: 2rem;
}
#initiatives .initiatives_txt_wrap .txt_wrap > .txt br {
    display: none;
}
#initiatives .initiatives_txt_wrap .txt_wrap .btn_wrap {
    /*margin-top: auto;
    padding-top: 2rem;*/
    margin-top: 5rem;
}

#fixed-wrap.is-active #initiatives .initiatives_txt_wrap .txt_wrap.is-show h3.ttl,
#fixed-wrap.is-active2 #initiatives .initiatives_txt_wrap .txt_wrap.is-show h3.ttl {
    animation-name: nitiative_txt;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    animation-delay: 0;
    opacity:0;
}
#fixed-wrap.is-active #initiatives .initiatives_txt_wrap .txt_wrap.is-show > .txt,
#fixed-wrap.is-active2 #initiatives .initiatives_txt_wrap .txt_wrap.is-show > .txt {
    animation-name: nitiative_txt;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    animation-delay: 0.2s;
    opacity:0;
}
#fixed-wrap.is-active #initiatives .initiatives_txt_wrap .txt_wrap.is-show .btn_wrap,
#fixed-wrap.is-active2 #initiatives .initiatives_txt_wrap .txt_wrap.is-show .btn_wrap {
    animation-name: nitiative_txt;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    animation-delay: 0.4s;
    opacity:0;
}
@keyframes nitiative_txt {
  from {
      transform: translateY(-2rem);
      filter: blur(1rem);
      opacity: 0;
  }

  to {
      transform: translateY(0);
      filter: blur(0);
      opacity: 1;
  }
}

#conWrap #initiatives > .sec_fix_ttl .sec_ttl {
    color: #FFFFFF;
}
#conWrap #initiatives > .sec_fix_ttl .sec_ttl:after {
    background-color: #FFFFFF;
}

@media only screen and (max-width: 768px) {
#initiatives .initiatives_ttl_wrap {
    width: 38rem;
    position: absolute;
    top: 12rem;
    transform: translate(0,0);
    left: auto;
    right: 2rem;
    z-index: 5;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list {
    display: flex;
    flex-flow: column;
    grid-gap: 5.5rem 0;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li {
    position: relative;
    margin-left: 2.5rem;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li::before {
    content: '';
    display: block;
    width: 1.5rem;
    height: 1px;
    background-color: #FFFFFF;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0,-50%);
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li::after {
    content: '';
    display: block;
    width: 1.5rem;
    height: 1px;
    background-color: #FFFFFF;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0,-50%) rotate(90deg);
    transition: all .3s;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li.is-show::after {
    opacity: 0;
}
    
    
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li a {
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li a:hover {
    opacity: 1;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li a:hover .no::before {
    opacity: 1;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li .no {
    position: absolute;
    top: -2.5rem;
    left: -3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    
    font-size: 1.4rem;
    color: #FFFFFF;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li .no::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #FFFFFF;
    border-radius: 50%;
    box-sizing: border-box;
    transition: all .6s;
    opacity: 0;
}
#initiatives .initiatives_ttl_wrap .initiatives_ttl_list > li.is-show .no::before {
    opacity: 1;
}

#initiatives .post_list_wrap.initiatives { 
}
#initiatives .post_list_wrap.initiatives .post_list {
    width: 100%;
    height: auto;
    position: relative;
    padding: 2rem 0;
}
/*#initiatives .post_list_wrap.initiatives .post_list > li {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}*/
#initiatives .post_list_wrap.initiatives .post_list > li {
    width: 100%;
    height: 100%;
    padding: 2.5rem 0;
}

#initiatives .post_list_wrap.initiatives .post_list > li .initiative_ttl {
    width: 35.5rem;
    position: relative;
    margin: auto;
    margin-right: 2rem;
    cursor: pointer;
}
#initiatives .post_list_wrap.initiatives .post_list > li .initiative_ttl::before {
    content: '';
    display: block;
    width: 1.5rem;
    height: 1px;
    background-color: #FFFFFF;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0,-50%);
}
#initiatives .post_list_wrap.initiatives .post_list > li .initiative_ttl::after {
    content: '';
    display: block;
    width: 1.5rem;
    height: 1px;
    background-color: #FFFFFF;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0,-50%) rotate(90deg);
    transition: all .3s;
}
#initiatives .post_list_wrap.initiatives .post_list > li.is-show .initiative_ttl::after {
    opacity: 0;
}
    

#initiatives .post_list_wrap.initiatives .post_list > li .initiative_ttl .no {
    position: absolute;
    top: -2.5rem;
    left: -3.5rem;
    display: flex;
    align-items: center;
    justify-content: center;
    width: 3rem;
    height: 3rem;
    
    font-size: 1.4rem;
    color: #FFFFFF;
}
#initiatives .post_list_wrap.initiatives .post_list > li .initiative_ttl .no::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    border: 1px solid #FFFFFF;
    border-radius: 50%;
    box-sizing: border-box;
    transition: all .6s;
    opacity: 0;
}
#initiatives .post_list_wrap.initiatives .post_list > li.is-show .initiative_ttl .no::before {
    opacity: 1;
}
    
#initiatives .post_list_wrap.initiatives .post_list > li .layout {
    display: flex;
    flex-flow: column;
    width: 30.5rem;
    margin: auto;
    padding: 3rem 0 0;
}
#initiatives .post_list_wrap.initiatives .post_list > li .layout .img_wrap {
    width: 100%;
}
#initiatives .post_list_wrap.initiatives .post_list > li .layout .txt_wrap {
    width: 100%;
    color: #FFFFFF;
    display: flex;
    flex-flow: column;
    align-items: flex-start;
    justify-content: center;
}
#initiatives .post_list_wrap.initiatives .post_list > li .layout .txt_wrap h3.ttl {
    font-size: 1.8rem;
    line-height: calc(21.6/18);
    font-weight: 700;
    margin-top: 2.8rem;
}
#initiatives .post_list_wrap.initiatives .post_list > li .layout .txt_wrap > .txt {
    font-size: 1.6rem;
    line-height: calc(30/16);
    letter-spacing: 0.02em;
    margin-top: 2rem;
}
#initiatives .post_list_wrap.initiatives .post_list > li .layout .txt_wrap > .txt br {
    display: none;
}
#initiatives .post_list_wrap.initiatives .post_list > li .layout .txt_wrap .btn_wrap {
    margin: auto;
    margin-top: auto;
    padding-top: 2rem;
}

    
#initiatives_img_wrap {
    padding-top: 12rem;
    margin-top: -12rem;
}
#initiatives .initiatives_img_wrap {
    width: 30.5rem;
    position: absolute;
    top: 67.5rem;
    transform: translate(50%,0);
    right: 50%;
    z-index: 3;
}
#initiatives .initiatives_img_scroll {
    width: 100%;
    /*height: 100%;*/
    aspect-ratio: 305 / 415;
    position: relative;
    overflow: hidden;
    display: flex;
    flex-flow: column-reverse;
}
#initiatives .initiatives_img_wrap .initiative_img {
    opacity: 0;
}

#initiatives .initiatives_txt_wrap {
    width: 30rem;
    position: absolute;
    top: 112rem;
    transform: translate(50%,0);
    right: 50%;
    z-index: 3;
}
#initiatives .initiatives_txt_wrap .txt_wrap {
    color: #FFFFFF;
    display: flex;
    flex-flow: column;
    align-items: center;
    justify-content: center;
}
#fixed-wrap:not(.is-active):not(.is-active2) #initiatives .initiatives_txt_wrap .txt_wrap.is-show2 {
    opacity: 0;
}
#initiatives .initiatives_txt_wrap .txt_wrap:not(.is-show):first-child {
    opacity: 0;
}
#initiatives .initiatives_txt_wrap .txt_wrap:not(:first-child) {
    position: absolute;
    top: 0;
    left: 0;
    opacity: 0;
    z-index: -1;
}
#initiatives .initiatives_txt_wrap .txt_wrap.is-show {
    opacity: 1;
    z-index: 2;
}
#initiatives .initiatives_txt_wrap .txt_wrap.is-show.is-show2 {
    /*opacity: 1;*/
}

#initiatives .initiatives_txt_wrap .txt_wrap h3.ttl {
    font-size: 1.8rem;
    line-height: calc(21.6/18);
    font-weight: 700;
    text-align: left;
    margin-top: 0;
    margin-right: auto;
    
}
#initiatives .initiatives_txt_wrap .txt_wrap > .txt {
    font-size: 1.6rem;
    line-height: calc(30/16);
    letter-spacing: 0.02em;
    margin-top: 2rem;
}
#initiatives .initiatives_txt_wrap .txt_wrap > .txt br {
    display: none;
}
#initiatives .initiatives_txt_wrap .txt_wrap .btn_wrap {
    margin-top: 5rem;
}
}


/* #fixed-wrap
----------------------------------------- */
#fixed-wrap {
  position: relative;
  height: 100%;
}
#fixed-bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: -1;
  width: 100%;
  height: 100%;
  max-height: 100vh;
  background: url("../images/initiatives/main_img_bg_9.jpg") no-repeat center center / cover;
}
#fixed-bg .bg_img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0;
  transition: all .3s;
}
#fixed-bg .bg_img.is-show {
  z-index: 1;
  opacity: 1;
}


#fixed-wrap.is-active {
  height: 100%;
}
#fixed-wrap.is-active2 {
}
#fixed-wrap.is-active #fixed-bg {
  position: fixed;
  bottom: 0;
  top: auto;
  left: 50%;
}
#fixed-wrap.is-active #initiatives .initiatives_ttl_wrap {
    position: fixed;
}
#fixed-wrap.is-active #initiatives .initiatives_img_wrap {
    position: fixed;
}
#fixed-wrap.is-active #initiatives .initiatives_txt_wrap {
    position: fixed;
}

#fixed-wrap.is-active2 #fixed-bg {
  position: absolute;
  bottom: 0;
  top: auto;
  left: 50%;
}
#fixed-wrap.is-active2 #initiatives .initiatives_ttl_wrap {
    position: absolute;
    height: 100vh;
    display: flex;
    align-items: center;
    top: auto;
    bottom: 0;
    transform: translateY(0);
    left: 18rem;
    z-index: 3;
}
#fixed-wrap.is-active2 #initiatives .initiatives_img_wrap {
    position: absolute;
    height: 100vh;
    display: flex;
    align-items: center;
    top: auto;
    bottom: 0;
    transform: translateY(0);
    right: 53.5rem;
    z-index: 3;
}
#fixed-wrap.is-active2 #initiatives .initiatives_img_wrap .initiatives_img_scroll {
    position: absolute;
    top: 50vh;
    transform: translateY(-50%); 
}
#fixed-wrap.is-active2 #initiatives .initiatives_txt_wrap {
    position: absolute;
    height: 100vh;
    display: flex;
    align-items: center;
    top: auto;
    bottom: 0;
    transform: translateY(0);
    right: 16.5rem;
    z-index: 3;
}
#fixed-wrap.is-active2 #initiatives .initiatives_txt_wrap .txt_wrap {
    top: 50vh;
    transform: translateY(-50%); 
}


@media only screen and (max-width: 768px) {
#fixed-wrap {
  position: relative;
  height: 100%;
}
#fixed-bg {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  z-index: -1;
  width: 100%;
  /*height: 160rem;*/
  height: 100%;
  max-height: none;
  background: url("../images/initiatives/main_img_bg_9.jpg") no-repeat center center / cover;
}
#fixed-bg .bg_img {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, 0);
  width: 100%;
  height: 100%;
  z-index: -1;
  opacity: 0;
  transition: all .3s;
    
}
#fixed-bg .bg_img.is-show {
  z-index: 1;
  opacity: 1;
}
#fixed-bg .bg_img.show {
  z-index: 1;
  opacity: 1;
}
}

/* #report_feed
----------------------------------------- */
#report_feed {
}
#report_feed .inner {
    padding-top: 18rem;
    padding-bottom: 9rem;
    margin-bottom: 0;
}

@media only screen and (max-width: 768px) {
#report_feed .inner {
    padding-top: 10rem;
    padding-bottom: 8rem;
}

}


/* #news_feed
----------------------------------------- */
#news_feed {
}
#news_feed .inner {
    padding-top: 9rem;
    padding-bottom: 8rem;
    position: relative;
    z-index: 1;
}

#news_feed .inner > .btn_wrap {
    margin-top: 6rem;
}

@media only screen and (max-width: 768px) {
#news_feed .inner {
    max-width: 37rem;
    margin-right: 2rem;
    padding-top: 8rem;
    padding-bottom: 8rem;
}
    
#news_feed .post_list_wrap.news {
    padding-top: 3rem;
}

}


/* #special_contents
----------------------------------------- */
#special_contents {
}

#special_contents .inner {
    padding-top: 8rem;
    margin-bottom: 18rem;
}

#special_contents .layout {
    display: grid;
    grid-template-columns: repeat(2,1fr);
    grid-gap: 4rem 2.5rem;
}
#special_contents .layout .con {
    display: flex;
    flex-flow: column;
    align-items: center;
}
#special_contents .layout .con a {
    display: flex;
    position: relative;
    z-index: 1;
    border-radius: 2rem;
    overflow: hidden;
}
#special_contents .layout .con a:hover {
    opacity: 1;
}
#special_contents .layout .con a .img_wrap {
    width: 100%;
    aspect-ratio: 550 / 385;
    position: relative;
    z-index: 1;
}
#special_contents .layout .con a .img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /*position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);*/
    transition: all .6s;
}
#special_contents .layout .con a:hover .img_wrap img {
    transform: scale(1.08);
}
/*#movie .layout .con .play_movie a .img_wrap::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #CCCCCC;
    position: absolute;
    mix-blend-mode: multiply; 
    top: 0;
    left: 0;
    transition: all .6s;
    z-index: 2;
}
#movie .layout .con .play_movie a:hover .img_wrap::before {
    background: #dddddd;
}*/
#special_contents .layout .con a .btn_wrap {
    position: absolute;
    bottom: 2rem;
    right: 2rem;
    z-index: 2;
}
#special_contents .layout .con a:hover .btn_wrap .btn.reverse {
    background-color: #FFFFFF;
}
#special_contents .layout .con a:hover .btn_wrap .btn.reverse span {
    color: #000000;
}
#special_contents .layout .con a:hover .btn_wrap .btn::after {
    transform: translate(30%,-50%);
}

#special_contents .layout .con a .txt_wrap {
    position: absolute;
    bottom: 2.5rem;
    left: 3rem;
    z-index: 2;
    color: #FFFFFF;
}
#special_contents .layout .con a .txt_wrap .ttl {
    font-size: 2.8rem;
    line-height: calc(33.6/28);
    letter-spacing: 0.06em;
}
#special_contents .layout .con a .txt_wrap .txt {
    font-size: 1.5rem;
    line-height: calc(23/15);
    letter-spacing: 0.06em;
    margin-top: 2rem;
}

@media only screen and (max-width: 768px) {
#special_contents .inner {
    margin-right: 2rem;
    padding-top: 0;
    margin-bottom: 16rem;
}

#special_contents .layout {
    display: grid;
    grid-template-columns: repeat(1,100%);
    grid-gap: 6rem 0;
}
#special_contents .layout .con {
    display: flex;
    flex-flow: column;
    align-items: center;
}
#special_contents .layout .con a {
    flex-flow: column;
    border-radius: 2rem;
    overflow: hidden;
}
#special_contents .layout .con a:hover {
    opacity: 1;
}
#special_contents .layout .con a .img_wrap {
    aspect-ratio: 350 / 245;
    border-radius: 2rem;
    overflow: hidden;
    
    order: 1;
}
#special_contents .layout .con a .img_wrap img {
    width: 100%;
    height: 100%;
    object-fit: cover;
    /*position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);*/
    transition: all .6s;
}
#special_contents .layout .con a:hover .img_wrap img {
    transform: scale(1.08);
}
/*#movie .layout .con .play_movie a .img_wrap::before {
    content: '';
    display: block;
    width: 100%;
    height: 100%;
    background: #CCCCCC;
    position: absolute;
    mix-blend-mode: multiply; 
    top: 0;
    left: 0;
    transition: all .6s;
    z-index: 2;
}
#movie .layout .con .play_movie a:hover .img_wrap::before {
    background: #dddddd;
}*/
#special_contents .layout .con a .btn_wrap {
    position: relative;
    bottom: auto;
    right: auto;
    z-index: 2;
    padding-right: 2.5rem;
    margin-top: 3rem;
    order: 3;
}
#special_contents .layout .con a .btn_wrap .btn.reverse {
    width: 28rem;
    height: 6rem;
    justify-content: flex-start;
    padding-left: 3.5rem;
    border: 1px solid #000000;
}
#special_contents .layout .con a .btn_wrap .btn.reverse span {
    font-size: 1.8rem;
    letter-spacing: 0.02em;
    color: #000000;
}
#special_contents .layout .con a .btn_wrap .btn.reverse::after {
    width: 5rem;
    right: -2.5rem;
    background-color: #000000;
}
    
#special_contents .layout .con a:hover .btn_wrap .btn.reverse {
    background-color: #000000;
}
#special_contents .layout .con a:hover .btn_wrap .btn.reverse span {
    color: #FFFFFF;
}
#special_contents .layout .con a:hover .btn_wrap .btn::after {
    transform: translate(30%,-50%);
}

#special_contents .layout .con a .txt_wrap {
    position: relative;
    bottom: auto;
    left: auto;
    z-index: 2;
    color: #000000;
    margin-top: -5rem;
    order: 2;
}
#special_contents .layout .con a .txt_wrap .ttl {
    font-size: 2.8rem;
    line-height: calc(33.6/28);
    letter-spacing: 0.06em;
    color: #FFFFFF;
    padding-left: 2rem;
}
#special_contents .layout .con a .txt_wrap .txt {
    font-size: 1.5rem;
    line-height: calc(23/15);
    letter-spacing: 0.06em;
    margin-top: 4rem;
}

}


/* modal-video
----------------------------------------- */
#top .modal-video-body {
    max-width: 130rem;
}
#top .modal-video-movie-wrap {
    position: inherit;
}
#top .modal-video-close-btn {
    top: -3rem;
    right: -5rem;
    cursor: pointer;
}
#top .modal-video-close-btn:before, 
#top .modal-video-close-btn:after {
    height: 1px;
}
#top .modal-video-close-btn:before {
    transform: rotate(20deg);
}
#top .modal-video-close-btn:after {
    transform: rotate(-20deg);
}

@media only screen and (max-width: 768px) {
#top .modal-video-close-btn {
    top: -5rem;
    right: 0;
}
}
