@charset "UTF-8";
#ca_storys {
  background: #FAFAFA;
}


/* block_story_introduction */
.block_story_introduction h2 {
  color: #fff;
  font-size: 5.8rem;
  text-shadow: 0 0 20px rgba(0,0,0,0.86);
  font-weight: bold;
  line-height: 1.3;
}
.block_story_introduction h2 + p {
  font-weight: bold;
  line-height: 1.88;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
  margin-top: 30px;
}
/*============================
PC
============================*/
@media screen and (min-width: 768px) {
  .block_story_introduction {
    background-color: #fff;
    background-image: url(/dam/brand/about/mufg_way_story/imgs/story2_bg02.jpg);
    background-repeat: no-repeat;
    background-position: center right;
    background-size: cover;
    box-shadow: 0 0 20px rgba(0,0,0,0.16);
    margin-inline: auto;
    margin-top: 130px;
    max-width: calc(100vw - 30px);
    height: 488px;
    padding: 35px 60px;
    position: relative;
    width: 1200px;
  }
  .block_story_introduction h2 + p {
    color: #fff;
    text-shadow: 0 0 20px rgba(0,0,0,0.86);
  }
  .ca_storys_kv_lead .block_story_introduction {
    background-image: url(/dam/brand/about/mufg_way_story/imgs/story1_bg02.jpg);
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .block_story_introduction {
    height: 32.4437vw;
    padding: 2.919vw 5.004vw;
  }
  .block_story_introduction h2 {
    font-size: 4.8373vw;
  }
  .block_story_introduction h2 + p {
    font-size: 1.5012vw;
    margin-top: 2.502vw;
  }
}
/*============================
SP
============================*/
@media screen and (max-width: 767px) {
  .block_story_introduction {
    padding: 80px 4.1025vw 0;
  }
  .block_story_introduction h2 {
    background-color: #fff;
    background-image: url(/dam/brand/about/mufg_way_story/imgs/story2_bg02.jpg);
    background-repeat: no-repeat;
    background-position: center right;
    background-size: cover;
    box-shadow: 0 0 20px rgba(0,0,0,0.16);
    font-size: 6.1538vw;
    height: 36.0256vw;
    padding: 2.0512vw 3.8461vw;
  }
  .block_story_introduction h2 + p {
    line-height: 1.875;
    font-size: 1.6rem;
    margin: 16px 16px 0;
  }
  .ca_storys_kv_lead .block_story_introduction h2 {
    height: 31.0256vw;
    background-image: url(/dam/brand/about/mufg_way_story/imgs/story1_bg02.jpg);
  }
}





/* voices */
.ca_storys_section.voices {
  padding-bottom: 110px;
}
.ca_storys_section.voices .ca_block_sort #categorymenu {
  margin: 35px auto 0;
  max-width: 1115px;
  padding-inline: 35px;
}
.ca_storys_section.voices .ca_block_sort #categorymenu .button_all {
  width: 227px;
}
.ca_storys_section.voices .ca_block_sort #categorymenu .button_all a {
  background: #E5E5E5;
  border-radius: 50px;
  display: block;
  font-weight: bold;
  line-height: 48px;
  text-align: center;
}
.ca_storys_section.voices .ca_block_sort #categorymenu .button_all.is-select a {
  background: #E60000 !important;
  color: #fff !important;
  pointer-events: none;
}
.ca_storys_section.voices .ca_block_sort #categorymenu .menu_list .text_head {
  font-size: 1.8rem;
  font-weight: bold;
  margin-top: 20px;
}
.ca_storys_section.voices .ca_block_sort #categorymenu .menu_list .text_head + * {
  margin-top: 15px !important;
}
.ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul li a {
  border-radius: 50px;
  display: block;
  line-height: 48px;
  font-weight: bold;
  letter-spacing: 0.1em;
  padding-inline: 25px;
  text-align: center;
}
.ca_storys_section.voices .ca_block_sort #categorymenu .button_all a.is-select,
.ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul li a.is-select {
  background: #E60000 !important;
  color: #fff !important;
  pointer-events: none;
}
/*============================
PC
============================*/
@media screen and (min-width: 768px) {
  .ca_storys_section.voices .ca_storys_section_inner {
    padding-inline: 0;
  }
  .ca_storys_section.voices .ca_block_sort .ca_block_sort_triger,
  .ca_storys_section.voices .ca_block_sort .ca_block_sort_menu_head {
    display: none;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .button_all a:hover {
    background: #ACACAC;
    color: #fff;
    opacity: 1;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul {
    background: #E5E5E5;
    border-radius: 50px;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    margin-top: 25px;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul li {
    min-width: 180px;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul li:nth-of-type(n+2) {
    margin-left: 35px;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul li a:hover {
    background: #ACACAC;
    color: #fff;
    opacity: 1;
  }
  .ca_storys_section.voices .ca_block_sort_overlay {
    display: none;
  }
} 
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .ca_storys_section.voices .ca_block_sort #categorymenu {
    padding-inline: 2.919vw;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .button_all {
    width: 18.9324vw;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .button_all a {
    font-size: 1.334vw;
    line-height: 4.003vw;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list .text_head {
    font-size: 1.5012vw;
    margin-top: 1.668vw;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list .text_head + * {
    margin-top: 1.251vw !important;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul {
    margin-top: 2.085vw;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul li {
    min-width: 15.0125vw;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul li:nth-of-type(n+2) {
    margin-left: 2.919vw;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul li a {
    font-size: 1.334vw;
    line-height: 4.003vw;
    padding-inline: 2.085vw;
  }
}
/*============================
SP
============================*/
@media screen and (max-width: 767px) {
  .ca_storys_section.voices {
    padding-bottom: 40px;
  }
  .ca_storys_section.voices .ca_block_sort {
    position: fixed;
    left: 0;
    bottom: 24px;
    z-index: 1;
  }
  .ca_storys_section.voices .ca_block_sort_triger {
    background: #E60000;
    border-radius: 0 30px 30px 0;
    color: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    font-size: 1.4rem;
    font-weight: bold;
    height: 60px;
    line-height: 1.4;
    padding-left: 75px;
    padding-right: 20px;
    position: relative;
    transition: 0.3s all;
    /* width: 187px; */
    z-index: 10;
  }
  .ca_storys_section.voices .ca_block_sort_triger:before {
    background-image: url(/dam/brand/about/mufg_way_story/my/imgs/icon_sort.png);
    background-repeat: no-repeat;
    background-position: left center;
    background-size: 100% auto;
    content: "";
    height: 22px;
    position: absolute;
    left: 20px;
    top: 50%;
    transform: translateY(-50%);
    width: 32px;
  }
  .ca_storys_section.voices .ca_block_sort.is-open .ca_block_sort_triger {
    transform: translateX(-187px);
  }
  .ca_storys_section.voices .ca_block_sort_menu {
    background: #E5E5E5;
    border-radius: 0 8px 8px 0;
    box-shadow: 0 0 20px rgba(0,0,0,0.16);
    height: calc(100vh - 160px);
    overflow-y: auto;
    padding: 0 16px 32px;
    position: absolute;
    bottom: 0;
    left: 0;
    transform: translateX(-350px);
    transition: 0.3s all;
    width: 330px;
    z-index: 10;
  }
  .ca_storys_section.voices .ca_block_sort.is-open .ca_block_sort_menu {
    transform: translateX(0);
  }
  .ca_storys_section.voices .ca_block_sort_menu_head {
    border-bottom: 1px solid #D3D3D3;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    align-items: center;
    height: 60px;
    position: relative;
  }
  .ca_storys_section.voices .ca_block_sort_menu_head .text_head {
    font-size: 1.4rem;
    font-weight: bold;
  }
  .ca_storys_section.voices .ca_block_sort_menu_head .menu_close {
    background-image: url(/dam/brand/about/mufg_way_story/imgs/icon_close_2.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100% auto;
    color: transparent;
    font-size: 0;
    height: 34px;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0;
    width: 34px;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu {
    margin-top: 24px;
    padding: 0;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .button_all {
    width: 100%;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .button_all a {
    background-color: #fff;
    font-size: 1.2rem;
    line-height: 40px;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list .text_head {
    font-size: 1.4rem;
    margin-top: 32px;
    margin-bottom: 15px;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    margin-top: 15px;
    margin-bottom: -24px;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul + ul {
    margin-top: 24px;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul > li {
    margin-bottom: 24px;
    width: 47.78%;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list .list_category .item_full_sp {
    width: 100%;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul li a {
    background: #fff;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
    font-size: 1.2rem;
    line-height: 1.5;
    height: 40px;
    padding-inline: 16px;
  }
  .ca_storys_section.voices .ca_block_sort #categorymenu .menu_list ul li a span {
    display: block;
  }
  .ca_storys_section.voices .ca_block_sort_overlay {
    height: 0;
    position: fixed;
    top: 0;
    left: 0;
    width: 0;
    z-index: -1;
  }
  .ca_storys_section.voices .ca_block_sort_overlay.is-open {
    height: 100vh;
    width: 100vw;
    z-index: 1;
  }
}


.ca_storys_section.voices #categorylist .categorylist_item {
  opacity: 0;
  transform: translateY(15px);
}
.ca_storys_section.voices #categorylist .categorylist_item.is-fadein {
  transition: 0.5s ease-in-out;
  opacity: 1;
  transform: translateY(0);
}



/* backtop */
.ca_storys_section.backtop {
  background: #fff;
  padding-top: 110px;
  padding-bottom: 60px;
}
.ca_storys_section.backtop .text_sitetitle {
  color: #E60000;
  font-size: 4.6rem;
  font-weight: bold;
  line-height: 1.2;
  text-align: center;
}
.ca_storys_section.backtop .text_sitetitle .text_english {
  font-weight: bold;
  font-size: 4.8rem;
}
.ca_storys_section.backtop .text_sitetitle .text_year {
  color: #B2B2B2;
  display: block;
  font-size: 3.2rem;
  font-weight: bold;
  margin-top: 5px;
}
.ca_storys_section.backtop .link_backtop {
  margin-top: 25px;
  text-align: center;
}
.ca_storys_section.backtop .link_backtop a {
  display: table;
  font-size: 1.6rem;
  font-weight: bold;
  margin-inline: auto;
}
.ca_storys_section.backtop .link_backtop a span {
  display: block;
  margin-left: -25px;
  padding-left: 50px;
  position: relative;
}
.ca_storys_section.backtop .link_backtop a span:before {
  background-image: url(/dam/brand/about/mufg_way_story/imgs/icon_arrow01.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  content: "";
  height: 36px;
  position: absolute;
  left: 0;
  top: 50%;
  transform: translateY(-50%) rotate(180deg);
  width: 35px; 
}
/*============================
PC
============================*/
@media screen and (min-width: 768px) {
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
}
/*============================
SP
============================*/
@media screen and (max-width: 767px) {
  .ca_storys_section.backtop {
    padding-top: 70px;
    padding-bottom: 70px;
  }
  .ca_storys_section.backtop .text_sitetitle {
    font-size: 3.2rem;
  }
  .ca_storys_section.backtop .text_sitetitle .text_english {
    font-size: 3.6rem;
  }
  .ca_storys_section.backtop .text_sitetitle .text_year {
    font-size: 2.2rem;
  }
}

/* story01 */
.ca_list_story {
  position: relative;
  margin-top: 30px;
}
.ca_list_story .block_story_content {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  margin: 0 auto;
  max-width: 1182px;
}
.ca_list_story .block_story_content_item > a {
  display: block;
  height: 100%;
}
.ca_list_story .block_story_content_item .text_number {
  font-weight: normal;
}
.ca_list_story .block_story_content_item .text_copy {
  color: #E60000;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1.5;
}
.ca_list_story .block_story_content_item .tag_category {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
}
.ca_list_story .block_story_content_item .tag_category > li {
  background-color: #fff;
  box-shadow: 0 3px 6px rgba(0,0,0,0.16);
  border-radius: 0 0 3px 3px;
  font-size: 1.4rem;
  line-height: 1.15;
  padding: 8px 8px 5px;
  text-align: center;
}
.ca_list_story .block_story_content_item .tag_category > li:nth-of-type(n+2) {
  margin-left: 8px;
}
.ca_list_story .block_story_content_item .text_title {
  font-weight: bold;
  margin-top: 20px;
}
.ca_list_story .block_story_content_item .text_title span {
  display: inline-block;
  padding-right: 50px;
  position: relative;
}
.ca_list_story .block_story_content_item .text_title span:after {
  background-image: url(/dam/brand/about/mufg_way_story/imgs/icon_arrow01.png);
  background-repeat: no-repeat;
  background-position: left top;
  background-size: 100% auto;
  content: "";
  height: 36px;
  position: absolute;
  right: 0;
  top: 50%;
  transform: translateY(-50%);
  width: 35px; 
}
/*============================
PC
============================*/
@media screen and (min-width: 768px) {
  .ca_list_story .block_story_content_item {
    padding: 0 1.0375%;
    margin-top: 50px;
    width: 33.33%;
  }
  .ca_list_story .block_story_content_item .item_card {
    border-radius: 10px;
    box-shadow: 0 0 10px rgba(0,0,0,0.16);
    overflow: hidden;
    position: relative;
    height: 435px;
  }
  .ca_list_story .block_story_content_item .text_number {
    position: absolute;
    top: 20px;
    left: 15px;
    z-index: 1;
  }
  .ca_list_story .block_story_content_item .text_copy {
    position: absolute;
    top: 60px;
    left: 15px;
    text-shadow: 0 0 8px #fff;
    width: calc(100% - 15px);
    z-index: 1;
  }
  .ca_list_story .block_story_content_item .tag_category {
    position: absolute;
    top: 0;
    right: 20px;
    z-index: 1;
  }
  .ca_list_story .block_story_content_item .image_thumb {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    height: 100%;
    width: 100%;
    z-index: 0;
  }
  .ca_list_story .block_story_content_item .image_thumb img {
    height: 100% !important;
    object-fit: cover;
    width: 100% !important;
  }
  .ca_list_story .button_link02 {
    margin-top: 50px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .ca_list_story .block_story_content_item .item_card {
    height: 36.2802vw;
  }
  .ca_list_story .block_story_content_item .text_number {
    top: 1.668vw;
    left: 1.251vw;
  }
  .ca_list_story .block_story_content_item .text_copy {
    font-size: 1.668vw;
    top: 5.004vw;
    left: 1.251vw;
    width: calc(100% - 2.502vw);
  }
  .ca_list_story .block_story_content_item .tag_category {
    right: 1.668vw;
  }
  .ca_list_story .block_story_content_item .tag_category > li {
    font-size: 1.1676vw;
    padding: 0.6672vw 0.6672vw 0.417vw;
  }
  .ca_list_story .block_story_content_item .tag_category > li:nth-of-type(n+2) {
    margin-left: 0.6672vw;
  }
  .ca_list_story .block_story_content_item .text_title {
    font-size: 1.3344vw;
    margin-top: 1.668vw;
  }
  .ca_list_story .block_story_content_item .text_title span {
    padding-right: 4.1701vw;
  }
  .ca_list_story .block_story_content_item .text_title span:after {
    height: 3.002vw; 
    width: 2.919vw; 
  }
}
/*============================
SP
============================*/
@media screen and (max-width: 767px) {
  .ca_list_story .block_story_content {
    display: block;
    margin-top: 40px;
  }
  .ca_list_story .block_story_content_item {
    border-top: 1px solid #E5E3E3;
  }
  .ca_list_story .block_story_content_item > a {
    height: auto;
    padding-top: 15px;
    padding-bottom: 25px;
  }
  .ca_list_story .block_story_content_item:last-child > a {
    padding-bottom: 0;
  }
  .ca_list_story .block_story_content_item .text_number {
  }
  .ca_list_story .block_story_content_item .image_thumb {
    border-radius: 10px;
    overflow: hidden;
    margin-top: 10px;
  }
  .ca_list_story .block_story_content_item .image_thumb img {
    width: 100%;
  }
  .ca_list_story .block_story_content_item .text_copy {
    margin-top: 10px;
  }
  .ca_list_story .block_story_content_item .tag_category {
    justify-content: flex-start;
    margin-top: 10px;
  }
  .ca_list_story .block_story_content_item .text_title {
    margin-top: 15px;
  }
  .ca_list_story .button_link02 {
    margin-top: 40px;
  }
}
@media screen and (max-width: 375px) {
  .ca_list_story .block_story_content_item .text_title {
    font-size: 4.266vw;
  }
}

/* KV */
/*============================
PC
============================*/
/*============================
SP
============================*/
@media screen and (max-width: 767px) {
  .ca_storys_kv_lead .block_story_introduction h2 + p {
    margin-left: 0;
    margin-right: 0;
  }
}


/* other */
/*============================
PC
============================*/
@media screen and (min-width: 768px) {
  .ca_storys_section.other {
    padding-bottom: 80px;
  }
  .ca_storys_section.other .block_story_introduction {
    display: flex;
    align-items: flex-end;
    padding: 35px;
    margin-top: 0;
  }
  .ca_storys_section.other .block_story_introduction h2 + p {
    margin-top: 0;
  }
  .ca_storys_section.other .box {
    background: rgba(0,0,0,0.16);
    padding: 1em 2em;
  }
  .ca_storys_section.other .block_story_introduction .button_link02{
    position: absolute;
    bottom: 35px;
    right: 35px;
    width: auto;
  }
  .ca_storys_section.other .block_story_introduction .button_link02 a {
    padding: 20px 50px 20px 20px;
    min-width: auto;
  }
  .ca_storys_section.other .block_story_introduction .button_link02 a::before {
    background-image: url(/dam/brand/about/mufg_way_story/imgs/icon_arrow01.png);
    background-repeat: no-repeat;
    background-position: left top;
    background-size: 100% auto;
    content: "";
    height: 26px;
    position: absolute;
    right: 12px;
    bottom: 12px;
    width: 25px;
  }
  .ca_storys_section.other .block_story_introduction .button_link02 a::after {
    content: none;
  }
}
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .ca_storys_section.other {
    padding-bottom: 7vw;
  }
  .ca_storys_section.other .block_story_introduction {
    padding: 2.919vw;
  }
  .ca_storys_section.other .block_story_introduction .button_link02 {
    bottom: 2.085vw;
    right: 2.502vw;
  }
  .ca_storys_section.other .block_story_introduction .button_link02 a {
    padding: 1.6vw 4.2vw 1.6vw 1.6vw;
  }
  .ca_storys_section.other .block_story_introduction .button_link02 a::before {
    height: 2.168vw;
    width: 2.085vw;
  }
}
/*============================
SP
============================*/
@media screen and (max-width: 767px) {
  .ca_storys_section.other {
    margin-top: 0;
    padding-top: 30px;
    padding-bottom: 50px;
    border-top: 3px solid #E60000;
  }
  .ca_storys_section.other .block_story_introduction {
    padding: 0 0 0;
  }
  .ca_storys_section.other .block_story_introduction h2 {
    display: flex;
    align-items: flex-end;
  }
  .ca_storys_section.other .block_story_introduction .button_link02{
    margin-top: 20px;
  }
  .ca_storys_section.other .block_story_introduction h2 + p{
    margin-left: 0;
    margin-right: 0;
  }
}