#cp_2507 #main{
  background: url(../images/main_bg.png);
  background-size: cover;
  background-position: center;
  padding-bottom: 136px;
}

#cp_2507 #mv{
 width: 845px;
 margin-left: auto;
 margin-right: auto;
 padding-top: 62px;
 padding-bottom: 91px;
}
#cp_2507 #mv .mv_chara{
 width: 95%;
 margin-left: auto;
 margin-right: auto;
 margin-top: 41px;
}
#cp_2507 #sec1{
 position: relative;
 width: 1000px;
 margin-left: auto;
 margin-right: auto;
}
#cp_2507 #sec1 .sec1_bg{
 position: relative;
 z-index: 1;
}
#cp_2507 #sec1 .sec1_bg::before{
 content: "";
 position: absolute;
 top: 6px;
 right: -6px;
 width: 100%;
 height: 100%;
 border-radius: 25px;
 background: rgba(40, 40, 40, 0.4);
 z-index: -1;
 pointer-events: none;
}
#cp_2507 #sec1 .sec_ttl{
 position: relative;
 background: #009ce5;
 border-top-left-radius: 25px;
 border-top-right-radius: 25px;
 padding-top: 40px;
 padding-bottom: 40px;
}
#cp_2507 #sec1 .sec_ttl .sec_ttl_txt{
 position: relative;
 width: 831px;
 margin-left: auto;
 margin-right: auto;
 z-index: 2;
}
#cp_2507 #sec1 .sec_ttl .sec1_ttl_img{
 position: absolute;
 top: 25%;
 left: 55%;
 transform: translate(-50%, -50%);
 width: 1061px;
 z-index: 1;
 transition-delay: 1.5s;
 transition: .5s ease;
 -webkit-transition: .5s ease;
}
#cp_2507 #sec1 .sec1_inner{
 background: #FFF;
 padding-bottom: 90px;
 border-bottom-left-radius: 25px;
 border-bottom-right-radius: 25px;
}
#cp_2507 #sec1 .sec1_head{
 width: 605px;
 margin-left: auto;
 margin-right: auto;
 padding-top: 40px;
 padding-bottom: 50px;
}
#cp_2507 #sec1 .sec1_conte{
 width: 900px;
 margin-left: auto;
 margin-right: auto;
}
#cp_2507 #sec1 .sec1_conte._02{
 margin-top: 53px;
}
#cp_2507 #sec1 .sec1_conte_lists{
 width: 826px;
 margin-left: auto;
 margin-right: auto;
 margin-top: 26px;
 display: flex;
 justify-content: space-between;
 align-items: flex-start;
}
#cp_2507 #sec1 .sec1_conte_list:nth-child(1){
 width: 231px;
}
#cp_2507 #sec1 .sec1_conte_list:nth-child(2){
 width: 232px;
}
#cp_2507 #sec1 .sec1_conte._01 .sec1_conte_list:nth-child(3){
 width: 254px;
}
#cp_2507 #sec1 .sec1_conte._02 .sec1_conte_list:nth-child(3){
 width: 260px;
}
#cp_2507 #sec1 .sec1_note{
 color: #000;
 font-size: 12px;
 letter-spacing: 0.02em;
 line-height: 1.4;
 margin-top: 1.5em;
}
#cp_2507 #sec1 .poster_img{
 margin-top: 70px;
}
/* =============================================
  btns
============================================= */
#cp_2507 .btns {
 background: #fff;
 padding: 9rem 0;
}
@media screen and (max-width: 956px) {
 #cp_2507 .btns {
   padding: 7.5rem 0;
 }
}
@media screen and (max-width: 450px) {
 #cp_2507 .btns {
   padding: 16.667vw 0;
 }
}
#cp_2507 .btns_inner {
 display: flex;
 justify-content: center;
 gap: 3rem;
 flex-wrap: wrap;
}
@media screen and (max-width: 956px) {
 #cp_2507 .btns_inner {
   gap: 3rem;
 }
}
@media screen and (max-width: 450px) {
 #cp_2507 .btns_inner {
   gap: 6.667vw;
   padding: 0 6.667vw;
 }
}
#cp_2507 .btns .btn {
 background: #e4007f;
 color: #fff;
 border: 0.3rem solid #e4007f;
 transition: color ease 0.3s, background-color ease 0.3s;
 height: 7.5rem;
 line-height: 7.5rem;
 width: 40rem;
 border-radius: 4rem;
 font-size: 2.5rem;
 font-weight: bold;
 box-shadow: 0px 0.5rem 0.3rem rgba(4, 0, 0, 0.3);
 display: flex;
 align-items: center;
 justify-content: center;
 gap: 2.5rem;
}
#cp_2507 .btns .btn:hover {
 background: #fff;
 color: #e4007f;
}
@media screen and (max-width: 956px) {
 #cp_2507 .btns .btn {
     width: 49.5rem;
     height: 9.2rem;
     line-height: 9.2rem;
     border-radius: 5rem;
     font-size: 3rem;
 }
}
@media screen and (max-width: 450px) {
 #cp_2507 .btns .btn {
     height: 14.444vw;
     border-radius: 7.778vw;
     width: 100%;
     font-size: 5.333vw;
     gap: 3.333vw;
     box-sizing: content-box;
 }
}

#cp_2507 .btns .btn .arrow {
 width: 1.6rem;
 height: 1.6rem;
 border-right: 0.4rem solid #fff;
 border-top: 0.4rem solid #fff;
 transform: rotate(45deg);
 transition: border ease 0.3s;
}
#cp_2507 .btns .btn:hover .arrow {
 border-right: 0.4rem solid #e4007f;
 border-top: 0.4rem solid #e4007f;
}
@media screen and (max-width: 956px) {
 #cp_2507 .btns .btn .arrow {
     width: 2rem;
     height: 2rem;
     border-right: 0.5rem solid #fff;
     border-top: 0.5rem solid #fff;
 }
}
@media screen and (max-width: 450px) {
 #cp_2507 .btns .btn .arrow {
     width: 2.667vw;
     height: 2.667vw;
     border-top: 0.778vw solid #fff;
     border-right: 0.778vw solid #fff;
 }
}




#cp_2507 .ntp_logo{
 display: block;
 max-width: 26.5rem;
 margin-left: auto;
 margin-right: auto;
 padding-bottom: 12rem;
}
@media only screen and (max-width: 956px) {
 #cp_2507 .ntp_logo{
  padding-bottom: 14rem;
 }
}
@media screen and (max-width: 450px) {
 #cp_2507 .ntp_logo {
     padding-bottom: 31.111vw;
 }
}




@media only screen and (max-width: 1440px) {
 #cp_2507 #main{
  padding-bottom: 136px;
 }

 #cp_2507 #mv{
  width: 58.68vw;
  padding-top: 4.30vw;
  padding-bottom: 6.31vw;
 }
 #cp_2507 #mv .mv_chara{
  margin-top: 2.84vw;
 }
 #cp_2507 #sec1{
  width: 69.44vw;
 }
 #cp_2507 #sec1 .sec1_bg::before{
  top: 0.41vw;
  right: -0.41vw;
  border-radius: 1.73vw;
 }
 #cp_2507 #sec1 .sec_ttl{
  border-top-left-radius: 1.73vw;
  border-top-right-radius: 1.73vw;
  padding-top: 2.77vw;
  padding-bottom: 2.77vw;
 }
 #cp_2507 #sec1 .sec_ttl .sec_ttl_txt{
  width: 57.70vw;
 }
 #cp_2507 #sec1 .sec_ttl .sec1_ttl_img{
  width: 73.68vw;
 }
 #cp_2507 #sec1 .sec1_inner{
  padding-bottom: 6.25vw;
  border-bottom-left-radius: 1.73vw;
  border-bottom-right-radius: 1.73vw;
 }
 #cp_2507 #sec1 .sec1_head{
  width: 42.01vw;
  padding-top: 2.77vw;
  padding-bottom: 3.47vw;
 }
 #cp_2507 #sec1 .sec1_conte{
  width: 62.5vw;
 }
 #cp_2507 #sec1 .sec1_conte._02{
  margin-top: 3.68vw;
 }
 #cp_2507 #sec1 .sec1_conte_lists{
  width: 57.36vw;
  margin-top: 1.80vw;
 }
 #cp_2507 #sec1 .sec1_conte_list:nth-child(1){
  width: 16.04vw;
 }
 #cp_2507 #sec1 .sec1_conte_list:nth-child(2){
  width: 16.11vw;
 }
 #cp_2507 #sec1 .sec1_conte._01 .sec1_conte_list:nth-child(3){
  width: 17.63vw;
 }
 #cp_2507 #sec1 .sec1_conte._02 .sec1_conte_list:nth-child(3){
  width: 18.05vw;
 }
 #cp_2507 #sec1 .sec1_note{
  font-size: 0.83vw;
 }
 #cp_2507 #sec1 .poster_img{
  margin-top: 4.86vw;
 }
 #cp_2507 .btn_lists{
  gap: 1.38vw;
  margin-top: 4.86vw;
  margin-bottom: 4.16vw;
 }
 #cp_2507 .btn_lists .btn_list{
  width: 21.18vw;
 }
 #cp_2507 .ntp_logo{
  /* width: 13.68vw; */
  padding-bottom: 6.25vw;
 }
}
@media only screen and (max-width: 750px) {
 #cp_2507 #main{
  background: url(../images/main_bg_sp.png);
  background-size: cover;
  background-position: center;
  padding-bottom: 15.2vw;
 }

 #cp_2507 #mv{
  width: 87.2vw;
  padding-top: 9.6vw;
  padding-bottom: 15.73vw;
 }
 #cp_2507 #mv .mv_ttl{
  width: 95%;
  margin-left: auto;
  margin-right: auto;
 }
 #cp_2507 #mv .mv_chara{
  width: 100%;
  margin-top: 5.86vw;
 }
 #cp_2507 #sec1{
  width: 86.66vw;
 }
 #cp_2507 #sec1 .sec1_bg::before{
  top: 0.66vw;
  right: -0.66vw;
  border-radius: 3.33vw;
 }
 #cp_2507 #sec1 .sec_ttl{
  border-top-left-radius: 3.33vw;
  border-top-right-radius: 3.33vw;
  padding-top: 10.66vw;
  padding-bottom: 9.33vw;
 }
 #cp_2507 #sec1 .sec_ttl .sec_ttl_txt{
  width: 80.66vw;
 }
 #cp_2507 #sec1 .sec_ttl .sec1_ttl_img{
  top: 52%;
  left: 50%;
  width: 92.93vw;
 }
 #cp_2507 #sec1 .sec1_inner{
  padding-bottom: 7.46vw;
  border-bottom-right-radius: 3.33vw;
  border-bottom-left-radius: 3.33vw;
 }
 #cp_2507 #sec1 .sec1_head{
  width: 60.66vw;
  padding-top: 18.93vw;
  padding-bottom: 7.33vw;
 }
 #cp_2507 #sec1 .sec1_conte{
  width: 100%;
 }
 #cp_2507 #sec1 .sec1_conte._02{
  margin-top: 17.33vw;
 }
 #cp_2507 #sec1 .sec1_conte_ttl{
  width: 81.2vw;
  margin-left: -2vw;
  margin-right: auto;
 }
 #cp_2507 #sec1 .sec1_conte_lists{
  width: 100%;
  margin-top: 5.6vw;
  flex-direction: column;
  gap: 6.8vw;
 }
 #cp_2507 #sec1 .sec1_conte_list:nth-child(1){
  width: 50.93vw;
  margin-left: auto;
  margin-right: auto;
 }
 #cp_2507 #sec1 .sec1_conte_list:nth-child(2){
  width: 50.93vw;
  margin-left: auto;
  margin-right: auto;
 }
 #cp_2507 #sec1 .sec1_conte._01 .sec1_conte_list:nth-child(3){
  width: 60.26vw;
  margin-left: auto;
  margin-right: auto;
 }
 #cp_2507 #sec1 .sec1_conte._02 .sec1_conte_list:nth-child(3){
  width: 57.6vw;
  margin-left: auto;
  margin-right: auto;
 }
 #cp_2507 #sec1 .sec1_note{
  font-size: 3.2vw;
  letter-spacing: 0.02em;
  line-height: 1.4;
  margin-top: 3em;
  margin-bottom: 3em;
  text-align: justify;
 }
 #cp_2507 #sec1 .poster_img{
  margin-top: 0;
 }
 #cp_2507 .btn_lists{
  flex-direction: column;
  gap: 3.66vw;
  margin-top: 15.2vw;
  margin-bottom: 15.2vw;
 }
 #cp_2507 .btn_lists .btn_list{
  width: 86.66vw;
 }
 #cp_2507 .ntp_logo{
  max-width: 34rem;
  padding-bottom: 17.33vw;
 }
}


