@charset "UTF-8";
/*reset*/
@import url("https://fonts.googleapis.com/css?family=Roboto:400,700");
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }

q:before, q:after, blockquote:before, blockquote:after {
  content: "";
  content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

.clearfix:after {
  content: "";
  display: block;
  clear: both; }

html {
  font-size: 14px;
  line-height: 1.6; }

body {
  font-family: 'Roboto', Helvetica, Arial, "游ゴシック", "Yu Gothic", YuGothic, 'ヒラギノ角ゴ Pro','Hiragino Kaku Gothic Pro','メイリオ','Meiryo','ＭＳ Ｐゴシック',sans-serif;
  -webkit-text-size-adjust: 100%; }

a {
  color: inherit;
  text-decoration: none;
  -webkit-transition: all 0.2s ease-in-out;
  -moz-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out; }
  a:hover {
    opacity: .7; }

img {
  display: block;
  margin: 0 auto;
  max-width: 100%; }

* {
  box-sizing: border-box; }

.forSP {
  display: none; }

#bg {
  position: fixed;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 0; }
  #bg .videoWrap:after {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    background: url(../images/movie_mesh.png);
    position: absolute;
    z-index: 2; }
  #bg .videoWrap #video01 {
    position: absolute;
    width: 100%;
    height: 100%;
    opacity: 0;
    z-index: 1;
    -webkit-transition: opacity 0.6s ease-in-out 0.6s;
    -moz-transition: opacity 0.6s ease-in-out 0.6s;
    transition: opacity 0.6s ease-in-out 0.6s; }
    #bg .videoWrap #video01 .viewer i {
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      background-position: 50%;
      background-repeat: no-repeat;
      background-size: cover; }
      #bg .videoWrap #video01 .viewer i img {
        width: 0;
        opacity: 0; }

#navi {
  position: fixed;
  width: 100%;
  height: 80px;
  top: 0;
  left: 0;
  z-index: 100;
  overflow: hidden; }
  #navi .navInner {
    position: absolute;
    width: 100%;
    height: 100%;
    top: 0;
    left: 0;
    -webkit-transition: all 0.4s ease-in-out;
    -moz-transition: all 0.4s ease-in-out;
    transition: all 0.4s ease-in-out; }
  #navi.hide .navInner {
    top: -100%; }
  #navi.ribbon .navInner {
    background: rgba(0, 0, 0, 0.8); }

.backto {
  position: absolute;
  top: 20px;
  left: 20px;
  display: block;
  width: 277px; }

.logo_tnf {
  position: absolute;
  top: 20px;
  right: 30px;
  display: block;
  width: 86px; }
  .logo_tnf img {
    width: 100%;
    height: 40px; }

article#content {
  position: relative;
  z-index: 1; }
  article#content #TOP {
    width: 100%;
    height: 100vh;
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    color: #d2d2d2;
    padding-bottom: 18.57143vh; }
    article#content #TOP h1 {
      width: 63.36842%;
      max-width: 602px; }
    article#content #TOP .bottom {
      position: absolute;
      width: 100%;
      bottom: 15px;
      left: 0;
      text-align: center;
      letter-spacing: 0.1em; }
      article#content #TOP .bottom .free {
        display: inline-block;
        width: 250px; }
      article#content #TOP .bottom p {
        margin-top: 15px; }
      article#content #TOP .bottom .scroll {
        display: inline-block;
        width: 72px;
        margin-top: 15px; }
  article#content .separater {
    height: 600px; }
  article#content #INTRODUCTION {
    background-color: #fff;
    background-image: url(../images/intro_bg.jpg);
    background-position: 50% top;
    background-size: cover;
    background-repeat: no-repeat;
    letter-spacing: 0.1em; }
    article#content #INTRODUCTION .secInner {
      padding: 80px 0 75px; }
      article#content #INTRODUCTION .secInner .lead {
        text-align: center; }
        article#content #INTRODUCTION .secInner .lead h2 {
          width: 353px;
          margin: 0 auto; }
        article#content #INTRODUCTION .secInner .lead p {
          font-size: 1.14286rem;
          line-height: 2.5;
          margin-top: 25px; }
      article#content #INTRODUCTION .secInner .video {
        width: 800px;
        margin: 0 auto;
        margin-top: 25px;
        position: relative; }
        article#content #INTRODUCTION .secInner .video h3 {
          display: inline-block;
          padding: 0 1em;
          line-height: 1.85714;
          text-align: center;
          font-weight: bold;
          letter-spacing: 0.1em;
          border: #000 solid 1px; }
        article#content #INTRODUCTION .secInner .video #video02 {
          width: 800px;
          height: 450px;
          margin-top: 10px; }
        article#content #INTRODUCTION .secInner .video .note {
          font-size: 0.85714rem;
          margin-top: 5px; }
        article#content #INTRODUCTION .secInner .video .link {
          text-align: center;
          margin-top: 25px; }
          article#content #INTRODUCTION .secInner .video .link .btn {
            background-color: #4a9bbd;
            color: #fff;
            display: inline-block;
            line-height: 1;
            min-width: 15em;
            padding: 0.92857em;
            background-image: url(../images/ico_external.png);
            background-position: right 1em bottom 50%;
            background-repeat: no-repeat;
            background-size: 1em; }
      article#content #INTRODUCTION .secInner .info {
        width: 800px;
        margin: 0 auto;
        margin-top: 3.92857rem;
        padding: 1.42857rem;
        border: #000 solid 1px;
        position: relative; }
        article#content #INTRODUCTION .secInner .info table th {
          padding-right: 2em; }
        article#content #INTRODUCTION .secInner .info .label {
          position: absolute;
          top: 0;
          right: 0;
          background-color: #000;
          color: #fff;
          display: inline-block;
          line-height: 1;
          padding: 0.59375em 0.8em;
          font-size: 1.14286rem;
          letter-spacing: 0.1em;
          font-weight: bold; }
  article#content #INFORMATION {
    background-image: url(../images/bg_blue.jpg);
    color: #d2d2d2;
    text-align: center;
    letter-spacing: 0.1em; }
    article#content #INFORMATION .secInner {
      padding: 100px 0 115px; }
      article#content #INFORMATION .secInner h2 {
        width: 588px;
        margin: 0 auto; }
        article#content #INFORMATION .secInner h2 p {
          margin-top: 5px; }
      article#content #INFORMATION .secInner .lead {
        font-size: 1.14286rem;
        font-weight: bold;
        line-height: 2.5;
        margin-top: 4.375em;
        margin-bottom: 3.75em; }
        article#content #INFORMATION .secInner .lead em {
          font-size: 1.125em;
          line-height: 2.22222; }
      article#content #INFORMATION .secInner .watch {
        background-color: #d2d2d2;
        width: 587px;
        margin: 0 auto;
        padding: 15px; }
        article#content #INFORMATION .secInner .watch .method {
          border: #3c7894 solid 1px;
          display: flex;
          justify-content: center;
          flex-wrap: wrap;
          padding: 10px;
          margin-bottom: 1.42857rem; }
          article#content #INFORMATION .secInner .watch .method h3 {
            color: #3c7894;
            width: 100%;
            font-size: 1.28571rem;
            font-weight: bold;
            margin-bottom: 10px; }
          article#content #INFORMATION .secInner .watch .method .step {
            color: #1f5067;
            text-align: center;
            width: 33.33333%;
            position: relative;
            letter-spacing: 0; }
            article#content #INFORMATION .secInner .watch .method .step:after {
              content: "";
              position: absolute;
              display: block;
              width: 1.35714rem;
              height: 1.35714rem;
              top: 2rem;
              right: -0.5rem;
              background-position: 50%;
              background-image: url(../images/info_step_arrow.png);
              background-repeat: no-repeat;
              background-size: contain; }
            article#content #INFORMATION .secInner .watch .method .step:last-child:after {
              display: none; }
            article#content #INFORMATION .secInner .watch .method .step .num {
              display: flex;
              flex-direction: column;
              justify-content: center;
              align-items: center;
              background-color: #3c7894;
              color: #d9dde4;
              border-radius: 67px;
              width: 67px;
              height: 67px;
              line-height: 1;
              margin: 0 auto; }
              article#content #INFORMATION .secInner .watch .method .step .num em {
                font-size: 2.14286em;
                font-weight: bold;
                display: block;
                margin-top: 0.16667em; }
            article#content #INFORMATION .secInner .watch .method .step p {
              font-size: 0.92857rem;
              width: 78.94737%;
              margin: 1em auto;
              text-align: left; }
            article#content #INFORMATION .secInner .watch .method .step a {
              display: block;
              background-color: #282828;
              font-size: 0.92857rem;
              line-height: 2.76923;
              color: #d2d2d2; }
          article#content #INFORMATION .secInner .watch .method p {
            margin-top: 15px; }
        article#content #INFORMATION .secInner .watch a.btn {
          background-color: #215f79;
          color: #d2d2d2;
          display: block;
          line-height: 1;
          font-size: 1.28571rem;
          font-weight: bold;
          padding: 0.92857em;
          background-image: url(../images/ico_external.png);
          background-position: right 1em bottom 50%;
          background-repeat: no-repeat;
          background-size: 1em; }
        article#content #INFORMATION .secInner .watch .cert {
          margin-top: 1.42857rem;
          text-align: center; }
          article#content #INFORMATION .secInner .watch .cert .table {
            display: inline-block;
            color: #888;
            font-size: 1.28571rem; }
            article#content #INFORMATION .secInner .watch .cert .table dl {
              display: table-row; }
              article#content #INFORMATION .secInner .watch .cert .table dl dt {
                display: table-cell;
                text-align: right;
                padding-right: 1em; }
              article#content #INFORMATION .secInner .watch .cert .table dl dd {
                display: table-cell;
                font-size: 1.66667rem;
                font-weight: bold;
                color: #8b8907;
                text-align: left; }
  article#content #SALE {
    background-image: url(../images/sale_bg.jpg);
    background-position: 50% bottom;
    background-size: cover;
    background-repeat: no-repeat; }
    article#content #SALE .secInner {
      padding: 115px 0 100px; }
      article#content #SALE .secInner .nos {
        width: 730px;
        display: flex;
        flex-wrap: wrap;
        justify-content: space-between;
        margin: 0 auto;
        padding: 25px 25px 50px 45px;
        background-image: url(../images/sale_box_bg.png);
        background-position: 50% top;
        background-size: cover;
        background-repeat: no-repeat; }
        article#content #SALE .secInner .nos h2 {
          width: 100%;
          color: #ebebeb;
          font-size: 1.42857rem;
          font-weight: bold;
          letter-spacing: 0.1em;
          text-align: center;
          margin-bottom: 1.25em; }
        article#content #SALE .secInner .nos .img {
          width: 38.93939%; }
        article#content #SALE .secInner .nos .txt {
          width: 56.06061%;
          color: #d5d5d5; }
          article#content #SALE .secInner .nos .txt h3 {
            font-size: 1.28571rem;
            font-weight: bold;
            letter-spacing: 0.1em;
            line-height: 1.66667;
            margin-bottom: 0.83333em; }
          article#content #SALE .secInner .nos .txt .credit {
            font-size: 0.85714rem;
            line-height: 1.66667;
            margin-bottom: 1.25em; }
          article#content #SALE .secInner .nos .txt .price {
            font-size: 1.14286rem;
            font-weight: bold;
            margin-bottom: 0.9375em;
            letter-spacing: 0.1em; }
          article#content #SALE .secInner .nos .txt .link a.btn {
            background-color: rgba(255, 255, 255, 0.15);
            color: #fff;
            display: inline-block;
            line-height: 1;
            min-width: 15em;
            padding: 0.92857em;
            background-image: url(../images/ico_external.png);
            background-position: right 1em bottom 50%;
            background-repeat: no-repeat;
            background-size: 1em;
            text-align: center; }
    article#content #SALE footer {
      font-size: 0.85714rem;
      line-height: 1.5;
      text-align: center;
      letter-spacing: 0.1em;
      padding-bottom: 100px;
      color: #d2d2d2; }

@media screen and (min-width: 769px) and (max-height: 700px) {
  article#content #TOP h1 {
    width: auto;
    max-width: none; }
    article#content #TOP h1 img {
      width: auto;
      max-width: none;
      height: 36.28571vh; }
  article#content #TOP .bottom .free {
    width: auto; }
    article#content #TOP .bottom .free img {
      height: 10vh; } }

@media screen and (max-width: 768px) {
  html {
    font-size: 3.38542vw; }
  body {
    min-width: 0; }
  a {
    -webkit-transition: all 0s ease-in-out;
    -moz-transition: all 0s ease-in-out;
    transition: all 0s ease-in-out; }
    a:hover {
      opacity: 1; }
  #navi {
    height: 20vw; }
  .backto {
    width: 44.53125vw;
    left: 5%;
    top: 5vw; }
    .backto img {
      display: none; }
      .backto img.forSP {
        display: block; }
  .logo_tnf {
    width: 21.5625vw;
    right: 5%;
    top: 5vw; }
    .logo_tnf img {
      width: 100%;
      height: auto; }
  article#content .separater {
    height: 50vh; }
  article#content #TOP {
    padding-bottom: 30vh; }
    article#content #TOP h1 {
      width: auto;
      max-width: none; }
      article#content #TOP h1 img {
        width: 80vw;
        max-width: none; }
    article#content #TOP .bottom {
      bottom: 10vh; }
      article#content #TOP .bottom .free {
        width: auto; }
        article#content #TOP .bottom .free img {
          height: 10vh; }
      article#content #TOP .bottom .scroll {
        width: auto; }
        article#content #TOP .bottom .scroll img {
          width: auto;
          max-width: none;
          height: 5vh; }
  article#content #INTRODUCTION .secInner {
    padding: 20vw 5vw; }
    article#content #INTRODUCTION .secInner .lead h2 {
      width: 75vw; }
    article#content #INTRODUCTION .secInner .lead p {
      font-size: 1rem;
      line-height: 1.92308; }
      article#content #INTRODUCTION .secInner .lead p br.forSP {
        display: inline; }
    article#content #INTRODUCTION .secInner .video {
      margin-top: 10vw;
      width: 100%; }
      article#content #INTRODUCTION .secInner .video #video02 {
        width: 90vw;
        height: 50.625vw; }
        article#content #INTRODUCTION .secInner .video #video02 iframe {
          width: 90vw;
          height: 50.625vw; }
      article#content #INTRODUCTION .secInner .video .note {
        font-size: 0.7rem; }
    article#content #INTRODUCTION .secInner .info {
      width: auto;
      margin-top: 10vw;
      padding: 2.5vw;
      padding-top: 13.28125vw;
      font-size: 0.80769rem; }
      article#content #INTRODUCTION .secInner .info table th {
        width: 7em;
        padding-right: 0; }
      article#content #INTRODUCTION .secInner .info .label {
        font-size: 0.92308rem; }
  article#content #INFORMATION .secInner {
    padding: 15vw 5vw; }
    article#content #INFORMATION .secInner h2 {
      width: auto; }
      article#content #INFORMATION .secInner h2 img {
        display: none; }
        article#content #INFORMATION .secInner h2 img.forSP {
          display: block; }
    article#content #INFORMATION .secInner .lead {
      margin: 10vw auto;
      font-size: 1rem;
      line-height: 1.92308; }
      article#content #INFORMATION .secInner .lead br {
        display: none; }
        article#content #INFORMATION .secInner .lead br.force, article#content #INFORMATION .secInner .lead br.forSP {
          display: inline; }
      article#content #INFORMATION .secInner .lead em {
        line-height: 1.78571; }
    article#content #INFORMATION .secInner .watch {
      width: auto; }
      article#content #INFORMATION .secInner .watch .method {
        flex-direction: column;
        margin-bottom: 15px; }
        article#content #INFORMATION .secInner .watch .method .step {
          width: 100%;
          padding: 1.5em 0; }
          article#content #INFORMATION .secInner .watch .method .step:after {
            top: auto;
            bottom: -0.57143rem;
            left: 50%;
            margin-left: -0.57143rem;
            -webkit-transform: rotate(90deg);
            -moz-transform: rotate(90deg);
            -ms-transform: rotate(90deg);
            -o-transform: rotate(90deg);
            transform: rotate(90deg); }
          article#content #INFORMATION .secInner .watch .method .step .num {
            width: 4.5rem;
            height: 4.5rem;
            padding-top: 0.5em; }
          article#content #INFORMATION .secInner .watch .method .step a {
            margin: 0 1em; }
      article#content #INFORMATION .secInner .watch .cert .table dl dt {
        font-size: 1rem; }
      article#content #INFORMATION .secInner .watch .cert .table dl dd {
        font-size: 1.15385rem; }
  article#content #SALE .secInner {
    padding: 15vw 5vw 10vw; }
    article#content #SALE .secInner .nos {
      width: auto;
      flex-direction: column;
      background-position: left top;
      background-size: 100% auto;
      background-repeat: repeat-y;
      padding: 5vw 5vw 10vw;
      align-items: center; }
      article#content #SALE .secInner .nos h2 .forSP {
        display: inline; }
      article#content #SALE .secInner .nos .img {
        width: 73.75vw; }
      article#content #SALE .secInner .nos .txt {
        margin-top: 1rem;
        width: auto; }
        article#content #SALE .secInner .nos .txt h3 {
          font-size: 1.15385rem; }
          article#content #SALE .secInner .nos .txt h3 .forSP {
            display: inline; }
        article#content #SALE .secInner .nos .txt .link {
          text-align: center; }
  article#content #SALE footer {
    padding-bottom: 10vw; } }

@media screen and (max-width: 640px) {
  html {
    font-size: 4.0625vw; } }
