.c__contents_list {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 736px) {
  .c__contents_list {
    flex-wrap: wrap;
  }
}

.c__contents_list .item {
  position: relative;
}

@media only screen and (max-width: 736px) {
  .c__contents_list .item {
    width: 87.5vw;
  }
}

.c__contents_list .item .item__ttl {
  font-size: 1.71875vw;
  font-weight: 700;
}

@media only screen and (max-width: 736px) {
  .c__contents_list .item .item__ttl {
    font-size: 5.46875vw;
  }
}

.c__contents_list .item .item__txt {
  font-size: 1.17188vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  .c__contents_list .item .item__txt {
    font-size: 4.0625vw;
  }
}

.c__wrapper {
  margin: 0 auto;
  width: 78.125vw;
}

@media only screen and (max-width: 736px) {
  .c__wrapper {
    width: 87.5vw;
  }
}

.kv {
  position: relative;
}

@media only screen and (max-width: 736px) {
  .kv {
    padding-bottom: 11.71875vw;
  }
}

.kv::after {
  content: " ";
  position: absolute;
  z-index: 0;
  top: 16.40625vw;
  left: 0;
  width: 100vw;
  height: 105.23438vw;
  background: url(/flcache_data/corporate/30th/line_bg01.png)
    no-repeat top left/contain;
  mix-blend-mode: multiply;
}

@media only screen and (max-width: 736px) {
  .kv::after {
    top: 79.375vw;
    width: 100%;
    height: 94.53125vw;
    background: url(/flcache_data/corporate/30th/line_bg01_sp.png)
      no-repeat top left/contain;
  }
}


.kv .kv__wrapper {
  position: relative;
  margin-left: auto;
  width: 89.0625vw;
}

@media only screen and (max-width: 736px) {
  .kv .kv__wrapper {
    width: 100%;
    margin: 0;
  }
}

.kv .kv__wrapper figure {
  margin-left: auto;
  width: 79.6875vw;
}

@media only screen and (max-width: 736px) {
  .kv .kv__wrapper figure {
    width: 100%;
  }
}

.kv .kv__wrapper .kv__box {
  position: absolute;
  z-index: 2;
  top: 34.375vw;
  left: 0;
}

@media only screen and (max-width: 736px) {
  .kv .kv__wrapper .kv__box {
    top: 104.6875vw;
    left: 6.25vw;
  }
}

.kv .kv__wrapper .kv__box .kv__txt {
  margin-bottom: 1.95312vw;
  width: 30.15625vw;
}

@media only screen and (max-width: 736px) {
  .kv .kv__wrapper .kv__box .kv__txt {
    margin-bottom: 3.90625vw;
    width: 55.9375vw;
  }
}

@media screen and (min-width: 1281px) {
  .kv .kv__wrapper .kv__box .kv__txt {
    margin-bottom: 25px;
    width: 386px;
  }
}

.kv .kv__wrapper .kv__box .kv__ttl {
  margin-bottom: 4.29688vw;
  font-size: 1.5625vw;
  font-weight: 700;
  color: #fff;
  line-height: 140%;
}

@media only screen and (max-width: 736px) {
  .kv .kv__wrapper .kv__box .kv__ttl {
    margin-bottom: 14.0625vw;
    font-size: 4.0625vw;
  }
}

.kv .kv__wrapper .kv__box .kv__news {
  font-size: 1.17188vw;
  color: #fff;
}

@media only screen and (max-width: 736px) {
  .kv .kv__wrapper .kv__box .kv__news {
    font-size: 4.0625vw;
  }
}

.kv .kv__wrapper .kv__box .kv__news span {
  padding-right: 1em;
  font-size: 1.40625vw;
}

@media only screen and (max-width: 736px) {
  .kv .kv__wrapper .kv__box .kv__news span {
    font-size: 3.75vw;
  }
}

.scroll {
  position: absolute;
  z-index: 2;
  left: 50%;
  bottom: 5.46875vw;
  transform: translateX(-50%);
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  width: 4.0625vw;
}

@media only screen and (max-width: 736px) {
  .scroll {
    bottom: 28.59375vw;
    left: 78.125vw;
  }
}

@media screen and (min-width: 1281px) {
  .scroll.top {
    bottom: 3.125vw;
  }
}

.scroll span {
  display: block;
  margin-bottom: 1.5625vw;
  font-family: Roboto, sans-serif;
  font-size: 1.09375vw;
  font-weight: 500;
  color: #fff;
}

@media only screen and (max-width: 736px) {
  .scroll span {
    margin-bottom: 2.34375vw;
    font-size: 3.125vw;
  }
}

.scroll img {
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  width: 0.75781vw;
  -webkit-animation: arrowmove 1s ease-in-out infinite;
  animation: arrowmove 1s ease-in-out infinite;
}

@-webkit-keyframes arrowmove {
  0% {
    top: 60%;
  }
  50% {
    top: 90%;
  }
  100% {
    top: 60%;
  }
}

@keyframes arrowmove {
  0% {
    top: 60%;
  }
  50% {
    top: 90%;
  }
  100% {
    top: 60%;
  }
}

@media only screen and (max-width: 736px) {
  .scroll img {
    right: -0.3125vw;
    width: 1.5625vw;
  }
}

#top .top__lead {
  position: relative;
  padding: 2.34375vw 0 6.25vw;
  margin: 0 auto;
  width: 77.96875vw;
  z-index: 1;
}

@media only screen and (max-width: 736px) {
  #top .top__lead {
    width: 100%;
    padding: 6.25vw 0 12.5vw;
  }
}

#top .top__lead p {
  font-size: 2.1875vw;
  font-weight: 700;
  color: #fff;
  margin-bottom: 2.34375vw;
  line-height: 2em;
}

@media only screen and (max-width: 736px) {
  #top .top__lead p {
    padding-left: 0;
    margin-bottom: 7.8125vw;
    font-size: 4.6875vw;
    color: #cc0033;
    text-align: center;
    line-height: 1.75em;
  }
}

#top .top__lead p span {
  font-size: 2.73438vw;
  color: #fff;
}

@media only screen and (max-width: 736px) {
  #top .top__lead p span {
    font-size: 6.09375vw;
    color: #cc0033;
    line-height: 2em;
  }
}

#top .top__lead p span em {
  position: relative;
  margin-right: 0.78125vw;
  font-size: 2.73438vw;
  font-style: italic;
  color: #cc0033;
}

@media only screen and (max-width: 736px) {
  #top .top__lead p span em {
    margin-right: 1.5625vw;
    font-size: 6.09375vw;
    color: #fff;
  }
}

#top .top__lead p span em::before {
  content: " ";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-45%, -48%) skewX(-15deg);
  width: 5.85938vw;
  height: 3.51562vw;
  background: #fff;
}

@media only screen and (max-width: 736px) {
  #top .top__lead p span em::before {
    width: 13.28125vw;
    height: 7.34375vw;
    transform: translate(-45%, -45%) skewX(-15deg);
    background: #cc0033;
  }
}

#top .top__lead .kv__btn {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 26.5625vw;
  height: 5.46875vw;
  background: #000;
  font-size: 1.875vw;
  font-weight: 700;
  color: #fff;
  cursor: pointer;
  transition: all 0.3s;
  border: 1px solid #000;
}

@media only screen and (max-width: 736px) {
  #top .top__lead .kv__btn {
    margin: 0 auto;
    width: 53.125vw;
    height: 10.9375vw;
    font-size: 3.75vw;
  }
}

@media screen and (min-width: 1281px) {
  #top .top__lead .kv__btn {
    width: 340px;
    height: 70px;
    font-size: 24px;
  }
}

#top .top__lead .kv__btn::before {
  content: " ";
  position: absolute;
  top: 50%;
  right: 2.61719vw;
  transform: translateY(-42%);
  width: 2px;
  height: 1.5625vw;
  background: #fff;
  transition: 0.2s;
}

@media only screen and (max-width: 736px) {
  #top .top__lead .kv__btn::before {
    right: 5.15625vw;
    height: 3.125vw;
  }
}

#top .top__lead .kv__btn::after {
  content: " ";
  position: absolute;
  top: 50%;
  right: 1.95312vw;
  width: 1.5625vw;
  height: 2px;
  background: #fff;
  transition: all 0.2s;
}

@media only screen and (max-width: 736px) {
  #top .top__lead .kv__btn::after {
    right: 3.90625vw;
    width: 3.125vw;
  }
}

#top .top__lead .kv__btn:hover {
  background: #fff;
  transform-origin: left top;
  color: #000;
}

#top .top__lead .kv__btn:hover::before {
  transform: translateY(-42%) rotate(180deg);
  background: #cc0033;
}

#top .top__lead .kv__btn:hover::after {
  transform: rotate(180deg);
  background: #cc0033;
}

#top #spc {
  clear: both;
  position: relative;
  padding-bottom: 12.5vw;
}

@media only screen and (max-width: 736px) {
  #top #spc {
    padding-bottom: 42.1875vw;
  }
}

#top #spc::before {
  content: " ";
  position: absolute;
  z-index: -2;
  top: -21.09375vw;
  left: 0;
  width: 100vw;
  height: 112.5vw;
  background: url(/flcache_data/corporate/30th/line_bg02.png) no-repeat top left/100% 100%;
}

@media only screen and (max-width: 736px) {
  #top #spc::before {
    top: -10.9375vw;
    width: 100%;
    height: 187.5vw;
    background: url(/flcache_data/corporate/30th/line_bg02_sp.png) no-repeat top left/100% 100%;
  }
}

#top #spc .spc__ttl {
  margin-bottom: 2.34vw;
  width: 23.98438vw;
}

@media only screen and (max-width: 736px) {
  #top #spc .spc__ttl {
    margin-bottom: 6.25vw;
    width: 41.71875vw;
  }
}

#top #spc .c__contents_list .item {
  width: 38.28125vw;
  border: 2px solid #fae9ec;
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list .item {
    width: 100%;
  }
}

#top #spc .c__contents_list .item:not(:last-child) {
  margin-bottom: 1.5625vw;
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list .item:not(:last-child) {
    margin-bottom: 3.125vw;
  }
}

#top #spc .c__contents_list .item:last-child {
  margin-bottom: 0;
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list .item .flexbox {
    display: flex;
  }
}

#top #spc .c__contents_list .item figure {
  width: 16.79688vw;
  height: 16.79688vw;
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list .item figure {
    margin: 0;
    width: 28.90625vw;
    height: 28.90625vw;
  }
}

#top #spc .c__contents_list .item .txt_box {
  top: 0;
  padding: 1.17188vw;
  box-sizing: border-box;
  width: 21.48438vw;
  background: #fff;
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list .item .txt_box {
    width: 58.59375vw;
    padding: 2.34375vw;
  }
}

#top #spc .c__contents_list .item .txt_box h3 {
  margin-bottom: 1.17188vw;
  font-size: 1.599vw;
  font-weight: 500;
  line-height: 1.45em;
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list .item .txt_box h3 {
    margin-bottom: 2.34375vw;
    font-size: 4.0625vw;
    text-align: inherit;
  }
}

#top #spc .c__contents_list .item .txt_box .item__txt {
  margin-bottom: 0;
  font-size: 1.09375vw;
  font-weight: 400;
  line-height: 1.5em;
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list .item .txt_box .item__txt {
    font-size: 3.4375vw;
    text-align: inherit;
  }
}

#top #spc .c__contents_list .item:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

#top #spc .c__contents_list.center .item {
  width: 23.4375vw;
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list.center .item {
    width: 100%;
  }
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list.center .item:not(:last-child) {
    margin-bottom: 12.5vw;
  }
}

#top #spc .c__contents_list.center .item figure {
  position: relative;
  overflow: hidden;
  margin-bottom: 2.34375vw;
  width: 23.4375vw;
  height: 13.67188vw;
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list.center .item figure {
    width: 87.5vw;
    height: 50.9375vw;
    margin-bottom: 5.46875vw;
  }
}

#top #spc .c__contents_list.center .item figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

#top #spc .c__contents_list.center .item figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

#top #spc .c__contents_list.center .item .item__ttl {
  margin-bottom: 1.5625vw;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list.center .item .item__ttl {
    margin-bottom: 3.90625vw;
  }
}

#top #spc .c__contents_list.center .item .item__txt {
  padding-bottom: 4.29688vw;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list.center .item .item__txt {
    padding-bottom: 0;
    margin-bottom: 4.6875vw;
  }
}

#top #spc .c__contents_list.center .item .c__more_btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%);
}

@media only screen and (max-width: 736px) {
  #top #spc .c__contents_list.center .item .c__more_btn {
    position: static;
    transform: none;
    margin: 0 auto;
  }
}

#top #communication {
  position: relative;
  padding-bottom: 13.28125vw;
}

@media only screen and (max-width: 736px) {
  #top #communication {
    padding-bottom: 42.1875vw;
  }
}

#top #communication::before {
  content: " ";
  position: absolute;
  z-index: -1;
  top: -9.375vw;
  left: 0;
  width: 100vw;
  height: 117.65625vw;
  background: url(/flcache_data/corporate/30th/line_bg_com.png) no-repeat top left/contain;
  mix-blend-mode: multiply;
}

@media only screen and (max-width: 736px) {
  #top #communication::before {
    top: 31.25vw;
    width: 100%;
    height: 209.84375vw;
    background: url(/flcache_data/corporate/30th/line_bg_com_sp.png) no-repeat top left/100% 100%;
  }
}

#top #communication .common__eng {
  padding-left: 11.71875vw;
  margin-bottom: 2.34375vw;
  width: 46.25vw;
}

@media only screen and (max-width: 736px) {
  #top #communication .common__eng {
    padding-left: 3.90625vw;
    margin-bottom: 4.6875vw;
    width: 84.84375vw;
  }
}

#top #communication .stn__eng {
  margin-left: auto;
  margin-right: 21.48438vw;
  margin-bottom: 2.34375vw;
  width: 41.17188vw;
}

@media only screen and (max-width: 736px) {
  #top #communication .stn__eng {
    margin: 0 3.90625vw 4.6875vw auto;
    width: 75vw;
  }
}

#top #communication .images {
  margin-bottom: 3.90625vw;
  width: 62.5vw;
  position: relative;
  z-index: -2;
}

@media only screen and (max-width: 736px) {
  #top #communication .images {
    width: 93.75vw;
    margin-bottom: 11.71875vw;
  }
}

@media only screen and (max-width: 736px) {
  #top #communication .images.stn__img {
    width: 92.1875vw;
  }
}

#top #communication .common__top {
  position: relative;
  z-index: 1;
  margin: 0 auto;
  width: 89.84375vw;
}

@media only screen and (max-width: 736px) {
  #top #communication .common__top {
    margin: 0 auto;
    width: 87.5vw;
  }
}

#top #communication .common__top .common__main_ttl {
  position: absolute;
  right: 4.6875vw;
  top: -11.32812vw;
}

@media only screen and (max-width: 736px) {
  #top #communication .common__top .common__main_ttl {
    position: static;
    margin-bottom: 9.375vw;
  }
}

#top #communication .common__top .common__main_ttl .common__ttl {
  margin-bottom: 3.51562vw;
  font-size: 2.73438vw;
  font-weight: 700;
  color: #fff;
  line-height: 140%;
}

@media only screen and (max-width: 736px) {
  #top #communication .common__top .common__main_ttl .common__ttl {
    margin-bottom: 4.6875vw;
    font-size: 6.25vw;
  }
}

#top #communication .common__top .common__main_ttl.stn_ttl {
  top: -15.07812vw;
}

@media only screen and (max-width: 736px) {
  #top #communication .common__top .common__wrap {
    width: 87.5vw;
  }
}

#top #communication .common__top .common__wrap .c__contents_list {
  justify-content: flex-start;
}

#top #communication .common__top .common__wrap .c__contents_list .item {
  position: relative;
  margin-right: 3.90625vw;
  width: 23.4375vw;
  padding-bottom: 4.29688vw;
}

@media only screen and (max-width: 736px) {
  #top #communication .common__top .common__wrap .c__contents_list .item {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 0;
  }
}

@media only screen and (max-width: 736px) {
  #top #communication .common__top .common__wrap .c__contents_list .item:not(:last-child) {
    margin-bottom: 6.25vw;
  }
}

#top #communication .common__top .common__wrap .c__contents_list .item figure {
  position: relative;
  overflow: hidden;
  margin-bottom: 1.5625vw;
  width: 23.4375vw;
  height: 13.67188vw;
}

@media only screen and (max-width: 736px) {
  #top #communication .common__top .common__wrap .c__contents_list .item figure {
    width: 37.5vw;
    height: 21.875vw;
    margin-bottom: 0;
  }
}

#top #communication .common__top .common__wrap .c__contents_list .item figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

#top #communication .common__top .common__wrap .c__contents_list .item figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

#top #communication .common__top .common__wrap .c__contents_list .item .item_txt {
  color: #fff;
  font-size: 1.25vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #top #communication .common__top .common__wrap .c__contents_list .item .item_txt {
    position: relative;
    top: -1.875vw;
    padding-bottom: 9.0625vw;
    width: 46.875vw;
    font-size: 3.75vw;
    font-weight: 500;
  }
}

#top #communication .common__top .common__wrap .c__contents_list .item .c__more_btn {
  position: absolute;
  bottom: 0;
  right: 0;
}

#top #communication .common__top .common__wrap.right_space {
  margin-left: 0;
}

#top #communication .c__more_btn_long {
  margin-top: 4.6875vw;
}

@media only screen and (max-width: 736px) {
  #top #communication .c__more_btn_long {
    margin-top: 10.9375vw;
    margin-right: 0;
  }
}

#top #society {
  position: relative;
  padding-bottom: 10.9375vw;
}

@media only screen and (max-width: 736px) {
  #top #society {
    padding-bottom: 20.3125vw;
  }
}

#top #society .society__top {
  position: relative;
  margin-bottom: 7.8125vw;
}

@media only screen and (max-width: 736px) {
  #top #society .society__top {
    margin-bottom: 12.5vw;
  }
}

#top #society .society__top .society__txt {
  padding-right: 10.9375vw;
  margin-bottom: 0.78125vw;
  margin-left: auto;
  width: 21.48438vw;
}

@media only screen and (max-width: 736px) {
  #top #society .society__top .society__txt {
    padding-left: 5.46875vw;
    margin-bottom: 1.5625vw;
    width: 36.71875vw;
  }
}

#top #society .society__top .society__ttl {
  position: absolute;
  top: 17.96875vw;
  left: 20.3125vw;
  width: 35.9375vw;
}

@media only screen and (max-width: 736px) {
  #top #society .society__top .society__ttl {
    z-index: 1;
    top: 70.3125vw;
    left: 5.46875vw;
    width: 60.625vw;
  }
}

#top #society .society__top figure {
  position: relative;
  z-index: -2;
  margin-bottom: 5.46875vw;
  margin-left: auto;
  width: 89.0625vw;
}

@media only screen and (max-width: 736px) {
  #top #society .society__top figure {
    margin-bottom: 15.625vw;
    width: 100%;
  }
}

#top #society .society__top .heading_txt {
  padding-left: 10.9375vw;
  margin-bottom: 3.125vw;
  font-size: 2.73438vw;
  font-weight: 700;
  line-height: 140%;
}

@media only screen and (max-width: 736px) {
  #top #society .society__top .heading_txt {
    padding-left: 5.46875vw;
    margin-bottom: 6.25vw;
    font-size: 6.25vw;
  }
}

#top #society .item {
  display: flex;
  justify-content: space-between;
}

#top #society .item:not(:last-child) {
  margin-bottom: 10.15625vw;
}

@media only screen and (max-width: 736px) {
  #top #society .item:not(:last-child) {
    margin-bottom: 12.5vw;
  }
}

#top #society .item .text_box {
  position: relative;
  top: 0;
  width: 30.54688vw;
}

@media only screen and (max-width: 736px) {
  #top #society .item .text_box {
    width: 43.75vw;
  }
}

#top #society .item .text_box p {
  margin-bottom: 1.17188vw;
  width: 100%;
  font-size: 18px;
  font-weight: 500;
  letter-spacing: 0.02em;
  color: #cc0033;
}

@media only screen and (max-width: 736px) {
  #top #society .item .text_box p {
    margin-bottom: 2.34375vw;
    line-height: 1em;
    font-size: 2.8125vw;
  }
}

#top #society .item .link_box {
  position: relative;
  width: 37.5vw;
}

@media only screen and (max-width: 736px) {
  #top #society .item .link_box {
    width: 39.0625vw;
  }
}

#top #society .item .link_box figure {
  position: relative;
  overflow: hidden;
  width: 37.5vw;
  height: 21.875vw;
  margin-bottom: 1.5625vw;
}

@media only screen and (max-width: 736px) {
  #top #society .item .link_box figure {
    width: 37.5vw;
    height: 21.875vw;
    margin-bottom: 3.125vw;
  }
}

#top #society .item .link_box figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

#top #society .item .link_box figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

#top #society .item .link_box p {
  font-size: 1.25vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #top #society .item .link_box p {
    margin-bottom: 3.125vw;
    font-size: 3.75vw;
    font-weight: 400;
  }
}

#top #society .item .link_box .c__more_btn {
  position: absolute;
  right: 0;
  bottom: 0;
}

@media only screen and (max-width: 736px) {
  #top #society .item .link_box .c__more_btn {
    position: static;
    margin-left: auto;
  }
}

@media only screen and (max-width: 736px) {
  #top #society .item.direction_sp {
    flex-direction: row-reverse;
  }
}

#top #society .c__more_btn_long {
  margin-left: auto;
}

#top #sustainability {
  position: relative;
  padding-bottom: 12.5vw;
}

@media only screen and (max-width: 736px) {
  #top #sustainability {
    padding-bottom: 42.1875vw;
  }
}

#top #sustainability::before {
  content: " ";
  position: absolute;
  z-index: -1;
  top: -6.25vw;
  left: 0;
  width: 100vw;
  height: 117.65625vw;
  background: url(/flcache_data/corporate/30th/line_bg_com.png) no-repeat top left/contain;
  mix-blend-mode: multiply;
}

@media only screen and (max-width: 736px) {
  #top #sustainability::before {
    top: 34.375vw;
    width: 100%;
    height: 220.3125vw;
    background: url(/flcache_data/corporate/30th/line_bg_com_sp.png) no-repeat top left/contain;
  }
}

#top #sustainability .common__eng {
  padding-right: 15.625vw;
  margin-left: auto;
  margin-bottom: 2.34375vw;
  width: 46.25vw;
}

@media only screen and (max-width: 736px) {
  #top #sustainability .common__eng {
    padding-right: 3.90625vw;
    margin-bottom: 4.6875vw;
    width: 84.84375vw;
  }
}

#top #sustainability .stn__eng {
  margin-left: 21.48438vw;
  margin-bottom: 2.34375vw;
  width: 41.17188vw;
}

@media only screen and (max-width: 736px) {
  #top #sustainability .stn__eng {
    margin: 0 7.8125vw 4.6875vw auto;
    width: 75vw;
  }
}

#top #sustainability .images {
  margin-bottom: 3.90625vw;
  width: 62.5vw;
  position: relative;
  z-index: -2;
}

@media only screen and (max-width: 736px) {
  #top #sustainability .images {
    width: 93.75vw;
    margin-bottom: 11.71875vw;
  }
}

@media only screen and (max-width: 736px) {
  #top #sustainability .images.stn__img {
    width: 92.1875vw;
  }
}

#top #sustainability .common__top {
  position: relative;
  z-index: 1;
  width: 89.0625vw;
  margin: 0 auto;
}

@media only screen and (max-width: 736px) {
  #top #sustainability .common__top {
    margin: 0 auto;
    width: 87.5vw;
  }
}

#top #sustainability .common__top .common__main_ttl {
  position: absolute;
  right: 1.5625vw;
  top: -11.32812vw;
}

@media only screen and (max-width: 736px) {
  #top #sustainability .common__top .common__main_ttl {
    position: static;
    margin-bottom: 9.375vw;
  }
}

#top #sustainability .common__top .common__main_ttl .common__ttl {
  margin-bottom: 3.51562vw;
  font-size: 2.73438vw;
  font-weight: 700;
  color: #fff;
  line-height: 140%;
}

@media only screen and (max-width: 736px) {
  #top #sustainability .common__top .common__main_ttl .common__ttl {
    margin-bottom: 4.6875vw;
    font-size: 6.25vw;
  }
}

#top #sustainability .common__top .common__main_ttl.stn_ttl {
  top: -15.07812vw;
}

#top #sustainability .common__top .common__wrap {
  width: 62.5vw;
}

@media only screen and (max-width: 736px) {
  #top #sustainability .common__top .common__wrap {
    width: 87.5vw;
  }
}

#top #sustainability .common__top .common__wrap .c__contents_list {
  justify-content: flex-start;
}

#top #sustainability .common__top .common__wrap .c__contents_list .item {
  position: relative;
  margin-right: 3.90625vw;
  width: 23.4375vw;
  padding-bottom: 4.29688vw;
}

@media only screen and (max-width: 736px) {
  #top #sustainability .common__top .common__wrap .c__contents_list .item {
    display: flex;
    justify-content: space-between;
    width: 100%;
    margin: 0 auto;
    padding-bottom: 0;
  }
}

@media only screen and (max-width: 736px) {
  #top #sustainability .common__top .common__wrap .c__contents_list .item:not(:last-child) {
    margin-bottom: 6.25vw;
  }
}

#top #sustainability .common__top .common__wrap .c__contents_list .item figure {
  position: relative;
  overflow: hidden;
  margin-bottom: 1.5625vw;
  width: 23.4375vw;
  height: 13.67188vw;
}

@media only screen and (max-width: 736px) {
  #top #sustainability .common__top .common__wrap .c__contents_list .item figure {
    width: 37.5vw;
    height: 21.875vw;
    margin-bottom: 0;
  }
}

#top #sustainability .common__top .common__wrap .c__contents_list .item figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

#top #sustainability .common__top .common__wrap .c__contents_list .item figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

#top #sustainability .common__top .common__wrap .c__contents_list .item .item_txt {
  color: #fff;
  font-size: 1.25vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #top #sustainability .common__top .common__wrap .c__contents_list .item .item_txt {
    position: relative;
    top: -1.875vw;
    padding-bottom: 9.0625vw;
    width: 46.875vw;
    font-size: 3.6vw;
    font-weight: 500;
  }
}

#top #sustainability .common__top .common__wrap .c__contents_list .item .c__more_btn {
  position: absolute;
  bottom: 0;
  right: 0;
}

#top #sustainability .common__top .common__wrap.right_space {
  margin-left: 0;
}

#top #sustainability .c__more_btn_long {
  margin-top: 4.6875vw;
}

@media only screen and (max-width: 736px) {
  #top #sustainability .c__more_btn_long {
    margin-top: 10.9375vw;
  }
}

#top #living {
  position: relative;
  padding-bottom: 28.125vw;
}

@media only screen and (max-width: 736px) {
  #top #living {
    padding-bottom: 37.5vw;
  }
}

#top #living::before {
  content: " ";
  position: absolute;
  top: 3.125vw;
  left: 0;
  width: 100vw;
  height: 102.89062vw;
  background: url(/flcache_data/corporate/30th/line_bg01.png) no-repeat top left/100% 100%;
  mix-blend-mode: multiply;
}

@media only screen and (max-width: 736px) {
  #top #living::before {
    top: 30.46875vw;
    width: 100%;
    height: 196.875vw;
    background: url(/flcache_data/corporate/30th/line_bg03-2_sp.png) no-repeat top left/100% 100%;
  }
}

#top #living .living__main_ttl {
  position: absolute;
  top: 33.20312vw;
  left: 10.9375vw;
}

@media only screen and (max-width: 736px) {
  #top #living .living__main_ttl {
    position: static;
    margin-bottom: 9.375vw;
  }
}

#top #living .living__main_ttl .living__ttl {
  margin-bottom: 3.90625vw;
  font-size: 2.73438vw;
  font-weight: 700;
  color: #fff;
  line-height: 140%;
}

@media only screen and (max-width: 736px) {
  #top #living .living__main_ttl .living__ttl {
    position: relative;
    margin-bottom: 5.46875vw;
    font-size: 6.25vw;
  }
}

#top #living .living__eng {
  margin-left: auto;
  margin-right: 13.28125vw;
  margin-bottom: 0.78125vw;
  width: 17.1875vw;
}

@media only screen and (max-width: 736px) {
  #top #living .living__eng {
    padding-left: 5.46875vw;
    margin-bottom: 1.5625vw;
    width: 31.5625vw;
  }
}

#top #living .living__img {
  position: relative;
  z-index: -1;
  margin-left: auto;
  margin-bottom: 3.90625vw;
  width: 62.5vw;
}

@media only screen and (max-width: 736px) {
  #top #living .living__img {
    margin-bottom: 12.5vw;
    width: 92.1875vw;
  }
}

#top #living .living__wrap {
  width: 62.5vw;
  margin-left: auto;
}

@media only screen and (max-width: 736px) {
  #top #living .living__wrap {
    padding: 0;
    margin: 0 auto;
    width: 87.5vw;
  }
}

#top #living .living__wrap .c__contents_list {
  justify-content: flex-start;
}

@media only screen and (max-width: 736px) {
  #top #living .living__wrap .c__contents_list {
    flex-wrap: wrap;
  }
}

#top #living .living__wrap .c__contents_list .item {
  position: relative;
  padding-bottom: 3.90625vw;
  width: 23.4375vw;
  margin-bottom: 0;
}

@media only screen and (max-width: 736px) {
  #top #living .living__wrap .c__contents_list .item {
    display: flex;
    width: 100%;
    padding-bottom: 0;
  }
}

#top #living .living__wrap .c__contents_list .item:not(:last-child) {
  margin-right: 3.90625vw;
}

@media only screen and (max-width: 736px) {
  #top #living .living__wrap .c__contents_list .item:not(:last-child) {
    margin-right: 0;
    margin-bottom: 6.25vw;
  }
}

#top #living .living__wrap .c__contents_list .item figure {
  position: relative;
  overflow: hidden;
  width: 23.4375vw;
  height: 13.67188vw;
  margin-bottom: 1.5625vw;
}

@media only screen and (max-width: 736px) {
  #top #living .living__wrap .c__contents_list .item figure {
    margin-right: 3.125vw;
    margin-bottom: 0;
    width: 37.5vw;
    height: 21.875vw;
  }
}

#top #living .living__wrap .c__contents_list .item figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

#top #living .living__wrap .c__contents_list .item figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

#top #living .living__wrap .c__contents_list .item .item_txt {
  font-size: 1.25vw;
  font-weight: 500;
  color: #fff;
}

@media only screen and (max-width: 736px) {
  #top #living .living__wrap .c__contents_list .item .item_txt {
    position: relative;
    top: -1.875vw;
    padding-bottom: 9.84375vw;
    font-size: 3.75vw;
    font-weight: 400;
  }
}

#top #living .living__wrap .c__contents_list .item .c__more_btn {
  position: absolute;
  bottom: 0;
  right: 0;
}

#top #living .c__more_btn_long {
  margin-right: 11.71875vw;
  margin-left: auto;
  margin-top: 4.6875vw;
}

@media only screen and (max-width: 736px) {
  #top #living .c__more_btn_long {
    margin-top: 10.9375vw;
    margin-right: 0;
  }
}

#top #recruit {
  padding-bottom: 9.375vw;
}

@media only screen and (max-width: 736px) {
  #top #recruit {
    padding-bottom: 21.875vw;
  }
}

#top #recruit .recruit__ttl {
  margin-bottom: 3.90625vw;
  font-size: 2.73438vw;
  text-align: center;
  font-weight: 700;
}

@media only screen and (max-width: 736px) {
  #top #recruit .recruit__ttl {
    margin-bottom: 6.25vw;
    font-size: 5vw;
  }
}

#top #recruit .recruit__item {
  display: flex;
  justify-content: center;
}

#top #recruit .recruit__item figure {
  position: relative;
  overflow: hidden;
  margin-right: 2.34375vw;
  width: 37.5vw;
  height: 20vw;
}

@media only screen and (max-width: 736px) {
  #top #recruit .recruit__item figure {
    margin-right: 3.125vw;
    width: 37.5vw;
    height: 20vw;
  }
}

#top #recruit .recruit__item figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

#top #recruit .recruit__item figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

#top #recruit .recruit__item .txt {
  width: 23.4375vw;
}

@media only screen and (max-width: 736px) {
  #top #recruit .recruit__item .txt {
    position: relative;
    top: -1.875vw;
    width: 46.875vw;
  }
}

#top #recruit .recruit__item .txt p {
  margin-bottom: 1.17188vw;
  font-size: 1.25vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #top #recruit .recruit__item .txt p {
    margin-bottom: 3.90625vw;
    font-size: 3.75vw;
    font-weight: 400;
  }
}

#top #recruit .recruit__item .txt .c__more_btn {
  margin-left: auto;
}

.modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  height: 100%;
  overflow-y: scroll;
  display: none;
}

.modal .modal__box {
  overflow-y: scroll;
  box-sizing: border-box;
}

.modal .modal__box .modal__bg {
  width: 100%;
}

.modal .modal__box .modal__wrap {
  position: absolute;
  top: 10.15625vw;
  left: 50%;
  transform: translateX(-50%);
  width: 55.3125vw;
}

@media only screen and (max-width: 736px) {
  .modal .modal__box .modal__wrap {
    transform: none;
    left: 6.25vw;
    width: 79.0625vw;
    top: 18.75vw;
  }
}

.modal .modal__box .modal__wrap .modal__ttl {
  margin-bottom: 3.51562vw;
  width: 100%;
}

@media only screen and (max-width: 736px) {
  .modal .modal__box .modal__wrap .modal__ttl {
    margin-bottom: 7.03125vw;
  }
}

.modal .modal__box .modal__wrap p {
  width: 33.28125vw;
}

@media only screen and (max-width: 736px) {
  .modal .modal__box .modal__wrap p {
    width: 68.75vw;
  }
}

.modal .close_btn {
  position: absolute;
  top: 4.29688vw;
  right: 4.29688vw;
  width: 5.46875vw;
  height: 5.46875vw;
  border: 1px solid #cc0033;
  border-radius: 50%;
  cursor: pointer;
}

@media only screen and (max-width: 736px) {
  .modal .close_btn {
    top: 3.90625vw;
    right: 3.90625vw;
    width: 12.5vw;
    height: 12.5vw;
  }
}

.modal .close_btn::before {
  content: " ";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  width: 1.95312vw;
  height: 1px;
  background: #cc0033;
}

@media only screen and (max-width: 736px) {
  .modal .close_btn::before {
    width: 4.6875vw;
  }
}

.modal .close_btn::after {
  content: " ";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 1.95312vw;
  height: 1px;
  background: #cc0033;
}

@media only screen and (max-width: 736px) {
  .modal .close_btn::after {
    width: 4.6875vw;
  }
}

#sc .sc_kv .sc_kv__ttl {
  position: absolute;
  top: 8.20312vw;
  left: 39.0625vw;
  width: 31.95312vw;
}

@media only screen and (max-width: 736px) {
  #sc .sc_kv .sc_kv__ttl {
    top: 34.375vw;
    left: 4.6875vw;
    width: 54.84375vw;
  }
}

#sc .sc_kv .scroll {
  bottom: 7.8125vw;
  left: 58.59375vw;
  transform: none;
}

@media only screen and (max-width: 736px) {
  #sc .sc_kv .scroll {
    bottom: 15vw;
    left: 81.25vw;
  }
}

@media only screen and (max-width: 736px) {
  #sc .sc_kv .kv__txt .ttl {
    font-size: 5.46875vw;
    line-height: 1.4em;
  }
}

#sc .example_ttl {
  margin-bottom: 5.46875vw;
  font-size: 2.73438vw;
  font-weight: 700;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  #sc .example_ttl {
    margin-bottom: 9.375vw;
    font-size: 5.9375vw;
  }
}

#sc section .sc_flex {
  position: relative;
  z-index: 0;
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 736px) {
  #sc section .sc_flex {
    flex-wrap: wrap;
  }
}

@media only screen and (max-width: 736px) {
  #sc section .sc_flex.direction_sp {
    flex-direction: column-reverse;
  }
}

#sc section .sc_flex .txt_box {
  width: 31.25vw;
}

@media only screen and (max-width: 736px) {
  #sc section .sc_flex .txt_box {
    margin-bottom: 6.25vw;
    width: 59.375vw;
  }
}

#sc section .sc_flex .txt_box p {
  margin-bottom: 1.17188vw;
  width: 18.75vw;
}

@media only screen and (max-width: 736px) {
  #sc section .sc_flex .txt_box p {
    margin-bottom: 2.34375vw;
    width: 40.625vw;
  }
}

#sc section .sc_flex .link_box {
  width: 37.5vw;
}

@media only screen and (max-width: 736px) {
  #sc section .sc_flex .link_box {
    width: 100%;
  }
}

#sc section .sc_flex .link_box .n_link {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  align-items: flex-end;
}

@media only screen and (max-width: 736px) {
  #sc section .sc_flex .link_box .n_link {
    display: block;
  }
}

#sc section .sc_flex .link_box .n_link figure {
  position: relative;
  overflow: hidden;
  width: 37.5vw;
  height: 21.875vw;
  margin-bottom: 1.5625vw;
}

@media only screen and (max-width: 736px) {
  #sc section .sc_flex .link_box .n_link figure {
    width: 87.5vw;
    height: 51.09375vw;
    margin-bottom: 2.34375vw;
  }
}

#sc section .sc_flex .link_box .n_link figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

#sc section .sc_flex .link_box .n_link figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

#sc section .sc_flex .link_box .n_link p {
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.5em;
}

@media only screen and (max-width: 736px) {
  #sc section .sc_flex .link_box .n_link p {
    margin-bottom: 3.125vw;
    font-size: 3.75vw;
    font-weight: 400;
  }
}

@media only screen and (max-width: 736px) {
  #sc section .sc_flex .link_box .n_link .c__more_btn {
    margin-left: auto;
  }
}

#sc section .sc_flex .link_box .movie_link {
  display: flex;
  padding-top: 3.90625vw;
}

@media only screen and (max-width: 736px) {
  #sc section .sc_flex .link_box .movie_link {
    padding-top: 9.375vw;
  }
}

#sc section .sc_flex .link_box .movie_link figure {
  position: relative;
  overflow: hidden;
  margin-right: 1.5625vw;
  width: 20.3125vw;
  height: 11.32812vw;
}

@media only screen and (max-width: 736px) {
  #sc section .sc_flex .link_box .movie_link figure {
    margin-right: 3.125vw;
    width: 37.5vw;
    height: 20.9375vw;
  }
}

#sc section .sc_flex .link_box .movie_link figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

#sc section .sc_flex .link_box .movie_link figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

#sc section .sc_flex .link_box .movie_link p {
  width: 15.625vw;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.5em;
}

@media only screen and (max-width: 736px) {
  #sc section .sc_flex .link_box .movie_link p {
    width: 46.875vw;
    font-size: 3.75vw;
    font-weight: 400;
  }
}

#sc .movie {
  margin-bottom: 10.15625vw;
}

@media only screen and (max-width: 736px) {
  #sc .movie {
    margin-bottom: 14.0625vw;
  }
}

#sc .movie p {
  margin-bottom: 3.90625vw;
  font-size: 2.73438vw;
  font-weight: 700;
  color: #cc0033;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  #sc .movie p {
    margin-bottom: 2.34375vw;
    font-size: 5.9375vw;
  }
}

#sc .movie figure {
  position: relative;
  overflow: hidden;
  margin: 0 auto;
  width: 39.0625vw;
  height: 22.03125vw;
}

@media only screen and (max-width: 736px) {
  #sc .movie figure {
    width: 78.125vw;
    height: 43.90625vw;
  }
}

#sc .movie figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

#sc .movie figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

/* #second section {
  margin-bottom: 10.15625vw;
} */

/* @media only screen and (max-width: 736px) {
  #second section {
    margin-bottom: 18.75vw;
  }
} */

.c__second_kv {
  position: relative;
  margin-bottom: 23.4375vw;
}

@media only screen and (max-width: 736px) {
  .c__second_kv.com_kv {
    margin-bottom: 59.375vw;
  }
}

.c__second_kv.sc_kv {
  margin-bottom: 13.67188vw;
}

@media only screen and (max-width: 736px) {
  .c__second_kv.sc_kv {
    margin-bottom: 43.75vw;
  }
}

.c__second_kv.sc_kv::before {
  top: 15.625vw;
  height: 87.8125vw;
  background: url(/flcache_data/corporate/30th/common_line_bg_02.png)
    no-repeat top left/contain;
}

@media only screen and (max-width: 736px) {
  .c__second_kv.sc_kv::before {
    top: 82.8125vw;
    width: 100%;
    height: 115.3125vw;
    background: url(/flcache_data/corporate/30th/common_line_bg_02_sp.png)
      no-repeat top left/contain;
  }
}

.c__second_kv::before {
  content: " ";
  position: absolute;
  top: 7.8125vw;
  left: 0;
  width: 100vw;
  height: 97.1875vw;
  background: url(/flcache_data/corporate/30th/common_line_bg.png)
    no-repeat top left/contain;
  mix-blend-mode: multiply;
}

@media only screen and (max-width: 736px) {
  .c__second_kv::before {
    top: 65.625vw;
    width: 100%;
    height: 124.53125vw;
    background: url(/flcache_data/corporate/30th/common_line_bg_sp.png)
      no-repeat top left/contain;
  }
}

.c__second_kv figure {
  margin-left: auto;
  width: 79.6875vw;
}

@media only screen and (max-width: 736px) {
  .c__second_kv figure {
    width: 100%;
  }
}

.c__second_kv .kv__txt {
  position: absolute;
  top: 39.0625vw;
  left: 10.9375vw;
}

@media only screen and (max-width: 736px) {
  .c__second_kv .kv__txt {
    top: 106.25vw;
    left: 6.25vw;
  }
}

.c__second_kv .kv__txt .eng {
  margin-bottom: 3.51562vw;
}

@media only screen and (max-width: 736px) {
  .c__second_kv .kv__txt .eng {
    margin-bottom: 4.6875vw;
  }
}

.c__second_kv .kv__txt .eng.com {
  width: 46.25vw;
}

@media only screen and (max-width: 736px) {
  .c__second_kv .kv__txt .eng.com {
    width: 76.25vw;
  }
}

.c__second_kv .kv__txt .eng.sc {
  width: 21.48438vw;
}

@media only screen and (max-width: 736px) {
  .c__second_kv .kv__txt .eng.sc {
    width: 40vw;
  }
}

.c__second_kv .kv__txt .eng.stn {
  width: 40.85938vw;
}

@media only screen and (max-width: 736px) {
  .c__second_kv .kv__txt .eng.stn {
    width: 67.34375vw;
  }
}

.c__second_kv .kv__txt .eng.living {
  width: 17.1875vw;
}

@media only screen and (max-width: 736px) {
  .c__second_kv .kv__txt .eng.living {
    width: 28.28125vw;
  }
}

.c__second_kv .kv__txt .ttl {
  font-size: 2.73438vw;
  font-weight: 700;
  color: #fff;
  line-height: 1.67em;
}

@media only screen and (max-width: 736px) {
  .c__second_kv .kv__txt .ttl {
    font-size: 6.25vw;
    line-height: 1.4em;
  }
}

.flex_block_A {
  position: relative;
  z-index: 1;
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 736px) {
  .flex_block_A {
    display: block;
  }
}

.flex_block_A .l_block .block_ttl {
  font-size: 2.1875vw;
  font-weight: 700;
  line-height: 1.5em;
}

@media only screen and (max-width: 736px) {
  .flex_block_A .l_block .block_ttl {
    margin-bottom: 6.25vw;
    font-size: 5.46875vw;
  }
}

.flex_block_A .r_block .item {
  display: flex;
}

@media only screen and (max-width: 736px) {
  .flex_block_A .r_block .item {
    justify-content: space-between;
  }
}

.flex_block_A .r_block .item:not(:last-child) {
  margin-bottom: 3.90625vw;
}

@media only screen and (max-width: 736px) {
  .flex_block_A .r_block .item:not(:last-child) {
    margin-bottom: 6.25vw;
  }
}

.flex_block_A .r_block .item figure {
  position: relative;
  overflow: hidden;
  margin-right: 1.17188vw;
  width: 20.3125vw;
  height: 12vw;
}

@media only screen and (max-width: 736px) {
  .flex_block_A .r_block .item figure {
    margin-right: 0;
    width: 37.5vw;
    height: 21.875vw;
  }
}

.flex_block_A .r_block .item figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

.flex_block_A .r_block .item figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

.flex_block_A .r_block .item .txt {
  width: 15.625vw;
}

@media only screen and (max-width: 736px) {
  .flex_block_A .r_block .item .txt {
    width: 46.875vw;
  }
}

.flex_block_A .r_block .item .txt .link_ttl {
  margin-bottom: 1.5625vw;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.5em;
}

@media only screen and (max-width: 736px) {
  .flex_block_A .r_block .item .txt .link_ttl {
    margin-bottom: 4.6875vw;
    font-size: 3.75vw;
    font-weight: 400;
  }
}

.flex_block_A .r_block .item .txt .c__more_btn {
  margin-left: auto;
}

.about {
  margin-bottom: 14.0625vw;
}

@media only screen and (max-width: 736px) {
  .about {
    margin-bottom: 23.4375vw;
  }
}

.about .about_ttl {
  margin-bottom: 3.90625vw;
  font-size: 2.96875vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  .about .about_ttl {
    margin-bottom: 4.6875vw;
    font-size: 5.9375vw;
  }
}

.about .images {
  position: relative;
  display: block;
  margin: 0 auto;
  width: 39.0625vw;
}

@media only screen and (max-width: 736px) {
  .about .images {
    width: 78.125vw;
  }
}

.about .images figure {
  position: relative;
  overflow: hidden;
  width: 39.0625vw;
  height: 22.65625vw;
}

@media only screen and (max-width: 736px) {
  .about .images figure {
    width: 78.125vw;
    height: 45.3125vw;
  }
}

.about .images figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

.about .images figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

.about .images .c__more_btn {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  bottom: -0.78125vw;
  right: -1.5625vw;
  background: #000;
  height: 2.73438vw;
  transition: all 0.3s;
}

@media only screen and (max-width: 736px) {
  .about .images .c__more_btn {
    height: 6.71875vw;
    width: 21.09375vw;
    bottom: -3.125vw;
    right: -4.6875vw;
  }
}

.about .images .c__more_btn::before {
  content: " ";
  position: absolute;
  top: 50%;
  left: -0.15625vw;
  transform: translateY(-50%) skew(45deg);
  width: 0.9375vw;
  height: 0.39062vw;
  border: none;
  border-right: 2px solid #fff;
  border-bottom: 1px solid #fff;
  transition: 0.3s;
}

@media only screen and (max-width: 736px) {
  .about .images .c__more_btn::before {
    left: -0.78125vw;
    width: 4.6875vw;
    height: 1.5625vw;
  }
}

.about .images .c__more_btn span {
  position: relative;
  left: 0.23438vw;
  font-family: Roboto, sans-serif;
  font-size: 1.09375vw;
  font-weight: 500;
  color: #fff;
}

@media only screen and (max-width: 736px) {
  .about .images .c__more_btn span {
    left: 0.46875vw;
    font-size: 2.96875vw;
  }
}

.about .images .c__more_btn:hover {
  background: #000;
}

.about .images .c__more_btn:hover::before {
  width: 1.71875vw;
}

@media only screen and (max-width: 736px) {
  .about .images .c__more_btn:hover::before {
    width: 5.46875vw;
  }
}

#stn .c__second_kv.stn_kv {
  margin-bottom: 20.3125vw;
}

@media only screen and (max-width: 736px) {
  #stn .c__second_kv.stn_kv {
    margin-bottom: 32.03125vw;
  }
}

@media only screen and (max-width: 736px) {
  #stn .c__second_kv.stn_kv::before {
    top: 65.625vw;
    width: 100%;
    height: 133.125vw;
    background: url(/flcache_data/corporate/30th/sustainability/images/stn_line_bg_sp.png)
      no-repeat top left/contain;
  }
}

@media only screen and (max-width: 736px) {
  #stn .c__second_kv.stn_kv .kv__txt {
    top: 107.8125vw;
  }
}

#stn .future {
  margin-bottom: 10.15625vw;
}

@media only screen and (max-width: 736px) {
  #stn .future {
    margin-bottom: 20.3125vw;
  }
}

#stn .future .future__ttl {
  margin-bottom: 2.34375vw;
  font-size: 3.125vw;
  font-weight: 700;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  #stn .future .future__ttl {
    margin-bottom: 5.46875vw;
    font-size: 6.25vw;
  }
}

#stn .future .future__txt {
  font-size: 1.5625vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #stn .future .future__txt {
    font-size: 3.90625vw;
  }
}

#stn .what {
  margin-bottom: 10.15625vw;
}

@media only screen and (max-width: 736px) {
  #stn .what {
    margin-bottom: 20.3125vw;
  }
}

#stn .what .what__flex {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 736px) {
  #stn .what .what__flex {
    display: block;
  }
}

#stn .what .what__flex .txt {
  width: 37.5vw;
}

@media only screen and (max-width: 736px) {
  #stn .what .what__flex .txt {
    width: 100%;
  }
}

#stn .what .what__flex .txt .what__ttl {
  margin-bottom: 2.73438vw;
  font-size: 2.96875vw;
  font-weight: 500;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  #stn .what .what__flex .txt .what__ttl {
    margin-bottom: 5.46875vw;
    font-size: 5.9375vw;
  }
}

@media only screen and (max-width: 736px) {
  #stn .what .what__flex .txt figure {
    margin-bottom: 3.90625vw;
    width: 100%;
  }
}

#stn .what .what__flex .txt .what__txt {
  margin-bottom: 2.34375vw;
  font-size: 1.25vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #stn .what .what__flex .txt .what__txt {
    margin-bottom: 3.125vw;
    font-size: 3.75vw;
    font-weight: 400;
  }
}

#stn .what .what__flex .txt .c__more_btn {
  margin-left: auto;
}

#stn .what .what__flex figure {
  width: 37.5vw;
}

#stn .example_ttl {
  margin-bottom: 6.25vw;
  font-size: 2.96875vw;
  font-weight: 700;
}

@media only screen and (max-width: 736px) {
  #stn .example_ttl {
    margin-bottom: 9.375vw;
    font-size: 5.9375vw;
  }
}

#stn .item figure {
  padding: 1.5px 0;
}

#living .c__second_kv.living_kv {
  margin-bottom: 18.75vw;
}

@media only screen and (max-width: 736px) {
  #living .c__second_kv.living_kv {
    margin-bottom: 29.6875vw;
  }
}

@media only screen and (max-width: 736px) {
  #living .c__second_kv.living_kv::before {
    height: 132.96875vw;
    background: url(/flcache_data/corporate/30th/living/living_line_bg_sp.png)
      no-repeat top left/contain;
  }
}

#living .living__block {
  margin-bottom: 10.15625vw;
}

@media only screen and (max-width: 736px) {
  #living .living__block {
    margin-bottom: 9.375vw;
  }
}

#living .living__block .living__block_ttl {
  margin-bottom: 5.46875vw;
  font-size: 3.125vw;
  font-weight: 700;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  #living .living__block .living__block_ttl {
    margin-bottom: 10.9375vw;
    font-size: 5.9375vw;
  }
}

#living .living__block section:not(:last-child) {
  margin-bottom: 7.8125vw;
}

@media only screen and (max-width: 736px) {
  #living .living__block section:not(:last-child) {
    margin-bottom: 15.625vw;
  }
}

#living .living__block section .section_ttl {
  margin-bottom: 3.125vw;
  font-size: 2.1875vw;
  font-weight: 700;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  #living .living__block section .section_ttl {
    margin-bottom: 6.25vw;
    font-size: 5.46875vw;
  }
}

#living .living__block section .item_list {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#living .living__block section .item_list .item {
  position: relative;
  display: flex;
  justify-content: space-between;
  margin-bottom: 3.90625vw;
  width: 37.10938vw;
}

@media only screen and (max-width: 736px) {
  #living .living__block section .item_list .item {
    margin-bottom: 10.9375vw;
    width: 100%;
    justify-content: flex-start;
  }
}

#living .living__block section .item_list .item figure.link {
  position: relative;
  overflow: hidden;
  width: 20.3125vw;
  height: 11.40625vw;
}

@media only screen and (max-width: 736px) {
  #living .living__block section .item_list .item figure.link {
    width: 40.625vw;
    height: 22.8125vw;
  }
}

#living .living__block section .item_list .item figure.link img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

#living .living__block section .item_list .item figure.link:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

@media only screen and (max-width: 736px) {
  #living .living__block section .item_list .item.movie {
    display: block;
    width: 40.625vw;
  }
}

@media only screen and (max-width: 736px) {
  #living .living__block section .item_list .item.movie figure {
    margin: 0 0 2.34375vw 0;
    width: 100%;
  }
}

@media only screen and (max-width: 736px) {
  #living .living__block section .item_list .item.link {
    display: block;
    width: 40.625vw;
    margin: 0 0 10.9375vw 0;
    padding-bottom: 10.15625vw;
  }
}

@media only screen and (max-width: 736px) {
  #living .living__block section .item_list .item.link figure {
    margin: 0 0 2.34375vw 0;
    width: 100%;
  }
}

#living .living__block section .item_list .item figure {
  width: 20.3125vw;
}

@media only screen and (max-width: 736px) {
  #living .living__block section .item_list .item figure {
    margin-right: 3.125vw;
    width: 37.5vw;
  }
}

#living .living__block section .item_list .item .txt {
  width: 15.23438vw;
}

@media only screen and (max-width: 736px) {
  #living .living__block section .item_list .item .txt {
    width: auto;
  }
}

#living .living__block section .item_list .item .txt .item_ttl {
  margin-bottom: 1.17188vw;
  font-size: 2.03125vw;
  font-weight: 500;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  #living .living__block section .item_list .item .txt .item_ttl {
    margin-bottom: 3.90625vw;
    font-size: 4.6875vw;
  }
}

#living .living__block section .item_list .item .txt .item_txt {
  font-size: 1.25vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #living .living__block section .item_list .item .txt .item_txt {
    font-size: 3.75vw;
    font-weight: 400;
  }
}

#living .living__block section .item_list .item .txt .item_txt small {
  font-size: 12px;
}

@media only screen and (max-width: 736px) {
  #living .living__block section .item_list .item .txt .item_txt small {
    font-size: 3.125vw;
  }
}

#living .living__block section .item_list .item .c__more_btn {
  position: absolute;
  bottom: 0;
  right: 0;
}

#living .living__block section .item_list .c__more_btn_long {
  margin: 0 auto;
}

#anniversary .anv_kv {
  position: relative;
}

#anniversary .anv_kv.on::before {
  height: 148.4375vw;
  background: url(/flcache_data/corporate/30th/30thanniversary/anv_line_bg01.png)
    no-repeat top left/cover;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv.on::before {
    top: 66.40625vw;
    width: 122.5vw;
    height: 396.875vw;
  }
}

#anniversary .anv_kv::before {
  content: " ";
  position: absolute;
  top: 11.71875vw;
  width: 100vw;
  height: 106.01562vw;
  background: url(/flcache_data/corporate/30th/30thanniversary/anv_line_bg01.png)
    no-repeat top left/cover;
  mix-blend-mode: multiply;
  left: 50%;
  transform: translateX(-50%);
  transition: all 0.3s;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv::before {
    top: 70.3125vw;
    width: 100%;
    transition: all 0.3s;
    height: 172.96875vw;
    background: url(/flcache_data/corporate/30th/30thanniversary/anv_line_bg01_sp.png)
      no-repeat top left/cover;
  }
}

#anniversary .anv_kv figure {
  width: 100%;
}

#anniversary .anv_kv .txt {
  position: absolute;
  top: 26.5625vw;
  right: 0;
  width: 25vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .txt {
    top: 67.96875vw;
    width: 39.0625vw;
  }
}

#anniversary .anv_kv .icon {
  position: fixed;
  z-index: 999;
  bottom: 2.34375vw;
  right: 2.34375vw;
  width: 3.75vw;
  height: 3.75vw;
  border-radius: 3.90625vw;
  background: #fff;
  border: 2px solid #cc0033;
  transition: all 0.4s;
  cursor: pointer;
}

@media only screen and (max-width: 1280px) {
  #anniversary .anv_kv .icon {
    width: 48px;
    height: 48px;
    border-radius: 50px;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .icon {
    bottom: 4.6875vw;
    right: 4.6875vw;
    width: 12.5vw;
    height: 12.5vw;
  }
}

#anniversary .anv_kv .icon .sns_btn {
  display: block;
  padding: 0.78125vw;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 1.95312vw;
  transition: all 0.3s;
}

@media only screen and (max-width: 1280px) {
  #anniversary .anv_kv .icon .sns_btn {
    padding: 10px;
    width: 25px;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .icon .sns_btn {
    padding: 6.25vw;
    width: 6.25vw;
  }
}

#anniversary .anv_kv .icon ul {
  display: none;
}

#anniversary .anv_kv .icon.open {
  display: flex;
  align-items: center;
  width: 17.57812vw;
  border-radius: 3.90625vw;
}

@media only screen and (max-width: 1280px) {
  #anniversary .anv_kv .icon.open {
    width: 225px;
    border-radius: 50px;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .icon.open {
    width: 56.25vw;
    border-radius: 7.8125vw;
  }
}

#anniversary .anv_kv .icon.open .sns_btn {
  display: none;
}

#anniversary .anv_kv .icon.open ul {
  display: flex;
  align-items: center;
  padding: 0.85938vw 0 0.85938vw 2.73438vw;
}

@media only screen and (max-width: 1280px) {
  #anniversary .anv_kv .icon.open ul {
    padding: 11px 0 11px 35px;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .icon.open ul {
    padding: 2.96875vw 0 2.96875vw 9.375vw;
  }
}

#anniversary .anv_kv .icon.open ul li {
  display: inline-block;
}

#anniversary .anv_kv .icon.open ul li:not(:last-child) {
  margin-right: 1.5625vw;
}

@media only screen and (max-width: 1280px) {
  #anniversary .anv_kv .icon.open ul li:not(:last-child) {
    margin-right: 20px;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .icon.open ul li:not(:last-child) {
    margin-right: 5.15625vw;
  }
}

#anniversary .anv_kv .icon.open ul li img.fb {
  width: 2.10938vw;
}

@media only screen and (max-width: 1280px) {
  #anniversary .anv_kv .icon.open ul li img.fb {
    width: 27px;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .icon.open ul li img.fb {
    width: 6.71875vw;
  }
}

#anniversary .anv_kv .icon.open ul li img.tw {
  width: 2.1875vw;
}

@media only screen and (max-width: 1280px) {
  #anniversary .anv_kv .icon.open ul li img.tw {
    width: 28px;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .icon.open ul li img.tw {
    width: 7.03125vw;
  }
}

#anniversary .anv_kv .icon.open ul li img.ln {
  width: 2.26562vw;
}

@media only screen and (max-width: 1280px) {
  #anniversary .anv_kv .icon.open ul li img.ln {
    width: 29px;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .icon.open ul li img.ln {
    width: 7.34375vw;
  }
}

#anniversary .anv_kv .icon.open .cross {
  position: absolute;
  top: 50%;
  right: 1.32812vw;
  transform: translateY(-50%);
  width: 1.25vw;
  height: 1.25vw;
  cursor: pointer;
}

@media only screen and (max-width: 1280px) {
  #anniversary .anv_kv .icon.open .cross {
    right: 17px;
    width: 16px;
    height: 16px;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .icon.open .cross {
    width: 4.0625vw;
    height: 4.0625vw;
    right: 4.21875vw;
  }
}

#anniversary .anv_kv .icon.open .cross::before {
  content: " ";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
  width: 2.10938vw;
  height: 2px;
  background: #cc0033;
}

@media only screen and (max-width: 1280px) {
  #anniversary .anv_kv .icon.open .cross::before {
    width: 27px;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .icon.open .cross::before {
    width: 5.625vw;
  }
}

#anniversary .anv_kv .icon.open .cross::after {
  content: " ";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
  width: 2.10938vw;
  height: 2px;
  background: #cc0033;
}

@media only screen and (max-width: 1280px) {
  #anniversary .anv_kv .icon.open .cross::after {
    width: 27px;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .icon.open .cross::after {
    width: 5.625vw;
  }
}

#anniversary .anv_kv .anv_kv__txt {
  position: absolute;
  top: 39.84375vw;
  left: 10.9375vw;
  width: 50.78125vw;
  height: 23.90625vw;
  overflow: hidden;
  transition: all 0.3s;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .anv_kv__txt {
    top: 101.5625vw;
    left: 6.25vw;
    width: 87.5vw;
    height: 75vw;
  }
}

#anniversary .anv_kv .anv_kv__txt::before {
  content: " ";
  position: absolute;
  bottom: -0.78125vw;
  left: -10.9375vw;
  width: 100vw;
  height: 11.71875vw;
  mix-blend-mode: darken;
  background: linear-gradient(
    180deg,
    rgba(208, 15, 49, 0) 0%,
    rgba(208, 15, 49, 0.396818) 50%,
    #cc0033 98%
  );
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .anv_kv__txt::before {
    bottom: 0;
    height: 29.6875vw;
  }
}

#anniversary .anv_kv .anv_kv__txt .anv_kv__ttl {
  margin-bottom: 3.125vw;
  font-size: 3.125vw;
  font-weight: 700;
  color: #fff;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .anv_kv__txt .anv_kv__ttl {
    margin-bottom: 10.9375vw;
    font-size: 9.375vw;
  }
}

#anniversary .anv_kv .anv_kv__txt .desc {
  font-size: 1.48438vw;
  font-weight: 500;
  color: #fff;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .anv_kv__txt .desc {
    font-size: 4.0625vw;
    line-height: 1.65em;
  }
}

#anniversary .anv_kv .anv_kv__txt .desc:not(:last-child) {
  margin-bottom: 1.5625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .anv_kv__txt .desc:not(:last-child) {
    margin-bottom: 3.125vw;
  }
}

#anniversary .anv_kv .anv_kv__txt .desc img {
  width: 14.84375vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .anv_kv__txt .desc img {
    width: 34.375vw;
  }
}

#anniversary .anv_kv .anv_kv__txt.open {
  height: 56.64062vw;
  z-index: 1;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .anv_kv__txt.open {
    overflow: inherit;
    z-index: 0;
    height: 132.8125vw;
  }
}

#anniversary .anv_kv .anv_kv__txt.open::before {
  content: none;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .anv_kv__txt.open::before {
    content: none;
    left: 50%;
    transform: translateX(-50%);
    width: 90.625vw;
    height: 93.75vw;
    z-index: -1;
  }
}

#anniversary .anv_kv .more {
  position: absolute;
  z-index: 2;
  bottom: 5.85938vw;
  left: 26.25vw;
  cursor: pointer;
  width: 7.03125vw;
  height: 1.95312vw;
  transition: all 0.3s;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .more {
    bottom: 10.15625vw;
    left: 50%;
    transform: translateX(-50%);
    width: 17.1875vw;
    height: 4.6875vw;
  }
}

#anniversary .anv_kv .more span {
  position: relative;
  font-family: Roboto, sans-serif;
  font-size: 1.48438vw;
  font-weight: 500;
  color: #fff;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .more span {
    font-size: 3.75vw;
  }
}

#anniversary .anv_kv .more span::after {
  content: " ";
  position: absolute;
  top: 25%;
  right: -2.34375vw;
  transform: translateY(-50%) rotate(135deg);
  width: 0.78125vw;
  height: 0.78125vw;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  -webkit-animation: moremove 1s ease-in-out infinite;
  animation: moremove 1s ease-in-out infinite;
}

@-webkit-keyframes moremove {
  0% {
    top: 25%;
  }
  50% {
    top: 50%;
  }
  100% {
    top: 25%;
  }
}

@keyframes moremove {
  0% {
    top: 25%;
  }
  50% {
    top: 50%;
  }
  100% {
    top: 25%;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .more span::after {
    right: -4.6875vw;
    width: 1.5625vw;
    height: 1.5625vw;
  }
  @-webkit-keyframes moremove {
    0% {
      top: 25%;
    }
    50% {
      top: 50%;
    }
    100% {
      top: 25%;
    }
  }
  @keyframes moremove {
    0% {
      top: 25%;
    }
    50% {
      top: 50%;
    }
    100% {
      top: 25%;
    }
  }
}

#anniversary .anv_kv .more.open {
  bottom: 12.5vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv .more.open {
    bottom: 8.59375vw;
  }
}

#anniversary .anv_kv .more.open span::after {
  top: 75%;
  transform: translateY(-50%) rotate(-45deg);
  -webkit-animation: moremove_open 1s ease-in-out infinite;
  animation: moremove_open 1s ease-in-out infinite;
}

@-webkit-keyframes moremove_open {
  0% {
    top: 65%;
  }
  50% {
    top: 85%;
  }
  100% {
    top: 65%;
  }
}

@keyframes moremove_open {
  0% {
    top: 65%;
  }
  50% {
    top: 85%;
  }
  100% {
    top: 65%;
  }
}

@media only screen and (max-width: 736px) {
  @-webkit-keyframes moremove_open {
    0% {
      top: 50%;
    }
    50% {
      top: 75%;
    }
    100% {
      top: 50%;
    }
  }
  @keyframes moremove_open {
    0% {
      top: 50%;
    }
    50% {
      top: 75%;
    }
    100% {
      top: 50%;
    }
  }
}

#anniversary .moshimoshi {
  position: relative;
  padding: 23.4375vw 0 0;
  transition: all 0.3s;
}

@media only screen and (max-width: 736px) {
  #anniversary .moshimoshi {
    padding: 42.1875vw 0 0;
  }
}

#anniversary .moshimoshi::before {
  content: " ";
  position: absolute;
  z-index: 0;
  mix-blend-mode: multiply;
  bottom: 0;
  left: 0;
  width: 100vw;
  height: 96.64062vw;
  background: url(/flcache_data/corporate/30th/30thanniversary/anv_line_bg02.png)
    no-repeat top left/contain;
}

@media only screen and (max-width: 736px) {
  #anniversary .moshimoshi::before {
    bottom: 0;
    width: 100%;
    height: 168.75vw;
    background: url(/flcache_data/corporate/30th/30thanniversary/anv_line_bg02_sp.png)
      no-repeat top left/cover;
  }
}

#anniversary .moshimoshi.on {
  padding-top: 7.8125vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .moshimoshi.on {
    padding-top: 9.375vw;
  }
}

#anniversary .moshimoshi .ttl {
  margin-bottom: 2.73438vw;
  font-size: 2.96875vw;
  font-weight: 700;
  text-align: center;
  color: #fff;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  #anniversary .moshimoshi .ttl {
    margin-bottom: 3.90625vw;
    font-size: 6.25vw;
  }
}

#anniversary .moshimoshi .ttl small {
  font-size: 2.34375vw;
  font-weight: 700;
}

@media only screen and (max-width: 736px) {
  #anniversary .moshimoshi .ttl small {
    font-size: 4.6875vw;
  }
}

#anniversary .moshimoshi .movie {
  margin: 0 auto 2.34375vw;
  width: 62.5vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .moshimoshi .movie {
    margin-bottom: 3.125vw;
    width: 87.5vw;
  }
}

#anniversary .moshimoshi p {
  margin-bottom: 3.125vw;
  font-size: 1.25vw;
  font-weight: 500;
  color: #fff;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  #anniversary .moshimoshi p {
    margin-bottom: 6.25vw;
    font-size: 4.0625vw;
  }
}

#anniversary .moshimoshi .arrow {
  width: 0.78125vw;
  margin: 0 auto;
}

@media only screen and (max-width: 736px) {
  #anniversary .moshimoshi .arrow {
    width: 1.5625vw;
  }
}

#anniversary .evo {
  position: relative;
  padding-top: 9.375vw;
  margin-bottom: 10.15625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo {
    padding-top: 17.1875vw;
    margin-bottom: 46.875vw;
  }
}

#anniversary .evo::before {
  content: " ";
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
  width: 100vw;
  height: 76.48438vw;
  background: url(/flcache_data/corporate/30th/30thanniversary/anv_line_bg03.png)
    no-repeat top left/contain;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo::before {
    width: 100%;
    height: 114.375vw;
    background: url(/flcache_data/corporate/30th/30thanniversary/anv_line_bg03_sp.png)
      no-repeat top left/contain;
  }
}

#anniversary .evo .evo__ttl {
  margin-bottom: 10.15625vw;
  font-size: 2.96875vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__ttl {
    margin-bottom: 20.3125vw;
    font-size: 5.9375vw;
  }
}

#anniversary .evo .evo__ttl small {
  position: relative;
  display: inline-block;
  margin-bottom: 1.5625vw;
  font-size: 2.34375vw;
  font-weight: 700;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__ttl small {
    font-size: 4.6875vw;
    margin-bottom: 3.125vw;
  }
}

#anniversary .evo .evo__ttl small::before {
  content: " ";
  position: absolute;
  left: -2.34375vw;
  top: 50%;
  transform: translateY(-50%) rotate(-25deg);
  width: 1px;
  height: 2.5vw;
  background: #000;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__ttl small::before {
    left: -4.6875vw;
    height: 5vw;
  }
}

#anniversary .evo .evo__ttl small::after {
  content: " ";
  position: absolute;
  right: -2.34375vw;
  top: 50%;
  transform: translateY(-50%) rotate(25deg);
  width: 1px;
  height: 2.5vw;
  background: #000;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__ttl small::after {
    right: -4.6875vw;
    height: 5vw;
  }
}

#anniversary .evo .evo__list {
  position: relative;
}

#anniversary .evo .evo__list::before {
  content: " ";
  position: absolute;
  top: -8.59375vw;
  left: -0.78125vw;
  width: 18.75vw;
  height: 6.48438vw;
  background: url(/flcache_data/corporate/30th/30thanniversary/start.png)
    no-repeat top left/contain;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list::before {
    top: -14.53125vw;
    left: 0;
    width: 37.65625vw;
    height: 12.96875vw;
  }
}

#anniversary .evo .evo__list::after {
  content: " ";
  position: absolute;
  bottom: 0;
  left: -3.51562vw;
  width: 36.5625vw;
  height: 11.71875vw;
  background: url(/flcache_data/corporate/30th/30thanniversary/continue-to-the-future.png)
    no-repeat top left/contain;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list::after {
    bottom: -33.59375vw;
    left: 0;
    width: 86.25vw;
    height: 27.65625vw;
  }
}

#anniversary .evo .evo__list section:not(:last-child) {
  margin-bottom: 6.25vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section:not(:last-child) {
    margin-bottom: 14.0625vw;
  }
}

#anniversary .evo .evo__list section .evo__item {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item {
    flex-wrap: wrap;
  }
}

#anniversary .evo .evo__list section .evo__item .l_block {
  width: 36.71875vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .l_block {
    margin-bottom: 6.25vw;
    width: 100%;
  }
}

#anniversary .evo .evo__list section .evo__item .l_block .evo__item_ttl {
  margin-bottom: 2.34375vw;
  font-size: 2.73438vw;
  font-weight: 700;
  line-height: 1.07em;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .l_block .evo__item_ttl {
    margin-bottom: 6.25vw;
    font-size: 5.9375vw;
  }
}

#anniversary .evo .evo__list section .evo__item .l_block .evo__item_ttl span {
  padding: 0 0.78125vw 0.23438vw;
  position: relative;
  background: #cc0033;
  color: #fff;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .l_block .evo__item_ttl span {
    left: -6.25vw;
    padding: 0 1.5625vw 0.625vw 6.25vw;
  }
}

#anniversary
  .evo
  .evo__list
  section
  .evo__item
  .l_block
  .evo__item_ttl
  span:not(:last-child) {
  margin-bottom: 0.78125vw;
}

@media only screen and (max-width: 736px) {
  #anniversary
    .evo
    .evo__list
    section
    .evo__item
    .l_block
    .evo__item_ttl
    span:not(:last-child) {
    margin-bottom: 1.5625vw;
  }
}

#anniversary .evo .evo__list section .evo__item .l_block p {
  font-size: 1.25vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .l_block p {
    font-weight: 400;
    font-size: 3.75vw;
  }
}

#anniversary .evo .evo__list section .evo__item .l_block p b {
  font-weight: 700;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .l_block p b {
    font-weight: 700;
  }
}

#anniversary .evo .evo__list section .evo__item .r_block {
  position: relative;
  width: 39.0625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .r_block {
    width: 100%;
  }
}

#anniversary .evo .evo__list section .evo__item .r_block .pokebell01 {
  position: absolute;
  top: 12.89062vw;
  right: 3.90625vw;
  width: 12.5vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .r_block .pokebell01 {
    top: 29.6875vw;
    right: 7.8125vw;
    width: 27.96875vw;
  }
}

#anniversary .evo .evo__list section .evo__item .r_block .pokebell02 {
  position: absolute;
  top: 11.71875vw;
  left: 7.8125vw;
  width: 12.5vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .r_block .pokebell02 {
    top: 26.5625vw;
    left: 17.96875vw;
    width: 27.96875vw;
  }
}

#anniversary .evo .evo__list section .evo__item .r_block .pokebell03 {
  position: absolute;
  top: 3.90625vw;
  right: 7.8125vw;
  width: 16.40625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .r_block .pokebell03 {
    top: 7.8125vw;
    right: 17.96875vw;
    width: 36.71875vw;
  }
}

#anniversary .evo .evo__list section .evo__item .r_block .deco01 {
  position: absolute;
  width: 10.15625vw;
  top: 8.20312vw;
  right: 1.95312vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .r_block .deco01 {
    width: 22.65625vw;
    top: 18.75vw;
    right: 4.6875vw;
  }
}

#anniversary .evo .evo__list section .evo__item .r_block .deco02 {
  position: absolute;
  top: 16.01562vw;
  left: 4.29688vw;
  width: 9.0625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .r_block .deco02 {
    top: 35.9375vw;
    left: 4.84375vw;
    width: 20.3125vw;
  }
}

#anniversary .evo .evo__list section .evo__item .r_block .deco03 {
  position: absolute;
  top: 20.3125vw;
  right: 3.90625vw;
  width: 8.59375vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .r_block .deco03 {
    top: 45.3125vw;
    right: 9.375vw;
    width: 19.0625vw;
  }
}

#anniversary .evo .evo__list section .evo__item .r_block .deco04 {
  position: absolute;
  top: 6.32812vw;
  left: 6.25vw;
  width: 7.5vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .evo .evo__list section .evo__item .r_block .deco04 {
    top: 14.0625vw;
    left: 14.0625vw;
    width: 16.71875vw;
  }
}

#anniversary .special {
  position: relative;
  padding: 10.15625vw 0 0;
}

@media only screen and (max-width: 736px) {
  #anniversary .special {
    padding: 20.3125vw 0 0;
  }
}

#anniversary .special::before {
  content: " ";
  position: absolute;
  z-index: -1;
  top: 0;
  right: 0;
  width: 100%;
  height: 72.8125vw;
  background: url(/flcache_data/corporate/30th/30thanniversary/anv_line_bg04.png)
    no-repeat top left/100% 100%;
}

@media only screen and (max-width: 736px) {
  #anniversary .special::before {
    height: 134.375vw;
    background: url(/flcache_data/corporate/30th/30thanniversary/anv_line_bg04_sp.png)
      no-repeat top left/contain;
  }
}

#anniversary .special .special__ttl {
  margin-bottom: 3.90625vw;
  font-size: 2.96875vw;
  font-weight: 700;
  text-align: center;
  line-height: 1.4em;
  color: #fff;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__ttl {
    margin-bottom: 6.25vw;
    font-size: 6.25vw;
  }
}

#anniversary .special .special__ttl small {
  display: inline-block;
  margin-bottom: 1.5625vw;
  font-size: 2.34375vw;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__ttl small {
    margin-bottom: 4.6875vw;
    font-size: 4.6875vw;
  }
}

#anniversary .special .special__image {
  position: relative;
  margin: 0 auto 5.46875vw;
  width: 54.6875vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__image {
    margin-bottom: 14.0625vw;
    width: 87.5vw;
  }
}

#anniversary .special .special__image .dummy {
  position: absolute;
  top: 3.51562vw;
  left: -3.90625vw;
  width: 6.25vw;
}

#anniversary .special .special__lead {
  margin: 0 auto 7.8125vw;
  width: 54.6875vw;
  font-size: 1.25vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__lead {
    margin-bottom: 14.0625vw;
    font-size: 3.75vw;
    width: 87.5vw;
    font-weight: 400;
  }
}

#anniversary .special .special__contents .area {
  display: flex;
  justify-content: space-between;
  margin: 0 auto;
  width: 78.125vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .area {
    flex-wrap: wrap;
    width: 87.5vw;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .area.direction_sp {
    flex-direction: column-reverse;
  }
}

#anniversary .special .special__contents .area:first-child,
#anniversary .special .special__contents .area:nth-child(2) {
  margin-bottom: 9.375vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .area:first-child,
  #anniversary .special .special__contents .area:nth-child(2) {
    margin-bottom: 12.5vw;
  }
}

#anniversary .special .special__contents .area:nth-child(3) {
  margin-bottom: 15.625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .area:nth-child(3) {
    margin-bottom: 45.3125vw;
  }
}

#anniversary .special .special__contents .area .area__txtbox {
  width: 35.15625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .area .area__txtbox {
    width: 100%;
  }
}

#anniversary .special .special__contents .area .area__txtbox .area__ttl_eng {
  padding-left: 0.78125vw;
  margin-bottom: 0.78125vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .area .area__txtbox .area__ttl_eng {
    padding-left: 0;
    margin-bottom: 1.5625vw;
  }
}

#anniversary
  .special
  .special__contents
  .area
  .area__txtbox
  .area__ttl_eng.past {
  width: 10.15625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .area
    .area__txtbox
    .area__ttl_eng.past {
    width: 20.3125vw;
  }
}

#anniversary
  .special
  .special__contents
  .area
  .area__txtbox
  .area__ttl_eng.future {
  width: 12.5vw;
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .area
    .area__txtbox
    .area__ttl_eng.future {
    margin-left: auto;
    width: 25vw;
  }
}

#anniversary
  .special
  .special__contents
  .area
  .area__txtbox
  .area__ttl_eng.welcome {
  width: 16.32812vw;
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .area
    .area__txtbox
    .area__ttl_eng.welcome {
    margin-left: auto;
    width: 32.65625vw;
  }
}

#anniversary .special .special__contents .area .area__txtbox .area__ttl {
  margin-bottom: 1.5625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .area .area__txtbox .area__ttl {
    margin-bottom: 3.125vw;
  }
}

#anniversary .special .special__contents .area .area__txtbox .area__ttl span {
  position: relative;
  padding: 0 0.78125vw;
  font-size: 2.73438vw;
  font-weight: 700;
  color: #fff;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .area .area__txtbox .area__ttl span {
    left: -1.5em;
    padding: 0 1.5625vw 0 1.5em;
    font-size: 5.9375vw;
  }
}

#anniversary
  .special
  .special__contents
  .area
  .area__txtbox
  .area__ttl
  span::before {
  content: " ";
  position: absolute;
  z-index: -1;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 100%;
  height: 3.125vw;
  background: #cc0033;
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .area
    .area__txtbox
    .area__ttl
    span::before {
    top: 54%;
    height: 7.03125vw;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .area
    .area__txtbox
    .area__ttl.future__ttl {
    text-align: right;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .area
    .area__txtbox
    .area__ttl.future__ttl
    span {
    left: 1.5em;
    padding: 0 1.5em 0 1.5625vw;
  }
}

#anniversary .special .special__contents .area .area__txt {
  font-size: 1.25vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .area .area__txt {
    font-size: 3.75vw;
    font-weight: 400;
  }
}

#anniversary .special .special__contents .area .area_imgbox {
  width: 39.0625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .area .area_imgbox {
    width: 100%;
  }
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .area .area_imgbox figure {
    margin-bottom: 3.125vw;
  }
}

#anniversary .special .special__contents .app {
  position: relative;
}

#anniversary .special .special__contents .app::before {
  content: " ";
  position: absolute;
  z-index: -1;
  top: -30.46875vw;
  left: 0;
  width: 100vw;
  height: 154.53125vw;
  background: url(/flcache_data/corporate/30th/30thanniversary/anv_line_bg05.png)
    no-repeat top left/contain;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .app::before {
    top: -36.71875vw;
    width: 100%;
    height: 359.375vw;
    background: url(/flcache_data/corporate/30th/30thanniversary/anv_line_bg05_sp.png)
      no-repeat top left/100% 100%;
  }
}

#anniversary .special .special__contents .app .app__ttl {
  margin-bottom: 3.125vw;
  font-size: 3.125vw;
  font-weight: 700;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .app .app__ttl {
    margin-bottom: 6.25vw;
    font-size: 6.25vw;
  }
}

#anniversary .special .special__contents .app .app__lead {
  margin-bottom: 7.8125vw;
  font-size: 1.5625vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .app .app__lead {
    margin-bottom: 12.5vw;
    font-size: 3.75vw;
    font-weight: 400;
  }
}

#anniversary .special .special__contents .app .app__lead small {
  font-size: 1.40625vw;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .app .app__lead small {
    font-size: 3.4375vw;
    font-weight: 400;
  }
}

#anniversary .special .special__contents .app .app__item {
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .app .app__item {
    flex-wrap: wrap;
    justify-content: center;
  }
}

#anniversary .special .special__contents .app .app__item:not(:last-child) {
  margin-bottom: 7.8125vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .app .app__item:not(:last-child) {
    margin-bottom: 15.625vw;
  }
}

#anniversary .special .special__contents .app .app__item .app__item_ttl {
  font-size: 2.1875vw;
  font-weight: 700;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .app .app__item .app__item_ttl {
    margin-bottom: 6.25vw;
    font-size: 5.3125vw;
    text-align: center;
  }
}

#anniversary .special .special__contents .app .app__item .app__link_box {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  width: 39.0625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .special .special__contents .app .app__item .app__link_box {
    display: block;
    width: 100%;
  }
}

#anniversary .special .special__contents .app .app__item .app__link_box .store {
  transition: all 0.3s;
  width: 17.5vw;
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .app
    .app__item
    .app__link_box
    .store {
    margin: 0 auto;
    width: 37.5vw;
  }
}

#anniversary
  .special
  .special__contents
  .app
  .app__item
  .app__link_box
  .store:nth-child(2) {
  width: 19.6875vw;
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .app
    .app__item
    .app__link_box
    .store:nth-child(2) {
    margin-top: 4.6875vw;
    width: 42.03125vw;
  }
}

#anniversary
  .special
  .special__contents
  .app
  .app__item
  .app__link_box
  .store:hover {
  transform: scale(1.1);
}

#anniversary
  .special
  .special__contents
  .app
  .app__item
  .app__link_box
  .link_btn {
  width: 39.0625vw;
  transition: all 0.3s;
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .app
    .app__item
    .app__link_box
    .link_btn {
    width: 100%;
  }
}

#anniversary
  .special
  .special__contents
  .app
  .app__item
  .app__link_box
  .link_btn:not(:last-child) {
  margin-bottom: 1.5625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .app
    .app__item
    .app__link_box
    .link_btn:not(:last-child) {
    margin-bottom: 4.6875vw;
  }
}

#anniversary
  .special
  .special__contents
  .app
  .app__item
  .app__link_box
  .link_btn
  a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 6.25vw;
  font-family: Roboto, sans-serif;
  font-size: 1.95312vw;
  background: #fff;
  font-weight: 500;
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .app
    .app__item
    .app__link_box
    .link_btn
    a {
    height: 12.5vw;
    font-size: 4.6875vw;
  }
}

#anniversary
  .special
  .special__contents
  .app
  .app__item
  .app__link_box
  .link_btn
  a::after {
  content: " ";
  position: absolute;
  top: 50%;
  right: 1.79688vw;
  transform: translateY(-50%);
  width: 1.64062vw;
  height: 1.40625vw;
  background: url(/flcache_data/corporate/30th/30thanniversary/link_icon.png)
    no-repeat top left/contain;
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .app
    .app__item
    .app__link_box
    .link_btn
    a::after {
    right: 4.375vw;
    width: 3.28125vw;
    height: 2.8125vw;
  }
}

#anniversary
  .special
  .special__contents
  .app
  .app__item
  .app__link_box
  .link_btn.border
  a {
  border: 1px solid #000;
  font-family: "Noto Sans JP", sans-serif;
  font-size: 1.5625vw;
  font-weight: 500;
  background: none;
}

@media only screen and (max-width: 736px) {
  #anniversary
    .special
    .special__contents
    .app
    .app__item
    .app__link_box
    .link_btn.border
    a {
    font-size: 3.75vw;
  }
}

#anniversary
  .special
  .special__contents
  .app
  .app__item
  .app__link_box
  .link_btn:hover {
  transform: scale(1.1);
}

#anniversary .about {
  padding-top: 31.25vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .about {
    padding-top: 62.5vw;
  }
}

@media only screen and (max-width: 736px) {
  #second #com section:last-child {
    margin-bottom: 23.4375vw;
  }
}

#second #com .item figure {
  padding: 1.5px 0;
}

header.anv_header {
  background: #fff;
}

header.anv_header nav ul.anv_list li a {
  color: #fff;
}

@media only screen and (max-width: 736px) {
  header.anv_header nav ul.anv_list li a {
    color: #000;
  }
}

header.anv_header nav ul.anv_list li a::after {
  background: #fff;
}

@media only screen and (max-width: 736px) {
  header.anv_header nav ul.anv_list li a::after {
    content: none;
  }
}

#anniversary main {
  padding-top: 6.25vw;
}

@media only screen and (max-width: 736px) {
  #anniversary main {
    padding-top: 15.625vw;
  }
}

div.ga_inview,
div.ga_delay_inview {
  width: 1px;
  height: 1px;
}

#second #com .com_kv--img {
  padding-bottom: 3.51562vw;
}

@media only screen and (max-width: 736px) {
  #second #com .com_kv--img {
    padding-bottom: 26.5625vw;
  }
}

#second #com .c__second_kv.com_kv {
  margin-bottom: 19.92188vw;
}

@media only screen and (max-width: 736px) {
  #second #com .c__second_kv.com_kv {
    margin-bottom: 32.8125vw;
  }
}

@media only screen and (max-width: 736px) {
  #sc .sc_kv--img {
    padding-bottom: 14.84375vw;
  }
}

@media only screen and (max-width: 736px) {
  #sc .c__second_kv.sc_kv {
    margin-bottom: 28.90625vw;
  }
}

@media only screen and (max-width: 736px) {
  #sc .sc_kv--img {
    padding-bottom: 14.84375vw;
  }
}

#stn .stn_kv--img {
  padding-bottom: 6.25vw;
}

@media only screen and (max-width: 736px) {
  #stn .stn_kv--img {
    padding-bottom: 34.375vw;
  }
}

#living .living_kv--img {
  padding-bottom: 7.8125vw;
}

@media only screen and (max-width: 736px) {
  #living .living_kv--img {
    padding-bottom: 43.75vw;
  }
}

#anniversary .anv_kv--img {
  padding-bottom: 15.625vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv--img {
    padding-bottom: 67.1875vw;
  }
}

#anniversary .anv_kv--img.open {
  padding-bottom: 54.6875vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .anv_kv--img.open {
    padding-bottom: 178.125vw;
  }
}

@media only screen and (max-width: 736px) {
  .kv--img {
    padding-bottom: 36.40625vw;
  }
}

#anniversary .making {
  position: relative;
  z-index: 0;
  background: #cc0033;
  margin-top: -1px;
  padding-top: 3.125vw;
  padding-bottom: 9.375vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .making {
    padding-top: 6.25vw;
    padding-bottom: 18.75vw;
  }
}

#anniversary .making .ttl {
  margin-bottom: 2.73438vw;
  font-size: 2.73438vw;
  font-weight: 700;
  text-align: center;
  color: #fff;
  line-height: 1.4em;
}

@media only screen and (max-width: 736px) {
  #anniversary .making .ttl {
    margin-bottom: 3.90625vw;
    font-size: 5.46875vw;
  }
}

#anniversary .making .ttl small {
  font-size: 2.34375vw;
  font-weight: 700;
}

@media only screen and (max-width: 736px) {
  #anniversary .making .ttl small {
    font-size: 4.6875vw;
  }
}

#anniversary .making .movie {
  margin: 0 auto 2.34375vw;
  width: 62.5vw;
}

@media only screen and (max-width: 736px) {
  #anniversary .making .movie {
    margin-bottom: 3.125vw;
    width: 87.5vw;
  }
}

#anniversary .making p {
  font-size: 1.25vw;
  font-weight: 500;
  color: #fff;
  text-align: center;
}

@media only screen and (max-width: 736px) {
  #anniversary .making p {
    font-size: 4.0625vw;
  }
}

.c__contents_list.wrap {
  flex-wrap: wrap;
}

@media only screen and (max-width: 736px) {
  .c__contents_list.wrap {
    display: block;
  }
}

.c__contents_list.wrap .item {
  margin-bottom: 4.6875vw;
  width: 37.5vw;
}

@media only screen and (max-width: 736px) {
  .c__contents_list.wrap .item {
    width: 100%;
    margin-bottom: 12.5vw;
  }
}

@media only screen and (max-width: 736px) {
  .c__contents_list.wrap .item:last-child {
    margin-bottom: 0;
  }
}

.c__contents_list.wrap .item h3 {
  margin-bottom: 1.95312vw;
}

@media only screen and (max-width: 736px) {
  .c__contents_list.wrap .item h3 {
    margin-bottom: 3.125vw;
    text-align: center;
  }
}

.c__contents_list.wrap .item figure {
  position: relative;
  overflow: hidden;
  width: 20.3125vw;
  height: 11.875vw;
}

@media only screen and (max-width: 736px) {
  .c__contents_list.wrap .item figure {
    width: 100%;
    height: 50.9375vw;
    margin-bottom: 4.6875vw;
  }
}

.c__contents_list.wrap .item figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

.c__contents_list.wrap .item figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

.c__contents_list.wrap .item .txt_box {
  position: relative;
  top: -0.54688vw;
  width: 15.625vw;
}

@media only screen and (max-width: 736px) {
  .c__contents_list.wrap .item .txt_box {
    width: 100%;
    top: 0;
  }
}

.c__contents_list.wrap .item .txt_box p {
  margin-bottom: 1.5625vw;
}

@media only screen and (max-width: 736px) {
  .c__contents_list.wrap .item .txt_box p {
    margin-bottom: 3.125vw;
    text-align: center;
  }
}

.c__contents_list.wrap .item .txt_box .c__more_btn {
  margin-left: auto;
}

@media only screen and (max-width: 736px) {
  .c__contents_list.wrap .item .txt_box .c__more_btn {
    margin: 0 auto;
  }
}

.c__contents_list .flexbox {
  width: 100%;
  display: flex;
  justify-content: space-between;
}

@media only screen and (max-width: 736px) {
  .c__contents_list .flexbox {
    display: block;
  }
}

#top #everyday {
  position: relative;
  padding: 10.9375vw 0 12.5vw;
}

@media only screen and (max-width: 736px) {
  #top #everyday {
    padding: 12.5vw 0 15.625vw;
  }
}

#top #everyday::before {
  content: " ";
  position: absolute;
  top: -20.625vw;
  right: 0;
  width: 100%;
  height: 115.23438vw;
  background: url(/flcache_data/corporate/30th/ev_bg.png) no-repeat top left/100% 100%;
}

@media only screen and (max-width: 736px) {
  #top #everyday::before {
    top: -19.53125vw;
    height: 284.375vw;
    background: url(/flcache_data/corporate/30th/ev_bg_sp.png) no-repeat top left/100% 100%;
  }
}

#top #everyday .ev__ttl {
  position: relative;
  z-index: 2;
  margin-left: auto;
  margin-bottom: 1.4vw;
  width: 30.31vw;
}

@media only screen and (max-width: 736px) {
  #top #everyday .ev__ttl {
    margin-bottom: 2vw;
    width: 52.97vw;
    margin-left: 0;
  }
}

#top #everyday .ev__lead {
  position: relative;
  z-index: 2;
  margin-bottom: 2.3vw;
  font-size: 1.5625vw;
  font-weight: 500;
  text-align: right;
}

@media only screen and (max-width: 736px) {
  #top #everyday .ev__lead {
    margin-bottom: 5.65vw;
    font-size: 3.75vw;
    text-align: inherit;
  }
}

#top #everyday .article_list {
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 736px) {
  #top #everyday .article_list {
    margin-bottom: 6.25vw;
  }
}

#top #everyday .article_list .article:last-child {
  margin-bottom: 4.6875vw;
}

@media only screen and (max-width: 736px) {
  #top #everyday .article_list .article:last-child {
    margin-bottom: 3.125vw;
  }
}

@media only screen and (max-width: 736px) {
  #top #everyday .article_list .article:nth-child(3), #top #everyday .article_list .article:nth-child(5) {
    margin-right: 0;
  }
}

#top #everyday .btn {
  position: relative;
  z-index: 1;
  clear: both;
  margin: 40px auto 0;
  width: 21.875vw;
}

@media only screen and (max-width: 736px) {
  #top #everyday .btn {
    margin-top: 6.25vw;
    width: 50vw;
  }
}

#top #everyday .btn a {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 4.6875vw;
  background: #000;
  font-family: Roboto,sans-serif;
  font-size: 1.40625vw;
  font-weight: 500;
  color: #fff;
  overflow: hidden;
}

@media only screen and (max-width: 736px) {
  #top #everyday .btn a {
    height: 10.9375vw;
    font-size: 3.59375vw;
  }
}

#top #everyday .btn a::after {
  content: " ";
  position: absolute;
  top: 50%;
  left: -0.3125vw;
  transform: translateY(-50%) skew(45deg);
  width: 4.29688vw;
  height: 0.70312vw;
  border: none;
  border-right: 2px solid #FFF;
  border-bottom: 1px solid #FFF;
  transition: .3s;
}

@media only screen and (max-width: 736px) {
  #top #everyday .btn a::after {
    left: -0.625vw;
    width: 8.59375vw;
    height: 1.40625vw;
  }
}

#top #everyday .btn a:hover::after {
  width: 5.85938vw;
}

@media only screen and (max-width: 736px) {
  #top #everyday .btn a:hover::after {
    width: 13.28125vw;
  }
}

.article_list {
  position: relative;
  width: 79.6875vw;
}

@media only screen and (max-width: 736px) {
  .article_list {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    width: 100%;
  }
}

.article_list::after {
  clear: both;
}

.article_list .article {
  position: relative;
  width: 18.35938vw;
  float: left;
  margin-right: 1.5625vw;
  margin-bottom: 1.5625vw;
}

@media only screen and (max-width: 736px) {
  .article_list .article {
    float: inherit;
    width: 42.1875vw;
    margin-right: 0;
    margin-bottom: 3.125vw;
  }
}

.article_list .article figure {
  overflow: hidden;
}

.article_list .article figure img {
  transition: 0.3s;
}

@media only screen and (max-width: 736px) {
  .article_list .article:nth-child(6) {
    float: inherit;
  }
}

.article_list .article .tag_list {
  display: flex;
  flex-wrap: wrap;
}

.article_list .article .tag_list .tag {
  font-weight: 500;
  font-size: 1.01562vw;
  color: #cc0033;
  transition: 0.3s;
  line-height: 1.3;
  padding: 0 0.3em;
  border: 1px solid #cc0033;
}

@media only screen and (max-width: 736px) {
  .article_list .article .tag_list .tag {
    font-size: 2.8125vw;
  }
}

.article_list .article .tag_list .tag:not(:last-child) {
  margin-right: 0.78125vw;
}

@media only screen and (max-width: 736px) {
  .article_list .article .tag_list .tag:not(:last-child) {
    margin-right: 1.5625vw;
  }
}

.article_list .article .txt_box {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 1.17188vw 1.5625vw;
  box-sizing: border-box;
  width: 100%;
  background: rgba(255, 255, 255, 0.6);
  -webkit-backdrop-filter: blur(2px);
          backdrop-filter: blur(2px);
  transition: 0.3s;
}

@media only screen and (max-width: 736px) {
  .article_list .article .txt_box {
    padding: 3.125vw 1.875vw;
  }
}

.article_list .article .txt_box .ttl {
  font-size: 1.25vw;
  margin-bottom: 0.5em;
  font-weight: 500;
  line-height: 1.6em;
  transition: 0.3s;
    display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

@media only screen and (max-width: 736px) {
  .article_list .article .txt_box .ttl {
    font-size: 3.4375vw;
  }
}

.article_list .article .txt_box .date {
  font-family: Roboto,sans-serif;
  text-align: right;
  color: #666;
  font-size: 1.09375vw;
  transition: 0.3s;
}

@media only screen and (max-width: 736px) {
  .article_list .article .txt_box .date {
    font-size: 2.8125vw;
  }
}

.article_list .article .txt_box .new {
  position: absolute;
  top: 0;
  left: 0;
  width: 4.69vw;
  vertical-align: top;
}

@media only screen and (max-width: 736px) {
  .article_list .article .txt_box .new {
    width: 10.94vw;
  }
}

.article_list .article:hover .txt_box {
  padding: 1.95312vw 1.5625vw;
  background: rgba(204, 0, 51, 0.6);
}

.article_list .article .txt_box .new img {
  vertical-align: top;
}

@media only screen and (max-width: 736px) {
  .article_list .article:hover .txt_box {
    padding: 3.125vw 1.875vw;
  }
}

.article_list .article:hover .txt_box .ttl {
  color: #fff;
}

.article_list .article:hover .txt_box .tag_list li {
  color: #fff;
  border: 1px solid #fff;
}

.article_list .article:hover .txt_box .date {
  color: #fff;
}

.article_list .article:hover img {
  transform: scale(1.1);
}

.article_list .article:hover .new img {
  transform: none;
}

.article_list .article.big {
  width: 38.28125vw;
}

@media only screen and (max-width: 736px) {
  .article_list .article.big {
    width: 100%;
  }
}

.article_list .article.big .txt_box {
  padding: 1.95312vw;
}

@media only screen and (max-width: 736px) {
  .article_list .article.big .txt_box {
    padding: 3.90625vw 3.125vw;
  }
}

.article_list .article.big .txt_box .ttl {
  font-size: 1.875vw;
}

@media only screen and (max-width: 736px) {
  .article_list .article.big .txt_box .ttl {
    font-size: 4.21875vw;
  }
}

.article_list .article.big:hover .txt_box {
  padding: 2.73438vw 1.95312vw;
}

@media only screen and (max-width: 736px) {
  .article_list .article.big:hover .txt_box {
    padding: 4vw 3vw;
  }
}

.article_list .article.big .new {
  width: 6.25vw;
}

@media only screen and (max-width: 736px) {
  .article_list .article.big .new {
    width:12.5vw;
  }
}

#history_bnr .history_bnr__ttl {
  margin-bottom: 3.90625vw;
  font-size: 2.73438vw;
  text-align: center;
  font-weight: 700;
}

@media only screen and (max-width: 736px) {
  #history_bnr .history_bnr__ttl {
    margin-bottom: 6.25vw;
    font-size: 5vw;
  }
}

#history_bnr .history_bnr__item {
  display: flex;
  justify-content: center;
}

#history_bnr .history_bnr__item figure {
  position: relative;
  overflow: hidden;
  margin-right: 2.34375vw;
  width: 37.5vw;
  height: 20vw;
}

@media only screen and (max-width: 736px) {
  #history_bnr .history_bnr__item figure {
    margin-right: 3.125vw;
    width: 37.5vw;
    height: 20vw;
  }
}

#history_bnr .history_bnr__item figure img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  transition: all 0.3s;
}

#history_bnr .history_bnr__item figure:hover img {
  transform: translate(-50%, -50%) scale(1.15);
}

#history_bnr .history_bnr__item .txt {
  width: 23.4375vw;
}

@media only screen and (max-width: 736px) {
  #history_bnr .history_bnr__item .txt {
    position: relative;
    top: -1.875vw;
    width: 46.875vw;
  }
}

#history_bnr .history_bnr__item .txt p {
  margin-bottom: 1.17188vw;
  font-size: 1.25vw;
  font-weight: 500;
  line-height: 1.75em;
}

@media only screen and (max-width: 736px) {
  #history_bnr .history_bnr__item .txt p {
    margin-bottom: 3.90625vw;
    font-size: 3.75vw;
    font-weight: 400;
  }
}

#history_bnr .history_bnr__item .txt .c__more_btn {
  margin-left: auto;
}

.fc-current {
  color: currentcolor!important;
}

.fw-bold {
  font-weight: bold!important;
}