/*----------------------------------------------------
	.con_archive
----------------------------------------------------*/
.con_archive {
  padding: 20.0vw 0 55px;
  background: #163acf;
  background: linear-gradient(to bottom, #163acf 0%, #7d77ec 100%);
  position: relative; }
  .con_archive:before, .con_archive:after {
    content: "";
    display: block;
    position: absolute;
    width: 100%;
    left: 0;
    top: 0;
    pointer-events: none; }
  .con_archive:before {
    height: 110.0vw;
    background: url(../images/tv/bg_tv02.png) center top repeat-x;
    background-size: auto 110.0vw; }
  .con_archive:after {
    height: 20.0vw;
    background: url(../images/tv/bg_tv01.png) center top repeat-x;
    background-size: auto 20.0vw; }
  .con_archive h1 {
    text-align: center; }
    .con_archive h1 i {
      display: block;
      width: 10.0vw;
      margin: 0 auto; }
    .con_archive h1 strong {
      margin-top: 2.0vw;
      line-height: 1.3;
      font-weight: bold;
      color: #FFCA00;
      font-size: 7.0vw;
      display: block;
      letter-spacing: 0.2ex;
      text-indent: 0.2ex; }
  .con_archive .txt_start {
    text-align: center;
    margin-top: 4.0vw;
    padding: 0 20px; }
    .con_archive .txt_start > span {
      display: block;
      border-top: 1px solid #fff;
      border-bottom: 1px solid #fff;
      color: #fff;
      font-size: 5.0vw;
      font-weight: bold;
      white-space: nowrap;
      letter-spacing: 0.2ex;
      text-indent: 0.2ex; }
      .con_archive .txt_start > span .small {
        font-size: 70%; }
  .con_archive .txt_intro {
    text-align: justify;
    padding: 0 20px;
    color: #fff;
    margin-top: 4.0vw;
    letter-spacing: 0.2ex; }
    .con_archive .txt_intro strong {
      font-size: 115%;
      font-weight: bold; }
  .con_archive h2.st {
    text-align: center; }
    .con_archive h2.st span {
      display: inline-block;
      line-height: 1.0;
      background: #fff;
      font-size: 5.0vw;
      color: #163ACF;
      padding: 3.0vw 0;
      width: 70%;
      text-align: center;
      border-radius: 5.5vw; }

@media only screen and (min-width: 768px) {
  .con_archive {
    padding: 120px 0 90px; }
    .con_archive:before {
      height: 370px;
      background-size: auto 370px; }
    .con_archive:after {
      height: 100px;
      background-size: auto 100px; }
    .con_archive h1 i {
      width: 40px; }
    .con_archive h1 strong {
      margin-top: 0;
      line-height: 1.5;
      font-size: 5.0rem; }
    .con_archive .txt_start {
      margin-top: 25px;
      padding: 0; }
      .con_archive .txt_start > span {
        display: inline-block;
        border-top: 2px solid #fff;
        border-bottom: 2px solid #fff;
        font-size: 3.2rem;
        padding: 0 8px; }
    .con_archive .txt_intro {
      text-align: center;
      padding: 0;
      line-height: 44px;
      margin-top: 40px;
      text-indent: 0.2ex; }
      .con_archive .txt_intro strong {
        font-size: 1.8rem; }
    .con_archive h2.st span {
      font-size: 2.6rem;
      padding: 16px 0;
      width: 320px;
      border-radius: 29px; } }
/*----------------------------------------------------
	.con_cm
----------------------------------------------------*/
.con_cm {
  margin-top: 50px; }
  .con_cm .box_cm {
    margin-top: 25px; }
    .con_cm .box_cm .wrap_cm {
      margin-bottom: 15px;
      padding: 0 40px; }
      .con_cm .box_cm .wrap_cm.large {
        padding: 0;
        margin-bottom: 25px; }
        .con_cm .box_cm .wrap_cm.large p.txt {
          padding-left: 40px; }
      .con_cm .box_cm .wrap_cm p.txt {
        color: #fff;
        font-weight: bold;
        line-height: 1.0; }
        .con_cm .box_cm .wrap_cm p.txt .txt_cm {
          font-size: 1.4rem; }
        .con_cm .box_cm .wrap_cm p.txt .num {
          display: inline-block;
          font-size: 1.2rem;
          border: 1px solid #fff;
          padding: 1px 5px;
          margin-left: 5px; }
      .con_cm .box_cm .wrap_cm p.thumb {
        margin-top: 6px; }
      .con_cm .box_cm .wrap_cm div.thumb {
        width: 100%;
        background: #000;
        padding-top: 56.25%;
        margin-top: 10px; }

@media only screen and (min-width: 768px) {
  .con_cm {
    width: 1280px;
    margin: 80px auto 0;
    padding: 0 100px; }
    .con_cm .box_cm {
      overflow: hidden;
      margin-top: 30px; }
      .con_cm .box_cm .wrap_cm {
        float: right;
        width: 320px;
        margin-bottom: 22px;
        padding: 0; }
        .con_cm .box_cm .wrap_cm.large {
          float: left;
          width: 729px;
          margin-bottom: 22px; }
          .con_cm .box_cm .wrap_cm.large p.txt {
            padding-left: 0; }
        .con_cm .box_cm .wrap_cm p.txt .txt_cm {
          font-size: 1.7rem; }
        .con_cm .box_cm .wrap_cm p.txt .num {
          font-size: 1.5rem;
          margin-left: 8px; }
        .con_cm .box_cm .wrap_cm p.thumb {
          margin-top: 10px; } }
/*----------------------------------------------------
	.box_archive
----------------------------------------------------*/
.box_archive {
  margin-top: 50px; }
  .box_archive .wrap_archive {
    margin-top: 25px; }
    .box_archive .wrap_archive ul {
      padding: 0 40px; }
      .box_archive .wrap_archive ul li {
        margin-top: 15px; }
        .box_archive .wrap_archive ul li div.thumb {
          background: #000;
          width: 100%;
          padding-top: 56.25%; }
        .box_archive .wrap_archive ul li p.txt {
          color: #fff;
          line-height: 1.5;
          margin-top: 6px;
          font-size: 1.3rem; }
        .box_archive .wrap_archive ul li a {
          display: block; }

@media only screen and (min-width: 768px) {
  .box_archive {
    width: 1280px;
    margin: 95px auto 0;
    padding: 0 100px; }
    .box_archive .wrap_archive {
      margin-top: 30px; }
      .box_archive .wrap_archive ul {
        display: flex;
        flex-wrap: wrap;
        padding: 0; }
        .box_archive .wrap_archive ul li {
          margin-top: 30px;
          width: 348px;
          margin-left: 18px; }
          .box_archive .wrap_archive ul li:nth-child(3n+1) {
            margin-left: 0; }
          .box_archive .wrap_archive ul li p.txt {
            margin-top: 8px;
            font-size: 1.5rem; }
          .box_archive .wrap_archive ul li a {
            display: block;
            -webkit-transition: opacity 200ms ease-in-out 0ms;
            -moz-transition: opacity 200ms ease-in-out 0ms;
            -ms-transition: opacity 200ms ease-in-out 0ms;
            -o-transition: opacity 200ms ease-in-out 0ms;
            transition-property: opacity;
            transition-duration: 200ms;
            transition-timing-function: ease-in-out;
            transition-delay: 0ms; }
            .box_archive .wrap_archive ul li a:hover {
              opacity: 0.7; } }
