@charset "UTF-8";
.header {
  padding: 20px;
  position: absolute;
  top: 0;
  left: 0;
}
section h2{
    font-weight: bold;
}
section ul{
    margin-bottom: 15px;
    list-style: none;
    font-size: 1.6rem;
    line-height: 1.5;
}
section li + li{
    margin-top: 10px;
}
section h3{
    margin: 30px 0 15px;
    font-size: 2.2rem;
    font-weight: bold;
    line-height: 1.5;
}
/*-----------------------------
main
-----------------------------*/
.content {
  padding: 100px 0;
}
.content .inner{
    max-width: 1000px;
}
.content table th,
.content table td{
    padding: 20px 10px;
    font-size: 1.8rem;
    border: 1px solid #eee;
    color: #131314;
    line-height: 1.5;
}
.content table th{
    background: #ffc920;
}
.content table td{
    background: #FFF;
    text-align: center;
}
.content table th.null{
    background: none;
    border: none;
}
.content table th:first-of-type{
    width: 200px;
}
.content1 {
    padding: 0;
    color: #fff;
    background: url("images/ex/bg.jpg") no-repeat;
}
/* .content1::before {
  width: 100%;
  height: 100%;
  background: url("images/ex/bg.jpg") no-repeat center/cover;
  content: "";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  z-index: -1;
} */
.content.content1 .inner{
    max-width: 1200px;
    padding: 0;
}
.content1 h1 {
  font-size: 5.6rem;
  text-shadow: 0px 0px 10px #000;
  text-align: center;
  font-weight: bold;
  line-height: 1.6;
}
.content1 h1 span{
    font-weight: inherit;
    display: block;
}
.content1 h1 span br{
    display: none;
}
.content1 h1 span.fadeintop{
    transform: translateY(50px);
}
.content1 h1 span.fadeintop.scrollin{
    transform: translateY(0);
}
.content1 h1 span.txt1{
    transition-delay: .5s;
}
.content1 h1 span.txt2{
    transition-delay: 1s;
}
.content1 h1 span.txt3{
    transition-delay: 1.5s;
}
.content1 h1 span.txt3 span{
    display: inline-block;
    color: #ffc920;
}
.content2 h2{
  margin-bottom: 0;
  line-height: 1.8;
}
.content3 {
  background: rgba(255, 201, 31, 0.2);
  color: #fff;
}
.content4 li{
    height: 140px;
    margin-top: 80px;
    padding-left: 270px;
    background: linear-gradient(to right, #450909, #8a1212);
    border-radius: 70px;
    color: #fff;
    position: relative;
    display: flex;
    align-items: center;
}
.content4 li img.point{
    position: absolute;
    top: -30px;
    left: 250px;
}
.content4 li img.img{
    position: absolute;
    bottom: 0;
    left: 0;
}
.content4 li p{
    font-size: 2rem;
}
.content4 li p .small{
    font-size: 1.4rem;
}
.content6 h3 span{
    margin-right: 5px;
    color: #ffc920;
    font-weight: inherit;
}
.content6 .df{
    margin-left: 24px;
}
.content6 p.example{
    margin-right: 10px;
    font-size: 2rem;
}
.content8 ul{
    list-style: disc;
    margin-left: 25px;
}
.content9 .btn{
    text-align: center;
}
.content10 p{
    margin-bottom: 0;
    font-size: 3rem;
    text-shadow: 0 0 20px rgb(255 201 31);
    font-weight: bold;
}
.fadein {
    opacity: 0;
    transition: all 1s;
}
.fadeintop {
    opacity: 0;
    /* transform: scale(.9) translateY(100px); */
    transform: translateY(100px);
    transition: all 0.8s;
}
.fadeinleft{
    opacity: 0;
    transition: .3s;
    transform: translateX(50px);
}
.fadeinright{
    opacity: 0;
    transition: .3s;
    transform: translateX(-50px);
}
.fadeinbottom{
  opacity: 0;
  transition: .3s;
  transform: translateY(-50px);
}
.fadeintop.scrollin {
    opacity: 1;
    transform: translate(0, 0);
}
.fadein.scrollin{
    opacity: 1;
    transform: scale(1) translateY(0);
}
.fadeinleft.scrollin,
.fadeinright.scrollin,
.fadeinbottom.scrollin{
    opacity: 1;
    transform: translateX(0);
}
.no_pc,
.no_pc568{
    display: none;
}
.h1_wrap{
    display: flex;
    justify-content: center;
    align-items: center;
    height: auto;
    background: url(../img/campaign/commemoration1/bg.jpg) no-repeat center top;
}
p.period.h1_bottom{
    margin-bottom: 0;
    padding: 20px;
    font-size: 1.8rem;
    background: #1e1f21;
    color: #FFF;
}
p.period.h1_bottom span{
    font-size: 1.8rem;
}
p.period.h1_bottom span.middle {
    margin: 0 10px;
}
p.period.h1_bottom.end_text{
    font-size: 2.4rem;
    background: #ffc920;
    color: #131314;
}
p.period{
    margin-bottom: 40px;
    font-size: 0;
}
p.period span{
    display: inline-block;
    font-size: 2.6rem;
}
p.period span.middle{
    margin: 0 30px 0 20px;
}
img.ma{
    margin: 0 auto;
}
.bg_gray{
    background: #F3F3F3;
}
.bg_gray1{
    background: #131314;
}
.bg_gray2{
    background: #1E1F21;
}
.bg_gray3{
    background: #444;
}
.bg_navy{
    background: #122740;
    color: #FFF;
}
.campaign{
    padding: 60px 0;
    color: #FFF;
}
.campaign h2{
    margin-top: 60px;
    margin-bottom: 30px;
    font-size: 4rem;
    line-height: 1.5;
    text-align: center;
    color: #FFC91F;
}
.campaign h2:first-of-type{
    margin-top: 0;
}
.campaign h3 {
    margin: 60px 0 20px;
    font-size: 2.6rem;
    text-align: center;
    line-height: 1.4;
    color: #ffc920;
}
.campaign p {
    margin-bottom: 10px;
    font-size: 1.6rem;
    line-height: 1.8;
}
.tc{
    text-align: center;
}
.pink {
    color: #FF0060;
}
.inner.tl h3{
    text-align: left;
}
.inner.tl h3.tc{
    text-align: center;
}
.campaign ul.list{
    margin-left: 30px;
    list-style: disc;
}
.campaign ul li {
    margin-bottom: 10px;
}
.campaign h2 + h3 {
    margin-top: 20px;
}
.campaign h3.light {
    margin-top: 40px;
    color: #FFF;
    text-shadow: 0px 0px 10px #00a0c1;
}
.campaign .inner.tl h2 + h3.tc.light{
    margin-top: 20px;
}
.campaign p.sub_catch{
    margin: 0;
    text-align: center;
    font-size: 3rem;
    text-shadow: 0px 0px 10px #00a0c1;
}
.campaign p.sub_catch + h2{
    margin-top: 0;
}
.blue_btn {
    max-width: 600px;
    margin: 0 auto 20px;
    font-size: 2rem;
    background: #319CCC;
    padding: 20px 40px;
    color: #FFF;
    transition: .5s;
    position: relative;
    display: block;
    text-decoration: none;
}
.green_btn {
    max-width: 600px;
    margin: 0 auto 20px;
    font-size: 2rem;
    background: #00BA7C;
    padding: 20px 40px;
    color: #FFF;
    transition: .5s;
    position: relative;
    display: block;
    text-decoration: none;
}
.blue_btn.shine_btn {
    border: 2px solid #319CCC;
}
.blue_btn.shine_btn:hover {
    position: relative;
    animation: shine1blue 4s cubic-bezier(0.6, 0.04, 0.98, 0.335) 0s infinite;
}
.btn::before, .blue_btn::before, .green_btn::before, .orange_btn::before, .red_btn::before, .white_btn::before {
    content: '';
    width: 8px;
    height: 8px;
    margin-top: -5px;
    border-top: solid 2px #FFF;
    border-right: solid 2px #FFF;
    transform: rotate(
45deg
);
    position: absolute;
    top: 50%;
    right: 15px;
    transition: .5s;
}
.blue_btn:hover::before {
    border-top: solid 2px #319CCC;
    border-right: solid 2px #319CCC;
    transform: rotate(
45deg
) translateX(5px) translateY(-5px);
}
.shine_btn:hover::after {
    content: '';
    width: 30px;
    height: 30px;
    background: url(../img/glow.png) no-repeat center;
    background-size: contain;
    position: absolute;
    top: -14px;
    left: -14px;
    z-index: 1;
    animation: shine2 4s cubic-bezier(0.6, 0.04, 0.98, 0.335) 0s infinite;
}
@keyframes shine1 {
    0% {border:2px solid #FFC91F;}
    20% {border:2px solid #63ebff; box-shadow: 0 0 5px #FFF;}
    35% {border: 2px solid #FFC91F; box-shadow: none;}
    100% {border: 2px solid #FFC91F;}
}
@keyframes shine1blue {
    0% {border:2px solid #319CCC;}
    20% {border:2px solid #63ebff; box-shadow: 0 0 5px #FFF;}
    35% {border: 2px solid #319CCC; box-shadow: none;}
    100% {border: 2px solid #319CCC;}
}
@keyframes shine2 {
    0% {top:-14px;left: -14px;transform: scale(.5);opacity: 0;}
    5%{opacity: 1;}
    10% {top:calc(100% - 15px);left: -14px;}
    20%{top:calc(100% - 15px);left: calc(100% - 15px);}
    25%{top:-15px;left: calc(100% - 15px);}
    27%{opacity: 1;}
    30%{top:-14px;left: -14px; opacity: 0;}
    100%{top:-14px;left: -14px; opacity: 0;}
}
.btn {
    max-width: 600px;
    margin: 0 auto 20px;
    font-size: 2rem;
    color: #111;
    background: #FFC91F;
    border: 1px solid #FFC91F;
    padding: 20px 40px;
    transition: .5s;
    position: relative;
    display: block;
    text-decoration: none;
}
.btn:hover {
    background: #FFF;
}
.btn::before {
    border-top: solid 2px #111;
    border-right: solid 2px #111;
}
.btn:hover::before {
    transform: rotate(
45deg
) translateX(5px) translateY(-5px);
}
.limits > li{
    width: calc(100% / 3);
    text-align: center;
    font-size: 1.8rem;
}
.limits > li img{
    width: 150px;
    height: 150px;
    margin: 0 auto;
}
ul.release li{
    margin-bottom: 30px;
}
ul.release li img{
    width: 50px;
    height: 50px;
    margin-right: 15px;
    margin-bottom: 15px;
    float: left;
}
ul.release li > span{
    overflow: hidden;
    display: block;
}
ul.release li span span{
    color: #FFC91F;
}
ul.list .list{
    margin-top: 10px;
    list-style: circle;
}
ul.list .list li{
    margin-bottom: 5px;
}
.scrollTop {
  width: 60px;
  height: 60px;
  background-color: #000;
  box-shadow: 0px 0px 6px #ffc91f;
  border: 2px solid #ffc91f;
  border-radius: 50%;
  display: none;
  position: fixed;
  bottom: 20px;
  right: 20px;
  transition: 0s;
  z-index: 1;
  text-indent: -9999px;
}
.scrollTop a{
    height: 100%;
}
.scrollTop::after {
  width: 14px;
  height: 14px;
  border-top: 2px solid #ffc91f;
  border-right: 2px solid #ffc91f;
  content: "";
  position: absolute;
  top: 50%;
  right: 20px;
  transform: translateY(calc(-50% + 4px)) rotate(-45deg);
}
@media (max-width: 1200px) {
  .inner {
    padding-right: 15px;
    padding-left: 15px;
  }

  .content1 h2 {
    font-size: 5rem;
  }

  .content1 .sec1 {
    margin-top: 30px;
  }

  .content1 .left p {
    font-size: 2.2rem;
  }

  .content1 .left .logoChange {
    margin-top: 30px;
  }

  .content1 .left .logoChange .logoOld {
    height: 40px;
  }

  .content1 .left .logoChange ul img {
    height: 40px;
  }

  .content1 .left .logoChange .logo {
    height: 60px;
  }

  .content2 .right figure .logoList img {
    height: auto;
  }
}

@media (max-width: 959px) {
  .header {
    padding: 15px;
  }

  .header .logo {
    height: 50px;
  }

  .content {
    padding: 80px 0;
  }

  .content1 {
    height: auto;
    padding: 0;
    display: block;
  }

  .content1 h2 {
    font-size: 3.5rem;
  }
}
@media (max-width: 768px) {
    .no_pc{
        display: block;
    }
    .no_sp{
        display: none;
    }
    section ul{
        font-size: 1.5rem;
    }
    .content1 h1{
        font-size: 3.2rem;
        line-height: 1.5;
    }
    .content4 li{
        height: auto;
        margin-top: 40px;
        padding: 20px 30px;
        background: linear-gradient(to right, #450909, #8a1212);
        border-radius: 20px;
        display: block;
    }
    .content4 li img.point{
        width: 140px;
        top: -15px;
        left: 0;
        right: 0;
        margin: 0 auto;
    }
    .content4 li img.img{
        position: static;
        margin: 10px auto;
        max-width: 160px;
    }
    .content4 li p{
        font-size: 1.8rem;
    }
}

@media screen and (max-width: 568px){
    .no_pc568{
        display: block;
    }
    .no_sp568{
        display: none;
    }
    .content1::before {
        max-height: 300px;
    }
    section h3{
        font-size: 1.8rem;
    }
    .content{
        padding: 40px 0;
    }
    .content table th:first-of-type{
        width: auto;
    }
    .content table th,
    .content table td{
        font-size: 1.5rem;
    }
    .content1 {
        padding: 0;
    }
    .content1 h1{
        font-size: 2.4rem;
    }
    .content1 h1 span br{
        display: block;
    }
    .btn{
        font-size: 1.6rem;
    }
    .scrollTop{
        width: 45px;
        height: 45px;
        right: 10px;
        bottom: 10px;
    }
    .scrollTop::after {
        width: 12px;
        height: 12px;
        right: 15px;
    }
    .content4 li{
        padding: 20px 15px 10px;
    }
    .content4 li p{
        font-size: 1.6rem;
    }
    .content6 .df{
        margin-left: 0;
        display: block;
    }
    .content6 p.example{
        margin: 0 0 5px;
        font-size: 1.5rem;
    }
    .content8 ul{
        margin-left: 20px;
    }
}
