@charset "UTF-8";
/* CSS Document */

/*!
 * ress.css • v1.1.1
 * MIT License
 * github.com/filipelinhares/ress
 */

html {
  box-sizing: border-box;
  overflow-y: scroll;
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
  width: 100%;
  height: 100%
}

*, ::before, ::after {
  box-sizing: inherit
}

::before, ::after {
  text-decoration: inherit;
  vertical-align: inherit
}

* {
  background-repeat: no-repeat;
  padding: 0;
  margin: 0
}

audio:not([controls]) {
  display: none;
  height: 0
}

hr {
  overflow: visible
}

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

summary {
  display: list-item
}

small {
  font-size: 80%
}

[hidden], template {
  display: none
}

abbr[title] {
  border-bottom: 1px dotted;
  text-decoration: none
}

a {
  color: #000;
  background-color: transparent;
  -webkit-text-decoration-skip: objects;
  text-decoration: none;
}

a:active, a:hover {
  outline-width: 0
}

code, kbd, pre, samp {
  font-family: monospace, monospace
}

b, strong {
  font-weight: bolder
}

dfn {
  font-style: italic
}

mark {
  background-color: #ff0;
  color: black
}

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline
}

sub {
  bottom: -0.25em
}

sup {
  top: -0.5em
}

input {
  border-radius: 0
}

button, [type="button"], [type="reset"], [type="submit"] [role="button"] {
  cursor: pointer
}

[disabled] {
  cursor: default
}

[type="number"] {
  width: auto
}

[type="search"] {
  -webkit-appearance: textfield
}

[type="search"]::-webkit-search-cancel-button, [type="search"]::-webkit-search-decoration {
  -webkit-appearance: none
}

textarea {
  overflow: auto;
  resize: vertical
}

button, input, optgroup, select, textarea {
  font: inherit
}

optgroup {
  font-weight: bold
}

button {
  overflow: visible
}

button::-moz-focus-inner, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  border-style: 0;
  padding: 0
}

button:-moz-focusring, [type="button"]::-moz-focus-inner, [type="reset"]::-moz-focus-inner, [type="submit"]::-moz-focus-inner {
  outline: 1px dotted ButtonText
}

button, html [type="button"], [type="reset"], [type="submit"] {
  -webkit-appearance: button
}

button, select {
  text-transform: none
}

button, input, select, textarea {
  background-color: transparent;
  border-style: none;
  color: inherit
}

select {
  -moz-appearance: none;
  -webkit-appearance: none
}

select::-ms-expand {
  display: none
}

select::-ms-value {
  color: currentColor
}

legend {
  border: 0;
  color: inherit;
  display: table;
  max-width: 100%;
  white-space: normal
}

::-webkit-file-upload-button {
  -webkit-appearance: button;
  font: inherit
}

[type="search"] {
  -webkit-appearance: textfield;
  outline-offset: -2px
}

img {
  border-style: none
}

progress {
  vertical-align: baseline
}

svg:not(:root) {
  overflow: hidden
}

audio, canvas, progress, video {
  display: inline-block
}

[aria-busy="true"] {
  cursor: progress
}

[aria-controls] {
  cursor: pointer
}

[aria-disabled] {
  cursor: default
}

::-moz-selection {
  background-color: #b3d4fc;
  color: black;
  text-shadow: none
}

::selection {
  background-color: #b3d4fc;
  color: black;
  text-shadow: none
}

body {
  -moz-osx-font-smoothing: grayscale;
  -webkit-font-smoothing: antialiased;
  background: black;
  color: white;
  font-family: YuGothic, "Yu Gothic Medium", "Yu Gothic", -apple-system, BlinkMacSystemFont, Roboto, "Segoe UI", "Helvetica Neue", HelveticaNeue, Verdana, Meiryo, sans-serif;
  font-size: 1.4rem;
  font-weight: 400;
  line-height: 1.8em;
  letter-spacing: 0.05em;
  width: 100%;
  height: 100%
}

img {
  max-width: 100%;
  vertical-align: middle
}

h1, h2, h3, h4, h5, h6 {
  margin: 0;
  font-size: 1em
}

p {
  margin: 0
}

ol, ul {
  margin: 0;
  padding: 0
}

li {
  list-style: none
}

dl, dd {
  margin: 0
}

small {
  font-size: 100%
}

em {
  font-style: normal
}

::-moz-selection {
  background: #fff
}

::selection {
  background: #fff
}


/*!
 * style
 */
.wrap{
  position: relative;
  overflow: hidden;
}
.inr{
  position: relative;
  z-index: 1;
}
.bg{
  width: 100vw;
  height: 100vh;
  background: url(../images/bg.jpg) no-repeat;
  background-size: cover;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 0;
}
main{
  background: rgba(51,82,104,.2);
}
.emphasis{
  font-weight: bold;
}
.ttl{
  font-size: 1.8rem;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  font-weight: bold;
}
.section{
  margin: 0 auto;
  padding: 120px 16px;
  position: relative;
}
.section.message{
  padding-bottom: 0;
}
.parts,
.parts__2,
.parts__3{
  position: absolute;
  z-index: -1;
}
.parts01{
  width: 40%;
  top: -5%;
  right: 10%;
}
.parts02{
  width: 250%;
  top: 10%;
  left: -20%;
}
.parts03{
  width: 50%;
  top: -35%;
  left: -5%;
}
.parts04{
  width: 200%;
  top: -20%;
  left: -50%;
}
.parts05{
  width: 250%;
  top: 10%;
  right: -25%;
}
.parts06{
  width: 50%;
  top: -50%;
  right: -10%;
}
.parts07{
  width: 30%;
  top: -120%;
  left: 40%;
}
.headingWrap{
  margin: 0 auto 60px;
}
.heading{
  width: 45%;
  margin: 0 auto;
}
.subHeading{
  color: #ae920d;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  margin-top: 20px;
  text-align: center;
}
.subTxt{
  font-size: 1.2rem;
  line-height: 1.6em;
}
.pc{
  display: none;
}

.mainVisual{
  width: 100%;
  height: 0;
  padding-top: 56%;
  background: url(../images/mainVisual.jpg) no-repeat;
  background-size: cover;
  position: relative;
}
.mainTtl{
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
  width: 70%;
}
.story{
  color: #cfc31d;
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  text-align: center;
  padding: 40px 16px 0;
  position: relative;
}
.story .subTxt{
  margin: 30px 20px 0;
}
.story .subTxt p + p{
  margin-top: 10px;
}
.story::before,
.story::after{
  content: "";
  display: block;
  margin: 40px auto;
}
.story::before{
  width: 20px;
  height: 67px;
  background: url(../images/ico_story1.png) no-repeat;
  background-size: cover; 
}
.story::after{
  width: 206px;
  height: 48px;
  background: url(../images/ico_story2.png) no-repeat;
  background-size: cover; 
}
.program p + p{
  margin-top: 10px;
}
.program .txtWrap + .txtWrap{
  margin-top: 80px;
}
.program .emphasis{
  margin-top: 40px;
}
.goals{
  width: 100%;
  margin: 0 auto;
  padding: 60px 20px 40px;
  position: relative;
  background: url(../images/bg_goals.png) no-repeat center;
  background-size: cover;
}
.goals::before{
  content: "";
  display: block;
  width: 100%;
  height: 0;
  padding-top: 37%;
  background: url(../images/img_goals.png) no-repeat;
  background-size: cover;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.goals__ttl{
  width: 80%;
  margin: 0 auto;
}
.goals__list{
  color: #104a78;
  margin-top: 40px;
}
.goals__item:nth-child(n+2){
  margin-top: 20px;
}
.goals__item::after{
  content: "";
  display: block;
  clear: both;
}
.goals__num{
  font-family: 游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN","Hiragino Mincho Pro",HGS明朝E,メイリオ,Meiryo,serif;
  font-size: 2.6rem;
  font-style: italic;
  float: left;
  margin-right: 10px;
}
.goals__txt{
  font-weight: bold;
  overflow: hidden;
}
.section.program::before,
.section.schedule::before,
.section.message::before,
.section.sponsor::before,
.section.sponsor::after{
  content: "";
  display: block;
  position: absolute;
}
.section.program::before{
  width: 80%;
  height: 0;
  padding-top: 98%;
  background: url(../images/ico_program.png) no-repeat;
  background-size: 100%;
  top: 20px;
  left: -30%;
}
.section.schedule::before{
  width: 85%;
  height: 0;
  padding-top: 15%;
  background: url(../images/ico_schedule.png) no-repeat;
  background-size: 100%;
  top: 120px;
  left: 50%;
  transform: translate(-50%,0);
}
.section.message::before{
  width: 80%;
  height: 0;
  padding-top: 98%;
  background: url(../images/ico_message.png) no-repeat;
  background-size: 100%;
  top: -40px;
  left: -15%;
}
.section.sponsor::before{
  position: relative;
  width: 14px;
  height: 72px;
  background: url(../images/ico_sponsor1.png) no-repeat;
  background-size: 100%;
  margin: 0 auto 30px;
}
.section.sponsor::after{
  width: 80%;
  height: 0;
  padding-top: 100%;
  background: url(../images/ico_sponsor2.png) no-repeat;
  background-size: 100%;
  top: 65%;
  left: 50%;
  transform: translate(-50%,-50%);
}
.section.schedule{
  padding: 120px 10px;
}
.schedule__item{
  padding: 40px 16px;
  margin: 80px 0;
  background: rgba(0,54,96,.5);
  position: relative;
}
.schedule__item::before,
.schedule__item::after{
  content: "";
  display: block;
  width: 100%;
  height: 0;
  position: absolute;
  left: 0;
  opacity: .5;
}
.schedule__item::before{
  border-right: solid 30px transparent;
  border-bottom: solid 30px #003660;
  border-left: solid 30px transparent;
  bottom: 100%;
}
.schedule__item::after{
  border-right: solid 30px transparent;
  border-top: solid 30px #003660;
  border-left: solid 30px transparent;
  top: 100%;
}
.schedule__inr{
  position: relative;
}
.schedule__inr.item01::before,
.schedule__inr.item02::before,
.schedule__inr.item03::before{
  content: "";
  display: block;
  height: 0;
  position: absolute;
  right: 0;
  top: -30px;
}
.schedule__inr.item01::before{
  width: 80%;
  padding-top: 76%;
  background: url(../images/ico_schedule_01.png) no-repeat;
  background-size: 100%;
}
.schedule__inr.item02::before{
  width: 80%;
  padding-top: 78%;
  background: url(../images/ico_schedule_02.png) no-repeat;
  background-size: 100%;
}
.schedule__inr.item03::before{
  width: 80%;
  padding-top: 149%;
  background: url(../images/ico_schedule_03.png) no-repeat;
  background-size: 100%;
}
.schedule .ttl{
  font-style: italic;
}
.schedule__ttl{
  margin: 0 0 20px;
  font-size: 2rem;
}
.schedule__ttl span{
  font-size: 1.6rem;
}
.schedule__subTtl{
  margin: 40px 0 20px
}
.schedule__goals li:nth-child(n+2){
  margin-top: 10px;
}
.schedule__item dl{
  margin-top: 16px;
}
.schedule__item dt{
  font-weight: bold;
}
.visual{
  width: 100vw;
  background: url(../images/bg_illust.jpg) no-repeat;
  background-size: cover;
  padding: 80px 0;
}
.visual::before{
  content: "";
  display: block;
  width: 90%;
  height: 0;
  padding-top: 46%;
  margin: 0 auto;
  background: url(../images/img_illust.png) no-repeat;
  background-size: 100%;
}
.messageWrap{
  padding: 60px 0;
}
.messageWrap:nth-child(2){
  padding-top: 0;
}
.messageWrap:nth-child(4){
  padding-bottom: 0;
}
.messageWrap:nth-child(n+3){
  border-top: 1px solid #555c64;
}
.message__name{
  margin-bottom: 20px;
}
.message__name span{
  display: block;
  font-size: 1.4rem;
  margin: 10px 0;
}
.sponsor .ttl{
  margin-bottom: 20px;
}
.sponsor p + .ttl{
  margin-top: 60px;
}
.continue{
  width: 100vw;
  height: 50%;
  padding: 120px 0 60px;
  background: -moz-linear-gradient(top,  rgba(51,82,104,.2) 0%, rgba(51,82,104,0) 30%, rgba(51,82,104,0) 73%, rgba(51,82,104,0) 100%); /* FF3.6-15 */
  background: -webkit-linear-gradient(top,  rgba(51,82,104,.2) 0%,rgba(51,82,104,0) 30%,rgba(51,82,104,0) 73%,rgba(51,82,104,0) 100%); /* Chrome10-25,Safari5.1-6 */
  background: linear-gradient(to bottom,  rgba(51,82,104,.2) 0%,rgba(51,82,104,0) 30%,rgba(51,82,104,0) 73%,rgba(51,82,104,0) 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#335268', endColorstr='#00335268',GradientType=0 ); /* IE6-9 */
}
.continue::before{
  content: "";
  display: block;
  margin: 0 auto;
  width: 80%;
  height: 0;
  padding-top: 36%;
  background: url(../images/img_continue.png) no-repeat;
  background-size: 100%;
}
footer{
  padding: 20px 0;
  text-align: center;
}
footer small{
  font-size: 1.2rem;
}

@media screen and (max-width:768px){
  .nav{
    width: 100%;
    height: 60px;
    position: fixed;
    top: 0;
    z-index: 10;
  }
  .nav .nav__btn {
    display: block;
    padding: 12px 25px 12px 0;
    text-indent: 100%;
    overflow: hidden;
    white-space: nowrap;
    cursor: pointer;
    position: absolute;
    top: 50%;
    right: 20px;
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%);
    z-index: 101;
    line-height: 80px;
  }
  .nav .nav__btn .nav__btnToggle,
  .nav .nav__btn .nav__btnToggle::before,
  .nav .nav__btn .nav__btnToggle::after {
    content: "";
    position: absolute;
    display: block;
    width: 25px;
    height: 1px;
    border-color: white;
    background: white;
    cursor: pointer;
    -webkit-transition: all 300ms ease-in-out;
    transition: all 300ms ease-in-out;
  }
  .nav .nav__btn .nav__btnToggle::before {
    top: -10px;
  }
  .nav .nav__btn .nav__btnToggle::after {
    top: 10px;
  }
  .nav .nav__btn.active .nav__btnToggle {
    background-color: transparent
  }
  .nav .nav__btn.active .nav__btnToggle::before {
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    top: 0;
  }
  .nav .nav__btn.active .nav__btnToggle::after {
    top: 10px;
    -webkit-transform: translatey(-10px) rotate(-45deg);
    -ms-transform: translatey(-10px) rotate(-45deg);
    transform: translatey(-10px) rotate(-45deg);
  }
  .nav .nav__wrap {
    display: none;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    z-index: 100;
    text-align: center;
    background: rgba(0,0,0,.8);
    transform: none;
  }
  .nav .nav__link{
    line-height: 40px;
  }
  .nav .nav__wrap.enter {
    display: block;
    background: rgba(0,0,0,.8);
    opacity: 1;
    animation: fadeIn 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 normal;
    -webkit-animation: fadeIn 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 normal;
  }
  .nav .nav__wrap.leave {
    opacity: 0;
    animation: fadeIn 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 reverse;
    -webkit-animation: fadeIn 0.3s cubic-bezier(0.23, 1, 0.32, 1) 0s 1 reverse;
  }
  @keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  @-webkit-keyframes fadeIn {
    0% {
      opacity: 0;
    }
    100% {
      opacity: 1;
    }
  }
  .nav .nav__list {
    text-align: center;
    position: absolute;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
  }
  .nav .nav__item {
    display: block;
    margin: 10px 0;
    font-size: 1.2em;
  }
  .nav .nav__link{
    letter-spacing: .1em;
    font-family: 'Cormorant Garamond', serif;
    color: white;
  }
}

@media screen and (min-width:769px){
  .pc{
    display: block;
  }
  .nav{
    position: fixed;
    top: 50%;
    left: 2%;
    transform: translate(0,-50%);
    z-index: 10;
  }
  .nav__btn{
    display: none;
  }
  .nav__item{
    margin: 10px 0;
  }
  .nav__item::before{
    content: "";
    display: inline-block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background: white;
    margin-right: 10px;
    vertical-align: middle;
  }
  .nav .nav__link{
    letter-spacing: .1em;
    font-family: 'Cormorant Garamond', serif;
    color: white;
    line-height: 30px;
  }
  .section{
    width: 60%;
    min-width: 860px;
    margin: 0 auto;
    padding: 120px 0;
  }
  .heading{
    width: 217px;
    height: 28px;
  }
  .parts01{
    width: 15%;
    top: -30%;
    right: 30%;
  }
  .parts02{
    width: 300%;
    top: -30%;
    left: -30%;
  }
  .parts03{
    width: 40%;
    top: -45%;
    left: -20%;
  }
  .parts04{
    width: 150%;
    top: -45%;
    left: -70%;
    z-index: 5;
  }
  .parts05{
    width: 300%;
    top: -10%;
    right: -50%;
  }
  .parts06{
    width: 30%;
    top: -180%;
    right: -20%;
  }
  .parts07{
    width: 25%;
    top: -300%;
    left: -10%;
  }
  .mainTtl{
    width: 40%;
  }
  .mainVisual .txt{
    position: absolute;
    bottom: 10%;
    left: 50%;
    transform: translate(-50%,0);
    width: 8%;
  }
  .section.program::before {
    width: 365px;
    padding-top: 360px;
    top: -20px;
    left: 10%;
  }
  .section.schedule::before {
    width: 501px;
    padding-top: 71px;
  }
  .section.message::before {
    width: 342px;
    padding-top: 337px;
    top: -40px;
  }
  .section.sponsor::after {
    width: 418px;
    padding-top: 421px;
  }
  .schedule__inr.item01::before,
  .schedule__inr.item02::before,
  .schedule__inr.item03::before{
    top: inherit;
    right: -40px;
    bottom: 20px;
  }
  .schedule__inr.item01::before {
    width: 420px;
    padding-top: 320px;
  }
  .schedule__inr.item02::before {
    width: 381px;
    padding-top: 372px;
  }
  .schedule__inr.item03::before {
    width: 330px;
    padding-top: 493px;
  }
  .schedule__item{
    padding: 80px;
    margin: 80px 20px;
  }
  .schedule__item dl{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }
  .schedule__item dt{
    width: 20%;
  }
  .schedule__item dd{
    width: 80%;
  }
  .story__txt{
    font-size: 2rem;
    line-height: 2.2em;
  }
  .story .subTxt{
    font-size: 1.4rem;
    line-height: 1.8em;
  }
  .goals{
    width: 967px;
    height: 433px;
    padding: 80px 120px 0;
  }
  .goals__ttl{
    width: 410px;
    margin-bottom: 60px;
  }
  .visual{
    padding: 0;
  }
  .visual::before{
    width: 50%;
    padding-top: 26%;
  }
  .messageWrap{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }
  .message__name{
    width: 45%;
  }
  .message__txt{
    width: 55%;
  }
  .continue{
    padding: 160px 0 80px;
  }
  .continue::before{
    width: 37%;
    padding-top: 17%;
  }
}