.page_main {
  background: url("../images/bg.jpg") no-repeat center top/cover;
  position: relative;
  height: 240px; }
  .page_main .container {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    color: #fff;
    width: auto;
    text-align: center; }
  .page_main h1 {
    font-size: 2.2em; }
    .page_main h1 span {
      font-weight: 400; }
  .page_main h2 {
    margin-top: 1rem; }

.mf {
  background: #111;
  padding: 0 0 120px; }
  .mf .container {
    width: 1000px;
    max-width: 92%;
    line-height: 2; }
  .mf .mf_lead {
    padding: 80px 0;
    text-align: center;
    font-size: 1.2em; }
  .mf .mf_body h2 {
    font-size: 1.8em;
    position: relative;
    padding-bottom: 1rem;
    border-bottom: 1px solid #444;
    margin-bottom: 40px; }
  .mf .mf_body h2::after {
    content: "";
    position: absolute;
    left: 0;
    bottom: -1px;
    width: 60px;
    height: 2px;
    background-color: #d11; }
  .mf .mf_content {
    max-width: 96%;
    margin: 0 auto;
    padding: 0 0 80px; }
    .mf .mf_content .mf_content_photo {
      display: flex;
      flex-wrap: wrap;
      justify-content: space-between;
      padding-bottom: 2rem; }
      .mf .mf_content .mf_content_photo figure {
        flex: 0 0 49%; }
        .mf .mf_content .mf_content_photo figure img {
          width: 100%;
          aspect-ratio: 49 / 32;
          object-fit: cover; }
    .mf .mf_content time {
      background: linear-gradient(transparent 70%, #d11 70%); }
    .mf .mf_content h3 {
      font-size: 1.6em;
      padding: 8px 0 2rem; }
    .mf .mf_content p {
      padding-bottom: 1rem;
      color: #ddd; }
    .mf .mf_content .mf_btn {
      text-align: center;
      padding-top: 1rem; }
  .mf .mf_more {
    border-top: 1px dashed #333;
    padding-top: 1rem; }
    .mf .mf_more h4 {
      font-size: 0.8em;
      color: #bbb; }
    .mf .mf_more a {
      text-decoration: underline; }
  .mf .mf_btn a {
    display: inline-block;
    border: 1px solid #fff;
    position: relative;
    padding: 2px 40px 3px 24px;
    white-space: nowrap; }
  .mf .mf_btn a::after {
    content: "";
    position: absolute;
    right: 16px;
    top: 50%;
    width: 8px;
    height: 8px;
    border: 2px solid #eee;
    border-left: 0;
    border-bottom: 0;
    transform: translate(0, -50%) rotate(45deg); }
  .mf .event-table {
    background: #222;
    padding: 40px;
    border-radius: 5px;
    margin-bottom: 120px;
    box-shadow: inset 0 2px 4px #000;
    border: 1px solid #333; }
    .mf .event-table table {
      width: 100%;
      font-size: 0.9em; }
    .mf .event-table th, .mf .event-table td {
      padding: 1rem; }
    .mf .event-table th {
      color: #ccc; }
    .mf .event-table td {
      border-top: 1px solid #444; }
      .mf .event-table td b {
        font-size: 1.3em; }
      .mf .event-table td p {
        color: #ddd; }
      .mf .event-table td .mf_more {
        border-top: 0; }
  .mf .mf_ps {
    background: #000;
    border-radius: 8px;
    padding: 40px; }
    .mf .mf_ps h3 {
      text-align: center;
      font-size: 1.4em;
      padding: 0 0 1.5rem; }
      .mf .mf_ps h3 em {
        display: inline-block;
        border-bottom: 1px solid #ccc;
        padding: 0 0 3px; }
    .mf .mf_ps p {
      color: #ddd; }

@media (max-width: 768px) {
  .page_main h1 {
    font-size: 1.8em; }

  .mf {
    padding-bottom: 40px; }
    .mf .mf_lead {
      padding: 40px 0;
      font-size: 1em; }
    .mf .mf_content h3 {
      line-height: 1.3; }
    .mf .event-table {
      padding: .5rem 1rem;
      margin-bottom: 40px; }
      .mf .event-table thead {
        display: none; }
      .mf .event-table tr {
        display: block;
        border-bottom: 1px solid #555;
        padding: 12px 0; }
        .mf .event-table tr:last-of-type {
          border-bottom: 0; }
      .mf .event-table td {
        display: block;
        border-top: 0;
        padding: 0 0; }
      .mf .event-table th {
        white-space: nowrap; }
    .mf .mf_ps {
      padding: 24px; } }

/*# sourceMappingURL=mf.css.map */
