@charset "UTF-8";

#content {
min-width: inherit;
color: #333333;
font-size: 14px;
}
#content section {
margin-top: 70px;
}
#content section#application {
margin-top: 0;
}
#content .inner {
max-width: 900px;
margin: 0 auto;
padding: 0;
}
#content .dsp {
display: none;
}
#content .dpc {
display: block;
}
#content .flex {
display: flex;
}
#content .topicPath {
margin-bottom: 0;
}
#content h2{
text-align: center;
}
#content h2 img{
width: auto;
height: 45px;
}
#content #flow h2 img{
height: 93px;
}
@media screen and (max-width: 640px) {
#content h2 img{
height: 36px;
}
#content #flow h2 img{
height: 75px;
}
}
#content a {
color: #0078ff;;
}
#content p {
line-height: 1.6;
}
#content p,
#content dt,
#content dd,
#content li {
text-align: justify;
}
@media screen and (max-width: 640px){
#content p,
#content dt,
#content dd,
#content li  {
font-size: 13px;
line-height: 1.5;
}
}
#content .txtBox {
	margin-top: 40px;
}
#content .att {
margin-top: 10px;
font-size: 14px;
}
#content .name span {
font-size: 18px;
font-weight: bold;
}
#content .profile01,
#content .profile02{
margin-top: 6px;
font-size: 13px;
}
#content .profile02 {
color: #888;
}
#content .profile03{
margin-top: 16px;
font-size: 13px;
}
#content .profile03 .comment {
font-weight: bold;
margin-bottom: 2px;
}
@media screen and (max-width: 640px) {
#content .profile03 .comment {
text-align: center;
font-size: 14px;
}
}
@media screen and (max-width: 640px) {
#content {
font-size: 15px;
}
#content section {
margin-top: 60px;
}
#content section#theme {
margin-top: 40px;
}
#content .inner {
margin: 0 10px;
}
#content .flex {
display: block;
}
#content .dpc {
display: none;
}
#content .dsp {
display: block;
}
}
/* -----------------------------
mainvisual
------------------------------*/
@media screen and (min-width: 641px) {
#content #mainvisual h1 {
position: relative;
overflow-x: hidden;
height: 515px;
}
#content #mainvisual img {
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
-webkit-transform: translateX(-50%);
-ms-transform: translateX(-50%);
}
}
#content #mainvisual + p {
margin-top: 10px;
text-align: center;
}
@media screen and (max-width: 640px) {
#content #mainvisual h1 {
width: 100vw;
height: auto;
}
#content #mainVisual {
margin-bottom: 20px;
}
#content #mainvisual img {
width: 100vw;
height: auto;
}
}
/* -----------------------------
btnArea
------------------------------*/
#content .btnArea {
padding: 36px 10px ;
background: #ffcad4; /* Old browsers */
background: -moz-linear-gradient(left,  #ffcad4 0%, #ffdcef 50%, #ffcdf9 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #ffcad4 0%,#ffdcef 50%,#ffcdf9 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #ffcad4 0%,#ffdcef 50%,#ffcdf9 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
#content .moviebtn {
background: #ffcad4; /* Old browsers */
background: -moz-linear-gradient(to left,  #f6d1ff 0%, #e6e1ff 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(to left,  #f6d1ff 0%, #e6e1ff 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to left,  #f6d1ff 0%, #e6e1ff 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
#content .btn01 {
	margin: auto;
}
#content .moviebtn .btn01 {
	margin: auto;
  max-width: 400px;
}
#content .btn01 a {
  display: block;
  width: 160px;
  height: 42px;
  border-radius: 35px;
  background-color: #fff;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  line-height: 42px;
  color: #666;
  box-shadow: 3.536px 3.536px 10px 0px rgba(163, 172, 178, 0.4);
  border: 1px solid #666;
}
@media screen and (max-width: 640px){
#content .btn01 a {
  width: 260px;
  height: 38px;
  font-size: 15px;
  line-height: 38px;
  box-shadow: 2.536px 2.536px 5px 0px rgba(163, 172, 178, 0.4);
}

}
#content .moviebtn .btn01 a {
  background: linear-gradient(to right,  #e28cff  0%,#9e8bfd 100%);
  max-width: 400px;
  color: #7459fb;
}
#content .btn01 a span {
	background-color: #fff;
	border-radius: 33px;
	height: 50px;
}
@media screen and (min-width: 641px){
#content .btn01 a span {
	display: block;
}
}
#content .btn01 a:hover {
text-decoration: none;
opacity: 0.7;
}
#content .btn01 a:hover span {
	border: none;
	background: #ff70a3; /* Old browsers */
background: -moz-linear-gradient(left,  #ff70a3 0%, #de60b8 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #ff70a3 0%,#de60b8 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #ff70a3 0%,#de60b8 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
#content .moviebtn .btn01 a:hover span {
	border: none;
	background: #e493ff; /* Old browsers */
background: -moz-linear-gradient(left,  #e28cff  0%,#9e8bfd 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #e28cff  0%,#9e8bfd 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #e28cff  0%,#9e8bfd 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}
#content .btnArea{
  color: #e9256f;
}
#content .moviebtn{
  color: #7459fb;
}
#content .btnArea .leadText{
  text-align: center;
  margin-bottom: 16px;
}
#content .btnArea .leadText span{
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 640px){
#content .btnArea .leadText span{
  font-size: 18px;
}
}
#content .btnArea ul.attList {
	margin-top: 18px;
	font-size: 14px;
	color: #e9256f;
}
#content .moviebtn ul.attList {
	color: #7459fb;
}
#content .btnArea ul.attList li {
	text-align: center;
}
#content .btnArea ul.attList li:before {
	content: "※";
}

#content .btn02 {
	margin: auto;
  max-width: 300px;
}
#content .btn02 a {
	display: block;
  max-width: 300px;
  height: 50px;
  background: linear-gradient(to right,  #4db5ff 0%,#00cbe3 100%);
	border-radius: 35px;
	padding: 1px;
	background-color: #fff;
	box-shadow: 3.536px 3.536px 10px 0px rgba(163, 172, 178, 0.4);
  font-size: 19px;
  font-weight: bold;
  color: #29a6fe;
  text-align: center;
  line-height: 50px;
}
#content .btn02 a span {
	display: block;
	background-color: #fff;
	border-radius: 33px;
	height: 50px;
}
#content .btn02 a:hover {
text-decoration: none;
border: none;
color: #fff;
}
#content .btn02 a:hover span {
	border: none;
	background: #4db5ff; /* Old browsers */
background: -moz-linear-gradient(left,  #4db5ff 0%, #00cbe3 100%); /* FF3.6-15 */
background: -webkit-linear-gradient(left,  #4db5ff 0%,#00cbe3 100%); /* Chrome10-25,Safari5.1-6 */
background: linear-gradient(to right,  #4db5ff 0%,#00cbe3 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
}

#content .btn03 {
	margin: auto;
  max-width: 300px;
}
#content .btn03 a {
	display: block;
  max-width: 300px;
  height: 40px;
	border: 1px solid #666;
	border-radius: 35px;
	padding: 0 10px;
	background-color: #fff;
	box-shadow: 3.536px 3.536px 10px 0px rgba(163, 172, 178, 0.4);
  font-size: 16px;
  font-weight: bold;
  color: #666;
  text-align: center;
  line-height: 40px;
}
#content .btn03 a:hover {
	text-decoration: none;
	background-color: #DDDDDD;
}

#content .btnOff a {
  background: linear-gradient(to right,  #cbcbcb 0%,#cbcbcb 100%);
	background-color: #f5f5f5;
	box-shadow: none;
  color: #999;
	pointer-events: none;
}
#content .btnOff a span {
	background-color: #f5f5f5;
}

#content .btnOff.btn03 a{
	border: 1px solid #cbcbcb;
	background-color: #f5f5f5;
}

#content .btnArea .txtBox {
	margin-top: 0;
}
#content .btnArea .txtBox p {
	color: #e9256f;
	font-size: 20px;
	text-align: center;
}
@media screen and (max-width: 640px){
	#content .btnArea {
		padding: 20px 10px ;
	}
	#content .moviebtn  .btn01 {
  max-width: 300px;
}
	#content .moviebtn .btn01 a {
max-width: 300px;
height: 40px;
	}

#content .moviebtn .btn01 a {
  color: #fff;
}
#content .btn01 a span {
	border: none;
	background: none;
}
#content .btn01 a:hover span {
	background: none;
}
#content .btnArea ul.attList li {
text-align: left;
position: relative;
padding-left: 1.2em;
}
#content .btnArea ul.attList li:before {

position: absolute;
top: 0;
left: 0;
}
		#content .btn02 {
	margin: auto;
  max-width: 200px;
}
	#content .btn02 a {
max-width: 200px;
height: 40px;
font-size: 15px;
line-height: 40px;
text-decoration: none;
border: none;
color: #fff;
	}
#content .btn02 a span {
	border: none;
	background: none;
}
#content .btn02 a:hover span {
	background: none;
}
	#content .btn03 a {
		font-size: 14px;
	}
	}
/* -----------------------------
application / theme
------------------------------*/
#content section#theme {
margin-top: 40px;
}
@media screen and (max-width: 640px){
#content section#theme {
margin-top: 20px;
}
}
#application .area, #theme .area{
    list-style: none;
    width: 100%;
    max-width: 1000px;
    margin:0 auto;
}
#application .area > li, #theme .area > li{
    margin: 10px 0;
}
#application .area section, #theme .area section {
	margin-top: 20px;
  border: 1px solid #cbcbcb;
	border-radius: 10px;
	background-color: #f5f5f5;
}
#application .title, #theme .title {
    font-size:16px;
    font-weight: bold;
    padding: 2% ;
		text-align: center;
}
/*アコーディオンタイトル*/
#application .accTitle, #theme .accTitle {
    position: relative;/*+マークの位置基準とするためrelative指定*/
    cursor: pointer;
    transition: all .5s ease;
}
/*アイコンの＋と×*/
#application .accTitle::before,
#application .accTitle::after,
#theme .accTitle::before,
#theme .accTitle::after{
    position: absolute;
    content:'';
    width: 15px;
    height: 2px;
    background-color: #f344a9;
}
#application .accTitle::before,
#theme .accTitle::before{
    top:48%;
    right: 15px;
    transform: rotate(0deg);  
}
#application .accTitle::after,
#theme .accTitle::after{    
    top:48%;
    right: 15px;
    transform: rotate(90deg);
}
/*　closeというクラスがついたら形状変化　*/
#application .accTitle.close::before,
#theme .accTitle.close::before{
  transform: rotate(45deg);
}
#application .accTitle.close::after,
#theme .accTitle.close::after{
  transform: rotate(-45deg);
}
#application h3 {
margin-bottom: 10px;
}
#application p + h3 {
margin-top: 10px;
}
#theme .area .txtBox h3.themetitle{
	font-size: 18px;
	font-weight: bold;
	text-align: center;
	color: #fd5852;
	margin-bottom: 20px;
}
#theme .area .txtBox h3{
	font-weight: bold;
	margin-bottom: 5px;
}
#theme .area .txtBox .lead01{
	font-size: 16px;
	margin-bottom: 20px;
}
@media screen and (max-width: 640px){
#theme .area .txtBox .lead01{
	font-size: 14px;
	margin-bottom: 20px;
}
}
#application .box, #theme .box {
    background: #fff;
  margin:0 3% 3% 3%;
    padding: 5% 3%;
}
/*アコーディオンで現れるエリア*/
#application .accBox, #theme .accBox {
    display: none;/*はじめは非表示*/
}
#application .box .imgBox p, #theme .box .imgBox p {
	text-align: center;
}
#application .box .imgBox img, #theme .box .imgBox img {
	width: auto;
}
#application .box .txtBox, #theme .box .txtBox {
	margin-top: 0;
}
#application .box .txtBox span.through, #theme .box .txtBox span.through{
	text-decoration: line-through;
}
#application .box .imgBox + .txtBox, #theme .box .imgBox + .txtBox {
	margin-top: 32px;
}
#application .box .txtBox .txtBox, #theme .box .txtBox .txtBox {
	margin-top: 40px;
}
#application .box .txtBox .txtBox + .txtBox, #theme .box .txtBox .txtBox + .txtBox{
	padding-top: 40px;
  border-top: 1px dotted #cbcbcb;
}
#application .box .txtBox .txtBox h3,
#application .box .txtBox .txtBox p,
#theme .box .txtBox .txtBox h3,
#theme .box .txtBox .txtBox p {
	color: #606060;
	font-size: 14px;
}
#application .box .txtBox .txtBox h3,
#theme .box .txtBox .txtBox h3 {
	text-align: center;
	font-weight: bold;
}
#application .box .txtBox .txtBox p,
#theme .box .txtBox .txtBox p {
	margin-top: 10px;
}
#application .box .txtBox .txtBox p.lead01,
#theme .box .txtBox .txtBox p.lead01 {
	text-align: center;
}
#theme .box .txtBox dl {
	margin-top: 0;
}
#application .box .btn03, #theme .box .btn03 {
	margin-top: 40px;
}
@media screen and (max-width: 640px) {
  #application .box .txtBox .txtBox p.lead01,
  #theme .box .txtBox .txtBox p.lead01 {
    text-align: left;
  }
	#application .accTitle, #theme .accTitle {
		font-size:15px;
		padding-left: 6%;
		text-align: left;
	}
	#application .accBox, #theme .accBox {
		font-size:15px;
	}
	#application .box .imgBox img, #theme .box .imgBox img {
	width: 100%;
}
  #theme .box {
      padding: 6% 3% 8% 3%;
  }
   #theme .box .btn03 {
    margin-top: 24px;
}
}
/*table*/
#application .txtBox table,#application .txtBox table th,#application .txtBox table td{
border: 1px solid #ddd;
}
#application .txtBox table{
border-collapse: collapse;
width: 700px;
margin: 0 auto 30px;
}
#application .txtBox .table02{
margin-top: 20px;
}
#application .txtBox table tr{
padding: 18px;
}
#application .txtBox table th{
padding: 8px 12px;
background-color: #f5f5f5;
}
#application .txtBox table td{
padding: 8px 12px;
}
#application .txtBox .table01 th{
width: 42%;
}
#application .txtBox .table01 td{
width: 58%;
}
#application .txtBox .table02 th{
width: 20%;
}
#application .txtBox .table02 td{
width: 80%;
}
@media screen and (max-width: 640px) {
#application .txtBox table{
width: 100%;
margin: 0 auto 16px;
}
#application .txtBox .table02 th{
width: 30%;
}
#application .txtBox .table02 td{
width: 70%;
}
}
#application .txtBox ul + p {
margin-top: 10px;
}
#application .txtBox ul li {
position: relative;
padding-left: 1.2em;
line-height: 1.5;
}
#application .txtBox ul li:before {
content: "・";
position: absolute;
top: 0;
left: 0;
}
#application .txtBox ul.attList li {
position: relative;
padding-left: 1.2em;
}
#application .txtBox .attList li{
	padding-left: 14px;
	position: relative;
}
#application .txtBox .attList li::before{
content: "※";
    position: absolute;
    top: 0;
    left: 0;	
}
#application .txtBox dl{
display: flex;
}
#application .txtBox dl dt{
width: 100px;
}	

/* --prize-------*/
#application .txtBox h3[class^="prizetitle"] {
display: inline-block;
margin-bottom: 10px;
padding: 2px 5px;
color: #FFF;
font-size: 15px;
font-weight: bold;
}
#application .txtBox h3.prizetitle01 {
background-color: #ae0079;
}
#application .txtBox h3.prizetitle02 {
margin-top: 20px;
background-color: #00b1bf;
}
#application .txtBox .prize{
margin: 10px 0;
}
#application .txtBox ul.prizeList {
margin-top: 20px;
}
#application .txtBox h3.title02 {
text-align: center;
margin-top: 30px;
margin-bottom: 14px;
font-size: 16px;
font-weight: bold;
}
@media screen and (max-width: 640px){
#application .txtBox h3.title02 {
margin-top: 16px;
margin-bottom: 10px;
font-size: 15px;

}

}
#application .txtBox ul.btn01 {
display: flex;
justify-content: space-between;
width: 500px;
margin: 0 auto;
}
#application .txtBox ul.btn01 li {
width: 160px;
padding: 0;
}
#application .txtBox ul.btn01 li::before {
content: normal;
}
@media screen and (max-width: 640px){
#application .txtBox ul.btn01 {
display: block;
width: 260px;
}
#application .txtBox ul.btn01 li {
width: 260px;
}
#application .txtBox ul.btn01 li + li {
margin-top: 10px;
}

}
/* -----------------------------

------------------------------*/

.txtBox ol {
counter-reset: number 0;
}
.txtBox ol > li {
position: relative;
padding-left: 1.2em;
line-height: 1.7;
margin-bottom: 10px;
}
.txtBox ol > li p:nth-of-type(1) {
font-weight: bold;
}
.txtBox ol > li:before {
counter-increment: number 1;
content: counter(number) ". ";
position: absolute;
top: 0;
left: 0;
font-weight: bold;
}

@media screen and (max-width: 640px){
	.txtBoxn dl {
margin-top: 24px;
	}
}
	
/* -----------------------------
campaign
------------------------------*/
#campaign .listArea > li h3 {
margin-top: 40px;
font-size: 21px;
text-align: center;
}
#campaign .listArea > li p{
margin-top: 14px;
text-align: center;
}
#campaign .listArea > li .imgBox{
margin-top: 30px;
text-align: center;
}
#campaign .bold{
font-weight: bold;
}
#campaign .through{
text-decoration: line-through;;
}
@media screen and (max-width: 640px){
#campaign .listArea > li h3 {
margin-top: 30px;
}
#campaign .listArea > li .imgBox {
width: 94vw;
margin: 30px auto 0;
}
#campaign .listArea > li .imgBox img{
width: 94vw;
max-width: 100%;
}
}

/* -----------------------------
judge
------------------------------*/
#content #judge {
margin-top: 70px;
}
#content #judge ul {
margin-top: 60px;
}
#content #judge li {
display: flex;
}
#content #judge li:nth-of-type(n+2){
margin-top: 60px;
}
#content #judge li .imgBox img{
width: 200px;
height: auto;
}
#content #judge li .txtBox {
padding-left: 50px;
margin-top: 0;
}
#content #judge li.attList .txtBox {
padding-left: 0;
color: #888;
}
#content #judge li.attList .txtBox dl{
margin-top: 0;
}
#content #judge .profile01 + .profile02 p {
	margin-top: 14px;
}
#content #judge li .txtBox .comment .title {
position: relative;
font-weight: bold;
padding-left: 20px;
margin: 18px 0 4px;
}
#content #judge li .txtBox .comment .title::before {
position: absolute;
content: "";
width: 14px;
height: 1px;
top: 48%;
left: 0;
background-color: #333333;
} 
#content #judge li .txtBox .comment .title::after {
position: absolute;
content: "";
width: 14px;
height: 1px;
top: 48%;
left: 90px;
background-color: #333333;
}
@media screen and (max-width: 640px) {
#content #judge .inner {
margin: 0 14px;
}
#content #judge ul {
margin-top: 40px;
}
#content #judge li {
display: block;
}
#content #judge li.attList {
margin-top: 30px;
}
#content #judge li.attList .txtBox dl dd{
text-align: center;
padding-left: 0;
}
#content #judge li .imgBox {
text-align: center;
}
#content #judge li .txtBox {
padding-left: 0;
}
#content #judge li .txtBox .name {
margin-top: 10px;
text-align: center;
}
#content #judge li .txtBox .profile01 {
text-align: center;
}
#content #judge li .txtBox .comment p {
font-size: 14px;
} 
#content #judge li .txtBox .comment .title {
text-align: center;
font-size: 16px;
margin-bottom: 4px;
padding: 0;
font-weight: 600;
} 
#content #judge li .txtBox .comment .title::before {
right: 50%;
left: auto;
transform: translateX(-36px);
} 
#content #judge li .txtBox .comment .title::after {
left: 50%;
transform: translateX(36px);
}
}

/* -----------------------------
attArea
------------------------------*/
#content #attArea {
padding: 70px 0;
font-size: 14px;
background: #f5f5f5;
}
@media screen and (max-width: 640px){
#content #attArea .inner{
margin: 0 16px 0 10px
}
}
#content #attArea h2 {
font-size: 22px;
font-weight: bold;
margin-bottom: 20px;
}
@media screen and (max-width: 640px){
#content #attArea h2 {
font-size: 16px;
}
}
#content #attArea dl + h2 {
	margin-top: 50px;
}
#content #attArea dl {
margin-top: 50px;
word-break: break-all;
}
#content #attArea dl dt {
position: relative;
padding-left: 1.2em;
}
#content #attArea dl dt:before {
content: "■";
position: absolute;
top: 0;
left: 0;
}
#content #attArea dl dd {
padding-left: 1.2em;
margin-bottom: 30px;
}
#content #attArea ul li {
position: relative;
padding-left: 1.2em;
line-height: 1.7;
}
#content #attArea ul li:before {
content: "・";
position: absolute;
top: 0;
left: 0;
}
#content #attArea ul.attList li {
position: relative;
padding-left: 1.2em;
}
#content #attArea ul.attList li:before {
content: "※";
position: absolute;
top: 0;
left: 0;
}
#content #attArea ol {
counter-reset: number 0;
}
#content #attArea ol > li {
position: relative;
padding-left: 1.2em;
line-height: 1.7;
}
#content #attArea ol > li:before {
counter-increment: number 1;
content: counter(number) ". ";
position: absolute;
top: 0;
left: 0;
}
#content #attArea .btn03 + .attList {
	margin-top: 30px;
}

@media screen and (max-width: 640px) {
#content #attArea {
padding-top: 50px;
}
#content #attArea dl {
margin-top: 24px;
}
}

/* -----------------------------
sponsorship
------------------------------*/
#content .sponsorship {
margin-top: 0;
padding: 30px 0 ;
font-size: 14px;
background: #e8e8e8;
}
#content .sponsorship dl dt,
#content .sponsorship dl dd {
text-align: center;
}
#content .sponsorship dl dt {
font-weight: bold;
}
#content .sponsorship dl dd {
margin-bottom: 20px;
}
#content .sponsorship ul li {
position: relative;
padding-left: 1.2em;
line-height: 1.7;
}
#content .sponsorship ul li:before {
content: "・";
position: absolute;
top: 0;
left: 0;
}