* {
   box-sizing: border-box;
}

body {
   margin: 0;
   padding: 0;
   font-family: "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif;
   background-color: #e6e6e6;
   color: #3d3d3d;
}
/* ------------header----------------- */

a {
   text-decoration: none;
   color: #4b4b4b;
}
/* ------------btn----------------- */
header .head_btn{
  background: #d60051 !important;
  padding: 8px 3px;
  margin: 0 auto;
  color: #fff !important;
  border-radius: 60px;
  width: 100% !important;
  min-width: 130px;
  text-align: center;
  display: block;
  letter-spacing: 2px;
}
header .head_btn:hover{ opacity: 0.6;}
header .head_btn a{
  display: block;
  color: #fff;
  font-size: 12px;
}


/* ------------main visual----------------- */
#mv {
/*   height: 1105px; */
/*   min-height: 660px; */
   background: url("../img/mv2508.png") top center / cover no-repeat; 
   display: flex;
/*   flex-direction: column;
   justify-content: flex-end;  */
   padding-bottom: 0;
}
#mv .mv_ttl{
  width: 65%;
  float: left;
  max-width: 840px;
  margin: 50px auto 100px;
  color: #fff;
}
#mv .mv_ttl2{
  width: 25%;
  float: right;
  max-width: 160px;
  margin: 50px auto 100px;
  color: #fff;
}
#mv .sub{
  padding: 10px;
  width: fit-content;
  font-size:  clamp(14px,1.5vw,26px);
  letter-spacing: 3px;
  margin: 20px 0 10px;
  background: rgba(69, 67, 110, 0.8);
}
#mv h2{
  padding: 10px;
  width: fit-content;
  font-size:  clamp(24px,2vw,48px);
  letter-spacing: 5px;
  margin: 0;
  color: #fff;
  background: rgba(69, 67, 110, 0.8);
}
#mv .en{ letter-spacing: 2px; padding: 30px 0 0 15px; line-height: 26px; text-shadow: 1px 1px #555;}
#mv .mv_oubo{
text-align: center;
margin-bottom: 50px;
}
#mv .mv_oubo p{ font-size: 22px; font-weight: bold; display:block; color: #fff; line-height: 30px; }
#mv .mv_oubo .lead{ font-size:18px; font-weight:normal; padding:10px 0; }
#mv .mv_oubo .mv_btn{
  width: fit-content;
  min-width: 350px;
  margin: 20px auto 30px;
  border-radius: 6px;
  background-color: #9d3b9e;
}
#mv .green{ background-color: #abc622 !important; color: #fff; margin-bottom: 50px;}
#mv .green a{ letter-spacing: 1px !important;}
#mv .mv_oubo .mv_btn:hover{ opacity: 0.8;}
#mv .mv_oubo .mv_btn a{ display: block; color: #fff;  padding: 15px; letter-spacing: 1px; font-size: 24px;}
#mv .mv_oubo .mv_btn a:before{ content: "> ";}
#mv .bnr{
  color: #fff;
  text-align: center;
  background: rgba(0, 0, 0, 0.6);
  line-height: 160%;
}
#mv .bnr p{ padding: 20px 0;  font-size: clamp(18px,2vw,34px); letter-spacing: 1px;}
#mv .mv_logo{ width: 35%; max-width: 350px;}
.mv_flex{
  display: flex;
  justify-content: center;
  align-items: center;
}
.mv_flex div{
  width: 48%;
  max-width: 480px;
}
#mv p.boshu{
  font-size: 18px;
  font-weight: normal;
}
#mv .mv_oubo .inner{padding: 0 !important;}
#mv p.boshu a{
  color: #fff;
  background: #9d3b9e;
  padding: 10px 0;
  font-size: 18px;
}
.setumei{
  text-align: center;
}
.mv_oubo h3{ color:#fff; font-size:20px; padding:15px 15px; border:1px solid #fff; display:inline-block;  }
#mv .mv_btn{
    display: block;
    color: #fff;
    padding: 15px;
    letter-spacing: 1px;
    font-size: 24px;
}
@media screen and (max-width: 959px) {
  #mv {background: url("../img/../img/mv2508.png") top 0% right 23%/ cover no-repeat;} 
  #mv .mv_ttl{ margin: 0 auto 30px;}
  #mv .sub{  letter-spacing: 1px;}
  #mv h2{ letter-spacing: 0px; text-align: left;}
  #mv .mv_oubo{ margin-bottom: 20px;}
  #mv .mv_oubo p{ font-size: 100%; letter-spacing: 0px;}
  #mv .mv_oubo .mv_btn{ width: 70%; min-width: inherit; font-size: 16px !important; }
  #mv .mv_oubo .mv_btn a{ letter-spacing: 0; font-size: 16px; padding: 10px;}
  #mv .mv_logo{ width: 50%;}
  #mv .bnr p{ padding: 15px 0;}
}
.report{
  width: fit-content;
  margin: auto;
  padding: 20px 0 0;
}
.report a{
  display: block;
  padding: 10px 20px;
  background: linear-gradient(270deg, #ed5690 0%, #9d3b9e 90%);
  border-radius: 30px;
  margin: auto;
  color: #fff;
  letter-spacing: 0;
}
.report a:before {
    content: "> ";
}
.voice{
  display: inline-block;
  padding:10px 20px;
  background: #f8caca;
  border-radius: 30px;
  margin: 30px 0 0;
  text-decoration: underline;
}

/*--------season4--------*/
#mv .mv_season{ padding: 30px; color:#333; background:rgba(255, 255, 255, 0.7); }
#mv .mv_season h2{
  background: none;
  font-size: 1.8rem;
  letter-spacing: 1px;
  padding: 0 0 10px;
  color: #444;
}
#mv .mv_season h2 span{
  font-size: 4rem;
  font-style: italic;
  font-weight: bold;
  color:#9d3b9e;
  display: inline-block;
  padding: 0;
}
#mv .mv_season p.lead{ font-size:1.3rem; padding:0 0 10px; }
#mv .mv_season p{
  padding: 10px 0;
}
#mv .mv_season h3{
  font-size: 1.6rem;
  padding: 30px 0 10px;
}
#mv .mv_season h3 span,
#mv .mv_season h4 span{
  padding: 10px 2px 5px;
  background: linear-gradient(transparent 60%, #eeaab5 55%);
}
#mv .mv_season ul.kadai li{
  line-height: 24px;
}

#mv .mv_season .flex{
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  align-self: stretch;
  padding: 0;
}
#mv .mv_season .flex h4{
  width:90px; padding:5px 0 0;
  font-size: 1.2rem;
}
#mv .mv_season .flex p.lead{
    padding: 0px 0 10px 0;
    margin: 0 50px 10px 0;
  line-height: 1.6rem;
  font-weight: bold;
  border-bottom: 1px solid #999;
}
#mv .mv_season .flex p{
  padding:0px 0 20px 0;
  line-height: 1.3rem;
}
#mv .mv_season .program{
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
  width: 470px;
}

#mv .mv_season .program li{ font-size:1rem; }
#mv .mv_season .program li:nth-child(odd){
  width: 170px;
  padding:5px 20px 10px 0;
  text-align: right;
  font-weight: bold;
}
#mv .mv_season .program li:nth-child(even){
  min-width: 200px;
  padding:5px 0px 20px 0;
}
#mv .setumei{ padding: 20px 0; text-align:center; color:#fff; line-height:26px;
    display: flex;
    flex-direction: column; }
#mv .setumei h3{
    border-radius: 6px;
    border: 1px solid #fff;
    background: rgba(255, 255, 255, 0.4);
    display: inline-block;
    width: max-content;
    padding: 10px 25px;
    color: #222;
    margin: 20px auto;
}
#mv .setumei .mv_btn{
  background: #9d3b9e;
  padding: 10px 20px;
  margin: 15px auto;
  display: inline-block;
  border-radius: 6px;
}
#mv .setumei .mv_btn a{ color:#fff; font-size:20px; font-weight:bold; }
#mv .setumei .yt_link{ color:#fff; font-size:20px; text-decoration:underline; }
#mv .setumei .yt_link img{ border-radius:10px; padding:20px 0 0 0; width:90%; max-width:400px; }
table.program{ line-height:1.2em; }
.program th{ text-align:left; padding:5px 10px 5px 0; }
.program td{ text-align:left; padding:5px 0px 5px 0;  }


@media screen and (max-width: 959px) {
  #mv .mv_season .flex p.lead{ margin:0 0 10px 0;}
  #mv .mv_season .flex{flex-direction: column;}
  #mv .mv_season .program{ width:auto; }
  #mv .mv_season .program li:nth-child(odd) { text-align:left; width: 36%;}
  #mv .mv_season .program li:nth-child(even){
    text-align:left;
    width: 55%;
    line-height: 1.2em;
    padding:5px 0px 20px 0;
  }
  table.program{ line-height:1.2em; }
  .program th{ text-align:left; padding:5px 10px 5px 0; }
  .program td{ text-align:left; padding:5px 0px 5px 0;  }
}
/* ------------startup----------------- */
#startup{
  background: #f8f7f8;
  padding: 70px 0 0;
}
#startup .txt{ padding:0; font-size:14px; }
#demoday h1.mas3{
  color: #9d3b9e;
  text-align: center;
  margin-bottom: 30px;
}
#demoday h1.mas3 p{
    border: 1px solid #9d3b9e;
    border-radius: 15px;
    padding: 15px 40px;
    display: inline;
    font-size: clamp(36px,1vw,42px);
  }
#startup h2{
  margin:auto;
  line-height: 40px;
}
#startup .list{
    display: flex;
    justify-content: flex-start;
    align-items: stretch;
    flex-wrap: wrap;
    padding: 0;
}
#startup .list li{
  width: 32%;
  border: 2px solid #ddd;
  background: #fff;
  border-radius: 10px;
/*
  border: 2px solid #e7c1e7;
*/
  filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.1));
  margin-bottom: 30px;
}
#startup .list li:nth-child(2),
#startup .list li:nth-child(5),
#startup .list li:nth-child(8){ margin-left:2%; margin-right:2%; }
#startup .list li.last_bg{ background:none; border: none; filter:none }
#startup .list div{
    text-align: center;
}
#startup .list li img{
  width:80%;
}
#startup .list li h3{
  font-size: 14px;
  margin: 8px 0;
}
#startup .list li h3 span{
  background: #a55ea6;
  color: #fff;
  padding: 3px 10px;
  border-radius: 16px;
  font-size: 13px;
  font-weight: normal;
  margin: 0 0 0 10px;  
}
#startup .list li h3 span.challenge{
  background: none;
  color: #333;
  padding: 0;
  border-radius: 0;
  font-weight: normal;
  margin: 0 0 0 10px;
  font-size:12px;
  letter-spacing: -1px;
}
#startup .list li a{
  display: block;
  padding: 25px;
}
#startup .list div.nolink{
  display: block;
  padding: 25px;
  text-align: left;
}
#startup .list li p{
  display: block;
  line-height: 24px;
}
#startup .flex{
  display: flex;
  justify-content: flex-start;
  align-items: center;
  align-self: center;
  margin: 10px 0 20px;
}
#startup .flex h3{
  color: #9d3b9e;
  font-size: 24px;
  padding: 10px 20px;
  margin-right: 10px;
}
#demoday{
  background: #f2eef4;
  padding: 80px 0 20px;
  text-align: center;
}
#demoday p{ 
    font-size: clamp(18px,1vw,24px);
    padding-bottom: 20px;
    }
.demoday_content p{ font-size:16px; line-height:32px; }
.demoday_content p span{color: #9d3b9e; font-weight: bold;}
@media screen and (max-width: 959px) {
  #startup .list{
      display: flex;
      justify-content: flex-start;
      align-items: stretch;
      flex-wrap: wrap;  
  }
  #demoday h1.mas3{ line-height:36px; margin-bottom:40px; }
  #demoday h1.mas3 p{
      border: 1px solid #9d3b9e;
      border-radius: 15px;
      padding: 20px;
      display: inline;
      font-size: clamp(24px,1vw,42px);
    }
  #startup h2{ line-height: 25px; padding: 2px 0 2px 20px;
    margin: 0px 0 25px;}
  #startup h2 br{ display: block;}
  #startup .list li:nth-child(2),
  #startup .list li:nth-child(5),
  #startup .list li:nth-child(8){ margin-left:auto; margin-right:auto; }
  #startup .list li{
    width: 48%;
    margin:0 auto 15px;
  }
  #startup .list li.last{ margin:0 0 15px; }
  #startup .list li a{
    display: block;
    padding: 10px 20px;
  }
  #startup .list li h3 span{
    display: inline-block;
    margin: 5px 0 0;
  }
}

#startup h3.kyo{ font-size:18px;padding:0 0 10px 10px; color:#9d3b9e; }
.kyosan{
  display: flex;
  justify-content: space-around;
  align-items: center;
  background: #fff;
  border-radius: 10px;
  padding: 15px;
  filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.1));  
}
.kyosan li{
  width: 11%;
}
.kyosan3{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-around;
  align-items: center;
  background: #fff;
  border-radius: 10px;
  padding: 15px;
  filter: drop-shadow(0px 0px 4px rgba(0,0,0,0.1));  
}
.kyosan3 li{ width: 30%; padding: 30px; text-align: center;}
.kyosan3 li img{ width: 70%;}
@media screen and (max-width: 959px) {
    .kyosan3 li{ width: 50%; padding: 15px 30px;} 
}

.season3 li{
  width: 9% !important;
}
.kyosan li img{ width:100%; }

#startup .list li .ksbox{ display:flex; justify-content:space-between; align-items:center;}
#startup .list li .ksbox img{ width:22%; border-radius:6px; }
#startup .list li .ksbox div{ text-align:left; width:74%; }
/* ------------youtube----------------- */
#youtube{
  background: #fff;
  text-align: center;
  padding-bottom: 0;
}


/* ------------overview----------------- */

#overview{
  background: #fff;
  padding: 50px 0 50px;
  text-align: center;
}
section .inner{
  width: 90%;
  max-width: 1100px;
  margin: auto;
  height: auto;
  padding: 0 0 80px 0;
}

#overview h3{
  color: #2a2a2a;
  padding: 10px 10px;
  display: inline-block;
  font-weight: bold;
  font-size: clamp(20px,2vw,30px);
  letter-spacing: 3px;
  text-align: center;
}
#overview article{
  width: 100%;
  padding-right: 5%;
}
#overview .lead{ text-align: left;}
#overview img{ width: 86%; }
#overview p{
  padding: 30px 10px;
  margin-bottom: 60px;
  line-height: 190%;
  letter-spacing: 1px;
  font-size: clamp(18px,1vw,24px);
}
.mb0{ margin-bottom: 0;}
#overview .sanka { width: 94%; margin: auto; background: #f2e1e7; padding: 40px; border-radius: 16px;}
#overview .sanka div{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  width: 100%;
  margin: 20px auto 0px;
}
#overview h3.ts{ font-size: clamp(18px,2vw,22px); letter-spacing: 1px; color: #bb5178;}
#overview .sanka img{ width: 40%;}
@media screen and (max-width: 959px) {
  #overview .sanka img{ width: 100%;}
}
#overview p{ margin-bottom:0; }
#overview .sanka h4{ font-size: clamp(18px,2vw,22px); padding:0; text-align: left;}
#overview h3.ts::before,#overview h3.ts::after{ content: " - ";}
#overview .sanka h4 span{ font-size: clamp(11px,2vw,14px);  }
#overview .sanka div p{ padding: 0 0 0 40px; text-align: left; margin-bottom: 0;}
#overview .naiyou{
    display: flex;
    justify-content: space-around;
    align-items: flex-start;
    max-width: 900px;
    width: 100%;
    margin: auto;
}
#overview .naiyou div{
  width: 46%;
  position: relative;
}
#overview .naiyou h4{
  border-radius: 60px;
  color: #fff;
  font-weight: normal;
  font-size: 18px;
  padding: 10px 0;
  background-color: #9d3b9e;
}
#overview .naiyou ul{
    width: 70%;
    margin: auto;
    padding: 20px 0;
}
#overview .naiyou li{
  list-style: initial;
  text-align: left;
  line-height: 1.8em;
}
#overview .naiyou div{
  width: 46%;
  margin: 0 auto;
}

#overview .naiyou li span{ font-weight: bold;}
section {padding: 70px 0;}
section h2{
  font-size: clamp(23px,1vw,40px);
  font-weight: bold;
  text-align: center;
  letter-spacing: 1px;
  padding: 40px 0 20px;
  color: #555;
}
section h2 span{
  display: block;
  font-size: clamp(14px,1.3vw,20px);
  font-weight: normal;
  letter-spacing: 5px;
  color: #707070;
  padding: 20px 0;
}
section hr{
  width: 60px;
  margin: 30px auto;
  border-color: #9d3b9e;
  }
@media screen and (max-width: 959px) {
  section {padding: 0 0 70px 0;}
  #overview article{
    width: 100%;
    padding-right: 0%;
  }
  #overview .naiyou{
    flex-direction: column;
  }
  #overview .naiyou div{
    width: 82%;
    margin: 0 auto;
  }
  #overview .naiyou h4{ font-size:16px; }
  #overview img{ width: 100%; }
  #overview h3{ line-height: 160%; letter-spacing: 0px;}
  #overview article{padding-top: 50px;}
  #overview .sanka{margin: 20px auto; width: 94%; padding: 20px;}
  #overview .sanka div{ display: block;  width: 100%; padding: 10px 0 0 0;}
  #overview .sanka div p{ padding: 20px 0 0; margin-bottom: 0;}
  section h2{letter-spacing: 3px;}
  section .inner{
    width: 90%;
    margin: auto;
    height: auto;
    padding: 20px 0;
  }
}


/* ------------background----------------- */
#background{
  background: #f8f7f8;
  padding: 50px 0 50px;
  text-align: center;
}

#background h3{
  color: #555;
  padding: 10px 10px;
  display: inline-block;
  font-weight: bold;
  font-size: clamp(20px,2vw,30px);
  letter-spacing: 0px;
  text-align: center;
}
#background article{
  width: 100%;
  padding-right: 5%;
}
#background .lead{ text-align: left;}
#background img{ width: 86%; }
#background p{
  padding: 30px 10px;
  margin-bottom: 60px;
  line-height: 190%;
  letter-spacing: 1px;
  font-size: clamp(18px,1vw,24px);
}
.mb0{ margin-bottom: 0;}

@media screen and (max-width: 959px) {
  #background article{
    width: 100%;
    padding-right: 0%;
  }
  #background div{
    flex-direction: column-reverse;
  }
  #background img{ width: 100%; }
  #background h3{ line-height: 160%;}
  #background article{padding-top: 50px;}
}

/* ------------contents----------------- */
#contents {background: #fff;}
#contents ul{
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  align-items: flex-start;
}
#contents li{ width: 28%; text-align: center; margin-bottom: 50px;}
#contents li h3{
  color: #9d3b9e;
  font-size: 20px;
  text-align: center;
  padding: 20px 0;
}
#contents li img{height: 200px;}
#contents li p{
  text-align: left;
  line-height: 30px;
  font-size: clamp(18px,1vw,24px);
}

@media screen and (max-width: 959px) {
  #contents li{ width: 90%; margin: 0 auto 50px;}
  #contents li img{ height: auto; width: 80%;}
}


/* ------------area----------------- */
#area {background: #f5eff7;}
#area h3{
  color: #2a2a2a;
  padding: 0 0 70px;
  font-weight: bold;
  font-size: clamp(14px,2vw,24px);
  letter-spacing: 1px;
  text-align: center;
}
#area ul{
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  align-items: flex-start;
}
#area li{ width: 28%; text-align: center;}
#area li h3{
  color: #9d3b9e;
  font-size: 20px;
  text-align: center;
  padding: 20px 0;
}
#area li img{height: 200px;}
#area li p{
  text-align: left;
  line-height: 30px;
  font-size: clamp(18px,1vw,24px);
}
@media screen and (max-width: 959px) {
  #area h3{ line-height:1.6em;}
  #area li{ width: 80%; margin: 0 auto 50px;}
  #area li img{ height: auto; width: 70%;}
}

/* ------------application----------------- */
#news{
  background-color: #fff;
}
#news .inner {
  position: relative;
  overflow: hidden;
  width: 1000px;
  margin: auto;
}
#news dl {
display: flex;
flex-flow: row wrap;
width: 100%;
border-bottom: 1px solid #d5d5d5;
}
#news dt {
flex-basis: 15%;
padding: 20px;
border-top: 1px solid #d5d5d5;
font-size: 95%;
padding: 20px 0;
font-weight: bold;
}
#news dd {
flex-basis: 85%;
padding: 20px;
border-top: 1px solid #d5d5d5;
font-size: 95%;
padding: 20px 0;
}
@media screen and (max-width: 959px) {
  #news .inner{ width:80%; height:auto; }
  #news dt{ width:auto; padding:20px 0 0px; }
  #news dl {
  flex-flow: column;
  }
  #news dd { border-top:none;
        line-height: 1.3rem; }
}
/* ------------application----------------- */
#application{
  background: #fff;
}
#application div.inner div{
border-bottom: 1px solid #ccc;
display: flex;
justify-content: flex-start;
align-items: center;
padding: 50px 30px;
}
#application div.inner div:first-child{border-top: 1px solid #ccc;}
#application div.inner div h3{ width: 30%; font-size: 20px;}
#application ul.list li{
  border-bottom: none;
  list-style: disc;
  line-height: 40px;
}
@media screen and (max-width: 959px) {
#application div.inner div{ display: block; width: 100%; padding: 20px 0;}
#application ul.list li{margin-left: 20px;}
#application div.inner div h3{ margin-bottom: 20px;}
#application div.inner p{ margin-left: 00px;}
#application div.inner p br{display: none;}
}


/* ------------schedule----------------- */
#schedule{ background: #fff7ff; text-align: center;}
#schedule div.inner .box{
    display: flex;
    justify-content: flex-start;
    align-items: center;
    padding: 20px 30px;
    width: 65%;
    margin: auto;
}
#schedule div.inner .box h3{ color: #fff; width: 120px; font-size: 18px; font-weight: normal; background: #9d3b9e; padding: 15px; text-align: center;}
#schedule ul.list li{
  border-bottom: none;
  list-style: disc;
  line-height: 40px;
  margin-left: 60px;
  text-align: left;
}
#schedule div.inner p{ text-align: center;}
#schedule img{ width: 80%; margin: 100px auto;}


#schedule p.mv_btn{
  width: 36%;
  min-width: 380px;
  margin: 10px auto 0 !important;
  border-radius: 60px;
  background-color: #9d3b9e;
}
#schedule  .mv_btn:hover{ opacity: 0.8;}
#schedule  .mv_btn a{ display: block; color: #fff;  padding: 15px; letter-spacing: 1px; font-size: 20px; text-align: center;}
#schedule  .mv_btn a:before{ content: "> ";}
.year_schedule{
  padding: 0;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}
.year_schedule li{
  background: rgba(255, 255, 255, 1.0);
  display: flex;
  justify-content: flex-start;
  flex-direction: column;
  border-top: 5px solid #d0d0d0;
  margin: 0px auto 0;
  width: 12.0%;
  padding: 10px 8px 30px;
  -webkit-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -moz-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  -ms-filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
  filter:drop-shadow(1px 3px 5px rgba(0, 0, 0, 0.2));
}
.year_schedule li:nth-last-child(1),
.year_schedule li:nth-last-child(2),
.year_schedule li:nth-last-child(3),
.year_schedule li:nth-last-child(4){border-top:5px solid #9d3b9e;}
.year_schedule li:last-child{background: rgba(255, 244, 193, 1.0);}
.year_schedule li.ttl{
    width: 50%;
    margin-bottom: 10px;
    margin-left: 50%;
    padding: 10px;
    border-top: none;
    background: none;
    border-right: 1px dotted #000;
    border-left: 1px dotted #000;
    display: block;
}
.year_schedule li.ttl div{
  display:block;
  width: 100%;
  color: #fff;
  padding: 10px 0;
  background: url("../img/schedule_bar_yoko.png") center repeat;
}

.year_schedule li span{ font-size:12px; }
.year_schedule li p{ padding:0; margin:0; font-size: 14px; text-align: center;  line-height: 22px; text-align:left; }
.year_schedule li p.day{
  font-weight: bold;
  padding: 15px 0;
  color: #444;
  font-size: 15px;
  text-align: center;
}
.year_schedule li h3{
  font-weight: bold;
  font-size: 16px;
  padding: 5px 0 10px;
  text-align: left;
  margin: 0;
  color: #641965;
  line-height: 28px;
  text-align: center;
}
p.caution{
    width: 100%;
    text-align: right !important;
    padding: 20px 50px 30px;
    font-size: 12px;
}
#schedule .setumei{
    width: 400px;
    margin: auto;
}
#schedule .setumei img{
    margin: 0px auto 20px;
}

.pc{ display: block;}
.sp{ display: none;}
@media screen and (max-width: 959px) {
  #spbox{ display:flex; align-items: flex-end; justify-content: right; }
  #spbox ul.year_schedule { flex-direction: column !important; width: 90%;}
  #spbox ul.year_schedule li { width: 80% !important; padding: 8px; margin-bottom: 10px;}

  #spbox .ttl {
    border-top: 1px dotted #000;
    border-bottom: 1px dotted #000;
    padding: 10px 0;
    margin-bottom: 20px;
    }

  #spbox .ttl div{
    writing-mode: vertical-rl;
    background: url("../img/schedule_bar.png") top left;
    width: 24px;
    font-size: 14px;
    padding: 50px 0;
    color: #fff;
    line-height: 26px;
  }
  #spbox .year_schedule li p.day{ padding:5px 0; }
        #schedule div.inner .box{ display: block; width: 100%; padding: 10px 0;}
        #schedule ul.list li{margin-left: 20px;}
  #spbox #schedule div.inner .box h3{ margin-bottom: 10px;}
  #spbox .year_schedule li h3{ padding: 0;}
  #spbox #schedule div.inner p{ margin-left: 0px;}
        #schedule div.inner p br{display: none;}
        #schedule p.mv_btn{ min-width: 100px; width: 80%; }
        #schedule  .mv_btn a{ font-size: 18px; letter-spacing: 1px;}
        #schedule img{ width: 90%; margin:20px auto;}
  p.caution{
      width: 100%;
      text-align: center !important;
      padding: 0px 0px 30px;
      font-size: 12px;
  }
  #schedule .setumei{
    width: 80%;
    margin: auto;
  }
  .pc{ display: none;}
  .sp{ display: block;}
}


/* ------------message----------------- */
#message{ background: url("../img/message2409.jpg") center center / cover no-repeat; }
section#message h2{ color:#fff; }
section#message .inner{
  width: 90%;
  max-width: 800px;
  margin: auto;
  height: auto;
  padding: 0 0 80px 0;
}
#message p{ color: #fff; line-height: 240%; margin-bottom: 30px;}
#message p.tright{ text-align: right;}
#message .box{ width: 100%;}
#message .inner{ padding: 40px 0;}
br.sp{display: none;}

@media screen and (max-width: 959px) {
  #message{
    background: url("../img/message2409.jpg") no-repeat #8d8a8c;
    background-size: contain;
    padding: 0;
  }
  section#message .inner{
    max-width:none; padding-top: 100px;
    background: #999;
    width: 100%;
    padding: 50px 10% 50px;
    margin-top: 30px;
  }
  section#message h2{ color:#fff; padding-top:90px; }
  #message .box{ width: 100%; margin: 0 auto;}
  #message .inner{ padding: 0 0 20px;}
  #message p br{ display: none;}
  #message p{ line-height: 26px;}
  br.sp{display: block;}
}
/* ------------mentor----------------- */
#mentor{ background: #fff;}
#mentor ul{ display: flex; justify-content: space-around; align-items: center;}
#mentor li{ margin-bottom: 50px;}
#mentor li:first-child{ margin-right: 50px;}
#mentor h3{ font-size: 18px; line-height: 26px; margin-bottom: 10px;}
#mentor h3 span{ display: block; font-weight: normal; font-size: 14px;}
#mentor li p{ line-height: 26px; font-size: 16px;}
#mentor li img{ border-radius:16px; }

@media screen and (max-width: 959px) {
#mentor ul{ flex-direction: column;}
#mentor h3{ text-align: center;}
#mentor li:first-child {margin: 0px;}
#mentor li{ margin-bottom: 80px;}
}

/* ------------partner----------------- */
#partner{ background: #fff; text-align: center;}
#partner ul{ display: flex; justify-content: space-around; align-items: center; flex-wrap: wrap;}
#partner li{ margin-bottom: 50px; width: 33.3%;}
#partner li:first-child,
#partner li:nth-child(5){ width: 100%;}
#partner li:nth-child(n + 3){ width: 33.3%;}
#partner h2{ font-size: 18px; line-height: 26px; margin-bottom: 10px;}
#partner h2 span.ttl{ font-weight: bold; font-size: 26px; display: initial; color: #dc3a6b;}
#partner li p{ line-height: 26px; font-size: 16px;}
#partner li img{ transition:0.5s all; }
#partner li img:hover{
  transform:scale(1.2,1.2);
  transition:1s all;
}
@media screen and (max-width: 959px) {
#partner ul{ flex-direction:inherit;}
#partner h3{ text-align: center;}
#partner li{ margin-bottom: 80px; width: 33%}
#partner li:first-child,
#partner li:nth-child(5){ width: 100%;}
#partner li:nth-child(n + 3){ width: 50%;}
#partner li img{width: 70%;}
#partner li:first-child img,
#partner li:nth-child(5) img{ width: 30%;}
#partner div.inner a{ font-size: 0.8em;}
}

/* ------------btn----------------- */
.btn{
  background: #d60051 !important;
  padding: 20px !important;
  margin: 100px auto;
  color: #fff !important;
  border-radius: 60px;
  width: 35% !important;
  min-width: 320px;
  text-align: center;
  display: block;
  letter-spacing: 7px;
}
.btn:hover{ opacity: 0.6;}
.btn a{
  background: url(../img/btn_cursol.png) no-repeat left 20px center;
  display: block;
  color: #fff;
  font-size: clamp(16px,2vw,24px);
}
a:hover{opacity: 0.6;}
@media screen and (max-width: 959px) {
  #youkou div{ margin-bottom: 30px;}
  .btn{
    letter-spacing: 1px;
    padding: 20px;
    min-width: 340px;
    margin: 40px auto 0;
  }
}

/* ------------lecturer----------------- */
#lecturer{
  background: #eaf6fb;
}
#lecturer ul{display: flex; align-items: center; flex-wrap: wrap; width: 100%;  margin: auto;}
#lecturer li{display: flex; align-items:center; width: 50%; padding: 0 0 100px;}
#lecturer li p{ padding: 20px 0 0; line-height: 150%;}
#lecturer div{ background: #f8fdfe; padding: 30px; width: 80%; max-width: 1300px; margin: auto;}
#lecturer h3{
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 5px;
  padding: 20px 0 10px;
  margin: 0 0 30px;
  border-bottom: 1px solid #d2d2d2;
}
#lecturer h4{
  font-size: 18px;
  font-weight: bold;
  color: #535353;
}
#lecturer h4 span{
  font-size: 14px;
}

#advisor,#cooperation{
  text-align: center;
}
@media screen and (max-width: 959px) {
  #lecturer li{
    display: flex;
    flex-direction: column;
    align-items:stretch;
    width: 50%; padding: 0 0 100px;
    align-self: flex-start;
  }
  #lecturer div{
    text-align: center;
    width: 90%;
    padding: 5%;
  }
  #lecturer li img{ width: 90%; margin: auto;}
  #lecturer h4 span{
    display: block;
    text-align: center;
    font-size: 12px;
  }
}


/* past_activities */
#past_activities{ background: #fff;}
#past_activities ul{ display:flex; justify-content: center; align-items:center; padding:0; flex-wrap:wrap; }
#past_activities li{
    width: 50%;
    padding: 0 1%;
    text-align: center;
    margin-bottom: 30px;}

#past_activities li img{ width:100%; }
@media screen and (max-width: 959px) {
  #past_activities ul{ flex-direction: column;}
  #past_activities li{ width: 85%;}
}
/* ------------corporate----------------- */
#corporate{ background: #643a64; padding-bottom: 80px;}
#corporate .inner{
  background: #fff; padding: 0 0 40px;
  width: 80%;
  border-radius: 10px;
}
#corporate .box{
  display: flex;
  justify-content: space-around;
  width: 90%;
  margin: auto;
  height: auto;
  align-items: flex-start;
}
#corporate .inbox{ padding-left: 30px;}
#corporate .inbox h3{ font-size: 22px; color: #451f45; margin-bottom: 20px;}
#corporate div p{
  padding: 0 0 20px;
  line-height: 160%;
}
#corporate .inbox a{
  background: #b5ca54;
  padding: 10px 18px;
  border-radius: 30px;
  font-size: 16px;
}
@media screen and (max-width: 959px) {
  #corporate { padding: 70px 0;}
  #corporate img{ margin: 0 auto 30px; width: 80%;}
  #corporate div{
    flex-direction:column;
    text-align: center;
    }
  #corporate div p{padding: 10px; text-align: left;}
  #corporate .box{
    text-align: center;
    align-items: center;
  }
  #corporate .inbox{ padding: 0; }
  #corporate .inbox h3{ font-size: 1em;}
  #corporate .inbox p{ font-size: 0.9em; margin-bottom: 30px;}
  #corporate .inbox a{ font-size: 0.7em; }
}

/* ------------footer----------------- */
footer {
   padding: 50px 0;
   top: 0;
   width: 100%;
   background: #451f45;
}
footer div{
  display: flex;
  align-items: center;
  justify-content: space-between;
  width: 90%;
  margin: auto;
}
footer h1 {
   margin: 0; padding: 0;
   font-size: 20px;
}
footer h1 img{ max-width: inherit; width: 80%;}
footer nav {
   margin: 0 0 0 auto;
}
footer ul {
   list-style: none;
   margin: 0;
   display: flex;
   align-items: center;
}
footer li {
   margin: 0 0 0 15px;
   font-size: 10px;
}
footer li a{color: #cbb4cb;}

footer p.contact{
    width: 90%;
    margin: auto;
    text-align: right;
    font-weight: normal;
    color: #cbb4cb;
    font-size: 12px;
}
footer p.contact a{color: #cbb4cb;}
footer p.contact a:before{
  content:"";
}
.footerlink{
  display: flex;
  justify-content: flex-start;
  text-align: center;
}
.footerlink a{ display: inline-block; max-width: 150px;}
.footerlink a img{ width: 100%;}
@media screen and (max-width: 959px) {
  footer ul { display: none;}
  footer div{ justify-content: center;}
  footer p.contact { text-align: center; padding: 20px 0 0 !important;}
  footer img{ width: 80%;}
  .footerlink{
    display: flex;
    justify-content: center;
  }
  .footerlink a:nth-child(1){text-align: center;}
  .footerlink a:nth-child(2){text-align: left;}
}
