@charset "UTF-8";
body {
  background-color: #fff; }

section *, nav *, .event_title *, .information * {
  -webkit-box-sizing: border-box;
          box-sizing: border-box; }

@media screen and (max-width: 579px) {
  section, nav, .event_title, .information {
    font-size: 14px; } }

@media screen and (max-width: 399px) {
  section, nav, .event_title, .information {
    font-size: 13px; } }

@media screen and (max-width: 767px) {
  .pc {
    display: none; } }

@media screen and (min-width: 768px) {
  .sp {
    display: none; } }

.content {
  margin: 0 auto;
  max-width: 965px;
  width: 100%; }

header {
  display: block; }
  header .Section {
    padding: 0; }
  header .event_title {
    padding: 45px 4vw; }
    @media screen and (max-width: 767px) {
      header .event_title {
        padding: 3vw 4vw; } }
    header .event_title h1 {
      font-size: 156.25%; }
      @media screen and (max-width: 579px) {
        header .event_title h1 {
          font-size: 5vw; } }
  header .visual {
    background-color: #e4e4e3;
    min-height: 30px;
    text-align: center; }
    header .visual img {
      max-width: 100%;
      width: auto; }
    @media screen and (max-width: 767px) {
      header .visual {
        min-height: 10vw; } }
  header .information {
    background-color: #393939;
    color: #fff;
    padding: 30px 4vw 45px; }
    header .information .DateListStyle2 {
      font-size: 100%;
      line-height: 1.3;
      margin: 0; }
      header .information .DateListStyle2 dt {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-align-content: center;
            -ms-flex-line-pack: center;
                align-content: center;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap;
        width: auto; }
        header .information .DateListStyle2 dt .text {
          width: 4em; }
          header .information .DateListStyle2 dt .text.between {
            display: -webkit-box;
            display: -webkit-flex;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-pack: justify;
            -webkit-justify-content: space-between;
                -ms-flex-pack: justify;
                    justify-content: space-between;
            -webkit-box-align: center;
            -webkit-align-items: center;
                -ms-flex-align: center;
                    align-items: center;
            -webkit-align-content: center;
                -ms-flex-line-pack: center;
                    align-content: center;
            -webkit-flex-wrap: wrap;
                -ms-flex-wrap: wrap;
                    flex-wrap: wrap; }
      header .information .DateListStyle2 dd {
        margin-left: 5em; }
        header .information .DateListStyle2 dd:not(:last-child) {
          margin-bottom: 0.5em; }
  header nav {
    background-color: #cfcfcf;
    display: block;
    margin-bottom: 175px;
    padding: 30px 0; }
    header nav .flex_wrap {
      display: -webkit-box;
      display: -webkit-flex;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -webkit-justify-content: center;
          -ms-flex-pack: center;
              justify-content: center;
      -webkit-box-align: center;
      -webkit-align-items: center;
          -ms-flex-align: center;
              align-items: center;
      -webkit-align-content: center;
          -ms-flex-line-pack: center;
              align-content: center;
      -webkit-flex-wrap: wrap;
          -ms-flex-wrap: wrap;
              flex-wrap: wrap; }
      header nav .flex_wrap a {
        color: inherit;
        font-size: 125%;
        line-height: 1;
        position: relative;
        text-decoration: none; }
        header nav .flex_wrap a:not(:last-child) {
          margin-right: 2.75em; }
          header nav .flex_wrap a:not(:last-child)::before {
            background-color: #e60027;
            display: block;
            content: " ";
            color: #e60027;
            cursor: default;
            height: 35px;
            position: absolute;
            right: -1.375em;
            -webkit-transform: skewX(-12deg) translateY(-50%);
                -ms-transform: skewX(-12deg) translateY(-50%);
                    transform: skewX(-12deg) translateY(-50%);
            top: 50%;
            width: 7px; }
    @media screen and (max-width: 767px) {
      header nav {
        margin-bottom: 20vw;
        padding: 30px 0; }
        header nav .flex_wrap {
          margin: 0 auto;
          width: 80vw; }
          header nav .flex_wrap a {
            font-size: 100%;
            text-align: center;
            min-width: 18vw; }
            header nav .flex_wrap a:not(:last-child) {
              margin-right: 6vw; }
              header nav .flex_wrap a:not(:last-child)::before {
                height: 25px;
                right: -3vw;
                -webkit-transform: skewX(-16deg) translateY(-50%);
                    -ms-transform: skewX(-16deg) translateY(-50%);
                        transform: skewX(-16deg) translateY(-50%);
                width: 5px; }
            header nav .flex_wrap a:nth-child(3) {
              margin-right: 0; }
              header nav .flex_wrap a:nth-child(3)::before {
                content: none; }
            header nav .flex_wrap a:nth-child(n + 4) {
              margin-top: 25px; } }

main {
  display: block; }

.common_container {
  margin-bottom: 80px; }
  .common_container h2 {
    background: none;
    color: #000;
    /*
    font-size: 268.75%;
    font-weight: normal;
    line-height: 1.3;
    */
    margin: 0 0 10px 88px;
    padding: 0;
    position: relative; }
    @media screen and (max-width: 767px) {
      .common_container h2 img {
        height: 6vw;
        width: auto; } }
    .common_container h2::before {
      background-color: #e60027;
      display: block;
      content: " ";
      color: #e60027;
      cursor: default;
      height: 107px;
      position: absolute;
      left: -43px;
      -webkit-transform: skewX(-18deg);
          -ms-transform: skewX(-18deg);
              transform: skewX(-18deg);
      top: 0;
      width: 17px; }
    @media screen and (max-width: 767px) {
      .common_container h2 {
        margin: 0 0 1.3vw 12vw; }
        .common_container h2::before {
          height: 15vw;
          left: -5.8vw;
          width: 2vw; } }
  .common_container .inner_container {
    background-color: #eeeeee;
    padding: 100px 0 70px; }
    @media screen and (max-width: 767px) {
      .common_container .inner_container {
        padding: 10vw 0 5vw; } }
    .common_container .inner_container .content {
      padding: 0 40px;
      max-width: 930px; }
      .common_container .inner_container .content h3 {
        color: #e60027;
        font-size: 162.5%;
        font-weight: normal;
        line-height: 1; }
        .common_container .inner_container .content h3.border {
          border-bottom: 6px solid #fff;
          line-height: 1.6;
          margin-bottom: 25px; }
          @media screen and (max-width: 767px) {
            .common_container .inner_container .content h3.border {
              margin-bottom: 4vw; } }
        .common_container .inner_container .content h3.borderless {
          margin-bottom: 70px; }
          @media screen and (max-width: 767px) {
            .common_container .inner_container .content h3.borderless {
              margin-bottom: 9vw; } }
      .common_container .inner_container .content .text_container p {
        font-size: 112.5%;
        margin-bottom: 45px; }
        @media screen and (max-width: 767px) {
          .common_container .inner_container .content .text_container p {
            margin-bottom: 6.5vw; } }
        .common_container .inner_container .content .text_container p:last-child {
          margin-bottom: 0; }
      .common_container .inner_container .content .list_container:not(:last-child) {
        margin-bottom: 80px; }
        @media screen and (max-width: 767px) {
          .common_container .inner_container .content .list_container:not(:last-child) {
            margin-bottom: 10vw; } }
      .common_container .inner_container .content .list_container li {
        margin-bottom: 0.5em;
        padding-left: 1em;
        text-indent: -1em; }
        .common_container .inner_container .content .list_container li::before {
          content: "・"; }
      .common_container .inner_container .content .list_container ul.flex {
        display: -webkit-box;
        display: -webkit-flex;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: justify;
        -webkit-justify-content: space-between;
            -ms-flex-pack: justify;
                justify-content: space-between;
        -webkit-box-align: center;
        -webkit-align-items: center;
            -ms-flex-align: center;
                align-items: center;
        -webkit-align-content: center;
            -ms-flex-line-pack: center;
                align-content: center;
        -webkit-flex-wrap: wrap;
            -ms-flex-wrap: wrap;
                flex-wrap: wrap; }
        .common_container .inner_container .content .list_container ul.flex li {
          width: 49%; }
          @media screen and (max-width: 767px) {
            .common_container .inner_container .content .list_container ul.flex li {
              width: 100%; } }
      .common_container .inner_container .content .image_container img {
        height: auto;
        width: 100%; }
      .common_container .inner_container .content a.link {
        color: #000;
        position: relative; }
        .common_container .inner_container .content a.link::after {
          background: url("../image/link_icon.png") no-repeat;
          background-size: contain;
          bottom: 0.25em;
          content: " ";
          height: 1em;
          position: absolute;
          right: -1.8em;
          width: 1.39em; }
        .common_container .inner_container .content a.link:link {
          text-decoration: none; }
        .common_container .inner_container .content a.link:hover {
          text-decoration: underline; }

@media screen and (max-width: 767px) {
  #Footer {
    min-width: 0; }
    #Footer p {
      text-align: center;
      width: 100%; } }

footer {
  background-color: #e5e5e5;
  display: block;
  padding: 30px 0;
  width: 100%; }
  footer p {
    font-size: 65%;
    margin: auto;
    max-width: 965px;
    text-align: right;
    width: 100%; }
    @media screen and (max-width: 767px) {
      footer p {
        font-size: 65%;
        text-align: center; } }

.page_top {
  background-color: #222;
  height: 50px;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-align-content: center;
      -ms-flex-line-pack: center;
          align-content: center;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
  .page_top a {
    background: url("/cmn_doc/image/jp/r1/icon/icon_link_top_white_hd.png") no-repeat center right;
    background-size: 16px 16px;
    color: #fff;
    font-size: 76%;
    padding-right: 20px;
    position: relative;
    text-decoration: none; }
