@charset "UTF-8";
/*reset*/
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; }

body {
  color: #45B035;
  background-color: #fff;
  font-size: 13px;
  line-height: 1.56923;
  font-family: Roboto, '見出ゴMB31', 'Midashi Go MB31', Verdana, 'Droid Sans', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic ProN', sans-serif;
  font-weight: 700; }

a {
  text-decoration: none;
  color: #45B035; }
  a:hover {
    text-decoration: underline; }

body {
  min-width: 1020px; }

.setElm {
  -webkit-transition: all 0.8s ease-in-out 0.4s;
  -moz-transition: all 0.8s ease-in-out 0.4s;
  -o-transition: all 0.8s ease-in-out 0.4s;
  transition: all 0.8s ease-in-out 0.4s;
  opacity: 0; }
  .setElm.move {
    opacity: 1; }

header {
  background-image: url("../images/top/keyv.jpg");
  background-size: cover;
  background-position: left top;
  background-repeat: no-repeat; }
  header .inner {
    display: table;
    width: 1020px;
    height: 495px;
    margin: 0 auto;
    position: relative; }
  header h1 {
    display: table-cell;
    vertical-align: middle;
    text-align: center; }
    header h1 img {
      display: block;
      margin: 0 auto; }
  header p {
    display: block;
    position: absolute;
    bottom: 30px;
    left: 30px;
    width: 93px; }
    header p img {
      display: block;
      margin: 0 auto; }

nav {
  padding: 20px 0 50px; }
  nav ul {
    text-align: center; }
    nav ul li {
      display: inline-block;
      margin: 0 10px;
      width: 155px;
      height: 40px;
      border-radius: 20px;
      overflow: hidden; }
      nav ul li a {
        display: table;
        width: 100%;
        height: 40px;
        -webkit-transition: background-color 0.2s ease-in-out;
        -moz-transition: background-color 0.2s ease-in-out;
        -o-transition: background-color 0.2s ease-in-out;
        transition: background-color 0.2s ease-in-out; }
        nav ul li a.top {
          background-color: #00afec; }
          nav ul li a.top:hover {
            background-color: #4cc7f2; }
        nav ul li a.schedule {
          background-color: #8ec31f; }
          nav ul li a.schedule:hover {
            background-color: #b0d562; }
        nav ul li a.join_us {
          background-color: #948827; }
          nav ul li a.join_us:hover {
            background-color: #b4ab67; }
        nav ul li a.report {
          background-color: #009d38; }
          nav ul li a.report:hover {
            background-color: #4cba73; }
        nav ul li a.contact {
          background-color: #f8b62c; }
          nav ul li a.contact:hover {
            background-color: #facc6b; }
        nav ul li a span {
          display: table-cell;
          vertical-align: middle; }
          nav ul li a span img {
            display: block;
            margin: 0 auto; }

article section .sectionInner {
  width: 860px;
  margin: 0 auto;
  position: relative; }

article section .tit {
  font-size: 1.23077em;
  color: #45B035;
  line-height: 1;
  text-align: center;
  margin-bottom: 40px; }
  article section .tit img {
    display: block;
    margin: 0 auto; }
    article section .tit img.logo {
      margin-bottom: 13px; }
    article section .tit img.enTit {
      margin-bottom: 11px; }

article section .table {
  display: table; }
  article section .table .cell {
    display: table-cell;
    vertical-align: middle; }

article section#concept {
  margin-bottom: 65px; }
  article section#concept .concept_txt {
    color: #45B035; }
    article section#concept .concept_txt h3 {
      font-size: 1.69231em;
      line-height: 1;
      margin-bottom: 20px;
      font-weight: bold;
      text-align: center; }
    article section#concept .concept_txt p {
      font-size: 1.23077em;
      line-height: 2.25; }

article section#kns2017report .sectionInner {
  background: url("/tnf/kids-ns/assets/images/top/report_bg.jpg") no-repeat top;
  /*background-size: cover;*/
  width: 1006px;
  margin: 0 auto;
height: 2595px;}
  article section#kns2017report .sectionInner .tit {
    margin: 0 auto; }
    article section#kns2017report .sectionInner .tit img {
      margin: 0 auto;
      position: relative;
      top: -0px;
      margin-bottom: -120px; }
  article section#kns2017report .sectionInner .report-section {
    margin-bottom: 0px; }
    article section#kns2017report .sectionInner .report-section:last-child {
      margin-top: 0; }
    article section#kns2017report .sectionInner .report-section.report-sheet img {
      margin: 0 auto;
      position: relative;
      top: 0px;
      margin-bottom: -20px; }

article section#vnav img.bg {
  display: block;
  margin: 0 auto;
  width: 100%; }

article section#vnav a {
  position: absolute;
  display: table;
  width: 170px;
  height: 170px;
  border-radius: 85px;
  overflow: hidden;
  background-color: #000;
  -webkit-transition: background-color 0.2s ease-in-out;
  -moz-transition: background-color 0.2s ease-in-out;
  -o-transition: background-color 0.2s ease-in-out;
  transition: background-color 0.2s ease-in-out; }
  article section#vnav a.schedule {
    left: 644px;
    top: 357px;
    background-color: #8ec31f; }
    article section#vnav a.schedule:hover {
      background-color: #b0d562; }
  article section#vnav a.join_us {
    left: 281px;
    top: 833px;
    background-color: #948827; }
    article section#vnav a.join_us:hover {
      background-color: #b4ab67; }
  article section#vnav a.report {
    left: 7px;
    top: 657px;
    background-color: #009d38; }
    article section#vnav a.report:hover {
      background-color: #4cba73; }
  article section#vnav a span {
    display: table-cell;
    vertical-align: middle; }
    article section#vnav a span img {
      display: block;
      margin: 0 auto; }

article section#contact {
  color: #45B035;
  text-align: center;
  padding-top: 50px; }
  article section#contact h3 {
    display: table;
    width: 155px;
    height: 40px;
    margin: 0 auto 20px;
    background-color: #f8b62c;
    border-radius: 20px;
    overflow: hidden; }
    article section#contact h3 span {
      display: table-cell;
      vertical-align: middle; }
      article section#contact h3 span img {
        display: block;
        margin: 0 auto; }
  article section#contact .office {
    font-size: 1.38462em;
    line-height: 1.625em;
    margin-bottom: 8px;
    font-weight: bold; }
  article section#contact .address {
    line-height: 1.84615em;
    margin-bottom: 16px; }
  article section#contact .sns {
    margin-bottom: 10px; }
    article section#contact .sns a {
      display: inline-block;
      margin: 0 8px;
      width: 40px;
      -webkit-transition: opacity 0.2s ease-in-out;
      -moz-transition: opacity 0.2s ease-in-out;
      -o-transition: opacity 0.2s ease-in-out;
      transition: opacity 0.2s ease-in-out; }
      article section#contact .sns a.youtube {
        width: 93px; }
      article section#contact .sns a:hover {
        opacity: .7; }
      article section#contact .sns a img {
        display: block; }

article section#schedule {
  margin-bottom: 50px; }
  article section#schedule .schedule_list ul.target {
    display: table;
    margin: 0 auto 20px;
    height: 24px; }
    article section#schedule .schedule_list ul.target li {
      display: table-cell;
      padding-left: 30px;
      background-position: left 50%;
      background-repeat: no-repeat;
      line-height: 1;
      padding-top: 9px; }
      article section#schedule .schedule_list ul.target li.family {
        padding-right: 20px;
        background-image: url("../images/common/icon_family.png"); }
      article section#schedule .schedule_list ul.target li.kids {
        background-image: url("../images/common/icon_kids.png"); }
  article section#schedule .schedule_list .head {
    display: table;
    width: 100%;
    height: 30px;
    border-bottom: #45B035 1px solid;
    line-height: 1; }
    article section#schedule .schedule_list .head div {
      display: table-cell;
      vertical-align: middle;
      padding: 0 15px;
      -webkit-box-sizing: border-box;
      box-sizing: border-box; }
    article section#schedule .schedule_list .head .date {
      width: 140px; }
    article section#schedule .schedule_list .head .target {
      width: 45px;
      padding: 0;
      text-align: center; }
    article section#schedule .schedule_list .head .content {
      width: 280px; }
    article section#schedule .schedule_list .head .site {
      width: 180px; }
    article section#schedule .schedule_list .head .detail {
      width: 45px;
      padding: 0;
      padding-right: 15px;
      text-align: center; }
  article section#schedule .schedule_list ul.year {
    position: relative;
    padding-left: 55px;
    border-bottom: #45B035 1px solid; }
    article section#schedule .schedule_list ul.year:before {
      content: "";
      display: inline-block;
      position: absolute;
      padding: 2em 0 0 1.16667em;
      top: 0;
      left: 0;
      font-size: 12px; }
    article section#schedule .schedule_list ul.year[data-year="2016"]:before {
      content: "2016"; }
    article section#schedule .schedule_list ul.year[data-year="2017"]:before {
      content: "2017"; }
    article section#schedule .schedule_list ul.year[data-year="2018"]:before {
      content: "2018"; }
    article section#schedule .schedule_list ul.year[data-year="2019"]:before {
      content: "2019"; }
    article section#schedule .schedule_list ul.year li.plan:last-child {
      border-bottom: none; }
  article section#schedule .schedule_list ul li.plan {
    border-bottom: #45B035 1px solid; }
    article section#schedule .schedule_list ul li.plan.noDetail .summary {
      cursor: default; }
      article section#schedule .schedule_list ul li.plan.noDetail .summary:hover {
        opacity: 1; }
      article section#schedule .schedule_list ul li.plan.noDetail .summary .detail:before {
        display: none; }
    article section#schedule .schedule_list ul li.plan.exLink .summary .detail:before {
      -webkit-transform: rotate(-90deg);
      -moz-transform: rotate(-90deg);
      -ms-transform: rotate(-90deg);
      -o-transform: rotate(-90deg);
      transform: rotate(-90deg);
      background-color: #009d38; }
    article section#schedule .schedule_list ul li.plan .summary {
      display: table;
      width: 100%;
      height: 30px;
      color: #595757;
      font-size: 1.07692em;
      line-height: 1.28571;
      cursor: pointer;
      -webkit-transition: opacity 0.2s ease-in-out;
      -moz-transition: opacity 0.2s ease-in-out;
      -o-transition: opacity 0.2s ease-in-out;
      transition: opacity 0.2s ease-in-out; }
      article section#schedule .schedule_list ul li.plan .summary:hover {
        opacity: .7; }
      article section#schedule .schedule_list ul li.plan .summary div {
        display: table-cell;
        vertical-align: middle;
        padding: 16px 15px;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
      article section#schedule .schedule_list ul li.plan .summary .date {
        width: 140px;
        font-size: 0.85714em; }
        article section#schedule .schedule_list ul li.plan .summary .date em {
          font-size: 1.33333em; }
      article section#schedule .schedule_list ul li.plan .summary .target {
        width: 45px;
        padding: 0;
        text-align: center; }
      article section#schedule .schedule_list ul li.plan .summary .content {
        width: 280px; }
        article section#schedule .schedule_list ul li.plan .summary .content span {
          font-size: 0.78571em;
          display: block; }
      article section#schedule .schedule_list ul li.plan .summary .site {
        width: 180px; }
      article section#schedule .schedule_list ul li.plan .summary .detail {
        width: 45px;
        padding: 0;
        padding-right: 15px;
        text-align: center; }
        article section#schedule .schedule_list ul li.plan .summary .detail:before {
          content: "";
          display: inline-block;
          width: 22px;
          height: 22px;
          border-radius: 11px;
          background-color: #8FC31F;
          background-image: url("../images/schedule/arrow_open.png");
          background-position: 50%;
          background-repeat: no-repeat;
          background-size: contain;
          -webkit-transition: background-color 0.4s ease-in-out;
          -moz-transition: background-color 0.4s ease-in-out;
          -o-transition: background-color 0.4s ease-in-out;
          transition: background-color 0.4s ease-in-out; }
        article section#schedule .schedule_list ul li.plan .summary .detail.open:before {
          -webkit-transform: rotate(180deg);
          -moz-transform: rotate(180deg);
          -ms-transform: rotate(180deg);
          -o-transform: rotate(180deg);
          transform: rotate(180deg);
          background-color: #f3b3cf; }
    article section#schedule .schedule_list ul li.plan > .detail {
      display: none;
      padding: 15px;
      padding-top: 0; }
      article section#schedule .schedule_list ul li.plan > .detail table {
        width: 100%; }
        article section#schedule .schedule_list ul li.plan > .detail table tr th {
          width: 190px;
          text-align: right;
          vertical-align: top;
          padding: 0em 0; }
        article section#schedule .schedule_list ul li.plan > .detail table tr td {
          vertical-align: top;
          padding: 0em 0;
          padding-left: 20px;
          padding-bottom: 0.8em; }
          article section#schedule .schedule_list ul li.plan > .detail table tr td a {
            text-decoration: underline; }
            article section#schedule .schedule_list ul li.plan > .detail table tr td a:hover {
              text-decoration: none; }
  article section#schedule .schedule_list p.attention {
    padding: 10px;
    text-align: center;
    color: #000;
    margin-bottom: 5px; }
  article section#schedule .past {
    font-size: 1.38462em;
    padding-top: 5px;
    text-align: center;
    font-weight: bold; }

article section#guide {
  padding-bottom: 20px; }
  article section#guide .tit {
    margin-bottom: 35px; }
  article section#guide .profile {
    margin-bottom: 30px;
    padding-top: 40px; }
    article section#guide .profile:first-child {
      padding-top: 0; }
    article section#guide .profile:after {
      content: "";
      display: block;
      clear: both; }
    article section#guide .profile .photo {
      float: left;
      width: 213px;
      border-radius: 25px;
      overflow: hidden; }
    article section#guide .profile .data {
      float: right;
      width: 627px; }
      article section#guide .profile .data .name {
        font-size: 1.38462em;
        line-height: 1.22222;
        margin-bottom: 8px;
        color: #45B035; }
        article section#guide .profile .data .name span {
          font-size: 0.8125em;
          display: block; }
      article section#guide .profile .data .message {
        color: #000;
        margin-bottom: 4px; }
      article section#guide .profile .data .about {
        color: #45B035; }

article section#join_us .tit {
  margin-bottom: 15px; }

article section#join_us h4 {
  text-align: center;
  color: #fff;
  font-size: 1.07692em;
  line-height: 1;
  background-color: #45B035;
  padding: 10px 0;
  font-weight: bold;
  margin-bottom: 15px; }

article section#join_us .join_flow {
  margin-bottom: 30px; }
  article section#join_us .join_flow .lead {
    font-size: 1.38462em;
    text-align: center;
    margin-bottom: 15px; }
  article section#join_us .join_flow .after {
    width: 680px;
    margin: 0 auto 20px; }
    article section#join_us .join_flow .after .step {
      margin-top: 15px; }
    article section#join_us .join_flow .after .step04 {
      margin-top: 10px; }
    article section#join_us .join_flow .after .stepInner {
      display: table;
      width: 100%; }
      article section#join_us .join_flow .after .stepInner i {
        width: 140px;
        display: table-cell;
        vertical-align: middle; }
        article section#join_us .join_flow .after .stepInner i img {
          display: block; }
      article section#join_us .join_flow .after .stepInner p {
        display: table-cell;
        vertical-align: middle;
        font-size: 0.92308em; }
        article section#join_us .join_flow .after .stepInner p em {
          font-size: 1.33333em; }
  article section#join_us .join_flow .attention {
    text-align: center;
    font-size: 0.92308em; }
    article section#join_us .join_flow .attention a.btn {
      position: relative;
      top: -2px;
      display: inline-block;
      padding: 8px 12px;
      margin: 0 5px;
      border-radius: 20px;
      background-color: #45B035;
      -webkit-transition: opacity 0.2s ease-in-out;
      -moz-transition: opacity 0.2s ease-in-out;
      -o-transition: opacity 0.2s ease-in-out;
      transition: opacity 0.2s ease-in-out;
      vertical-align: middle; }
      article section#join_us .join_flow .attention a.btn img {
        display: block;
        margin: 0 auto; }
      article section#join_us .join_flow .attention a.btn:hover {
        opacity: .7; }

article section#join_us .join_mail {
  margin-bottom: 30px; }
  article section#join_us .join_mail .mailInner {
    width: 480px;
    padding-top: 10px;
    margin: 0 auto;
    text-align: center; }
    article section#join_us .join_mail .mailInner p {
      margin-bottom: 15px;
      text-align: left; }
    article section#join_us .join_mail .mailInner table {
      width: 100%; }
      article section#join_us .join_mail .mailInner table th {
        text-align: right;
        width: 7em;
        padding-right: 15px;
        vertical-align: top;
        font-weight: bold; }
      article section#join_us .join_mail .mailInner table td {
        text-align: left;
        padding-bottom: 10px;
        vertical-align: top; }
    article section#join_us .join_mail .mailInner a.btn {
      display: block;
      width: 250px;
      padding: 8px 0;
      margin: 0 auto;
      border-radius: 20px;
      background-color: #45B035;
      -webkit-transition: opacity 0.2s ease-in-out;
      -moz-transition: opacity 0.2s ease-in-out;
      -o-transition: opacity 0.2s ease-in-out;
      transition: opacity 0.2s ease-in-out;
      vertical-align: middle; }
      article section#join_us .join_mail .mailInner a.btn img {
        display: block;
        margin: 0 auto; }
      article section#join_us .join_mail .mailInner a.btn:hover {
        opacity: .7; }

article section#join_us .shoplist h4 + p {
  text-align: center; }

article section#join_us .shoplist .area {
  margin-top: 40px; }
  article section#join_us .shoplist .area h5 {
    font-size: 1.07692em;
    text-align: center; }
  article section#join_us .shoplist .area table {
    width: 100%;
    font-size: 0.92308em;
    line-height: 1.16667; }
    article section#join_us .shoplist .area table tr {
      position: relative;
      border-bottom: #45B035 solid 1px; }
      article section#join_us .shoplist .area table tr th {
        text-align: center;
        line-height: 1;
        padding: 5px 0;
        font-weight: bold; }
      article section#join_us .shoplist .area table tr td {
        padding: 8px 0; }
      article section#join_us .shoplist .area table tr .name {
        padding-right: 1.5em;
        font-weight: bold; }
      article section#join_us .shoplist .area table tr .zip {
        width: 5em;
        text-align: center; }
      article section#join_us .shoplist .area table tr .address {
        padding-left: 1.5em;
        padding-right: 1.5em; }
      article section#join_us .shoplist .area table tr .map {
        width: 3em;
        text-align: center; }
      article section#join_us .shoplist .area table tr .tel {
        width: 7em;
        text-align: center; }

article section#report {
  color: #45B035; }
  article section#report .tit {
    margin-bottom: 10px;
    color: #45B035; }
  article section#report .report_list ul.target {
    display: table;
    margin: 0 auto 30px;
    height: 24px; }
    article section#report .report_list ul.target li {
      display: table-cell;
      padding-left: 30px;
      background-position: left 50%;
      background-repeat: no-repeat;
      line-height: 1;
      padding-top: 9px; }
      article section#report .report_list ul.target li.family {
        padding-right: 20px;
        background-image: url("../images/common/icon_family.png"); }
      article section#report .report_list ul.target li.kids {
        background-image: url("../images/common/icon_kids.png"); }
  article section#report .report_list .reports {
    margin-bottom: 40px; }
    article section#report .report_list .reports h3 {
      margin-bottom: 10px; }
      article section#report .report_list .reports h3 img {
        display: block;
        margin: 0 auto; }
    article section#report .report_list .reports ul {
      margin: 0 -20px; }
      article section#report .report_list .reports ul:after {
        content: "";
        display: block;
        clear: both; }
      article section#report .report_list .reports ul li {
        width: 260px;
        margin: 0 20px 10px;
        float: left;
        font-size: 1.23077em;
        line-height: 1.375;
        padding: 32px 0 0;
        position: relative; }
        article section#report .report_list .reports ul li:before {
          content: "";
          display: block;
          position: absolute;
          width: 24px;
          height: 24px;
          top: 0;
          right: 4px;
          background-repeat: no-repeat;
          background-size: contain;
          background-position: 50%; }
        article section#report .report_list .reports ul li.family:before {
          background-image: url("../images/common/icon_family.png"); }
        article section#report .report_list .reports ul li.kids:before {
          background-image: url("../images/common/icon_kids.png"); }
        article section#report .report_list .reports ul li .frame {
          width: 260px;
          height: 260px;
          margin-bottom: 10px; }
          article section#report .report_list .reports ul li .frame a {
            display: block;
            width: 260px;
            height: 260px;
            overflow: hidden;
            background-size: cover;
            background-position: 50%;
            background-repeat: no-repeat;
            opacity: 0;
            -webkit-transition: opacity 0.2s ease-in-out;
            -moz-transition: opacity 0.2s ease-in-out;
            -o-transition: opacity 0.2s ease-in-out;
            transition: opacity 0.2s ease-in-out; }
            article section#report .report_list .reports ul li .frame a.move {
              opacity: 1; }
              article section#report .report_list .reports ul li .frame a.move:hover {
                opacity: .7; }
            article section#report .report_list .reports ul li .frame a img {
              max-width: 100%;
              opacity: 0; }

footer {
  text-align: center;
  background-image: url("../images/common/footer_bg.png");
  background-position: 50% 10px;
  background-repeat: repeat-x; }
  footer img {
    display: block;
    margin: 0 auto; }
  footer .footerInner {
    padding-top: 28px;
    background-color: #bedc00; }
    footer .footerInner a {
      display: inline-block;
      -webkit-transition: opacity 0.2s ease-in-out;
      -moz-transition: opacity 0.2s ease-in-out;
      -o-transition: opacity 0.2s ease-in-out;
      transition: opacity 0.2s ease-in-out; }
      footer .footerInner a img {
        display: block; }
      footer .footerInner a:hover {
        opacity: .7; }
    footer .footerInner .copyright {
      padding: 16px 0;
      color: black; }
