@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap");
@-webkit-keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes displayAnime {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
/* Header
-----------------------------------*/
.header_wrapper {
  width: 100%;
  height: 100px;
  background-color: #fff;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}
@media screen and (max-width: 767px) {
  .header_wrapper {
    height: 65px;
  }
}

.header_content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 1%;
  background-color: #ffffff;
  position: fixed;
  top: 0;
  left: 0;
  height: 100px;
  z-index: 3;
  width: 100vw;
  gap: 3vw;
}
@media screen and (max-width: 767px) {
  .header_content {
    -webkit-box-align: baseline;
        -ms-flex-align: baseline;
            align-items: baseline;
    height: 70px;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    gap: 0;
    padding: 0;
  }
}
.header_content p.sp_catch {
  display: none;
}
@media screen and (max-width: 767px) {
  .header_content p.sp_catch {
    display: block;
    font-size: 10px;
    white-space: nowrap;
    border-bottom: 1px solid #F2F2F2;
    padding-bottom: 0.5%;
    margin-bottom: 2%;
    width: 100%;
    padding: 2% 3% 0.5%;
    text-align: center;
    line-height: 1.875;
  }
}
.header_content .logo_box a {
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.header_content .logo_box a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .header_content .logo_box a:hover {
    opacity: 1;
  }
}
.header_content .logo_box a {
  margin-bottom: 2%;
}
.header_content .logo_box a img {
  vertical-align: bottom;
  margin-left: 3%;
}
.header_content .logo_box p.pc_catch {
  line-height: 1;
  color: #707070;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .header_content .logo_box p.pc_catch {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .header_content .logo_box {
    width: 200px;
  }
}
.header_content .header_text {
  width: 100%;
}
@media screen and (max-width: 1275px) {
  .header_content .header_text {
    display: none;
  }
}

.post-type-archive-works .header_content, .post-type-archive-works .header_wrapper {
  background-color: rgba(255, 255, 255, 0.9);
}

.menu_wrapper {
  display: none;
  position: fixed;
  right: 3%;
  top: 5.5%;
  z-index: 99;
}
@media screen and (max-width: 1275px) {
  .menu_wrapper {
    display: block;
  }
}
.menu_wrapper .js_hamburger_menu {
  position: relative;
  border: none;
  padding: 0;
  width: 80px;
  height: 50px;
  background-color: transparent;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .menu_wrapper .js_hamburger_menu {
    width: 30px;
    height: 30px;
  }
}
.menu_wrapper .js_hamburger_menu span {
  display: block;
  height: 7.25px;
  background-color: #333333;
  border-radius: 50px;
  margin-bottom: 15px;
  width: 100%;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
@media screen and (max-width: 767px) {
  .menu_wrapper .js_hamburger_menu span {
    height: 3px;
    margin-bottom: 7px;
  }
}
.menu_wrapper .js_hamburger_menu.open span {
  background-color: #333333;
}
@media screen and (max-width: 767px) {
  .menu_wrapper .js_hamburger_menu.open span {
    background-color: #ffffff;
  }
}
.menu_wrapper .js_hamburger_menu.open span:nth-child(1) {
  -webkit-transform: rotate(-45deg);
          transform: rotate(-45deg);
  position: absolute;
  top: 24px;
}
@media screen and (max-width: 767px) {
  .menu_wrapper .js_hamburger_menu.open span:nth-child(1) {
    top: 10px;
  }
}
.menu_wrapper .js_hamburger_menu.open span:nth-child(2) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
  top: 25px;
}
@media screen and (max-width: 767px) {
  .menu_wrapper .js_hamburger_menu.open span:nth-child(2) {
    top: 10px;
  }
}
.menu_wrapper .js_hamburger_menu.open span:nth-child(3) {
  -webkit-transform: rotate(45deg);
          transform: rotate(45deg);
  position: absolute;
}
@media screen and (max-width: 767px) {
  .menu_wrapper .js_hamburger_menu.open span:nth-child(3) {
    top: 10px;
  }
}
.menu_wrapper .js_hamburger_menu.js_top_menu {
  background-color: transparent;
}
@media screen and (max-width: 767px) {
  .menu_wrapper .js_hamburger_menu.js_top_menu {
    width: 30px;
    height: 30px;
  }
}
.menu_wrapper .js_hamburger_menu.js_top_menu.open span {
  background-color: #333333;
}
@media screen and (max-width: 767px) {
  .menu_wrapper .js_hamburger_menu.js_top_menu.open span {
    background-color: #fff;
  }
}
.menu_wrapper .js_hamburger_menu.js_top_menu span {
  display: block;
  height: 6px;
  background-color: #ffffff;
  border-radius: 50px;
  margin-bottom: 15px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .menu_wrapper .js_hamburger_menu.js_top_menu span {
    height: 3px;
    margin-bottom: 7px;
  }
}
.menu_wrapper .js_hamburger_menu.js_top_menu.color_change span {
  background-color: #333333;
}

.js_header_nav_wrapper {
  display: none;
}
.js_header_nav_wrapper.active {
  display: block;
  width: 100%;
  position: fixed;
  z-index: 3;
  -webkit-animation-name: displayAnime;
          animation-name: displayAnime;
  -webkit-animation-duration: 1s;
          animation-duration: 1s;
  -webkit-animation-fill-mode: forwards;
          animation-fill-mode: forwards;
}

.pc_header_nav_area {
  background-color: #fff;
  position: absolute;
  top: 100px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .pc_header_nav_area {
    display: none;
  }
}
.pc_header_nav_area nav {
  max-width: 1270px;
  margin: 0 auto;
  padding: 3% 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.pc_header_nav_area nav ul {
  position: relative;
  padding-left: 130px;
  width: calc(100% / 3);
}
.pc_header_nav_area nav ul:before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  display: block;
  width: 108px;
  height: 354px;
  background-size: contain;
  background-repeat: no-repeat;
}
.pc_header_nav_area nav ul:first-child:before {
  background-image: url(../img/pc_header_img01.jpg);
}
.pc_header_nav_area nav ul:nth-child(2):before {
  background-image: url(../img/pc_header_img02.jpg);
}
.pc_header_nav_area nav ul:nth-child(3):before {
  background-image: url(../img/pc_header_img03.jpg);
}
.pc_header_nav_area nav ul li {
  margin-bottom: 40px;
  list-style-type: none;
}
.pc_header_nav_area nav ul li a {
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.pc_header_nav_area nav ul li a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .pc_header_nav_area nav ul li a:hover {
    opacity: 1;
  }
}
.pc_header_nav_area nav ul li:nth-child(1) {
  padding-top: 2%;
}
.pc_header_nav_area nav ul li a {
  font-size: 18px;
}

.menu_wrapper .js_hamburger_menu.js_top_menu.color_change.open span {
  background-color: #333333;
}
@media screen and (max-width: 767px) {
  .menu_wrapper .js_hamburger_menu.js_top_menu.color_change.open span {
    background-color: #ffffff;
  }
}

.sp_header_nav_area {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp_header_nav_area {
    display: block;
    overflow-y: scroll;
    height: 100vh;
    background-color: rgba(51, 51, 51, 0.9);
  }
}

.sp_header_top_nav {
  margin-top: 20%;
}
.sp_header_top_nav li {
  list-style-type: none;
}
.sp_header_top_nav li a {
  display: block;
  padding: 4% 0 4% 8%;
  border-bottom: 1px solid #707070;
  color: #ffffff;
  font-size: 18px;
}
.sp_header_top_nav li:first-child a {
  border-top: 1px solid #707070;
}

.sp_header_bottom_nav {
  padding: 8% 0 40% 12%;
}
.sp_header_bottom_nav li {
  margin-bottom: 6%;
  list-style-type: none;
}
.sp_header_bottom_nav li a {
  color: #ffffff;
  font-size: 18px;
}

.header_direct_nav ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
.header_direct_nav ul li {
  padding: 0 2%;
  border-right: 1px solid #707070;
  list-style-type: none;
  line-height: 1;
}
.header_direct_nav ul li a {
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.header_direct_nav ul li a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .header_direct_nav ul li a:hover {
    opacity: 1;
  }
}
.header_direct_nav ul li:last-child {
  border-right: none;
}
.header_direct_nav ul li a {
  color: #707070;
  font-size: 14px;
}

/* footer
-----------------------------------*/
/* 追尾バナーのスタイル ここから*/
.pc_tracking_content {
  position: fixed;
  right: 0;
  top: 235px;
  z-index: 99;
}
@media screen and (max-width: 767px) {
  .pc_tracking_content {
    display: none;
  }
}
.pc_tracking_content .tel_banner {
  margin-bottom: 5px;
}
.pc_tracking_content .tel_banner a {
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.pc_tracking_content .tel_banner a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .pc_tracking_content .tel_banner a:hover {
    opacity: 1;
  }
}
.pc_tracking_content .tel_banner img {
  vertical-align: bottom;
}
.pc_tracking_content .contact_banner {
  text-align: right;
}
.pc_tracking_content .contact_banner a {
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.pc_tracking_content .contact_banner a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .pc_tracking_content .contact_banner a:hover {
    opacity: 1;
  }
}
.pc_tracking_content .contact_banner img {
  vertical-align: bottom;
}

.sp_tracking_content {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp_tracking_content.js-dispaly {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    position: fixed;
    bottom: 0;
    left: 0;
    z-index: 3;
    width: 100%;
  }
  .sp_tracking_content.js-dispaly .sp_tel_banner {
    width: 70%;
  }
  .sp_tracking_content.js-dispaly .sp_tel_banner img {
    width: 100%;
    height: auto;
  }
  .sp_tracking_content.js-dispaly .sp_contact_banner {
    background: #444;
    border-right: .5px solid #fff;
    color: #fff;
    height: 60px;
    line-height: 60px;
    text-align: center;
    vertical-align: middle;
    width: 25%;
  }
  .sp_tracking_content.js-dispaly .sp_contact_banner img {
    width: 100%;
    height: auto;
  }
  .sp_tracking_content.js-dispaly .sp_contact_banner a{
    display: block;
  }
}

/* 追尾バナーのスタイル ここまで*/
/* モーダルのスタイル ここから*/
.font_box {
  padding: 5%;
  color: #707070;
  position: relative;
}
.font_box p {
  text-align: left;
}
.font_box h3 {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 1%;
  text-align: left;
}
.font_box .image_list li {
  margin-bottom: 1%;
}
.font_box .cancel_btn {
  position: absolute;
  top: 2%;
  right: 3%;
  min-width: unset;
  background-color: #ffffff;
  color: #707070;
}
.font_box .cancel_btn:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .font_box .cancel_btn:hover {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .font_box .cancel_btn {
    top: 1%;
    right: 2%;
  }
}
.font_box .cancel_btn img {
  width: 20px;
}

.number_box {
  padding: 5%;
  color: #707070;
  position: relative;
}
.number_box p {
  text-align: left;
}
.number_box h3 {
  font-weight: bold;
  font-size: 1.8rem;
  margin-bottom: 1%;
  text-align: left;
}
.number_box .number_font_image_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 2%;
}
.number_box .number_font_image_list li {
  width: calc((100% / 2) - 2%);
  margin-bottom: 2%;
}
.number_box .number_font_image_list li figure img {
  width: 100%;
  height: auto;
}
.number_box .cancel_btn {
  position: absolute;
  top: 2%;
  right: 3%;
  min-width: unset;
  background-color: #ffffff;
  color: #707070;
}
.number_box .cancel_btn:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .number_box .cancel_btn:hover {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .number_box .cancel_btn {
    top: 1%;
    right: 2%;
  }
}
.number_box .cancel_btn img {
  width: 20px;
}

/* モーダルのスタイル ここまで*/
/*飛び出すタイトル周りのスタイル　他の部分でも使用しています　ここから*/
.title_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-bottom: 5.5%;
  -webkit-transform: translateX(-70px);
          transform: translateX(-70px);
  font-weight: bold;
  line-height: 1;
}
.title_container.scene_title {
  -webkit-transform: unset;
          transform: unset;
  max-width: 1350px;
  margin: 0 auto 5.5% auto;
}
@media screen and (max-width: 1350px) {
  .title_container.scene_title {
    padding: 0 3%;
  }
}
@media screen and (max-width: 767px) {
  .title_container.related_title .main_title {
    white-space: normal;
  }
}
@media screen and (max-width: 767px) {
  .title_container.customer_case_title .main_title {
    white-space: normal;
  }
}
@media screen and (max-width: 1520px) {
  .title_container {
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}
.title_container .main_title {
  font-size: 44px;
  font-weight: bold;
  line-height: 1;
  color: #707070;
}
@media screen and (max-width: 767px) {
  .title_container .main_title {
    font-size: 32px;
    white-space: nowrap;
  }
}
.title_container .sub_title {
  font-size: 14px;
  margin-left: 30px;
  color: #707070;
}
@media screen and (max-width: 767px) {
  .title_container .sub_title {
    margin-left: 10px;
    width: 100%;
    text-align: left;
  }
}

/*飛び出すタイトル周りのスタイル　他の部分でも使用しています　ここまで*/
footer {
  border-top: 1px solid #F5F5F5;
  font-family: "Noto Sans JP", "游ゴシック体", "Yu Gothic", YuGothic, "ヒラギノ角ゴシック Pro", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}

.footer_inner {
  max-width: 1280px;
  margin: 0 auto;
  padding: 80px 0;
}
@media screen and (max-width: 1179px) {
  .footer_inner {
    width: 100%;
    padding: 40px 0;
  }
}
@media screen and (max-width: 767px) {
  .footer_inner {
    padding: 40px 0 20%;
  }
}
.footer_inner .footer_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.footer_inner .footer_container .footer_left_container {
  width: 60%;
}
@media screen and (max-width: 1179px) {
  .footer_inner .footer_container .footer_left_container {
    width: 100%;
  }
}
@media screen and (max-width: 1179px) {
  .footer_inner .footer_container .footer_left_container .title_container {
    padding: 0 3%;
  }
}
.footer_inner .footer_container .footer_left_container .pc_footer_nav {
  width: 100%;
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .footer_left_container .pc_footer_nav {
    display: none;
  }
}
.footer_inner .footer_container .footer_left_container .pc_footer_nav .nav_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .footer_left_container .pc_footer_nav .nav_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.footer_inner .footer_container .footer_left_container .pc_footer_nav .nav_wrap ul {
  width: calc( 100% /3);
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .footer_left_container .pc_footer_nav .nav_wrap ul {
    width: 100%;
  }
}
.footer_inner .footer_container .footer_left_container .pc_footer_nav .nav_wrap ul li {
  width: 100%;
  margin-bottom: 35px;
  list-style-type: none;
  padding: 0;
  line-height: 1.875;
}
.footer_inner .footer_container .footer_left_container .pc_footer_nav .nav_wrap ul li a {
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.footer_inner .footer_container .footer_left_container .pc_footer_nav .nav_wrap ul li a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .footer_left_container .pc_footer_nav .nav_wrap ul li a:hover {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .footer_left_container .pc_footer_nav .nav_wrap ul li {
    font-size: 15px;
    margin-bottom: 15px;
  }
}
.footer_inner .footer_container .footer_left_container .pc_footer_nav .nav_wrap ul li a {
  font-size: 14px;
  color: #707070;
  line-height: 1.4;
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav {
  display: none;
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .footer_left_container .sp_footer_nav {
    display: block;
  }
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul > ul li {
  list-style-type: none;
  padding: 0;
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul > ul li a {
  border-bottom: none;
  padding: 4% 16%;
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul > ul li:last-child a {
  border-bottom: 1px solid #707070;
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul > li {
  list-style-type: none;
  padding: 0;
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul > li:nth-child(1) a {
  border-top: 1px solid #707070;
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul li {
  list-style-type: none;
  padding: 0;
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul li.slide_btn01 {
  font-size: 18px;
  padding: 4% 8%;
  border-bottom: 1px solid #707070;
  position: relative;
  cursor: pointer;
  color: #707070;
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .footer_left_container .sp_footer_nav > ul li.slide_btn01 {
    font-size: 14px;
  }
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul li.slide_btn01::after {
  position: absolute;
  top: 30%;
  right: 6%;
  content: "";
  display: inline-block;
  width: 14px;
  height: 20px;
  background-image: url(../img/slide_icon.svg);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul li.slide_btn01.active::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul li.slide_btn02 {
  font-size: 18px;
  padding: 4% 8%;
  border-bottom: 1px solid #707070;
  position: relative;
  cursor: pointer;
  color: #707070;
}

.sp_footer_nav .sns {
  border-bottom: 1px solid;
  padding: 4% 8%!important;
}

.sp_footer_nav .sns a {
  display: inline!important;
  border: none!important;
  padding: 0!important;
}

@media screen and (max-width: 767px) {
  .footer_inner .footer_container .footer_left_container .sp_footer_nav > ul li.slide_btn02 {
    font-size: 14px;
  }
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul li.slide_btn02::after {
  position: absolute;
  top: 30%;
  right: 6%;
  content: "";
  display: inline-block;
  width: 14px;
  height: 20px;
  background-image: url(../img/slide_icon.svg);
  background-size: contain;
  vertical-align: middle;
  background-repeat: no-repeat;
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul li.slide_btn02.active::after {
  -webkit-transform: rotate(90deg);
          transform: rotate(90deg);
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul li a {
  display: block;
  width: 100%;
  padding: 4% 8%;
  border-bottom: 1px solid #707070;
  font-size: 18px;
  color: #707070;
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .footer_left_container .sp_footer_nav > ul li a {
    font-size: 14px;
  }
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul .slide_area01 {
  display: none;
}
.footer_inner .footer_container .footer_left_container .sp_footer_nav > ul .slide_area02 {
  display: none;
}
.footer_inner .footer_container .container_right {
  width: 40%;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-item-align: end;
      align-self: flex-end;
}
@media screen and (max-width: 1179px) {
  .footer_inner .footer_container .container_right {
    width: 100%;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 0 3%;
  }
}
.footer_inner .footer_container .container_right figure {
  margin-bottom: 60px;
}
.footer_inner .footer_container .container_right figure a {
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.footer_inner .footer_container .container_right figure a:hover {
  opacity: 0.5;
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .container_right figure a:hover {
    opacity: 1;
  }
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .container_right figure {
    display: none;
  }
}
.footer_inner .footer_container .container_right figure img {
  width: 100%;
  height: auto;
  vertical-align: bottom;
}
.footer_inner .footer_container .container_right figure figcaption {
  margin-top: 10px;
  line-height: 1.5;
  font-size: 14px;
  color: #707070;
}
.footer_inner .footer_container .container_right p {
  font-size: 12px;
  width: 471px;
  color: #707070;
  text-align: right;
}
@media screen and (max-width: 1179px) {
  .footer_inner .footer_container .container_right p {
    width: 100%;
  }
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .container_right p {
    text-align: left;
  }
}
.footer_inner .footer_container .container_right .sp_image_wrapper {
  display: none;
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .container_right .sp_image_wrapper {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 8%;
    margin: 5% 0;
  }
  .footer_inner .footer_container .container_right .sp_image_wrapper .footer_logo_image {
    text-align: center;
  }
  .footer_inner .footer_container .container_right .sp_image_wrapper .footer_logo_image img {
    vertical-align: bottom;
    width: 80%;
  }
}
.footer_inner .footer_container .footer_logo_container {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: flex-end;
  margin-bottom: 1%;
}
@media screen and (max-width: 767px) {
  .footer_inner .footer_container .footer_logo_container {
    -ms-flex-pack: distribute;
        justify-content: space-around;
  }
}
.footer_inner .footer_container .footer_logo_container figure {
  width: 30%;
  text-align: end;
  margin-bottom: 0;
}
.footer_inner .footer_container .footer_logo_container figure:nth-child(1) {
  width: 40%;
  padding-bottom: 10px;
}
.footer_inner .footer_container .footer_logo_container figure a {
  display: inline-block;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}
.footer_inner .footer_container .footer_logo_container figure a:hover {
  opacity: 0.5;
}

@media screen and (max-width: 767px) {
  .footer_inner .footer_container .footer_logo_container figure a:hover {
    opacity: 1;
  }
}
.footer_inner .footer_container .footer_logo_container figure img {
  width: 100%;
  height: auto;
}

.copyright {
  display: none;
}
@media screen and (max-width: 767px) {
  .copyright {
    margin-top: 5%;
    display: block;
    text-align: center;
    color: #fff;
    font-size: 12px;
    background-color: #333333;
    padding: 3% 0;
  }
}