@import url(common.css);

.message {
  display: flex;
  justify-content: space-between;
  padding: 50px 12%;
  gap: 5%;
  align-items: end;
  .message-text {
    width: 70%;
    p {
      font-size: clamp(14px, 1.1vw, 18px);
      margin-bottom: 1.5vw;
      line-height: 1.5;
    }
  }
  .message-name {
    width: 25%;
    color: var(--secondary-c);
    text-align: right;

    .message-contents {
      position: relative;
      img {
        width: 100%;
      }
      .message-contents-text {
        position: absolute;
        left: 60%;
        bottom: -20%;
        background-color: white;
        padding: 1% 3%;
        h3 {
          font-size: 2vw;
          white-space: nowrap;
          font-family: "Century Gothic Paneuropean", sans-serif;
        }
        p {
          white-space: nowrap;

          font-size: 1vw;
          text-align: right;
        }
      }
    }
  }
}

.outline {
  background: #fff;
  border-radius: 10px;
  padding: 2vw;
  width: 60%;
  margin: 20px auto;
  box-shadow: rgba(0, 0, 0, 0.03) -2px -2px 2px,
    rgba(0, 0, 0, 0.15) 2.4px 2.4px 3.2px;

  dl {
    display: flex;
    flex-direction: column;
    gap: 2vh;

    .row {
      display: flex;
      align-items: stretch;
      gap: 1vw;

      dt {
        width: 25%;
        font-size: clamp(13px, 1vw, 18px);
        font-weight: bold;
        color: var(--secondary-c);
        padding: 1vw 0;
        border-bottom: 2px solid var(--secondary-c);
      }

      dd {
        flex: 1;
        font-size: clamp(13px, 1vw, 18px);
        padding: 1vw 0;
        border-bottom: 2px solid #e6e6e6;
        margin: 0;

        a {
          color: rgb(0, 160, 233);
          text-decoration: none;
          &:hover {
            text-decoration: underline;
          }
        }

        p {
          margin: 0.2em 0;
        }

        ul {
          list-style: none;
          padding: 0;
          margin: 0;

          li {
            padding: 1vw 0;
            border-bottom: 2px solid #e6e6e6;
            line-height: 1.6;

            &:last-child {
              border-bottom: none;
            }
          }
          .padding-top-none {
            padding-top: 0;
          }
          .padding-bottom-none {
            padding-bottom: 0;
          }
        }
      }
    }
  }

  .row dd a {
    position: relative;
    padding-left: 1em;
    display: inline-block;
  }

  .row dd a::before {
    content: "›";
    position: absolute;
    left: 0;
    top: 0;
    color: #000;
    font-weight: bold;
  }

  .officers {
    display: grid;
    grid-template-columns: 8em auto;
    row-gap: 0.5em;

    div {
      padding: 1vw 0;
      font-size: clamp(13px, 1vw, 18px);
    }
    &:last-of-type {
      padding-bottom: 0;
    }

    .officer-title {
      font-weight: bold;
    }

    .with-border {
      border-bottom: 2px solid #e6e6e6;
    }
    .padding-top-none {
      padding-top: 0;
    }

    .padding-bottom-none {
      padding-bottom: 0;
    }

    .with-top-border {
      font-weight: bold;
      padding-top: 0.5em;
      border-bottom: 2px solid #e6e6e6;
    }
  }
}

@media (max-width: 768px) {
  .message {

    .message-text {
      p {
        font-size: clamp(14px, 3vw, 18px);
      }
    }
    .message-name {
      text-align: left;
      h3 {
        font-size: clamp(18px, 4vw, 28px);
      }
      p {
        font-size: clamp(13px, 2.5vw, 16px);
      }
    }
  }

  .message {
    align-items: end;
    flex-direction: column-reverse;
    padding: 8vw 5vw;
    .message-text {
      width: 100%;
      p {
        font-size: 3vw;
        margin-bottom: 1.5vw;
        line-height: 1.5;
      }
    }
    .message-name {
      width: 100%;
      color: var(--secondary-c);
      text-align: right;

      .message-contents {
        position: relative;
        img {
          width: 100%;
        }
        .message-contents-text {
          position: relative;
          left: auto;
          bottom: auto;
          h3 {
            font-size: 5vw;
          }
          p {
            font-size: 3vw;
          }
        }
      }
    }
  }

  .outline {
    width: 90%;
    padding: 5vw 4vw;
    dl {
      .row {
        flex-direction: column;
        dt,
        dd {
          width: 100%;
          font-size: clamp(13px, 2.5vw, 18px);
        }
      }
    }
    .officers {
      grid-template-columns: 1fr;
      div {
        font-size: clamp(13px, 2.5vw, 18px);
      }
    }
  }
}
