@charset "utf-8";

body {
    background-color: #F3F4F8;
}

.main_section::before {
    background-image: url(../../images/intro_bg.png);
}

.publication_section {
    padding-top: 6.4rem;
    text-align: left;
    width: 100%;
}

.publication_section > .section_bottom {
    width: 100%;
    text-align: center;
}

.publication_section .publication_info h3 {
    font-size: var(--font-size20);
    font-weight: var(--font-weight-bold);
    padding-bottom: 3rem;
}

.publication_section .content_section p {
    font-size: var(--font-size17);
    text-align: left;
}

.publication_section .content_section .required {
    color: var(--color-primary);
    font-size: var(--font-size17);
    font-weight: var(--font-weight-bold);
}

.publication_section .content_section p + p {
    margin-top: 1.6rem;
}

.publication_section .publication_table {
    width: 100%;
    margin: 4.8rem 0 6.4rem 0;
}

.publication_section .publication_table h3 {
    font-size: var(--font-size20);
    font-weight: var(--font-weight-bold);
    padding-bottom: 3rem;
}

.publication_section .publication_header {
    width: 100%;
    display: flex;
    align-items: center;
    background-color: #ECEFF6;
    border-top: 1px solid #111;
}

.publication_section .publication_header span {
    width: 100%;
    padding: 1.6rem 0;
    display: block;
    text-align: center;
    align-items: center;
}

.publication_section .publication_header span:not(:last-child) {
    border-right: 1px solid #E0E2E8;
}

.publication_section .publication_header span:nth-child(1) {
    width: 155px;
}
.publication_section .publication_header span:nth-child(2) {
    width: 800px;
}
.publication_section .publication_header span:nth-child(3) {
    width: 245px;
}

.publication_section .publication_body {
    width: 100%;
    display: flex;
    flex-direction: column;
}

.publication_section .publication_item {
    display: grid;
    grid-template-columns: 155px 800px 245px;
    align-items: center;
    width: 100%;
    background: #fff;
    border-top: 1px solid #E0E2E8;
}

.publication_section .item_type {
    display: flex;
    align-items: center;
    width: 155px;
    height: 100%;
    padding: 1.6rem 1.2rem;
    border-right: 1px solid #E0E2E8;
    text-align: center;
}
.publication_section .item_type span {
    width: 100%;
    display: block;
    text-align: center;
}

.publication_section .item_content {
    width: 800px;
    height: 100%;
    padding: 1.6rem 1.2rem;
    border-right: 1px solid #E0E2E8;
    text-align: left;
}

.publication_section .item_example {
    width: 245px;
    height: 100%;
    padding: 1.6rem 1.2rem;
    text-align: left;
}

@media screen and (max-width: 1024px) {
    .publication_section {
      padding: 3.2rem 2.4rem 0;
      box-sizing: border-box;
    }
  
    .publication_section .publication_info h3 {
      font-size: var(--font-size18);
      padding-bottom: 1.2rem;
    }
  
    .publication_section .content_section p {
      font-size: var(--font-size16);
    }
  
    .publication_section .content_section .required {
      font-size: var(--font-size16);
    }
  
    .publication_section .publication_table {
      margin: 2.4rem 0 1.6rem 0;
    }
  
    .publication_section .publication_table h3 {
      font-size: var(--font-size18);
      padding-bottom: 1.2rem;
    }
  
    .publication_section .publication_header {
      display: none;
    }
  
    .publication_section .publication_item {
      display: flex;
      flex-direction: column;
      align-items: flex-start;
      border: 1px solid #E0E0E0;
      border-radius: 1rem;
      overflow: hidden;
      font-size: var(--font-size15);
    }
  
    .publication_section .publication_item + .publication_item {
      margin-top: 1.2rem;
    }
  
    .publication_section .item_type {
      width: 100%;
      padding: 1.2rem 1.6rem;
      border: none;
      background-color: #F7F8FD;
      border-bottom: 1px solid #E0E0E0;
    }
  
    .publication_section .item_type span {
      position: relative;
      text-align: left;
    }
  
    .publication_section .item_type span::after {
      content: '';
      position: absolute;
      right: 0;
      width: 20px;
      height: 20px;
      background-image: url(../../images/arrow_up_b.svg);
      background-size: 100% 100%;
      background-repeat: no-repeat;
      background-position: right center;
    }
  
    .publication_section .item_content,
    .publication_section .item_example {
      width: 100%;
      padding: 1.2rem 1.6rem;
    }
  
    .publication_section .item_example {
      border-top: 1px dashed #E0E0E0;
    }
  }