@charset "utf-8";

/* reset
-------------------------------------------------------*/
body,div,dl,dt,dd,ul,ol,li,
h1,h2,h3,h4,h5,h6,
pre,code,form,fieldset,legend,
p,blockquote,table,th,td, figure, section, article {margin: 0; padding: 0;}
body {font:13px/1 "メイリオ","Meiryo","ＭＳ Ｐゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif;}
* html body {font-size: small;}
*:first-child+html body {font-size: small;}
img {border: 0; vertical-align: top;}
h1,h2,h3,h4,h5,h6 {font-size: 100%; font-weight: normal;}
ul,dl,ol {text-indent: 0;}
li {list-style: none;}
address,caption,cite,code,dfn,em,strong,th,var {font-style: normal; font-weight: normal;}
sup {vertical-align: text-top;}
sub {vertical-align: text-bottom;}
input,textarea,select {font-family: inherit; font-size: inherit; font-weight:inherit;}
* html input,* html textarea,* html select {font-size: 100%;}
*:first-child+html+input,*:first-child html+textarea,*:first-child+html select {font-size: 100%;}
table {border-collapse: collapse; border-spacing: 0; font-size: inherit;}
th,td {text-align: left; vertical-align: top;}
caption {text-align: left;}
pre,code,kbd,samp,tt {font-family: monospace;}
* html pre,* html code,* html kbd,* html samp,* html tt {font-size: 100%; line-height: 100%;}
*:first-child+html pre,*:first-child html+code,*:first-child html+kbd,*:first-child+html+samp,*:first-child+html tt {font-size: 108%; line-height: 100%;}
input,select,textarea {font-size: 100%; font-family: Verdana, Helvetica, sans-serif;}
*:focus {outline: none;}

/* base
-------------------------------------------------------*/
body {
	letter-spacing:0.03em;
	color:#000;
}

strong {
	font-weight:bold;
}

a {
	color:#000;
	text-decoration:none;
}

.clearfix:after {
	content:"";
	display:block;
	clear:both;
	height:100%;
}

*{
	box-sizing:border-box;
}

.mb0 { margin-bottom:0 !important; }
.mb4 { margin-bottom:4px !important; }
.mb8 { margin-bottom:8px !important; }
.mb10 { margin-bottom:10px !important; }
.mb15 { margin-bottom:15px !important; }
.mb20 { margin-bottom:20px !important; }
.mb25 { margin-bottom:25px !important; }
.mb30 { margin-bottom:30px !important; }
.mb35 { margin-bottom:35px !important; }
.mb40 { margin-bottom:40px !important; }
.mb45 { margin-bottom:45px !important; }
.mb50 { margin-bottom:50px !important; }
.mb55 { margin-bottom:55px !important; }
.mb60 { margin-bottom:60px !important; }
.mb65 { margin-bottom:65px !important; }
.mb70 { margin-bottom:70px !important; }
.mb75 { margin-bottom:75px !important; }
.mb80 { margin-bottom:80px !important; }
.mb90 { margin-bottom:90px !important; }
.mb100 { margin-bottom:100px !important; }
.mb1em { margin-bottom:1em !important; }
.mb2em { margin-bottom:2em !important; }
.mb3em { margin-bottom:3em !important; }
.mb4em { margin-bottom:4em !important; }
.mb5em { margin-bottom:5em !important; }
.mt30 { margin-top:30px !important; }
.fs11 {	font-size:11px !important; }
.fs12 {	font-size:12px !important; }
.fs13 {	font-size:13px !important; }
.fs14 {	font-size:14px !important; }
.fs15 {	font-size:15px !important; }
.fs16 {	font-size:16px !important; }
.fs17 {	font-size:17px !important; }
.fs18 {	font-size:18px !important; }

.al-center {
	text-align:center;
}

.f-left {
	float:left;
}

.f-right {
	float:right;
}

br.sp{
	display:none;
}

a:hover img , a.alpha:hover{
  opacity: 0.75;
}
a.alpha:hover img{
  opacity: 1;
}
.f18 {
 font-size: 18px;
 line-height: 2;
}
.f15 {
 font-size: 15px;
 line-height: 2;
}
img {
 max-width: 100%;
 height: auto;
 vertical-align: middle;
}


/* LP
-----------------------------------------------------*/

body{
  background: url(../images/bg_line.gif);
  font-family: 'Noto Sans JP', sans-serif;
  line-height: 2;
}
body#contactform {
  font-family: "メイリオ","Meiryo","ＭＳ Ｐゴシック","Hiragino Kaku Gothic Pro","ヒラギノ角ゴ Pro W3",sans-serif;
  line-height: 2;
}
body#contactform .wrap {
 margin: 0 auto;
 max-width: 1000px;
}
header{
  text-align: center;
  border-bottom: 1px solid #DEDEDE;
  background: #fff;
  padding: 20px 0;
}
footer{
  text-align: center;
  background-color: #333;
  color: #fff;
  padding: 30px 0;
  /* margin-top: 120px; */
}
@media screen and (max-width: 767px) {
 body {
  line-height: 1.7;
 }
	footer{
		padding: 8px 0;
	}
}
#visual{
 background-color: #E8F6F7;
 border-bottom: 1px solid #DEDEDE;
 text-align: center;
}
#visual p {
 border-bottom: 1px solid #DEDEDE;
 text-align: center;
 margin: 0 auto;
 max-width: 1200px;
}
#visual img{
  width: 100%;
  height: auto;
}
#visual img.sp{
  display: none;
}
.l-bnrArea {
 background-color: #fff;
 padding: 100px 0;
 text-align: center;
}
.l-bnrArea a {
 border: 1px solid #eee;
 display: inline-block;
}
.lead.p-Block {
 background-color: #fff;
 font-size: 16px;
 line-height: 2;
 padding: 40px 0 70px;
 text-align: center;
}
/* .l-bnrArea + .p-Block {
 background-color: #fff;
 font-size: 16px;
 line-height: 2;
 padding: 40px 0 70px;
 text-align: center;
} */

.wrap #requirements {
 background-color: #fff;
 padding: 15px 0 60px;
 text-align: center;
}
.wrap #requirements .p-requirementsBlock {
 background: url(../img/bg_entry-2.png);
 background-position: center top;
 background-repeat: no-repeat;
 margin: 0 auto;
 max-width: 922px;
 width: 100%;
}
.wrap #requirements .p-requirementsBlock h2 {
 padding-top: 75px;
}
.p-requirementsBlock .p-flexBlock , #how .p-flexBlock {
 text-align: center;
 margin: 0 auto;
 max-width: 930px;
}
.p-flexBlock .p-flexWrap {
 display: flex;
 flex-wrap: wrap;
 justify-content: flex-start;
 -ms-flex-pack: start;
 margin-bottom: 10px;
}
#how .p-flexBlock .p-flexWrap:not(:first-child) {
 margin-bottom: 0;
}
#line .p-flexBlock {
 margin: 0 auto 20px;
 max-width: 850px;
}
#line .p-flexWrap p {
 position: relative;
}
#line .p-flexWrap p:nth-child(1):before , #line .p-flexWrap p:nth-child(2):before {
 content: url(../img/line_arrowright.png);
 position: absolute;
 right: -30px;
 top: 50%;
 transform: translate(0 , -50%);
}
#line .p-flexBlock .p-flexWrap {
 justify-content: space-between;
 -ms-flex-pack: justify;
}
#line .p-flexBlock .p-flexWrap2 {
 display: none;
}
#line .f14 {
 font-size: 14px;
 margin-bottom: 50px;
}
#line .f14 + div {
 color: #8c742a;
 font-size: 16px;
 line-height: 1.88;
 margin-bottom: 40px;
}
#line .f14 + div + figure {
 margin-bottom: 15px;
}
.p-flexBlock .p-flexWrap .p-tit {
 border-bottom: solid 1px #000;
 font-size: 20px;
 padding: 30px 0 20px 10px;
 width: 220px;
}
.p-flexBlock .p-flexWrap .p-tit.u-tit {
 border-bottom: none;
}
.p-flexBlock .p-flexWrap:nth-of-type(4) .p-tit {
 padding: 170px 0 0 10px;
}
.p-flexBlock .p-flexWrap:nth-of-type(5) .p-tit {
 padding: 20px 0 0 10px;
}
.p-flexBlock .p-flexWrap .p-con {
 border-bottom: dashed 1px #000;
 font-size: 22px;
 letter-spacing: 0;
 margin-left: 30px;
 padding: 10px 0 20px 10px;
 max-width: 590px;
 width: 100%;
}
.p-flexBlock .p-flexWrap .p-con.u-con {
 border-bottom: none;
}
.p-flexBlock .p-flexWrap .p-con.p-con-mod {
 font-size: 18px;
 line-height: 1.7;
}
.p-flexBlock .p-flexWrap .p-con.p-con-mod li {
 margin-bottom: 15px;
}
.p-flexBlock .p-flexWrap .p-con.p-con-mod li .fa-circle {
 font-size: 12px;
 margin-right: 5px;
 vertical-align: 5px;
}
.p-flexBlock .p-flexWrap .p-con.p-con-mod a {
 color: #96875c;
 display: inline;
 font-size: 16px;
 padding-bottom: 3px;
 line-height: 2.2;
 text-decoration: underline;
}
.p-flexBlock .p-flexWrap .p-con span {
 font-size: 50px;
}
.p-flexBlock .p-flexWrap .p-con.u-con span {
 font-size: 36px;
}
.p-flexBlock .p-flexWrap .p-con.p-con-mod span {
 font-size: 24px;
 font-weight: 700;
}
.p-flexBlock .p-flexWrap .p-con.p-con-mod2 {
 font-size: 16px;
 line-height: 1.8;
}
.p-flexBlock .p-flexWrap .p-con.p-con-mod2 span {
 font-size: 22px;
}
#present{
  background-color: #fff;
  text-align: center;
  padding-top: 1px;
  padding-bottom: 70px;
  margin-top: 100px;
  margin-bottom: 0;
}

#present h2{
  margin: 90px auto 40px;
}
#present h2 + p {
  margin-bottom: 40px;
}

#model{
  background-color: #fff;
  padding-top: 1px;
  width: 100%;
}
#model div {
  background: url(../img/bg_model.jpg)center center no-repeat;
  background-size: contain;
  margin: 0 auto;
  padding-top: 800px;
  text-align: center;
}

#model h2{
  margin-top: -820px;
}

#line{
 background-color: #fff;
 padding: 80px 0 100px;
 text-align: center;
 width: 100%;
}
#line .p-Block--line {
 background-image: url(../img/img_lineupper.png), url(../img/img_linebottom.png), url(../img/img_linemiddle.png);
  background-position: top center, bottom center, top center;
  background-repeat: no-repeat, no-repeat, repeat-y;
  background-size: 100%;
  margin: 0 auto;
  max-width: 1000px;
  padding-bottom: 70px;
}

#line h2{
  /* margin-bottom: 40px; */
  padding: 374px 0 40px;
}

#line ul.linelist{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

#line ul.linelist li:nth-child(3) ~ li{
  margin-top: 10px;
}

#how{
  text-align: center;
  padding: 1px 0 50px;
}

#how p{
  margin-top: 30px;
}
#how p.schedule{
 font-size: 17px;
 margin-top: 7px;
}
#how p.schedule span {
 font-size: 32px;
}

#how ol{
  display: flex;
  justify-content: space-between;
  padding: 0 10px;
}
#how .p-flexBlock .p-flexWrap .p-tit {
 margin-top: 0;
 padding: 30px 0 0 10px;
}
#how .p-flexBlock .p-flexWrap .p-tit.u-tit {
 padding-top: 20px;
}
#how .p-flexBlock + p {
 margin: 60px 0 40px;
}
#how .p-flexBlock + p + ol {
 margin: 0 auto;
 max-width: 1026px;
 width: 100%;
}

#web , #insta{
  padding-top: 1px;
  margin: 120px 0;
  text-align: center;
}
#insta{
 margin-top: 200px;
}

#web h2 , #insta h2{
  margin-top: -52px;
}

#web div.webWrap , #insta div.webWrap {
 /* background-color: #fff; */
 margin: 40px auto 0;
 /* max-width: 900px; */
 /* padding-bottom: 60px; */
}

#web ul li:nth-child(3) ~ li{
  margin-top: 20px;
}
#web .btn_webVote , #insta .btn_webVote {
 background-color: #000;
 color: #fff;
 display: flex;
 flex-wrap: wrap;
 font-size: 20px;
 justify-content: space-between;
 -ms-flex-pack: justify;
 line-height: 1.4;
 margin: 0 auto;
 max-width: 972px;
 padding: 20px 36px;
 text-align: left;
}
#insta .btn_webVote {
 background-color: #CABFA1;
 color: #000;
}
#web .btn_webVote span , #insta .btn_webVote span {
 display: block;
}
#web .btn_webVote span:nth-of-type(1) , #insta .btn_webVote span:nth-of-type(1) {
 font-size: 16px;
}
#web .btn_webVote span:nth-of-type(1) span , #insta .btn_webVote span:nth-of-type(1) span {
 font-size: 24px;
}
#web .btn_webVote span:nth-of-type(2) , #insta .btn_webVote span:nth-of-type(2) {
 font-size: 30px;
 line-height: 1;
 padding-top: .7rem;
 vertical-align: middle;
}
#web .btn_webVote:hover , #insta .btn_webVote:hover {
 opacity: .8;
}

p.prep{
padding: 60px 0;
font-size: 24px;
color: #bbb;
line-height:1.5em;
}

#bnr {
 background-color: #fff;
 padding-bottom: 40px;
 padding-top: 40px;
}
#bnr a {
 display: block;
 text-align: center;
}
#bnr a:not(:last-child) {
 margin-bottom: 30px;
}
#bnr ul{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  -ms-flex-pack: justify;
  margin: 0 auto;
  max-width: 1000px;
  width: 100%;
}

#bnr ul li {
  margin-bottom: 20px;
  max-width: 490px;
  width: 100%;
}

#note{
  background-color: #fff;
  font-size: 16px;
  line-height: 1.5rem;
  padding: 20px 0 90px;
}
#note p {
 font-size: 16px;
 line-height: 1.75;
 margin: 0 auto;
 max-width: 1000px;
 width: 100%;
}
#note .p-note01 {
 margin-top: 15px;
}
.pink {
 font-size: 1.4rem;
 font-weight: 500;
 margin-top: 2rem;
 text-align: center;
}
#p-studioInfo{
 background-color: #fff;
 padding: 20px 0 120px;
}
#p-studioInfo .p-Block {
 margin: 0 auto;
 max-width: 1000px;
 width: 100%;
}
#p-studioInfo h2 {
 font-size: 30px;
 text-align: center;
}
#p-studioInfo .p-Item {
 margin: 50px auto 0;
 max-width: 600px;
 width:100%;
}
#p-studioInfo .p-Block .p-Item__child {
 font-size: 18px;
 line-height: 2;
}
#p-studioInfo .p-Block .p-Item__child--mod {
 font-size: 26px;
}
#p-studioInfo .p-Block .p-Item__child .brsp {
 display: none
}

/* form
-----------------------------------------------------*/
#contact .wrap{
  background: #fff;
  margin: 40px auto;
  padding: 40px;
}

#contact h1{
  font-size: 20px;
  margin-top: 20px;
  margin-bottom: 40px;
  text-align: center;
  line-height: 1.5em;
}
#contact h1 + p.finish {
 font-size: 20px;
 font-weight: bold;
 text-align: center;
}
/* #contact + footer {
 position: fixed;
 bottom: 0;
 width: 100%;
} */

#contact table{
	width:100%;
}

#contact table tr{
	border-bottom:1px solid #ccc;
}

#contact table th{
	font-size:16px;
	vertical-align:middle;
	line-height:1.5em;
	padding:10px;
	width:16em;
}

#contact table th p{
	font-size:13px;
	margin-top:10px;
}

#contact table th .red{
	font-size:13px;
}

#contact table td{
	line-height:1.5em;
	padding:20px 10px;
	vertical-align:top;
}

#contact table td p{
  margin-top: 10px;
}

#contact table td > div + div{
	margin-top:20px;
}

#contact table td input[type="text"],
#contact table td input[type="email"],
#contact table td input[type="number"],
#contact table td textarea,
#contact table td select{
	padding:10px;
	width:auto;
	background:#efefef;
	border:1px solid #ededed;
}

#contact table td input[type="text"],
#contact table td input[type="email"],
#contact table td input[type="number"],
#contact table td textarea{
	width:100%;
}

#contact table td input[type="text"]:focus,
#contact table td input[type="email"]:focus,
#contact table td input[type="number"]:focus,
#contact table td textarea:focus,
#contact table td select:focus{
	background:#fff;
	border-color:#C9C9C9;
}

#contact table td label.other{
	margin-top:10px;
	display:block;
}

#contact table td.nameinput input{
  width: 180px;
}

#contact table td.nameinput input:last-child{
  margin-left: 10px;
}

span.red{
  color: #C70003;
  margin-left: 5px;
}

#contact .submitbox{
	text-align:center;
  margin-top: 50px;
}

#contact .submitbox button{
	display:inline-block;
	background: #E89644;
	color:#fff;
	border:0;
	font-size:20px;
	cursor:pointer;
	height:60px;
	line-height:60px;
	vertical-align:top;
	width:300px;
}

#contact .submitbox a{
	display:inline-block;
	height:60px;
	line-height:60px;
	background:#ccc;
	color:#fff;
	border:0;
	font-size:20px;
	vertical-align:top;
	width:300px;
	margin-right:1px;
}

.complete{
  text-align: center;
  line-height: 1.5em;
}

#gift {
  background: #fff;
  text-align: center;
  padding-top: 1px;
  padding-bottom: 20px;
  margin-top: 100px;
  margin-bottom: 0;
}
#gift h2 {
  margin-top: -53px;
}

#gift h2 + p {
  padding-top: 20px;
  padding-bottom: 20px;
  line-height: 1.5;
}

.entryWrap {
 background: url(../img/bg.png)left top repeat;
 padding: 70px 0;
 width: 100%;
}
.entryWrap #entry{
  margin: auto;
  max-width: 1000px;
  width: 100%;
}
.openinghours {
  font-size: 12px;
  line-height: 1.2;
}
#note a {
 color: #F980A0;
}

#pic_btn.image {
 background-color: #fff;
 border: solid 1px #eb5e64;
 margin-top: 10px;
 padding: 7px 0;
}
.voteathigashi {
 border-bottom: solid 2px #666;
 font-size: 16px;
 display: inline-block;
 margin: 0 !important;
 padding-bottom: 7px;
}
.voteathigashi span {
 font-size: 20px;
 font-weight: bold;
}
form table select.mar {
 margin-top: 10px;
}
.webWrap br.brsp {
 display: none;
}
#note .p-note01 ul , .checkArea .p-note01 ul {
 margin: 10px auto 0;
 max-width: 1000px;
}
#note .p-note01 li , .checkArea .p-note01 li {
 margin-bottom: 5px;
 padding-left: 18px;
 position: relative;
}
#note .p-note01 li:before , .checkArea .p-note01 li:before {
 content: '・';
 left: 0;
 position: absolute;
}
.p-Block + .p-BlockWrap--Mid {
 background-color: #fff;
 padding: 50px 0 100px;
}
.p-BlockWrap--Mid .p-Block {
 border: solid 3px #4ECFCD;
 border-radius: 5px;
 height: 240px;
 margin: auto;
 max-width: 1000px;
 padding-top: 40px;
 position: relative;
}
.p-Block__Inner {
 background-color: #fff;
 left: 50%;
 max-width: 400px;
 padding-bottom: 60px;
 position: absolute;
 text-align: center;
 top: 0;
 transform: translateX(-50%);
 width: 100%;
}
.headingWrap .ribbon1 {
 display: inline-block;
 position: relative;
 height: 64px;
 line-height: 64px;
 vertical-align: middle;
 text-align: center;
 padding: 0 100px;
 font-size: 26px;
 background: #4ECFCD;
 color: #FFF;
 box-sizing: border-box;
 width: 100%;
 margin-top: -32px;
}
.ribbon1:before, .ribbon1:after {
 position: absolute;
 content: '';
 width: 0px;
 height: 0px;
 z-index: 1;
}
.ribbon1:before {
 top: 0;
 left: -1px;
 border-width: 32px 0px 32px 15px;
 border-color: transparent transparent transparent #fff;
 border-style: solid;
}
.ribbon1:after {
 top: 0;
 right: -1px;
 border-width: 32px 15px 32px 0px;
 border-color: transparent #fff transparent transparent;
 border-style: solid;
}
.p-Block__Inner a {
 align-items: center;
 border: solid 3px #4ECFCD;
 border-radius: 2px;
 display: flex;
 flex-direction: column;
 font-size: 20px;
 font-weight: bold;
 height: 64px;
 justify-content: center;
 -ms-flex-pack: center;
 margin: 60px auto 0;
 max-width: 400px;
}
.p-Block__Inner a:hover {
 opacity: .7;
}
#kekka {
 font-size: 18px;
 line-height: 1.8;
}
#kekka .contentWrap {
 margin: 30px auto 0;
 max-width: 1000px;
 text-align: center;
}
#kekka .contentWrap.btnArea {
 margin: 30px auto 60px;
 max-width: 800px;
 text-align: center;
}
#kekka .contentWrap h1 {
 font-size: 40px;
 /* font-weight: bold; */
 line-height: 1.2;
 margin: 40px 0;
 text-align: center;
}
#kekka .contentWrap h1 span {
 display: block;
 font-size: 18px;
 font-weight: normal;
}
#kekka footer {
 font-size: 14px;
}
#kekka #rank01{ border:3px solid #EFAF25;}
#kekka #rank02{ border:3px solid #AAAAAA;}
#kekka #rank03{ border:3px solid #C06B6C;}
#kekka #rank000{ border:3px solid #ccc;}
#kekka #rank01,#kekka #rank02,#kekka #rank03,#kekka #rank000{
	display:block;
	background-color:#FFF;
	padding:20px 5px 30px;
	margin:10px auto 50px auto;
	max-width:700px;
}
#kekka #rank01 figure img,#kekka #rank02 figure img,#kekka #rank03 figure img,#kekka #rank000 figure img{
	display:block;
	max-height:426px;
	margin:auto;
	border:1px #EEE solid;
}
#kekka #rank01 figure ul,#kekka #rank02 figure ul,#kekka #rank03 figure ul,#kekka #rank000 figure ul{
	text-align:center;
	margin-top:10px;
}
#kekka #rank01 figure ul li,#kekka #rank02 figure ul li,#kekka #rank03 figure ul li,#kekka #rank000 figure ul li{
	font-size:24px;
	display:block;
	margin-right:25px;
	font-weight:bold;
	/*他のCSS設定削除*/
	width:auto;
	margin-bottom:0;
	color:#601111;
	line-height: 2;
}
#kekka #rank01 figure ul li:last-child,#kekka #rank02 figure ul li:last-child,#kekka #rank03 figure ul,#kekka #rank000 figure ul li:last-child{
	margin-right:0;
}

#kekka #rank01 figure ul .total,#kekka #rank02 figure ul .total,#kekka #rank03 figure ul .total,#kekka #rank000 figure ul .total {
	font-weight: bold;
	border-bottom: solid 2px #751432;
	display: inline-block;
	margin-right: 0px;
}

#kekka #rank01 figure ul li:nth-child(4),#kekka #rank02 figure ul li:nth-child(4),#kekka #rank03 figure ul li:nth-child(4),#kekka #rank000 figure ul li:nth-child(4){
	margin-right:0;
}
#kekka #rank01 figure ul li:last-child,#kekka #rank02 figure ul li:last-child,#kekka #rank03 figure ul li:last-child,#kekka #rank000 figure ul li:last-child{
	margin-right:0;
}
#kekka .p-rankingTit {
 font-size: 30px;
 font-weight: bold;
}
.p-lineWrap {
 margin-top: 40px;
}
.checkArea {
 border: solid 1px #ccc;
 height: 150px;
 font-size: 14px;
 line-height: 1.7;
 margin: 50px auto 15px;
 overflow-y: scroll;
 width: 90%;
}
.checkArea p.tit {
 text-align: center;
 font-size: 20px;
 margin: 30px auto;
}
.checkArea + div {
 text-align: center;
}
.l-footer {
 padding:20px 0;
 background: #fff;
 color: #333;
 text-align: center;
 margin-top: 60px;
 border-top: 1px solid #bbb;
}
.u-complete {
 margin-top: 50px;
}
.u-complete a {
 text-decoration: underline;
}

@media screen and (max-width: 767px) {
 #visual + .p-Block {
  padding: 40px 10px;
 }
 #entry h2 + p {
  margin: 0 0 40px;
 }
 .wrap #requirements {
  padding-bottom: 10px;
 }
 .wrap #requirements .p-requirementsBlock {
  background-size: contain;
 }
 .wrap #requirements .p-requirementsBlock h2 {
  padding-top: 175px;
 }
 .wrap #requirements .p-requirementsBlock h2 img {
  width: 90%;
 }
 .p-requirementsBlock .p-flexBlock {
  margin-top: -70px;
 }
 .p-flexBlock .p-flexWrap .p-tit , .p-flexBlock .p-flexWrap .p-con , #how .p-flexBlock .p-flexWrap .p-tit , #how .p-flexBlock .p-flexWrap .p-cont {
  margin: 0 auto;
  padding: 15px 0;
  width: 90%;
 }
 .p-flexBlock .p-flexWrap .p-tit {
  font-size: 16px;
 }
 .p-flexBlock .p-flexWrap .p-con {
  font-size: 14px;
  margin-bottom: 20px;
 }
 .p-flexBlock .p-flexWrap .p-con span {
  font-size: 25px;
  font-weight: 700;
 }
 .p-flexBlock .p-flexWrap:nth-of-type(4) .p-tit , .p-flexBlock .p-flexWrap:nth-of-type(5) .p-tit {
  padding: 15px 0;
 }
 .p-flexBlock .p-flexWrap .p-con.p-con-mod {
  font-size: 16px;
 }
 .p-flexBlock .p-flexWrap .p-con.p-con-mod span {
  font-size: 22px;
  font-weight: normal;
 }
 .p-flexBlock .p-flexWrap .p-con.p-con-mod a {
  border: none;
  font-size: 18px;
  font-weight: 700;
  line-height: 1.75;
  margin-top: 20px;
  text-align: center;
  text-decoration: underline;
 }
 .p-flexBlock .p-flexWrap .p-con.p-con-mod2 {
  line-height: 1.4;
 }
 #present {
  padding: 60px 10px 70px;
 }
 #present h2 + p {
  margin-top: -30px;
 }
 #model {
  padding: 0 10px;
  width: 100%;
  height: 400px;
 }
 #model div {
  background-size: cover;
  padding-top: 400px;
}
 .wrap section {
  margin: 0 auto;
 }
 section#model h2 {
  margin-top: -420px !important;
 }
 #line {
  padding: 0 10px;
 }
 /* #web , #line , #insta {
  padding: 0 10px;
 } */
 #web {
  margin: 70px 0;
 }
 #insta{
  margin-top: 100px;
 }
 #web div.webWrap {
  margin-top: 20px;
 }
 #line .p-Block--line {
  padding-bottom: 40px;
 }
 #line h2 {
  padding: 284px 0 20px;
 }
 #line .p-flexBlock {
  margin-top: -140px;
 }
 #line .p-flexBlock .p-flexWrap {
  display: none;
 }
 #line .p-flexBlock .p-flexWrap2 {
  display: block;
  margin: 0 auto;
  width: 94%;
 }
 #line .p-flexBlock .p-flexWrap2 p {
  font-size: 16px;
  margin-bottom: 40px;
  padding-left: 54px;
  position: relative;
  text-align: left;
 }
 #line .p-flexBlock .p-flexWrap2 p:before {
  left: 0;
  position: absolute;
  top: 50%;
  transform: translate(0 , -50%);
 }
 #line .p-flexBlock .p-flexWrap2 p:nth-child(1):before {
  content: url(../img/icon_step01.png);
 }
 #line .p-flexBlock .p-flexWrap2 p:nth-child(2):before {
  content: url(../img/icon_step02.png);
 }
 #line .p-flexBlock .p-flexWrap2 p:nth-child(3):before {
  content: url(../img/icon_step03.png);
 }
 #line .f14 {
  line-height: 1.6;
  margin: 0 auto 20px;
  width: 94%;
 }
 #line .f14 + div {
  margin: 0 auto 20px;
  width: 94%;
 }
 #line .f14 + div + figure {
  margin: 0 auto 15px;
  width: 94%;
 }
 #line .f14 + div + figure + a {
  display: block;
  margin: 0 auto;
  width: 94%;
 }
 #note {
  padding: 60px 10px;
 }
 #p-studioInfo .p-Item {
  margin-top: 10px;
  padding: 0 10px;
 }
 #p-studioInfo .p-Block .p-Item__child .brsp {
  display: block;
 }
 #p-studioInfo .p-Block .p-Item__child--mod {
  line-height: 1.4;
  margin-bottom: 15px;
 }
 #web .btn_webVote , #insta .btn_webVote {
  display: block;
  font-size: 20px;
  margin: 0 auto;
  padding: 20px 10px;
  text-align: center;
 }
 #web .btn_webVote span:nth-of-type(2) , #insta .btn_webVote span:nth-of-type(2) {
  font-size: 24px;
 }
 .webWrap br.brsp {
  display: block;
 }
 .p-Block + .p-BlockWrap--Mid {
  padding: 40px 15px 60px;
 }
 .p-BlockWrap--Mid .p-Block {
  height: 180px;
 }
 .headingWrap .ribbon1 {
  font-size: 20px;
  padding: 0 20px;
 }
 .p-Block__Inner {
  padding-bottom: 10px;
  width: 90%;
 }
 .p-Block__Inner a {
  font-size: 16px;
  margin-top: 40px;
 }
}






/* ここから */
body {
 color: #373737;
 letter-spacing: 2px;
}
.brsp {
 display: block;
}
.p-Txt {
 font-size: 13px;
}
.p-Container .p-Block {
 position: relative;
}
.p-flexContainer .p-flexBlock {
 display: flex;
 flex-wrap: wrap;
}
.dis_t {
 display: block;
 text-align: left;
}
.dis_t-cell {
 font-size: 15px;
 text-align: left;
}
.p-Container .p-Block.u-Block {
 padding-top: 60px;
}
.u-Block .p-headingWrap {
 position: absolute;
 left: 50%;
 top: -36px;
 transform: translateX(-50%);
 width: 94%;
}
.overview {
 padding: 60px 15px;
 text-align: center;
}
section .p-Container {
 margin: 60px auto 0;
 max-width: 1000px;
 padding-bottom: 60px;
}
section.entry .p-Container {
 padding-bottom: 0;
}
.overview .p-Container {
 background-color: #fff;
 border: solid 3px #f57a78;
 margin: 60px auto 0;
 max-width: 1000px;
 padding-bottom: 60px;
}
.p-headingWrap .heading02 {
 display: inline-block;
 position: relative;
 height: 72px;
 line-height: 72px;
 vertical-align: middle;
 text-align: center;
 font-size: 24px;
 box-sizing: border-box;
 width: 100%;
}
.sec01--heading02 {
 background: #f57a78;
 color: #FFF;
 font-weight: 700;
}
.p-headingWrap .heading02:before , .p-headingWrap .heading02:after {
 position: absolute;
 content: '';
 width: 0px;
 height: 0px;
 z-index: 1;
}
.p-headingWrap .heading02:before {
 top: 0;
 left: -1px;
 border-width: 36px 0px 36px 15px;
 border-color: transparent transparent transparent #fff;
 border-style: solid;
}
.p-headingWrap .heading02:after {
 top: 0;
 right: -1px;
 border-width: 36px 15px 36px 0px;
 border-color: transparent #fff transparent transparent;
 border-style: solid;
}
.u-sec01--flexContainer {
 margin: 40px auto 0;
 max-width: 1020px;
 padding: 0 15px;
}
.u-sec01--flexBlock {
 justify-content: center;
 -ms-flex-pack: center;
}
.u-sec01--flexItem {
 flex: 1 0 330px;
 max-width: 100%;
}
.sec01--heading03 {
 background-color: #12A1E9;
 color: #fff;
 font-size: 20px;
 font-weight: bold;
 margin-bottom: 20px;
}
.u-sec01--flexItem02 .sec01--heading03 {
 background-color: #EA5104;
}
.u-sec01--flexItem02 ul li {
 line-height: 1.4;
 padding-left: 20px;
 position: relative;
 text-align: left;
}
.u-sec01--flexItem02 ul li:before {
 content: '※ ';
 position: absolute;
 left: 10px;
 top: 0;
}
.overview .dis_t .dis_t-cell , .location .dis_t .dis_t-cell {
 font-size: 16px;
 line-height: 1.4;
}
.overview .dis_t .dis_t-cell span {
 font-size: 22px;
 font-weight: bold;
 letter-spacing: 0;
}
.overview .dis_t .dis_t-cell span.p-smallerTxt {
 font-size: 13px !important;
}
.overview .dis_t .dis_t-cell:first-child span {
 border: 2px solid #777;
 color: #777;
 display: block;
 font-size: 16px;
 padding: 5px 0;
 text-align: center;
 width: 100%;
}
.overview .dis_t .dis_t-cell:last-child , .location .dis_t .dis_t-cell:last-child {
 padding-top: 10px;
 padding-bottom: 20px;
}
.sec01--heading04 {
 display: block;
 position: relative;
 padding: 15px 20px;
 font-size: 24px;
 color: #fff;
 background: #a6d3c8;
 margin: 60px auto 30px;
 max-width: 600px;
 width: 90%;
 font-weight: 700;
}
.sec01--heading04:before {
 position: absolute;
 content: '';
 top: 100%;
 left: 0;
 border: none;
 border-bottom: solid 15px transparent;
 border-right: solid 20px rgb(149, 158, 155);/*折り返し部分*/
}
.sec01--heading04:after {
 position: absolute;
 content: '';
 top: 100%;
 right: 0;
 border: none;
 border-bottom: solid 15px transparent;
 border-left: solid 20px rgb(149, 158, 155);/*折り返し部分*/
}
.p-voteSchedule {
 font-size: 24px;
 font-weight: bold;
}
.entry {
 background: url(../images/bg_enrty.png) , #fff;
 background-position: center 10px , center top;
 background-repeat: no-repeat , repeat;
 padding: 60px 15px;
 text-align: center;
}
section.entry .p-Container {
 margin-top: 0;
}
.p-sec02--headingWrap02 , .p-sec05--headingWrap02 {
 margin-bottom: 20px;
}
.p-headingWrap .sec02--heading02 , .p-headingWrap .sec05--heading02 {
 position: relative;
 display: inline-block;
 padding: 0 40px;
 font-size: 24px;
 font-weight: bold;
}
.p-headingWrap .sec02--heading02:before, .p-headingWrap .sec02--heading02:after , .p-headingWrap .sec05--heading02:before, .p-headingWrap .sec05--heading02:after {
 content: '';
 position: absolute;
 top: 50%;
 display: inline-block;
 width: 30px;
 height: 2px;
 border-top: solid 1px black;
 border-bottom: solid 1px black;
}
.p-headingWrap .sec02--heading02:before , .p-headingWrap .sec05--heading02:before {
 left:0;
}
.p-headingWrap .sec02--heading02:after , .p-headingWrap .sec05--heading02:after {
 right: 0;
}
.u-sec02--BlockInner {
 display: flex;
 flex-wrap: wrap;
 justify-content: center;
 -ms-flex-pack: center;
 margin-top: 20px;
}
.u-sec02--Txt02 {
 margin-top: 50px;
 margin-bottom: 5px;
}
.u-sec02--BlockInner .sec02--heading03 {
 color: #fff;
 font-size: 20px;
 font-weight: bold;
 margin-bottom: 20px;
}
.u-sec02--BlockInner .p-BlockInner__linkphoto , .u-sec02--BlockInner .p-BlockInner__locationphoto {
 flex: 1 0 365px;
 font-size: 16px;
 max-width: 100%;
}
.u-sec02--BlockInner .p-BlockInner__linkphoto .sec02--heading03 {
 background-color: #12A1E9;
}
.u-sec02--BlockInner .p-BlockInner__locationphoto .sec02--heading03 {
 background-color: #EA5104;
}
.u-sec02--BlockInner .p-BlockInner__linkphoto span , .u-sec02--BlockInner .p-BlockInner__locationphoto span {
 font-size: 28px;
 font-weight: bold;
 letter-spacing: 0;
}
.telWrap {
 margin: 40px auto 15px;
 max-width: 400px;
 width: 100%;
}
.how {
 padding: 0 15px;
 text-align: center;
}
.how .p-Container .p-Block {
 position: relative;
}
.how .p-Container .p-Block:before , .how .p-Container .p-Block:after {
 content: "";
 height: 100%;
 position: absolute;
 width: 100%;
}
.how .p-Container .p-Block:before {
 border: solid 2px #959E9B;
 height: calc(100% - 3px);
 left: 0;
 top: 0;
 width: calc(100% - 3px);
 z-index: -1;
}
.how .p-Container .p-Block:after {
 background-color:#fff;
 top: 4px;
 left: 4px;
 z-index: -2;
}
.p-sec03--headingWrap02 {
 position: absolute;
 left: 50%;
 top: -36px;
 transform: translateX(-50%);
 width: 94%;
}
.p-sec03--headingWrap02 {
 display: inline-block;
 position: relative;
 height: 72px;
 line-height: 72px;
 vertical-align: middle;
 text-align: center;
 font-size: 24px;
 box-sizing: border-box;
 width: 100%;
}
.sec03--heading02 {
 background: #a6d3c8;
 color: #FFF;
 font-weight: 700;
}
.p-headingWrap.p-sec03--headingWrap02 .heading02.sec03--heading02:before {
 border-color: transparent transparent transparent #fff;
}
.p-headingWrap.p-sec03--headingWrap02 .heading02.sec03--heading02:after {
 border-color: transparent #fff transparent transparent;
}
.u-sec03--Txt {
 font-size: 24px;
}
.u-sec03--Txt span {
 background: linear-gradient(transparent 65%, #E5017F 65%);
 font-size: 36px;
 font-weight: bold;
 padding: 0 5px;
 text-shadow: 
    #fff 2px 0px,  #fff -2px 0px,
    #fff 0px -2px, #fff 0px 2px,
    #fff 2px 2px , #fff -2px 2px,
    #fff 2px -2px, #fff -2px -2px,
    #fff 1px 2px,  #fff -1px 2px,
    #fff 1px -2px, #fff -1px -2px,
    #fff 2px 1px,  #fff -2px 1px,
    #fff 2px -1px, #fff -2px -1px;
}
.how .p-flexContainer .p-flexBlock {
 display: flex;
 flex-wrap: wrap;
 flex-direction: column;
 justify-content: space-between;
 -ms-flex-pack: justify;
}
.how .p-flexContainer .p-flexBlock .p-heading4 {
 background-color: #39BBC9;
 color: #fff;
 display: inline-block;
 font-size: 30px;
 font-weight: 500;
 letter-spacing: 5px;
 line-height: 1.4;
 margin: 0 auto;
 padding: 15px 0;
 position: relative;
 text-align: center;
 width: 90%;
}
.how .p-flexContainer {
 margin: 40px auto 0;
 max-width: 1000px;
 padding: 0 15px;
}
.u-sec03--BlockInner .p-flexBlock .p-flexItem {
 flex: 1 0 365px;
 margin: 20px auto 0;
 width: 100%;
}
.p-flexContainer .p-flexBlock .p-flexItem .p-heading4:before , .p-flexContainer .p-flexBlock .p-flexItem .p-heading4:after {
 content:'';
 display: inline-block;
 height: 80%;
 position: absolute;
 top: 6px;
 width: 12px;
}
.p-flexContainer .p-flexBlock .p-flexItem .p-heading4:before {
 border-left: solid 2px #fff;
 border-top: solid 2px #fff;
 border-bottom: solid 2px #fff;
 left: 10px;
}
.p-flexContainer .p-flexBlock .p-flexItem .p-heading4:after {
 content: '';
 border-top: solid 2px #fff;
 border-right: solid 2px #fff;
 border-bottom: solid 2px #fff;
 right: 10px;
}
.p-flexItem .p-flexItem__Vote {
 background-color: #fff;
 border: solid 2px #39BBC9;
 margin-top: -30px;
 height: 400px;
 padding: 50px 15px 20px;
}
.p-flexItem__Vote .p-heading5 {
 color: #EB465F;
 font-size: 20px;
 font-weight: 400;
 line-height: 1;
}
.p-flexItem__Vote .p-heading5 span {
 font-family: 'Pinyon Script', cursive;
 font-size: 80px;
 padding-left: 10px;
 padding-right: 50px;
 position: relative;
 vertical-align: middle;
}
.p-flexItem__Vote .p-heading5 span:before {
 background: url(../images/icon_pt.png);
 content: '';
 height: 51px;
 position: absolute;
 right: 0;
 top: 42%;
 transform: translateY(-50%);
 width: 34px;
}
.p-flexItem .p-flexItem__Vote .p-VoteTxt {
 font-size: 16px;
 line-height: 1.6;
 text-align: left;
}
.p-flexItem__Vote .p-Btn , .l-secVote .p-Btn {
 margin: 0 auto;
 position: relative;
}
.p-flexItem__Vote .p-Btn a , .l-secVote .p-Btn a {
 display: block;
 font-size: 16px;
 margin: 40px auto 0;
 max-width: 300px;
 padding: 16px 0;
 position: relative;
 z-index: 1;
}
.l-secVote .p-Btn a {
 align-items: center;
 display: flex;
 flex-direction: column;
 justify-content: center;
 -ms-flex-pack: center;
 line-height: 1;
 margin: 20px auto 0;
 min-height: 64px;
}
#mid_report.l-secVote .p-Btn a {
 color: #fff;
}
.p-flexItem__Vote .p-Btn a:before , .p-flexItem__Vote .p-Btn a:after , .l-secVote .p-Btn a:before , .l-secVote .p-Btn a:after {
 content: "";
 height: 100%;
 position: absolute;
 width: 100%;
}
.p-flexItem__Vote .p-Btn a:before , .l-secVote .p-Btn a:before {
 border: solid 2px #62594A;
 left: 0;
 top: 0;
 z-index: -1;
}
.p-flexItem__Vote .p-Btn a:after , .l-secVote .p-Btn a:after {
 background-color:#fff99f;
 top: 4px;
 left: 4px;
 z-index: -2;
}
#mid_report.l-secVote .p-Btn a:after {
 background-color:#86C694;
}
.p-flexItem__Vote .p-Btn a span {
 letter-spacing: 1px;
 padding-left: 30px;
 position: relative;
}
.p-flexItem__Vote .p-Btn a span:before {
 content: '\f138';
 font-family: "Font Awesome 5 Free";
 font-weight: bold;
 left: 0;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
}
.p-flexItem__Vote .p-Btn a:hover , .l-secVote .p-Btn a:hover {
 opacity: .65;
}
.how .p-Container .p-Block.u-Block {
 padding-bottom: 30px;
}
.prize {
 background-color: #fff;
}
.prize .p-Container {
 background: url(../images/bg_present.png) center 20px no-repeat;
 background-size: 92%;
 margin-top: 0;
 padding: 0 10px 100px;
 text-align: center;
}
.prize .p-Container .p-Block {
 background: rgba(255, 255, 255, 0);
 height: 100%;
 padding-top: 100px;
}
.sec04--heading02 {
 position: relative;
 padding: 0.25em 1em;
 border-top: solid 2px #F57A78;
 border-bottom: solid 2px #F57A78;
 font-size: 24px;
 font-weight: 700;
 text-align: center;
}
.sec04--heading02:before, .sec04--heading02:after {
 content: '';
 position: absolute;
 top: -7px;
 width: 2px;
 height: -webkit-calc(100% + 14px);
 height: calc(100% + 14px);
 background-color: #F57A78;
}
.sec04--heading02:before {
 left: 7px;
}
.sec04--heading02:after {
 right: 7px;
}
.prize .p-flexContainer {
 margin-top: 40px;
}
.prize .p-flexContainer .p-flexBlock {
 flex-direction: column;
 justify-content: center;
 -ms-flex-pack: center;
}
.p-sec04--headingWrap03 {
 display: block;
 position: relative;
 margin: 15px auto;
 max-width: 600px;
 padding: 10px 0;
 width: 100%;
 background: #12A1E9;
 box-sizing: border-box;
}
.u-sec04--flexItem02 .p-sec04--headingWrap03 {
 background: #EA5104;
}
.p-sec04--headingWrap03 span {
 display: inline-block;
 position: absolute;
 top: -6px;
 right: 10px;
 margin: 0;
 padding: 10px 0;
 z-index: 2;
 width: 40px;
 text-align: center;
 color: white;
 font-size: 17px;
 background: linear-gradient(#ff5b69 0%, #ff5b9a 100%);
 border-radius: 2px 0 0 0;
}
.p-sec04--headingWrap03 span:before {
 position: absolute;
 content: '';
 top: 0;
 right: -6px;
 border: none;
 border-bottom: solid 6px #cf4a2d;
 border-right: solid 6px transparent;
}
.p-sec04--headingWrap03 span:after {
 content: '';
 position: absolute;
 left: 0;
 top: 100%;
 height: 0;
 width: 0;
 border-left: 20px solid #ff5b9a;
 border-right: 20px solid #ff5b9a;
 border-bottom: 10px solid transparent;
}
.sec04--heading03 {
 color: #fff;
 font-size: 20px;
 font-weight: bold;
}
.u-sec03--flexItem01 {
 background-color: #f2faff;
}
.u-sec04--flexItem figure {
 margin-bottom: 20px;
}
.u-sec04--flexItem02 {
 background-color: #fbfff2;
 margin-top: 30px;
}
.p-BlockInner.u-sec03--BlockInner .u-sec03--Txt {
 background: url(../images/418553-PDW06U-339.svg);
 background-position: center top;
 background-size: contain;
 background-repeat: no-repeat;
}
.p-BlockInner.u-sec03--BlockInner .u-sec03--Txt p {
 background: rgba(255,255,255,.75);
 height: 100%;
 margin: auto;
 width: 80%;
}
.p-sec04--headingWrap03 + div {
 display: flex;
 flex-wrap: wrap;
 flex-direction: column;
 margin-top: 40px;
 padding: 0 15px;
}
.p-sec04--headingWrap03 + div figure img {
 border: solid 1px #ccc;
}
.location {
 text-align: center;
}
.location .p-gridBox {
 border: solid 1px #ccc;
 display: grid;
 grid-template-columns: 1fr 2fr;
 -ms-grid-columns: 1fr 2fr;
 grid-template-rows: repeat(3 , 1fr);
 -ms-grid-rows: 1fr,1fr,1fr;
 grid-template-areas:
        "areaA areaD"
        "areaB areaE"
        "areaC areaF";
}
.location .p-gridBox .p-gItem {
 align-items: center;
 background-color: #fff;
 display: flex;
 flex-direction: column;
 font-size: 13px;
 justify-content: center;
 -ms-flex-pack: center;
 text-align: center;
}
.location .p-gridBox .p-gItem span {
 display: block;
}
.location .p-gridBox .u-gItem01 {
 background-color: #f0f0f0 !important;
 border-bottom: solid 1px #ccc;
 border-right: solid 1px #ccc;
 grid-area: areaA;
}
.location .p-gridBox .u-gItem02 {
 background-color: #f0f0f0 !important;
 border-bottom: solid 1px #ccc;
 border-right: solid 1px #ccc;
 grid-area: areaB;
}
.location .p-gridBox .u-gItem03 {
 background-color: #f0f0f0 !important;
 border-bottom: solid 1px #ccc;
 border-right: solid 1px #ccc;
 grid-area: areaC;
}
.location .p-gridBox .u-gItem04 {
 border-bottom: solid 1px #ccc;
 grid-area: areaD;
}
.location .p-gridBox .u-gItem05 {
 border-bottom: solid 1px #ccc;
 grid-area: areaE;
 text-align: left;
}
.location .p-gridBox .u-gItem06 {
 border-bottom: solid 1px #ccc;
 grid-area: areaF;
 text-align: left;
}
.location .p-gridBox .u-gItem01_2 {
 background-color: #d7d7d7;
 border-bottom: solid 1px #ccc;
 border-right: solid 1px #ccc;
 grid-area: areaAA;
}
.location .p-gridBox .u-gItem02_2 {
 background-color: #d7d7d7;
 border-bottom: solid 1px #ccc;
 border-right: solid 1px #ccc;
 grid-area: areaBB;
}
.location .p-gridBox .u-gItem03_2 {
 background-color: #d7d7d7;
 border-bottom: solid 1px #ccc;
 border-right: solid 1px #ccc;
 grid-area: areaCC;
}
.u-sec05--Txt01 {
 margin-top: 15px;
}
.p-sns {
 text-align: center;
}
.p-shop--holi {
 color: #C70003;
 font-weight: bold;
}
#entry .p-btnFrom {
 margin-top: 40px;
 padding-left: 0;
 padding-right: 0;
}
#entry .p-btnFrom a {
 align-items: center;
 background-color: #F65C62;
 border-radius: 5px;
 color: #fff;
 display: flex;
 flex-direction: column;
 font-weight: 700;
 justify-content: center;
 line-height: 1.6;
 -ms-flex-pack: center;
 margin: 0 auto;
 max-width: 600px;
 /* padding: 10px 5% 10px 10%; */
 position: relative;
 width: 100%;
 font-size: 13px;
 height: 80px;
 padding: 10px 10px 10px 22px;
}
#entry .p-btnFrom a:before {
 background-image: url(../images/header_icon_appli.png);
 background-repeat: no-repeat;
 background-size: 23px 25px;
 content: '';
 display: inline-block;
 height: 25px;
 left: 25px;
 position: absolute;
 top: 50%;
 transform: translateY(-50%);
 width: 23px;
 vertical-align: middle;
}
#entry .p-btnFrom a span {
 display: block;
}
#entry .p-btnFrom a span:nth-child(2) {
 font-size: 20px;
}
.dis_t-cell {
 text-align: center;
}
#contactform label {
 display: block;
}
#contactform .reserve_day {
 margin-bottom: 12px;
}
#contactform .select02 span {
 font-weight: bold;
}
.u-sec01--flexItem02 a {
 color: #12A1E9;
 text-decoration: underline;
}
.u-sec01--flexItem02 a:hover {
 opacity: .7;
}
.u-sec01--flexContainer figure {
 margin: 0 auto;
 max-width: 400px;
 width: 100%;
}
.u-sec01--flexContainer figure + ul {
 margin-top: 15px;
}
.u-sec01--flexContainer .u-locTxt {
 border: 3px solid #EA5104;
 font-weight: bold;
 font-size: 14px;
 margin-bottom: 25px;
 padding: 10px 0;
}
.u-sec01--flexItem02 {
 margin-top: 40px;
}
.p-belfestBlock {
 margin-top: 30px;
}
.p-belfestBlock p.p-belfestTxt {
 font-size: 16px;
 line-height: 1.6;
}
.p-belfestBlock p.p-belfestTxt span {
 font-size: 20px;
 font-weight: bold;
}
.p-belfestBlock a {
 max-width: 595px;
 display: block;
 margin: 15px auto;
 border: 1px solid #ccc;
 box-shadow: 3px 3px #999;
}
.p-belfestBlock a:hover {
 opacity: .75;
}


@media screen and (min-width: 800px) {
 .brsp {
  display: none;
 }
 .p-Txt {
  font-size: 16px;
 }
 .p-flexContainer .p-flexBlock {
  flex-direction: row;
 }
 .dis_t-cell {
  text-align: left;
 }
 .location .dis_t .dis_t-cell:last-child {
  min-width: 200px;
  width: 20%;
 }
 .overview .dis_t .dis_t-cell:last-child {
  padding: 0 10px 30px;
 }
 .u-sec01--flexItem {
  padding: 0 10px;
 }
 .p-headingWrap .sec02--heading02 {
  padding: 0 90px;
 }
 .p-headingWrap .sec02--heading02:before, .p-headingWrap .sec02--heading02:after {
  width: 80px;
 }
 .u-sec02--BlockInner {
  flex-direction: row;
 }
 .u-sec02--BlockInner .p-BlockInner__locationphoto {
  margin-top: 0;
  margin-bottom: 0;
 }
 .how .p-flexContainer .p-flexBlock {
  flex-direction: row;
 }
 .u-sec03--BlockInner .p-flexBlock .p-flexItem {
  padding: 0 10px;
  width: 50%;
 }
 .u-sec03--BlockInner .p-flexBlock .p-flexItem {
  margin-top: 0;
 }
 .p-BlockInner.u-sec03--BlockInner .u-sec03--Txt {
  background-position: -250px 7px;
  background-size: 100% 100%;
 }
 .p-BlockInner.u-sec03--BlockInner .u-sec03--Txt p {
  background: rgba(255,255,255,0);
 }
 .p-flexItem .p-flexItem__Vote .p-VoteTxt {
  line-height: 2;
 }
 .prize .p-Container {
  background-position: center top;
  background-size: 98%;
 }
 .prize .p-Container .p-Block {
  background: rgba(255, 255, 255, .85);
  height: 100%;
  padding-top: 180px;
 }
 .p-sec04--headingWrap03 + div {
  flex-direction: row;
  justify-content: flex-start;
  -ms-flex-pack: start;
 }
 .p-sec04--headingWrap03 + div figure {
  flex: 1 0 365px;
  padding: 0 5px;
 }
 .p-sec04--headingWrap03 + div figure:nth-of-type(1) {
  flex: 1 0 600px;
 }
 .prize .p-flexContainer {
  margin-top: 80px;
 }
 .location .p-gridBox .p-gItem {
  font-size: 16px;
 }
 .location .p-gridBox {
  grid-template-columns: 1fr 2fr 1fr;
  -ms-grid-columns: 1fr 2fr 1fr;
  grid-template-rows: repeat(2 , 1fr);
  -ms-grid-rows: 1fr,1fr;
  grid-template-areas:
         "areaA areaB areaC"
         "areaD areaE areaF";
 }
 .location .p-gridBox .u-gItem01 {
  grid-area: areaA;
 }
 .location .p-gridBox .u-gItem02 {
  grid-area: areaB;
 }
 .location .p-gridBox .u-gItem03 {
  border-right: none;
  grid-area: areaC;
 }
 .location .p-gridBox .u-gItem04 {
  border-right: solid 1px #ccc;
  grid-area: areaD;
 }
 .location .p-gridBox .u-gItem05 {
  border-right: solid 1px #ccc;
  grid-area: areaE;
 }
 .location .p-gridBox .u-gItem06 {
  grid-area: areaF;
 }
 .location .p-gridBox .u-gItem01_2 , .location .p-gridBox .u-gItem02_2 , .location .p-gridBox .u-gItem03_2 {
  display: none;
 }
 #entry .p-btnFrom {
  padding-left: 0;
  padding-right: 0;
 }
 #entry .p-btnFrom a {
  font-size: 16px;
  height: 100px;
  margin-bottom: 1.25rem;
  padding: 10px 10px 10px 22px;
 }
 #entry .p-btnFrom a span:nth-child(2) {
  font-size: 30px;
 }
 .u-sec02--BlockInner .p-BlockInner__linkphoto , .u-sec02--BlockInner .p-BlockInner__locationphoto {
  padding: 0 10px;
 }
 #how {
  margin-top: 40px;
 }
 .u-sec01--flexItem02 {
  margin-top: 0;
 }
}

/* 190705 Add */
.p-catStudio {
 font-size: 13px;
 line-height: 1.4;
 margin-top: 10px;
 text-align: left;
}
.u-sec01--flexItem03 .sec01--heading03 {
 background-color: #52c658;
}
.u-sec04--flexItem03 .p-sec04--headingWrap03 {
 background: #52c658;
}
.u-sec01--flexItem03 {
 margin-top: 40px;
}
.u-sec04--flexItem02 .p-sec04--headingWrap03 .sec04--heading03 {
 font-size: 16px;
}
@media screen and (min-width: 800px) {
 .u-sec04--flexItem02 .p-sec04--headingWrap03 .sec04--heading03 {
  font-size: 20px;
 }
 .dis_t {
  display: flex;
 }
 .dis_t-cell {
  font-size: 15px;
 }
 .dis_t-cell:first-child {
  width: 30%;
 }
 .dis_t-cell:last-child {
  width: calc(70% - 20px);
 }
}

/* 190712 Add */
.entry_aw {
 margin: auto;
 max-width: 975px;
 padding: 60px 10px;
}

@media screen and (min-width: 800px) {
 .entry_aw {
  padding: 60px 0;
 }
}

.sec04.vote .p-Container .p-Block {
 position: relative;
}
.sec04.vote .p-Container .p-Block:before {
 background-color: #fff;
 border: solid 2px #959E9B;
 content: '';
 height: calc(100% - 3px);
 left: 0;
 padding-bottom: 60px;
 position: absolute;
 top: 0;
 width: calc(100% - 3px);
 z-index: -1;
}
.sec04.vote .sec04--heading02 {
 background: #5B402A;
 border-bottom: none;
 border-top: none;
 color: #fff;
 padding: 0;
}
.sec04.vote .sec04--heading02:before {
 background-color: #5B402A;
 border-color: transparent transparent transparent #fff;
}
.sec04.vote .sec04--heading02:after {
 background-color: #5B402A;
 border-color: transparent #fff transparent transparent;
}
.l-BtnCont {
 margin: 0 auto;
 max-width: 600px;
 width: 100%;
}
.l-BtnCont a {
 align-items: center;
 color: #fff;
 display: flex;
 font-weight: normal;
 justify-content: center;
 -ms-flex-pack: center;
 height: 59px;
}
.l-BtnCont a:hover {
 opacity: .75;
}
.l-BtnCont a:not(:last-child) {
 margin-bottom: 30px;
}
.l-BtnCont a:first-child {
 margin-top: 30px;
}
.l-BtnCont a span {
 color: #fff;
 font-size: 18px;
 font-weight: normal;
}
.l-BtnCont .p-linkphoto {
 background: #12A1E9;
}
.l-BtnCont .p-locaphoto {
 background: #EA5104;
}
.l-BtnCont .p-studiophoto {
 background: #52c658;
}
@media screen and (max-width: 800px) {
 #vote {
  padding-left: 10px;
  padding-right: 10px;
 }
 .l-BtnCont {
  max-width: 300px;
 }
}