@charset "utf-8";


/*----------------------------------------------------
★ ホームページ(初期設定)
*-----------------------------------------------------
* 色は適せん変更する(第一セクションに合わせる)
* lightpink #FEEEEC
* lightgreen #F1FCDA;
* lightblue #EAF6FF;
* lightyellow #FFF9D8;
----------------------------------------------------*/
#pageHome {
  background-color: #FEEEEC;
}
/*最後のセクションに合わせて色を指定する 2020.12.25*/


/*----------------------------------------------------
★ティザー
----------------------------------------------------*/
@media screen and (max-width: 751px){
  #mainVisual2 .kv_pc {
    display: none;
  }  
}
@media screen and (min-width: 751px) {
  #mainVisual2 .kv_sp {
    display: none;
  }
}
@media screen and (min-width: 1101px) {
  #mainVisual2 .kv_pc {
    margin: 0 auto;
    max-width: 1000px;
  text-align: center;
  }    
}


/*----------------------------------------------------
★メインビジュアル
----------------------------------------------------*/


#siteFoot {
  background-color: #FFF9D8;
}

#mainVisual {
  position: relative;
}
#mainVisual img{
  background: url( ../images/home/main_sp.png );
  width :100%;
  vertical-align: top;
  text-align: center;
  margin: 0 auto;
}

/* スマホ */
@media screen and (max-width: 751px) {
  #mainVisual .kv_bg {
    background: url( ../images/home/mv_sp.png );
    background-repeat: repeat-x;
    background-size: cover;
    background-position: top 0px center;
    height: 100vh;
    min-height: 912px;
  }
  #mainVisual .movieArea {
    margin: 0 0 32px;
  }
  #mainVisual .mainVisual_wrap {
    border-radius: 10px;
    margin: 0 auto;
    position: relative;
    top: 24.2%; 
    padding: 30px 18px 35px;
    max-width: 375px;
    width: 89.3%;
    background: url(../common/images/kv_new_bg.png);
    background-repeat: repeat;    
  }
  #mainVisual .mainVisual_wrap:before {
    content: '';
    position: absolute;  
    top: -65px;
    background: url(../common/images/kv_ribbon_sp.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 152px;
    height: 72px;
  }
  #mainVisual .movieArea iframe{
    height: 175px;
  }
  #mainVisual .news ul {
    margin: 0 auto;
    width: 90%;
  }
}

@media screen and (max-width: 400px) {
  #mainVisual .mainVisual_wrap {
    border-radius: 10px;
    margin: 0 auto;
    position: relative;
    top: 19.8%; 
    padding: 30px 18px 35px;
    max-width: 375px;
    width: 89.3%;
    background: url(../common/images/kv_new_bg.png);
    background-repeat: repeat;    
  }
}


#mainVisual .youtube iframe {
  width: 100%;
}

#mainVisual .news li {
  padding: 0 0 12px;
  margin: 0 0 10px;
  border-bottom: 2px dotted #A08155;
}
#mainVisual .news li:last-child {
  padding: 0 0 0px;
  border-bottom: none;
}
#mainVisual .news .textArea {
  position: relative;
  padding: 0 0 0 50px;
}
#mainVisual .news .textArea.icon_green::before {
  content: '';
  position: absolute;  
  left: 0;
  top: 5%;
  transform: (translateY( -50%)); 
  background: url(../common/images/icon_green.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 38px;
  height: 38px;
}
#mainVisual .news .textArea.icon_blue::before {
  content: '';
  position: absolute;  
  left: 0;
  top: 5%;
  transform: (translateY( -50%)); 
  background: url(../common/images/icon_blue.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 38px;
  height: 38px;
  transform: rotate( 45deg);   
}
#mainVisual .news .textArea.icon_red::before {
  content: '';
  position: absolute;  
  left: 0;
  top: 5%;
  transform: (translateY( -50%)); 
  background: url(../common/images/icon_red.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 38px;
  height: 38px;
}
#mainVisual .news .textArea.icon_green_thin::before {
  content: '';
  position: absolute;  
  left: 0;
  top: 6%;
  transform: (translateY( -50%)); 
  background: url(../common/images/icon_thin_green.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 38px;
  height: 38px;
}
#mainVisual .news .textArea.icon_yellow::before {
  content: '';
  position: absolute;  
  left: 0;
  top: 5%;
  transform: (translateY( -50%)); 
  background: url(../common/images/icon_yellow.png);
  background-repeat: no-repeat;
  background-size: contain;
  width: 38px;
  height: 38px;
  transform: rotate( -45deg);
}

#mainVisual .news .main {
  color: white;
  font-size: 20px;
  letter-spacing: 0;
  line-height: 1.2;
  transition: all 0.3s;
}
#mainVisual .news li:hover .main {
  color: #FFF500;
}
#mainVisual .news .sub {
  font-size: 13px;
  line-height: 2.2307;
  letter-spacing: 0;
  color: #E2BB93;
}



@media screen and (min-width: 751px) {

  #mainVisual .kv_bg {
    background: url( ../images/home/mv_pc.png );
    background-repeat: repeat-x;
    background-size: cover;
    background-position: top -70px center;
    height: 864px;
    margin: 0 0 -70px;
  }

  #mainVisual h1.wrap img{
  max-width :1100px;
  vertical-align: top;
  text-align: center;
  margin: 0 auto;
  }
  #mainVisual .news ul {
    padding-top: 10px;
  }
  #mainVisual .news ul li {
    cursor: pointer;
  }
  #mainVisual .mainVisual_wrap .flex {
    display: flex;
    justify-content: space-between;  
  }
  #mainVisual .mainVisual_wrap:before {
    content: '';
    position: absolute;  
    top: -172px;
    background: url(../common/images/kv_ribbon_pc.png);
    background-repeat: no-repeat;
    background-size: contain;
    width: 387px;
    height: 184px;
    overflow: hidden;
  }
  #mainVisual .movieArea {
    width: 55.1185807%;
    height: 380px;
  }
  #mainVisual .news {
    width: 42.2670401149%;
    background: url(../common/images/kv_new_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px;    
  }
  #mainVisual .movieArea iframe {
    width: 100%;
    height: 100%;
  }

}
@media screen and (min-width: 880px){
  #mainVisual .movieArea {
    width: 63.1185807%;
    height: 380px;
  }
  #mainVisual .news {
    width: 34.2670401149%;
    background: url(../common/images/kv_new_bg.png);
    background-repeat: no-repeat;
    background-size: cover;
    border-radius: 10px;    
  }
}

@media screen and (min-width: 751px) {
  #mainVisual .mainVisual_wrap {
    position: relative;
    border-radius: 10px;
    background: url(../common/images/kv_new_bg.png);
    margin: 0 auto;    
    width: 84.9194729%;
    top: 250px;
    padding: 40px 43px;
  }  
  #mainVisual h1.wrap img{
    background: url( ../images/home/main_sp.png );
  }
}

@media screen and (min-width: 1366px){
  #mainVisual .mainVisual_wrap {
    top: 248px;
    margin: 0 auto;
    max-width: 1160px;
  }
  #mainVisual .kv_bg {
    background: url( ../images/home/mv_pc.png );
    background-repeat: repeat-x;
    background-size: contain;
    background-position: top -70px center;
    height: 100vh;
    max-height: 864px;
    margin: 0 0 -70px;
  }
}




/*
@media screen and (min-width: 751px) {
  #mainVisual{
    overflow: hidden;
  }
}
@media screen and (min-width: 1367px) {
  #mainVisual{
    overflow: hidden;
  }
}
*/

/*動画対応*/
.movie_title {
  display: block;
  background: #CB2913;
  margin-bottom: 20px;
  border-radius: 5px;
}
.movie_title span{
  display: block;
  color: #fff;
  text-align: center;
  font-weight: bold;
  padding: 0.5em 1em;
  box-sizing: border-box;
  /*font-size: 1.8em;*/
  font-size: 5vw;
  line-height: 1.5;
}

.mv_body {
  position: absolute;
  left: 0;
  top: 0;
  width: calc(100% - 20px);
  margin-top: 10%;
  margin-left: 10px;
}
.mainVisual.no_video_title .mv_body{
  margin-top: 15%;
}
.mv_movie_wrap {
  border: 10px solid #4c4c4c;
  background: #4c4c4c;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.5);
  position: relative;
}
.mv_movie_wrap::before {
  content:"";
  display: block;
  position: absolute;
  width: 10%;
  height: 30px;
  background: #4c4c4c;
  top: calc(100% + 10px);
  left: 45%;
  box-shadow: 0 3px 6px rgba(0,0,0,0.5);
}
.mv_movie_wrap::after {
  content:"";
  display: inline-block;
  position: absolute;
  font-size: 16px;
  width: 50%;
  border: 30px solid transparent;
  border-bottom: 5vw solid #4c4c4c;
  box-sizing: border-box;
  top: calc(100% + 0px);
  left: 25%;
}

@media screen and (min-width: 751px) {
  .mv_movie_wrap::after {
    border-bottom: 60px solid #4c4c4c;
  }
}

.mv_movie{
  width:100%;
  padding-bottom: 56.25%;
  height:0px;
  position: relative;
}
.mv_movie iframe{
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.abs {
  position: absolute;
  display: block;
  transition: all 0.3s;
}
.mainVisual .abs.hide_left {
  margin-left: -30%  !important;
}
.mainVisual .abs.hide_right {
  margin-right: -30%  !important;
}
#mv_obj,
#mv_obj2,
#mv_obj3 {
  display: none;
}
#mv_left1 {
  width: 15vw;
  bottom: 0;
  left: 0;
  margin: 0 0 10% 2%;
}
#mv_right1,
#mv_right2,
#mv_right3 {
  right: 0;
  z-index: 5;
  transition: all 1s;
}
#mv_right1 {
  width: 7vw;
  right: 0;
  bottom: 0;
  z-index: 6;
  margin: 0 8% 8% 0;
}
#mv_right2 {
  width: 7vw;
  right: 0;
  bottom: 0;
  margin: 0 12% 15% 0;
}
#mv_right3 {
  width: 7vw;
  right: 0;
  bottom: 0;
  margin: 0 3% 15% 0;
}
/*注意文言*/
.no_copy {
  display: block;
  text-align: center;
  font-size: 14px;
  font-weight: bold;
  margin-top: calc(40px + 6vw);
}


/* 20210306 */
.no_copy {
  margin-top: 20px;
  padding: 0 20px;
}
@media screen and (min-width: 751px) {
  .no_copy {
    margin-top: 0;
    padding: 0 40px;
    font-size: 20px;
  }
}



@media screen and (min-width: 751px) {
  #mainVisual.is_video {
    /*padding-bottom: calc(280px - 6vw);*/
    /*padding-bottom: calc(250px + 5vw);*/

    padding-bottom: calc(10px + 5vw);
    z-index: 0;
  }
  #mainVisual.is_video.no_video_title {
    padding-bottom: calc(90px + 10vw);
  }
  .mainVisual.no_video_title .mv_body {
    margin-top: 8%;
  }


  .movie_title {
    position: relative;
    max-width: 840px;
    margin-left: auto;
    margin-right: auto;
    height: 110px;
    border-radius: 10px;
  }
  .movie_title span {
    position: absolute;
    width: 100%;
    /*font-size: 20px;*/
    font-size: 2.5em;
    left: 50%;
    top: 50%;
    transform:translate(-50%,-50%);
  }


  .mv_body {
    position: absolute;
    left: 0;
    top: 0;
    width: 70%;
    margin-top: 5%;
    margin-left: 15%;
  }
  .mv_movie_wrap {
    border: 30px solid #4c4c4c;
    width: 500px;
    margin: 0 auto;
  }
  .mv_movie_wrap::before {
    top: calc(100% + 30px);
  }
  .mv_movie_wrap::after {
    top: calc(100% + 25px);
  }
  #mv_obj {
    display: block;
    position: absolute;
    top: 30px;
    right: 20px;
    width: 12%;
    max-width: 180px;
    transition: all 0.8s;
  }


  #mv_obj2 {
    display: block;
    position: absolute;
    top: 320px;
    left: 50%;
    margin-left: -300px;
    width: 6.6vw;
    transition: all 0.8s;
  }
  #mv_obj3 {
    display: block;
    position: absolute;
    top: 380px;
    right: 50%;
    margin-right: -350px;
    width: 11.5vw;
    transition: all 0.8s;
  }


  #mv_left1 {
    left: 0;
    top: 0;
    z-index: 5;
    transition: all 0.8s;
  }
  #mv_right1,
  #mv_right2,
  #mv_right3 {
    right: 0;
    top: 0;
    z-index: 5;
    transition: all 1s;
  }
  #mv_left1 {
    width: 10.1025vw;
    height: 13.3236vw;
    margin:26.5007% 0 0 2.9283%;

    margin-top: 300px;
  }
  #mv_right1 {
    width: 3.4407vw;
    height: 5.7101vw;
    margin:35.1391% 6.8814% 0 0;

    margin-top: 440px;
  }
  #mv_right2 {
    width: 4.1728vw;
    height: 9.1508vw;
    margin:27.8184% 9.5168% 0 0;

    margin-top: 320px;
  }
  #mv_right3 {
    width: 5.3441vw;
    height: 8.6384vw;
    margin:29.5754% 1.9766% 0 0;

    margin-top: 350px;
  }
}
@media screen and (min-width: 1367px) {
  #mainVisual.is_video {
    /*padding-bottom: 350px;*/
  }

  #mv_obj2 {
    left: 50%;
    margin-left: -410px;
  }
  #mv_obj3 {
    right: 50%;
    margin-right: -480px;
  }
  #mv_left1 {
    left: 120px;
  }

  .movie_title {
    height: 110px;
  }
  .movie_title span {
    /*font-size: 28px;*/
    font-size: 2.5em;
  }

}

/*----------------------------------------------------
★スクロールバーカスタマイズ
----------------------------------------------------*/
.mCSB_inside>.mCSB_container {
  margin-right: 16px;
}
.mCSB_draggerRail {
  background: #FFF9D8 !important;
}
.mCSB_dragger_bar {
  background: #F58200 !important;
}
.mCS-inset-3-dark.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar{
  margin:3px 5px 3px 4px !important;
}

/*----------------------------------------------------
★トップのバナー
----------------------------------------------------*/

/* #t_banner {
  margin-top: 40px;
}*/
#t_banner a,
#t_banner2 a {
  transition: all 0.3s;
  display: block;
}
@media screen and (max-width: 750px) {
  #t_banner ul,
  #t_banner2 ul{
    max-width: 240px;
    margin: 0 auto;
  }
  #t_banner2 ul{
    max-width: 280px;
  }
  #t_banner li+li,
  #t_banner2 li+li {
    margin-top: 20px;
  }
}

@media screen and (min-width: 751px) {
/*  #t_banner {
    margin:30px auto 0;
  }*/
  #t_banner ul,
  #t_banner2 ul{
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  #t_banner li{
    width: 33.5%;
    max-width: 340px;
  }
  #t_banner2 li{
    width: 50%;
    max-width: 500px;
  }
  #t_banner li+li,
  #t_banner2 li+li {
    margin-left: 20px;
  }
  #t_banner li:nth-child(n+5),
  #t_banner2 li:nth-child(n+5) {
    margin-top: 20px;
  }
  #t_banner li:nth-child(5n+1),
  #t_banner2 li:nth-child(5n+1) {
    margin-left: 0px;
  }
  #t_banner a:hover,
  #t_banner2 a:hover {
    filter:brightness(150%);
  }
}

/*----------------------------------------------------
about
----------------------------------------------------*/
#about {
  margin: 30px 0;
}

#about .attention {
  margin-bottom: 30px;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0;
  line-height: 0.9;
  text-align: center;
}
@media screen and (max-width: 750px){
  #about ul li:first-child {
    margin-bottom: 10px;
  }
}

@media screen and (min-width: 751px) {
  #about {
    margin: 0px 0;
  }
  #about .attention {
    margin-bottom: 40px;
  }
  #about .bannerArea {
    display: flex;
    justify-content: center;   
  }
  #about .bannerArea li {
    width: 320px;
    transition: all 0.3s;
    cursor: pointer;
  }
  #about .bannerArea li:hover {
    opacity: 0.8;
  }
  #about .bannerArea li:first-child {
    margin: 0 21px 0 0;
  }
}

@media screen and (min-width: 751px) {
  #about .section.bg_lightpink{
    margin: 0 0 0;
  }
}


/*----------------------------------------------------
news
----------------------------------------------------*/
#news {
  background-color: #EAF6FF;
  padding: 37px 0 41px;
}

#news .lt {
  padding: 21px 20px;
  background-color: white;
  border: 2px solid #D8D8D8;
  border-radius: 5px;
}

#news .lt li{
  padding: 0 0 10px;
  margin: 0 0 20px;
  border-bottom: 1px solid #E4E4E4;
}

#news .lt li:last-child {
  padding: 0px;
  margin: 0px;
  border-bottom: initial;
}
#news .lt .date,#news .lt .title {
  font-size: 13px;
  letter-spacing: 0;
  line-height: 2.153;
}

@media screen and (min-width: 751px){
  #news .lt {
    padding: 20px 47px;
  }
  #news .lt li a {
    display: flex;
  }
  #news .lt .date,#news .lt .title {
    font-size: 14px;
    line-height: 2;
  }
  #news .lt .date {
    padding: 0 60px 0 0;
  }
}



/*----------------------------------------------------
★最上部セクションで重ねる場合
body に　.position_up を付与する
----------------------------------------------------*/

/*.position_up #top_banners{
  margin-top: -80px;
  padding-bottom: 35px;
}
@media screen and (min-width: 751px) {
  .position_up #top_banners{
    margin-top: -7%;
    padding-bottom: 50px;
  }
}
@media screen and (min-width: 1367px) {
  .position_up #top_banners{
    margin-top: calc(-7% - 100px);
  }
  .position_up #mainVisual{
    padding:0 0 120px;
  }
}*/
/*----------------------------------------------------
★最上部セクションで重ねる場合
body に　.position_up を付与する2
----------------------------------------------------*/

.position_up #top_schedules{
  margin-top: -100px;
  padding-bottom: 35px;
}
@media screen and (min-width: 751px) {
  .position_up #top_schedules{
    margin-top: -12%;
  }
}
@media screen and (min-width: 1367px) {
  .position_up #top_schedules{
    margin-top: calc(-7% - 100px);
  }
}

/*----------------------------------------------------
★タイムテーブル
----------------------------------------------------*/
#schedule .scrollWrap {
  /*padding-right: 10px;*/
  /*background: #E5E5E5;*/
  background: transparent;
  box-sizing: border-box;
  height: 275px;
  /*overflow-y: auto;*/
  overflow: hidden;
}
#schedule .tabs {
  display: flex;
}
#schedule .tabs a{
  display: block;
  text-align: center;
  width:50%;
  transition: all 0.3s;
  border-radius: 4px 4px 0 0;
  padding:15px;
  font-size:14px;
  font-weight: bold;
}

#schedule .tabs .day6 {
  background: #67b9ff; /*水色*/
  color:#fff;
}
#schedule .tabs .day7 {
  background: #FFA500;
  color:#fff;
}
.time {
  font-weight: bold;
}
.timetable {
  display: flex;
  flex-wrap: wrap;
}
.timetable * {
  box-sizing: border-box;
}
.box_time {
  width: 54px;
  background: #FFF9D8;
  position: relative;
}
.box_time .day6,
.box_time .day7 {
  position: absolute;
  padding:30px 10px;
  top: 0;
  left: 0;
  width: 100%;
}
.box_time .time{
  text-align: center;
}
.box_day6,
.box_day7 {
  /*padding:20px;*/
  padding: 0;
}
.box_day6 {
  background: #67b9ff;
}
.box_day7 {
  background: #FFA500;
}
.box_day_bg_white {
  /*background: #fff;*/
}
.event {
  padding:10px;
  background: #fff;
  margin-bottom: 20px;
  border-radius: 4px;
}
.event_name {
  font-weight: bold;
  font-size: 1.1em;
  line-height: 1.4;
}
.event_topic {
  font-size: 0.85em;
  margin-top: 0.2em;
}
.event_image {
  margin-top: 10px;
}

/*テーブル*/
.table_time {
  width: 100%;
  box-sizing: border-box;
}
.tbody tr th {
  width: 60px;
  background: #FFF9D8;
  text-align: center;
  vertical-align: top;
  padding:10px;
  font-weight: bold;
}
.tbody tr:nth-child(1) th,
.tbody tr:nth-child(1) td {
  padding-top: 20px;
}
.tbody tr:nth-child(1) th {
  padding-top: 30px;
}
@media screen and (max-width: 750px) {
  .box_time .day6,
  .box_time .day7 {
    display: none;
  }
  .box_day6,
  .box_day7 {
    /*width: calc(100% - 54px);*/
    display: none;
  }
  .event {
    margin:0 20px 20px 20px;
  }
  .timetable.day6 .box_time .day6 {
    display: block;
  }
  .timetable.day7 .box_time .day7 {
    display: block;
  }
  .timetable.day6 .box_day6{
    display:  block;
  }
  .timetable.day7 .box_day7{
    display:  block;
  }
}
@media screen and (min-width: 751px) {
  #schedule .scrollWrap {
    height: 400px;
  }
  #schedule .tabs {
    margin: 0 16px 0 80px;
  }
  #schedule .tabs a {
    cursor: default;
    font-size: 20px;
  }
  .event_title {
    font-size: 1.3em;
  }
  .table_time .event{
    background: #fff;
    border-radius: 4px;
    margin-bottom: 0;
  }
  .tbody tr th {
    width: 80px;
    background: #FFF9D8;
    text-align: center;
    vertical-align: top;
    padding:20px 10px;
  }
  .tbody tr:nth-child(1) th {
    padding-top: 40px;
  }
  .tbody tr:nth-child(1) td {
    padding-top: 30px;
  }
  .tbody tr:last-child th,
  .tbody tr:last-child td {
    padding-bottom: 30px;
  }
  .tbody tr td {
    vertical-align: top;
    padding:10px 30px;
  }
  .tbody tr td:nth-of-type(1) {
    background: #67b9ff;
    width: calc(50% - 42px);
  }
  .tbody tr td:nth-of-type(2) {
    background: #FFA500;
    width: calc(50% - 42px);
  }
}

/*----------------------------------------------------
★TOP Banners
----------------------------------------------------*/
#top_banners a {
  display: block;
}

/*----------------------------------------------------
★TOP Schedules
----------------------------------------------------*/
#top_schedules {
    margin-top: -50px;
}
#top_schedules a {
  display: block;
}

/*----------------------------------------------------
★ツイッター タイムライン
----------------------------------------------------*/
#timelineWrap {
  width: 600px;
  margin:25px auto 0;
}
@media screen and (max-width: 750px) {
  #timelineWrap {
    width: 100%;
  }
  #timelineWrap iframe {
    width: 100%;
    height: 400px;
  }
}
@media screen and (min-width:751px) {
  #timelineWrap {
    width: 600px;
    margin:25px auto 0;
  }
  #timelineWrap iframe {
    width: 100%;
    height: 400px;
  }
}

/*----------------------------------------------------
★ツイッター タイムライン
----------------------------------------------------*/
#tw_timeline .character {
  position: relative;
}

@media screen and (max-width: 750px) {
  #tw_timeline .linkArea {
   position: relative;
  }  
  #tw_timeline .character .chara {
    position: absolute;
    top: -80px;
    left: 75%;
  }
}
@media screen and (min-width:751px) {
  #tw_timeline .linkArea {
    position: relative;
    max-width: 600px;
    margin: 0 auto -50px;
  }
  #tw_timeline .character .chara {
    position: absolute;
    top: -140px;
    left: 62%;
  }
}


/*----------------------------------------------------
line
----------------------------------------------------*/
@media screen and (max-width:751px){
  .lineWrap {
    margin: 10px auto -45px;
    width: 220px;
    height: 220px;  
  }
}

@media screen and (min-width:751px){
  .lineWrap {
    position: absolute;
    bottom: -140px;
    left: -50px;
    width: 170px;
    height: 170px;  
    transition: all 0.3s;
    cursor: pointer;
  }
  .lineWrap:hover {
    opacity: 0.8;
  }
}

@media screen and (min-width:920px){
  .lineWrap {
    position: absolute;
    bottom: -140px;
    left: -170px;
    width: 200px;
    height: 200px;  
  }
}
/*----------------------------------------------------
#instaLine 
----------------------------------------------------*/
@media screen and (max-width:751px){
  #insta {
    overflow: hidden;
  }  
}
#insta {
  padding: 50px 0px 0;
}
#insta .lt_insta {
  display: flex;
  position: relative;
  margin: 0 auto;
  width: 250px;
  height: 250px;
}
#insta .lt_insta li {
  position: absolute;
  width: 250px;
  height: 250px;
}

#insta .character {
  position: relative;
}
#insta .character .chara {
  position: absolute;
  left: 30px;
}
@media screen and (min-width:751px){
  #insta .character .chara {
    position: absolute;
    top: -50px;
    left: 24%;
  }
}
@media screen and (min-width:1000px){
  #insta .character .chara {
    position: absolute;
    top: -50px;
    left: 31%;
  }
}

/*====================================================================
slick
====================================================================*/


.sliderArea {
  position: relative;
  right: 490px;
  max-width: 100%;
  margin: 0 auto;
  padding: 0 25px;    
}
.sliderArea.size {
  max-width: 250px;
  height: 250px;
}
@media screen and (min-width: 751px){
  .sliderArea.size {
    max-width: 320px;
    height: 320px;
  }
  .full-screen a {
    transition: all 0.3s;
  }
  .full-screen a:hover {
    opacity: 0.8;
  }
}

.slick-slide {
  margin: 0 5px;
}
.slick-slide img {
  width: 100%;
  height: auto;
}
/* .slick-prev, .slick-next {
  z-index: 1;
}
.slick-prev:before, .slick-next:before {
  color: #000;
} */
.slick-arrow:before{
	content:""!important;
}
.slick-slide {
  transition: all ease-in-out .3s;
  /* opacity: .2; */
}
.slick-active {
  opacity: 1;
}
.slick-current {
  opacity: 1;
}
.thumb {
  margin: 20px 0 0;
}
.thumb .slick-slide {
  cursor: pointer;
}
.thumb .slick-slide:hover {
  opacity: .7;
}


/*.full-screen*/


.full-screen .slick-list {
  overflow: visible;
}
.full-screen.slider {
  max-width: 300px;
  margin: 0 auto;
}



/*----------------------------------------------------
ニュース(mainNews)
----------------------------------------------------*/
.newsWrap {
  border:4px solid #D8D8D8;
  border-radius: 5px;
  background: #fff;
  padding:20px;
  box-sizing: border-box;
  height: 275px;
  overflow-y: auto;
}
.newslist li+li{
  margin-top: 12px;
  border-top: 1px solid #E4E4E4;
  padding-top: 12px;
}
.newslist .date,
.newslist .title  {
  font-size: 13px;
  font-weight: 500;
}
#mainNews .btn_round {
  width: 200px;
}
#mainNews .btn_round::before {
  left: 25px;
}
@media screen and (min-width: 751px) {
  .newsWrap {
    padding:30px 30px;
    height: 175px;
  }
  .newslist .date,
  .newslist .title  {
    font-size: 14px;
  }
  .newslist .entry {
    display: flex;
  }
  .newslist .date {
    width: 115px;
  }
  .newslist .title  {
    width: calc(100% - 0px);
  }
  #mainNews .btn_round {
    line-height: 50px;
    border-radius: 29px;
    padding-left: 50px;
    transition: all 0.3s;
  }
  #mainNews .btn_round:hover:before {
    left: 30px;
  }
}
@media screen and (min-width: 1061px) {
  .newsWrap {
    padding:30px 45px;
  }
  .textlink {
    text-decoration: underline;
    transition: all 0.3s;
  }
}
@media screen and (min-width: 751px) {
  .textlink:hover {
    color:#F48100;
    text-decoration: underline;
  }
}

/*----------------------------------------------------
stage
----------------------------------------------------*/
#stage .textInfo{

}
/*----------------------------------------------------
outline
----------------------------------------------------*/
#outline .text{
  font-size: 1.125em;
  font-weight: bold;
  line-height: 2em;
}
@media screen and (min-width: 751px){
  #outline .text{
    /*font-size: 16px;*/
  }
}

#outline .olInfo{
  background:#fff;
  padding:15px;
  box-sizing: border-box;
  border-radius: 4px;
  margin-top: 30px;
}
#outline .label {
  display: inline-block;
  width: 70px;
  font-weight: bold;
}
#outline .value {
  display: inline-block;
  width: calc(100% - 75px);
  vertical-align: top;
}
#outline .olInfo li:not(:last-child){
  margin-bottom: 15px;
  line-height: 50px;
}
@media screen and (min-width: 751px){
  #outline .olInfo{
    padding:30px 40px;
    font-size: 15px;
    margin-top: 50px;
  }
  #outline .label {
    width: 80px;
  }
  #outline .value {
    width: calc(100% - 85px);
  }

}

/*----------------------------------------------------
guideMap
----------------------------------------------------*/

@media screen and (max-width: 750px){
  #guideMap{
    overflow: hidden;
  }
  #guideMap .image{
    margin-left: -25px;/*-3.33334%;*/
    margin-right: -25px;/*-3.33334%;*/
  }
}

/*---------------------------
もっと見る
---------------------------*/
@media screen and (max-width: 750px) {
  .bg_white {
    margin:0;
  }
  #pageHomeDetail .btnWrap {
    margin-top: 40px;
  }
}
@media screen and (min-width: 751px) {
/*  body#pageParkDetail {
    font-size: 16px;
  }*/
  .bg_white{
    padding: 70px 60px;
  }
  .section{
    padding:70px 0;
  }
  #pageHomeDetail .btnWrap {
    margin-top: 60px;
  }
  .contents .pc_center {
    text-align: center;
  }
}
/*---------------------------
動画配信アーカイブ2
---------------------------*/
.archive2 {
  padding:80px 0 40px;
}
.archive2 .bg_white {
  background: transparent;
  padding: 50px 0px 0;
}
.movie {
  position: relative;
  display: block;
  width: 100%;/*横幅いっぱいにwidthを指定*/
  height:0px;/*高さはpaddingで指定するため0*/
  padding-top: 56.25%;/*高さを指定（padding-bottomでも同様)*/
  overflow: hidden;
  z-index: 0;
}
.movie iframe,
.movie img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.v_title,
.v_text {
  margin-top: 20px;
}
.v_title {
  font-size: 17px;
  font-weight: bold;
}
.v_text{
  line-height: 2.14em;
}

@media screen and (max-width: 750px) {
  .movies>li:not(:first-child){
    margin-top:20px;
  }

}
@media screen and (min-width: 751px) {
  .archive2 {
    padding: 110px 0 70px;
  }
  .archive2 .bg_white {
    padding: 70px 0px 0;
  }
  .movies_wrap {
    margin-top: 40px;
    width: 103%;
    margin-left: -1.5%;
  }
  .movies {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .movies.pc_col4 {
    justify-content: space-between;
  }
  .movies.pc_col4>li {
    width: 24%;
  }
  .movies.pc_col4::after {
    content: "";
    display: inline-block;
    width: 24%;
  }
  .movies.pc_col4::before {
    content: "";
    display: inline-block;
    width: 24%;
    order: 1;
  }
  .movies:not(.pc_col4) li {
    margin:0 1%;
    width: 31%;
  }
  .movies:not(.pc_col4) li:nth-child(n+4) {
    margin-top: 40px;
  }
  .movies.pc_col4 li:nth-child(n+5) {
    margin-top: 40px;
  }

}
/*---------------------------
動画配信アーカイブ
---------------------------*/
.archive {
  padding:80px 0 40px;
}
.archive .bg_white {
  background: transparent;
  padding: 50px 0px 0;
}
.movie {
  position: relative;
  display: block;
  width: 100%;/*横幅いっぱいにwidthを指定*/
  height:0px;/*高さはpaddingで指定するため0*/
  padding-top: 56.25%;/*高さを指定（padding-bottomでも同様)*/
  overflow: hidden;
  z-index: 0;
}
.movie iframe,
.movie img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.v_title,
.v_text {
  margin-top: 20px;
}
.v_title {
  font-size: 17px;
  font-weight: bold;
}
.v_text{
  line-height: 2.14em;
}

@media screen and (max-width: 750px) {
  .movies>li:not(:first-child){
    margin-top:20px;
  }

}
@media screen and (min-width: 751px) {
  .archive {
    padding: 110px 0 70px;
  }
  .archive .bg_white {
    padding: 70px 0px 0;
  }
  .movies_wrap {
    margin-top: 40px;
    width: 103%;
    margin-left: -1.5%;
  }
  .movies {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  .movies.pc_col4 {
    justify-content: space-between;
  }
  .movies.pc_col4>li {
    width: 24%;
  }
  .movies.pc_col4::after {
    content: "";
    display: inline-block;
    width: 24%;
  }
  .movies.pc_col4::before {
    content: "";
    display: inline-block;
    width: 24%;
    order: 1;
  }
  .movies:not(.pc_col4) li {
    margin:0 1%;
    width: 31%;
  }
  .movies:not(.pc_col4) li:nth-child(n+4) {
    margin-top: 40px;
  }
  .movies.pc_col4 li:nth-child(n+5) {
    margin-top: 40px;
  }

}
/*---------------------------
パーク用ボタン
---------------------------*/
.btn_round_shadow {
  position: relative;
  display: inline-block;
  height: 50px;
  width: 100%;
  max-width: 335px;
  border-radius: 25px;
  box-sizing: border-box;
}
.btn_round_shadow::before {
  content:"";
  display: block;
  position: absolute;
  z-index: 2;
  width: 0;
  height: 0;
  left: 20px;
  top: calc(50% - 5px);
  border-style: solid;
  border-width: 5px 0 5px 8.7px;
  border-color: transparent transparent transparent #FFF33F;
}
.btn_round_shadow.high {
  height: 60px;
  border-radius: 30px;
}
.btn_round_shadow span{
  position: absolute;
  color:#fff;
  font-weight: bold;
  top: 50%;
  left: 50%;
  transform:translate(-50%,-50%);
  text-align: center;
  width: 100%;
  padding: 0 15px 0 25px;
  line-height: 1.4;
  z-index: 1;
}
.btn_round_shadow.orange {
  background: #FF9D2E;
  box-shadow: 0px 4px 0px 0px #F58200;
}
.btn_round_shadow.red {
  background: #F06441;
  box-shadow: 0px 4px 0px 0px #E43B10;
}
.btn_round_shadow.green {
  background: #22AC37;
  box-shadow: 0px 4px 0px 0px #0A7400;
}
.btn_round_shadow.blue {
  background: #3A6DCC;
  box-shadow: 0px 4px 0px 0px #0261AC;
}
.btn_round_shadow.yellow {
  background: #FFF33F;
  box-shadow: 0px 4px 0px 0px #D8CC15;
}
.btn_round_shadow.yellow span {
  color:#0061AC;
}
.btn_round_shadow.yellow::before {
  border-color: transparent transparent transparent #0061AC;
}
@media screen and (min-width: 751px) {
  .btn_round_shadow {
    max-width: 240px;
    transition: all 0.3s;
  }
  .btn_round_shadow:hover {
    /*opacity: 0.8;*/
    box-shadow: none;
  }
}

/*---------------------------
モーダル(magnificpopup)
---------------------------*/

.mfp-iframe-holder .mfp-content {
  width: 90%;
}
.mfp-image-holder .mfp-close, .mfp-iframe-holder .mfp-close {
  color: transparent;
  background: url(../images/park/modal_close.png) no-repeat;
  background-size: 30px 30px;
  background-position: right center;
}
a.movie::before,
a.movie::after {
  content: "";
  display: block;
  position: absolute;
}
a.movie::before {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  right: 0;
  bottom: 0;
  background: rgba(0,0,0,0.3);
  z-index: 1;
  transition: all 0.3s;
}
a.movie::after {
  width: 40px;
  height: 40px;
  top: calc(50% - 20px);
  left: calc(50% - 20px);
  background: url(../images/park/icon_mov.png) no-repeat;
  background-size: contain;
  z-index: 2;
  transition: all 0.3s;
}
@media screen and (min-width: 751px) {
  a.movie:hover::before {
    background: rgba(0,0,0,0.0);
  }
}
/*---------------------------
アンケートはこちら
---------------------------*/
a.goto_questionnaire {
  color:#E43B10;
  font-weight: bold;
  text-decoration: underline;
  transition: all 0.3s;
}
@media screen and (min-width: 751px) {
  a.goto_questionnaire:hover {
    color: orange;
  }
}


















/* 2022.1月追加 */
/*----------------------------------------------------
★メインビジュアル
----------------------------------------------------*/

#mainVisual3 {
  position: relative;
}


/* スマホ */
@media screen and (max-width: 751px) {

  #mainVisual3 .kv_bg {
    background: url( ../common/images/kv3_pc.jpg );
    background-repeat: repeat-x;
    background-size: cover;
    background-position: top 0px center;
    height: 100vh;
    min-height: 312px;
    max-height: 800px;
  }
  #mainVisual3 .movieArea {
    margin: 0 0 32px;
  }
  #mainVisual3 .mainVisual_wrap {
    background: url(../common/images/kv3_pc_illust.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 auto;
    position: relative;
    top: 37.2%; 
    padding: 20px 30px 30px ;
    width: 500px;

  }
  #mainVisual3 .movieArea iframe{
    height: 240px;
    width: 100%;
  }
  #mainVisual3 .title_wrap {
    position: absolute;
    top: 40px;
    left: 50%;
    transform: translateX( -50% );
    width: 500px;
  }
  #mainVisual3 .ribbonTitle {
    position: absolute;
    bottom: 100px;
  }
}
@media screen and (max-width: 500px) {
  #mainVisual3 .kv_bg {
    height: 100vh;
    min-height: 212px;
    max-height: 600px;
  }
  #mainVisual3 .mainVisual_wrap {
    background: url(../common/images/kv3_pc_illust.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 auto;
    position: relative;
    top: 43.2%; 
    padding: 20px 30px 30px ;
    width: 340px;
  }
  #mainVisual3 .movieArea iframe{
    height: 165px;
    width: 100%;
  }
  #mainVisual3 .title_wrap {
    position: absolute;
    top: 10px;
    width: 100%;
  }
  #mainVisual3 .ribbonTitle {
    position: absolute;
    bottom: 50px;
  }
}


@media screen and (max-width: 374px) {
  #mainVisual3 .kv_bg {
    height: 100vh;
    min-height: 212px;
    max-height: 500px;
  }
  #mainVisual3 .mainVisual_wrap {
    background: url(../common/images/kv3_pc_illust.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 auto;
    position: relative;
    top: 37.8%; 
    width: 310px;

  }
  #mainVisual3 .movieArea iframe{
    height: 145px;
    width: 100%;
  }
  #mainVisual3 .title_wrap {
    position: absolute;
    top: 20px;
    width: 100%;
  }
  #mainVisual3 .ribbonTitle {
    position: absolute;
    bottom: 30px;
  }
}


/* PC */
@media screen and (min-width: 751px) {
  #mainVisual3 .kv_bg {
    background: url( ../common/images/kv3_pc.jpg );
    background-repeat: repeat-x;
    background-size: cover;
    background-position: top -70px center;
    height: 864px;
    margin: 0 0 -70px;
  }
  #mainVisual3 .movieArea {
    width: 100%;
    height: 380px;
  }
  #mainVisual3 .mainVisual_wrap {
    position: relative;
    background: url(../common/images/kv3_pc_illust.png);
    background-size: contain;
    background-repeat: no-repeat;
    margin: 0 auto;    
    width: 760px;
    top: 250px;
    padding: 30px 40px 40px;
  }
  #mainVisual3 .movieArea iframe {
    width: 679px;
    height: 100%;
  }
  #mainVisual3 .title_wrap {
    position: absolute;
    top: 0px;
    left: 50%;
    transform: translateX( -50% );
    width: 500px;
  } 
  #mainVisual3 .ribbonTitle {
    position: absolute;
    bottom: 90px;
  }
}
@media screen and (min-width: 1200px){
  #mainVisual3 .kv_bg {
    height: 864px;
    margin: 0 0 -70px;
  }
}

@media screen and (min-width: 1366px){

  #mainVisual3 .kv_bg {
    background: url( ../common/images/kv3_pc.jpg );
    background-repeat: repeat-x;
    background-size: cover;
    background-position: top -80px center;
  }
}

@media screen and (min-width: 1650px){
  #mainVisual3 .kv_bg {
    background-size: contain;
    background-position: top -70px center;
  }
}

/*----------------------------------------------------
★フライヤー
----------------------------------------------------*/

/* 改行 */
.brsp {
  display: block;
}

.brpc {
  display: none;
}
@media screen and (min-width: 751px){
  .brsp {
    display: none;
  }  
  .brpc {
    display: block;
  }
}


.flyer .text {
  color: #48B148;
  font-size: 18px;
  line-height: 1.8;
  margin-bottom: 50px;
}
.flyer .btn_wrap {
  text-align: center;
}
.flyer .btn_flyer {
  background-color: #E73D0C;
  color: white;
  border-radius: 20px;
  padding: 15px 25px;
  display: block;
  margin: 0 auto;
  max-width: 294px;
  font-size: 17px;
  font-weight: bold;
}
.flyer .btn_flyer_long {
  background-color: #E73D0C;
  color: white;
  border-radius: 20px;
  padding: 15px 25px;
  max-width: 500px;
  margin: 0 auto;
  display: block;
  font-size: 17px;
  font-weight: bold;
}
.flyer .btn_flyer_long br {
  display: block;
}


@media screen and (min-width: 751px){
  .flyer .text {
    text-align: center;
    font-size: 24px;
  }  
  .flyer .btn_flyer {
    display: inline;
    font-size: 20px;
    transition: all 0.3s;
    border: 1px solid #E73D0C;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }
  .flyer .btn_flyer_long {
    display: inline;
    font-size: 20px;
    transition: all 0.3s;
    border: 1px solid #E73D0C;
    width: 100%;
    height: 100%;
    cursor: pointer;
  }
  .flyer .btn_flyer_long br {
    display: none;
  }
  .flyer .btn_flyer:hover {
    opacity: 0.8;
  }
}
.flyer .character {    
  position: relative;
  display: flex;
  justify-content: space-between;
}
.flyer .character .yaoya,
.flyer .character .fish {
  position: absolute;
  bottom: -50px;
}
.flyer .character .yaoya {
  right: -15px;
}
.flyer .character .fish {
  left: -15px;
}

/* キャラクター */
@media screen and (min-width: 751px){
  .flyer .character .yaoya,
  .flyer .character .fish {
    position: absolute;
    bottom: -70px;
  }
  .flyer .character .yaoya {
    right: 0;
  }
}

/*----------------------------------------------------
★おすすめの動画
----------------------------------------------------*/
#movie_recommend iframe{
  position: relative;
  width: 100%;  
  min-height: 200px;
}
#movie_recommend .character {
  position: relative;
}

#movie_recommend .character .guide {
  position: absolute;
  left: -0px;
}


@media screen and (min-width: 751px){

  #movie_recommend iframe{
    min-height: 250px;
    width: 100%;  
  }
  #movie_recommend .character .guide {
    position: absolute;
    left: -0px;
    bottom: 300px;
  }
}

@media screen and (min-width: 1210px){
  #movie_recommend .character .guide {
    position: absolute;
    left: -100px;
    bottom: -70px;
  }
}