/*	info (2020.04.01)
============================== */
div.top-info {
	background-color:#fff;
}
@media all and (min-width: 768px) {
div.top-info {
	width:980px;
	margin:20px auto;
}
div.top-info div.inner {
	padding: 10px 30px;
}
div.top-info div.inner p {
	line-height:1.75;
}
}
@media all and (max-width: 767px) {
div.top-info {
	margin: 1em 0;
}
div.top-info div.inner {
	padding: 7px 12px;
}
div.top-info div.inner p {
	font-size:87.5%;
	line-height:1.5;
}
}


/*	mainpic
============================== */
@media all and (min-width: 768px) {
  .idx div.mainpic {
    margin: 0 auto 10px;
  }
  .idx div.mainpic p {
    width: 980px;
    height: 667px;
    margin: 0 auto;
    overflow: hidden;
    text-indent: 110%;
    white-space: nowrap;
    position: relative;
  }
  .idx2 div.mainpic p {
    width: 980px;
    height: 634px;
    margin: 0 auto 30px;
    overflow: hidden;
    text-indent: 110%;
    white-space: nowrap;
    position: relative;
  }
  .idx3 div.mainpic p {
    width: 980px;
    height: 654px;
    margin: 0 auto 30px;
    overflow: hidden;
    text-indent: 110%;
    white-space: nowrap;
    position: relative;
  }

  .idx header div.inner {
    /* height: 720px; */
    margin: 0 auto;
  }
}

@media all and (max-width: 767px) {
  div.mainpic p {
    display: block;
    background-color: #fff;
    white-space: nowrap;
    overflow: hidden;
    text-indent: 110%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    position: relative;
    height: 0;
    padding-top: 70.7142857142857%;
    margin-bottom: 2%;
  }
  div.mainpic p img {
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
}

@media all and (min-width: 768px) {
    div.wnew {
    margin: 0 auto;
  }
}
li.glide__slide {
  padding: 5em;
  background-color: #ffd2ad;

}
.slider{
    /* margin: 100px auto; */
    /* width: 80%; */
}
.slider img{
    height: auto;
    width: 100%;
}
/*slick setting*/
@media all and (min-width: 768px) {
  .slick-prev {
    left: 0;
    z-index: 1;
  }
  .slick-next {
    right: 0;
    z-index: 5;
  }
}
@media all and (max-width: 767px) {
  .slick-prev {
    left: 5%;
    z-index: 1;
  }
  .slick-next {
    right:5%;
    z-index: 5;
  }
}
.slick-prev:before,
.slick-next:before {
    color: #000;
}

.slider-container {
  display: none;
  position: relative;
}
.slider-container.initialized {
  display:block;
}
.slider {
  overflow: hidden;
}
.slider-arrow {
  position: absolute;
  top: 50%;
  height: 36px;
  margin-top: -18px;  /* &#195;&#169;&#194;&#171;&#203;&#339;&#195;&#163;&#194;&#129;&#226;&#8364;&#162;&#195;&#163;&#194;&#129;&#194;&#174;&#195;\&#194;&#141;&#197;&#160;&#195;\&#203;&#226;&#8364;&#160;&#226;&#8364;&#160;&#195;&#163;&#194;&#129;&#194;&#160;&#195;&#163;&#194;&#129;&#226;&#8364;&#732;&#195;&#163;&#198;&#226;&#8364;&#8482;&#194;&#141;&#195;&#163;&#226;&#8364;&#353;&#194;&#172;&#195;&#163;&#198;&#226;&#8364;&#8482;&#226;&#8364;&#160;&#195;&#163;&#226;&#8364;&#353;&#194;&#163;&#195;&#163;&#198;&#226;&#8364;&#8482;&#226;&#8364;&#226;&#8364;&#339;&#195;&#163;&#198;&#226;&#8364;&#8482;&#197;&#190;&#195;&#163;&#198;&#226;&#8364;&#8482;&#194;&#188;&#195;&#163;&#226;&#8364;&#353;&#194;&#184;&#195;&#163;&#198;&#226;&#8364;&#8482;&#194;&#179; */
  color: #bd77f2;
  line-height: 36px;
  font-size: 28px;
  cursor: pointer;
  z-index: 10;  /* &#195;&#169;&#226;&#8364;&#161;&#194;&#141;&#195;&#194;&#194;&#194;&#194;&#194;&#194;&#194;&#194;&#194;&#194;?&#194;&#166;&#194;&#129; */
}
.slider-prev {
  left: 0;
}
.slider-next {
  right: 0;
}
@media all and (min-width: 768px) {
  .slick-slide {
    margin: 0 10px;  /* &#195;&#163;&#226;&#8364;&#353;&#194;&#172;&#195;&#163;&#226;&#8364;&#353;&#194;&#191;&#195;&#163;&#198;&#226;&#8364;&#8482;&#194;&#188; */
  }
}
@media all and (max-width: 767px) {
  .slick-slide {
    margin: 0 6px;  /* &#195;&#163;&#226;&#8364;&#353;&#194;&#172;&#195;&#163;&#226;&#8364;&#353;&#194;&#191;&#195;&#163;&#198;&#226;&#8364;&#8482;&#194;&#188; */
  }
}
.slick-slide {
  color: #fff;
  font-size: 1.1em;
}

/*	.idx h2
============================== */
.idx h2 {
  overflow: hidden;
  text-indent: 110%;
  white-space: nowrap;
  background-repeat: no-repeat;
  background-size: cover;
  margin: 0 auto;
  padding: 0px 0;
}
.sns_tl h2 {background-image: url(../img/top/h2_sns.png);}
.story h2 {background-image: url(../img/top/h2_story.png?1);}
#wnew h2 {background-image: url(../img/top/h2_wnew.png?1);}
@media all and (min-width: 768px) {
  .idx h2 {
    width: 288px;
    height: 119px;
    margin-bottom: 25px;
  }
}
@media all and (max-width: 767px) {
  .idx h2 {
    width: 40%;
    white-space: nowrap;
    overflow: hidden;
    text-indent: 110%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    position: relative;
    height: 0;
    padding-top: 16.52777777777782%;
    margin: 0 auto 0.5em;
  }
  .idx h2 span {
    display: block;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
}
/*	wnew
============================== */
.wnew {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: top;
  /* background-color: #fff; */
}
@media all and (min-width: 768px) {
  .wnew {
    background-size: 100%;
  }
}
@media all and (max-width: 767px) {
  .wnew {
    background-size: 150%;
  }
}
/*	story
============================== */
.story .btn {
  width: max-content;
  margin: 0;
  display: inline-block;
}
.story .btn span {
  padding: 0 1.5em 0 3em;
}
.story {background-color: #000;}
.trailer {
  margin: 0 auto 3%;
}
.story .oa {
  text-align: center;
  color: #fff;
  margin-bottom: 2em;
  font-family: urw-din, source-han-sans-japanese, sans-serif;
  font-weight: 900;
  font-style: normal;
  letter-spacing: 0.25em;
}
.story .ntxt {
  font-weight: 400;
  line-height: 1.5;
  margin-bottom: 1em;
  overflow: hidden;
}
.ntxt span {
  /* display: -webkit-box; */
  /* -webkit-box-orient: vertical; */
}
.story p.npic .lazy-done {
  -webkit-animation: fadeInUp 500ms;
  animation: fadeInUp 500ms;
}
.story p.nbtn a.lazy-done {
  -webkit-animation: bounceInRight 1100ms;
  animation: bounceInRight 1100ms;
}


@media all and (min-width: 768px) {
  .ntxt span {
    -webkit-line-clamp: 7;
  }
  .story {
    background-size: cover;
    padding-bottom: 2em;
    padding: 42px 0 70px;
    text-align: center;
  }
  .story .oa .ep {
    font-size: 50px;
    color: #f9e401;
  }
  .story .oa .date {
    font-size: 50px;
  }
  .story .oa .time {
    font-size: 43px;
    font-family: source-han-sans-japanese, sans-serif;
    font-weight: 900;
    font-style: normal;
    display: inline-block;
    vertical-align: 2px;
  }
  .story .ntxt {
    color: #fff;
    width: 312;
    height: 205px;
    /* float: left; */
    font-size: 18px;
    letter-spacing: 0.1em;
    text-align: justify;
    line-height: 30px;
    overflow: hidden;
  }
  .story span.npic {
    display: block;
    width: 450px;
    height: 300px;
    float: left;
    white-space: nowrap;
    text-indent: 110%;
    overflow: hidden;
    margin-right: 38px;
    position: relative;
    background-size: cover;
  }
  .story a.nbtn {
    position: absolute;
    display: block;
    width: 312px;
    height: 60px;
    background-size: cover;
    float: left;
    white-space: nowrap;
    text-indent: 110%;
    overflow: hidden;
    bottom: 0;
    right: 0;
  }
  .story .ncont {
    width: 800px;
    margin: 0 auto;
    position: relative;
  }
}
@media all and (max-width: 767px) {
  .ntxt span {
    -webkit-line-clamp: 6;
  }
  .story {
    padding: 3% 2.5%;
    text-align: center;
  }
  .story .oa {
    margin-bottom: 3%;
    font-size: 7.2vw;
    letter-spacing: 0.1em;
    border-top: 0.5em solid #fff;
    border-bottom: 0.5em solid #fff;
    padding: 0.2em 0 0.33em;
  }
  .story .ntxt {
    color: #fff;
    text-align: justify;
    height: 8.5em;
    overflow: hidden;
    font-size: 3.5vw;
    font-weight: bold;
  }
  .story span.npic {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-indent: 110%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    position: relative;
    float: left;
    width: 47%;
    height: 0;
    margin-right: 2%;
    padding-top: 32.000000000000016%;
  }
  .story span.npic span {
    display: block;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
  .story a.nbtn {
    display: block;
    width: 100%;
    height: 60px;
    background-position: center right;
    background-size: cover;
    white-space: nowrap;
    text-indent: 110%;
    overflow: hidden;
  }
}
/*	top menu
============================== */
@media all and (min-width: 768px) {
  .mmenu li.lazy {
    background: none!important;
    margin-bottom: 35px;
  }
  .ch-grid {
    width: 980px;
    margin: 0 auto;
  }
  .ch-grid li {
    width: 210px;
    height: 210px;
  }
  .mmenu li.lazy:not(:nth-child(4n)) {
    margin-right: 30px;
  }
}
@media all and (max-width: 767px) {
  .mmenu ul {
    padding: 2%;
  }
  .mmenu li {
    display: block;
    width: 49%;
    float: left;
    background-size: 100%;
    background-repeat: no-repeat;
    margin-bottom: 2%;
  }
  .mmenu li:nth-child(odd) {
    margin-right: 2%;
}
  .mmenu li a {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-indent: 110%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    position: relative;
    height: 0;
    padding-top: 42.5925925925926%;
  }
  .mmenu li a > div {
    display: block;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
}
/*	ct
============================== */
.ct ul {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  flex-wrap: wrap;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content: center;
}
.ct li a {
  display: block;
  /* overflow: hidden; */
  /* text-indent: 110%; */
  /* white-space: nowrap; */
}
.ct li a.lazy-done {
  -webkit-animation: slideInUp 500ms;
  animation: slideInUp 500ms;
}
.banner_area {
	background-color: #000;
	background-image: none!important;
}

@media all and (min-width: 768px) {
  .ct {
    background-image: url(../img/top/dotbg.png);
  }
  .ct .inner {
    width: 970px;
    margin: 0 auto;
    padding: 40px 0;
    /* background-image: url(../img/top/dotbg.png); */
  }
	.banner_area ul {
		width: 980px;
	}
  .ct li a {
    width: 215px;
    height: 170px;
    margin-bottom: 40px;
    margin: 14px 15px;
  }
}
@media all and (max-width: 767px) {
	.banner_area p.center {
			padding: 0.5em 0 0;
			line-height: 1.5;
			font-size: 3vw;
	}
  .ct ul {
    padding: 2% 1%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .ct li {
    display: block;
    width: 48%;
    /* float: none; */
    margin: 0 auto;
    background-size: 100%;
    background-repeat: no-repeat;
    margin-bottom: 2%;
  }
  .ct li:nth-child(odd) {
    /* margin-right: 2%; */
  }
  .ct li a {
    display: block;
    /* white-space: nowrap; */
    /* overflow: hidden; */
    /* text-indent: 110%; */
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    position: relative;
    height: 0;
    padding-top: 79.0697674418605%;
  }
  .ct li a span {
    display: block;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
}
/*	spct
============================== */
.spct {
	background-color: #f9e403;
	background-image: none;
}
.spct ul {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  flex-wrap: wrap;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content: space-around;
}
.spct li a {
  display: block;
  /* overflow: hidden; */
  /* text-indent: 110%; */
  /* white-space: nowrap; */
}
.spct li a.lazy-done {
  -webkit-animation: slideInUp 500ms;
  animation: slideInUp 500ms;
}
.banner_area {
	background-color: #000;
	background-image: none!important;
}

@media all and (min-width: 768px) {
  .spct .inner {
    width: 980px;
    margin: 0 auto;
    padding: 40px 0;
    /* background-image: url(../img/top/dotbg.png); */
  }
  .spct li a {
    width: 470px;
    height: 130px;
    margin-bottom: 20px;
    /* margin: 14px 15px; */
  }
}
@media all and (max-width: 767px) {
  .spct ul {
    padding: 2% 1%;
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
  }
  .spct li {
    display: block;
    width: 98%;
    /* float: none; */
    margin: 0 auto;
    background-size: 100%;
    background-repeat: no-repeat;
    margin-bottom: 2%;
  }
  .spct li:nth-child(odd) {
    /* margin-right: 2%; */
  }
  .spct li a {
    display: block;
    /* white-space: nowrap; */
    /* overflow: hidden; */
    /* text-indent: 110%; */
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    position: relative;
    height: 0;
    padding-top: 27.659574468085106%;
  }
  .spct li a span {
    display: block;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
}


/*	bn
============================== */
.bn ul {
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  flex-wrap: wrap;
  -webkit-box-pack:justify;
  -ms-flex-pack:justify;
  justify-content: space-between;
}
.bn li:not(.rct) a {
  display: block;
  overflow: hidden;
  text-indent: 110%;
  white-space: nowrap;
}
.bn li:not(.rct) a.lazy-done {
  -webkit-animation: flipInX 700ms;
  animation: flipInX 700ms;
  box-shadow: 5px 5px 0px 0px #f9e401;
}
@media all and (min-width: 768px) {
  .bn {
  background-color: #000;
  }
  .bn .inner {
    width: 980px;
    margin: 0 auto;
    padding: 40px 0 20px;
    /* background-image: url(../img/top/dotbg.png); */
  }
  .bn li:not(.rct) a {
    width: 215px;
    height: 170px;
    position: relative;
    margin-bottom: 40px;
    /* margin: 14px 15px; */
  }
}
@media all and (max-width: 767px) {
  .bn ul {
    padding: 1%;
    display: flex;
    flex-wrap: wrap;
  }
  .bn li:not(.rct) {
    display: block;
    width: 48%;
    float: none;
    margin: 0 auto;
    background-size: 100%;
    background-repeat: no-repeat;
    margin-bottom: 2%;
  }
  .bn li:not(.rct) a {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-indent: 110%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 100%;
    position: relative;
    height: 0;
    padding-top: 83.3333333333333%;
  }
  .bn li:not(.rct) a span {
    display: block;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
  .rct {
    margin: 0 auto 3%;
  }
}
/*	bn
============================== */
@media all and (min-width: 768px) {
  .bn li:not(.rct) a {
    width: 300px;
    height: 250px;
    position: relative;
    margin-bottom: 40px;
    /* margin: 14px 13px; */
  }
}
#twTL h3 a {
  background-image: url(../img/top/snsttl_tw.png);
}
#fbTL h3 a {
  background-image: url(../img/top/snsttl_fb.png);
}


/*	update
============================== */
div.menu ul li a:not(.lazy-done) > time {
  display: none;
}
div.menu ul li a.lazy-done > time {
  display: block;
  text-align: center;
  color: #fff;
  font-size: 75%;
  line-height: 1.75;
  position: absolute;
  right: -3px;
  top: -8px;
  /* background-image: url(../img/idx_icon_news.png); */
  background-color: #ff334e;
  width: 62px;
  z-index: 10;
}
div.menu ul li a {
  position: relative;
  display: block;
  background-size: 100%;
}
div.menu ul li a span {
  display: block;
  overflow: hidden;
  white-space: nowrap;
  text-indent: 110%;
  width: 100%;
  height: 100%;
}

/*	calpush
============================== */
div.event a {
  display: block;
  background-image: url(../img/top/calpush_btn.jpg);
  background-size: contain;
  background-position: center;
  background-repeat: no-repeat;
}

@media all and (min-width: 768px) {
  div.event a {
    width: 980px;
    height: 110px;
    margin: 0 auto;
    background-color: #000;
    border-radius: 10px;
    overflow: hidden;
    white-space: nowrap;
    text-indent: 110%;
    border: 4px solid #000;
    box-sizing: border-box;
  }
  div.event a:hover {
    background-image: url(../img/top/calpush_btn_h.jpg);
    background-color: #fff;
  }
}
@media all and (max-width: 767px) {
  div.event {
    padding: 0 1%;
  }
  div.event a {
    display: block;
    white-space: nowrap;
    overflow: hidden;
    text-indent: 110%;
    background-position: center;
    background-repeat: no-repeat;
    background-size: 93%;
    position: relative;
    height: 0;
    padding-top: 21.09375%;
    margin: 0;
    border-radius: 15vw;
    background-color: #000;
  }
  div.event a span {
    display: block;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    width: 100%;
  }
}



/*	mainmenu  */
.mainmenu .container {
  display: flex;
  /* font-family: toppan-bunkyu-mincho-pr6n, serif; */
  font-weight: bold;
  font-style: normal;
  text-align: center;
  justify-content: space-around;
  background-image: url(../img/mainmenu_bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}
.mainmenu .container .item {
  flex-grow: 2;
}
.mainmenu .container .item span.j {
  letter-spacing: 0.1em;
  padding-top: 1em;
  display: block;
}
.mainmenu .container .item a {
  display: block;
  width: 100%;
  color: #fff;
  font-family: urw-din, source-han-sans-japanese, sans-serif;
  letter-spacing: 0.1em;
}
@media all and (min-width: 768px) {
  .mainmenu {
    width: 980px;
    margin: 0 auto 40px;
  }
  .mainmenu .container {
    background-color: #000;
    padding: 1em 0;
  }
  .mainmenu .container .item {
    font-size: 20px;
  }
  .mainmenu .container .item a:not(.nolink):hover {
    color: #f9e401;
  }
  .mainmenu .container .item span.j {
    font-size: 13px;
  }
  .mainmenu .container .item:not(:last-child) {
    border-right: 1px solid #f9e401;
  }
}
@media all and (max-width: 767px) {
  .mainmenu .container {
    display: flex;
    flex-wrap: wrap;
    background-color: #000;
    margin-bottom: 10px;
    padding: 1.5px;
  }
  .mainmenu .container .item {
    width: 50%;
    font-size: 3.5vw;
    font-weight: bold;
    box-sizing: border-box;
    padding: 1.5px;
  }
	.mainmenu .container .item:nth-child(1),
	.mainmenu .container .item:nth-child(3) {
    border-right: 0px solid #f9e401;
  }
  .mainmenu .container .item:nth-child(-n+6) {
    border-bottom: 0px solid #f9e401;
  }
  .mainmenu .container .item a {
    color: #fff;
    padding: 0.4em 0;
    letter-spacing: 0.2em;
    font-size: 120%;
    border: 1px solid yellow;
    box-sizing: border-box;
  }
  .mainmenu .container .item span.j {
    font-size: 2.5vw;
    letter-spacing: 0.1em;
    color: #f9e401;
  }
  .mainmenu .container .item span.jkn {
    letter-spacing: 0;
  }
}
