@media screen and (max-width: 750px) {
  .sp {
    display: block;
  }
  .pc {
    display: none;
  }
}

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

body{
	padding-top: 0!important;
}

main {
  background: #006994;
  font-family: 'Noto Sans JP', sans-serif;
}

main a {
  text-decoration: none;
}

main a:hover {
  text-decoration: none;
}

section {
  padding-top: 17.33333vw;
  width: 100%;
}

@media screen and (min-width: 751px) {
  section {
    padding-top: 10vw;
  }
}

header{
	position: fixed;
	top: 0;
	width: 100%;
	height: 13vw;
  font-family: 'Noto Sans JP', sans-serif;
	background-color: #fff;
	z-index: 100;
}
header .logo{
	float: left;
	margin: 5.5vw 0 0 5vw;
	line-height: 0;
}
header .logo img{
	width: 80px;
	height: auto;
}
header .nav{
	display: none;
}
header .spnav{
	float: right;
	margin: 4.2vw 5vw 0 0;
	line-height: 0;
}
header .spnav img{
	width: auto;
	height: 4.4vw;
}
.spnav_opne{
	position: absolute;
	width: 100vw;
	padding: 5vw 5vw 3vw;
	top: 13vw;
	background-color: rgba(255, 255, 255, 0.9);
	z-index: 100;
	display: none;
}
.spnav_opne li{
	float: left;
	width: 50%;
	font-size: 3.2vw;
	margin-bottom: 2vw;
}
.spnav_opne li a{
	text-decoration: none;
}
@media screen and (min-width: 751px) {
	header{
		width: 100%;
		height: 90px;
	}
	header .logo{
		margin: 38px 0 0 20px;
	}
	header .logo img{
		width: 104px;
		height: auto;
	}
	header .nav{
		float: right;
		display: inherit;
		margin: 30px 25px 0 0;
	}
	header .nav li{
		float: left;
		margin-left: 35px;
		font-size: 15px;
	}
	header .nav li a{
		color: #004695;
	}
	header .nav li a:hover{
		opacity: 0.7;
		text-decoration: none;
	}
	header .spnav,
	header .spnav_opne{
		display: none;
	}
}
@media screen and (min-width: 751px) and ( max-width: 800px) {
	header .nav{
		margin: 32px 25px 0 0;
	}
	header .nav li{
		font-size: 13px;
	}
}


.fade_in {
  -webkit-transition: all 1s;
  -moz-transition: all 1s;
  -ms-transition: all 1s;
  -o-transition: all 1s;
  transition: all 1s;
  opacity: 0;
}
.fade_in-slide {
  transition: all 500ms;
	transform : translate(0, 40px);
  opacity: 0;
}
.active {
  opacity: 1;
}
.fade_in-slide.active {
	opacity : 1;
	transform : translate(0, 0);
}

.mv {
  width: 100%;
  position: relative;
	margin-top: 13vw;
}
@media screen and (min-width: 751px) {
  .mv {
		margin-top: 90px;
  }
}

.mv h1 img {
  width: 100%;
}

main .cm {
  width: 73.33333%;
  margin: 0 auto;
  color: #fff;
}

@media screen and (min-width: 751px) {
  main .cm {
    width: 78.57143%;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: stretch;
  }
}

main .cm .movie_box {
  width: 100%;
}

@media screen and (min-width: 751px) {
  main .cm .movie_box {
    width: 44.54545%;
  }
}

main .cm .movie_box:first-of-type {
  margin-bottom: 17.33333vw;
}

@media screen and (min-width: 751px) {
  main .cm .movie_box:first-of-type {
    margin-bottom: 0;
  }
}

main .cm .movie_box .movie_title {
  text-align: center;
  margin: 0 auto 4.33333vw;
}

@media screen and (min-width: 751px) {
  main .cm .movie_box .movie_title {
    margin-bottom: 1.78571vw;
  }
}

main .cm .movie_box .movie_title img {
  height: 8vw;
}

@media screen and (min-width: 751px) {
  main .cm .movie_box .movie_title img {
    height: 3.21429vw;
  }
}

main .cm .movie_box .movie_txt {
  text-align: center;
  margin-bottom: 4.33333vw;
	font-size: 3.4vw;
}

@media screen and (min-width: 751px) {
  main .cm .movie_box .movie_txt {
    margin-bottom: 1.78571vw;
		font-size: 1.3vw;
  }
}

main .cm .movie_box .movie_thumb {
  box-sizing: border-box;
}

main .cm .movie_box .movie_thumb img {
  border: solid #fff 0.85714vw;
  width: 100%;
}

main .cm .movie_box .movie_note .t1 {
	margin-bottom: 0.5vw;
	font-size: 5vw;
	text-align: center;
}
main .cm .movie_box .movie_note .t2 {
	line-height: 1.7;
	margin-bottom: 2.2vw;
	font-size: 4vw;
	text-align: left;
}
main .cm .movie_box .movie_note .t3 {
	font-size: 2vw;
	line-height: 1.7;
	text-align: left;
}
@media screen and (min-width: 751px) {
	main .cm .movie_box .movie_note .t1 {
		font-size: 1.8vw;
		margin-bottom: 0.1vw;
	}
	main .cm .movie_box .movie_note .t2 {
		font-size: 1.3vw;
		margin-bottom: 0.9vw;
		text-align: center;
	}
	main .cm .movie_box .movie_note .t3 {
		font-size: 1vw;
		margin: 0 2vw;
	}
}

main .point img {
  width: 100%;
}

main .point .point_block {
  position: relative;
}

@media screen and (min-width: 751px) {
  main .point .point_block {
    display: flex;
    justify-content: flex-end;
  }
}

main .point .point_block.concept {
  color: #fff;
  background-image: url(../images/bg_concept.jpg);
  background-repeat: no-repeat;
  background-size: cover;
  padding-bottom: 48vw;
	padding-top: 5vw;
	margin-top: 0;
}

@media screen and (min-width: 751px) {
  main .point .point_block.concept {
    padding-bottom: 0;
		padding-top: 50px;
		margin-top: -20px;
  }
}

main .point .point_block.concept .point_visual {
  position: absolute;
  bottom: 0;
  z-index: 1;
}

main .point .point_block.concept .point_detail {
  position: relative;
  bottom: inherit;
  z-index: 2;
}

@media screen and (min-width: 751px) {
  main .point .point_block.concept .point_detail {
    margin-left: 10.71429vw;
  }
}

main .point .point_block.data {
  color: #010101;
  background: url(../images/bg_data.jpg);
  background-repeat: no-repeat;
	background-size: cover;
	background-position: -22vw;
  padding-bottom: 20vw;
}

@media screen and (min-width: 751px) {
  main .point .point_block.data {
    padding-bottom: 0;
		background-position: 0;
  }
}

@media screen and (min-width: 751px) {
  main .point .point_block.data .point_detail {
    margin: 0 10vw;
  }
}

main .point .point_block .point_visual {
  width: 100%;
}

@media screen and (min-width: 751px) {
  main .point .point_block .point_visual {
    position: relative;
    width: 46vw;
  }
}

main .point .point_block .point_visual img {
  width: 100%;
  position: absolute;
  bottom: 0;
  right: 0;
}

main .point .point_block .point_detail {
  padding: 17.33333vw 0;
  width: 73.33333%;
  margin: 0 auto;
}
main .point .point_block .point_detail.key {
  padding: 17.33333vw 0 0;
}

@media screen and (min-width: 751px) {
  main .point .point_block .point_detail {
    width: 33.39286vw;
    padding: 7.14286vw 0;
  }
  main .point .point_block .point_detail.key {
    width: 33.39286vw;
    padding: 7.14286vw 0;
  }
}

main .point .point_block .point_detail .point_title {
  margin-bottom: 5vw;
}

@media screen and (min-width: 751px) {
  main .point .point_block .point_detail .point_title {
    margin-bottom: 2vw;
  }
}

main .point .point_block .point_detail .point_title img {
  width: 100%;
}

main .point .point_block .point_detail .point_txt {
  margin-bottom: 28vw;
	font-size: 3.6vw;
}
main .point .point_block .point_detail .point_txt rt{
  font-size: 0.5em;
	margin-bottom: 0;
}
main .point .point_block .point_detail .point_txt2 {
  margin-bottom: 8vw;
	font-size: 3.6vw;
}

@media screen and (min-width: 751px) {
  main .point .point_block .point_detail .point_txt {
    margin-bottom: 3.57143vw;
		font-size: 1.3vw;
  }
  main .point .point_block .point_detail .point_txt2 {
    margin-bottom: 3vw;
		font-size: 1.3vw;
  }
}

main .point .point_block .point_detail .point_pic {
  margin-bottom: -7vw;
}

@media screen and (min-width: 751px) {
  main .point .point_block .point_detail .point_pic {
    margin-bottom: 3.57143vw;
  }
}

main .point .point_block .point_detail .movie_box {
  width: 100%;
}

main .point .point_block .point_detail .movie_box .movie_thumb {
  box-sizing: border-box;
}

main .point .point_block .point_detail .movie_box .movie_thumb img {
  border: solid #fff 0.85714vw;
  width: 100%;
}

.point_btn{
	z-index: 200;
}
.point_btn a {
  display: block;
  background: #fff;
  padding: 0.8em 0;
  text-align: center;
  color: #004695;
  font-size: 3.8vw;
  font-weight: bold;
  position: relative;
	border-radius: 12vw;
}

@media screen and (min-width: 751px) {
	.point_btn{
		width: 33vw;
		height: 5vw;
		z-index: 200;
	}
  .point_btn a {
    font-size: 1.1vw;
		border-radius: 5vw;
  }
  .point_btn a:hover {
		opacity: 0.9;
  }
}

.point_btn a span:after {
  content: "";
  width: 3.06667vw;
  height: 5.73333vw;
  display: block;
  position: absolute;
  top: 50%;
  right: 10%;
  transform: translateY(-50%);
  background: url(../images/arrowR.png) no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 751px) {
  .point_btn a span:after {
    width: 0.82143vw;
    height: 1.53571vw;
  }
}

.special {
  color: #fff;
  padding-bottom: 17.33333vw;
	padding-top: 5vw;
	margin-top: 0;
}

@media screen and (min-width: 751px) {
  .special {
    padding-bottom: 7.14286vw;
		padding-top: 20px;
		margin-top: 0;
  }
}

.special .special_title {
  width: 66.66667vw;
  margin: 0 auto 8.66667vw;
}

@media screen and (min-width: 751px) {
  .special .special_title {
    width: 35vw;
    margin: 0 auto 3.57143vw;
  }
}

.special .special_title img {
  width: 100%;
}

.special .special_copy {
  width: 80vw;
  margin: 0 auto 8.66667vw;
  position: relative;
}

@media screen and (min-width: 751px) {
  .special .special_copy {
    width: 45vw;
    margin: 0 auto 3.57143vw;
  }
  /* .special .special_copy::before {
    content: '';
    width: 10.57143vw;
    height: 12.85714vw;
    position: absolute;
    top: 0;
    left: -12.53571vw;
    display: block;
    background-image: url(../images/special_pic1.png);
    background-repeat: no-repeat;
    background-size: cover;
  }
  .special .special_copy::after {
    content: '';
    width: 10.71429vw;
    height: 16.78571vw;
    position: absolute;
    top: 0;
    right: -12.57143vw;
    display: block;
    background-image: url(../images/special_pic2.png);
    background-repeat: no-repeat;
    background-size: cover;
  } */
}

.special .special_copy img {
  width: 100%;
}

.special .special_lead {
  width: 86.66667%;
  margin: 0 auto 8.66667vw;
  text-align: center;
}

@media screen and (min-width: 751px) {
  .special .special_lead {
    width: 40%;
    margin: 0 auto 3.57143vw;
  }
}

.special .movie_box {
  width: 86.66667%;
  margin: 0 auto 8.66667vw;
}

@media screen and (min-width: 751px) {
  .special .movie_box {
    width: 70vw;
    margin: 0 auto 3.57143vw;
  }
}

.special .movie_box .movie_title {
  text-align: center;
  font-weight: bold;
  font-size: 4.66667vw;
  margin: 0 auto 4.33333vw;
}

@media screen and (min-width: 751px) {
  .special .movie_box .movie_title {
    font-size: 2.5vw;
    margin-bottom: 1.78571vw;
  }
}

.special .movie_box .movie_txt {
  text-align: center;
  font-size: 3.2vw;
}

@media screen and (min-width: 751px) {
  .special .movie_box .movie_txt {
    font-size: 1.57143vw;
  }
}

.special .movie_box .movie_thumb {
  box-sizing: border-box;
}

.special .movie_box .movie_thumb img {
  border: solid #fff 0.85714vw;
  width: 100%;
}

.special .movie_box .movie_thumb-coming {
  box-sizing: border-box;
	background-color: rgba(255, 255, 255, 0.2);
	text-align: center;
	margin: 0 auto;
}
.special .movie_box .movie_thumb-coming img {
	width: 60%;
	margin: 12vw 10vw;
}
@media screen and (min-width: 751px) {
  .special .movie_box .movie_thumb-coming img {
	  width: 32%;
		margin: 10vw 20vw;
  }
}

#Profile {
  background: #dfdfdf;
  padding-bottom: 17.33333vw;
}

@media screen and (min-width: 751px) {
  #Profile {
    padding-bottom: 7.14286vw;
  }
}

.profile_title {
  width: 40%;
  margin: 0 auto 8.66667vw;
  text-align: center;
}

.profile_title img {
  width: 100%;
  height: auto;
}

@media screen and (min-width: 751px) {
  .profile_title {
    margin: 0 auto 3.57143vw;
    height: 2.28571vw;
    width: auto;
  }
  .profile_title img {
    height: 100%;
    width: auto;
  }
}

@media screen and (min-width: 751px) {
  .profile {
    display: flex;
    justify-content: center;
    margin: 0 auto;
  }
}

.profile .profile_box {
  width: 86.66667%;
  margin: 0 auto;
}

.profile .profile_box:first-of-type {
  margin-bottom: 17.33333vw;
}

@media screen and (min-width: 751px) {
  .profile .profile_box {
    width: 30%;
    margin: 0 5%;
  }
  .profile .profile_box:first-of-type {
    margin-bottom: 0;
  }
}

.profile .profile_box .pic {
  width: 100%;
  margin-bottom: 4.33333vw;
}

@media screen and (min-width: 751px) {
  .profile .profile_box .pic {
    margin-bottom: 1.78571vw;
  }
}

.profile .profile_box .pic img {
  width: 100%;
}

.profile .profile_box .txt {
  font-size: 100%;
  line-height: 1.8;
}

@media screen and (min-width: 751px) {
  .profile .profile_box .txt {
    font-size: 1vw;
  }
}

.profile .profile_box .txt p {
  margin-bottom: 1em;
}

#Link {
  background: #fff;
}
#Link h2{
	text-align: center;
  font-size: 4vw;
	margin-bottom: 5vw;
}
@media screen and (min-width: 751px) {
  #Link h2 {
	  font-size: 1.5vw;
		margin-bottom: 2.2vw;
  }
}

.link {
  width: 86.66667%;
  margin: 0 auto;
}

.link img {
  width: 100%;
}

.link a {
  display: block;
  color: #000000;
}

@media screen and (min-width: 751px) {
  .link {
    width: 71.07143%;
  }
}

.link .bnr {
  width: 100%;
  margin-bottom: 0;
}

#lineup{
	padding-top: 13vw;
}
@media screen and (min-width: 751px) {
  #lineup{
    padding-top: 100px;
  }
}

.link .lineup {
  width: 100%;
  margin-bottom: 4vw;
  display: flex;
	flex-wrap: wrap;
  justify-content: space-between;
}

@media screen and (min-width: 751px) {
  .link .lineup {
    margin-bottom: 3.57143vw;
  }
}

.link .lineup a {
  width: 50%;
	line-height: 0;
}
@media screen and (min-width: 751px) {
	.link .lineup a {
	  width: 25%;
	}
}

.link .lineup_morebtn {
  position: relative;
  width: 50vw;
	background-color: #000;
	text-align: center;
	line-height: 3;
	margin: 0 auto 8vw;
}
.link .lineup_morebtn a {
	font-size: 3.4vw;
	color: #fff;
}
.link .lineup_morebtn:after {
  content: "";
  width: 2vw;
  height: 3.73333vw;
  display: block;
  position: absolute;
  top: 50%;
  right: 3vw;
  transform: translateY(-50%);
  background: url(../images/arrowR_w.png) no-repeat;
  background-position: center;
  background-size: contain;
}
@media screen and (min-width: 751px) {
	.link .lineup_morebtn {
	  width: 15vw;
	}
	.link .lineup_morebtn a {
		font-size: 1vw;
		color: #fff;
	}
	.link .lineup_morebtn:after {
	  width: 0.6vw;
	  right: 1vw;
	}
}

.link .other {
  width: 100%;
  margin-bottom: 8.66667vw;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
	font-size: 2.8vw;
}

@media screen and (min-width: 751px) {
  .link .other {
    margin-bottom: 3.57143vw;
		font-size: 0.8vw;
  }
}

.link .other a {
  width: 48%;
  margin-bottom: 4.33333vw;
}

@media screen and (min-width: 751px) {
  .link .other a {
    width: 23%;
    margin-bottom: 1.78571vw;
  }
}

.link .other a p {
	font-weight: 300;
	line-height: 1.8;
}
.link .other a p span {
  display: block;
	font-weight: 700;
  text-align: left;
  position: relative;
	font-size: 2.9vw;
	padding: 1vw 0;
}

.link .other a p span:after {
  content: "";
  width: 2vw;
  height: 3.73333vw;
  display: block;
  position: absolute;
  top: 50%;
  right: 3%;
  transform: translateY(-50%);
  background: url(../images/arrowR_blc.png) no-repeat;
  background-position: center;
  background-size: contain;
}

@media screen and (min-width: 751px) {
	.link .other a p {
		font-size: 0.85vw;
	}
	.link .other a p span {
		font-size: 0.9vw;
		padding: 0.3vw 0;
	}
  .link .other a p span:after {
    width: 0.53571vw;
    height: 1vw;
  }
}


/*IEmsg
--------------------------------*/
#ie_msg_area {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999999;
  width: 100%;
  background: rgba(0, 0, 0, 0.98);
  color: #fff;
  font-size: 20px;
  font-weight: 500;
  padding: 1.4641288433% 190px 4.2459736457% 2.2693997072%;
}
#ie_msg_area .msg_txt {
  line-height: 1.45;
  margin-top: calc(0px - (((1em*1.45) - 1em)/2));
  margin-bottom: calc(0px - (((1em*1.45) - 1em)/2));
}
#ie_msg_area .msg_btn_list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 20px 0;
  color: #000;
}
#ie_msg_area .msg_btn_list li {
  width: 265px;
  height: 58px;
}
#ie_msg_area .msg_btn_list li:not(:last-child) {
  margin-right: 20px;
}
#ie_msg_area .msg_btn_list li .msg_btn {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-flex-direction: column;
  flex-direction: column;
  -webkit-align-items: center;
  align-items: center;
  text-decoration: underline;
}
#ie_msg_area .msg_btn_list li .msg_btn:hover {
  text-decoration: none;
}
#ie_msg_area .btn_wrap {
  width: 137px;
  height: 48px;
  position: absolute;
  top: 0;
  right: 0;
  margin: 1.4641288433% 1.6105417277% 0 0;
  color: #000;
}
#ie_msg_area .btn_wrap .msg_btn {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-align-items: center;
  align-items: center;
  -webkit-justify-content: center;
  justify-content: center;
}
#ie_msg_area .btn_wrap .msg_btn::before {
  content: "";
  display: block;
  width: 17px;
  height: 17px;
  background-size: 100% 100%;
  background-image: url("/add_img/msg_close.svg");
  margin-right: 8.5px;
}
#ie_msg_area .btn_wrap .msg_btn:hover {
  text-decoration: none;
}
#ie_msg_area .msg_btn {
  color: inherit;
  width: 100%;
  height: 100%;
  background: #fff;
  -webkit-transition: all 0.4s ease-in-out 0s;
  -ms-transition: all 0.4s ease-in-out 0s;
  transition: all 0.4s ease-in-out 0s;
}
#ie_msg_area .msg_btn:hover {
  opacity: .7;
}
