@charset "utf-8";
/* CSS Document */
*{
  box-sizing:border-box;
  padding:0;
  margin:0;
  word-break:normal;
  word-wrap:break-word;
}
.g-nav.visible-sp ul li.updated,
.header_links ul li.updated {
  position: relative;
}

.g-nav.visible-sp ul li.updated a:after,
.header_links ul li.updated a:after {
  content: 'updated!';
  font-size: 10px;
  color: #F8B800;
  position: absolute;
  top: -5px;
  right: 10px;
}
@media (max-width:480px) {
  .g-nav.visible-sp ul li.updated a:after{
    right: 50px;
  }
}
@media (max-width:768px) {
  .g-nav.visible-sp ul li.updated a:after{
    font-size: 13px;
    right: 120px;
  }
}
@media (max-width:1000px) {
  .g-nav.visible-sp ul li.updated a:after{
    font-size: 13px;
    right: 180px;
  }
}

.pc{
  display: block !important;
}
.sp{
  display: none !important;
}
@media (max-width:768px) {
  .pc{
    display: none !important;
  }
  .sp{
    display: block !important;
  }
}
#wrapper{
  margin-top: 0px;
  font-family: "Noto Sans JP","Noto Sans Japanese", sans-serif;
}
body{
  color:#fff;
  font-size: 16px;
  line-height: 1.6;
  text-align: left;
  overflow-x: hidden;
  position: relative;
  font-family: "Noto Sans JP","Noto Sans Japanese", sans-serif;
}
@font-face {
  font-family: 'Impact';
  src:url(./impact.ttf);
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: "Noto Sans JP","Noto Sans Japanese", sans-serif;
  src:url(./A-OTF-ShinGoPro.otf);
  font-weight: normal;
  font-style: normal;
}
@font-face {
  font-family: 'MidashiGo';
  src:url(./A-OTF-MidashiGoPro-MB31.otf);
  font-weight: normal;
  font-style: normal;
}
img{
  vertical-align:middle;
  margin:0;
  padding:0;
  border:0;
  max-width:100%;
}
.clearfix:before,
.clearfix:after{
  display: table;
    content: " ";
}
.clearfix:after{
  clear: both;
}
table {
  border-spacing: 0;
  border-collapse: collapse;
}
td,
th {
  padding: 0;
}
table {
  background-color: transparent;
}
table col[class*="col-"] {
  position: static;
  display: table-column;
  float: none;
}
table td[class*="col-"],
table th[class*="col-"] {
  position: static;
  display: table-cell;
  float: none;
}
ul li{
  list-style:none;
}
h1,h2,h3,h4,h5,h6,p{
  margin:0px;
}


.fixedcontainer{
  max-width:1600px;
  width: 90%;
  margin:0 auto;
  padding:0px;
}
a{
  color: inherit;
}
a:visited,
a:link,
a:hover,
a:active,
a:focus{
  outline:none;
  text-decoration:none;
  color: inherit;
}
a:hover{
  color: inherit;
  opacity:0.6;
  transition:opacity 0.5s ease;
}
.red{
  color:#ed1c24;
}
.bkyellow{
  background-color:#fff100;
}
.bold{
  font-weight:bold;
}
.btline{
  text-decoration:underline;  
}
.underline{
  text-decoration:underline;
}
.text-center{
  text-align:center;
}
.text-left{
  text-align:left;
}
.text-right{
  text-align:right;
}
.visible-sp{
	display:none;
}
.hidden-sp{
	display:block;
}
.visible-xs{
	display:none;
}
.hidden-xs{
	display:block;
}
.visible-500{
	display:none;
}
.hidden-500{
	display:block;
}
.flex{
  display:-webkit-flex;
  display:-webkit-box;
  display:-moz-flex;
  display:-moz-box;
  display:-ms-flexbox;
  display:flex;
  flex-direction:row;
  flex-wrap: nowrap;
}

.header{
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  z-index: 10;
  background: #000;
  height: auto;
}
main{
  margin-top: 85px;
  overflow: hidden;
}
#background{
  z-index: -1;
  position: fixed;
  width:100%; 
  height:100vh; 
  padding:0px; 
  margin:0px;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  overflow: hidden;
  background: #191d1e; /* Old browsers */
  background: -moz-linear-gradient(0deg,  #191d1e 50%, #283139 100%); /* FF3.6+ */
  background: -webkit-gradient(linear, left top, right bottom, color-stop(50%,#191d1e), color-stop(100%,#283139)); /* Chrome,Safari4+ */
  background: -webkit-linear-gradient(0deg,  #191d1e 50%,#283139 100%); /* Chrome10+,Safari5.1+ */
  background: -o-linear-gradient(0deg,  #191d1e 50%,#283139 100%); /* Opera 11.10+ */
  background: -ms-linear-gradient(0deg,  #191d1e 50%,#283139 100%); /* IE10+ */
  background: linear-gradient(0deg,  #191d1e 50%,#283139 100%); /* W3C */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#191d1e', endColorstr='#283139',GradientType=1 ); /* IE6-9 fallback on horizontal gradient */
  background-attachment: fixed
}
#projector {
  position: absolute; 
  top: 0px;
  left: 0px;
  width:100%;
  height:100%;
}

@media screen and (max-width: 1024px){
  main{
    margin-top: 85px;
  }
}
@media screen and (max-width: 768px){
  main{
    margin-top: 75px;
  }
}
@media screen and (max-width: 460px){
  main{
    margin-top: 62px;
  }
}

/*-------------header----------------------*/
.header_in{
  padding: 20px 30px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 460px){
  .header_in{
    align-items: start;
  }
}
.header_links ul {
  display: flex;
  justify-content: flex-start;
  font-weight: bold;
  align-items: center;
}
.logo img{
  width: 24vw;
}
.header_links ul li{
  margin-left: 50px;
}
.header_links ul li a{
  display: inline-block;
  padding: 10px 10px;
  text-align: center;
  font-size: 0.9vw;
}
.header_links ul li a:hover{
  text-decoration: underline;
}
.header_links ul li a.header_contact{
  padding: 10px 0;
  background: #ed1c24;
  font-size: 1.2vw;
  display: flex;
  align-items: center;
  transition: 0.5s;
}
.header_links ul li a.header_contact.pamphlet{
  background: #eeeeee;
  color: #000;
}
.header_links ul li a.header_contact span{
  padding: 5px 10px 5px 20px;
}
.header_links ul li a.header_contact span:last-child img{
  margin-top: 0;
}
.header_links ul li a.header_contact span:last-child{
  padding-left: 10px;
}
.header_links ul li a.header_contact:before{
  content: none;
}

.medium-btn{
  display: none !important;
}

@media screen and (max-width: 768px){
  .header_in{
    padding: 15px 10px;
  }
  .logo img{
    width: 22vw;
  }
  .header_links ul li{
    margin-left: 2.5vw;
  }
  .header_links ul li a{
    padding: 0;
  }
  .header_links ul li a.header_contact{
    padding: 5px 0;
  }
  .header_links ul li a.header_contact span{
    padding: 5px;
  }
  .header_links ul li a.header_contact span:last-child img{
    width: 20px;
  }
  .header_links ul li a.header_contact span:last-child{
    padding-left: 0;
  }
  .header_links ul li #header_regist_btn {
    font-size: 3vw !important;
    line-height: 1.25;
    padding: 0 2.5vw 0 3vw;
  }
  .header_links ul li #header_formedia_btn {
    font-size: 2.5vw;
    line-height: 1.5;
  }
}
@media screen and (max-width: 460px){
  .header_in{
    padding: 15px 10px;
  }
  .logo img{
    width: 38vw;
  }
  .header_links ul li{
    font-size: 16px;
  }
  .header_links ul li a.header_contact{
    font-size: 14px;
  }
  .header_links ul li a.header_contact span:last-child img{
    width: 15px;
  }
}
/*-----------    kv    -----------------*/
.kv{
  position: relative;
  width: 100%;
  background: #000 url(../images/main_bg.jpg) no-repeat;
  background-size: 100%;
  background-position: top center;
  padding-bottom: 5vw;
}
.kv_mainWrap{
  width: 100%;
  padding: 6.25vw 2.5vw 5.2vw;
}
.kv_mainWrap h1{
  color: #fff;
  font-size: 3.75vw;
  font-weight: bold;
} 
.kv_mainWrap h1 span{
  display: block;
  color: #fff;
  font-size: 1.875vw;
  font-weight: bold;
} 
.kv_info{
  margin-top: 3vw;
}
.kv_info li{
  font-size: 1.7vw;
  color: #fff;
}
.kv_info li span{
  display: inline-block;
  width: 24px;
  margin-right: 10px;
}
.ico_calendar img{
  width: 2vw;
  height: auto;
  padding-bottom: 3px;
}
.ico_map img{
  width: 2vw;
  height: auto;
  padding-bottom: 3px;
}
.kv_kickoff{
  margin-top: 3vw;
  display: inline-block;
}
.kv_kickoff a{
  display: inline-block;
  padding: 0 3vw;
  background: #ed1c24;
  color: #fff;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.5vw;
  font-weight: 600;
  transition: all ease .7s;
  transform: scale(1.3);
  opacity: 0;
}
.kv_kickoff a.is-show{
  opacity: 1;
  transform: scale(1);
}
.kv_kickoff a:hover{
  opacity: 1;
  background: #000;
  color: #fff;
}
.kv_kickoff a img{
  display: inline-block;
  margin-left: 10px;
}
.kv_slider{
  width: 100%;
  margin-top: 4vw;
  position: relative;
  z-index: 1;
}
.slick-track {
  display: flex;
}
.slick-slide {
  height: auto !important;
}
.kv_slider_tit{
  display: block;
  text-align: center;
  font-size: 1.6vw;
  font-weight: bold;
  line-height: 1.5;
}
.kv_slider_wrap{
  width: 100%;
  margin-top: 1.2vw;
}
.kv_slider_wrap .kv_slider_item{
  border-radius: 15px;
  background: #fff;
  padding: 20px 0 20px 25px;
  margin: 0 1vw;
}
.kv_slider_wrap .kv_slider_item_flex{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.kv_slider_wrap .kv_slider_item_flex img{
  width: 70%;
  padding-right: 2vw;
  height: auto;
}
.kv_slider_wrap .kv_slider_item_flex p{
  width: 30%;
  height: 38px;
  display: flex;
  justify-content: center;
  align-items: center;
  font-size: .9vw;
  background: #d02b27;
  color: #fff;
  white-space: nowrap;
}
.kv_slider_wrap .kv_slider_item_prof{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  padding-right: 20px;
  margin-top: 2vw;
}
.kv_slider_wrap .kv_slider_item_prof_img{
  width: 30%;
  height: auto;
}
.kv_slider_wrap .kv_slider_item_prof_text{
  width: 70%;
  padding-right: 1.3vw;
}
.kv_slider_wrap .kv_slider_item_prof_text p.tit{
  font-size: 16px;
  color: #000;
  font-weight: bold;
}
.kv_slider_wrap .kv_slider_item_prof_text p.text{
  font-size: 14px;
  color: #4c4c4c;
  font-weight: bold;
  margin-top: 10px;
}
.kv_slider_wrap .kv_slider_item_prof_text p.text span{
  font-size: 13px;
}


@media screen and (max-width: 768px){
  .kv{
    background: #000 url(../images/main_bg_sp.jpg) no-repeat;
    background-size: 100%;
    background-position: top center;
    padding-bottom: 7vw;
  }
  .kv_mainWrap{
    width: 100%;
    padding: 7.8vw 3.2vw 0;
  }
  .kv_mainWrap h1{
    font-size: 4.5vw;
  } 
  .kv_mainWrap h1 span{
    font-size: 2.8vw;
    margin-bottom: 4.5vw;
  } 
  .kv_info{
    margin-top: 9vw;
  }
  .kv_info li{
    font-size: 2.2vw;
    color: #fff;
    margin-top: 2vw;
  }
  .kv_info li span{
    width: 4vw;
    margin-right: 1vw;
  }
  .ico_calendar img{
    width: 4vw;
  }
  .ico_map img{
    width: 3.4vw;
  }
  .kv_kickoff{
    margin-top: 4.5vw;
  }
  .kv_kickoff a{
    padding: 3.5vw;
    height: auto;
  }
  .kv_kickoff a img{
    margin-left: 2vw;
    width: 8px;
  }
  .kv_slider{
    margin-top: 7.8vw;
  }
  .kv_slider_tit{
    font-size: 2vw;
  }
  .kv_slider_wrap{
    margin-top: 2.5vw;
  }
  .kv_slider_wrap .kv_slider_item{
    padding: 1.8vw 0 1.3vw 2.5vw;
    margin: 0 2.6vw;
    border-radius: 8px;
  }
  .kv_slider_wrap .kv_slider_item_flex img{
    width: 70%;
    padding-right: 2vw;
    height: auto;
  }
  .kv_slider_wrap .kv_slider_item_flex p{
    width: 30%;
    height: 20px;
    font-size: 10px;
  }
  .kv_slider_wrap .kv_slider_item_prof{
    padding-right: 2vw;
    margin-top: 2.5vw;
  }
  .kv_slider_wrap .kv_slider_item_prof_text{
    padding-right: 1.3vw;
  }
  .kv_slider_wrap .kv_slider_item_prof_text p.tit{
    font-size: 2.4vw;
    color: #000;
    font-weight: bold;
  }
  .kv_slider_wrap .kv_slider_item_prof_text p.text{
    font-size: 1.8vw;
    margin-top: 1.2vw;
  }
  .kv_slider_wrap .kv_slider_item_prof_text p.text span{
    font-size: 1.8vw;
  }
  .kv_slider_lead{
    font-size: 2vw;
    margin-top: 5vw;
  }
}

@media screen and (max-width: 460px){
  .kv_mainWrap{
    width: 100%;
    padding: 50px 3.2vw 0;
  }
  .kv_info{
    margin-top: 9vw;
  }
  .kv_info li{
    font-size: 16px;
  }
  .kv_info li span{
    width: 20px;
    margin-right: 5px;
  }
  .ico_calendar img{
    width: 20px;
  }
  .ico_map img{
    width: 18px;
  }
  .kv_kickoff a{
    font-size: 14px;
  }
  .kv_slider_wrap .kv_slider_item_prof_text p.tit{
    font-size: 3vw;
    color: #000;
    font-weight: bold;
  }
  .kv_slider_wrap .kv_slider_item_prof_text p.text{
    font-size: 2.6vw;
    margin-top: 1vw;
  }
  .kv_slider_wrap .kv_slider_item_prof_text p.text span{
    font-size: 2.6vw;
  }
  .kv_slider_lead{
    font-size: 3.5vw;
    margin-top: 5vw;
    line-height: 1.75;
  }
}


/*-----------    kv2    -----------------*/
.kv2 {
  background-color: #000;
  font-weight: normal;
}
.kv2_mainWrap {
  width: 100%;
  padding: 4vw;
  position: relative;
  z-index: 1;
}
.kv2_mainWrap h1 {
  color: #fff;
}
.kv2_mainWrap h1 .kv2_title_sub {
  font-size: 1.4vw;
  margin-bottom: .5vw;
}
.kv2_mainWrap h1 .kv2_title_main {
  font-size: 3.5vw;
}
.kv2_info_wrap {
  display: flex;
  justify-content: space-between;
  margin-top: 1vw;
}
.kv2_info {
  margin-top: 2vw;
  align-items: start;
}
.kv2_info li {
  font-size: 1.6vw;
  color: #fff;
  display: flex;
  align-items: center;
  margin-bottom: .5vw;
}
.kv2_info li span.icon {
  width: 2.5vw;
  height: 2.5vw;
  display: flex;
  justify-content: center;
  align-items: center;
  margin-right: .8vw;
}
.kv2_info li span.font_red {
  color: #D60F0F;
  font-weight: bold;
}
.kv2_kickoff_btn {
  color: #fff;
  font-size: 2vw;
  background: #ed1c24;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 2.5vw 3vw 2.65vw 5vw;
  transition: all ease .7s;
  transform: scale(1.3);
  opacity: 0;
  position: relative
}
.kv2_kickoff_btn img {
  padding-left: 2.5vw;
}
.kv2_kickoff_btn.is-show{
  opacity: 1;
  transform: scale(1);
}
.kv2_kickoff_btn:hover{
  opacity: 1;
  background: #000;
  color: #fff;
  transition: all .2s;
}
.kv2_kickoff_btn_free{
  padding: 0.7vw 2vw;
  min-width: 12vw;
  position: absolute;
  background: white;
  top: -1.5vw;
  color: black;
  font-size: 1.5vw;
  text-align: center;
}
.kv2_kickoff_btn_free:before {
  content: "";
  position: absolute;
  bottom: -20px;
  left: 50%;
  margin-left: -15px;
  border: 12px solid transparent;
  border-top: 12px solid #FFF;
  z-index: 2;
}
.kv2_contents_wrap {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin-top: 6.5vw;
}
.kv2_contents_wrap .item {
  width: 30%;
  opacity: 0;
}
.kv2_contents_wrap .item .title {
  font-size: 1.45vw;
  line-height: 1.25;
  margin-bottom: 0.8vw;
  white-space: nowrap;
  display: flex;
  align-items: center;
}
.kv2_contents_wrap .item .img img {
  width: 100%;
}
.kv2_canvas.left{
  width: 45vw;
  height: 70vw;
  background: url(../images/program_canvas_left.png) no-repeat;
  background-size: cover;
  background-position: left center;
  position: absolute;
  top: 30vw;
  left: 0;
  z-index: 0;
}
.kv2_canvas.right{
  width: 30vw;
  height: 58vw;
  background: url(../images/program_canvas_right.png) no-repeat;
  background-size: cover;
  background-position: left center;
  position: absolute;
  top: -35vw;
  right: 0;
}
.kv2_canvas.trapezoid{
  /*width: 90vw;*/
  /*border-image:linear-gradient(to right, rgba(35,35,35,1), rgba(114,20,24,1)) 1;*/
  /*border-top: 15vw solid;*/
  /*border-right: 15vw solid transparent;*/
  /*position: absolute;*/
  /*top: 0;*/
  /*left: 0;*/
   /*linear-gradient(90deg, rgba(35,35,35,1) 0%, rgba(114,20,24,1) 100%)*/
   
}

.kv2_title_main {
  position: relative;
  /*overflow: hidden;*/
}
.kv2_title_main::before {
  content: "";
  position: absolute;
  width: 100vw;
  height: 18vw;
  top: -4.5vw;
  right: -25vw;
  -webkit-transform: skewX(-16deg);
  -moz-transform: skewX(-16deg);
  transform: skewX(-30deg);
  background: linear-gradient(90deg, rgba(35,35,35,1) 0%, rgba(114,20,24,1) 100%);
  z-index: -1;
}


@media screen and (max-width: 768px){
  .kv2_mainWrap {
    padding: 4vw;
  }
  .kv2_mainWrap h1 .kv2_title_sub {
    font-size: 3vw;
  }
  .kv2_mainWrap h1 .kv2_title_main {
    font-size: 5vw;
    margin-bottom: 4vw;
    line-height: 1.2;
  }
  .kv2_info_wrap {
    display: block;
  }
  .kv2_info{}
  .kv2_info li{
    font-size: 3vw;
    color: #fff;
  }
  .kv2_info li span{
    width: 4.5vw;
    height: 4.5vw;
    margin-right: 1vw;
  }
  .kv2_info li span img{
    height: 4.5vw;
  }
  .ico_map img{
    width: 3.4vw;
  }
  .kv2_kickoff_btn {
    font-size: 4vw;
    line-height: 1.5;
    margin: 10vw auto 5vw;
    position: relative;
    width: 65vw;
  }
  .kv2_kickoff_btn img {
    height: 3.5vw;
    position: absolute;
    right: 5vw;
  }
  .kv2_contents_wrap {
    display: block;
  }
  .kv2_contents_wrap .item {
    width: 100%;
    text-align: center;
    margin: 0 auto;
  }
  .kv2_contents_wrap .item:not(:last-child) {
    margin-bottom: 8vw;
  }
  .kv2_contents_wrap .item .title {
    font-size: 3vw;
  }
  .kv2_title_main::before {
    width: 100vw;
    height: 30vw;
    top: -2vw;
    right: 8vw;
  }
  .kv2_kickoff_btn_free{
    font-size: 3vw;
    top: -4.5vw;
    padding: 0vw 2vw;
    min-width: 20vw;
    line-height: 2;
  }
}

@media screen and (max-width: 460px){
  .kv2_mainWrap {
  }
  .kv2_mainWrap h1 .kv2_title_sub {
    font-size: 3.4vw;
    line-height: 1.5;
    margin-bottom: 3vw;
  }
  .kv2_mainWrap h1 .kv2_title_main {
    font-size: 6vw;
    line-height: 1.25;
    margin-bottom: 4vw;
  }
  .kv2_info_wrap {
    display: block;
  }
  .kv2_info li{
    font-size: 3.8vw;
    color: #fff;
  }
  .kv2_info li span{
    width: 5vw;
    height: 5vw;
    margin-right: 1vw;
  }
  .kv2_info li span img{
    height: 5vw;
  }
  .kv2_kickoff_btn {
    /*font-size: 3.8vw;*/
    /*line-height: 2.5;*/
    /*margin: 5vw 0 10vw;*/
  }
  .kv2_kickoff_btn img {
    height: 4vw;
  }
  .kv2_contents_wrap {
    display: block;
  }
  .kv2_contents_wrap .item {
    /*width: 80%;*/
    /*text-align: center;*/
    /*margin: 0 auto;*/
  }
  .kv2_contents_wrap .item:not(:last-child) {
    margin-bottom: 8vw;
  }
  .kv2_contents_wrap .item .title {
    font-size: 3.8vw;
  }
  .kv2_title_main::before {
    height: 35vw;
  }
  .kv2_kickoff_btn_free{
  }
}


/*-----------    ko-info + program    -----------------*/
.program{
  width: 100%;
  position: relative;
  z-index: 3;
  background: #f0f1f1;
}
.program .program_inner{
  position: relative;
  z-index: 1;
}
.program_slider_lead{
  color: #000;
  display: block;
  text-align: center;
  /*font-size: 1.4vw;*/
  line-height: 1.75;
  margin-top: 4vw;
  margin-bottom: 2.5vw;
}

#ko-info{
  border: 0;
  padding: 2.5vw 4.5vw 4.5vw 4.5vw;
}
@media screen and (min-width: 768px){
  #ko-info{
  font-size: 1.06vw;
}
}
#ko-info h2{
  /*font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;*/
  font-size: 5.7vw;
  /* font-weight: bold; */
  color: #000;
  letter-spacing: 0.03em;
}
#ko-info h2 span.ja{
  display: inline-block;
  font-size: 3vw;
  font-weight: bold;
  color: #000;
  font-family: "Noto Sans JP","Noto Sans Japanese", sans-serif;
  border-bottom: 8px solid #ed1c24;
  padding-bottom: 10px;
}
#ko-info dl{
  margin-top: 5vw;
}
#ko-info dl dt{
  font-size: 1.5vw;
  color: #000;
  padding-left: 1vw;
}
#ko-info dl dd{
  border-left: 4px solid #000;
  padding-left: 3vw;
}
#ko-info dl dd h3{
  font-size: 1.8vw;
  color: #000;
}
#ko-info dl dd p.session_intro{
  font-size: 1.04vw;
  color: #000;
  padding-top: 1.5em;
  padding-bottom: 0;
}

#ko-info dl dd p.session_intro:last-child{
  padding-bottom: 0;
}
#ko-info .info_profile{
  padding-top: 1.5em;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}
#ko-info .info_profile.cat_profile{
  padding-top: 3.5em;
}
#ko-info .info_profile.cat_profile .info_profile_text{
  padding-top: 35px;
}
#ko-info .info_profile .info_profile_bold{
  width: 100%;
  font-size: 1.4vw;
  color: #000;
  font-weight: 4;
}
#ko-info .info_profile .info_profile_bold span{
  font-size: 1.6vw;
  display: block;
  font-weight: bold;
}

#ko-info .info_profile .info_profile_img{
  width: 190px;
  height: auto;
}
#ko-info .info_profile .info_profile_img .info_profile_img_cat{
  display: block;
  text-align: center;
  line-height: 1;
  padding: 5px 0;
  width: 190px;
  border: 1px solid #4c4c4c;
  background: #fff;
  font-size: 1.04vw;
  color: #000;
  margin-bottom: 10px;
}
#ko-info .info_profile .info_profile_text{
  width: calc(100% - 190px);
  padding-left: 30px;
}
#ko-info .info_profile .info_profile_text p.info_profile_text_name{
  font-size: 1.3vw;
  color: #4c4c4c;
}
#ko-info .info_profile .info_profile_text p.info_profile_text_name span.katagaki{
  font-size: 1.04vw;
}
#ko-info .info_profile .info_profile_text p.info_profile_text_cap{
  font-size: 0.7vw;
  color: #4c4c4c;
}

@media screen and (max-width: 768px){
  .program_slider_lead {
    /*font-size: 3vw;*/
    margin-bottom: 8vw;
  }
  #ko-info{
    border: 0;
    padding: 7.8vw 4.5vw;
  }
  #ko-info h2{
    font-size: 8vw;
    font-weight: 300;
  }
  #ko-info h2 span.ja{
    font-size: 4.4vw;
    border-bottom: 5px solid #ed1c24;
    padding-bottom: 2vw;
    margin-top: 1vw;
  }
  #ko-info dl{
    margin-top: 5vw;
  }
  #ko-info dl dt{
    font-size: 3.3vw;
    color: #000;
    display: block;
    width: 100%;
    border-bottom: 1px solid #000;
    padding-bottom: 2vw;
    margin-top: 2.5vw;
  }
  #ko-info dl dd{
    width: 100%;
    border-left: 0;
    padding-left: 0;
    padding-top: 2vw;
    margin-bottom: 2vw;
  }
  #ko-info dl dd h3{
    font-size: 3.5vw;
    color: #000;
  }
  #ko-info dl dd p.session_intro{
    font-size: 2vw;
    padding-top: 1.8vw;
  }
  #ko-info ul li{
    font-size: 14px !important;
  }
  #ko-info .info_profile{
    padding-top: 2.5vw;
  }
  #ko-info .info_profile.cat_profile{
    padding-top: 3vw;
  }
  #ko-info .info_profile.cat_profile .info_profile_text{
    padding-top: 30px;
  }
  #ko-info .info_profile .info_profile_bold{
    width: 100%;
    font-size: 1.4vw;
    color: #000;
    font-weight: bold;
    padding-bottom: 3.5vw;
  }
  #ko-info .info_profile .info_profile_bold span{
    font-size: 1.6vw;
    display: block;
  }
  
  #ko-info .info_profile .info_profile_img{
    width: 25vw;
    height: auto;
  }
  #ko-info .info_profile .info_profile_img .info_profile_img_cat{
    padding: 5px 0;
    width: 25vw;
    font-size: 2vw;
    margin-bottom: 3vw;
  }
  #ko-info .info_profile .info_profile_text{
    width: calc(100% - 25vw);
    padding-left: 3vw;
  }
  #ko-info .info_profile .info_profile_text p.info_profile_text_name{
    font-size: 2vw;
  }
  #ko-info .info_profile .info_profile_text p.info_profile_text_name span.katagaki{
    font-size: 1.04vw;
  }
  #ko-info .info_profile .info_profile_text p.info_profile_text_cap{
    font-size: 1.04vw;
  }
}
@media screen and (max-width: 460px){
  .program_slider_lead {
    /*font-size: 3.5vw;*/
    text-align: left;
  }
  #ko-info dl {
    margin-top: 10vw;
  }
  #ko-info dl dt {
    margin-top: 6vw;
    font-size: 3.5vw;
  }
  #ko-info dl dd h3 {
    font-size: 3.8vw;
  }
  #ko-info dl dd p.session_intro{
    font-size: 3.5vw;
    padding-top: 1.8vw;
  }
  #ko-info .info_profile{
    padding-top: 2.5vw;
  }
  #ko-info .info_profile.cat_profile{
    padding-top: 3vw;
  }
  #ko-info .info_profile.cat_profile .info_profile_text{
    padding-top: 30px;
  }
  #ko-info .info_profile .info_profile_bold{
    width: 100%;
    font-size: 2.6vw;
    color: #000;
    font-weight: bold;
    padding-bottom: 3.5vw;
  }
  #ko-info .info_profile .info_profile_bold span{
    font-size: 2.6vw;
    display: block;
  }
  #ko-info .info_profile .info_profile_img .info_profile_img_cat{
    padding: 5px 0;
    width: 25vw;
    font-size: 3vw;
    margin-bottom: 3vw;
  }
  #ko-info .info_profile .info_profile_text p.info_profile_text_name{
    font-size: 3.6vw;
  }
  #ko-info .info_profile .info_profile_text p.info_profile_text_name span.katagaki{
    font-size: 3vw;
  }
  #ko-info .info_profile .info_profile_text p.info_profile_text_cap{
    font-size: 2.6vw;
  }
}


/*-----------    event    -----------------*/
.event{
  position: relative;
  width: 100%;
  border: 0;
  padding: 5vw 2.5vw 5.5vw 2.5vw;
}
.event_inner{
  background: #000;
}
.event .event_canvas.right{
  width: 60vw;
  height: 70vw;
  background: url(../images/key-visual.png) no-repeat;
  background-size: contain;
  background-position: left center;
  position: absolute;
  top: -44vw;
  right: -22vw;
  z-index: 3;
}
.event h2{
  /*font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;*/
  font-size: 5.7vw;
  /* font-weight: bold; */
  color: #fff;
  letter-spacing: 0.03em;
}
.event h2 span.ja{
  display: inline-block;
  font-size: 3vw;
  font-weight: bold;
  color: #fff;
  font-family: "Noto Sans JP","Noto Sans Japanese", sans-serif;
  border-bottom: 8px solid #ed1c24;
  padding-bottom: 10px;
}
.event ul{
  margin-top: 3vw;
}
.event ul li{
  font-size: 1.62vw;
  color: #fff;
  margin-top: 1.3vw;
}
.event ul li:first-child{
  margin-top: 0;
}
.event ul li span{
  display: block;
  font-size: 1.58vw;
  color: #fff;
}
.event p.event_cap{
  color: #fff;
  display: block;
  margin-top: 1.3vw;
  font-size: 1.04vw;
  line-height: 1.5;
}

@media screen and (max-width: 768px){
  .event{
    padding: 7.8vw 2.5vw;
  }
  .event .event_canvas.right{
    width: 47vw;
    height: 68vw;
    top: -35vw;
    right: -4vw;
  }
  .event h2{
    font-size: 8vw;
    font-weight: 300;
  }
  .event h2 span.ja{
    font-size: 4.4vw;
    border-bottom: 5px solid #ed1c24;
    padding-bottom: 2vw;
    margin-top: 1vw;
  }
  .event ul{
    margin-top: 5.8vw;
  }
  .event ul li{
    font-size: 2.3vw;
    margin-top: 2vw;
  }
  .event ul li span{
    font-size: 2.6vw;
  }
  .event p.event_cap{
    margin-top: 2vw;
    font-size: 1.5vw;
  }
}

@media screen and (max-width: 460px){
  .event ul li{
    font-size: 3.6vw;
    margin-top: 5vw;
    font-weight: normal;
  }
  .event ul li span{
    font-size: 4.0vw;
    font-weight: bold;
  }
  .event p.event_cap{
    font-size: 2.8vw;
  }
}


/*-----------    form レイアウト    -----------------*/
.entry {
  position: relative;
  z-index: 1;
}
#sec8 {
  width: 100%;
  margin-top: 0;
  background: #fff;
  padding: 5vw 5vw 0;
}
#sec8 h2 {
  display: block;
  text-align: center;
  font-size: 3.6vw;
  font-weight: bold;
  color: #000;
}
#sec8 .form {
  display: inline-block;
  width: auto;
  background-color: #333E4A;
  padding: 0vw 3vw 3vw 2vw;
}
#sec8 dl {
  width: auto;
}
#sec8 p {
  margin-bottom: 0;
}
#sec8 .form_item {
  display: flex;
  align-items: center;
  margin-bottom: 16px;
}
#sec8 .form_item label {
  display: flex;
  align-items: center;
}
#sec8 .form_item label .radiolabel {
  font-size: 1vw;
}
#sec8 dt {
  width:calc(25% + 10px);
  padding-right: 10px;
  font-size: 1vw;
}
#sec8 dd {
  border-left: 4px solid red;
  padding-left: 10px;
}
#sec8 dd input {
  margin-bottom: 0;
}
.entry p.entry_cap{
  display: block;
  color: #000;
  font-size: 0.8vw;
  margin-top: 2vw;
  padding: 0 5vw 7.8vw;
}
#sec8 dd span.sp_cap{
  display: none;
}
#sec8 #button_submit{
  color: #fff;
  background: #ff0000;
  font-size: 1.3vw;
  padding: 10px 4vw;
  font-weight: bold;
}

@media screen and (max-width: 768px){
  #sec8{
    padding: 5vw 4vw;
  }
  #sec8 h2{
    font-size: 4.5vw;
  }
  #sec8 .form{
    margin-top: 2.5vw;
    padding: 4.5vw 7.5vw;
  }
  #sec8 dl{
    width: auto;
  }
  #sec8 .form_item {
    display: block;
  }
  #sec8 .form_item label .radiolabel {
    font-size: 3vw;
  }
  #sec8 p{
    margin-bottom: 0;
  }
  #sec8 span.sp{
    display: inline-block !important;
    background: #e40000;
    font-size: 10px;
    margin-left: 2vw;
    color: #fff;
    padding: 1vw 2vw;
    line-height: 1;
  }
  #sec8 dd span.sp_cap{
    display: inline-block;
  }
  .entry_cap {
    font-size: 3.2vw !important;
  }
}


/*-----------    about    -----------------*/
.about{
  position: relative;
  width: 100%;
  border: 0;
  padding: 5vw 2.5vw 5.5vw 2.5vw;
}
.about .about_inner{
  background: #000;
  position: relative;
  z-index: 1;
}
.about .about_canvas.left{
  width: 28vw;
  height: 42vw;
  background: url(../images/about_canvas_left.png) no-repeat;
  background-size: cover;
  background-position: left center;
  position: absolute;
  top: -4vw;
  left: 0;
}
.member .member_canvas.left{
  width: 60vw;
  height: 70vw;
  background: url(../images/key-visual.png) no-repeat;
  background-size: contain;
  background-position: left center;
  position: absolute;
  bottom: -13vw;
  left: -15vw;
  z-index: 3;
}
.about h2{
  /*font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;*/
  font-size: 5.7vw;
  /* font-weight: bold; */
  color: #fff;
  letter-spacing: 0.03em;
}
.about h2 span.ja{
  display: inline-block;
  font-size: 3vw;
  font-weight: bold;
  color: #fff;
  font-family: "Noto Sans JP","Noto Sans Japanese", sans-serif;
  border-bottom: 8px solid #ed1c24;
  padding-bottom: 10px;
}
.about h3{
  font-size: 2vw;
  font-weight: bold;
  color: #fff;
  margin-top: 3vw;
}
.about p.about_lead{
  font-size: 1.2vw;
  line-height: 1.5;
  color: #fff;
  margin-top: 1vw;
}
.about .about_achievement{
  width: 100%;
  padding: 3vw;
  background: linear-gradient(90deg, rgba(237,28,36,1) 0%, rgba(135,16,21,1) 100%);
  margin: 3vw 0;
  color: white;
}
.about .about_achievement h3{
  display: block;
  text-align: center;
  font-size: 2.3vw;
  margin-top: 0;
}
.about .about_achievement .about_achievement_list{
 display: flex;
 justify-content: space-between;
 flex-wrap: wrap;
 margin-top: 3.6vw;
}
.about .about_achievement .about_achievement_list_box{
  width: 20%;
  padding: 0 2vw;
 }
.about .about_achievement .about_achievement_list_tit{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  font-size: 1.4vw;
  color: #000;
  height: 50px;
}
.about .about_achievement figure{
  margin: 1.5vw auto;
  text-align: center;
}
.about .about_achievement figure img{
  width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
}
.about .about_achievement .counter{
  text-align: center;
}
.about .about_achievement .counter .number{
  font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;
  font-size: 3.2vw;
  /* font-weight: bold; */
  color: #000;
}
.about .about_achievement .counter .unit{
  font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;
  font-size: 3.6vw;
  /* font-weight: bold; */
  color: #000;
}

@media screen and (max-width: 768px){
  .about{
    padding: 7.8vw 2.5vw;
  }
  .about .about_canvas.left{
    width: 45vw;
    height: 70vw;
  }
  .about h2{
    font-size: 8vw;
    font-weight: 300;
  }
  .about h2 span.ja{
    font-size: 4.4vw;
    border-bottom: 5px solid #ed1c24;
    padding-bottom: 2vw;
    margin-top: 1vw;
  }
  .about h3{
    font-size: 5.2vw;
    margin-top: 4.5vw;
    line-height: 1.2;
    margin-bottom: 5vw;
  }
  .about p.about_lead{
    font-size: 3.5vw;
    margin-top: 2vw;
    font-weight: normal;
  }
  .about .about_achievement{
    padding: 4vw;
    margin-top: 4vw;
  }
  .about .about_achievement h3{
    font-size: 4.6vw;
  }
  .about .about_achievement .about_achievement_list{
   margin-top: 0;
   justify-content: center;
  }
  .about .about_achievement .about_achievement_list_box{
    width: 32.5%;
    padding: 0 1vw;
    margin-top: 5vw;
  }
  .about .about_achievement .about_achievement_list_box:nth-child(4),
  .about .about_achievement .about_achievement_list_box:nth-child(5){
    margin-top: 3.5vw;
  }
  .about .about_achievement .about_achievement_list_tit{
    font-size: 3vw;
    height: 35px;
  }
  .about .about_achievement figure{
    margin: 1.5vw auto;
    text-align: center;
  }
  .about .about_achievement .counter .number{
    font-size: 5.2vw;
  }
  .about .about_achievement .counter .unit{
    font-size: 3.6vw;
  }
}


/*-----------    member    -----------------*/
.member{
  position: relative;
  width: 100%;
  background: #fff;
  border: 0;
  padding-top: 5vw;
  padding-bottom: 28vw;
}
.member .member_inner{
  padding: 0 7.8vw;
}
.member h2{
  font-size: 3vw;
  font-weight: bold;
  color: #000;
  display: block;
  text-align: center;
}
.member p{
  font-size: 1.3vw;
  color: #000;
  display: block;
  margin-top: 2vw;
  text-align: center;
}
.member .infiniteslide_wrap{
  width: 100%;
  margin-top: 2.6vw;
}
.member .member_wrap{
  padding: 0 7.8vw;
  margin-top: 3vw;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}
.member .member_list{
  width: 23%;
  margin-top: 2%;
}
.member .member_list figure{
  position: relative;
  overflow: hidden;
}
.member .member_list figure img{
  width: 100%;
  height: auto;
}
.member .member_list p{
  position: absolute;
  left: 0;
  bottom: 0;
  width: 100%;
  background: rgba(0,0,0,.8);
  font-size: 1.1vw;
  color: #fff;
  text-align: left;
  padding: 1.04vw;
}
.member .member_list p span{
  font-size: 1vw;
  display: block;
}
.member .member_btn{
  max-width: 50%;
  margin: 3.65vw auto 0;
}
.member .member_btn a{
  position: relative;
  width: 100%;
  background: #000;
  color: #fff;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3vw;
}
.member .member_btn a img{
  position: absolute;
  top: 50%;
  right: 2.3vw;
  transform: translate(0, -50%);
}
.member .member_entry{
  width: 100%;
  margin: 0 auto 0;
  padding: 1.6vw 3.5vw 3.6vw;
  display: flex;
  justify-content: space-between;
}
.member .member_entry_box{
  background: #D9D9D9;
  padding: 2.6vw 3vw;
  width: 48%;
  z-index: 5;
  margin: 0 auto;
}
.member .member_entry_box h3{
  color: #000;
  font-size: 2.1vw;
  display: block;
  text-align: center;
}
.member .member_entry_box p{
  color: #000;
  font-size: 1rem;
  line-height: 1.6;
  display: block;
  text-align: center;
}
.member .member_entry_box .member_entry_box_btn{
  margin-top: 3vw;
  display: flex;
  flex-wrap: wrap;
  max-height: 20vw;
  min-height: 12vw;
  align-items: center;
}
.member .member_entry_box .member_entry_box_btn a{
  width: 100%;
  position: relative;
  color: #fff;
  font-size: 1.6vw;
  font-weight: bold;
  display: block;
  text-align: center;
  margin-top: 15px;
  padding: 2vw 1vw;
}
.member .member_entry_box .member_entry_box_btn a:first-of-type{
  margin-top: 0;
}
.member .member_entry_box .member_entry_box_btn a.bg_red{
  background: #ff0000;
}
.member .member_entry_box .member_entry_box_btn a.bg_black{
  background: #000;
}
.member .member_entry_box .member_entry_box_btn a img{
  position: absolute;
  top: 50%;
  right: 1.8vw;
  transform: translate(0, -50%);
}

@media screen and (max-width: 768px){
  .member{
    padding-top: 6.5vw;
  }
  .member .member_inner{
    padding: 0 4.5vw;
  }
  .member h2{
    font-size: 3.9vw;
  }
  .member p{
    font-size: 1.95vw;
    margin-top: 3vw;
  }
  .member .infiniteslide_wrap{
    width: 100%;
    margin-top: 4.5vw;
  }
  .member .member_wrap{
    padding: 0 4.5vw;
    margin-top: 4.5vw;
    justify-content: center;
  }
  .member .member_list{
    width: 29%;
    margin: 2%;
  }
  .member .member_list p{
    font-size: 1.9vw;
    padding: 1.04vw;
  }
  .member .member_list p span{
    font-size: 1.7vw;
  }
  .member .member_btn{
    max-width: 80%;
    margin: 4.5vw auto 0;
  }
  .member .member_btn a{
    height: 52px;
    font-size: 2.8vw;
  }
  .member .member_btn a img{
    width: 8px;
  }
  .member .member_entry{
    margin: 0 auto 0;
    padding: 9.8vw 2.5vw;
    flex-wrap: wrap;
  }
  .member .member_entry_box{
    width: 100%;
    padding: 3.9vw 6.5vw;
    margin-top: 6.5vw;
  }
  .member .member_entry_box:first-of-type{
    margin-top: 0;
  }
  .member .member_entry_box h3{
    font-size: 3.8vw;
  }
  .member .member_entry_box .member_entry_box_btn{
    width: 80%;
    margin: 5vw auto 0;
    margin-top: 5vw;
    height: auto;
    max-height: unset;
    min-height: unset;
  }
  .member .member_entry_box .member_entry_box_btn a{
    font-size: 2.6vw;
    margin-top: 10px;
    padding: 3vw 1.5vw;
  }
  .member .member_entry_box .member_entry_box_btn a img{
    /*width: 8px;*/
  }
}
@media screen and (max-width: 460px) {
  .member_inner h2 {
    font-size: 4.2vw;
  }
  .member_inner p {
    font-size: 3.5vw;
  }
  .member_wrap .member_list {
    width: 46%;
  }
  .member_wrap .member_list p {
    font-size: 3.5vw;
  }
  .member_wrap .member_list p span {
    font-size: 3vw;
  }
  .member_entry .member_entry_box h3 {
    font-size: 4.2vw;
  }
  .member_entry .member_entry_box p {
    font-size: 3.5vw;
  }
  .member_entry .member_entry_box .member_entry_box_btn {
    width: 100%;
  }
  .member_entry .member_entry_box .member_entry_box_btn a {
    font-size: 3.5vw;
    width: 100%;
  }
}


/*-----------    media    -----------------*/
.media{
  position: relative;
  width: 100%;
  background: #fff;
  border: 0;
  padding: 6.25vw 7.8vw 32vw;
}
.media .media_inner{
  position: relative;
  z-index: 1;
}
.media .media_canvas.right{
  width: 40vw;
  height: 55vw;
  background: url(../images/media_canvas_right.png) no-repeat;
  background-size: cover;
  background-position: left center;
  position: absolute;
  bottom: 0;
  right: 0;
}
.media h2{
  font-size: 3vw;
  font-weight: bold;
  color: #000;
  display: block;
  text-align: center;
}
.media p.media_lead{
  font-size: 1.4vw;
  color: #000;
  display: block;
  margin-top: 3.6vw;
  text-align: left;
}
.media .media_btn{
  max-width: 50%;
  margin: 3.65vw auto 0;
}
.media .media_btn a{
  position: relative;
  width: 100%;
  background: #000;
  color: #fff;
  height: 58px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 1.3vw;
}
.media .media_btn a img{
  position: absolute;
  top: 50%;
  right: 2.3vw;
  transform: translate(0, -50%);
}

@media screen and (max-width: 768px){
  .media{
    padding: 7.8vw 4.5vw 42vw;
  }
  .media .media_canvas.right{
    width: 47vw;
    height: 85vw;
  }
  .media h2{
    font-size: 3.9vw;
  }
  .media p.media_lead{
    font-size: 2.34vw;
    margin-top: 4vw;
  }
  .media .media_btn{
    max-width: 80%;
    margin: 4.5vw auto 0;
  }
  .media .media_btn a{
    height: 52px;
    font-size: 2.8vw;
  }
  .media .media_btn a img{
    width: 8px;
  }
}
@media screen and (max-width: 460px) {
  .media .media_inner h2 {
    font-size: 4.2vw;
  }
  .media .media_inner p {
    font-size: 3.5vw;
  }
  .media .media_inner .media_btn {
    max-width: 100%;
  }
  .media .media_inner .media_btn a {
    font-size: 3.5vw;
    width: 100%;
  }
}


/*-----------    pagetop    -----------------*/
.pagetop{
    display: none;
    position: fixed;
    right: 15px;
    bottom: 60px;
}
.pagetop a{
    display: block;
    font-size: 0;
    width: 50px;
    height: 50px;
    text-align: center;
    background: #ccc;
    border-radius: 50%;
    line-height: 50px;
}
.pagetop a i{
    font-size: 20px;
    color:#fff;
    line-height: 50px;
}



/*-----------    animation    -----------------*/


.bg-red{
  background: rgb(237,28,36);
  background: linear-gradient(90deg, rgba(237,28,36,1) 0%, rgba(135,16,21,1) 100%);
}

.heading2{
  color: white;
  position: relative;
  padding: 1vw 25vw 1vw 4vw;
  text-align: center;
}


.heading2:before {
  position: absolute;
  top: calc(50% - 1px);
  right: 0;
  width: 18vw;
  height: 1px;
  content: '';
  background: #fff;
}

.link-color{
  color: #0B6BC3!important;
}

.number{
  font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;
  font-size: 3.2vw;
  /* font-weight: bold; */
  color: white; 
}

.kv2-number{
  font-family: impact, "Anton", "Noto Sans Japanese", sans-serif;
  font-size: 5.2vw;
  color: #ed1c24;
  padding-right: 3.5vw;
  position: relative;
}

.kv2-number::after {
  position: absolute;
  content: "";
  top: 50%;
  right: 1vw;
  width: 1.5vw;
  border-top: 1px solid #ed1c24;
}

.number-unit{
  padding-bottom: 1vw;
  margin-left: 3px;
}

.number-name{
  margin-bottom: -0.5vw;
  line-height: 1.2;
}

.text-red{
  color: #ed1c24;
}


@media screen and (max-width: 768px){
  .number{
    font-size: 8.2vw;
  }
  .number-unit {
    padding-bottom: 3vw;
    margin-left: 6px;
  }
  .number-name{
    margin-bottom: -1.5vw;
    font-size: 3vw;
  }
  .kv2-number{
    font-size: 15vw;
    padding-right: 6.5vw;
  }
  .kv2-number::after {
    width: 3.5vw;
  }
  .kv2-title{
    font-size: 4vw;
    text-align: left;
    margin-left: 1vw;
  }
}