.screen_out {
  position: absolute;
  overflow: hidden;
  width: 1px;
  height: 1px;
  margin: -1px;
  clip: rect(0, 0, 0, 0);
}
.ico_sub {
  display: inline-block;
  background-size: contain;
  background-repeat: no-repeat;
  font-size: 0;
}
.sub-nav.member .sub-nav-background {
  background-image: url(/images/sub/member/bg_member.jpg);
}
.post {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  
  
  .txt_empty {
    height: 180px;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #555;
  }
  
  .wrap_util {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 80px;
    padding: 20px 30px;
    box-sizing: border-box;
    background-color: #fafafa;
    color: #555;
    font-size: 15px;
    margin-bottom: 33px;
  }
  .txt_emph {
    color: var(--primary-color);
    font-weight: bold;
  }
  .box_filter {
    display: flex;
    gap: 9px;
    height: 50px;
  }
  .opt_filter {
    position: relative;
    display: inline-block;
    min-width: 148px;
    box-sizing: border-box;
    border-radius: 10px;
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    color: #aaaaaf;
    outline: none;
    background-size: 8px;

    & > div {
      border-radius: 10px;
    }

    & input {
      height: 38px;
    }

    &:focus {
      border-color: var(--primary-color);
    }
  }

  .search-container {
    position: relative;
  }
  
  .inp_search {
    min-width: 314px;
    height: 100%;
    padding: 15px 20px;
    box-sizing: border-box;
    border-radius: 10px;
    border: 1px solid #dddddd;
    background: #ffffff;
    outline: none;

    &:focus {
      border-color: var(--primary-color);
    }

    + button {
      position: absolute;
      right: 10px;
      z-index: 10;
      width: 20px;
      height: 20px;
      top: 50%;
      transform: translateY(-50%);
      
      i {
        width: 100%;
        height: 100%;
        background: url(/images/sub/info/search.svg) no-repeat 
      0 0 / 20px 20px;
        display: block;
      }
    }
  }
  .list_posts {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 22px;
    margin-top: 30px;
    border-top: 2px solid #222;
    padding-top: 40px;
    padding-inline: 20px;
    
    li {
      width: calc((100% - 66px) / 4);
      margin-bottom: 22px;
    }
  }
  .img_posts {
    width: 100%;
    height: 100%;
    min-height: 221px;
    overflow: hidden;
    object-fit: cover;
    
    
    
    

    &:not(.img_default) {
      transition: all 0.3s ease;  
    }
    
    &:not(.img_default):hover {
      transform: scale(1.1);
    }
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
    
  
    &.img_default{
      padding: 20px 30px;
      background: #dedede;
      background: url(/images/layout/logo.png) center no-repeat;
      background-color: #dedede;
      background-size: 170px;
      border-radius: 20px;
    }
  }
  .txt_tag {
    display: inline-block;
    margin-top: 22px;
    padding: 4px 7px;
    height: 23px;
    line-height: normal;
    border-radius: 11px;
    border: 1px solid #dddddd;
    font-size: 12px;
    color: #919191;
    font-weight: bold;
    vertical-align: middle;
  }
  .tit_post {
    display: block;
    margin-top: 12px;
    font-size: 23px;
    color: #222222;
    font-weight: bold;
    line-height: 1.4;
    overflow: hidden;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .ico_time {
    width: 16px;
    height: 16px;
    margin-right: 10px;
    vertical-align: middle;
    background-image: url(/images/sub/info/time.svg);
  }
  .txt_date {
    font-size: 15px;
    letter-spacing: 0px;
    line-height: 16px;
    color: #aaaaaa;
    font-weight: bold;
  }
}
.post .wrap_detail {
  margin-top: 85px;
  padding-top: 50px;
  border-top: 1px solid #222;
}

.post .wrap_detail .source-url {
  img {
    padding: 15px;
  }

  p {
    line-height: 1.7;
  }
}

.post .tit_detail {
  display: block;
  font-size: 30px;
  word-wrap: break-word;
}
.info {
  .post .box_info,
  .post dl {
    display: flex;
  }
  .post .box_info {
    margin-top: 30px;
    font-size: 15px;
  }
  .post .wrap_detail dt {
    padding-right: 17px;
    color: #222;
  }
  .post .wrap_detail dd {
    color: #aaa;
  }
  .post .wrap_detail dl + dl {
    position: relative;
    margin-left: 17px;
    padding-left: 17px;
  }
  .post .wrap_detail dl + dl::before {
    content: '';
    display: block;
    position: absolute;
    left: -1px;
    top: 50%;
    transform: translateY(-50%);
    width: 1px;
    height: 11px;
    background-color: #ddd;
  }
  .post .box_detail {
    margin-top: 50px;
    padding: 75px 30px;
    border-top: 1px solid #ddd;
    border-bottom: 1px solid #ddd;
    .toastui-editor-contents {
      font-size: 16px;=
    }
  }
  .post .box_btns {
    display: flex;
    justify-content: space-between;
    margin-top: 95px;
    font-size: 14px;
    font-weight: bold;
  }

  .box_btns button:not(.btn_list) {
    display: flex;
    align-items: center;
    flex: 1;
  }

  .btn_next {
    justify-content: flex-end;
  }
  
  .post .box_btns .txt_tit {
    display: inline-block;
    padding: 0 20px;
    font-size: 16px;
    font-weight: normal;
    overflow: hidden;
    text-overflow: ellipsis;
    display: -webkit-box;
    -webkit-line-clamp: 1;
    -webkit-box-orient: vertical;
  }
  .post .box_btns .ico_sub {
    line-height: 24px;
  }
  .post .ico_prev {
    width: 13px;
    height: 12px;
    margin-right: 26px;
    background-image: url(/images/sub/info/pre_bk.svg);
  }
  .post .btn_prev:disabled {
    color: #9d9d9d;
    .ico_prev {
      background-image: url(/images/sub/info/pre_gr.svg);
    }
  }
  .post .ico_next {
    width: 13px;
    height: 12px;
    margin-left: 26px;
    background-image: url(/images/sub/info/next_bk.svg);
  }
  .post .btn_next:disabled {
    color: #9d9d9d;
    .ico_next {
      width: 13px;
      height: 12px;
      background-image: url(/images/sub/info/next_gr.svg);
    }
  }

  .post .box_btns .btn_list {
    width: 180px;
    height: 60px;
    border: 2px solid var(--primary-color);
    color: var(--primary-color);
    font-weight: bold;
    font-size: 16px;
    line-height: 60px;
  }
}

.tbl_release {
  margin-top: 40px;
  width: 100%;
  border-collapse: separate;
  border-spacing: 0 10px;
  table-layout: fixed;

  thead tr {
    height: 52px;
    line-height: 52px;
    background-color: #fff7f1;
    font-size: 17px;
    font-weight: bold;
    border-spacing: 0;
  }
  thead tr:first-child th:first-child {
    border-top-left-radius: 12px;
    border-bottom-left-radius: 12px;
  }

  thead tr:first-child th:last-child {
    border-top-right-radius: 12px;
    border-bottom-right-radius: 12px;
  }
  tbody {
    text-align: center;
    tr {
      height: 65px;
      line-height: 65px;
      border-radius: 12px;
      border-spacing: 0 10px;
      width: 100%;

      &:hover td {
        background-color: #fff7f2;
        border-color: var(--primary-color);
        cursor: pointer;
      }
    }
    td {
      border-top: 1px solid #dadce1;
      border-bottom: 1px solid #dadce1;
    }
    td:first-child {
      border-left: 1px solid #dadce1;
      border-top-left-radius: 12px;
      border-bottom-left-radius: 12px;
    }

    td:last-child {
      border-right: 1px solid #dadce1;
      border-top-right-radius: 12px;
      border-bottom-right-radius: 12px;
    }

    td:nth-child(3) {
      width: 120px;
    }

    td:nth-child(1),
    td:nth-child(4) {
      width: 80px;
    }
  }
  .txt_tit {
    text-align: left;

    div {
      width: 100%;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
  }
}
.item_member {
  position: relative;
  width: calc((100% - 120px) / 4);
  margin-top: 40px;
  border-radius: 25px;
  background-color: #fff;
  filter: drop-shadow(0 0 7.5px rgba(0, 0, 0, 0.09));
  
  
  
  
  
  
  
  
  
  
  
  

  & > a {
    height: 100%;
  }
  
  &:hover {
    border: 1px solid var(--primary-color);
    box-shadow: 0px 5px 5px 0px rgba(0, 0, 0, 0.1);
  }
  .tag_member {
    position: absolute;
    top: -7px;
    right: -5px;
    width: 76px;
    height: 33px;
    border-radius: 10px;
    background-color: #fe7b0e;
    font-size: 19px;
    line-height: 33px;
    text-align: center;
    color: #ffffff;
    font-weight: bold;
  }
  .ico_posts {
    width: 100%;
    height: 143px;
    border-radius: 26px 10px 0 0;
    overflow: hidden;
    padding: 32px;
  }

  .box_txt {
    padding-block: 26px;
    border-top: 1px solid #f2f2f2;
    box-sizing: border-box;
    text-align: center;
    
    
    

    .tit_post {
      margin-top: 0;
      font-size: 22px;
    }

    .txt_service {
      overflow: hidden;
      display: block;
      max-width: 290px;
      width: fit-content;
      height: 40px;
      margin: 10px auto;
      padding: 0 20px;
      line-height: 40px;
      border-radius: 20px;
      background-color: #f6f6f6;
      text-overflow: ellipsis;
    }
    .txt_ceo {
      font-size: 15px;
      line-height: 28px;
      color: #929292;
      font-weight: 500;
    }
  }
}
.member.detail .post {
  max-width: 100%;
  .txt_nodata {
    padding-top: 80px;
    color: #929292;
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 14px;
    flex-direction: column;
    gap: 10px;
  }
  .wrap_detail {
    margin-top: 0;
    padding-top: 0;
    border-top: none;
  }
  [class*='area_'] {
    max-width: var(--max-width);
    margin: 0 auto;
    padding: 85px 0 0;
    .txt_sub {
      font-size: 17px;
      color: #fe7b0e;
      font-weight: 800;
      text-align: center;
    }
    .tit_area {
      display: block;
      font-size: 38px;
      letter-spacing: -1px;
      color: #222222;
      font-weight: bold;
    }
  }
  .area_info {
    margin-top: 25px;
    padding-top: 50px;
    border-top: 1px solid #222;
  }
  .area_card {
    overflow: hidden;
    max-width: none;
    margin: 105px 0 0;
    background-color: #f4f6f9;
    padding-bottom: 85px;
  }

  .empty-member-news {
    display: flex;
    justify-content: center;
    padding-block: 20px;
    color: #727272;
  }
  
  .inner_card_util,
  .list_cards {
    max-width: var(--max-width);
    margin: 0 auto;
  }
  .inner_card_util {
    display: flex;
    justify-content: space-between;
  }
  .list_cards {
    display: flex;
    padding: 30px 0 0;
  }
  .item_card {
    flex-shrink: 0;
    width: 334px;
    height: 210px;
    border-radius: 20px;
    /* background-color: #ffffff; */
    display: flex;
    align-items: center;
    justify-content: center;
    overflow: hidden;
    
    
    
    
    
    
    
    
    
    
    
    
    img {
      object-fit: cover;
      width: 100%;
      height: 100%;
      position: absolute;
      left: 50%;
      top: 50%;
      transform: translate(-50%, -50%);

      &:not(.img_default) {
        transition: all 0.3s ease;
      }

      &:not(.img_default):hover {
        transform: translate(-50%, -50%) scale(1.1);
      }
    }
  }
  .swiper{
    overflow: visible;
  }
  .swiper-button-prev,  .swiper-button-next{
    position: absolute;
    display: block;
    flex: 1 0 auto;
    width: 50px;
    height: 50px;
    border-radius: 25px;
    background-color: #ffffff;
    border: 1px solid #eaeaea;
    
    
    
    
    
    
    &::after{
      content: '';
      display: block;
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      width: 8px;
      height: 16px;
      background-repeat: no-repeat;
    }
  }
  .swiper-button-prev{
    left: initial;
    right: 59px;
    top: -60px;
    
    
    
    
    
    
    
    
    
    
    
    &::after{
      background-image: url(/images/sub/member/ico_prev.svg);
    }

  }
  .swiper-button-next{
    right: 0;
    top: -60px;
    &::after{
      background-image: url(/images/sub/member/ico_next.svg);
    }
  }
}

.member-buttons {
  width: 100%;
  max-width: var(--max-width);
  margin: 0 auto;
  margin-top: 0px;
  display: flex;
  justify-content: flex-end;
  margin-top: 20px;
}

.member-buttons a {
  padding-block: 13px;
  padding-inline: 30px;
  border-radius: 5px;
  border: 1px solid var(--primary-color);
  color: var(--primary-color);
}

.member .wrap_detail {
  .area_info {
    display: flex;
    gap: 45px;
    align-items: flex-start;
  }
  .img_representative {
    border-radius: 20px;
    margin-bottom: 20px;
    overflow: hidden;
    max-height: 550px;
    
    
    
    
    img {
      object-fit: contain;
      width: 100%;
      height: 100%;
    }
  }
  
  .box_thumb {
    width: 429px;
    height: auto;
    padding: 30px 30px 35px;
    box-sizing: border-box;
    border-radius: 20px;
    background-color: #ffffff;
    border: 1px solid #dadada;
  }
  .img_thumb {
    width: 369px;
    height: auto;
    box-sizing: border-box;
    border-radius: 15px;
    background-color: #f8f9fa;
    object-fit: contain;
    display: flex;
    justify-content: center;
    max-height: 157px;
    padding: 18px;
    
    
    
    
    
    

    img {
      object-fit: scale-down;
      height: 100%;
    }
  }
  .tit_company {
    display: block;
    padding: 35px 0 30px;
    font-size: 30px;
    color: #222222;
    font-weight: normal;
    text-align: center;
  }
  .link_homepage {
    display: block;
    width: 373px;
    height: 67px;
    margin-right: 45px;
    border-radius: 10px;
    background-color: var(--primary-color);
    font-size: 20px;
    line-height: 67px;
    color: #ffffff;
    text-align: center;
    .ico_link {
      width: 22px;
      height: 23px;
      margin-left: 10px;
      vertical-align: middle;
      background-image: url(/images/sub/member/ico_goto.svg);
    }
  }
  .box_form {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    flex-grow: 1;
    padding: 40px 45px 10px;
    box-sizing: border-box;
    background-color: #f8f9fa;
    border-radius: 20px;
    dl {
      width: calc(50% - 20px);
      margin-bottom: 30px;
    }
    dt {
      margin-bottom: 10px;
      font-size: 17px;
      color: #555555;
      font-weight: bold;
    }
    dd {
      padding: 15px 20px;
      border-radius: 10px;
      background-color: #ffffff;
      border: 1px solid #d6d6d6;
      font-size: 15px;
      color: #acacac;
      box-sizing: border-box;
    }
    .item_full {
      width: 100%;
      dd {
        min-height: 150px;
      }
    }
  }
  .tbl_release thead tr {
    background-color: #fff7f1;
    border: 1px solid #ffe7e1;
  }
}
.post .pagination {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 45px;
  .wrap_pagination {
    overflow: hidden;
    max-width: 490px;
  }
  .list_pagination {
    display: flex;
    gap: 10px;
  }
  .btn_nav {
    width: 40px;
    height: 40px;
    &:hover,
    &.on {
      font-weight: bold;
      color: var(--primary-color);
    }
  }
  .btn_prev,
  .btn_next {
    width: 34px;
    height: 34px;
    border-radius: 50%;
    border: 1px solid #ddd;
    margin: 0 10px;
  }
  [class*='ico_'] {
    width: 6px;
    height: 11px;
    margin: -3px auto 0;
    vertical-align: middle;
  }
  button[class*='btn_'] {
    .ico_prev {
      background-image: url('/images/sub/member/ico_prev.svg');
    }
    .ico_next {
      background-image: url('/images/sub/member/ico_next.svg');
    }
    &:disabled {
      .ico_prev {
        background-image: url('/images/sub/member/ico_prev_disabled.svg');
      }
      .ico_next {
        margin-right: -2px;
        background-image: url('/images/sub/member/ico_next_disabled.svg');
      }
    }
  }
}
.tablist_member {
  display: flex;
  justify-content: center;
  gap: 20px;
  margin-top: 20px;
  margin-bottom: -40px;
  
  
  
  
  .tab_member {
    padding: 8px 16px;
    box-sizing: border-box;
    border: 1px solid var(--primary-color);
    border-radius: 20px;
    color: var(--primary-color);
    &:hover {
      background-color: #fff7f1;
    }
    &.on {
      background-color: var(--primary-color);
      color: #fff;
    }
  }
}

.tbl_press_release {
  border-top: 2px solid #313131;
}

.tbl_press_release li {
  padding: 30px 25px;
  border-bottom: 1px solid #e1e3e7;
  display: flex;
  gap: 33px;
  transition: all 0.3s ease;
  cursor: pointer;
}

.tbl_press_release li > div:first-child {
  width: 235px;
  height: 160px;
}

.tbl_press_release li > div:first-child img {
  width: 100%;
  height: 100%;
  object-fit: contain;
}

.tbl_press_release li > div:last-child {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  flex: 1;
  padding-block: 3px;
}

.tbl_press_release li > div:last-child span {
  font-size: 18px;
  font-weight: bold;
  color: #222;
}

.tbl_press_release li > div:last-child h3 {
  font-size: 24px;
  font-weight: bold;
  color: #222;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
  transition: all 0.3s ease;
}

.tbl_press_release li > div:last-child .toastui-editor-contents > div > * {
  font-size: 16px;
  color: #555;
  font-weight: 400;
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  line-height: 1.4;
}

.tbl_press_release li > div:last-child .toastui-editor-contents > div > * strong {
  font-weight: 400;
}

.tbl_press_release li > div:last-child .toastui-editor-contents > div > * ~ * {
  display: none;
}

.tbl_press_release li > div:last-child .toastui-editor-contents img {
  display: none;
}

.tbl_press_release li > div:last-child .txt_tit + div {
  font-size: 13px;
  color: #a8a6a4;
}

.tbl_press_release li:hover {
  background: #fff7f2;
}

.tbl_press_release li:hover > div:last-child h3 {
  color: var(--primary-color);
}

.btn_list.mobile {
  display: none;
}

.detail.sub .appendix {
  margin-top: 30px;
}

.detail.sub .appendix > div {
  display: flex;
  flex-direction: column;
}

.detail.sub .appendix h3 {
  font-size: 18px;
  margin-bottom: 10px;
}

.detail.sub .appendix a {
  font-size: 14px;
  color: #747474;
  transition: all 0.3s ease;
}

.detail.sub .appendix a:hover {
  color: #292929;
}


@media (max-width: 1400px) {
  .member-buttons {
    padding-right: 20px;
  }
  
  .sub-content.post {
    padding-inline: 0;
    padding-top: 120px;
  }
  .member.detail .wrap_detail {
    .area_info {
      gap: 20px;
      flex-direction: column;
      .box_thumb,
      .box_thumb > * {
        width: 100%;
      }
    }
    .box_form {
      display: block;
      dl {
        width: 100%;
      }
      .item_full dd {
        height: fit-content;
      }
    }
    [class*='area'] {
      padding-inline: 25px;
      .tit_area {
        padding: 0;
      }
    }
  }
  .post {
    .wrap_util {
      display: block;
      height: 200px;
    }
    .box_filter,
    .opt_filter,
    .inp_search {
      display: block;
      width: 100%;
      margin-top: 15px;
    }
    .inp_search{
      min-width: auto;
    }
  }
  .tbl_release {
    box-sizing: border-box;
    /* padding: 0 25px; */
    
    
    
    
    
    col {
      min-width: 80px;
    }
  }
  .info {
    .sub-content.post {
      padding: 0 25px;
    }
    .img_default{
      padding: 15px 20px;
    }
  }
}

@media (max-width: 768px) {
  .post .list_posts li {
    width: 100%;
  }
  
  .item_member{
    aspect-ratio: auto;
  }

  .member.detail .wrap_detail [class*='area'] {
    padding-block: 50px;
  }

  .member .wrap_detail .box_form {
    padding-inline: 22px;
  }

  .member.detail .post .area_card {
    margin-top: 20px;
  }

  .sub-content.post {
    padding-bottom: 0;
  }

    
  .tbl_press_release li > div:last-child span {
    font-size: 15px;
  }
  
  .tbl_press_release li > div:last-child h3 {
    font-size: 18px;
  }


  .info .post .box_btns {
    gap: 10px;
    margin-top: 30px;
    flex-wrap: wrap;
  }
  
  .info .post .box_btns .txt_tit {
    display: none;
  }

  .info .box_btns button:not(.btn_list) {
    width: 50%;
  }
}

@media (max-width: 640px) {
  .detail.sub.member .swiper-slide .w-full {
    height: 100%;
  }
  
  .detail.sub.member .swiper-slide .w-full > div {
      height: 100%;
  }
  
  .info .sub-content.post {
    padding-top: 120px;
    padding-bottom: 79px;
  }

  .tbl_press_release li {
    padding: 20px 15px;
    gap: 18px;
  }

  .tbl_press_release li > div:first-child {
    height: 100px;
    width: 140px;
  }

  .tbl_press_release li > div:last-child .toastui-editor-contents > div > * {
    font-size: 13px;
    -webkit-line-clamp: 1;
  }

  .tbl_press_release li > div:last-child .toastui-editor-contents > div h4 {
    margin-top: 2px !important;
  }

  .post .box_btns .btn_list.mobile {
    display: block;
    margin: 0 auto;
    width: 100%;
    margin-bottom: 20px;
  }

  .btn_list.pc {
    display: none;
  }

  .post .wrap_detail {
    padding-top: 30px;
  }

  .info .post .box_detail {
    padding-inline: 0;
    padding-top: 40px;
    margin-top: 30px;
  }

  .member-buttons {
    padding-right: 0;
    justify-content: center;
  }

  .post .img_posts {
    min-height: 150px;
  }

  .post .tit_post {
    font-size: 16px;
  }

 .post  .list_posts {
    padding-inline: 20px;
  }
  .member.detail .post  [class*='area_'] .txt_sub {
    text-align: left;
  }
}

@media (max-width: 420px) {
  .info .sub-content.post {
    padding-top: 120px;
    padding-bottom: 79px;
  }

  .tbl_press_release li {
    padding-inline: 0;
  }
}