@charset "utf-8";
/* ===============================================
# タイトル
=============================================== */
h2.ttl_main{
  background-color: #62cce6;
  border-radius: 10px;
  text-align: center;
  margin-top: 20px;
  padding: 21px 0;
  line-height: 1;
  color: #fff;
  font-size: 150%;
  font-weight: bold;
}

@media screen and (max-width : 767px){
  h2.ttl_main{
    margin-top: 20px;
    font-size: 2.4rem;
  }
}
/* ===============================================
# コンテンツ
=============================================== */
.box_contents{
  background-color: #fff;
  border-radius: 10px;
  margin-top: 20px;
  padding: 50px 80px 80px;
}
.box_contents h3{
  text-align: left;
  border-left: solid 7px #62cce6;
  color: #81624c;
  font-weight: bold;
  font-size: 150%;
  padding-left: 20px;
  margin-bottom: 40px;
  line-height: 1.2;
}

@media screen and (max-width : 767px){
  .box_contents{
    padding: 20px 10px 30px;
  }  
}
/*プログラム計画
--------------------------------------------*/
.box_program{
  padding-top: 30px;
  padding-bottom: 90px;
}
.box_program_in{
  max-width: 812px;
  width: 100%;
  margin: 0 auto;
}
.box_program_in dl{
  float: left;
  width: 42.2%;
}
.box_program_in dl:nth-child(2){
  margin-left: 15.6%;
}
.box_program_in dl dt figure{
  width: 100%;
}
.box_program_in dl dd{
  line-height: 1.5;
  font-size: 120%;
}
.box_program_in dl dd ul{
  margin-top: 20px;
}
.box_program_in dl dd ul li::before{
  content: counter(number) ".";
  margin-right: 0.1em;
  color: #62cce6;
  font-weight: bold;
}
.box_program_in dl dd ul li{
  list-style-type: none;
  counter-increment: number;  
  padding-left: 1.1em;
  text-indent: -1.1em;  
}

@media screen and (max-width : 767px){
  .box_program{
    padding-top: 10px;
    padding-bottom: 35px;
  }
  .box_program_in dl{
    float: none;
    width: 100%;
  }
  .box_program_in dl:nth-child(2){
    margin-left:0;
    margin-top:49px;
  }
  .box_program_in dl dt figure{
    width: 85%;
    margin: 0 auto;
  }
  .box_program_in dl dd{
    font-size: 1.8rem;
  }
}
/*一日のスケジュール
--------------------------------------------*/
.box_schedule{
  padding-top: 30px;
  padding-bottom: 100px;
}
.box_schedule .tabmenu{
  position: relative;
  width: 607px;
  margin:  0 auto;
}
@media screen and (max-width : 767px){
  .box_schedule{
    padding-bottom: 60px;
  }  
  .box_schedule .tabmenu{
    width: 100%;
  }
}
/*タブ*/
.box_schedule .tabmenu ul.tab{
}
.box_schedule .tabmenu ul.tab li{
  float: left;
  width: 50%;
  height: 48px;
  margin-top: 23px;
  display: flex;
  justify-content: center;
  align-items: center;
  border-radius: 10px 10px 0 0;
  overflow: hidden;  
}
.box_schedule .tabmenu  ul.tab li.active{
  height: 71px;
  margin-top: 0;
}

.box_schedule .tabmenu ul.tab li:nth-child(1){
  background: #ffe58b url(../../program/img/bg_tab.png) repeat top center;
}
.box_schedule .tabmenu ul.tab li:nth-child(2){
  background: #ade5ec url(../../program/img/bg_tab.png) repeat top center;
}
.box_schedule .tabmenu ul.tab li img{
  width: 108px;
}
.box_schedule .tabmenu ul.tab li.active img{
  width: 128px;
}
@media screen and (max-width : 767px){
  .box_schedule .tabmenu ul.tab li{
    height: 27px;
    margin-top: 13px;
  }
  .box_schedule .tabmenu ul.tab li:nth-child(1){
    background-size: 26.25px auto;
  }
  .box_schedule .tabmenu ul.tab li:nth-child(2){
    background-size: 26.25px auto;
  }  
  .box_schedule .tabmenu  ul.tab li.active{
    height: 40px;
  }
  .box_schedule .tabmenu ul.tab li img{
    width: 57.3%;
    max-width: 65px;
  }
  .box_schedule .tabmenu ul.tab li.active img{
    width: 80%;
    max-width: 80px;
  }
}
/*スケジュール*/
.box_schedule .tabmenu .tab_contents{
  background-color: #fffbe4;
  padding:18px 33px;
  border-radius: 0 0 20px 20px;
}
.box_schedule .tabmenu .tab_contents ul li{
  display: table;
  width: 100%;
  padding: 14px 0 20px;
  background: url(../../program/img/bg_line.png) no-repeat bottom left;
}
.box_schedule .tabmenu .tab_contents ul li:last-child{
  background: none;
}
.box_schedule .tabmenu .tab_contents ul li > div{
  display: table-cell;
  vertical-align: middle;
  font-weight: bold;
  font-size: 112.5%;
}
.box_schedule .tabmenu .tab_contents ul li > div.ico{
  width: 25.2%;
  text-align: center;
}
.box_schedule .tabmenu .tab_contents ul li > div.ico img{
  width: 50px;
}
.box_schedule .tabmenu .tab_contents ul li > div.time{
  width:13.3%;
}
.box_schedule .tabmenu .tab_contents ul li > div.text{
  width: 61.5%;
}

@media screen and (max-width : 767px){
  .box_schedule .tabmenu .tab_contents{
    padding:5px 16px;
  }
  .box_schedule .tabmenu .tab_contents ul li{
    padding: 10px 0;
  }
  .box_schedule .tabmenu .tab_contents ul li > div{
    font-size: 1.4rem;
  }
  .box_schedule .tabmenu .tab_contents ul li > div.ico{
    width: 12.5%;
  }
  .box_schedule .tabmenu .tab_contents ul li > div.ico img{
    width: 100%;
    max-width: 40px;
  }
  .box_schedule .tabmenu .tab_contents ul li > div.time{
    width:20.5%;
    text-align: center;        
  }
  .box_schedule .tabmenu .tab_contents ul li > div.text{
    width: 78%;
  }
}

/*イラスト*/
.box_schedule .tabmenu .illust{
  position: absolute;
}
.box_schedule .tabmenu .illust.illust01{
  width: 134px;  
  top:245px;
  left: -90px;
}
.box_schedule .tabmenu .illust.illust02{
  top:115px;
  right:-30px;
}
.box_schedule .tabmenu .illust.illust03{
  top: 580px;
  left: -110px;
}
.box_schedule .tabmenu .illust.illust04{
  top:620px;
  right: -50px;
}
@media screen and (max-width : 767px){
  .box_schedule .tabmenu .illust.illust01{
    width: 23%;
    top:auto;
    left: auto;
    bottom: -5%;
    right:3.4%;
  }
}

/*年間行事
--------------------------------------------*/
.box_event{
  padding-top:30px;
}
.box_event .box_list{
  max-width: 790px;
  width: 100%;
  margin: 0 auto;
}
.box_event ul{
  width: 50%;
  float: left;
}
.box_event li{
  display: table;
  width: 100%;
}
.box_event li > div{
  display: table-cell;
  vertical-align: middle;
}
.box_event li > div.month{
  width: 89px;
}
.box_event li > div.text{
  padding-left: 20px;
  padding-right: 10px;
  font-weight: bold;
  font-size: 112.5%;
}
.box_event li:nth-child(n + 2){
  margin-top: 58px;
}
@media screen and (max-width : 767px){
  .box_event .box_list{
  }
  .box_event ul{
    width: 100%;
    float: none;
    margin-bottom: 20px;
  }
  .box_event li > div.month{
    width: 23.8%;
    max-width: 80px;
  }
  .box_event li > div.text{
    padding-left:15px;
    padding-right: 0;
    font-size: 1.6rem;
  }
  .box_event li:nth-child(n + 2){
    margin-top: 20px;
  }
}