/* reset */
body, div, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, code, form, fieldset, legend, input, textarea, p, blockquote, th, td {
  margin: 0;
  padding: 0; }

address, caption, cite, code, dfn, em, th, var {
  font-style: normal;
  font-weight: normal; }

h1, h2, h3, h4, h5, h6 {
  font-size: 100%;
  font-weight: normal; }

li {
  list-style: none; }

img {
  vertical-align: top; }

div, li, h1, h2, h3, h4, h5, h6, header, footer, section {
  box-sizing: border-box; }

html {
  font-size: calc(62.5% + 0.5vw);
  height: 100%; }

body {
  background: #fff;
  color: #222;
  font-size: 1.4rem;
  letter-spacing: 0rem;
  font-family: "Neue Haas Unica W01 light", "Hiragino Kaku Gothic ProN", "YuGothic", "Yu Gothic", "Meiryo", sans-serif;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  -webkit-animation-duration: 0.1s;
  -webkit-animation-name: fontfix;
  -webkit-animation-iteration-count: 1;
  -webkit-animation-timing-function: linear;
  -webkit-animation-delay: 0.1s; }

@-webkit-keyframes fontfix {
  from {
    opacity: 1; }
  to {
    opacity: 1; } }

p, li, dl {
  line-height: 2; }

h1, h2, h3, h4, h5, h6 {
  line-height: 1.6; }

a {
  text-decoration: none;
  color: #898989;
  outline: none !important;
  -webkit-tap-highlight-color: transparent; }
  a *, a img {
    outline: none; }

::selection {
  background: #d5d3d2; }

::-moz-selection {
  background: #d5d3d2; }

/* module */
.inner {
  padding-left: 8%;
  padding-right: 8%; }

.box-col2 {
  display: table; }
  .box-col2 .le, .box-col2 .ri {
    display: table-cell;
    vertical-align: top; }
  .box-col2 .le {
    width: 220px; }

/* layout */
#site-header .logo {
  position: absolute;
  -webkit-transition: all .2s;
  transition: all .2s;
  top: 90px;
  left: 8%; }
  #site-header .logo span {
    display: block;
    font-size: 0; }
    #site-header .logo span + span {
      margin-top: 20px; }
  #site-header .logo.fix {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 99; }

#contents #osaka span, #contents .item.osaka {
  background-color: #c7b9a2; }

#contents #tokyo span, #contents .item.tokyo {
  background-color: #abc2c7; }

#contents #school span, #contents .item.school {
  background-color: #adabc7; }

#contents .visual {
  text-align: right;
  font-family: "Neue Haas Unica W01 Light";
  position: relative; }
  #contents .visual .txt {
    font-size: 1.4rem;
    color: #aaa;
    position: absolute;
    left: 8%;
    top: 70%;
    width: 48%;
    text-align: left;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  #contents .visual img {
    width: 60%; }

#contents .read {
  margin-top: 17%;
  font-size: 0.9rem;
  text-align: justify;
  letter-spacing: 0rem; }
  #contents .read p + p {
    margin-top: 1.4em; }
  #contents .read .wrap {
    display: table;
    width: 100%; }
  #contents .read .box {
    display: table-cell;
    vertical-align: top; }
    #contents .read .box:nth-child(even) {
      padding-left: 3%; }
    #contents .read .box:nth-child(odd) {
      padding-right: 3%; }

#contents .lnav {
  margin-top: 17%;
  display: table;
  width: 100%; }
  #contents .lnav .item {
    display: table-cell;
    vertical-align: top;
    width: calc(100% / 3);
    color: #fff;
    padding: 2% 3% 10%;
    text-decoration: none;
    position: relative;
    font-family: "Neue Haas Unica W01 Light"; }
    #contents .lnav .item .cont {
      position: relative;
      z-index: 2;
      font-size: .9rem;
      height: 15rem; }
      #contents .lnav .item .cont .txt {
        background-color: rgba(185, 185, 185, 0.6);
        display: inline;
        padding: 0rem; }
    #contents .lnav .item object {
      content: '';
      position: absolute;
      bottom: -12rem;
      right: 1rem;
      width: 26px;
      height: 132px; }
    #contents .lnav .item::before {
      -webkit-transition: opacity 3s;
      transition: opacity 3s;
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      opacity: 0;
      z-index: 1; }
    #contents .lnav .item:hover::before {
      opacity: 1; }
    #contents .lnav .item.osaka::before {
      background-image: -webkit-linear-gradient(top, rgba(171, 194, 198, 0), #abc2c7);
      background-image: linear-gradient(top, rgba(171, 194, 198, 0), #abc2c7); }
    #contents .lnav .item.tokyo::before {
      background-image: -webkit-linear-gradient(top, rgba(171, 194, 198, 0), #adabc7);
      background-image: -webkit-linear-gradient(top, rgba(173, 171, 198, 0), #adabc7);
      background-image: linear-gradient(top, rgba(173, 171, 198, 0), #adabc7); }
    #contents .lnav .item.school::before {
      background-image: -webkit-linear-gradient(top, rgba(204, 204, 204, 0), #cccccc);
      background-image: linear-gradient(top, rgba(204, 204, 204, 0), #cccccc); }
  #contents .lnav .hea {
    margin-bottom: 1.5em;
    line-height: 1.8; }
    #contents .lnav .hea span {
      font-size: 1.2rem;
      display: block; }
      #contents .lnav .hea span:first-child {
        position: relative;
        display: block;
        padding-bottom: .5em;
        margin-bottom: .5em;
        font-size: 1.7rem;
        line-height: 1.2; }
        #contents .lnav .hea span:first-child::after {
          content: '';
          position: absolute;
          bottom: 0;
          left: 0;
          width: .3em;
          height: 1px;
          background: #fff;
			line-height: 1.8; }

#contents .cont-event {
  margin-top: 38%; }
  #contents .cont-event section {
    position: relative; }
    #contents .cont-event section + section {
      margin-top: 11%; }
  #contents .cont-event .pic {
    position: absolute; }
  #contents .cont-event .btn-more {
    text-align: right;
    padding-right: 20px;
    margin-top: 80px; }
    #contents .cont-event .btn-more a {
      color: #fff;
      text-decoration: none;
      display: inline-block;
      font-size: 1.4rem;
      padding: 1.2em 8em 1.3em 1.4em;
      line-height: 1;
      position: relative;
      font-family: "Neue Haas Unica W01 Thin";
      /*motion*/
      color: #fff;
      background-image: -webkit-linear-gradient(left, #9b9b9b 50%, #787878 50%);
      background-image: linear-gradient(to right, #9b9b9b 50%, #787878 50%);
      background-position: 0 0;
      background-size: 200% auto;
      -webkit-transition: .2s;
      transition: .2s; }
      #contents .cont-event .btn-more a:hover {
        /*motion*/
        color: #fff;
        background-position: -100% 0;
        text-decoration: none; }
      #contents .cont-event .btn-more a::after {
        content: '';
        position: absolute;
        top: 50%;
        margin-top: -15px;
        right: -70px;
        width: 132px;
        height: 26px;
        background: url(../img/arrow_02.svg) 0 0 no-repeat; }
  #contents .cont-event .hea {
    font-size: 1.8rem;
    line-height: 1.4;
    margin-bottom: 40px;
    padding-top: 10px;
    font-family: "Neue Haas Unica W01 Thin"; }
    #contents .cont-event .hea span {
      display: inline-block;
      padding: .2em 1.2em .4em .6em;
      margin-top: .1em;
      color: #fff; }
    #contents .cont-event .hea div {
      display: table;
      margin-left: auto; }
  #contents .cont-event .wrap {
    padding-top: 90px;
    padding-bottom: 120px;
    font-size: .9rem;
    }
    #contents .cont-event .wrap p + * {
      margin-top: 1.5em; }
  #contents .cont-event .event {
    display: table;
    width: 100%; }
    #contents .cont-event .event .box {
      display: table-cell;
      width: 50%;
      vertical-align: top; }
    #contents .cont-event .event .box .evtext{
		 text-align:justify; }
    #contents .cont-event .event .box .people{
		   font-size: .78rem;
			line-height:1.4rem; }
      #contents .cont-event .event .box:nth-child(even) {
        padding-left: 3%; }
      #contents .cont-event .event .box:nth-child(odd) {
        padding-right: 3%; }
    #contents .cont-event .event ul {
      border-top: 1px solid #666; }
      #contents .cont-event .event ul li {
        font-size: .78rem;
        padding: .5em 0;
        border-bottom: 1px solid #666; }
        #contents .cont-event .event ul li a {
          color: #000;
          background-color: #fff; }
          #contents .cont-event .event ul li a:hover {
            color: #ddd;
			background-color: #000;
			transition:1.2s;  }
  #contents .cont-event .school {
    display: table;
    width: 100%; }
    #contents .cont-event .school .box {
      display: table-cell;
      vertical-align: top;
      padding: 4em; }
      #contents .cont-event .school .box:nth-child(even) {
        padding-left: 2%; }
      #contents .cont-event .school .box:nth-child(odd) {
        padding-right: 2%; }
  #contents .cont-event #osaka .pic {
    top: 14px;
    right: 100px; }
  #contents .cont-event #osaka .wrap {
    background-image: -webkit-linear-gradient(#c7b9a2, #abc2c6);
    background-image: linear-gradient(#c7b9a2, #abc2c6); }
  #contents .cont-event #tokyo .pic {
    top: 12px;
    left: calc(35% - 324px); }
  #contents .cont-event #tokyo .hea {
    margin-left: 35%; }
  #contents .cont-event #tokyo .wrap {
    background-image: -webkit-linear-gradient(#abc2c6, #adabc6);
    background-image: linear-gradient(#abc2c6, #adabc6); }
  #contents .cont-event #school .hea {
    margin-right: 0%;
    float: right; }
  #contents .cont-event #school .wrap {
    clear: both;
    background-image: -webkit-linear-gradient(#adabc6, #cccccc);
    background-image: linear-gradient(#adabc6, #cccccc); }
    #contents .cont-event #school .wrap .coming {
      /*background-color: rgba(185,185,185,0.6);*/
      color: #fff;
      font-size: 2.6rem;
      display: inline;
      line-height: 1;
      font-family: 'Neue Haas Unica W01 UltraLight'; }

#contents .cont-supporters {
  margin-top: 18%;
  font-family: 'Neue Haas Unica W01 Light'; }
  #contents .cont-supporters h2 {
    font-size: 1rem;
    padding-right: 1rem; }
  #contents .cont-supporters ul {
    margin-left: -5%; }
    #contents .cont-supporters ul:after {
      content: ".";
      display: block;
      clear: both;
      height: 0;
      visibility: hidden; }
    #contents .cont-supporters ul li {
      float: left;
      width: 15%;
      margin: 0 0 3% 5%; }
      #contents .cont-supporters ul li img {
        width: 100%; }

#site-footer {
  margin-top: 20%;
  padding-bottom: 100px;
  font-family: "Neue Haas Unica W01 Light";
  font-size: 1rem; }
  #site-footer .logo {
    display: table; }
    #site-footer .logo span {
      display: table-cell;
      vertical-align: bottom;
      font-size: 0;
      padding-right: 26px; }
  #site-footer .cont {
    display: table;
    font-size: 1rem;
    line-height: 2;
    margin-top: 1.4em; }
    #site-footer .cont a {
      /*motion*/
      color: #898989;
      padding: .1em 0em .1em 0em;
      background-image: -webkit-linear-gradient(left, #fcfcfc 50%, #f0f0f0 50%);
      background-image: linear-gradient(to right, #fcfcfc 50%, #f0f0f0 50%);
      background-position: 0 0;
      background-size: 200% auto;
      -webkit-transition: .2s;
      transition: .2s; }
      #site-footer .cont a:hover {
        /*motion*/
        color: #333;
        background-position: -100% 0;
        text-decoration: none; }
    #site-footer .cont h2 {
      margin-bottom: .4em; }
    #site-footer .cont .box {
      display: table-cell;
      vertical-align: top;
      padding-right: 7rem; }
  #site-footer .pagetop {
    position: relative;
    float: right;
    top: -100px; }

/* --------------Motion-------------- */
/* Inview */
.inview_mv {
  opacity: 0; }

.mv {
  opacity: 1.0;
  -webkit-transition: 1.4s;
  transition: 1.4s;
  -webkit-transition-delay: .1s;
          transition-delay: .1s; }

/* desktop only */
@media screen and (min-width: 721px) {
  body {
    min-width: 1000px; } }

/* mobile only */
@media only screen and (max-width: 720px) {
	html {
 	 font-size: calc(62.5% + 1.4vw);
 	 height: 100%; }
  .inner {
    padding-left: 24px;
    padding-right: 24px; }
  .box-col2 {
    display: block; }
    .box-col2 .le, .box-col2 .ri {
      display: block; }
    .box-col2 .le {
      width: auto; }
  #site-header .logo {
    top: 24px;
    left: 24px;
    z-index: 2; }
  #contents .visual {
    text-align: right;
    font-family: "Neue Haas Unica W01 Light";
    position: relative;
    height: 480px;
    background: url(../img/main-pic.jpg) 50% 0 no-repeat;
    background-size: cover; }
    #contents .visual img {
      display: none; }
    #contents .visual .txt {
      font-size: 1.0rem;
      color: #aaa;
      position: absolute;
      left: 0;
      top: 38%;
      width: 100%;
      text-align: left;
      padding: 0 24px;
      color: #000; }
    #contents .visual img {
      width: 60%; }
  #contents .read {
    margin-top: 24px; }
    #contents .read .wrap {
      display: block;
      width: auto; }
    #contents .read .box {
      display: block; }
      #contents .read .box:nth-child(even) {
        padding-left: 0; }
      #contents .read .box:nth-child(odd) {
        padding-right: 0; }
  #contents .lnav {
    margin-top: 40px;
    display: block; }
    #contents .lnav .item {
      display: block;
      width: auto;
      height: auto;
      padding: 20px 24px 48px 24px;
      position: relative; }
      #contents .lnav .item + .item {
        margin-top: 40px; }
      #contents .lnav .item .cont {
        position: relative;
        z-index: 2;
        font-size: .9rem;
        height: auto; }
        #contents .lnav .item .cont .txt {
          background-color: rgba(185, 185, 185, 0.6);
          display: inline;
          padding: 0rem; }
      #contents .lnav .item object {
        bottom: -70px;
        right: 0;
        width: 12px;
        height: auto; }
  #contents .cont-event {
    margin-top: 80px; }
    #contents .cont-event section {
      position: relative; }
      #contents .cont-event section + section {
        margin-top: 60px; }
    #contents .cont-event .pic {
      position: absolute; }
      #contents .cont-event .pic img {
        width: 160px;
        height: 160px; }
    #contents .cont-event .btn-more {
      margin-top: 24px;
      padding-right: 0; }
      #contents .cont-event .btn-more a {
        display: block;
        text-align: left;
        width: auto;
        margin-right: 30px; }
        #contents .cont-event .btn-more a::after {
          top: 50%;
          margin-top: -13px;
          right: -30px;
          width: 75px;
          height: 26px;
          background: url(../img/arrow_02.svg) 0 0 no-repeat;
          background-size: 75px auto; }
    #contents .cont-event .hea {
      margin-bottom: 110px; }
    #contents .cont-event .wrap {
      padding-top: 40px;
      padding-bottom: 40px;}
    #contents .cont-event .event {
      display: block; }
      #contents .cont-event .event .box {
        display: block;
        width: auto; }
        #contents .cont-event .event .box + .box {
          margin-top: 1em;
          text-align: left; }
        #contents .cont-event .event .box:nth-child(even) {
          padding-left: 0; }
        #contents .cont-event .event .box:nth-child(odd) {
          padding-right: 0; }
    #contents .cont-event .event .box .evtext{
		   font-size: .9rem;
			line-height:1.7rem; 
			text-align:justify; }
    #contents .cont-event .event .box .people{
		   font-size: .9rem;
			line-height:1.7rem;}
    #contents .cont-event .event ul {
      border-top: 1px solid #666; }
      #contents .cont-event .event ul li {
        font-size: .9rem;
        padding: .5em 0;
        border-bottom: 1px solid #666; }
    #contents .cont-event .school {
      display: block; }
      #contents .cont-event .school .box {
        display: block;
        padding: 0; }
        #contents .cont-event .school .box img {
          width: 100%; }
        #contents .cont-event .school .box:nth-child(even) {
          margin-top: 1.5em;
          padding-left: 0; }
        #contents .cont-event .school .box:nth-child(odd) {
          padding-right: 0; }
        #contents .cont-event .school p {
		   font-size: .9rem;
			line-height:1.7rem; 
			text-align:justify;}

    #contents .cont-event #osaka .pic {
      top: 160px;
      right: 24px; }
    #contents .cont-event #tokyo .pic {
      top: 160px;
      right: 24px;
      left: auto; }
    #contents .cont-event #tokyo .hea {
      margin-left: 0; }
    #contents .cont-event #school .hea {
      margin-right: 0;
      margin-bottom: 24px;
      float: none; }
    #contents .cont-event #school .wrap {
      padding-top: 24px; }
  #contents .cont-supporters {
    margin-top: 40px; }
    #contents .cont-supporters h2 {
      padding-right: 0;
      margin-bottom: 1.5em; }
    #contents .cont-supporters ul {
      margin-left: -5%; }
      #contents .cont-supporters ul:after {
        content: ".";
        display: block;
        clear: both;
        height: 0;
        visibility: hidden; }
      #contents .cont-supporters ul li {
        float: left;
        width: 45%;
        margin: 0 0 3% 5%; }
        #contents .cont-supporters ul li img {
          width: 100%; }
  #site-footer {
    position: relative; }
#site-footer .logo {
    display: table;
 }
#site-footer .logo span{
	padding-right: 10px; }
#site-footer .logo img{
	vertical-align: bottom;
    width:80%;}
    #site-footer .cont {
      margin-top: 2em; }
      #site-footer .cont .box {
        padding-right: 2rem; }
    #site-footer .pagetop {
      position: absolute;
      right: 24px;
      top: 60px; }
      #site-footer .pagetop img {
        width: 18px; } }
