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

@import url(http://fonts.googleapis.com/earlyaccess/notosansjp.css);

/*!
 * 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: #070b36;
  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: white;
  color: #000;
  font-family: "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
  font-size: 1.4rem;
  font-style: normal;
  font-weight: 400;
  line-height: 2.2em;
  letter-spacing: 0.05em;
  width: 100%;
  height: 100%;
  position: relative;
}

img {
  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: #faef3a
}

::selection {
  background: #faef3a
}


/*!
 * style
 */
 .wrap{
  overflow: hidden;
 }
.bg{
  width: 100%;
  height: 100%;
  background: url(../images/bg.jpg) no-repeat center;
  background-size: cover;
  z-index: -10;
  position:fixed;
  top: 0;
  left: 0;
}

.pc{
  display: none;
}
img{
  max-width: 100%;
}
.header__top{
  width: 100%;
  height: 95vh;
  box-sizing: border-box;
  border-top: 40px solid #000;
  border-left: 24px solid #000;
  border-right: 24px solid #000;
  border-bottom: 120px solid #000;
  background: url(../images/main.jpg) no-repeat center;
  background-size: cover;  
  position: relative;
}
.header__top > *{
  position: absolute;
}
.header__top .header__logo{
  width: 90%;
  padding-top: 24%;
  background: url(../images/logo_main_sp.svg) no-repeat;
  background-size: 100%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.header__top .header__ttl{
  background: url(../images/ttl_main_sp.svg) no-repeat;
  background-size: 100%;
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
  width: 70%;
  padding-top: 57%;
  top: 30%;
  left: 50%;
  transform: translate(-50%,0%);
}
.header__top .header__trigger{
  display: block;
  width: 240px;
  height: 40px;
  line-height: 40px;
  margin: 0 auto;
  text-align: center;
  font-weight: bold;
  color: #fff;
  border: 1px solid #fff;
  top: 65%;
  left: 50%;
  transform: translate(-50%,0);
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
.header__top .header__date{
  width: 40%;
  position: absolute;
  right: 0;
  bottom: 0;
}
.header__top .header__txt{
  position: absolute;
  bottom: -96px;
  left: 0;
  color: #fff;
  line-height: 1.5em;
}
.header__top .header__subTtl{
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 8px;
}
.header__menu{
  width: 100%;
  height: 60px;
  background: rgba(255,255,255,.8);
  position: fixed;
  top: 0;
  z-index: 10;
}
.header__menu .header__logo{
  margin: 10px 0 0 16px;
}
.header__menu .header__logoLink{
  display: block;
  width: 218px;
  height: 40px;
  background: url(../images/logo_header.svg) no-repeat;
  background-size: 100%;
  text-indent: 100%;
  overflow: hidden;
  white-space: nowrap;
}
.header__menu .header__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;
}
.header__menu .header__btn .header__btnToggle,
.header__menu .header__btn .header__btnToggle::before,
.header__menu .header__btn .header__btnToggle::after {
  content: "";
  position: absolute;
  display: block;
  width: 25px;
  height: 1px;
  border-color: #2f333f;
  background: #2f333f;
  cursor: pointer;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
.header__menu .header__btn .header__btnToggle::before {
  top: -10px;
}
.header__menu .header__btn .header__btnToggle::after {
  top: 10px;
}
.header__menu .header__btn.active .header__btnToggle {
  background-color: transparent
}
.header__menu .header__btn.active .header__btnToggle::before {
  -webkit-transform: rotate(45deg);
  -ms-transform: rotate(45deg);
  transform: rotate(45deg);
  top: 0;
}
.header__menu .header__btn.active .header__btnToggle::after {
  top: 10px;
  -webkit-transform: translatey(-10px) rotate(-45deg);
  -ms-transform: translatey(-10px) rotate(-45deg);
  transform: translatey(-10px) rotate(-45deg);
}
.header__menu .header__nav {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  z-index: 100;
  text-align: center;
  background: rgba(255,255,255,.9);
  transform: none;
}
.header__menu .header__navLink{
  display: inline-block;
  line-height: 40px;
  font-size: 1.6rem;
  font-weight: bold;
}
.header__menu .header__nav.enter {
  display: block;
  background: rgba(255,255,255,.95);
  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;
}
.header__menu .header__nav.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;
  }
}
.header__menu .header__nav .header__navList {
  text-align: center;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
}
.header__menu .header__nav .header__navItem {
  display: block;
  margin: 10px 0;
}
.header__menu .header__nav .header__navBtn {
  display: block;
  width: 240px;
  height: 64px;
  line-height: 64px;
  margin-top: 32px;
  color: #fff;
  background: #000;
  font-size: 1.6rem;
  font-weight: bold;
}

.kf__content{
  min-width: initial;
}
.section__inr{
  margin: 120px 0;
  position: relative;
}
.heading{
  margin: 0 16px 40px;
}
.heading__ttl{
  font-family: 'Abel', sans-serif;
  font-size: 4rem;
  font-weight: lighter;
  letter-spacing: .05em;
}
.heading__ttl::after{
  content: "";
  display: block;
  width: 80px;
  height: 4px;
  background: #ef6c00;
  margin: 32px 0 24px;
}
.heading__txt{
  font-size: 2rem;
  font-weight: bold;
  line-height: 2em;
}
.txtWrap{
  margin: 0 8px;
  padding: 32px 16px;
  background: rgba(255,255,255,.6);
  position: relative;
}
.btn{
  display: block;
  color: #ef6c00;
  border: 1px solid #ef6c00;
  text-align: center;
  line-height: 48px;
  margin-top: 16px;
  font-weight: bold;
  font-size: 1.6rem;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
.schedule .btn{
  width: 90%;
  margin: 16px auto 0;
  line-height: 40px;
  font-size: 1.4rem;
  border: none;
  background: white;
}
.header__trigger:hover,
.btn:hover,
.schedule .btn:hover,
.outline__submitTrigger:hover{
  background: #ef6c00;
  color: white;
  border-color: #ef6c00;
}
.parts{
  position: absolute;
}
.parts01{
  width: 60px;
  z-index: 5;
  top: -25%;
  right: 16px;
}
.parts02{
  width: 320px;
  z-index: 5;
  top: -2%;
  right: -8px;
}
.parts03{
  width: 180px;
  bottom: 15%;
  right: -32px;
}
.parts04{
  width: 240px;
  top: 15%;
  right: -32px;
}
.parts05{
  width: 130px;
  top: -45%;
  left: 50%;
}
.parts06{
  width: 260px;
  bottom: 45%;
  left: -2%;
}
.parts07{
  width: 260px;
  bottom: 20%;
  right: 0;
}

.greeting__img{
  margin-left: 40px;
}
.greeting__txt{
  position: relative;
  z-index: 5;
  margin: -24px 8px 0;
  padding-bottom: 80px;
}
.greeting__sign{
  margin: -88px 0 0 40px;
  position: relative;
  z-index: 6;
}
.about{
  margin-top: 320px;
}
.about .txtWrap{
  z-index: 5;
}
.about__img{
  margin-top: -16px;
  position: relative;
  z-index: 3;
}
.visual{
  margin-top: -300px;
  width: 100%;
  height: 240px;
  background: url(../images/main.jpg) no-repeat center center;
  background-size: cover;
}
.outline__box{
  padding: 16px 0;
}
.outline__ttl{
  font-weight: bold;
  margin-bottom: 8px;
}
.outline__box + .outline__box{
  border-top: 1px solid #fff;
}
.outline__submit{
  background: rgba(219,101,9,.6);
  font-weight: bold;
  text-align: center;
  margin: -16px 16px 0;
  padding: 40px 16px;
  position: relative;
  z-index: 5;
}
.outline__submitTrigger{
  display: block;
  height: 64px;
  line-height: 64px;
  margin: 16px auto 0;
  background: #fff;
  color: #ef6c00;
  font-size: 1.6rem;
  -webkit-transition: all 300ms ease-in-out;
  transition: all 300ms ease-in-out;
}
.access__ttl,
.access__subTtl{
  line-height: 2em;
  font-weight: bold;
  margin-bottom: 16px;
}
.access__ttl{
  font-size: 1.6rem;
}
.access__subTtl{
  margin-top: 40px;
}
.access__txt{
  margin: 16px 0 8px;
}
.access__subTxt{
  font-size: 1.2rem;
  line-height: 2em;
}
.access__trigger{
  text-decoration: underline;
}
.access__map{
  width: 100%;
}
.past__item{
  padding: 32px 0;
}
.past__year{
  font-family: 'Abel', sans-serif;
  font-size: 4rem;
  font-weight: lighter;
}
.past__year::after{
  content: "";
  display: block;
  width: 40px;
  height: 1px;
  background: #000;
  margin: 24px 0;
}
.past__ttl{
  font-weight: bold;
  font-size: 1.6rem;
}
.past__txt{
  margin-top: 8px;
  font-size: 1.2rem;
  line-height: 2em;
}
.past__trigger{
  display: block;
  border: 1px solid #000;
  text-align: center;
  line-height: 32px;
  margin-top: 16px;
}
.kf__footer{
  position: relative;
}
.footer__list{
  text-align: center;
  margin-bottom: 24px;
}
.footer__item{
  margin-bottom: 16px;
  display: inline-block;
  width: 45%;
}
.footer__img{
  height: 32px;
}
.footer__copyright{
  text-align: center;
  font-size: 1.2rem;
  margin-bottom: 8px;
}

/* tametable, program */
.layer{
  padding-top: 60px;
  margin-bottom: 24px;
}
.layer .heading{
  margin-top: 64px;
  text-align: center;
}
.layer .heading__ttl::after{
  margin-left: auto;
  margin-right: auto;
}
.timetable{
  text-align: center;
}
.timetable .timetable__wrap{
  margin-bottom: 32px;
  padding-bottom: 32px;
  border-bottom: 1px solid #ccc;
}
.timetable .timetable__wrap:last-child{
  margin-bottom: 0;
  padding-bottom: 0;
  border: none;
}
.timetable .timetable__place{
  font-weight: bold;
  font-size: 1.6rem;
  color: #d35f00;
}
.timetable .timetable__place.place2{
  color: #02819a;
}
.timetable .timetable__place.place3{
  color: #e43d5e;
}
.timetable .timetable__place.place4{
  color: #598306;
}
.timetable .timetable__capacity{
  font-weight: normal;
  font-size: 1.2rem;
}
.timetable .timetable__time{
  font-family: 'Abel', sans-serif;
  font-weight: bold;
  font-size: 2rem;
  margin-bottom: 16px;
}
.timetable .timetable__content{
  padding: 24px 0;
  margin-bottom: 8px;
  background: rgba(239,108,0,.4);
}
.timetable .timetable__content.none{
  background: none;
  display: none;
}
.timetable .timetable__content.place2{
  background: rgba(120,181,188,.4);
}
.timetable .timetable__content.place3{
  background: rgba(217,124,153,.4);
}
.timetable .timetable__content.place4{
  background: rgba(160,189,81,.4);
}
.timetable .timetable__ttl,
.timetable .timetable__name{
  font-weight: bold;
  line-height: 1.8em;
  margin: 16px 0 0;
}
.timetable .timetable__role{
  font-size: 1.2rem;
  line-height: 1.6em;
  margin-top: 8px;
}

.program .program__menu{
  background: rgba(255,255,255,.6);
  margin: 0 8px;
  padding: 8px 0;
  text-align: center;
}
.program .program__menuItem{
  display: inline-block;
  width: 45%;
  margin: 4px 0;
  position: relative;
}
.program .program__menuItem:nth-child(2n)::before{
  content: "";
  display: block;
  width: 2px;
  height: 8px;
  background: #000;
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0,-50%);
}
.program .program__menuTrigger{
  display: block;
  line-height: 32px;
  font-weight: bold;
}
.program .program__type{
  font-size: 2.4rem;
  padding: 80px 0 0 40px;
  margin-bottom: 24px;
  position: relative;
  z-index: 5;
}
.program .program__type::after{
  content: "";
  display: block;
  width: 8px;
  height: 80px;
  background: #ef6c00;
  position: absolute;
  top: 80px;
  left: 16px;
}
.program .txtWrap{
  padding: 40px 16px;
  position: static;
}
.program .program__ttl{
  font-weight: bold;
  font-size: 1.8rem;
}
.program .program__time{
  font-weight: bold;
  margin: 16px 0;
}
.program .program__subDesc{
  margin-top: 8px;
  font-size: 1.2rem;
}
.program .program__speaker{
  margin: -16px 16px 0;
  position: relative;
  z-index: 1;
}
.program .program__speaker + .program__speaker{
  margin-top: 32px;
}
.program .program__speakerInr{
  padding: 32px 16px;
  border: 1px solid #ef6c00;
}
.program .program__speaker::before{
  content: "";
  display: block;
  background: url(../images/parts_01.png) no-repeat;
  background-size: cover;
  width: 42%;
  padding-top: 71%;
  position: absolute;
  top: -16px;
  left: 38%;
  z-index: -1;
}
.program .program__speaker.speaker02::before{
  background: url(../images/parts_02.png) no-repeat;
  background-size: cover;
  width: 56%;
  padding-top: 50%;
  left: 30%;
}
.program .program__speaker.speaker03::before{
  background: url(../images/parts_03.png) no-repeat;
  background-size: cover;
  width: 65%;
  padding-top: 54%;
  left: 25%;
}
.program .program__speaker.speaker04::before{
  background: url(../images/parts_04.png) no-repeat;
  background-size: cover;
  width: 29%;
  left: 40%;
}
.program .program__speaker.speaker05::before{
  background: url(../images/parts_05.png) no-repeat;
  background-size: cover;
  width: 74%;
  padding-top: 42%;
  top: -32px;
  left: 20%;
}
.program .program__speaker.speaker06::before{
  background: url(../images/parts_06.png) no-repeat;
  background-size: cover;
  width: 28%;
}
.program .program__speaker.speaker07::before{
  background: url(../images/parts_07.png) no-repeat;
  background-size: cover;
  width: 54%;
}
.program .program__speaker.speaker08::before{
  background: url(../images/parts_08.png) no-repeat;
  background-size: cover;
  width: 100%;
  padding-top: 20%;
  left: 2%;
}
.program .program__speaker.speaker09::before{
  background: url(../images/parts_09.png) no-repeat;
  background-size: cover;
  width: 66%;
  left: 20%;
  top: -32px;
}
.program .speaker__img{
  width: 50%;
}
.program .speaker__name{
  font-size: 1.6rem;
  font-weight: bold;
  margin: 16px 0;
  padding-bottom: 16px;
  border-bottom: 1px solid #999;
}
.program .speaker__role{
  display: block;
  font-size: 1.2rem;
  line-height: 1.5em;
  font-weight: normal;
}
.program .speaker__desc{
  font-size: 1.2rem;
  line-height: 2em;
}
.gallery__list{
  background: rgba(255,255,255,.6);
  margin: 0 8px;
  padding: 40px 8px;
}
.gallery__item{
  margin-top: 40px;
}
.gallery__item.m-top{
  margin-top: 8px;
}
.gallery__item.mid{
  margin-right: 16px;
  margin-left: 16px;
}
.gallery__item.sml{
  margin-right: 40px;
  margin-left: 40px;
}
.reportList .report__list{
  margin: 0 16px;
}
.reportList .report__item:nth-child(n+2){
  margin-top: 40px;
}
.reportList .report__txtWrap{
  background: rgba(255,255,255,.6);
  padding: 64px 16px 32px;
  margin: -40px 8px 0;
  position: relative;
  text-align: center;
}
.report__ttl{
  font-size: 1.6rem;
}
.report__name{
  font-weight: bold;
  margin-top: 16px;
}
.report__role{
  font-size: 1.2rem;
  margin-top: 8px;
  line-height: 1.8em;
}
.reportList .btn{
  margin-top: 24px;
}
.report{
  margin: 0 8px 24px;
}
.report .report__main{
  margin: 0 24px;
}
.report .report__main .report__txtWrap{
  background: rgba(255,255,255,.6);
  padding: 32px 0;
  margin: 72px 0 0;
  position: relative;
  text-align: center;
}
.report .report__main .report__num{
  margin-top: -72px;
  font-weight: bold;
  font-size: 2rem;
  text-align: left;
  position: relative;
  padding-left: 40px;
}
.report .report__main .report__num span{
  font-family: 'Abel', sans-serif;
  font-weight: normal;
  font-size: 3.6rem;
}
.report .report__main .report__num::after {
  content: "";
  display: block;
  width: 8px;
  height: 80px;
  background: #ef6c00;
  position: absolute;
  top: 0;
  left: 16px;
}
.report .report__main .report__ttl{
  margin-top: 40px;
  font-size: 1.6rem;
}
.report .reportDetail{
  background: rgba(255,255,255,.6);
  margin: 40px 0 0;
  padding: 64px 16px 40px;
}
.report .reportDetail__ttl{
  font-size: 1.8rem;
  line-height: 2em;
  margin-bottom: 32px;
}
.report .reportDetail__wrap{
  margin-top: 100px;
}
.report .reportDetail__subTtl{
  font-size: 1.8rem;
  margin: 40px 0 24px;
}

@media screen and (min-width:768px){
  .pc{
    display: block;
  }
  .sp{
    display: none;
  }

  .header__top{
    min-height: 700px;
    border-top: 40px solid #000;
    border-left: 64px solid #000;
    border-right: 64px solid #000;
    border-bottom: 80px solid #000;
  }
  .header__top .header__logo{
    background: url(../images/logo_main.svg) no-repeat;
    background-size: 100%;
    width: 12%;
    padding-top: 40%;
    top: -2px;
    left: 0;
  }
  .header__top .header__ttl{
    background: url(../images/ttl_main.svg) no-repeat;
    background-size: 100%;
    padding-top: 10%;
    width: 60%;
    top: 40%;
    left: 50%;
    transform: translate(-50%,0%);
  }
  .header__top .header__trigger{
    width: 240px;
    height: 40px;
    line-height: 40px;
    top: 60%;
    left: 50%;
    transform: translate(-50%,0);
  }
  .header__top .header__date{
    width: 20%;
    bottom: 0;
    right: 0;
  }
  .header__top .header__txt{
    bottom: -70px;
  }
  .header__menu{
    height: 80px;
  }
  .header__menu .header__logo{
    margin: 13px 0 0 40px;
  }
  .header__menu .header__logoLink{
    width: 294px;
    height: 54px;
  }
  .header__menu .header__btn{
    display: none;
  }
  .header__menu .header__nav{
    display: block;
    position: absolute;
    top: 0;
    right: 40px;
    left: initial;
    bottom: initial;
    background: none;
  }
  .header__menu .header__nav .header__navList{
    position: relative;
    top: initial;
    left: initial;
    transform: none;
  }
  .header__menu .header__nav .header__navItem{
    display: inline-block;
    margin: 0;
  }
  .header__menu .header__nav .header__navBtn{
    width: 240px;
    height: 48px;
    line-height: 48px;
    margin: 0 0 0 24px;
  }
  .header__menu .header__navLink{
    padding: 0 20px;
    line-height: 80px;
    font-size: 1.6rem;
    font-weight: bold;
    position: relative;
  }

  .kf__content{
    min-width: 1200px;
  }
  .heading{
    margin: 0 auto 40px;
  }
  .heading__ttl{
    font-size: 5.2rem;
  }
  .heading__ttl::after{
    height: 8px;
    margin-top: 40px;
  }
  .section__inr{
    position: relative;
  }
  .txtWrap{
    margin: 0;
    padding: 40px;
  }
  .btn{
    width: 400px;
    line-height: 64px;
  }
  .schedule .btn{
    width: 240px;
  }
  .parts01{
    width: 90px;
    z-index: 5;
    top: -50%;
    right: -16px;
  }
  .parts02{
    width: 520px;
    z-index: 6;
    top: 10%;
    right: 0;
  }
  .parts03{
    width: 200px;
    bottom: 5%;
    right: inherit;
    left: 20%;
  }
  .parts04{
    width: 380px;
    top: 0%;
    right: -10%;
  }
  .parts05{
    width: 200px;
    top: -85%;
    left: -40%;
  }
  .parts06{
    width: 306px;
    bottom: 38%;
    left: -26%;
  }
  .parts07{
    width: 536px;
    bottom: 30%;
    right: -40px;
  }
  .greeting .heading{
    margin-left: 80px;
  }
  .greeting .greeting__img{
    width: 50%;
    position: absolute;
    top: 0;
    right: 0;
  }
  .greeting .greeting__txt{
    margin: 40px 33% 0 40px;
    padding: 40px 120px 80px 40px;
  }
  .greeting .greeting__sign{
    width: 50%;
    margin: -120px 0 0 45%;
  }
  .visual{
    margin-top: -200px;
    padding-top: 30%;
    background: url(../images/main.jpg) no-repeat center center;
    background-size: cover;
    background-attachment: fixed;
  }
  .visual::before{
    display: none;
  }
  .about{
    margin-top: 0;
  }
  .about .heading{
    position: absolute;
    right: 80px;
    top: 48px;
  }
  .about .txtWrap{
    margin: -24px 500px 0 40px;
    padding-bottom: 64px;
  }
  .about .about__img{
    margin: -40px 0 0 30%;
  }
  .outline{
    margin: 0 10% 0 16%;
  }
  .outline .txtWrap{
    padding: 40px 40px 80px 180px;
  }
  .outline .outline__box{
    display: table;
    table-layout: fixed;
    width: 100%;
    padding: 24px 0;
  }
  .outline .outline__ttl,
  .outline .outline__desc{
    display: table-cell;
  }
  .outline .outline__ttl{
    width: 120px;
  }
  .outline .heading{
    position: absolute;
    top: 40px;
    left: 0;
    transform: translate(-50%,0);
    z-index: 5;
    text-align: center;
  }
  .outline .heading__ttl::after{
    margin: 40px auto 24px;
  }
  .outline .outline__submit{
    width: 720px;
    margin: -40px 0 0 9%;
    padding: 64px 0 40px;
    font-size: 1.6rem;
  }
  .outline .outline__submitTrigger{
    width: 400px;
    margin-top: 24px;
  }
  .access{
    margin: 0 5% 0 28%;
  }
  .access .heading{
    position: absolute;
    top: 0;
    left: -30%;
  }
  .access .txtWrap{
    padding: 40px 96px 40px 64px;
  }
  .past .heading{
    text-align: center;
  }
  .past{
    margin: 0 40px;
  }
  .past .heading__ttl::after{
    margin: 40px auto 24px;
  }
  .past .past__list{
    width: 77%;
    margin: 0 auto;
  }
  .past .past__item{
    position: relative;
    padding: 24px 0;  
  }
  .past .past__item::after{
    content: "";
    display: block;
    clear: both;
  }
  .past .past__year{
    font-size: 5.2rem;
    margin-top: 16px;
    position: relative;
    padding-right: 40px;
    float: left;
  }
  .past .past__year::after{
    display: none;
  }
  .past .past__box{
    overflow: auto;
    padding-left: 40px;
    border-left: 1px solid #000;
  }
  .past .past__box > *{
    white-space: nowrap;
  }
  .past .past__ttl{
    line-height: 1.6em;
  }
  .past .past__trigger{
    width: 120px;
    line-height: 40px;
    position: absolute;
    top: 50%;
    right: 0;
    transform: translate(0,-50%);
    margin-top: 0;
  }
  .footer__list{
    margin-bottom: 40px;
  }
  .footer__item{
    margin: 0 24px 16px;
    width: auto;
  }
  .footer__img{
    height: 40px;
  }

  /* timetable, program */
  .layer{
    padding-top: 120px;
    margin-bottom: 40px;
  }
  .timetable .txtWrap{
    margin: 0 24px;
    padding: 40px 16px;
  }
  .timetable .timetable__wrap{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
  }
  .timetable .timetable__wrap:nth-child(n+2){
    margin-bottom: 16px;
    padding-bottom: 16px;
  }
  .timetable .timetable__wrap > *{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    align-items: center;
  }
  .timetable .timetable__time{
    width: 8%;
  }
  .timetable .timetable__placeWrap,
  .timetable .timetable__content{
    width: 23%;
  }
  .timetable .timetable__content.none{
    display: block;
  }
  .timetable .timetable__placeWrap .timetable__capacity{
    display: block;
    line-height: 1.2em;
  }
  .timetable .timetable__ttl{
    font-size: 1.6rem;
  }
  .timetable .timetable__name{
    margin-top: 24px;
  }
  .program {
    margin: 0 5% 40px;
  }
  .program .program__menu{
    margin: 0 0 24px;
  }
  .program .program__menuItem{
    width: 16%;
  }
  .program .program__menuItem:nth-child(n+2)::before{
    content: "";
    display: block;
    width: 2px;
    height: 8px;
    background: #000;
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0,-50%);
  }
  .program .program__list::after{
    content: "";
    display: block;
    clear: both;
  }
  .program .program__list:nth-child(n+2){
    padding-top: 80px;
  }
  .program .program__type{
    float: left;
    padding: 64px 0 0;
  }
  .program .program__type::after{
    width: 320px;
    height: 8px;
    position: static;
    margin-top: 16px;
  }
  .program .txtWrap{
    margin-left: 300px;
    padding: 64px 40px;
  }
  .program .program__speaker::before{
    top: -72px;
    left: 6%;
    width: 17%;
    padding-top: 28%;
  }
  .program .program__speaker.speaker02::before{
    width: 20%;
    padding-top: 18%;
    left: 0%;
  }
  .program .program__speaker.speaker03::before{
    width: 19%;
    padding-top: 16%;
    left: 1%;
    top: -56px;
  }
  .program .program__speaker.speaker04::before{
    width: 11%;
    left: 9%;
  }
  .program .program__speaker.speaker05::before{
    width: 28%;
    padding-top: 16%;
    left: 1%;
    top: -40px;
  }
  .program .program__speaker.speaker06::before{
    width: 11%;
    left: 10%;
  }
  .program .program__speaker.speaker07::before{
    width: 19%;
    padding-top: 25%;
    left: 2%;
  }
  .program .program__speaker.speaker07::before{
    top: 2%;
  }
  .program .program__speaker.speaker08::before{
    width: 38%;
    padding-top: 6%;
    left: -2%;
    top: -40px;
  }
  .program .program__speaker.speaker09::before{
    width: 23%;
    padding-top: 24.5%;
    left: -2%;
    top: -40px;
  }
  .program .program__speakerInr{
    padding: 40px;
  }
  .program .program__speakerInr::after{
    content: "";
    display: block;
    clear: both;
  }
  .program .speaker__img{
    float: left;
    width: 16%;
    margin-right: 40px;
  }
  .program .speaker__box{
    overflow: hidden;
  }
  .program .speaker__name{
    margin-top: 0;
  }
  .program .speaker__role{
    display: inline-block;
    margin-left: 16px;
  }
  .gallery{
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 5%;
  }
  .gallery__list{
    margin: 0;
    padding: 40px 10%;
  }
  .gallery__item{
    margin-top: 80px;
  }
  .gallery__item.m-top{
    margin-top: 40px;
  }
  .gallery__item.mid{
    margin-right: 8%;
    margin-left: 8%;
  }
  .gallery__item.sml{
    margin-right: 15%;
    margin-left: 15%;
  }
  .gallery__item.long{
    margin-right: 25%;
    margin-left: 25%;
  }
  .reportList .report__list{
    display: -webkit-flex;
    display: -moz-flex;
    display: -ms-flex;
    display: -o-flex;
    display: flex;
    flex-wrap: wrap;
    max-width: 1440px;
    margin: 0 auto;
    padding: 0 5%;
  }
  .reportList .report__item{
    width: 33.33%;
    padding: 0 3%;
  }
  .reportList .report__item:nth-child(n+2){
    margin-top: 0;
  }
  .reportList .report__item:first-child .report__name,
  .reportList .report__item:nth-child(3n) .report__name{
    margin-top: 46px;
  }
  .reportList .report__img{
    padding-right: 5%;
  }
  .reportList .report__txtWrap{
    margin: -40px 0 0 5%;
  }
  .reportList .btn{
    width: auto;
    line-height: 48px;
  }
  .reportList .report__item.last{
    width: 80%;
    margin: 80px auto 0;
  }
  .reportList .report__item.last .report__img{
    width: 70%;
  }
  .reportList .report__item.last .report__txtWrap{
    width: 40%;
    padding: 64px 7% 32px;
    margin: -35% 0 10% 62%;
  }
  .report{
    margin: 0 auto 40px;
    padding: 120px 5% 0;
  }
  .report .report__main::after,
  .report .reportDetail__wrap::after{
    content: "";
    display: block;
    clear: both;
  }
  .report .report__main{
    margin: 0 10%;
  }
  .report .report__main .report__img{
    width: 35%;
  }
  .report__main.report04 .report__img{
    width: 57%;
  }
  .report .report__main .report__txtWrap{
    padding: 40px;
    margin: -35% 0 15% 45%;
    text-align: left;
  }
  .report__main.report04 .report__txtWrap{
    margin: -25% 0 10% 62%;
  }
  .report .report__main .report__num{
    margin: 0 0 0 -20%;
    padding-left: 0;
  }
  .report .report__main .report__num::after {
    width: 60%;
    height: 8px;
    top: 40px;
    left: 0;
  }
  .report .report__main .report__ttl{
    margin-top: 40px;
    font-size: 1.6rem;
  }
  .report .reportDetail{
    padding: 80px 10%;
  }
  .report .reportDetail__ttl{
    font-size: 2.2rem;
    margin-bottom: 40px;
    text-align: center;
  }
  .report .reportDetail__img{
    width: 35%;
    float: left;
    margin-right: 40px;
  }
  .report .reportDetail__wrap:nth-child(2n) .reportDetail__img{
    float: right;
    margin-left: 40px;
  }
  .report .reportDetail__txtWrap{
    overflow: auto;
  }
  .report .reportDetail__subTtl{
    margin-top: 0;
    font-size: 2rem;
  }
}