@charset "UTF-8";
* {
  list-style: none;
  margin: 0;
  padding: 0;
  -webkit-font-feature-settings: 'palt';
  font-feature-settings: 'palt';
  -webkit-text-size-adjust: 100%;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}
h4,
h4:before,
h4:after {
  content: none;
  background: none;
  background-color: none;
  border: none;
  border-radius: 0;
}
img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
}

a {
  color: #1288d3;
}

body {
	background-size: 500px;
	background-color: #fff;
	color: #1288d3;
	font-family: Helvetica, 'Noto Sans Japanese', 游ゴシック, 'Yu Gothic Medium', 'Hiragino Sans', 'メイリオ', Meiryo, sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.75;
	text-align: center;
                                letter-spacing:0.15em;
	position: relative;
	-webkit-tap-highlight-color: transparent;
	background-attachment: fixed;
}
header {
	background-size: 100% auto;/*背景画像を横幅いっぱいに表示*/
}
header h2 {
	background-color: #47bcec;
	/*background: -webkit-linear-gradient(left, #888 2%, #333 50%, #888 98%);*/
	/*background: linear-gradient(to right, #252429 2%, #3d3c42 50%, #252429 98%);*/
	border-bottom: 1px solid #afdeec;
	padding: 12px 0;
}
header h2 img {
  height: 14px;
}

footer {
  background-color: #fff;
  color: #1288d3;
  /*border-top: 1px solid #ddd;*/
  font-size: 12px;
  line-height: 1.4;
  padding: 14px 0;
}

.center{
	text-align:center;
}
.left{
	text-align:left;
}
.right{
	text-align:right;
}
.bold{
	font-weight: bold;
}

dl.kn-notesns {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  margin: 0;
  padding: 4px 0;
  -webkit-box-align: center;
  -webkit-align-items: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
  -ms-flex-pack: center;
  justify-content: center;
  background-color: #fff;
}

dl.kn-notesns dt,
dl.kn-notesns dd {
  padding: 0 20px;
}

.kn-notecaution {
  font-size: 12px;
  padding: 0 5% 12px;
}

.kn-notecaution li::before {
  content: '※';
}

.btn-apply {
  display: block;
  margin-bottom: 10px;
}
.btn01 {
  display: block;
  background-color: #fff;
  color: #1288d3;
  border: 1px solid #1288d3;
  margin: 10px;
  padding: 14px 0 1px;
  font-size:0.9rem;
  font-weight:bold;
  text-align: center;
  text-decoration: none;
}
.btn01 a{
  display: block;
  color: #1288d3;
  text-decoration: none;
}
.btn01 span{
  color: #1288d3;
  position: relative;
  padding-right: 15px;
}
.btn01 span::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 2px solid #1288d3;
  border-right: 2px solid #1288d3;
  transform: rotate(45deg);
  margin-top: -5px;
}
.btn02 {
  display: block;
  background-color: #d5faff;
  color: #00b2cc;
  border: 1px solid #00b2cc;
  margin: 0 15px;
  padding: 14px 0;
  font-size:0.9rem;
  font-weight:bold;
  text-align: center;
  text-decoration: none;
}
.btn02 a{
  display: block;
  color: #000;
  text-decoration: none;
}
.btn02 span{
  color: #00b2cc;
  position: relative;
  padding-right: 15px;
}
.btn02 span::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 2px solid #00b2cc;
  border-right: 2px solid #00b2cc;
  transform: rotate(45deg);
  margin-top: -5px;
}
.btn03 {
  display: block;
  background-color: #fff;
  color: #00b2cc;
  border: 1px solid #00b2cc;
  margin: 0 30px 10px;
  padding: 14px 0;
  font-size:0.9rem;
  font-weight:bold;
  text-align: center;
  text-decoration: none;
}
.btn03 a{
  display: block;
  color: #00b2cc;
  text-decoration: none;
}
.btn03 span{
  color: #00b2cc;
  position: relative;
  padding-right: 15px;
}
.btn03 span::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 2px solid #00b2cc;
  border-right: 2px solid #00b2cc;
  transform: rotate(45deg);
  margin-top: -5px;
}
.btn_close {
  display: block;
  background-color: #d5e6ed;
  color: #7ba5bf;
  border: 1px solid #1288d3;
  margin: 15px;
  padding: 14px 0;
  font-size:0.9rem;
  text-align: center;
}
.btn_close span{
  color: #7ba5bf;
  position: relative;
  padding-right: 15px;
}
.btn_close span::before{
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  width: 7px;
  height: 7px;
  border-top: 2px solid #7ba5bf;
  border-right: 2px solid #7ba5bf;
  transform: rotate(45deg);
  margin-top: -5px;
}


.kn-notetrailer {
  position: relative;
  padding-bottom: 56.25%;
  border-top: 2px solid #fff;
  border-bottom: 2px solid #fff;
  margin:0;
}
.kn-notetrailer iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.premium {
  padding: 10px 10px 0;
}

.kn-content01 {
  margin: 20px 20px 40px;
}
.kn-content01-detail {
  margin: 0;
  padding: 20px 0;
  border-radius: 6px;
  background-color: rgba(255,255,255,0.9);
  text-align: left;
  box-shadow: 6px 6px 0px rgba(0,178,204,0.1);
}
.kn-content01 h3 {
  padding: 15px 15px 5px;
}
.kn-content01 h4 {
  color:#00b2cc;
  font-size:0.7rem;
  line-height: 1.2;
  text-align: center;
  margin: 0 20px;
  padding: 0.5em 0;
  border-top: solid 1px #00b2cc;
  border-bottom: solid 1px #00b2cc;
}
.kn-content01-detail .kn-notelist {
  padding: 20px 10px 15px;
}
.kn-content01-detail .kn-notelist li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  line-height: 1.4;
  font-size:0.85rem;
  padding: 0 5px 10px;
}
.kn-content01-detail .kn-notelist li::before {
  color: #a5e5ff;
  content: '●';
  display: block;
  padding-right: .2em;
}
.kn-content01-detail .kn-notelist span {
  font-size: 10px;
}
.kn-content01-detail .kn-notecaution {
  padding-top: 6px;
  font-size:0.7rem;
}


.kn-content02 {
  margin: 20px 20px 40px;
}
.kn-content02-detail {
  margin: 0;
  padding: 20px 0;
  border-radius: 6px;
  background-color: rgba(255,255,255,0.9);
  text-align: left;
  box-shadow: 6px 6px 0px rgba(0,178,204,0.1);
}
.kn-content02 h3 {
  padding: 15px 15px 5px;
}
.kn-content02 h4 {
  color:#00b2cc;
  font-size:0.7rem;
  line-height: 1.2;
  text-align: center;
  margin: 0 20px;
  padding: 0.5em 0;
  border-top: solid 1px #00b2cc;
  border-bottom: solid 1px #00b2cc;
}
.kn-content02-detail .kn-notelist {
  padding: 20px 10px 15px;
}
.kn-content02-detail .kn-notelist li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  line-height: 1.4;
  font-size:0.85rem;
  padding: 0 5px 10px;
}
.kn-content02-detail .kn-notelist li::before {
  color: #a5e5ff;
  content: '●';
  display: block;
  padding-right: .2em;
}
.kn-content02-detail .kn-notelist span {
  font-size: 10px;
}
.kn-content02-detail .kn-notecaution {
  padding-top: 6px;
  font-size:0.7rem;
}



.kn-content03 {
  margin:40px 0 0;
  padding:0 0 30px;
  color: #fff;
  background-color: #1288d3;
}
.kn-content03 h3 {
  border-top: 2px solid #fff;
}
.kn-content03 article {
  padding: 20px;
  text-align: left;
}
.kn-content03 article h6 {
  color:#fff;
  font-size:0.9rem;
  line-height: 1.6;
  text-align: center;
  letter-spacing:0.25em;
  margin: 10px 50px;
  padding: 0.5em 0;
  border-top: solid 1px #fff;
  border-bottom: solid 1px #fff;
}


.kn-content04 {
  background-color: #fff;
  /*border-top: 1px solid #ddd;*/
  padding: 15px 3% 18px;
  position: relative;
}
.kn-content04 .bnn {
  display: block;
  margin: 0 0 10px;
}
.kn-content04 .btn-top {
  display: block;
  margin: 20px 0 0;
}


.kn-content05 {
  margin: 20px 20px 40px;
}
.kn-content05-detail {
  margin: 0;
  padding: 20px 0;
  border-radius: 6px;
  background-color: rgba(255,255,255,0.9);
  text-align: left;
  box-shadow: 6px 6px 0px rgba(0,178,204,0.1);
}
.kn-content05 h3 {
  padding: 15px 15px 5px;
}
.kn-content05 h4 {
  color:#00b2cc;
  font-size:0.7rem;
  line-height: 1.2;
  text-align: center;
  margin: 0 20px;
  padding: 0.5em 0;
  border-top: solid 1px #00b2cc;
  border-bottom: solid 1px #00b2cc;
}
.kn-content05-detail .kn-notelist {
  padding: 20px 10px 15px;
}
.kn-content05-detail .kn-notelist li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  line-height: 1.4;
  font-size:0.85rem;
  padding: 0 5px 10px;
}
.kn-content05-detail .kn-notelist li::before {
  color: #a5e5ff;
  content: '●';
  display: block;
  padding-right: .2em;
}
.kn-content05-detail .kn-notelist span {
  font-size: 10px;
}
.kn-content05-detail .kn-notecaution {
  padding-top: 6px;
  font-size:0.7rem;
}


.kn-content06 {
  margin: 20px 20px 40px;
}
.kn-content06-detail {
  margin: 0;
  padding: 20px 0;
  border-radius: 6px;
  background-color: rgba(255,255,255,0.9);
  text-align: left;
  box-shadow: 6px 6px 0px rgba(0,178,204,0.1);
}
.kn-content06 h3 {
  padding: 15px 15px 5px;
}
.kn-content06 h4 {
  color:#00b2cc;
  font-size:0.7rem;
  line-height: 1.2;
  text-align: center;
  margin: 0 20px;
  padding: 0.5em 0;
  border-top: solid 1px #00b2cc;
  border-bottom: solid 1px #00b2cc;
}
.kn-content06-detail .kn-notelist {
  padding: 20px 10px 15px;
}
.kn-content06-detail .kn-notelist li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  line-height: 1.4;
  font-size:0.85rem;
  padding: 0 5px 10px;
}
.kn-content06-detail .kn-notelist li::before {
  color: #a5e5ff;
  content: '●';
  display: block;
  padding-right: .2em;
}
.kn-content06-detail .kn-notelist span {
  font-size: 10px;
}
.kn-content06-detail .kn-notecaution {
  padding-top: 6px;
  font-size:0.7rem;
}


.kn-content07 {
  margin: 20px 20px 40px;
}
.kn-content07-detail {
  margin: 0;
  padding: 20px 0;
  border-radius: 6px;
  background-color: rgba(255,255,255,0.9);
  text-align: left;
  box-shadow: 6px 6px 0px rgba(0,178,204,0.1);
}
.kn-content07 h3 {
  padding: 15px 15px 5px;
}
.kn-content07 h4 {
  color:#00b2cc;
  font-size:0.7rem;
  line-height: 1.2;
  text-align: center;
  margin: 0 20px;
  padding: 0.5em 0;
  border-top: solid 1px #00b2cc;
  border-bottom: solid 1px #00b2cc;
}
.kn-content07-detail .kn-notelist {
  padding: 20px 10px 15px;
}
.kn-content07-detail .kn-notelist li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  line-height: 1.4;
  font-size:0.85rem;
  padding: 0 5px 10px;
}
.kn-content07-detail .kn-notelist li::before {
  color: #a5e5ff;
  content: '●';
  display: block;
  padding-right: .2em;
}
.kn-content07-detail .kn-notelist span {
  font-size: 10px;
}
.kn-content07-detail .kn-notecaution {
  padding-top: 6px;
  font-size:0.7rem;
}


.kn-content08 {
  margin: 20px 20px 40px;
}
.kn-content08-detail {
  margin: 0;
  padding: 20px 0;
  border-radius: 6px;
  background-color: rgba(255,255,255,0.9);
  text-align: left;
  box-shadow: 6px 6px 0px rgba(0,178,204,0.1);
}
.kn-content08 h3 {
  padding: 15px 15px 5px;
}
.kn-content08 h4 {
  color:#00b2cc;
  font-size:0.8rem;
  line-height: 1.4;
  text-align: center;
  margin: 0 20px;
  padding: 0.5em 0;
  border-top: solid 1px #00b2cc;
  border-bottom: solid 1px #00b2cc;
}
.kn-content08-detail .kn-notelist {
  padding: 20px 10px 15px;
}
.kn-content08-detail .kn-notelist li {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  line-height: 1.5;
  font-size:0.85rem;
  padding: 0 5px 10px;
}
.kn-content08-detail .kn-notelist li::before {
  color: #a5e5ff;
  content: '●';
  display: block;
  padding-right: .2em;
}
.kn-content08-detail .kn-notelist span {
  font-size: 10px;
}
.kn-content08-detail .kn-notecaution {
  padding-top: 6px;
  font-size:0.7rem;
}



.kn-note {
  background-color: #fff;
  border: 1px solid #1288d3;
  color: #1288d3;
  margin-bottom: 13px;
  padding: 0 12px;
  text-align: left;
}

.kn-note h5 {
  font-size: 14px;
  font-weight: normal;
  position: relative;
}

.kn-note h5.toggle {
  line-height: 40px;
}

.kn-note h5.kn-notecontact {
  padding: 17px 0 8px;
}

.kn-note .btn-toggle {
  border: 1px solid #1288d3;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  position: absolute;
  top: 50%;
  right: 0;
  width: 23px;
  height: 23px;
}

.kn-note .btn-toggle::before, .kn-note .btn-toggle::after {
  background-color: #1288d3;
  content: '';
  display: block;
  margin: -1px 0 0 -5px;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 10px;
  height: 1px;
}

.kn-note .btn-toggle::after {
  -webkit-transition: all .3s ease;
  transition: all .3s ease;
  -webkit-transform: rotate(90deg);
  -ms-transform: rotate(90deg);
  transform: rotate(90deg);
}

.kn-note .active .btn-toggle::after {
  -webkit-transform: rotate(0);
  -ms-transform: rotate(0);
  transform: rotate(0);
}

.kn-note dl {
  border-top: 1px solid #bee1f9;
  display: none;
  font-size: 0.8rem;
  padding-top: 15px;
}

.kn-note dl a {
  color: #1288d3;
}

.kn-note dt::before {
  content: '■';
}

.kn-note dd {
  padding-bottom: 1.5em;
}

.kn-note ul {
  padding-bottom: 15px;
}

.kn-note ul li::before {
  background: url(../../images/saikonojinsei-2/arrow.png) center center no-repeat;
  background-size: contain;
  content: '';
  display: inline-block;
  margin-right: 5px;
  vertical-align: middle;
  width: 10px;
  height: 10px;
}

.kn-note ul a {
  font-weight: bold;
  text-decoration: none;
  color: #006cb0;
}

/*acc*/
.contens_acc {
	margin:10px 10px 0;
}
.contens_acc .story_acc p{
	text-align:left;
	padding: 0;
	line-height:1.45;
	font-size: 0.8rem;
}
.contens_acc .story_acc h4{
	text-align:center;
	padding: 0 0 5px;
}
.contens_acc .intro_acc p{
	text-align:left;
	padding: 0 10px 0 10px;
	line-height:1.45;
}
.contens_acc .intro_acc h4{
	text-align:center;
	padding: 0 0 5px;
}
.contens_acc .cast_acc p{
	text-align:left;
	padding: 0 10px 0 10px;
	line-height:1.45;
}
.contens_acc .cast_acc h4{
	text-align:center;
	padding: 0 0 5px;
}
.story_acc p{
	text-align:left;
	padding: 10px 0 0;
	line-height:1.8;
	font-size: 0.8rem;
}
.read-more{
	font-weight: normal;
	font-size: 0.8rem;
	padding-top: 1em;
}
.read-less{
	font-size: 0.8rem;
	text-align: left;
	padding-top: 1em;
}
.more-link{
	display: block;
	padding: 0 15px;
	text-align: left;
	font-size: 0.8rem;
}
.less-link{
	display: block;
	margin: 20px 0 0;
	text-align: left;
	font-size: 0.8rem;
}
.story_acc .summary p.honbun{
	display: block;
	-webkit-mask-image:-webkit-linear-gradient(top, rgba(0,0,0,1), rgba(0,0,0,0));
}
.intro_acc .summary p.honbun{
	display: block;
	-webkit-mask-image:-webkit-linear-gradient(top, rgba(0,0,0,1), rgba(0,0,0,0));
}
.cast_acc .summary p.honbun{
	display: block;
	-webkit-mask-image:-webkit-linear-gradient(top, rgba(0,0,0,1), rgba(0,0,0,0));
}
.summary.noshadow p{
	-webkit-mask-image: none;
}
.readmore{
	display: block;
}
.less-link, .more-link{
	color: #c0e2f7;
	text-align: center;
}
.story_acc .less-link{
	padding: 10px 15px 5px 15px;
}
.story_acc .more-link{
	padding: 10px 15px 5px 15px;
}
.intro_acc .less-link{
	padding: 10px  15px 5px 15px;
}
.cast_acc .more-link{
	padding: 10px 15px 5px 15px;
}
.intro_acc .less-link{
	padding: 10px  15px 5px 15px;
}
.cast_acc .more-link{
	padding: 10px  15px 5px 15px;
}


/****************************************************************************/
/*animr*/
/****************************************************************************/
.anim-item .anim-scale, .anim-item.anim-scale {
  opacity: 1;
  -webkit-transition: opacity 0.1s ease 0.1s, -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.1s;
  transition: opacity 0.1s ease 0.1s, -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.1s;
  transition: opacity 0.1s ease 0.1s, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.1s;
  transition: opacity 0.1s ease 0.1s, transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.1s, -webkit-transform 0.3s cubic-bezier(0.175, 0.885, 0.32, 1.275) 0.1s;
  -webkit-transform: scale3d(1, 1, 1);
  transform: scale3d(1, 1, 1);
}

.anim-item .anim-fade, .anim-item.anim-fade {
  opacity: 1;
  -webkit-transition: opacity 0.5s ease 0.1s, -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
  transition: opacity 0.5s ease 0.1s, -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
  transition: opacity 0.5s ease 0.1s, transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
  transition: opacity 0.5s ease 0.1s, transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.1s, -webkit-transform 0.5s cubic-bezier(0.19, 1, 0.22, 1) 0.1s;
  -webkit-transform: translate3d(0px, 0px, 0px);
  transform: translate3d(0px, 0px, 0px);
}

.anim-item.hide {
  -webkit-transition: all 0s ease 0s !important;
  transition: all 0s ease 0s !important;
}

.anim-item.hide .anim-scale, .anim-item.hide.anim-scale {
  opacity: 0;
  -webkit-transform: scale3d(0.5, 0.5, 1);
  transform: scale3d(0.5, 0.5, 1);
}

.anim-item.hide .anim-fade, .anim-item.hide.anim-fade {
  opacity: 0;
  -webkit-transform: translate3d(0px, 30px, 0px);
  transform: translate3d(0px, 30px, 0px);
}

/****************************************************************************/
/*trailer*/
/****************************************************************************/
#trailer {
  position: relative;
  padding-top: 68%;
}

#trailer-slider {
  box-sizing: border-box;
  display: block;
  overflow-x: scroll;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-overflow-scrolling: touch;
}

#trailer-slider ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  height: 100%;
}

#trailer-slider li {
  display: block;
  width: 100%;
  height: 100%;
}

#trailer-slider .container {
  /* border: 1px solid #666; */
  padding: 0;
  position: relative;
  width: 100%;
  height: 100%;
}

#trailer-slider .player {
  width: 100%;
  height: 100%;
}

#trailer-slider .thumb {
  background: no-repeat center center;
  background-size: cover;
  opacity: 1;
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#trailer-slider .thumb.active .mark {
  opacity: .5;
}

#trailer-slider .mark {
  background: url(/images/mark_play.png?check01) no-repeat center center;
  background-size: contain;
  margin: -60px 0 0 -60px;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  height: 120px;
}

#trailer-slider .name {
  background-size: 100% 100%;
  color: #fff;
  font-size: 13px;
  letter-spacing: .05em;
  padding: 6px 10px;
  text-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 50px;
}

/* Youtube用 */
#youtube-player-container{
	position: relative;
	width: 100%;
	padding-top: 67.4%;
	border-bottom: solid 3px #D9006B;
}
#youtube-player-container > iframe{
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	vertical-align: top;
}

.moviebox {
  margin: 0;
  padding: 0 0 30px;
}
.moviebox .movie {
  position: relative;
}
.moviebox .play {
  background: url(../../images/saikonojinsei-2/mark_play.png) no-repeat center center;
  background-size: contain;
  margin: -60px 0 0 -60px;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 120px;
  height: 120px;
}


/****************************************************************************/
/*custom*/
/****************************************************************************/
#trailer-slider .container {
  border-color: transparent;
}
