@charset "utf-8";
* {
  box-sizing: border-box;
}
img {
  max-width: 100%;
  height: auto;
  -ms-interpolation-mode: bicubic;
  vertical-align: bottom;
}
html {
  -webkit-text-size-adjust: 100%;
  font-size: 62.5%;
}
body {
  line-height: 1.5;
  font-size: 1.2rem;
  color: #333333;
}
body, main, section, h1, h2, h3, p, ul, li, dl, dd, figure {
  margin: 0;
  padding: 0;
}
.headTitleBox {
  margin-bottom: 0;
}
.contentsWrap {
  width: 100%;
}
.oneContents .contentsWrap #main {
  width: 100%;
}
#main {
  padding: 0;
}
main h1 .pageTop {
  text-align: center;
  background: #EAC786;
}
/*==========*/
#footerLink {
  margin-top: 0;
}
/*=====main=====*/
.pcOnly {
  display: none;
}
.mainVisual .txRed{
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "sans-serif";
  padding: 3% 0 2%;
  font-size: 2.0rem;
  font-weight: bold;
  color: #fe260c;
  background-color: #fff;
  text-align: center;
}
.mainVisual .txRed span{
  font-size: 2.8rem;
}
.end{
  background-color: rgba(0,0,0,0.65);
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
}
.end img{
  position: absolute;
  margin: auto;
  width: 80%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
}
main .period {
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "sans-serif";
  color: #fff;
  text-align: center;
  font-size: 1.8rem;
  padding: 3% 6% 2%;
  background: #000;
  background-size:10px 10px;
}
main .period p:first-child{
  margin-bottom: 3%;
  border-bottom: solid 2px #fff;
  padding-bottom: 3%;
}
main .period span {
  font-size: 2.4rem;
}
.main-inner {
  padding-bottom: 10%;
  font-size: 1.4rem;
  color: #fff;
  font-family: "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, "sans-serif";
  background-color: #000;
}
.contents01{
  background: url("../images/idx_bg01.webp") repeat;
  background-size: 6.3%;
  padding: 10% 6% 15%;
}
.contents01 .detail{
  margin: 8% 0 25%;
}
.contents01 .prize{
  position: relative;
  background: #000;
  padding: 16% 4% 8%;
}
.contents01 .prize h3{
  position: absolute;
  width: 40%;
  top: -6%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.contents01 .prize ul{
  font-size: 2.0rem;
  font-weight: bold;
  margin: 5% 0;
}
.contents02{
  padding: 10% 6% 0;
}
.contents02 section:nth-of-type(n+2){
  margin-top: 8%;
}
.contents02 h2{
  display: inline-block;
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  font-size: 2.0rem;
  margin-bottom: 5%;
  border-bottom: 2px solid;
  border-image: linear-gradient(to right, #cda759, #eae0a7, #cda759) 1;
  padding-bottom: 1%;
}
.contents02 .ticket{
  margin: 5% 0 8%;
}
.contents02 .ticket div{
  color: #231815;
  background: #fff;
  margin-top: 3%;
  padding: 5% 4%;
}
.contents02 .ticket div .ticketInner{
  margin-top: 7%;
  font-size: 1.5rem;
  font-weight: bold;
}
.contents02 .ticket div .ticketInner span{
  color: #ed1b26;
}
.contents02 a{
  color: #00b4ff;
}
#agree{
  accent-color: #d3b36a;
}
.contents02 .btn01, .contents02 .btn02{
  position: relative;
  text-align: center;
}
.contents02 .btn01 a, .contents02 .btn02 a {
  display: block;
  text-decoration: none;
  font-size: 2.2rem;
  font-weight: bold;
  color: #231815;
  background:linear-gradient(90deg,rgba(205, 167, 89, 1) 0%, rgba(234, 224, 167, 1) 50%, rgba(205, 167, 89, 1) 100%);
  padding: 3% 0 2%;
  box-shadow: 3px 3px 6px -2px #555, 3px 3px 4px rgb(255 255 255 / 60%) inset;
}
.contents02 .btn01 a::after, .contents02 .btn02 a::after{
  content: "";
  display: inline-block;
  position: absolute;
  background-image: url(../images/idx_ic01.webp);
  background-repeat: no-repeat;
  background-size: contain;
  width: 2%;
  height: 30%;
  top: 35%;
  right: 3%;
}
.contents02 .btn01.inactive a{
  pointer-events: none;
  background: #ccc;
  color: #fff;
}
.contents02 .btnArea{
  margin-top: 10%;
}
.contents02 .btn02{
  margin: 2% 0;
}
.contents02 .btn02 a{
  background: #fff;
}
.attCol {
  color: #231815;
  overflow: scroll;
	overflow-x: hidden;
  height: 400px;
  padding: 5% 3%;
  border: solid 1px #d7d7d7;
  background-color: #fff;
}
.attCol .red{
  color: #ff0000;
}
.contents02 .checkBox{
  margin: 6% 0 2%;
  text-align: center;
}

/*=====スクロールバー表示させる=====*/
.main-inner .contents04 .attCol::-webkit-scrollbar {
  width: 5px;
}
.main-inner .contents04 .attCol::-webkit-scrollbar-thumb {
  background: #D3D3D3;
  border-radius: 5px;
}
.main-inner .contents04 .attCol::-webkit-scrollbar-track-piece:start {
  background: #EFEFEF;
}
.main-inner .contents04 .attCol::-webkit-scrollbar-track-piece:end {
  background: #EFEFEF;
}
/*-----*/
.attCol dl dt{
  font-weight: bold;
  font-size: 1.6rem;
  margin: 5% 0 1%;
}
.attCol .indent {
  padding-left: 1em;
  text-indent: -1em;
}
/*=====cpArea=====*/
#campaignArea {
  margin: 2% 0;
  padding: 0 3%;
}
#campaignArea .title02 {
  margin-top: 0;
  padding-top: 3%;
}
/*=====mediaQuery=====*/
@media screen and (min-width:751px), print {
  .pcOnly {
    display: inline-block;
  }
  .spOnly {
    display: none;
  }
  
  main {
    background-image: linear-gradient(-45deg, #f0f0f0 25%, #f6f6f6 25%, #f6f6f6 50%, #f0f0f0 50%, #f0f0f0 75%, #f6f6f6 75%, #f6f6f6);
    background-size: 15px 15px;
  }
  main h1 {
    text-align: center;
  }
  .end{
    width: 1000px;
    margin: 0 auto;
  }
  .end img{
    width: auto;
  }
  
  .mainVisual{
    width: 1000px;
    margin: 0 auto;
  }
  .mainVisual .txRed{
    padding: 8px 0 6px;
    font-size: 2.4rem;
  }
  .mainVisual .txRed span{
    font-size: 3.2rem;
  }
  .main-inner {
    width: 1000px;
    padding-bottom: 70px;
    margin: 0 auto;
    font-size: 1.6rem;
  }
  main .period {
    width: 1000px;
    margin: 0 auto;
    padding: 12px 40px 10px;
    font-size: 2.4rem;
  }
  main .period p:first-child{
    margin-bottom: 10px;
    padding-bottom: 12px;
  }
  main .period span {
    font-size: 3.6rem;
  }
  .contents01{
    background-size: 28px;
    padding: 50px 40px 60px;
  }
  .contents01 h2{
    width: 505px;
    margin: 0 auto;
  }
  .contents01 .detail{
    margin: 40px 0 75px;
  }
  .contents01 .prize{
    padding: 40px 30px 20px;
  }
  .contents01 .prize h3{
    width: 170px;
    top: -35px;
  }
  .contents01 .prize .flexBox{
    display: flex;
    align-items: center;
    flex-direction: row-reverse;
    margin-top: 0;
  }
  .contents01 .prize .flexBox div{
    width: 480px;
  }
  .contents01 .prize figure{
    width: 370px;
  }
  .contents01 .prize ul{
    font-size: 3.0rem;
    margin: 0 0 15px;
  }
  .contents02{
    padding: 30px 40px 0;
  }
  .contents02 section:nth-of-type(n+2){
    margin-top: 50px;
  }
  .contents02 h2{
    font-size: 2.4rem;
    margin-bottom: 15px;
    padding-bottom: 3px;
  }
  .contents02 .ticket{
    margin: 30px 0 35px;
  }
  .contents02 .ticket div{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 10px;
    padding: 30px 20px;
  }
  .contents02 .ticket div .ticketImg{
    width: 460px;
  }
  .contents02 .ticket div .ticketInner{
    width: 390px;
    margin-top: 0;
    font-size: 1.9rem;
  }
  .contents02 a{
    color: #00b4ff;
  }
  
  .contents02 .btn01 a, .contents02 .btn02 a {
    width: 490px;
    margin: 0 auto;
    font-size: 3.4rem;
    padding: 13px 0 10px;
  }
  .contents02 .btn01 a::after, .contents02 .btn02 a::after{
    width: 10px;
    height: 25px;
    top: 26px;
    right: 230px;
  }
  .contents02 .btnArea{
    margin-top: 50px;
  }
  .contents02 .btnArea p:first-of-type{
    width: 450px;
    margin: 0 auto;
  }
  .contents02 .btn02{
    margin: 10px 0;
  }
  .contents02 .btn02 a{
    background: #fff;
  }
  .contents02 .checkBox{
    margin: 35px 0 10px;
    text-align: center;
  }
  .attCol {
    height: 500px;
    padding: 30px 30px 20px;
  }
  .attCol dl dt{
    margin: 25px 0 3px;
    font-size: 1.8rem;
  }
  .cam-wrap {
    background-color: #fff;
  }
  /*=====cpArea=====*/
  #campaignArea {
    width: 1000px;
    margin: 0px auto;
    padding: 25px 0 0;
  }
  #campaignArea h2 {
    text-align: left;
  }
}