@charset "UTF-8";
html {
  color: #000;
  font-family: "Noto Sans JP", YuGothic, "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Verdana, "ＭＳ Ｐゴシック", sans-serif;
  font-size: 62.5%;
  position: relative;
  background: #fff;
  font-weight: 400;
  transition: .3s;
}

body {
  font-size: 1.6rem;
  transition: .3s;
  text-rendering: optimizeLegibility;
  font-kerning: normal;
  font-variant-ligatures: common-ligatures contextual;
  font-feature-settings: "kern", "liga", "clig", "calt";
  background: #fff url("../img/bg.png") no-repeat center top;
/*  width: 106rem;*/
    width: 100%;
    max-width: 1086px;
  margin: 0 auto;
}
body.body-prize, body.body-event {
  background: #fff url("../img/bg_event.png") no-repeat center top;
}
body a {
  color: #000;
  text-decoration: none;
  transition: .3s;
  vertical-align: top;
}
body a:hover {
  text-decoration: none;
}
body a:hover img {
  opacity: .8;
  transition: .3s;
}
body a:focus {
  overflow: hidden;
  outline: none;
}
body .indent {
  padding-left: 1em;
  text-indent: -1em;
}
body dt, body dd, body p, body li, body th, body td, body address {
  line-height: 2.2rem;
}
body img {
  max-width: 100%;
  transition: .3s;
}
body strong {
  font-weight: 700;
}
body .red {
  color: #cb2d28;
}
body .pink {
  color: #e5007f;
}
body .green {
  color: #009a44;
}
body .blue {
  color: #1d2089;
}
body .right {
  text-align: right;
}
body .left {
  text-align: left;
}
body .center {
  text-align: center;
}
body .b {
  font-weight: bold;
}
body .s {
  font-size: 1.2rem;
}
body .must {
  background: #e5007f;
  padding: 0.2% 2%;
  color: #fff;
  font-weight: bold;
  font-size: 1.2rem;
  text-align: center;
  border-radius: 3px;
  display: inline-block;
  margin-left: .8rem;
}

/* -----------------------------------------
		common
----------------------------------------- */
.cf {
  display: block;
}
.cf:before {
  content: "";
  display: block;
  clear: both;
}
.cf:after {
  content: "";
  display: block;
  clear: both;
}

.container {
  width: 90rem;
  margin: 0 auto;
}

#pagetop {
  position: fixed;
  right: 2rem;
  bottom: 2rem;
  cursor: pointer;
}

.tab_box .btn_area {
  display: flex;
    padding: 20px 0 35px 0;
    margin: -5rem;
  width: 100rem;     
}
.tab_box .tab_btn {
  cursor: pointer;
  transition: all 0.2s ease 0s;
}
.tab_box .tab_panel {
  display: none;
}
.tab_box .tab_panel.active {
  display: block;
}

/* -----------------------------------------
		haeder footer
----------------------------------------- */
header .container {
  height: 28rem;
  position: relative;
}
header .container h1 {
  width: 95rem;
  position: absolute;
  left:15rem;
  top: 5.7rem;
  z-index: 1
}
header .container .tytle {
  width: 48.5rem;
  position: absolute;
  left: -7.0rem;
  top: 1.5rem;
  z-index: 1
}
header .container .main_char {
  position: absolute;
  width: 29.0rem;
  top: 2.1rem;
  right: 21.8rem;
  z-index: 2;
}
header .container .date {
  position: absolute;
  width: 30rem;
  top: 17.5rem;
  left: 3rem;
  z-index: 3;
}
header .container .datesub {
  position: absolute;
  width: 38.3rem;
  top: 24.5rem;
  right: -8.4rem;
  z-index: 2;
}
header .container .kumo1 {
  position: absolute;
  width: 30.5rem;
  top: 2.5rem;
  left: -3.5rem;
  z-index: 0;
}
header .container .kumo2 {
  position: absolute;
  width: 39rem;
  top: 38rem;
  right: -11.5rem;
  z-index: 0;
}
header .container .shisa {
  position: absolute;
  width: 14rem;
  top: 43rem;
  right: 4.6rem;
  z-index: 1;
}
header .container .comment {
  position: absolute;
  text-align: center;
  width: 100%;
  top: 72.5rem;
  font-size: 2rem;
  font-weight: 450;
  color: #e60012;  
  z-index: 9;
}

header .container-event {
  height: 50rem;
  position: relative;
}
header .container-event h1 {
  width: 33.3rem;
  position: absolute;
  left:0.5rem;
  top: 2.2rem;
  z-index: 1
}
header .container-event .tytle {
  width: 74.2rem;
  position: absolute;
  left:-12.1rem;
  top: 4.4rem;
  z-index: 1
}
header .container-event .main_char {
  position: absolute;
  width: 29rem;
  top: 34.6rem;
  left: 1.5rem;
  z-index: 2;
}
header .container-event .date {
  position: absolute;
  width: 73rem;
  top: 17.5rem;
  left: 33rem;
  z-index: 2;
}
header .container-event .datesub {
  position: absolute;
  width: 65rem;
      
  top: 4.5rem;
  left: 35rem;
  z-index: 2;
}

footer{
    max-width: 1086px;
   margin: auto;
  background: #000;
  color: #fff;
    align-items: center;
    justify-content: center;
  text-align: center;
    display: flex;
    height: 4rem;
  
/*
  margin: 2rem 0 0;
  padding: 0rem 0;
*/
}
footer .main-text{
    font-size: 2rem;
  line-height: 1rem;
    
}
footer .sub-text {
    text-align: left;
    display: flex;
    
    flex-direction: column;
    font-size: 1.2rem;
/*    line-height: 1rem;*/
    
}

footer a {
  color: #fff;
}
footer a:hover {
  text-decoration:none;
}

/* -----------------------------------------
		main
----------------------------------------- */
main {
  margin: 0 auto;
}
main .btn-area ul li:last-of-type {
  text-align: right;
  margin: 1.5rem 0;
}
main .top-nav {
  margin: 0rem 0 -1rem;
}
main .top-nav ul {
  display: flex;
  justify-content: space-between;
}
main .top-nav ul li {
  width: 48%;
}
main .top-nav ul li .btn {
  margin: 1rem 0 0;
}
main .top-nav ul li:last-of-type p {
  text-align: right;
}
main .attention ul li {
/*  color: #e60012;*/
  color: #4C444D;    
  font-size: 1.4rem;
  line-height: 2rem;
  margin: 0 2rem 0;    
}
main .attention.attention-prize ul li {
  color: #000;
}
main .campaign h2 {
  text-align: center;    
  margin: 0 0 1rem;
}
main .campaign .campaignWrap {
  background: #fff;
  padding: 3rem;
  box-sizing: border-box;
}
main .campaign .campaignWrap dl {
  margin: 0 0 2rem;
}
main .campaign .campaignWrap dl dt {
  font-size: 2.4rem;
  font-weight: 700;
  border-bottom: 1px solid #656363;
  padding: 0 0 1.2rem;
  margin: 0 0 .6rem;
}
main .campaign .campaignWrap dl dd {
  position: relative;
  font-size: 1.4rem;
}
main .campaign .campaignWrap dl dd .s {
  font-size: 1rem;
  letter-spacing: -1px;
}
main .campaign .campaignWrap dl dd a {
  display: block;
  position: absolute;
  right: 0;
  top: 0;
}

main .event{
    margin-left: 2.3rem;
    margin-right: 2.3rem;
    width: 106 rem; 
/*    margin-left: -4rem;*/
    
}

main .eventWrap {
    text-align: center;
/*    margin: 0 -5.6rem; */
}
main .eventWrap ul li {
  
  line-height: 5rem;
}
main .eventHow {
  margin-top: 2rem;
　background: url("../img/campaign-how.png") no-repeat center top;
  position: relative;
  height: 20rem;
  z-index: 99;
}
main .eventHow ul li {
  position: absolute;
  top: 8.7rem;
  font-size: 1.2rem;
  line-height: 1.7rem;
  letter-spacing: -.5px;
}
main .eventHow ul li:nth-of-type(1) {
  left: 16rem;
}
main .eventHow ul li:nth-of-type(2) {
  left: 44rem;
}
main .eventHow ul li:nth-of-type(3) {
  left: 72rem;
  top: 9.5rem;
}
main .eventResult {
  margin: 0rem 0 3rem;
  color: white;
}
main .eventResult h2 {
  text-align: center;
    margin: 0 0 .5rem;
}
main .eventResult p {
  margin-left: 3rem;
  margin-right: 3rem;
  font-size: 1.5rem;
  color: #000;
/*  line-height: 1rem;*/
}
main .eventAttention {
  margin: 0 0 2rem;
}
main .eventAttention h2 {
  text-align: center;
  margin: 0 0 .8rem;
}
main .eventAttention .wrap {
  background: #fff;
  border: 1px solid #2b2929;
  padding: .6rem 1.6rem 1.6rem;
  box-sizing: border-box;
}
main .eventAttention .wrap h3 {
  font-size: 1.5rem;
  line-height: 3.4rem;
}
main .eventAttention .wrap p {
  font-size: 1.2rem;
  line-height: 1.8rem;
  letter-spacing: -.2px;
}
main .privacy h2 {
  margin: 0 0 1rem;
}
main .privacy {
  background: #555555;
/*  padding: 3rem 3rem 3rem 4rem;*/
/*  box-sizing: border-box;*/
  margin: 1rem 0 1rem;
}
main .privacy p {
    text-align: center;
  font-size: 1.45rem;
  line-height: 2.6rem;
/*  margin: 0 0 2rem;*/
}
main .privacy .privacyWrap p.name {
  text-align: right;
}
main .privacy .privacyWrap p:last-of-type {
  margin-bottom: 0;
}
main .prize {
  margin: 0 0 1rem;
}
main .prize h2 {
  text-align: center;    
  margin: 5rem 0 1rem;
}
main .prize .copy {
  font-size: 2rem;
  color: #fff;
/*    color: #e60012;*/

  text-shadow:1px 1px 0 #003e88, -1px -1px 0 #003e88,
              -1px 1px 0 #003e88, 1px -1px 0 #003e88,
              0px 1px 0 #003e88,  0-1px 0 #003e88,
              -1px 0 0 #003e88, 1px 0 0 #003e88;

  line-height: 2.5rem;
  font-weight: 700;
  text-align: center;
  margin: 0 0 4rem;
}
main .prize .copy span {
  font-size: 1.4rem;
  font-weight: 500;
}
main .prize .tab_box .btn_area {
  display: flex;
  justify-content: space-between;
}
main .prize .tab_box .btn_area p {
  width: 20rem;
  height: 12rem;
  text-indent: -9999px;
}
main .prize .tab_box .btn_area p:nth-of-type(1) {
/*  width: 14.3rem;*/
    
  background: url("../img/off_a.png") no-repeat center top;
    
}
main .prize .tab_box .btn_area p:nth-of-type(2) {
  background: url("../img/off_b1.png") no-repeat center top;
}
main .prize .tab_box .btn_area p:nth-of-type(3) {
  background: url("../img/off_b2.png") no-repeat center top;
    z-index: 10;
}
main .prize .tab_box .btn_area p:nth-of-type(4) {
  background: url("../img/off_b3.png") no-repeat center top;
     z-index: 9;
}
main .prize .tab_box .btn_area p:nth-of-type(5) {
  background: url("../img/off_c.png") no-repeat center top;
}
main .prize .tab_box .btn_area p:nth-of-type(6) {
  background: url("../img/off_d.png") no-repeat center top;
}
main .prize .tab_box .btn_area p:nth-of-type(7) {
  background: url("../img/off_e.png") no-repeat center top;
}
main .prize .tab_box .btn_area p:nth-of-type(1).active {
  background: url("../img/on_a.png") no-repeat center top;
}
main .prize .tab_box .btn_area p:nth-of-type(2).active {
  background: url("../img/on_b1.png") no-repeat center top;
}
main .prize .tab_box .btn_area p:nth-of-type(3).active {
  background: url("../img/on_b2.png") no-repeat center top;
    z-index: 10;
}
main .prize .tab_box .btn_area p:nth-of-type(4).active {
  background: url("../img/on_b3.png") no-repeat center top;
    z-index: 9;
}
main .prize .tab_box .btn_area p:nth-of-type(5).active {
  background: url("../img/on_c.png") no-repeat center top;
}
main .prize .tab_box .btn_area p:nth-of-type(6).active {
  background: url("../img/on_d.png") no-repeat center top;
}
main .prize .tab_box .btn_area p:nth-of-type(7).active {
  background: url("../img/on_e.png") no-repeat center top;
}
main .prize .tab_box .panel_area .tab_panel ul li {
  line-height: 0;
  margin-top: 0rem;  
}
main .tool h2 {
  margin: 0 0 1rem;
}
main .tool .toolWrap {
  background: #fff;
  padding: 3rem;
  box-sizing: border-box;
}
main .tool .toolWrap .copy {
  margin: 0 0 1.6rem;
}
main table {
  width: 100%;
  margin: 0 auto;
  table-layout: fixed;
}
main table th, main table td {
  padding: .6rem 1rem;
  box-sizing: border-box;
  background: #fff;
  font-size: 1.3rem;
}
main table thead tr th {
  background: #002D85;
  border-top: 1px solid #fff;
  border-left: 1px solid #fff;
  color: #fff;
  box-sizing: border-box;
  vertical-align: middle;
}
main table thead tr:first-of-type th:nth-of-type(1) {
  width: 27%;
}
main table thead tr:first-of-type th:nth-of-type(2) {
  width: 38%;
}
main table thead tr:first-of-type th:nth-of-type(3) {
  width: 8%;
}
main table thead tr:first-of-type th:nth-of-type(4) {
  width: 27%;
}
main table thead tr.val th {
  font-size: 1rem;
}
main table tbody {
  border-right: 1px solid #555;
  border-bottom: 1px solid #555;
}
main table tbody tr th, main table tbody tr td {
  border-left: 1px solid #555;
  border-top: 1px solid #555;
  font-weight: normal;
  vertical-align: middle;
}
main table tbody tr th {
  text-align: left;
  background: #FFFDE5;
}
main table tbody tr td {
  text-align: center;
}
main table tbody tr td span {
  color: #E6002D;
  font-size: 12px;
  display: block;
  line-height: 1.8rem;
}
main table tbody tr td a:hover {
  text-decoration: underline;
  color: #ff0000;
}
main table tbody tr td.tleft {
  text-align: left;
}
