@charset "UTF-8";
@scope ( .p-article, .main_content, #main,.main_column ) to (.p-sidebar, .p-header-pc, .p-footer, .p-solution) {

  html,
  body,
  div,
  span,
  applet,
  object,
  iframe,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  p,
  blockquote,
  pre,
  a,
  abbr,
  acronym,
  address,
  big,
  cite,
  code,
  del,
  dfn,
  em,
  img,
  ins,
  kbd,
  q,
  s,
  samp,
  small,
  strike,
  strong,
  sub,
  sup,
  tt,
  var,
  b,
  u,
  center,
  dl,
  dt,
  dd,
  ol,
  ul,
  li,
  fieldset,
  form,
  label,
  legend,
  table,
  caption,
  tbody,
  tfoot,
  thead,
  tr,
  th,
  td,
  article,
  aside,
  canvas,
  details,
  embed,
  figure,
  figcaption,
  footer#f-previous,
  header,
  hgroup,
  menu,
  nav,
  output,
  ruby,
  section,
  summary,
  time,
  mark,
  audio,
  video {
    font-family: "Helvetica", "Arial", "游ゴシック", YuGothic,
      "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo,
      "Helvetica Neue", sans-serif;
    box-sizing: border-box;
    font-feature-settings: "pkna";
    font-weight: 500;
  }

  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  h7 {
    font-family: "Helvetica", "Arial", "Noto Sans JP", "游ゴシック", YuGothic,
      "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo,
      "Helvetica Neue", sans-serif;
    font-weight: 700;
  }

  a {
    text-decoration: none;
    transition: 0.5s;
  }

  a:hover {
    text-decoration: none;
  }

  a img:hover {
    opacity: 1;
  }

  p {
    font-size: 15px;
    line-height: 1.85;
    color: #444;
  }

  li {
    list-style: none;
  }

  .sp {
    display: none;
  }

  .line {
    width: 160px;
    height: 3px;
    background-color: #016eb0;
    position: relative;
    display: block;
  }

  .line:after {
    content: "";
    width: 25px;
    height: 3px;
    background-color: #d0a962;
    position: absolute;
    z-index: 1;
    top: 0;
    left: 0;
    z-index: 1;
  }

  .block_fixid{
    position: fixed;
    top: 40px;
    width: 300px;
  }
  @media screen and (min-width: 1080px) {
    .block_fixid{
      position: fixed;
      top: 40px;
      width: 300px;
    }
  }
  .btn {
    width: 200px;
    color: #fff;
    padding: 15px 0;
    background-color: #016eb0;
    font-size: 15px;
    font-weight: 700;
    display: block;
    text-align: center;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  }

  .btn:hover {
    transform: translateY(-5px);
    opacity: 0.7;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  }

  .arrow_btn {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    display: inline-block;
    background-color: #fff;
    width: auto;
    height: 35px;
    margin-top: 30px;
    position: relative;
  }

  .arrow_btn:after {
    content: "";
    position: absolute;
    width: 1px;
    height: 100%;
    background-color: #eee;
    left: 0;
    right: 0;
    margin: auto;
  }

  .arrow_btn a {
    display: inline-block;
    padding: 2px 15px;
    color: #000;
    height: 100%;
  }

  .arrow_btn a:hover {
    background-color: #666;
    color: #fff;
    cursor: pointer;
  }

  header {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    z-index: 100;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    background-color: #fff;
  }

  #n-prev.gNav {
    display: flex;
    max-width: 1110px;
    margin: auto;
    justify-content: space-between;
    align-items: center;
    position: relative;
  }

  #n-prev.gNav h1 {
    padding: 10px 10px 10px 15px;
    font-size: 1rem;
  }

  .gNav h1 svg {
    fill: #016eb0;
  }

  .gNav .gNav_main {
    display: flex;
  }

  .gNav .gNav_main .gNav_item {
    line-height: 1;
    transition: 0.5s;
  }

  /* .gNav .gNav_main .gNav_item > a {
    pointer-events:none;
  } */

  .gNav .gNav_main .gNav_item:last-child a {
    padding: 18px 15px;
  }

  .gNav .gNav_main .gNav_item:last-child svg {
    fill: #444;
    transition: 0.5s;
  }

  .gNav .gNav_main a {
    font-size: 12px;
    color: #444;
    font-weight: 700;
    padding: 20px 10px;
    display: block;
  }

  .gNav .search_box {
    display: none;
    position: absolute;
    top: 54px;
    right: 0;
    width: 100%;
    padding: 10px 15px;
    height: 55px;
  }

  .gNav .search_box #form1 {
    position: absolute;
    right: 10px;
    width: 300px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    display: flex;
  }

  .gNav .search_box #sbox {
    left: 0;
    top: 0;
    outline: 0;
    height: 35px;
    border-radius: 2px 0 0 2px;
    background: #eee;
    display: inline-block;
    box-sizing: border-box;
    margin-bottom: 0;
    font-size: 16px;
    width: 100%;
    padding: 0 15px;
    border: 0;
  }

  .gNav .search_box #sbtn {
    width: 70px;
    height: 35px;
    top: 0;
    border-radius: 0 2px 2px 0;
    background: #016eb0;
    color: #fff;
    font-weight: bold;
    font-size: 14px;
    display: inline-block;
    position: relative;
    border: 1px solid #016eb0;
    right: 0;
    transition: 0.5s;
  }

  .gNav .search_box #sbtn:hover {
    color: #016eb0;
    background-color: #fff;
    cursor: pointer;
  }

  .gNav .menu_inner {
    opacity: 0;
    display: flex;
    justify-content: flex-end;
    visibility: hidden;
    transition: 0.5s opacity;
    position: absolute;
    left: 0;
    top: 54px;
    width: 100%;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  }
  .gNav .menu_inner.-contact {
    left: auto;
    right: 0;
    margin: 0 15px;
    width: calc(100% -30px);

  }

  .gNav .menu_inner .gNav_subTitle {
    max-width: 350px;
    width: 100%;
    padding: 60px 30px 50px;
    background-color: #444;
  }

  .gNav .menu_inner .gNav_subTitle h3 {
    font-size: 21px;
    margin-bottom: 20px;
    color: #fff;
  }

  .gNav .menu_inner .gNav_subTitle .line {
    background-color: #fff;
    margin-bottom: 20px;
  }

  .gNav .menu_inner .gNav_subTitle p {
    font-size: 12px;
    color: #fff;
  }

  .gNav .menu_inner .gNav_subTitle ul {
    display: flex;
    justify-content: space-between;
    align-items: center;
    width: 90%;
    margin: 30px auto 0;
  }

  .gNav .menu_inner .gNav_subTitle ul li {
    width: 100%;
    margin: 0 10px;
  }

  .gNav .menu_inner .gNav_subTitle ul img {
    display: block;
    width: 100%;
  }

  .gNav .menu_inner .gNav_subTitle ul.bnr_10th{
    width: 100%;
  }

  .gNav .menu_inner .gNav_subTitle ul.bnr_10th li{
    margin: 0;
  }

  .gNav .menu_inner .gNav_subTitle ul.bnr_10th li a{
    padding: 0;
  }

  .gNav .menu_inner .gNav_sub {
    max-width: 380px;
    width: 100%;
    padding: 50px 30px 60px;
    background-color: #016eb0;
  }

  .gNav .menu_inner .gNav_sub li {
    border-bottom: 1px solid rgba(255, 255, 255, 0.3);
  }

  .gNav .menu_inner .gNav_sub a {
    display: block;
    padding: 12px 0 10px;
    font-size: 16px;
    color: #fff;
    position: relative;
  }

  .gNav .menu_inner .gNav_sub a:after {
    position: absolute;
    content: "\f105";
    color: #fff;
    right: 15px;
    font-family: "Font Awesome 5 Free","FontAwesome";
    font-weight: 900;
    transition: 0.3s;
  }

  .gNav .menu_inner .gNav_sub a:hover {
    padding-left: 15px;
    opacity: 0.7;
  }

  @media screen and (min-width: 1080px) {
    .gNav .gNav_main .gNav_item:hover {
      background-color: #016eb0;
    }
    .gNav .gNav_main .gNav_item:hover a {
      color: #fff;
    }
    .gNav .gNav_main .gNav_item:hover a svg {
      fill: #fff;
    }
  }

  @media screen and (max-width: 740px) {
    .gNav .gNav_main .gNav_item {
      -webkit-tap-highlight-color: transparent;
    }
    /* .gNav .gNav_main .gNav_item > a{
      pointer-events: none;
    } */
  }

  @media screen and (min-width: 1080px) {
    .gNav .gNav_main .toggle:hover .menu_inner {
      opacity: 1;
      visibility: visible;
    }
  }

  @media screen and (max-width: 740px) {
    .gNav .menu_inner .gNav_sub a {
      -webkit-tap-highlight-color: transparent;
    }
    .gNav .menu_inner .gNav_sub a:hover {
      padding-left: 0;
      opacity: 1;
    }
    .gNav .menu_inner .gNav_sub a:active:after {
      right: 5px;
    }
  }

  .hero {
    width: 100%;
    height: 100vh;
    background: url(../images/bg_01.jpg) no-repeat center;
    background-size: cover;
  }

  .hero.hero01 {
    background: url(../images/bg_03.jpg) no-repeat center;
    background-size: cover;
  }
  .hero.hero02 {
    background: url(../images/bg_02.jpg) no-repeat center;
    background-size: cover;
  }

  .hero02.hero1903 {
    width: 100%;
    height: 100vh;
    background: url(../images/bg_01.jpg) no-repeat center;
    background-size: cover;
  }
  .hero.hero1905 {
    width: 100%;
    height: 100vh;
    background: url(../images/mv_05.jpg) no-repeat center;
    background-size: cover;
  }

  .hero h1 {
    position: absolute;
    margin: auto;
    top: 25%;
    left: 50%;
    margin-left: -480px;
    color: #fff;
    font-size: 52px;
    font-feature-settings: "pkna";
    line-height: 1;
    letter-spacing: -1px;
  }

  .hero h1 span {
    display: block;
    font-size: 21px;
    line-height: 2.5;
    font-weight: 500;
    margin-left: 4px;
  }

  .bg_gray {
    background-color: #f8f9fa;
  }

  .sec {
    padding: 70px 0;
  }

  .sec.cntr h2 {
    text-align: center;
    font-size: 36px;
    margin-bottom: 30px;
    position: relative;
  }

  .sec.left h2 {
    font-size: 36px;
    color: #000;
    margin-bottom: 30px;
    line-height: 0.7;
  }

  .sec.left h2 span {
    font-size: 16px;
    color: #666;
  }

  .sec.left .line {
    margin-bottom: 30px;
  }

  .sec.left .content_inner {
    max-width: 1080px;
    width: 90%;
    display: flex;
    margin: auto;
    justify-content: space-between;
  }

  .sec.left .content_inner .content_sub {
    max-width: 740px;
    width: 100%;
  }

  .sec.left .content_inner .bnr_wrap {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
  }

  .sec.left .content_inner .bnr_wrap li {
    margin-bottom: 15px;
  }

  .sec.left .content_inner .bnr_wrap a {
    display: block;
  }

  .sec.left .content_inner .bnr_wrap a:hover {
    opacity: 0.7;
  }

  .sec.left .content_inner .bnr_wrap a:hover img {
    transform: translateY(-5px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  }

  .sec.left .content_inner .bnr_wrap img {
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    transition: 0.5s;
  }

  .sec.left .content_inner .bnr_wrap p {
    color: #666;
    font-size: 12px;
  }

  .intro .line {
    margin: 0 auto 30px;
  }

  .intro p {
    width: 90%;
    max-width: 700px;
    margin: auto;
  }

  .core {
    background: url(../images/core_bg.jpg) no-repeat center;
    background-size: cover;
  }

  .core .core_wrap {
    display: flex;
    max-width: 1080px;
    margin: auto;
    justify-content: space-between;
    align-items: center;
  }

  .core .core_wrap .core_item {
    width: 100%;
    max-width: 345px;
    padding: 40px 30px;
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  }

  .core .core_wrap .core_item .icon {
    text-align: center;
    display: block;
  }

  .core .core_wrap .core_item .icon img {
    width: 80px;
    height: 80px;
    margin: auto;
    display: block;
    margin-bottom: 25px;
  }

  .core .core_wrap .core_title {
    color: #000;
    font-size: 26px;
    font-weight: 700;
    line-height: 1;
  }

  .core .core_wrap .core_title span {
    color: #666;
    font-size: 21px;
  }

  .core .line {
    margin: 25px auto;
  }

  .core .btn {
    margin: 25px auto 0;
  }

  .case .case_slider {
    display: none;
  }

  .case .case_slider.slick-initialized {
    display: block;
  }

  .case .slick-list {
    margin: -10px 0 0 -10px;
    padding: 10px;
  }

  .case .case_item {
    background-color: #fff;
    padding: 15px;
    min-height: 310px;
    margin: 0 15px 0 0;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  }

  .case .case_item:hover {
    opacity: 0.7;
    transform: translateY(-5px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  }

  .case .case_item p {
    font-size: 13px;
  }

  .case .case_item .case_title {
    color: #000;
    font-weight: 700;
    font-size: 16px;
  }

  .case .case_item img {
    width: 100%;
    display: block;
    margin-bottom: 10px;
  }

  .news li {
    margin-bottom: 15px;
    padding-bottom: 15px;
    border-bottom: 1px solid #eee;
  }

  .news li a {
    width: 100%;
    display: flex;
    align-items: center;
  }

  .news li a:hover {
    opacity: 0.5;
  }

  .news li time {
    font-size: 12px;
    display: inline-block;
    color: #666;
    margin-right: 10px;
  }

  .news li span {
    width: 120px;
    display: inline-block;
    color: #fff;
    text-align: center;
    padding: 5px 0;
    background-color: #666;
    font-size: 12px;
  }

  .news li p {
    font-size: 15px;
    color: #444;
    display: inline-block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    width: 540px;
    margin-left: 10px;
  }

  footer#f-previous {
    background-color: #666;
  }

  footer#f-previous > div {
    background-color: #666;
    padding: 0;
  }

  footer#f-previous .fn_list_wrap {
    padding: 30px 0 15px;
    display: flex;
    justify-content: center;
  }

  footer#f-previous .fn_list_wrap .fn_list_item {
    margin: 0 50px;
  }

  footer#f-previous .fn_list_wrap .fn_list_item li {
    margin-bottom: 15px;
  }

  footer#f-previous .fn_list_wrap .fn_list_item p {
    font-weight: 700;
    color: #fff;
    font-size: 15px;
    margin-bottom: 20px;
  }

  footer#f-previous .fn_list_wrap .fn_list_item a {
    font-size: 12px;
    color: #fff;
  }

  footer#f-previous .fn_list_wrap .fn_list_item span {
    display: block;
    width: 100%;
    height: 1px;
    background-color: rgba(255, 255, 255, 0.3);
    margin: 15px 0;
  }

  footer#f-previous .copy_wrap {
    padding: 25px 0;
    background-color: #444;
  }

  footer#f-previous .copy_nav {
    display: flex;
    justify-content: center;
    margin-bottom: 15px;
  }

  footer#f-previous .copy_nav li {
    margin: 0 15px;
  }

  footer#f-previous .copy_nav li a {
    color: #fff;
    font-size: 12px;
  }

  footer#f-previous .copy {
    color: #fff;
    text-align: center;
    font-size: 12px;
  }

  .page_header {
    position: relative;
    margin-top: 50px;
    padding: 50px 0;
    background-color: #016eb0;
  }

  .page_header.post h1 {
    margin: 0;
  }

  .page_header p {
    color: #fff;
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }

  .page_header p img {
    width: 25px;
    height: 25px;
    margin-right: 10px;
  }

  .page_header p.service_cate {
    font-size: 21px;
    font-weight: 700;
  }

  .page_header h1 {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin: 15px 0 25px;
    line-height: 1.4;
  }

  .main_content {
    background-color: #f8f9fa;
  }

  .main_content h2.co_ttl_style01 {
    font-size: 21px;
    margin: 40px 0 30px;
    padding-bottom: 20px;
    position: relative;
    color: #444;
  }

  .main_content h2.co_ttl_style01:before {
    content: "";
    width: 160px;
    height: 3px;
    background-color: #016eb0;
    position: absolute;
    display: block;
    bottom: 0;
  }

  .main_content h2.co_ttl_style01:after {
    content: "";
    width: 25px;
    height: 3px;
    background-color: #d0a962;
    position: absolute;
    z-index: 1;
    left: 0;
    z-index: 1;
    bottom: 0;
  }

  .content_wrap {
    max-width: 1080px;
    width: 90%;
    padding: 70px 0;
    margin: auto;
  }

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

  .service_wrap .service_item {
    background-color: #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    width: 32%;
    padding: 20px;
    margin-bottom: 15px;
  }

  .service_wrap .service_item img {
    width: auto;
    max-width: 100%;
    display: block;
    margin-bottom: 10px;
  }

  .service_wrap.-wide .service_item {
    width: 100%;
    display: flex;
    gap: 20px;
    align-items: center;
  }
  .service_wrap.-wide .service_item img {
    margin-bottom: 0;
    height: 140px;
    width: 306px;
    object-fit: cover;
  }
  .p-banner_list_item a{
    margin-bottom: 30px;
    display: flex;
    gap: 20px;
    align-items: center;
  }
  .p-banner_list_item a:hover .p-banner_list_item_img{
    transform: translateY(-5px);
    opacity: .7;
    transition: .5s;
  }
  .p-banner_list_item_img{
  width: 100%;
  max-width: 360px;
  margin: 0 auto;
  transition: .5s;
  }
  .p-banner_list_item_img.-border{
    border: solid 2px #ccc;
  }
  .p-banner_list_item_img img{
    max-width: 100%;
    height: auto;
    z-index: 0;
  }
  .p-banner_list_item_text{
    width: 70%;
  }

  @media screen and (max-width: 740px) {
    .service_wrap.-wide .service_item img {
      width: 100%;
      height: auto;
      aspect-ratio: 16 / 7;
    }
    .service_wrap.-wide .service_item {
      flex-wrap: wrap;
    }
    .p-banner_list_item a{
      flex-wrap: wrap;
      gap: 10px;
    }
    .p-banner_list_item_text{
      width: 100%;
    }
  }

  .service_wrap .service_item .title {
    font-weight: 700;
    margin-bottom: 10px;
    line-height: 1.4;
    font-size: 18px;
  }

  .service_wrap .service_item:hover {
    opacity: 0.7;
    transform: translateY(-5px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  }

  .service_wrap:after {
    content: "";
    display: block;
    width: 32%;
  }

  .cv_area {
    background-color: #016eb0;
    padding: 70px 0;
    text-align: center;
  }

  .cv_area h2 {
    text-align: center;
    font-size: 28px;
    font-weight: 700;
    color: #fff;
    margin: 15px 0 25px;
  }

  .cv_area p {
    text-align: center;
    margin-bottom: 20px;
    color: #fff;
    font-size: 14px;
  }

  .cv_area .cv_btn {
    display: inline-block;
    padding: 15px 30px;
    text-align: center;
    color: #016eb0;
    background-color: #fff;
    font-weight: 700;
    border: 1px solid #fff;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  }

  .cv_area .cv_btn:hover {
    background-color: transparent;
    color: #fff;
    opacity: 0.7;
    transform: translateY(-5px);
  }

  .bread {
    background-color: #444;
  }

  .bread .content_wrap {
    padding: 10px 0;
  }

  .bread .content_wrap ul {
    display: flex;
    flex-wrap: wrap;
    width: 100%;
    line-height: 1.4;
  }

  .bread .content_wrap ul li {
    display: inline-block;
  }

  .bread .content_wrap ul li:after {
    content: "＞";
    display: inline-block;
    color: #fff;
    font-size: 12px;
    margin: 0 5px;
  }

  .bread .content_wrap ul li:last-child:after {
    content: none;
  }

  .bread .content_wrap ul li a {
    font-size: 12px;
    color: #d0a962;
  }

  .bread .content_wrap ul li a.current {
    color: #fff;
  }

  .bread .content_wrap ul li a.current:hover {
    text-decoration: none;
  }

  .bread .content_wrap ul li a:hover {
    text-decoration: underline;
  }

  .post_wrap {
    display: flex;
    justify-content: space-between;
    column-gap: 2rem;
  }

  .post_wrap .main_column {
    max-width: 740px;
    padding: 35px;
    background-color: #fff;
  }

  .post_wrap .main_column figure {
    width: 100%;
    margin-bottom: 30px;
  }

  .post_wrap .main_column figure img {
    width: auto;
    max-width: 100%;
  }

  .post_wrap .main_column h2 {
    font-size: 21px;
    margin: 40px 0 30px;
    padding-bottom: 20px;
    position: relative;
    color: #444;
  }

  .post_wrap .main_column h2:before {
    content: "";
    width: 160px;
    height: 3px;
    background-color: #016eb0;
    position: absolute;
    display: block;
    bottom: 0;
  }

  .post_wrap .main_column h2:after {
    content: "";
    width: 25px;
    height: 3px;
    background-color: #d0a962;
    position: absolute;
    z-index: 1;
    left: 0;
    z-index: 1;
    bottom: 0;
  }

  .post_wrap .main_column h2.no_style:before {
    display: none;
  }

  .post_wrap .main_column h2.no_style:after {
    display: none;
  }

  .post_wrap .main_column .post_nav {
    padding: 20px 0;
  }

  .post_wrap .main_column .post_nav h3 {
    margin-bottom: 15px;
    color: #444;
  }

  .post_wrap .main_column .post_nav .post_nav_wrap {
    display: flex;
    justify-content: space-between;
  }

  .post_wrap .main_column .post_nav .post_nav_item {
    display: block;
    width: 90%;
    max-width: 325px;
    background-color: #f8f9fa;
    padding: 15px;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
  }

  .post_wrap .main_column .post_nav .post_nav_item img {
    width: 100%;
    margin-bottom: 5px;
  }

  .post_wrap .main_column .post_nav .post_nav_item p {
    font-weight: 700;
    font-size: 14px;
    margin-bottom: 0;
    line-height: 1.6;
  }

  .post_wrap .main_column .post_nav .post_nav_item p.caption {
    font-weight: 300;
  }

  .post_wrap .main_column .post_nav .post_nav_item:hover {
    opacity: 0.7;
    transform: translateY(-5px);
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
  }

  .post_wrap p {
    margin-bottom: 1em;
    font-size: 1rem;
  }

  .sub_column {
    max-width: 300px;
    width: 100%;
  }
  .sub_column .sub_bnr img{
    width: 100%;
  }
  .sub_column .sub_nav li {
    border-bottom: 1px solid #eee;
  }

  .sub_column .sub_nav li:last-child {
    border: none;
  }

  .sub_column .sub_nav li ul li {
    border-bottom: 1px solid #fff;
  }

  .sub_column .sub_nav li ul li a {
    background-color: #eee;
    font-size: 12px;
    padding: 15px 30px 15px;
  }

  .sub_column .sub_nav li ul li a:hover {
    padding-left: 35px;
  }

  .sub_column .sub_nav li ul li a.current {
    background-color: #666;
  }

  .sub_column .sub_nav a {
    display: block;
    padding: 20px 30px 20px 15px;
    background-color: #fff;
    color: #666;
    font-size: 15px;
    position: relative;
  }

  .sub_column .sub_nav a.outline,
  .sub_column .sub_nav a.current {
    font-weight: 700;
    color: #fff;
  }

  .sub_column .sub_nav a.outline:after,
  .sub_column .sub_nav a.current:after {
    height: 8px;
    width: 8px;
    border-color: #fff;
  }

  .sub_column .sub_nav a.outline {
    background-color: #016eb0;
    font-size: 17px;
  }

  .sub_column .sub_nav a.current {
    background-color: #aaa;
  }

  .sub_column .sub_nav a:after {
    position: absolute;
    content: "";
    right: 15px;
    transition: 0.3s;
    height: 6px;
    width: 6px;
    top: 0;
    bottom: 0;
    margin: auto;
    border-top: #666 solid 2px;
    border-right: #666 solid 2px;
    transform: rotate(45deg);
  }

  .sub_column .sub_nav a:hover {
    padding-inline: 20px;
    opacity: 0.7;
  }

  .sub_column .sub_cv {
    background-color: #fff;
    padding: 30px;
    text-align: center;
    margin-top: 30px;
  }

  .sub_column .sub_cv .btn {
    margin: 0 auto 20px;
  }

  .sub_column .sub_cv p {
    font-weight: 700;
    font-size: 21px;
    margin-bottom: 0;
    line-height: 1;
    color: #666;
  }

  .sub_column .sub_cv p i {
    margin-right: 5px;
    font-size: 18px;
  }
  i.fas{
    font-family: FontAwesome;
  }
  .sub_column .sub_cv p span {
    font-size: 14px;
  }

  .sub_column.l-bottom_nav{
    width: 100%;
    max-width: none;
  }
  .sub_column.l-bottom_nav > .sub_nav{
    margin-top: 4px;
    display: grid;
    gap: 2px 3px;
    grid-template-columns: 1fr 1fr;
  }
  .sub_column.l-bottom_nav > .sub_nav > li > ul{
    display: none;
  }
  .sub_column.l-bottom_nav > .sub_nav > li > a{
    height: 100%;
  }
  @media screen and (max-width: 1080px) {
    .sp {
      display: block;
    }
    .pc {
      display: none;
    }
    .arrow_btn {
      margin-top: 20px;
      float: right;
    }
    .hero h1 {
      position: relative;
      margin: 0;
      left: 0;
      top: 15%;
      text-align: center;
    }
    .gNav .menu_inner .gNav_subTitle {
      padding: 30px;
    }
    .gNav .menu_inner .gNav_subTitle h3 {
      font-size: 16px;
    }
    .gNav .menu_inner .gNav_sub {
      padding: 30px;
    }
    .gNav .menu_inner .gNav_sub a {
      font-size: 13px;
    }
    .gNav .menu_inner.opn {
      visibility: visible;
      opacity: 1;
    }
    .core .core_wrap {
      flex-direction: column;
    }
    .core .core_wrap .core_item {
      display: grid;
      grid-template-columns: 250px 1fr;
      align-items: end;
      max-width: initial;
      width: 90%;
      justify-items: right;
      margin-bottom: 30px;
    }
    .core .core_wrap .core_item:last-child {
      margin-bottom: 0;
    }
    .core .core_wrap .core_item .icon {
      order: 1;
      grid-row: 1/3;
      margin: auto;
    }
    .core .core_wrap .core_item .line {
      display: none;
    }
    .core .core_wrap .core_item .core_txt {
      order: 2;
    }
    .core .core_wrap .core_item .btn {
      order: 3;
      margin: 10px 0;
    }
    .sec {
      padding: 50px 0;
    }
    .sec.left .line {
      margin-bottom: 0;
    }
    .sec.left .content_inner {
      flex-direction: column;
    }
    .sec.left .content_inner.sp_flex {
      flex-direction: row;
    }
    .sec.left .content_inner.sp_width {
      flex-direction: inherit;
      justify-content: flex-end;
    }
    .sec.left .content_inner.sp_flex .bnr_wrap {
      display: block;
    }
    .sec.left .content_inner .content_sub {
      width: auto;
      max-width: initial;
    }
    .sec.left .content_title {
      display: flex;
      justify-content: space-between;
      margin-bottom: 40px;
    }
    .news li p {
      width: 80%;
    }
    footer#f-previous .fn_list_wrap {
      flex-wrap: wrap;
    }
    footer#f-previous .fn_list_wrap .fn_list_item {
      margin: 0 2%;
    }
    .content_wrap,
    .cv_area {
      padding: 50px 0;
    }
    .post_wrap {
      flex-direction: column;
    }
    .post_wrap .main_column {
      max-width: initial;
    }
    .post_wrap .main_column .post_nav .post_nav_wrap {
      justify-content: flex-start;
    }
    .post_wrap .main_column .post_nav .post_nav_wrap .post_nav_item {
      margin: 0 20px 0 0;
    }
    .sub_column {
      /* max-width: initial; */
      max-width: 100%;
      display: flex;
      justify-content: space-between;
      align-items: flex-start;
      margin-top: 30px;
    }
    .sub_column .sub_nav,.sub_column .HTMLBlock {
      width: 48%;
    }
    .sub_column .sub_cv {
      width: 48%;
      margin: 0;
      display: none;
    }
    .sub_column.l-bottom_nav{
      margin-top: 4px;
      display: block;
    }
    .sub_column.l-bottom_nav .sub_nav{
      width: 100%;
    }
  }

  @media screen and (max-width: 740px) {
    .sp_fade {
      right: -100%;
      transition: 0.3s;
    }
    .opn {
      right: 0;
    }
    .line {
      width: 100px;
      height: 2px;
    }
    .line:after {
      height: 2px;
    }
    .btn {
      width: 180px;
      font-size: 12px;
      -webkit-tap-highlight-color: transparent;
    }
    .btn:hover {
      transform: translateY(0);
      opacity: 1;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    }
    .btn:active {
      transform: translateY(-5px);
      opacity: 0.7;
      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    }
    .hero h1 {
      font-size: 32px;
    }
    .hero h1 span {
      font-size: 14px;
    }
    header .gNav {
      height: 50px;
    }
    header .gNav h3,
    header .gNav a {
      font-feature-settings: normal;
    }
    header .gNav .menu_btn {
      width: 55px;
      height: 50px;
      position: absolute;
      top: 0;
      right: 0;
      padding: 12px 10px 10px;
      box-sizing: border-box;
      -webkit-tap-highlight-color: transparent;
    }
    header .gNav .menu_btn span {
      display: block;
      height: 2px;
      width: 60%;
      position: absolute;
      background-color: #444;
      top: 15px;
      transition: 0.5s;
      left: 10px;
    }
    header .gNav .menu_btn span:nth-child(2) {
      top: 25px;
    }
    header .gNav .menu_btn span:last-child {
      top: 35px;
    }
    header .gNav .menu_btn.cls span {
      position: absolute;
      left: 10px;
      width: 60%;
      top: 25px;
    }
    header .gNav .menu_btn.cls span:first-child {
      position: absolute;
      transform: rotate(45deg);
    }
    header .gNav .menu_btn.cls span:nth-child(2) {
      opacity: 0;
    }
    header .gNav .menu_btn.cls span:last-child {
      transform: rotate(-45deg);
      top: 25px;
    }
    header .gNav .gNav_main {
      display: block;
      position: fixed;
      top: 50px;
      width: 100%;
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
      height: calc(100% - 50px);
      overflow: auto;
      -webkit-overflow-scrolling: touch;
      display: none;
    }
    header .gNav .gNav_main.opn{
      display: block;
    }
    header .gNav .gNav_main .gNav_item {
      position: relative;
      border-bottom: 1px solid #eee;
      background-color: #f8f9fa;
    }
    header .gNav .gNav_main .gNav_item:after {
      transition: 0.5s;
      position: absolute;
      content: "\f107";
      color: #666;
      right: 15px;
      font-family: "Font Awesome 5 Free","FontAwesome";
      font-weight: 900;
      top: 20px;
    }
    header .gNav .gNav_main .gNav_item:last-child {
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    }
    header .gNav .gNav_main .gNav_item:last-child:after {
      content: none;
    }
    header .gNav .gNav_main .gNav_item.r180:after {
      transform: rotate(180deg);
    }
    header .gNav .gNav_main .gNav_item.r90:after {
      transform: rotate(-90deg);
    }
    header .gNav .gNav_main .gNav_item.r90:active:after {
      right: 5px;
    }
    header .gNav .menu_inner {
      display: block;
      z-index: 1;
      position: relative;
      top: 0;
      height: 0;
    }
    header .gNav .menu_inner .gNav_subTitle {
      max-width: initial;
      padding: 30px 15px;
      display: none;
    }
    header .gNav .menu_inner .gNav_subTitle h3 {
      font-size: 18px;
    }
    header .gNav .menu_inner .gNav_subTitle ul {
      width: 50%;
      margin: 20px auto 0;
    }
    header .gNav .menu_inner .gNav_sub {
      padding: 10px 15px 20px;
      max-width: initial;
    }
    header .gNav .menu_inner .gNav_sub a {
      font-size: 13px;
      font-weight: 500;
    }
    header .gNav .menu_inner .gNav_sub:nth-child(2) {
      padding-bottom: 0;
    }
    header .gNav .menu_inner .gNav_sub:last-child {
      padding-top: 0;
    }
    header .gNav .menu_inner.opn {
      height: 100%;
    }
    header .gNav .search_nav {
      height: 55px;
    }
    header .gNav .search_nav a {
      display: none;
    }
    header .gNav .search_box {
      top: auto;
      width: 95%;
      display: block;
    }
    header .gNav .search_box #form1 {
      box-shadow: none;
      width: 100%;
    }
    .core .core_wrap .core_item {
      display: flex;
      flex-direction: column;
      align-items: center;
      padding: 20px;
    }
    .core .core_wrap .core_item .icon {
      order: 1;
    }
    .core .core_wrap .core_item .icon img {
      width: 50px;
      height: 50px;
    }
    .core .core_wrap .core_item .line {
      display: block;
      margin: 15px auto;
      order: 2;
    }
    .core .core_wrap .core_item .core_txt {
      width: 100%;
      order: 3;
    }
    .core .core_wrap .core_item .btn {
      order: 4;
      margin: 20px auto 0;
    }
    .case .case_item {
      -webkit-tap-highlight-color: transparent;
    }
    .case .case_item:hover {
      opacity: 1;
      transform: translateY(0);
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    }
    .case .case_item:active {
      opacity: 0.7;
      transform: translateY(-5px);
      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    }
    .sec {
      padding: 30px 0;
    }
    .sec.cntr h2 {
      font-size: 21px;
      line-height: 1.4;
    }
    .sec.left h2 {
      font-size: 22px;
      line-height: 0.9;
      margin-bottom: 15px;
    }
    .sec.left h2 span {
      font-size: 12px;
    }
    .sec.left .content_inner .bnr_wrap a {
      -webkit-tap-highlight-color: transparent;
    }
    .sec.left .content_inner .bnr_wrap a:hover {
      opacity: 1;
    }
    .sec.left .content_inner .bnr_wrap a:hover img {
      transform: translateY(0);
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    }
    .sec.left .content_inner .bnr_wrap a:active {
      opacity: 0.7;
    }
    .sec.left .content_inner .bnr_wrap a:active img {
      transform: translateY(-5px);
      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    }
    .sec.left .content_inner.sp_flex {
      flex-direction: column;
    }
    .sec.left .content_title {
      margin-bottom: 25px;
    }
    .news li a {
      flex-wrap: wrap;
    }
    .news li p {
      width: 100%;
      margin: 10px 0 0 -2px;
      font-size: 13px;
    }
    footer#f-previous .fn_list_wrap {
      display: none;
    }
    footer#f-previous .fn_list_wrap .fn_list_item {
      width: 100%;
      padding-bottom: 10px;
      margin: 0 5%;
    }
    footer#f-previous .fn_list_wrap .fn_list_item.r180 p:after {
      transform: rotate(180deg);
    }
    footer#f-previous .fn_list_wrap .fn_list_item p {
      position: relative;
    }
    footer#f-previous .fn_list_wrap .fn_list_item p:after {
      transition: 0.5s;
      position: absolute;
      content: "\f107";
      color: #fff;
      right: 15px;
      font-family: "Font Awesome 5 Free","FontAwesome";
      font-weight: 900;
    }
    footer#f-previous .fn_list_wrap .fn_list_item ul {
      display: none;
    }
    footer#f-previous .copy_nav {
      align-items: center;
      flex-direction: column;
    }
    footer#f-previous .copy_nav li {
      margin-bottom: 20px;
    }
    footer#f-previous .copy_nav li:last-child {
      margin-bottom: 0;
    }
    .page_header h1 {
      font-size: 24px;
      padding: 0 15px;
      line-height: 1.4;
    }
    .page_header p {
      width: 90%;
      margin: auto;
    }
    .service_wrap {
      flex-direction: column;
    }
    .service_wrap .service_item {
      width: 100%;
      -webkit-tap-highlight-color: transparent;
    }
    .service_wrap .service_item:hover {
      opacity: 1;
      transform: translateY(0);
      box-shadow: 0 1px 2px rgba(0, 0, 0, 0.15);
    }
    .service_wrap .service_item:active {
      opacity: 0.7;
      transform: translateY(-5px);
      box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    }
    .cv_area .cv_btn {
      -webkit-tap-highlight-color: transparent;
    }
    .cv_area .cv_btn:hover {
      background-color: #fff;
      color: #016eb0;
      opacity: 1;
      transform: translateY(0);
    }
    .cv_area .cv_btn:active {
      background-color: transparent;
      color: #fff;
      opacity: 0.7;
      transform: translateY(-5px);
    }
    .post_wrap .main_column {
      padding: 15px;
    }
    .post_wrap .main_column h2 {
      font-size: 18px;
      line-height: 1.4;
    }
    .post_wrap .main_column .post_nav .post_nav_wrap {
      flex-direction: column;
    }
    .post_wrap .main_column .post_nav .post_nav_wrap .post_nav_item {
      margin: 0 auto 20px;
      width: 100%;
    }
    .sub_column {
      flex-direction: column;
    }
    .sub_column .btn {
      width: 200px;
      font-size: 15px;
      padding: 15px 0;
    }
    .sub_column .sub_nav,
    .sub_column .sub_cv,
    .sub_column .HTMLBlock {
      width: 100%;
    }
    .sub_column .sub_nav {
      margin-bottom: 30px;
    }
    .sub_column.l-bottom_nav > .sub_nav{
      grid-template-columns: 1fr;
    }
  }

  ul.worksList {
    display: flex;
    flex-wrap: wrap;
    float: none;
  }

  ul.worksList > li {
    width: calc((100% - 29px) / 3);
  }

  ul.worksList > li:nth-child(4n) {
    margin-right: 12px;
  }

  ul.worksList > li:nth-child(3n) {
    margin-right: 0;
  }

  .bookList li {
    flex-basis: 31.8%;
  }

  .post_wrap .main_column {
    width: 100%;
  }

  /* トップヒーローイメージ */
  .hero.hero01 {
    background-position: 0 50px;
  }
  .hero.hero1903.hero02 div:first-child {
    display: none;
  }
  .hero.hero02 div:last-child {
    padding-top: 150px;
  }
  .hero div h1 {
    position: static;
    color: #000;
    text-align: center;
    font-size: 56px;
    margin: 0 auto;
    padding-top: 125px;
    width: 100%;
    min-width: 660px;
    line-height: 1.3;
    top: 20%;
  }
  .hero02.hero1903 div h1 {
    position: absolute;
    color: #fff;
    font-size: 52px;
    text-align: left;
    margin: 0 auto;
    min-width: auto;
    top: 20%;
    left: 50%;
    margin-left: -480px;
  }
  .sheet01.hero1903 div h1 {
    position: absolute;
    color: #fff;
    font-size: 52px;
    text-align: left;
    margin: 0 auto;
    width: auto;
    min-width: auto;
    top: 10.2%;
    left: 50%;
    margin-left: -480px;
  }
  .hero.hero1905 div h1 {
    position: absolute;
    color: #fff;
    font-size: 52px;
    text-align: left;
    margin: 0 auto;
    min-width: auto;
    top: 37%;
    left: 50%;
    margin-left: -480px;
    text-shadow: rgba(0, 0, 0, 0.5) 1px 1px 8px;
  }
  .hero div h1 em {
    font-size: 21px;
    font-weight: 900;
    display: inline-block;
    margin-bottom: 15px;
    margin-top: 40px;
  }

  .hero div h1 span {
    font-size: 16px;
    line-height: 1.8;
    font-weight: 500;
  }
  .hero.hero1903 div h1 span,
  .hero.hero1905 div h1 span {
    font-size: 21px;
  }
  @keyframes kieru {
    0% {
      opacity: 1;
    }

    50% {
      opacity: 0;
    }
  }

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

    50% {
      opacity: 1;
    }
  }

  @keyframes takasa0 {
    0% {
      height: auto;
    }

    90% {
      height: 1;
    }
  }

  @keyframes takasaAuto {
    0% {
      height: 1;
    }

    90% {
      height: auto;
    }
  }
  ul.toggle_switch {
    position: fixed;
    bottom: 40px;
    width: 100%;
    text-align: center;
    z-index: 50;
  }

      /* div{
        padding-top: 3rem;
      } */

      .hero.hero2003 {
        margin-top: 56px;
        position: relative;
        max-width: 100%;
        height: auto;
        background-image: none;
        background-color: #e2e5e7;
      }

      .hero iframe {
        width: 100%;
        height: 100%;
        position: absolute;
        top: 0;
        left: 0;
      }

      .hero > div{
        margin: 0 auto;
        max-width: 1190px;
      }
      .hero > div:after {
        content: '';
        display: block;
        height: 0;
        padding-bottom: 71.3%;
        width: 100%;
        background: url(/common/images/mv_2022.png) no-repeat center bottom;
        background-size: 100% auto;
      }
      @media screen and (max-width: 740px) {
        .hero > div{
          max-width: 100%;
        }
        .hero > div:after {
          padding-bottom: 82.5%;
          background: url(/common/images/mv_2022_sp.png) no-repeat center bottom;
          background-size: cover;
        }
      }

      @media screen and (max-width: 1241px) {
        .hero iframe {
          display: none;
        }
      }

  ul.toggle_switch li:last-child,
  ul.toggle_switch.hero02 li:first-child {
    opacity: 0;
    height: 0;
    /* transition: 1s; */
  }
  ul.toggle_switch.hero02 li:last-child,
  ul.toggle_switch li:first-child {
    opacity: 1;
    height: auto;
    transition: 1s;
  }
  .toggle_switch > div:last-child,
  .toggle_switch.hero02 > div:first-child {
    opacity: 0;
    /* transition: .5s; */
    animation: kieru 1s;
  }

  .toggle_switch > div:first-child,
  .toggle_switch.hero02 > div:last-child {
    opacity: 1;
    /* transition: .5s; */
    animation: arawareru 1s;
  }

  .intro div:last-child,
  .intro.hero02 div:first-child {
    height: 0;
    animation: takasa0 1s;
    animation: kieru 1s;
  }

  .intro div:first-child,
  .intro.hero02 div:last-child {
    height: auto;
    animation: takasaAuto 1s;
    animation: arawareru 1s;
  }

  .sec.cntr h2 {
    line-height: 1.5;
  }

  @media screen and (max-width: 1080px) {
    .hero div h1 {
      color: #000;
      margin-left: 0%;
      padding-top: 80px;
      min-width: auto;
    }
    .hero.hero1903 div h1 {
      position: relative;
      margin: 0;
      left: 0;
      top: 15%;
      text-align: center;
    }
    .hero.hero1905 div h1 {
      position: relative;
      margin: 0;
      left: 0;
      top: 15%;
      text-align: center;
    }
    .hero.hero1903 div h1 span,
    .hero.hero1905 div h1 span {
      /*             font-size: 13px; */
      line-height: 2.5;
    }
    .hero div:first-child h1 {
      padding-top: 135px;
      height: auto;
      line-height: 1;
    }
    .hero.hero1905 div:first-child h1 {
      padding-top: 290px;
    }

    .hero.hero02 div:first-child h1 {
      height: 1px;
    }
  }

  @media screen and (max-width: 740px) {
    .hero div h1 {
      font-size: 28px;
      padding-top: 10px;
    }

    .hero.hero01 {
      background-position: 30%;
    }

    .hero.hero02 {
      background-position: 50% 0;
    }

    .hero div:last-child h1 {
      /*         font-size: 26px; */
      font-size: 32px;
    }

    .hero div h1 em {
      font-size: 16px;
    }

    .hero div h1 span {
      font-size: 13px;
    }
    .hero.hero1903 div h1 span,
    .hero.hero1905 div h1 span {
      font-size: 14px;
    }
    ul.toggle_switch {
      bottom: 0px;
    }
  }



  .floatBtn {
    display: table;
    border-radius: 30px;
    padding: 20px 30px 20px 15px;
    color: #fff;
    background: linear-gradient(0.25turn, #549fde, #ff2f79);
    position: fixed;
    bottom: 40px;
    margin: auto;
    z-index: 999;
    right: 1rem;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    text-align: center;
    font-weight: 700;
    opacity: 1;
    visibility: visible;
  }

  .floatBtn:after {
    position: absolute;
    content: "\f105";
    color: #fff;
    right: 15px;
    font-family: "Font Awesome 5 Free","FontAwesome";
    font-weight: 900;
  }

  .floatBtn:hover {
    transform: translateY(-5px);
    opacity: 0.8;
  }
  .floatBtn.fadeout {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }

  .floatBtn.btn_center {
    right: 50%;
    margin-right: -188px;
  }
  .floatBtn.btn_center:hover {
    transform: translateY(-5px);
    opacity: 0.8;
  }
  .bj_fb .floatBtn,
  .bj_fb .floatBtn.btn_center {
    border-radius: 0px;
    padding: 30px 1rem;
    bottom: 0px;
    width: 100%;
    font-size: 18px;
    right: auto;
    margin-right: 0;
  }
  .bj_fb .floatBtn:after {
    position: static;
    margin-left: 10px;
  }

  .bj_fb .floatBtn.fadeout {
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
  }
  @media screen and (max-width: 1080px) {
    .floatBtn {
      /* width: 80%; */
      right: 50%;
      margin-right: -188px;
    }
  }
  @media screen and (max-width: 740px) {
    .floatBtn.btn_center,.floatBtn.btn_center:hover {
      /* transform: none; */
      /* left: 50%; */
      right: auto;
    }
    .floatBtn {
      bottom: 0;
      width: 100%;
      border-radius: 0;
      padding: 10px 30px 10px 10px;
      font-size: 14px;
      text-align: left;
      line-height: 1.4;
      right: auto;
      -webkit-tap-highlight-color: transparent;
    }
    .floatBtn:after {
      height: 27px;
      margin: auto;
      bottom: 0;
      top: 0;
      right: 10px;
      font-size: 21px;
    }
    .floatBtn:hover {
      transform: translateX(0) translateY(0);
      opacity: 1;
    }
    .floatBtn:active {
      transform: translateX(0%) translateY(0);
      opacity: 0.8;
    }
  }
  ul.toggle_switch a.floatBtn {
    position: static;
    transform: translateX(-0%);
  }


  .bj2020_bnr{
    background-color: rgb(197, 21, 34);
    position: relative;
    overflow: hidden;
    transition: .5s;
  }
  .bj2020_bnr a{
    z-index: 2;
    display: block;
    position: relative;
  }
  .bj2020_bnr:hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .bj2020_bnr:after{
    content: '';
    display: block;
    max-width: 1080px;
    width: 100%;
    height: 100%;
    background: url(/common/images/top/bnr_bj2020_img.png) no-repeat bottom left;
    background-size: auto 83%;
    position: absolute;
    bottom: -1rem;
    left: 50%;
    margin-left: -630px;
    z-index: 1;
  }
  .bj2020_bnr_inner{
    margin: 0 auto;
    padding: 53px 20px 44px;
    max-width: 1120px;
    min-height: 290px;
    display: flex;
  }
  .bj2020_bnr_img{
    width: 37%;
    margin-left: auto;
  }
  .bj2020_bnr_img img{
    max-width: 288px;
    width: 100%;
    padding-right: 1rem;
    box-sizing: border-box;
  }
  .bj2020_bnr_txt{
    width: 26%;
  }
  .bj2020_bnr_txt p{
    margin-bottom: 1.1rem;
    color: rgb(255, 255, 255);
  }
  .bj2020_bnr_txt span{
    padding: .8rem 0;
    width: 100%;
    font-weight: 600;
    display: block;
    text-align: center;
    color: rgb(197, 21, 34);
    background-color: rgb(255, 255, 255);
  }
  @media screen and (max-width: 769px) {
    .bj2020_bnr_inner{
      padding-left: 2rem;
      padding-right: 2rem;
      justify-content: space-between;
    }
    .bj2020_bnr:after{
      margin-left: -250px;
      background-size: 50% auto;
    }
    .bj2020_bnr_img{
      margin-left: initial;
      width: 54%;
    }
    .bj2020_bnr_img img{
      max-width: 237px;
    }
    .bj2020_bnr_txt{
      width: 45%;
    }
  }
  @media screen and (max-width: 480px) {
    .bj2020_bnr_inner{
      display: block;
      padding-bottom: 180px;
    }
    .bj2020_bnr:after{
      background-size: 100% auto;
      width: 400px;
      margin-left: -200px;
    }
    .bj2020_bnr_img,.bj2020_bnr_txt{
      text-align: center;
      width: auto;
    }
    .bj2020_bnr_txt span{
      max-width: 286px;
      margin: 0 auto;
      font-size: .7rem;
    }
    .bj2020_bnr_txt p{
      font-size: .7rem;
      padding-top: 2rem;
    }
  }

  /* トップワイドバナー */
  .brand_covid_bnr{
    display: flex;
    background-color: #eee;
  }
  .brand_covid_bnr_l,.brand_covid_bnr_r{
    width: 50%;
    transition: .3s;
  }
  .brand_covid_bnr_l:hover,.brand_covid_bnr_r:hover{
    transition: .3s;
    opacity: .7;
  }
  .brand_covid_bnr_l{
    padding-right: .5rem;
    background-color: #BD1421;
  }
  .brand_covid_bnr_r{
    padding-left: .5rem;
    background-color: #1E286E;
  }
  .brand_covid_bnr_l div,.brand_covid_bnr_r div{
    padding: 0 10px;
    max-width: 585px;
    text-align: center;
    position: relative;
    height: 100%;
  }
  .brand_covid_bnr_l div{
    margin-left: auto;
  }
  .brand_covid_bnr_l p,.brand_covid_bnr_r p{
    color: #fff;
    font-weight: 700;
    font-size: 1.1rem;
    padding: 1rem 0;
    position: relative;
  }
  .brand_covid_bnr_l p:last-child,.brand_covid_bnr_r p:last-child{
    position: absolute;
    bottom: 1rem;
    right: 1rem;
    padding: 0;
  }
  .brand_covid_bnr p.link_text{
    font-size: 1rem;
  }
  .brand_covid_bnr p.link_text:before,.brand_covid_bnr div p:last-child:after{
    content: "";
    display: inline-block;
    width: .6rem;
    height: .6rem;
    border-top: #fff solid 2px;
    border-right: #fff solid 2px;
    transform: rotate(45deg);
    margin-left: .8rem;
  }
  .brand_covid_bnr p.link_text:before{
    position: absolute;
    right: .55rem;
    top: .56rem;
  }
  .brand_covid_bnr_l img,.brand_covid_bnr_r img{
    width: 80%;
    height: auto;
    vertical-align: bottom;
  }
  @media screen and (max-width: 769px) {
    .brand_covid_bnr{
      flex-wrap: wrap;
    }
    .brand_covid_bnr_l,.brand_covid_bnr_r{
      width: 100%;
    }
    .brand_covid_bnr_l div,.brand_covid_bnr_r div{
      margin: 0 auto;
    }
    .brand_covid_bnr_l p,.brand_covid_bnr_r p{
      font-size: .8rem;
    }
    .brand_covid_bnr_l div{
      margin-bottom: 1rem;
    }
    .brand_covid_bnr p.link_text:before,.brand_covid_bnr div p:last-child:after{
      width: .4rem;
      height: .4rem;
      margin-left: .8rem;
    }
    .brand_covid_bnr p.link_text:before{
      top: .37rem;
      right: .4rem;
    }
    .brand_covid_bnr p.link_text{
      font-size: .7rem;
    }
    .brand_covid_bnr_l img,.brand_covid_bnr_r img{
      width: 90%;
    }
  }

  .webbrand_bnr{
    background-image: url(/download_file/7012/0/);
    background-color: #21ACD7;
    background-position: center;
    opacity: 1;
    transition: .5s;
  }
  .webbrand_bnr:hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .webbrand_bnr img{
    width: 100%;
    height: auto;
  }
  .webbrand_bnr_inner{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin: 0 auto;
    max-width: 1080px;
    flex-wrap: wrap;
  }
  .webbrand_bnr_main{
    max-width: 488px;
    width: 100%;
    padding: 32px 0 17px;
  }
  .webbrand_bnr_txt{
    position: relative;
    max-width: 530px;
    width: 100%;
  }
  p.webbrand_bnr_read{
    display: inline;
    padding: 5px 0;
    color: #21ACD7;
    font-size: 2.2em;
    font-weight: 700;
    letter-spacing: 0.1em;
    background: linear-gradient(transparent 0, yellow 0);
    font-family: "游ゴシック体", YuGothic, "游ゴシック", "Yu Gothic", sans-serif;
  }
  p.webbrand_bnr_read span{
    display: inline-block;
    padding: 0 .5em;
    font-weight: 700;
  }
  .webbrand_bnr_txt > span{
    position: absolute;
    top: -50px;
    right: -30px;
    width: 110px;
    height: auto;
    display: block;
  }
  p.webbrand_bnr_btn{
    margin-top: 1.5rem;
    padding: .5rem 0;
    color: #fff;
    font-size: 1.05rem;
    font-weight: 600;
    letter-spacing: 0.1em;
    width: 100%;
    max-width: 300px;
    text-align: center;
    position: relative;
    background-color: #e51478;
  }
  .webbrand_bnr_btn::after{
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    right: 10px;
    top: 40%;
    border: transparent solid 5px;
    border-left: #fff solid 7px;
  }
  @media screen and (max-width: 1080px) {
    .webbrand_bnr_inner{
      justify-content: space-around;
    }
    p.webbrand_bnr_btn{
      margin: 1rem 0 2rem;
    }
  }
  @media screen and (max-width: 769px) {
    .webbrand_bnr{
      padding: 0 10px;
    }
    .webbrand_bnr_main{
      margin-bottom: 30px;
    }
    p.webbrand_bnr_read span{
      padding: 0 .3em;
    }
    .webbrand_bnr_txt > span{
      right: 10px;
      top: -50px;
      width: 85px;
    }
    .webbrand_bnr_txt{
      padding: 0 10px;
    }
    p.webbrand_bnr_read{
      font-size: 1.45em;
      letter-spacing: 0.03em;
      line-height: 2;
    }
    p.webbrand_bnr_btn{
      max-width: 100%;
    }
  }

  /* NBPCキックオフカンファレンス2023 */
  .nbpckc2023_bnr{
    background: url(/common/images/top/nbpckc2023_bgpc.png) no-repeat;
    background-size: cover;
    transition: .5s;
    overflow: hidden;
  }
  .nbpckc2023_bnr:hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .nbpckc2023_bnr p{
    line-height: 1;
    color: #fff;
  }
  .nbpckc2023_bnr_inner{
    margin: 0 auto;
    padding: 2rem 1.3rem;
    max-width: 1120px;
    position: relative;
  }
  .nbpckc2023_bnr_inner::after{
    content: '';
    display: block;
    width: 302px;
    height: 297px;
    position: absolute;
    left: -250px;
    bottom: 50%;
    margin-bottom: -331px;
    background: url(/common/images/top/nbpckc2023_illust.png) no-repeat;
    z-index: 0;
    background-size: contain;
  }
  .nbpckc2023_bnr img{
    max-width: 100%;
  }
  .nbpckc2023_bnr_inner_up{
    margin-bottom: 1.8rem;
  }
  .nbpckc2023_bnr_inner_up h3{
    display: flex;
  }
  .nbpckc2023_bnr_confname{
    margin-bottom: 1.5rem;
    display: flex;
    align-items: center;
  }
  .nbpckc2023_bnr_t01{
    margin-right: 1em;
    padding: .1em .8em;
    background-color: #FDFF47;
    border-radius: 2px;
    max-width: 136px;
  }
  .nbpckc2023_bnr_confname_fukidashi{
    margin-left: 1.5em;
    display: flex;
    max-width: 540px;
  }
  .nbpckc2023_bnr_confname_fukidashi li{
    margin: 0 .15em;
    padding: .1em .8em 0;
    background-color: #fff;
    border-radius: 2px;
    position: relative;
  }
  .nbpckc2023_bnr_confname_fukidashi li::after{
    content: '';
    margin-left: -.3em;
    display: block;
    width: .6em;
    height: .6em;
    position: absolute;
    bottom: -.3em;
    left: 50%;
    background-color: #fff;
    transform: rotate(45deg);
  }
  .nbpckc2023_bnr_inner_down{
    display: grid;
    grid-template-columns: 51% 1fr;
    grid-template-rows: 1fr auto;
    column-gap: 2em;
  }
  .nbpckc2023_bnr_inner_down_days{
    padding: 1rem 2rem 0;
    text-align: right;
    grid-row: 1/2;
    grid-column: 2/3;
    border-top: #fdff47 solid 1px;
  }
  .nbpckc2023_bnr_inner_down_days02{
    padding-left: 73%;
  }
  .nbpckc2023_bnr_inner_down_sponsor{
    padding: 1.5em 4em 0 2.5em;
    grid-row: 1/3;
    grid-column: 1/2;
    background-color: #fff;
    position: relative;
    z-index: 10;
  }
  .nbpckc2023_bnr_btn{
    padding: 0 2em 0 2.5em;
    grid-row: 2/3;
    grid-column: 2/3;
    text-align: center;
  }
  .nbpckc2023_bnr_btn span{
    padding: 1em;
    font-weight: 700;
    font-size: 1.2em;
    background-color: #00276a;
    display: block;
    position: relative;
    border-radius: 4px;
    letter-spacing: .1em;
    z-index: 10;
  }
  .nbpckc2023_bnr_btn span::after{
    content: '';
    display: block;
    width: .4em;
    height: .4em;
    position: absolute;
    right: 1.5em;
    top: 50%;
    margin-top: -.2em;
    border-top: #fff solid 2px;
    border-right: #fff solid 2px;
    transform: rotate(45deg);
  }
  @media screen and (max-width: 769px) {
    .nbpckc2023_bnr{
      background: url(/common/images/top/nbpckc2023_bgsp.png) no-repeat center;
      background-size: cover;
    }
    .nbpckc2023_bnr_inner::after{
      width: 110px;
      height: 157px;
      left: 0px;
      top: 50%;
      margin-top: -13px;
    }
    .nbpckc2023_bnr_confname{
    flex-direction: column;
    margin-bottom: 1rem;
    }
    .nbpckc2023_bnr_t01{
      margin: 0 0 .8em 0;
      padding: .2em 1.7em;
      max-width: 136px;
    }
    .nbpckc2023_bnr_t02{
      margin-bottom: .7em;
    }
    .nbpckc2023_bnr_inner_up{
      margin-bottom: .8rem;
    }
    .nbpckc2023_bnr_inner_up h3{
      flex-wrap: wrap;
      justify-content: center;
    }
    .nbpckc2023_bnr_inner_up h3 span:nth-child(1){
      margin-bottom: .5em;
      width: 210px;
    }
    .nbpckc2023_bnr_inner_up h3 span:nth-child(2){
      width: 320px;
    }
    .nbpckc2023_bnr_confname_fukidashi{
      margin-left: 0;
      flex-wrap: wrap;
      align-items: baseline;
      justify-content: center;
    }
    .nbpckc2023_bnr_confname_fukidashi li{
      margin: 0 .15em;
      box-sizing: border-box;
      border-radius: 0;
    }
    .nbpckc2023_bnr_confname_fukidashi li:nth-child(1){
      box-sizing: border-box;
      margin-left: 1rem;
      margin-right: 1rem;
      width: 170px;
      margin-bottom: .3em;
    }
    .nbpckc2023_bnr_confname_fukidashi li:nth-child(2){
      width: 165px;
    }
    .nbpckc2023_bnr_confname_fukidashi li:nth-child(3){
      width: 140px;
    }
    .nbpckc2023_bnr_confname_fukidashi li::after{
      display: none;
    }
    .nbpckc2023_bnr_inner_down_days{
        padding: 1rem 1rem 0;
    }
    .nbpckc2023_bnr_inner_down_days02{
      margin: .4em 0 1em;
      padding: 0 37%;
    }
    .nbpckc2023_bnr_inner_down{
      display: block;
    }
    .nbpckc2023_bnr_inner_down_sponsor{
      margin-bottom: 1.5em;
      padding: .8em 3em 0 1.5em;
      text-align: center;
    }
    .nbpckc2023_bnr_btn{
      padding: 0;
    }
    .nbpckc2023_bnr_btn span{
      padding: 1em;
      font-size: 1em;
    }
  }

  /* フローティングバナー */
  .float_bnr{
    position: fixed;
    bottom: 40px;
    width: 100%;
    text-align: center;
  }
  .float_bnr a{
    border-radius: 30px;
    padding: 20px 25px;
    color: #fff;
    display: inline-block;
    background: linear-gradient(0.25turn, #549fde, #ff2f79);
    z-index: 800;
    box-shadow: 0 3px 10px rgba(0, 0, 0, 0.3);
    font-weight: 700;
    opacity: 1;
    transition: .5s;
    text-decoration: none;
  }
  .float_bnr a:after{
    margin-left: .5rem;
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    transform: rotate(45deg);
    border-right: 3px solid #fff;
    border-top: 3px solid #fff;
  }
  .float_bnr a:hover{
    transform: translateY(-5px);
    transition: .5s;
    opacity: 0.8;
  }
  .float_bnr.bnr_hide a{
    opacity: 0;
    transition: .5s;
  }
  @media screen and (max-width: 740px) {
    .float_bnr{
      bottom: 0;
    }
    .float_bnr a{
      border-radius: 0;
      font-size: .9rem;
      width: 100%;
      box-sizing: border-box;
    }
  }

  /* トップページ COMMUNICATION& */
  .communication_wrap{
    display: flex;
    flex-wrap: wrap;
    max-width: 1080px;
    margin: auto;
    justify-content: space-between;
  }
  .communication_wrap > div{
    padding: 40px;
    width: 49%;
    min-width: 530px;
    text-align: center;
    background-color: #f8f9fa;
    box-shadow: rgb(226, 226, 226) 1px 1px 3px;
  }
  .sec.cntr .communication_wrap > div h2{
    line-height: 1.2;
  }
  .sec.cntr .communication_wrap > div div p{
    font-size: large;
    margin-bottom: 1rem;
  }
  .sec.cntr .communication_wrap > div div p:last-child{
    margin-bottom: 0;
  }
  .communication_wrap > div h2 span.line{
    margin: 25px auto 0;
  }
  .communication_wrap > div h2 span.small_text{
    font-size: medium;
    display: block;
  }
  @media screen and (max-width: 1080px) {
    .communication_wrap > div{
      width: 90%;
      margin: 0 auto 30px;
    }
    .communication_wrap > div:last-child{
      margin-bottom: 0;
    }
    .sec.cntr .communication_wrap > div div p{
      font-size: x-large;
    }
  }
  @media screen and (max-width: 740px) {
    .sec.cntr > h2.communication_ttl{
      padding: 0 40px;
    }
    .communication_wrap > div{
      padding: 30px 20px;
      min-width: auto;
    }
    .sec.cntr .communication_wrap > div div p{
      font-size: small;
    }
  }

  /* ブランド・ジャパン2022 */
  .bj2022_bnr{
    transition: .5s;
    background-position: 50% top;
    background-repeat: no-repeat;
    background-color: #0c523a;
    background-image: url(/common/images/top/bj2022_bnr_bg.png);
  }
  .bj2022_bnr:hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .bj2022_bnr img{
    width: 100%;
    height: auto;
  }
  .bj2022_bnr_inner{
    margin: 0 auto;
    padding: 85px 20px;
    display: block;
    max-width: 1080px;
    width: 100%;
    display: flex;
    justify-content: space-around;
    gap: 20px;
  }
  .bj2022_bnr_logo{
    width: 100%;
    max-width: 376px;
  }
  .bj2022_bnr_txt{
    width: 100%;
    max-width: 507px;
  }
  .bj2022_bnr_txt img:nth-child(2){
    display: none;
  }
  .bj2022_bnr_btn{
    margin-top: 20px;
    padding: 20px 0;
    display: block;
    max-width: 420px;
    width: 100%;
    color: rgb(0, 86, 52);
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    background-color: rgb(252, 242, 71);
    border-radius: 4px;
    position: relative;
  }
  .bj2022_bnr_btn::after{
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border: solid 2px rgb(0, 86, 52);
    border-bottom: none;
    border-left: none;
    transform: rotate(45deg);
    position: absolute;
    right: 25px;
    top: 50%;
    margin-top: -4px;
  }
  @media screen and (max-width: 784px) {
    .bj2022_bnr{
      background-size: contain;
      background-image: url(/common/images/top/bj2022_bnr_bg_sp.png);
    }
    .bj2022_bnr_inner{
      padding: 30px 20px 25px;
      flex-wrap: wrap;
    }
    .bj2022_bnr_logo{
      width: 80%;
    }
    .bj2022_bnr_txt img:nth-child(1){
      display: none;
    }
    .bj2022_bnr_txt img:nth-child(2){
      display: block;
    }
    .bj2022_bnr_txt img{
      margin: 0 auto;
      width: 89%;
    }
    .bj2022_bnr_btn{
      margin-top: 30px;
      padding: 15px 0;
      font-size: 16px;
    }
  }

  /* ESG アドバイザリー・サービス */
  .esgas_bnr{
    transition: .5s;
    background-position: 50% top;
    background-repeat: repeat-x;
    background-color: #fff;
    background-size: cover;
    background-image: url(/common/images/top/esgas_bg.png);
  }
  .esgas_bnr:hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .esgas_bnr img{
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  .esgas_bnr_inner{
    margin: 0 auto;
    padding: 30px 15px;
    display: block;
    max-width: 1110px;
    width: 100%;
    display: flex;
    justify-content: space-around;
    align-items: flex-end;
    gap: 20px;
  }
  .esgas_bnr_left{
    width: 100%;
    max-width: 632px;
  }
  .esgas_bnr_txt{
    margin-bottom: 5px;
    width: 100%;
    max-width: 400px;
  }
  .esgas_bnr_txt img{
    width: 100%;
    max-width: 85px;
  }
  .esgas_bnr_logo{
    margin-bottom: 20px;
    width: 100%;
    max-width: 273px;
  }
  .esgas_bnr_text02{
    margin: 70px 0 10px;
    max-width: 481px;
    width: 100%;
    font-size: 28px;
    font-family: "Noto Sans JP";
    color: rgb(255, 255, 255);
    font-weight: bold;
    line-height: 1.31;
    text-shadow: 0px 0px 7px rgba(0, 0, 0, 0.3);
  }
  .esgas_bnr_text03{
    width: 100%;
    max-width: 614px;
    color: #fff;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.4;
    font-family: 'Noto Sans JP';
  }
  .esgas_bnr_btn{
    margin-top: 20px;
    padding: 20px 0;
    display: block;
    width: 100%;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    background-color: #e85e3d;
    border-radius: 4px;
    position: relative;
    font-family: "Noto Sans JP";
  }
  .esgas_bnr_btn::after{
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border: solid 2px #fff;
    border-bottom: none;
    border-left: none;
    transform: rotate(45deg);
    position: absolute;
    right: 25px;
    top: 50%;
    margin-top: -4px;
  }

  @media screen and (max-width: 784px) {
    .esgas_bnr{
      background-image: url(/common/images/top/esgas_bg_sp.png);
      background-position: bottom;
    }
    .esgas_bnr_inner{
      padding: 30px 20px 25px;
      flex-wrap: wrap;
    }
    .esgas_bnr_text02{
      margin-top: 75px;
      font-size: 20px;
    }
    .esgas_bnr_text03{
      width: 100%;
      max-width: 319px;
      font-size: 16px;
      line-height: 1.6;
      text-shadow: 0px 0px 14px rgba(0, 0, 0, 0.3);
    }
    .esgas_bnr_btn{
      margin-top: 10px;
      padding: 15px 0;
      font-size: 16px;
      line-height: 1;
    }
  }


  .webbrand2022_bnr{
    background-repeat: no-repeat;
    background-image: url(/common/images/top/webbrand2022_bk.png);
    background-size: cover;
    background-position: center;
    transition: .5s;
  }
  .webbrand2022_bnr:hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .webbrand2022_bnr_wrap{
    margin: 0 auto;
    padding: 60px 0;
    max-width: 1160px;
  }
  .webbrand2022_bnr_inner{
    padding: 0 40px;
    display: table;
    flex-flow: column;
    width: 75%;
    max-width: 725px;
  }
  .webbrand2022_bnr_inner img{
    vertical-align: bottom;
    width: 100%;
    height: auto;
  }
  .webbrand2022_bnr_logo{
    margin-bottom: 15px;
  }
  p.webbrand2022_bnr_txt{
    margin-bottom: 15px;
    font-size: 19px;
    line-height: 1.2;
    font-weight: 600;
  }
  p.webbrand2022_bnr_txt br{
    display: none;
  }
  .webbrand2022_bnr_period{
    margin-bottom: 35px;
    display: flex;
    align-items: flex-end;
  }
  .webbrand2022_bnr_period img{
    max-width: 40%;
  }
  p.webbrand2022_bnr_period span{
    margin-right: 15px;
    color: #fff;
    font-weight: 600;
    border-radius: 3px;
    min-width: 130px;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    background-color: rgb(0, 73, 138);
  }
  .webbrand2022_bnr_date{
    padding: 10px 0;
    text-align: center;
    border-top: #e51478 solid 3px;
    border-bottom: #e51478 solid 3px;
  }
  .webbrand2022_bnr_date img{
    max-width: 63%;
  }

  @media screen and (max-width: 767px) {
    .webbrand2022_bnr{
      min-height: 600px;
      display: flex;
      align-items: center;
      justify-content: center;
      background-image: url(/common/images/top/webbrand2022_bk_sp.png);
    }
    .webbrand2022_bnr_inner{
      width: 100%;
      max-width: none;
    }
    p.webbrand2022_bnr_txt{
      font-size: 15px;
      text-align: center;
    }
    p.webbrand2022_bnr_txt br{
      display: block;
    }
    .webbrand2022_bnr_period{
      margin-bottom: 25px;
      justify-content: center;
    }
    .webbrand2022_bnr_period img{
      width: 65%;
      height: auto;
    }
    p.webbrand2022_bnr_period span{
      margin-right: 10px;
      font-size: 12px;
      min-width: 70px;
      line-height: 2;
    }
    .webbrand2022_bnr_date{
      padding: 15px 0;
      text-align: center;
      padding-left: 18px;
      padding-right: 18px;
    }
    .webbrand2022_bnr_date img{
      width: 100%;
      height: auto;
    }
  }

  /* バナー：オンラインセミナー */
  .bnr_semi220915{
    background-size: cover;
    background-image: url(/common/images/top/bnr_semi220915_bg_02.jpg);
    background-repeat: no-repeat;
  }
  .bnr_semi220915 a{
    display: block;
    padding: 49px 0 40px;
  }
  .top_bnr_wrap{
    margin: 0 auto;
    display: block;
    max-width: 1080px;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
    position: relative;
  }
  .top_bnr_wrap::before{
    content: '';
    display: block;
    width: 100%;
    height: 110%;
    position: absolute;
    bottom: -40px;
    left: -85px;
    background-image: url(/common/images/top/bnr_semi220915_bg_01.png);
    background-repeat: no-repeat;
    background-size: contain;
    z-index: 0;
  }
  .bnr_semi220915_title{
    margin: 0 auto;
    padding: 36px 0;
    width: 56%;
    min-width: 345px;
    text-align: center;
    z-index: 1;
  }
  .bnr_semi220915_title_main{
    padding: 28px 0 20px;
  }
  .bnr_semi220915_title_date{
    padding-top: 15px;
    border-top: solid 1px #fdff47;
    max-width: 492px;
    margin: 0 auto;
  }
  .bnr_semi220915_desk{
    position: absolute;
    bottom: -48px;
    left: -68px;
  }
  .bnr_semi220915_text{
    margin: 0 auto;
    color: #fff;
    width: 37%;
    z-index: 1;
    min-width: 345px;
  }
  .bnr_semi220915_text_title{
    font-size: 20px;
    margin-bottom: 1rem;
    font-weight: 700;
  }
  .bnr_semi220915_text_dl{
    font-size: 16px;
    line-height: 1.5;
  }
  .bnr_semi220915_text_dt{
    padding-left: .5rem;
    margin-bottom: .5rem;
    color: #fdff47;
    border-left: solid 2px #fdff47;
    line-height: 1;
    font-weight: 700;
  }
  .bnr_semi220915_text_ul{
    margin: 0 0 .6rem 1rem;
  }
  .bnr_semi220915_text_ul li{
    list-style-type: disc;
    font-weight: 700;
  }
  .bnr_semi220915_text_btn{
    margin-top: 20px;
    padding: 20px 0;
    display: block;
    width: 100%;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    background-color: #00276a;
    border-radius: 4px;
    position: relative;
    font-family: "Noto Sans JP";
  }
  .bnr_semi220915_text_btn::after{
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border: solid 2px #fff;
    border-bottom: none;
    border-left: none;
    transform: rotate(45deg);
    position: absolute;
    right: 25px;
    top: 50%;
    margin-top: -4px;
  }
  @media screen and (max-width: 767px) {
    .bnr_semi220915{
      background-image: url(/common/images/top/bnr_semi220915_bg_03.jpg);
      overflow-x: hidden;
    }
    .bnr_semi220915 a{
      padding: 0 15px 30px;
    }
    .top_bnr_wrap::before{
      background: none;
    }
    .bnr_semi220915_title{
      padding: 30px 0 0;
    }
    .bnr_semi220915_title_main{
      padding: 6px 0 0;
    }
    .bnr_semi220915_title_shoulder,
    .bnr_semi220915_title_main,
    .bnr_semi220915_title_date{
      padding-right: 20px;
      padding-left: 10px;
    }
    .bnr_semi220915_title_date{
      position: relative;
    }
    .bnr_semi220915_title_date::before{
      content: '';
      display: block;
      width: 223px;
      height: 120px;
      position: absolute;
      right: -25px;
      top: -121px;
      background-image: url(/common/images/top/bnr_semi220915_bg_04.png);
      background-repeat: no-repeat;
      background-size: contain;
      z-index: -1;
    }
    .bnr_semi220915_desk{
      position: static;
      width: 41%;
    }
    .bnr_semi220915_desk img{
      vertical-align: bottom;
    }
    .bnr_semi220915_text_btn{
      padding: 16px 0;
      font-size: 16px;
    }
  }


  /* ESG/SDGsアドバイザリーサービス */
  .bnr_advisoryservices-link{
    padding: 46px 2em;
    display: block;
    min-height: 390px;
    text-align: center;
    background-repeat: no-repeat;
    background-image: url(/common/images/top/bg_advisoryservices.jpg);
    background-size: cover;
  }
  .bnr_advisoryservices-innner{
    max-width: 721px;
    margin-left: auto;
    margin-right: auto;
  }
  .bnr_advisoryservices-link:hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .bnr_advisoryservices-shoulder{
    margin-bottom: 20px;
  }
  .bnr_advisoryservices-title{
    margin-bottom: 16px;
    padding: 0 2em 20px;
    display: inline-block;
    border-bottom: #000 solid 1px;
  }
  .bnr_advisoryservices-text{
    display: inline-block;
    margin-bottom: 36px;
  }
  .bnr_advisoryservices-shoulder img,
  .bnr_advisoryservices-title img,
  .bnr_advisoryservices-text img{
    height: auto;
  }

  .bnr_btn{
    margin-left: auto;
    margin-right: auto;
    padding: 12px 1em;
    display: block;
    width: 100%;
    max-width: 450px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    background-color: #00276a;
    border-radius: 4px;
    position: relative;
    font-family: "Noto Sans JP";
  }
  .bnr_btn::after{
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border: solid 2px #fff;
    border-bottom: none;
    border-left: none;
    transform: rotate(45deg);
    position: absolute;
    right: 25px;
    top: 50%;
    margin-top: -4px;
  }
  .bnr_btn-orange{
    background-color: #f84c23;
  }

  @media screen and (max-width: 767px) {
    .bnr_advisoryservices-link{
      padding: 135px 1.5em 90px;
      background-image: url(/common/images/top/bg_advisoryservices_sp.jpg);
    }
    .bnr_advisoryservices-shoulder{
      display: none;
    }
    .bnr_advisoryservices-title{
      margin-bottom: 6px;
      padding: 0 0 5px;
    }
    .bnr_advisoryservices-text{
      margin-bottom: .5em;
    }
    .bnr_btn{
      padding: 8px 1em;
      font-size: 16px;
      font-weight: 700;
    }
  }


  /* ブランドジャパン2023 */
  .bj2023bnr{
    background-color: #e76c0f;
  }
  .bj2023bnr_link{
    display: block;
  }
  .bj2023bnr_link:hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .bj2023bnr_inner{
    max-width: 940px;
    width: 100%;
    margin: 0 auto;
    padding: 80px 20px;
    display: flex;
    justify-content: space-between;
    box-sizing: border-box;
    align-items: end;
  }
  .bj2023bnr_inner p{
    color: #fff;
  }
  .bj2023bnr_logo{
      max-width: 360px;
      width: 100%;
  }
  p.bj2023bnr_day{
    color: #016eb0;
    background-color: #fff;
    text-align: center;
    font-size: 21px;
    font-weight: 700;
    margin-top: 10px;
    padding: 2px;
    font-family: "Noto Sans JP";
  }
  .bj2023bnr_text{
    margin-left: 40px;
  }
  .bj2023bnr_subtext{
    font-size: 22px;
    font-weight: 700;
    margin-bottom: 5px;
  }
  .bj2023bnr_maintext{
    font-size: 40px;
    font-weight: 700;
    line-height: 1.3;
  }
  .bj2023bnr_maintext span{
    font-size: 32px;
    font-weight: 700;
  }
  .bj2023bnr_btn{
    padding: 12px 1em;
    margin-top: 20px;
    display: block;
    width: 100%;
    max-width: 450px;
    color: #fff;
    font-size: 18px;
    font-weight: 700;
    text-align: center;
    background-color: #016eb0;
    border-radius: 4px;
    position: relative;
    font-family: "Noto Sans JP";
  }
  .bj2023bnr_btn::after{
    content: '';
    display: block;
    width: 6px;
    height: 6px;
    border: solid .17em #fff;
    border-bottom: none;
    border-left: none;
    transform: rotate(45deg);
    position: absolute;
    right: 25px;
    top: 50%;
    margin-top: -4px;
  }
  @media screen and (max-width: 940px) {
    .bj2023bnr_inner{
      align-items: center;
    }
  }
  @media screen and (max-width: 767px) {
    .bj2023bnr_inner{
      padding: 30px 20px;
      display: block;
      text-align: center;
    }
    .bj2023bnr_logo{
      margin: 0 auto 30px;
      max-width: 290px;
    }
    p.bj2023bnr_day{
      font-size: 16px;
    }
    .bj2023bnr_text{
      margin-left: 0;
    }
    .bj2023bnr_subtext{
      font-size: 17px;
    }
    .bj2023bnr_maintext{
      font-size: 28px;
    }
    .bj2023bnr_maintext span{
      font-size: 20px;
    }
    .bj2023bnr_btn{
      margin: 0 auto;
    }
  }

  /* ナレッジクラウド */
  .p-kc_bnr{
    font-family: "Noto Sans JP";
    background-color: #F8F9FA;
  }
  .p-kc_bnr_innner{
    margin: 0 auto;
    max-width: 1100px;
    padding: 61px 10px 60px;
  }
  .p-kc_bnr_title{
    margin-bottom: 38px;
    position: relative;
    text-align: center;
  }
  .p-kc_bnr_logo{
    position: absolute;
    top: 10px;
  }
  .p-kc_bnr_logo > img{
    width: 200px;
    height: auto;
  }
  .p-kc_bnr_heading{
    margin-bottom: 10px;
    line-height: 1.5;
    color: #333;
    font-size: 2.125em;
    font-family: 'Noto Sans JP'!important;
    font-feature-settings: "palt"!important;
  }
  .p-kc_bnr_read{
    color: #333;
    font-size: 1em!important;
    font-weight: 700!important;
    font-family: 'Noto Sans JP'!important;
    font-feature-settings: "palt"!important;
  }
  .p-kc_bnr_link{
    margin-bottom: 40px;
    display: flex;
    flex-wrap: wrap;
    line-height: 1.5;
    gap: 16px 15px;
    justify-content: center;
  }
  .p-kc_bnr_linkitem > a{
    padding: 4px 35px 5px 20px;
    color: #341D98;
    font-weight: 700!important;
    background-color: #F4F1FF;
    border: solid 2px #341D98;
    border-radius: 25px;
    position: relative;
    transition: .5s;
    display: block;
    font-size: 1.125em;
    font-family: 'Noto Sans JP'!important;
    font-feature-settings: "palt"!important;
  }
  .p-kc_bnr_linkitem > :hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .p-kc_bnr_linkitem > a::after{
    content: '';
    display: block;
    width: 5px;
    height: 5px;
    border: solid 2px #341D98;
    border-bottom: none;
    border-left: none;
    transform: rotate(45deg);
    position: absolute;
    right: 15px;
    top: 50%;
    margin-top: -3px;
  }
  @media screen and (max-width: 940px) {
    .p-kc_bnr_logo{
      margin-bottom: 40px;
      position: initial;
    }
  }
  @media screen and (max-width: 767px) {
    .p-kc_bnr_innner{
      padding: 40px 20px;
    }
    .p-kc_bnr_logo > img{
      width: 180px;
    }
    .p-kc_bnr_heading{
      margin-bottom: 16px;
      font-size: 1.875em;
    }
    .p-kc_bnr_title{
      margin-bottom: 38px;
    }
    .p-kc_bnr_link{
      margin-bottom: 20px;
      gap: 20px 15px;
    }
    .p-kc_bnr_linkitem{
      width: 100%;
      font-size: 1.125em;
    }
    .p-kc_bnr_linkitem > a{
      padding: 6px 50px 6px 20px;
      border-radius: 23px;
      text-align: center;
      font-size: 1em;
    }
    .p-kc_bnr_linkitem.-line2 > a{
      border-radius: 36px;
    }
  }
  .c-sp_only{
    display: none;
  }
  @media screen and (max-width: 767px) {
    .c-sp_only{
      display: initial;
    }
    .c-pc_only{
      display: none;
    }
  }
  .c-bnr_btn{
    text-align: center;
  }
  .c-bnr_btn a,.c-bnr_btn span{
    padding: 15px 1em;
    margin: 0 auto;
    display: block;
    width: 100%;
    max-width: 450px;
    color: #fff;
    font-size: 1.125em;
    font-weight: 700!important;
    line-height: 1.5;
    text-align: center;
    background-color: #341D98;
    border-radius: 4px;
    position: relative;
    transition: .5s;
    font-family: 'Noto Sans JP'!important;
    font-feature-settings: "palt"!important;
  }
  .c-bnr_btn > a:hover,
  .c-bnr_btn > span:hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .c-bnr_btn a::after,
  .c-bnr_btn span::after{
    content: '';
    display: block;
    width: 8px;
    height: 8px;
    border: solid 2px #fff;
    border-bottom: none;
    border-left: none;
    transform: rotate(45deg);
    position: absolute;
    right: 25px;
    top: 50%;
    margin-top: -4px;
  }
  @media screen and (max-width: 767px) {
    .c-bnr_btn a{
      font-size: 1em;
    }
  }

  /* Webブランド調査 */
  .p-wbi2023_bnr__link{
    padding: 0 15px;
    position: relative;
    display: flex;
    background-image: linear-gradient( -180deg, #0a9ece 0%, #0189c0 100%);
  }
  .p-wbi2023_bnr__link:hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .p-wbi2023_bnr__link::before,
  .p-wbi2023_bnr__link::after{
    content: '';
    display: block;
    width: 50%;
    height: 100%;
    position: absolute;
    left: 0;
    background-image: url(/common/images/top/wbi2023_bg_l_pc.svg);
    background-repeat: no-repeat;
    background-size: auto 100%;
  }
  .p-wbi2023_bnr__link::after{
    top: 0;
    right: 0;
    left: auto;
    background-image: url(/common/images/top/wbi2023_bg_r_pc.svg);
    background-position: right;
  }
  .p-wbi2023_bnr__inner {
    margin: 0 auto;
    padding: 50px 0;
    max-width: 800px;
    /* width: 100%; */
    text-align: center;
    position: relative;
    z-index: 10;
  }
  .p-wbi2023_bnr__logo{
    margin-bottom: -5px;
    vertical-align: bottom;
  }
  .p-wbi2023_bnr__logo img{
    max-width: 100%;
    height: auto;
  }
  .p-wbi2023_bnr__date2{
    margin: 0 auto 15px;
    padding: 8px 10px 10px;
    max-width: 676px;
    background-color: #00498a;
    box-shadow: 0px 4px 12px 0px rgba(2, 48, 132, 0.14);
  }
  .p-wbi2023_bnr__date2 img{
    max-width: 254px;
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  .p-wbi2023_bnr__text{
    margin-bottom: 25px;
    font-size: 1.5rem!important;
    color: #fff!important;
    text-shadow: 0px 4px 12px rgba(2, 48, 132, 0.19);
    font-weight: 700!important;
    line-height: 1.5!important;
    font-family: "游ゴシック", YuGothic!important;
    /* font-feature-settings: "palt"!important; */
  }
  .p-wbi2023_bnr__btn span{
    color: #00498a;
    background-color: #fff700;
    font-family: "游ゴシック", YuGothic!important;
  }
  .p-wbi2023_bnr__btn a::after,
  .p-wbi2023_bnr__btn span::after{
      border-color: #00498a;
  }
  @media screen and (max-width: 1024px) {
    .p-wbi2023_bnr__inner {
      padding: 90px 0;
    }
    .p-wbi2023_bnr__date1{
      margin-bottom: -3px;
      padding: 0 55px;
    }

    .p-wbi2023_bnr__logo{
      margin: 0 9px 0;
    }
    .p-wbi2023_bnr__date2{
      margin: 0 15px 15px;
      padding: 5px 90px;
      line-height: 1!important;
    }
    .p-wbi2023_bnr__btn{
      padding: 0 8px;
    }
    .p-wbi2023_bnr__btn span{
      font-size: 1em;
      padding: 11px 1em;
    }
    .p-wbi2023_bnr__link::before,
    .p-wbi2023_bnr__link::after{
      width: 100%;
      height: 50%;
      top: 0;
      background-image: url(/common/images/top/wbi2023_bg_t_sp.svg);
      background-size: contain;
    }
    .p-wbi2023_bnr__link::after{
      top: auto;
      bottom: 0;
      background-image: url(/common/images/top/wbi2023_bg_b_sp.svg);
      background-position: bottom;
    }
  }
  @media screen and (max-width: 767px) {
    .p-wbi2023_bnr__text{
      font-size: .90625rem!important;
    }
  }

  /* 広報誌・会員誌の実績 */
  .p-actual__visual_inner{
    margin-bottom: 45px;
    padding-top: 25px;
    display: flex;
    justify-content: center;
    gap: 24px;
    flex-direction: row-reverse;
  }
  @media screen and (max-width: 767px) {
    .p-actual__visual_inner{
      flex-wrap: wrap;
      flex-direction: column-reverse;
      gap: 30px;
    }
  }
  .p-tag__blue_circle_item{
    display: inline-block;
    border: solid 1px #016EB0;
    border-radius: 10px;
    margin-right: 3px;
    transition: opacity .5s,transform .5s;
  }
  .p-tag__blue_circle_item:hover{
    opacity: .8;
    transform: translateX(0%) translateY(-5px);
    transition: opacity .5s,transform .5s;
  }
  .p-tag__blue_circle_item > a{
    padding: 3px 10px 3px;
    color: #016EB0;
    display: block;
    font-size: .8125em;
    font-family: 'Noto Sans JP'!important;
  }
  .p-actual__visual_info{
    /* max-width: 323px; */
    width: 100%;
  }
  @media screen and (max-width: 767px) {
    .p-actual__visual_info{
      max-width: none;
      width: 100%;
    }
  }
  .p-actual__visual_info_title{
    margin: 16px 0 8px!important;
    padding: 0!important;
    font-size: 1.3125em!important;
    font-family: 'Noto Sans JP'!important;
  }
  @media screen and (max-width: 767px) {
    .p-actual__visual_info_title{
      margin: 10px 0 2px!important;
    }
  }
  .p-actual__visual_info_title::before,
  .p-actual__visual_info_title::after{
    display: none!important;
  }
  .p-actual__visual_info_text{
    margin-bottom: 1.5em!important;
    font-size: 1em!important;
    color: #666!important;
    font-family: 'Noto Sans JP'!important;
  }
  @media screen and (max-width: 767px) {
    .p-actual__visual_info_text{
      margin-bottom: 1.2em!important;
    }
  }
  .p-actual__visual_info_description > dt{
    margin-bottom: 1em;
    font-weight: 700!important;
    color: #444;
    font-family: 'Noto Sans JP'!important;
  }
  .p-list_2col_item{
    display: flex;
    flex-direction: row;
    color: #444;
    font-family: 'Noto Sans JP'!important;
  }
  .p-list_2col_item > span{
    line-height: 1.5!important;
    width: 5.1em;
  }
  .p-list_2col_item > p{
    position: relative;
    max-width: 240px;
    line-height: 1.5!important;
    margin-bottom: 0!important;
  }
  .p-list_2col_item > p::before{
    content: '：';
    position: absolute;
    left: -1em;
  }
  @media screen and (max-width: 767px) {
    .p-list_2col_item > p{
      max-width: none;
    }
  }
  .p-actual__visual_cover{
    text-align: center;
    min-width: 323px;
  }
  .p-actual__visual_cover > img{
    width: 100%;
    height: auto;
  }
  @media screen and (max-width: 767px) {
    .p-actual__visual_cover{
      width: 100%;
    }
    .p-actual__visual_cover > img{
      max-height: 240px;
      width: auto;
    }
  }
  .p-actual__visual_content{
    display: flex;
    gap: 9px;
    flex-wrap: wrap;
  }
  .p-actual__visual_content_item{
    width: calc((100% - 40px) / 3);
    position: relative;
    transition: opacity .5s;
  }
  @media screen and (max-width: 767px) {
    .p-actual__visual_content_item{
      width: calc((100% - 9px) / 2);
    }
  }
  .p-actual__visual_content_item:hover{
    opacity: .7;
    transition: opacity .5s;
  }
  .p-actual__visual_content_item:before{
    content: '';
    display: block;
    width: 22px;
    height: 22px;
    background-color: #016EB0;
    position: absolute;
    bottom: 0;
    right: 0;
    cursor: pointer;
    border: solid 1px #016EB0;
    transition: .5s;
  }
  /* .p-actual__visual_content_item:hover::before{
    background-color: #fff;
    transition: .5s;
  } */
  .p-actual__visual_content_item > a{
    display: block;
  }
  .p-actual__visual_content_item > a::before,
  .p-actual__visual_content_item > a::after{
    content: '';
    display: block;
    width: 10px;
    height: 2px;
    background-color: #fff;
    position: absolute;
    bottom: 12px;
    right: 7px;
    transition: .5s;
  }
  /* .p-actual__visual_content_item > a:hover::before,
  .p-actual__visual_content_item > a:hover::after{
    background-color: #016EB0;
    transition: .5s;
  } */
  .p-actual__visual_content_item > a::after{
    width: 2px;
    height: 10px;
    bottom: 8px;
    right: 11px;
  }
  .p-actual__visual_content_item > a > img{
    width: 100%;
    height: auto;
    vertical-align: bottom;
  }
  .c-text_normal{
    font-family: 'Noto Sans JP'!important;
  }
  .p-discription{
    margin-bottom: 47px;
    color: #444;
  }
  .p-discription__dt{
    margin-bottom: 15px;
    font-size: 1em!important;
    font-weight: 700!important;
    font-family: 'Noto Sans JP'!important;
  }
  .p-discription__dd{
    line-height: 1.8;
    margin-bottom: 25px;
    font-size: .9375em;
    font-family: 'Noto Sans JP'!important;
  }
  .p-actual__person{
    margin-bottom: 50px;
    padding: 20px;
    display: flex;
    gap: 20px;
    background-color: #F2F2F2;
  }
  @media screen and (max-width: 767px) {
    .p-actual__person{
      flex-wrap: wrap;
      gap: 0;
    }
  }
  .p-actual__person_img{
    text-align: center;
    min-width: 105px;
    vertical-align: bottom;
  }
  .p-actual__person_img > p{
    margin-top: 8px;
    font-size: .8125em!important;
    font-weight: 700!important;
    line-height: 1.2!important;
    font-family: 'Noto Sans JP'!important;
  }
  .p-actual__person_img > span{
    width: 70px;
    display: block;
    margin: 0 auto;
  }
  .p-actual__person_img > span > img{
    width: 100%;
    height: auto;
  }
  @media screen and (max-width: 767px) {
    .p-actual__person_img{
      display: flex;
      width: 100%;
    }
    .p-actual__person_img > p{
      text-align: left;
      font-size: .9375em!important;
    }
    .p-actual__person_img > span{
      margin-right: 10px;
      margin-left: 0;
      width: 50px;
    }
  }
  .p-actual__person_text{
    padding: 18px 20px;
    width: 100%;
    background-color: #fff;
    border-radius: 10px;
    position: relative;
  }
  .p-actual__person_text::before{
    content: '';
    width: 0;
    height: 0;
    position: absolute;
    left: -30px;
    top: 30px;
    border: solid 10px transparent;
    border-right: solid 20px#fff;
  }
  @media screen and (max-width: 767px) {
    .p-actual__person_text{
      width: 100%;
    }
    .p-actual__person_text::before{
      display: none;
    }
  }
  .p-actual__person_text > p{
    margin-bottom: 0!important;
    font-size: .9375em;
    font-family: 'Noto Sans JP'!important;
  }
  .p-actual__person_text > p + p{
    margin-top: 1em;
  }

  .p-publishing_wrap{
    margin: -15px 0;
  }
  .p-publishing_inner{
    padding-bottom: 40px;
    display: flex;
    /* gap: 0 20px; */
    flex-wrap: wrap;
    position: relative;
  }
  .p-publishing_item{
    padding: 40px 10px 0;
    width: calc(100% / 2);
    display: flex;
    flex-direction: column;
    position: relative;
  }
  .p-publishing_item:nth-child(odd){
    padding-right: 20px;
  }
  .p-publishing_item:nth-child(even){
    padding-left: 20px;
  }
  .p-publishing_item > .c-button{
    margin-bottom: 40px;
    margin-top: auto;
  }
  .p-publishing_item::after{
    content: '';
    display: block;
    height: 1px;
    position: absolute;
    left: 0;
    bottom: 0;
    background-color: #eee;
    width: 100%;
  }
  .p-publishing_item_img{
    margin-bottom: 23px;
    text-align: center;
  }
  .p-publishing_item_img > img{
    width: auto;
  }
  .p-publishing_item_header{
    margin-top: 14px;
  }
  .p-publishing_item_title{
    margin: 0 0 8px!important;
    padding: 0!important;
    font-size: 1.125rem!important;
    font-family: 'Noto Sans JP'!important;
  }
  .p-publishing_item_title::before,
  .p-publishing_item_title::after{
    display: none!important;
  }
  .p-publishing_item_text{
    margin-bottom: 13px!important;
    font-family: 'Noto Sans JP'!important;
  }
  .p-publishing_item_description{
    margin-bottom: 25px!important;
    line-height: 1.5!important;
    font-family: 'Noto Sans JP'!important;
  }
  @media screen and (max-width: 767px) {
    .p-publishing_inner{
      gap: 0px;
    }
    .p-publishing_item{
      padding-top: 30px;
      width: 100%;
    }
    .p-publishing_item:nth-child(odd){
      padding-right: 10px;
    }
    .p-publishing_item:nth-child(even){
      padding-left: 10px;
    }
    .p-publishing_item > .c-button{
      margin-bottom: 30px;
    }
    .p-publishing_item_img{
      height: 156px;
    }
    .p-publishing_item_img > img{
      height: 100%;
      width: auto;
    }
    .p-publishing_item_title{
      margin: 0 0 4px!important;
    }
  }

  /* コンテンツ設計・制作／広報メディア */
  .p-publishing_bnr__inner{
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    background: linear-gradient(90deg, rgba(236,220,195,1) 0%, rgba(236,220,195,1) 50%, rgba(231,238,245,1) 50%, rgba(231,238,245,1) 100%);;
  }
  .p-publishing_left,.p-publishing_right{
    padding: 35px 50px;
    width: 50%;
    max-width: 680px;
    text-align: center;
    /* display: flex;
    flex-direction: column; */
  }
  .p-publishing_left{
    background-color: #ECDCC3;
  }
  .p-publishing_right{
    background-color: #E7EEF5;
  }
  .p-publishing_bubble{
    margin-bottom: 30px;
    padding: 12px 50px 6px;
    min-height: 76px;
    border-radius: 4px;
    position: relative;
    background-color: #fff;
    /* flex: 1;
    height: 100%;
    max-height: 0%; */
  }
  .p-publishing_bubble > p{
    font-family: "游ゴシック", YuGothic, sans-serif!important;
  }
  .p-publishing_bubble::after{
    margin-left: -8px;
    content: '';
    position: absolute;
    bottom: -19px;
    width: 0;
    height: 0;
    border: transparent solid 8px;
    border-top: #fff solid 13px;
  }
  .c-text_orange{
    color: #D64000!important;
    font-weight: 700!important;
  }
  .c-text_blue{
    color: #006EB0!important;
    font-weight: 700!important;
    line-height: 1.6!important;
    font-size: 1.125rem!important;
  }
  .c-text_small{
    font-size: .9375em!important;
    line-height: 1.4!important;
  }
  .c-text_normal{
    font-weight: 700!important;
    font-size: 1.5rem!important;
    line-height: 1.5!important;
  }
  .p-publishing_title{
    margin-bottom: 30px;
    display: inline-block;
    font-size: 2.23214em!important;
    font-family: "游ゴシック", YuGothic, sans-serif!important;
    display: flex;
    justify-content: center;
    align-items: self-end;
  }
  .p-publishing_title > img{
    vertical-align: bottom;
  }
  .p-publishing_title > span{
    margin-bottom: .5em;
    font-weight: 700!important;
    font-size: 0.56em!important;
    display: block;
    text-align: left;
    font-family: "游ゴシック", YuGothic, sans-serif!important;
  }
  .p-publishing_tag{
    margin-bottom: 30px;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 12px;
    align-items: baseline;
  }
  .p-publishing_tag_item{
    padding: 7px 11px;
    background-color: #222;
    color: #fff;
    font-size: .9375em!important;
    font-weight: 700!important;
    border-radius: 2px;
    font-family: "游ゴシック", YuGothic, sans-serif!important;
  }
  .p-publishing_tag_item.-tag_bubble{
    position: relative;
  }
  .p-publishing_tag_item.-tag_bubble::before{
    content: '';
    position: absolute;
    display: block;
    top: -13px;
    left: 50%;
    width: 0;
    height: 0;
    margin-left: -6px;
    border: transparent solid 6px;
    border-bottom: #222 solid 9px;
  }
  .p-publishing_text{
    text-align: left;
    margin-bottom: 15px;
    color: #222!important;
    line-height: 1.8!important;
    font-size: 1rem!important;
    font-weight: 700!important;
    font-family: "游ゴシック", YuGothic, sans-serif!important;
  }
  .p-contents-creation_bnr__btn > span{
    color: #fff;
    background-color: #D64000;
    font-family: "游ゴシック", YuGothic!important;
  }
  .p-publishing_bnr__btn > span{
    color: #fff;
    background-color: #006EB0;
    font-family: "游ゴシック", YuGothic!important;
  }
  @media screen and (max-width: 1024px) {
    .p-publishing_left,.p-publishing_right{
      padding: 40px 20px;
      width: 100%;
      max-width: 100%;
    }
    .p-publishing_bubble{
      margin-bottom: 25px;
      padding: 12px 20px 6px;
    }
    .c-text_orange{
      line-height: 1.6!important;
    }
    .c-text_blue{
      font-size: 1rem!important;
    }
    .c-text_small{
      margin-bottom: 8px;
    }
    .p-publishing_title{
      max-width: 250px;
      margin-left: auto;
      margin-right: auto;
      margin-bottom: 20px;
      display: inline-block;
      font-size: 1.75em!important;
    }
    .p-publishing_title.-height{
      padding: 15px 0 5px;
    }
    .p-publishing_tag{
      margin-bottom: 25px;
      gap: 10px 8px;
    }
    .p-publishing_tag_item{
      padding: 8px 11px;
      font-size: .875em!important;
    }
    .p-publishing_tag_item.-tag_bubble{
      padding: 8px 15px;
    }
    .p-publishing_text{
      font-size: .875em!important;
      font-feature-settings: normal!important;
    }
    .p-contents-creation_bnr__btn > span,
    .p-publishing_bnr__btn > span{
      font-size: 1rem!important;
    }
  }

  .p-sdgs_csr2023Banner{
    width: 100%;
    overflow: hidden;
    background: #f0f0f0 no-repeat url(/common/images/top/bg_sustainability_pc.png) calc(50% + 1875px);
    background-size: contain;
  }
  .p-sdgs_csr2023Banner:hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .p-sdgs_csr2023Banner_inner{
    margin: 0 auto;
    max-width: 1830px;
    height: 495px;
    position: relative;
    box-sizing: border-box;
  }
  .p-sdgs_csr2023Banner_top{
    width: 100%;
    position: absolute;
    height: 100%;
    background: no-repeat url(/common/images/top/bg01_sdgs.png) center 30px,no-repeat url(/common/images/top/bg02_sdgs.png) calc(50% - 440px) 280px,no-repeat url(/common/images/top/bg03_sdgs.png) calc(50% - 640px) 225px;
  }
  .p-sdgs_csr2023Banner_bottom{
    width: 100%;
    position: absolute;
    height: 100%;
    background: no-repeat url(/common/images/top/bg_sustainability.png) center bottom;
    background-size: cover;
  }
  .p-sdgs_csr2023Banner_top_title,
  .p-sdgs_csr2023Banner_bottom_title{
    max-width: 1830px;
    width: 100%;
    padding: 0 1.5em;
    box-sizing: border-box;
  }
  .p-sdgs_csr2023Banner_top_title{
    margin: 40px auto 0;
    padding-right: 54%;
    text-align: right;
  }
  .p-sdgs_csr2023Banner_bottom_title{
    margin: 220px auto 0;
    padding-left: 54%;
    text-align: left;
  }
  .p-sdgs_csr2023Banner_top_title > img,
  .p-sdgs_csr2023Banner_bottom_title > img,
  .p-sdgs_csr2023Banner_top_text > img,
  .p-sdgs_csr2023Banner_bottom_text > img{
    max-width: 100%;
    height: auto;
  }
  .p-sdgs_csr2023Banner_top_text,
  .p-sdgs_csr2023Banner_bottom_text{
    position: absolute;
    left: 50%;
    top: 50%;
    z-index: 5;
  }
  .p-sdgs_csr2023Banner_top_text{
    margin-top: -108px;
    margin-left: -312px;
  }
  .p-sdgs_csr2023Banner_bottom_text{
    margin-top: -60px;
    margin-left: -263px;
  }

  .p-sdgs_csr2023Banner__btn{
    position: relative;
    bottom: -5px;
  }
  .p-sdgs_csr2023Banner__btn > span{
    color: #fff;
    background-color: #023067;
    font-family: "游ゴシック", YuGothic!important;
  }
  @media screen and (max-width: 960px) {
    .p-sdgs_csr2023Banner_bottom_title{
      margin: 245px auto 0;
    }
  }
  @media screen and (max-width: 768px) {
    .p-sdgs_csr2023Banner_top{
      background: no-repeat url(/common/images/top/bg01_sdgs.png) center 30px,no-repeat url(/common/images/top/bg02_sdgs.png) calc(50% - 330px) 190px,no-repeat url(/common/images/top/bg03_sdgs.png) calc(50% - 640px) 225px;
    }
    .p-sdgs_csr2023Banner_top_title{
      padding-right: 47%;
    }
    .p-sdgs_csr2023Banner_bottom_title{
      padding-left: 47%;
    }
  }
  @media screen and (max-width: 640px) {
    .p-sdgs_csr2023Banner_inner{
      height: 462px;
    }
    .p-sdgs_csr2023Banner_top{
      background: no-repeat url(/common/images/top/bg01_sdgs.png) calc(50% + 120px) 30px,no-repeat url(/common/images/top/bg04_sdgs.png) calc(50% - 155px) 150px;
      background-size: 82px,53px;
    }
    .p-sdgs_csr2023Banner_bottom{
      background: no-repeat url(/common/images/top/bg_sustainability_sp.png) center calc(50% + 160px);
      background-size: 640px auto;
    }
    .p-sdgs_csr2023Banner_top_title,
    .p-sdgs_csr2023Banner_bottom_title{
      padding: 0 30%;
      text-align: center;
    }
    .p-sdgs_csr2023Banner_top_title{
      margin: 30px auto 0;
    }
    .p-sdgs_csr2023Banner_bottom_title{
      margin: 250px auto 0;
    }
    .p-sdgs_csr2023Banner_top_text{
      margin-top: -95px;
      margin-left: -150px;
    }
    .p-sdgs_csr2023Banner_bottom_text{
      margin-top: -50px;
      margin-left: -150px;
    }

    .p-sdgs_csr2023Banner__btn{
      bottom: -10px;
      margin: 0 25px;
    }
  }
  @media screen and (max-width: 390px) {
    .p-sdgs_csr2023Banner_bottom{
      background: no-repeat url(/common/images/top/bg_sustainability_sp.png) center calc(50% + 86px);
      background-size: contain;
    }
    .p-sdgs_csr2023Banner_top_title,
    .p-sdgs_csr2023Banner_bottom_title{
      padding: 0 15%;
      text-align: center;
    }
  }

  /* 企業メッセージ2023 */
  .cm2023bnr{
    background: #039b89;
    background-image: linear-gradient( 0deg, #039b89 0%, #03b4a4 100%);
  }
  .cm2023bnr_link{
    display: block;
    color: #fff;
    z-index: 1;
    position: relative;
    overflow: hidden;
    text-align: center;
  }
  .cm2023bnr_link::before,.cm2023bnr_link::after{
    content: '';
    display: block;
    width: 100%;
    min-width: 1800px;
    position: absolute;
    bottom: 0;
    background-size: contain;
    background-repeat: no-repeat;
    z-index: 0;
  }
  .cm2023bnr_link::before{
    height: 379px;
    right: 0;
    background-image: url(/common/images/top/cm2023/cm2023_bg_l_pc.png);
  }
  .cm2023bnr_link::after{
    height: 100%;
    left: 0;
    background-image: url(/common/images/top/cm2023/cm2023_bg_R_pc.svg);
    background-position: right;
  }
  .cm2023bnr_link p{
    color: #fff;
  }
  .cm2023bnr_link:hover{
    opacity: .8;
    transition: .5s;
    transform: translateX(0%) translateY(-5px);
  }
  .cm2023bnr_inner{
    /* max-width: 760px;
    width: 100%; */
    margin: 0 auto;
    padding: 45px 20px;
    /* box-sizing: border-box; */
    text-align: center;
    position: relative;
    z-index: 2;
    display: inline-block;
  }
  h3.cm2023bnr_title{
    margin-bottom: 17px;
    font-size: 61px;
    line-height: 1.2;
    letter-spacing: 2px;
    font-family: "游ゴシック", "Yu Gothic";
    text-shadow: rgba(0, 69, 77, .25) 2px 2px 6px;
  }
  .main_txt01_pc_png {
    position: absolute;
    left: -22px;
    top: -14px;
    width: 2816px;
    height: 946px;
    z-index: 14;
  }
  p.cm2023bnr_subtitle{
    font-size: 24px;
    display: block;
    width: 100%;
    border-bottom: #fff solid 1px;
    font-family: "游ゴシック", "Yu Gothic";
    text-shadow: rgba(0, 69, 77, .4) 2px 2px 6px;
  }
  div.cm2023bnr_text{
    margin-bottom: 16px;
    display: flex;
    gap: 1rem;
    align-items: center;
    justify-content: space-between;
  }
  p.cm2023bnr_subtext{
    font-size: 40px;
    font-weight: 600;
    font-family: "游ゴシック", "Yu Gothic";
  }
  p.cm2023bnr_subtext_day{
    padding: 0 8px 0 6px;
    display: block;
    font-size: 16px;
    font-weight: 700;
    background-color: #00454d;
    font-family: "游ゴシック", "Yu Gothic";
  }
  p.cm2023bnr_subtext_day span{
    margin: 0 3px;
    font-size: 20px;
    font-weight: 700;
    font-family: "游ゴシック", "Yu Gothic";
  }
  .cm2023bnr_btn span{
    color: #05135a;
    background-color: #fff301;
  }
  .cm2023bnr_btn span:after{
    border-color: #05135a;
  }
  @media screen and (max-width: 1800px) {
    .cm2023bnr_link::before{
      margin-right: -900px;
      right: 50%;
    }
    .cm2023bnr_link::after{
      margin-left: -900px;
      left: 50%;
    }
  }
  @media screen and (max-width: 768px) {
    .cm2023bnr_link::before,.cm2023bnr_link::after{
      display: none;
    }
    .cm2023bnr_inner{
      padding: 30px 20px 0;
      display: block;
    }
    .cm2023bnr_inner::after{
      margin: 20px auto 0;
      content: '';
      display: block;
      max-height: 301px;
      max-width: 75%;
      aspect-ratio: 493/301;
      background: url(/common/images/top/cm2023/cm2023_bg_l_sp.png) no-repeat bottom center;
      background-size: contain;
    }
    h3.cm2023bnr_title{
      margin-bottom: 10px;
      font-size: 30.5px;
      letter-spacing: 0;
      font-feature-settings: "palt"
    }
    div.cm2023bnr_text{
      margin-bottom: 24px;
      display: block;
    }
    p.cm2023bnr_subtitle{
      font-size: 16px;
    }
    p.cm2023bnr_subtext{
      font-size: 21px;
    }
    p.cm2023bnr_subtext_day{
      padding: 3px 5px;
      line-height: 1;
      font-size: 12px;
    }
    p.cm2023bnr_subtext_day span{
      margin: 0 1px;
      font-size: 14px;
    }
    .cm2023bnr_btn span{
      padding: 10px 1em;
      font-size: 16px;
      letter-spacing: 2px;
    }
  }

}