.article-program {
  max-width: 80rem;
  background: #fff;
  margin: 0 auto;
  border-radius: 1rem;
  padding-top: .1rem;
  position: relative;
  z-index: 100; }
  @media only screen and (max-width: 767px) {
    .article-program {
      margin: 0 1.5rem; } }
  .article-program-header {
    background: #e50065;
    padding: 1.5rem 2rem;
    text-align: left;
    color: #fff;
    border-radius: .5rem;
    margin: 2rem;
    position: relative;
    display: flex;
    justify-content: space-between;
    align-items: center; }
    @media only screen and (max-width: 767px) {
      .article-program-header {
        margin: 1.5rem;
        padding: 1rem 1.5rem; } }
    .article-program-header-ttl {
      font-size: 2rem; }
      @media only screen and (max-width: 767px) {
        .article-program-header-ttl {
          font-size: 1.6rem; } }
  .article-program-fig {
    text-align: center;
    margin: 4rem 0 2rem 0; }
    @media only screen and (max-width: 767px) {
      .article-program-fig {
        margin: 1.5rem 1.5rem 2rem; } }
    .article-program-fig img {
      max-width: 48rem;
      height: auto;
      border: 0.4rem solid #57b52f; }
      @media only screen and (max-width: 767px) {
        .article-program-fig img {
          max-width: 100%; } }
  .article-program-inner {
    font-size: 1.6rem;
    padding: 0 4rem 3rem; }
    @media only screen and (max-width: 767px) {
      .article-program-inner {
        font-size: 1.3rem;
        padding: 0 2rem 1.5rem; } }
  .article-program-pdf {
    padding-bottom: 3rem; }
    @media only screen and (max-width: 767px) {
      .article-program-pdf {
        padding: 0 0 2rem; } }
    .article-program-pdf a {
      display: flex;
      justify-content: center;
      align-items: center;
      width: 32rem;
      height: 4.8rem;
      border-radius: 5rem;
      font-size: 1.4rem;
      background: #e50065;
      color: #fff;
      margin: 0 auto;
      font-weight: 700; }
      @media only screen and (max-width: 767px) {
        .article-program-pdf a {
          width: 20rem;
          height: 4rem;
          font-size: 1.3rem; } }
      .article-program-pdf a:hover {
        background: #57b52f; }
      .article-program-pdf a span {
        flex-shrink: 0;
        margin-right: 1.5rem;
        width: 3.2rem; }
        @media only screen and (max-width: 767px) {
          .article-program-pdf a span {
            width: 2.4rem;
            margin-right: 1rem; } }
  .article-program-footer {
    padding: 2rem;
    background: rgba(0, 69, 155, 0.1); }
    @media only screen and (max-width: 767px) {
      .article-program-footer {
        padding: 1rem; } }
    .article-program-footer ul {
      display: flex;
      justify-content: space-between; }
      .article-program-footer ul li {
        width: 50%;
        padding: 0 1rem; }
        @media only screen and (max-width: 767px) {
          .article-program-footer ul li {
            padding: 0 .5rem; } }
        .article-program-footer ul li > a, .article-program-footer ul li > span {
          display: flex;
          justify-content: center;
          align-items: center;
          color: #e50065;
          text-align: center;
          border-radius: .3rem;
          height: 4.8rem;
          margin: 0 auto;
          background: #fff; }
          @media only screen and (max-width: 767px) {
            .article-program-footer ul li > a, .article-program-footer ul li > span {
              height: 3.6rem;
              font-size: 1.1rem; } }
          .article-program-footer ul li > a span, .article-program-footer ul li > span span {
            color: #00459b;
            font-size: 1.8rem;
            margin: 0 .3rem; }
            @media only screen and (max-width: 767px) {
              .article-program-footer ul li > a span, .article-program-footer ul li > span span {
                font-size: 1.4rem; } }
        .article-program-footer ul li > a:hover {
          background: #e50065;
          color: #fff; }
        .article-program-footer ul li > span {
          opacity: 0.3; }
