@charset "UTF-8";

html {
	margin: 0;
	padding: 0;
	font-size: 62.5%;
}
body {
	margin: 0 auto;
	padding: 0;
	font-size: 1.5rem;
	font-family: 'Noto Sans JP', 'Hiragino Gothic Pro', 'メイリオ', Meiryo, 'Yu Gothic', '游ゴシック', YuGothic, '游ゴシック体', 'ＭＳ Ｐゴシック', sans-serif;
	font-weight: 400;
	-webkit-text-size-adjust: 100%;
    text-size-adjust: 100%;
}
/* iPad背景切れ対策 */
@media screen and (min-width:641px){
	body {
		min-width: 1080px;
		font-size: 1.5rem;
	}
}
*,*::before,*::after {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
header, footer, section, aside, nav, article, main {
	display: block;
}
h1, h2, h3, h4, h5, h6,
figure, ul, ol, li, dl, dt, dd, p, img {
	margin: 0;
	padding: 0;
}
h1, h2, h3, h4, h5, h6,a {
	line-height: 1.3;
}
p {
	font-size: 100%;
	line-height: 1.6;
}
li {
	line-height: 1.5;
}
img {
	width: 100%;
	border: none;
	vertical-align: top;
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
}
@media screen and (max-width:640px){
	img{
		width: 100%;
	}
}
ul li, ol li {
	list-style: none;
}
a {
	color: #000;
	text-decoration: none;
	transition: color 0.2s, opacity 0.2s;
}
a:link {
	color: #000;
}
a:visited {
	color: #000;
}
a:hover {
	color: #000;
	opacity: 0.7;
	text-decoration: none;
}

/* 表示切替 */
.switch {
	visibility: hidden;
}
.sp{
	display:none;
}
@media screen and (max-width:640px){
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}
}


/* フォント */
.ftBd{
	font-weight: 700;
}
.ftRed{
	color: #F00;
}

/* 背景 */
.bgCream{
	background-color: #fef6e4;
}

/* テキストリンク */
a.txtLink{
	text-decoration:underline;
	transition:color 0.2s;
}
a.txtLink:hover{
	color:#000;
	text-decoration:none;
	opacity: 1.0;
}


/*
	header
-----------------------------------------------------------------------------------------------*/
#header{
	padding: 20px 30px;
	background-color: #fff;
	position: relative;
}
#header::before{
	content: "";
	width: 100%;
	height: 7px;
	background: url("../images/bg_border.svg") center center repeat;
    background-size: 216px 7px;
	position: absolute;
	left: 0;
	bottom: -7px;
	z-index: 1;
}
#header__logoNissei a{
	display: block;
	width: 180px;
}
#header__logoLand a{
	display: block;
	width: 220px;
}
@media screen and (max-width:640px){
	#header{
		padding: 15px 20px;
	}
	#header::before{
		height: 5px;
		background-size: 154px 5px;
		bottom: -5px;
	}
	#header__logoNissei a{
		width: 110px;
	}
	#header__logoLand a{
		width: 150px;
	}
}


/*
	コンテンツ
-----------------------------------------------------------------------------------------------*/
#wrapper{
	position: relative;
}
.ctsArea{
	width: 1000px;
	margin: 0 auto;
	padding: 80px 30px;
	position: relative;
}
@media screen and (max-width:640px){
	.ctsArea{
		width: 100%;
		padding: 30px 20px;
	}
}


/*
	flexBox
-----------------------------------------------------------------------------------------------*/
.flexBox{
	display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
}
.flexBox__jstCtt_btwn{
	-ms-justify-content: space-between;
	justify-content: space-between;
}
.flexBox__jstCtt_cntr{
	-ms-justify-content: center;
	justify-content: center;
}

.flexBox__jstCtt_end{
	-ms-justify-content: flex-end;
	justify-content: flex-end;
}
.flexBox__alinItm_cntr{
	-ms-align-items: center;
	align-items: center;
}
.flexBox__direction_rore{
	-ms-flex-direction: row-reverse;
	flex-direction: row-reverse;
}


/*
	フェードイン
-----------------------------------------------------------------------------------------------*/
.fadeIn {
  opacity : 0;
  transform: translateY(60px);
  transition: transform 1.0s;
}
@media screen and (max-width:640px){	
	.fadeIn {
	  transform: translateY(40px);
	}
}


/*
	ボタン
-----------------------------------------------------------------------------------------------*/
.btnArea{
	padding: 20px 0 0;
}
.btnBase{
	display: inline-block;
	width: 350px;
	padding: 22px 10px;
	color: #fff !important;
	font-size: 1.8rem;
	font-weight: bold;
	text-align: center;
	position: relative;
	background-color: #1f2e5a;
	border-radius: 10px;
}
.btnBase:nth-of-type(2){
	margin: 12px 0 0px 0;
}
.btnBase::after{
	content:' ';
	display:block;
	width:10px;
	height:10px;
	border-top:3px solid #fff;
	border-right:3px solid #fff;
	transform:translateY(-50%) rotate(45deg);
	transform-origin:0 0;
	position:absolute;
	top:50%;
	right:17px;
	margin:-2px 0 0 0;
	transition: right 0.3s;
}
.flexBox__jstCtt_cntr .btnBase:nth-of-type(2){
	margin: 0 0 0 15px;
}

@media screen and (max-width:640px){
	.btnArea{
		padding: 25px 0 0;
	}
	.btnBase{
		width: 100%;
	}
	.flexBox__jstCtt_cntr .btnBase:nth-of-type(2){
		margin: 10px 0 0 0;
	}
}

.btnBase.btnBase_anchor::after{
	border-top: 3px solid #ffffff;
	border-right: 3px solid #ffffff;
	transform: translateY(-50%) rotate(135deg);
	transform-origin: center;
	right: 20px;
}

/* close */
.btnBase__close::after{
	display: none;
}

/* ピンク */
.btnBase_pk{
	background-color: #fb576b;
}
/* グレー */
.btnBase_gry{
	background-color: #ccc;
}

/* ダウンロード */
.btnArea_dl{
	padding: 12px 0 0;
}
.btnBase.btnBase_dl::after{
	display: none;
}
.btnBase_dl{
	width: 100%;
	padding: 15px 10px;
	font-size: 1.6rem;
	background-color: #fb576b;
}
.btnBase_dl span{
	padding: 0 0 0 25px;
	position: relative;
}
.btnBase_dl span::before{
	content: "";
	width: 19px;
	height: 16px;
	background: url("../images/ico_dl.svg") center center no-repeat;
    background-size: cover;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
@media screen and (max-width:640px){
	.btnArea_dl{
		padding: 10px 0 0;
	}
}


/*
	メインイメージ
-----------------------------------------------------------------------------------------------*/
#topKv{
	background: url(../images/bg_map.png) top -8px center no-repeat;
	background-size: contain;
	position: relative;
	overflow: hidden;
}
#topKv .ctsArea{
	padding: 45px 0 65px;
	position: relative;
	z-index: 10;
}
@media screen and (max-width:640px){
	#topKv{
		overflow: hidden;
	}
	#topKv .ctsArea{
		padding: 35px 0 40px;
	}
}

.topKv__tit{
	width:675px;
	margin: 0 0 20px 230px;
	text-align: center;
	position: relative;
}
.topKv__tit_n{
	width: auto;
	height: 55%;
	position: absolute;
	bottom: -35px;
	left: -295px;
	z-index: -1;
}
.topKv__tit_s{
	width: auto;
	height: 55%;
	position: absolute;
	bottom: -30px;
	right: -170px;
	z-index: -1;
}
@media screen and (max-width:640px){
	.topKv__tit{
		width:85%;
		margin: 0 0 15px 12%;
	}
	.topKv__tit_n{
		height: 30%;
		bottom: -9px;
		left: -60px;
	}
	.topKv__tit_s{
		height: 30%;
		bottom: -8px;
		right: -25px;
	}
}

.topKv__ribbon{
	width:507px;
	height:75px;
	margin: 0 auto 15px 230px;
	text-indent:100%;
	white-space:nowrap;
	line-height:100%;
	overflow:hidden;
	background:url(../images/tit_ribbon.svg) center top no-repeat;
}
@media screen and (max-width:640px){
	.topKv__ribbon{
		width:280px;
		height:42px;
		margin: 0 auto 8px;
	}
}

.topKv__kikan{
	width:507px;
	height:28px;
	margin: 0 auto 0 230px;
	text-indent:100%;
	white-space:nowrap;
	line-height:100%;
	overflow:hidden;
	background:url(../images/tit_kikan_pc.svg) center top no-repeat;
	position: relative;
}
.topKv__kikan_close{
	display: block;
	width: 100%;
	padding: 30px 0;
	text-indent: 0;
	font-size: 1.5rem;
    font-weight: 700;
	color: #fff;
	text-align: center;
	background-color: rgba(255,0,0,0.9);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: 10;
}
@media screen and (max-width:640px){
	.topKv__kikan{
		width:280px;
		height:42px;
		margin: 0 auto;
		background:url(../images/tit_kikan_sp.svg) center top no-repeat;
	}
}


/*
	イラスト
-----------------------------------------------------------------------------------------------*/
.deco{
	width: auto;
	position: absolute;
	z-index: 10;
}
@media screen and (max-width:640px){
	.deco{
		display: none;
	}
	.deco__topKv{
		display: block;
	}
}

/* topKv */
.deco_apple{
	top: 6%;
	left: 2%;
}
.deco_ika{
	top: 15%;
	left: 15%;
}
.deco_cheese{
	top: 30%;
	left: 3%;
}
.deco_nuts{
	bottom: 12%;
	left: 10%;
}
.deco_drink{
	top: 10%;
	right: 3%;
}
.deco_orange{
	top: 26%;
	right: 8%;
}
.deco_grape{
	bottom: 9%;
	right: 17%;
}
@media screen and (max-width:640px){
	.deco{
		width: 8%;
	}
	.deco_apple{
		top: 3%;
		left: -1%;
	}
	.deco_ika{
		width: 7%;
		top: 8%;
		left: 15%;
	}
	.deco_cheese{
		width: 10%;
		top: 22%;
		left: 1%;
	}
	.deco_nuts{
		width: 7%;
		bottom: 15%;
		left: 3%;
	}
	.deco_drink{
		width: 9%;
		top: 5%;
		right: 10%;
	}
	.deco_orange{
		width: 10%;
		top: 44%;
		right: -2%;
	}
	.deco_grape{
		bottom: 14%;
		right: 2%;
	}
}

/* about */
.deco_peach{
	top: 1%;
	right: 84%;
}
.deco_kiwi{
	right: -12%;
	bottom: -3%;
}
.deco_ebi{
	top: 25%;
	right: 96%;
}
.deco_lemon{
	top: 34%;
	left: 87%;
}
.deco_orange02{
	top: 61%;
	left: 95%;
}
.deco_pear02{
	bottom: 30%;
	right: 90%;
}
.deco_cherry{
	bottom: 1%;
	right: 84%;
}

/* app */
.deco_milk{
	top: 20%;
	right: -9%;
}
.deco_mango02{
	bottom: 30%;
	left: -12%;
}

.deco_banana{
	top: 5%;
	left: -10%;
}
.deco_apple02{
	top: 8%;
	right: -25%;
}
.deco_pear{
	top: 35%;
	right: -8%;
}
.deco_grape02{
	top: 30%;
	left: -23%;
}
.deco_rose{
	bottom: 35%;
	left: -8%;
}
.deco_lemon02{
	bottom: 25%;
	right: -26%;
}
.deco_kiwi02{
	bottom: 7%;
	left: -22%;
}
.deco_mango{
	bottom: -2%;
	right: -9%;
}

.deco_strawberry{
	bottom: 25%;
	left: -7%;
}
.deco_peach02{
	top: 40%;
	right: -12%;
}


/*
	about
-----------------------------------------------------------------------------------------------*/
#about{
	margin: 0 0 6%;
	position: relative;
}
#about__area{
	position: relative;
	overflow: hidden;
}
#about .ctsArea{
	padding: 90px 30px 150px 30px;
	position: relative;
	z-index: 100;
}
@media screen and (max-width:640px){
	#about .ctsArea{
		padding: 10% 20px 15% 20px;
	}
}

/* 背景 */
.about__bg{
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
}
.about__bg_yelw{
	background-color: #faee3c;
	transform: skewY(-6deg);
}
.about__bg_yelw::before{
	content: "";
	width: 100%;
	height: 200%;
	background: url("../images/ptn_dot.svg") center center repeat;
    background-size: 40px 40px;
	position: absolute;
	top:50%;
	transform: skewY(6deg) translateY(-50%);
	opacity: 0.3;
}
.about__bg_bl{
	background-color: rgba(136,216,229,0.95);
	transform: skewY(6deg);
}
.about__bg_bl::before{
	content: "";
	width: 840px;
	height: 200px;
	background: url("../images/bg_town.svg") center center no-repeat;
    background-size: cover;
	transform: skewY(-6deg);
	position: absolute;
	right: -15px;
	bottom: -45px;
	opacity: 0.65;
}
@media screen and (max-width:640px){
	.about__bg_yelw::before{
		background-size: 20px 20px;
	}
	.about__bg_bl::before{
		width: 400px;
		height: 96px;
		right: -5px;
		bottom: -20px;
	}
}

/* 説明 */
.aboutDesc{
	position: relative;
}
.aboutDesc__tit img{
	width:505px;
	margin: 0 0 25px;
}
.aboutDesc__txt{
	font-size: 1.7rem;
	font-weight: bold;
	line-height: 2.0;
}
.aboutDesc__txt span{
	margin: 0 5px;
	color: #fff;
	font-size: 2.2rem;
	line-height: 1.0;
	background: linear-gradient(transparent 70%, #faee3c 0%);
	text-shadow    : 
	2px  2px 1px #1f2e5a,
	-2px  2px 1px #1f2e5a,
	2px -2px 1px #1f2e5a,
	-2px -2px 1px #1f2e5a,
	2px  0px 1px #1f2e5a,
	0px  2px 1px #1f2e5a,
	-2px  0px 1px #1f2e5a,
	0px -2px 1px #1f2e5a; 
}
.aboutDesc__ph{
	width: 440px;
	position: absolute;
	top: 0;
	right: -15px;
}
@media screen and (max-width:640px){
	.aboutDesc__tit img{
		width:100%;
		margin: 0 0 15px;
	}
	.aboutDesc__txt{
		padding: 0 0 15px;
		font-size: 1.5rem;
		line-height: 1.8;
	}
	.aboutDesc__txt span{
		font-size: 1.8rem;
	}
	.aboutDesc__ph{
		width: 100%;
		margin: 0 auto;
		position: static;
	}
}

/* 作品応募受付期間 */
.period{
	margin: 60px 0 0;
	padding: 40px 50px 30px;
	text-align: center;
	background-color: #fff;
	border: 5px solid #1f2e5a;
	border-radius: 20px;
	position: relative;
}
.period__txt{
	margin: 0 0 10px;
	font-size: 5.5rem;
	font-weight: bold;
	line-height: 1.0;
	letter-spacing: 0.3rem;
}
.period__txtS{
	font-size: 4.0rem;
}
.period__txtMark{
	display: inline-block;
	background: linear-gradient(transparent 75%, #faee3c 0%);
}
.period__tit{
	display: inline-block;
	padding: 10px 20px 12px;
	font-size: 2.4rem;
	font-weight: bold;
	color: #fff;
	border-radius: 3px;
	line-height: 1.0;
	background-color: #1f2e5a;
	position: absolute;
	top: -23px;
	left: 50%;
	transform: translateX(-50%);
}
.period__tit::after{
	content: "";
	border-top: 10px solid #1f2e5a;
	border-right: 10px solid transparent;
	border-left: 10px solid transparent;
	position: absolute;
	bottom: -10px;
	left: 50%;
	transform: translateX(-50%);
}
.period__close{
	width: 100%;
	padding: 30px 0;
	color: #fff;
	font-size: 2.0rem;
	font-weight: 700;
	background-color: rgba(255,0,0,0.9);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
@media screen and (max-width:640px){
	.period{
		margin: 30px 0 0;
		padding: 30px 20px 20px;
		border-radius: 15px;
	}
	.period__txt{
		font-size: 3.0rem;
		letter-spacing: 0;
	}
	.period__txtS{
		font-size: 2.3rem;
	}
	.period__tit{
		padding: 10px 15px 12px;
		font-size: 1.6rem;
	}
}

/* プレゼント */
.present{
	position: relative;
}
.present::before{
	content: "";
	width: 47px;
	height: 60px;
	background: url("../images/ico_present.svg") center center no-repeat;
    background-size: cover;
	position: absolute;
	top: -40px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
}
.present__box{
	margin: 60px 0 0 ;
	padding: 50px;
	background-color: #fff;
	border-radius: 20px;
	position: relative;
}
.present__box::before,
.present__box::after{
	content: "GIFT CARD & ORIGINAL GOODS PRESENT";
	font-size: 1.5rem;
	font-weight: 800;
	letter-spacing: 0.1rem;
	line-height: 1.0;
	transform-origin: center center;
	position: absolute;
	top: 50%;
}
.present__box::before{
	transform: rotate(-90deg) translateY(-50%);
	left: -175px;
}
.present__box::after{
	transform: rotate(90deg) translateY(-50%);
	right: -175px;
}
.present__tit{
	margin: -25px 0 30px;
	text-align: center;
	position: relative;
}
.present__tit img{
	width: 642px;
}
.present__tit::before,
.present__tit::after{
	content: "";
	position: absolute;
	bottom: 50px;
}
.present__tit::before{
	width: 107px;
	height: 140px;
	background: url("../images/pic_nikkun.svg") center center no-repeat;
	background-size: cover;
	left: -10px;
}
.present__tit::after{
	width: 96px;
	height: 138px;
	background: url("../images/pic_seichan.svg") center center no-repeat;
	background-size: cover;
	right: -10px;
}
.present__txtArea{
	margin: 0 0 40px;
}
.present__txtArea__txt{
	width: calc(100% - 240px);
}
.present__txtArea__ph{
	width: 210px;
}
.webPeriod{
	text-align: center;
}
.webPeriodArea{
	display: inline-block;
	padding: 35px 30px 25px;
	border-top: 3px solid #1f2e5a;
	border-bottom: 3px solid #1f2e5a;
	position: relative;
}
.webPeriodArea::before,
.webPeriodArea::after{
	content: "";
	width: 3px;
	height: 90%;
	background-color: #1f2e5a;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
}
.webPeriodArea::before{
	left: -10px;
}
.webPeriodArea::after{
	right: -10px;
}
.webPeriod__txt{
	margin: 0 0 10px;
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.0;
	color: #1f2e5a;
}
.webPeriod__txt span{
	vertical-align: middle;
}
.webPeriod__txtMarker{
	background: linear-gradient(transparent 70%, #faee3c 0%);
}
.webPeriod__txtS{
	font-size: 2.0rem;
}
.webPeriod__txtTag{
	margin: 0 10px 0 0;
	padding: 5px 15px;
	font-size: 1.3rem;
	color: #fff;
	border-radius: 3px;
	background-color: #1f2e5a;
	position: relative;
}
.webPeriod__txtTag::before{
	content: "";
	width: 32px;
	height: 23px;
	background: url("../images/ico_webPeriod.svg") center center no-repeat;
    background-size: cover;
	position: absolute;
	top: -23px;
	left: 50%;
	transform: translateX(-50%);
}
@media screen and (max-width:640px){
	.present::before{
		width: 30px;
		height: 39px;
		top: -25px;
	}
	.present__box{
		margin: 40px 0 0 ;
		padding: 20px;
		border-radius: 15px;
	}
	.present__box::before,
	.present__box::after{
		font-size: 1.0rem;
	}
	.present__box::before{
		left: -122px;
	}
	.present__box::after{
		right: -122px;
	}
	.present__tit{
		margin: 0 0 15px;
	}
	.present__tit img{
		width: 100%;
	}
	.present__tit::before,
	.present__tit::after{
		content: none;
		position: absolute;
		bottom: 0;
	}
	.present__tit::before{
		width: 107px;
		height: 140px;
		background: url("../images/pic_nikkun.svg") center center no-repeat;
		background-size: cover;
		left: -10px;
	}
	.present__tit::after{
		width: 96px;
		height: 138px;
		background: url("../images/pic_seichan.svg") center center no-repeat;
		background-size: cover;
		right: -10px;
	}
	.present__txtArea{
		margin: 0 0 25px;
	}
	.present__txtArea__txt{
		width: 100%;
	}
	.present__txtArea__ph{
		width: 50%;
		margin: 10px auto 0;
	}
	.webPeriodArea{
		padding: 25px 15px 15px;
	}
	.webPeriodArea::before{
		left: -5px;
	}
	.webPeriodArea::after{
		right: -5px;
	}
	.webPeriod__txt span{
		line-height: 1.5;
	}
	.webPeriod__txtS{
		font-size: 1.5rem;
	}
	.webPeriod__txtTag{
		display: block;
		margin: 0 0 5px 0;
		padding: 6px 15px;
	}
}

/* 副賞 */
.subPresent__tit{
	width: 500px;
	margin: 0 auto 15px;
}
#listSubPresent{
	-ms-justify-content: space-between;
	justify-content: space-between;
}
.listSubPresent__item{
	width: calc((100% - 20px)/2);
	padding: 25px 20px 20px;
	border-radius: 15px;
	background-color: #fef6e4;
	position: relative;
}
.listSubPresent__num{
	-ms-align-items: center;
	align-items: center;
	-ms-justify-content: center;
	justify-content: center;
	width: 60px;
	height: 60px;
	font-size: 3.0rem;
	font-weight: bold;
	color: #fff;
	border-radius: 50%;
	background-color: #1f2e5a;
	position: absolute;
	top: -30px;
	left: 50%;
	transform: translateX(-50%);
}
.listSubPresent__num::after {
    content: "";
    border-top: 10px solid #1f2e5a;
    border-right: 10px solid transparent;
    border-left: 10px solid transparent;
    position: absolute;
    bottom: -7px;
    left: 50%;
    transform: translateX(-50%);
}
.listSubPresent__tit{
	margin: 0 0 15px;
	font-size: 1.8rem;
	text-align: center;
	color: #1f2e5a;
}
.listSubPresent__tit span{
	font-size: 3.0rem;
	color: #e20012;
}
.listSubPresent__ph{
	width: 80%;
	margin: 0 auto;
}
@media screen and (max-width:640px){
	.subPresent__tit{
		width: 100%;
		margin: 0 auto 10px;
	}
	#listSubPresent{
		display: block;
	}
	.listSubPresent__item{
		width: 100%;
		padding: 20px 15px 15px;
		border-radius: 10px;
	}
	.listSubPresent__item:last-of-type{
		margin: 15px 0 0;
	}
	.listSubPresent__num{
		width: 46px;
		height: 46px;
		font-size: 2.2rem;
		top: -23px;
	}
	.listSubPresent__num::after {
		border-top: 8px solid #1f2e5a;
		border-right: 8px solid transparent;
		border-left: 8px solid transparent;
		bottom: -5px;
	}
	.listSubPresent__tit{
		margin: 0 0 10px;
		font-size: 1.5rem;
	}
	.listSubPresent__tit span{
		font-size: 2.5rem;
		color: #e20012;
	}
}

/* メニュー化 */
#newSoft{
	margin: 100px 0 0;
	padding: 60px 80px 60px 130px;
	background-color: #fff;
	border-radius: 175px;
	position: relative;
}
#newSoft::before {
    content: "";
    width: 130px;
    height: 130px;
    background: url("../images/ico_new.svg") no-repeat center center /cover;
    position: absolute;
    top: -70px;
	left: 0;
}
.newSoft__tit{
	margin: 0 0 15px;
	font-size: 2.5rem;
	color: #0054a6;
	font-weight: bold;
	line-height: 1.2;
}
.newSoft__txt{
	font-size: 1.6rem;
}
.newSoft__ph{
	width: 380px;
	position: absolute;
	right: 20px;
	bottom: 0;
}
.newSoft__ph img{
	width: 100%;
}
@media screen and (max-width:640px){
	#newSoft{
		margin: 50px 0 0;
		padding: 0 20px 20px;
		border-radius: 10px;
	}
	#newSoft::before {
		width: 80px;
		height: 80px;
		top: -20px;
		left: -15px;
	}
	.newSoft__tit{
		margin: 0 0 15px;
		font-size: 1.8rem;
	}
	.newSoft__txt{
		font-size: 1.5rem;
	}
	.newSoft__ph{
		width: 225px;
		margin: -40px auto 10px;
		padding-left: 15px;
		position: static;
	}
}

/* 投票参加者にもチャンス */
#chance{
	margin: 20px 0 0;
	padding: 30px;
    border-radius: 15px;
    border: 3px solid #e20012;
}
.chance__txtArea{
	width: calc(100% - 470px);
}
.chance__tit{
	margin: 0 0 20px;
	font-size: 2.0rem;
	font-weight: bold;
	color: #e20012;
	line-height: 1.5;
}
.chance__tit span{
	background: linear-gradient(transparent 70%, #faee3c 0%);
}
.chance__ph{
	width: 450px;
}
@media screen and (max-width:640px){
	#chance{
		margin: 15px 0 0;
		padding: 15px;
	}
	.chance__txtArea{
		width: 100%;
	}
	.chance__tit{
		margin: 0 0 15px;
		font-size: 1.8rem;
	}
	.chance__ph{
		width: 100%;
		margin: 15px 0 0;
	}
}


/*
	app
-----------------------------------------------------------------------------------------------*/
.appArea{
	position: relative;
	overflow: hidden;
}
.app{
	margin: 50px 0 0;
	position: relative;
}
.app:first-of-type{
	margin: 0 0 0;
}
.app__tit{
	padding: 20px;
	font-size: 3.0rem;
	color: #fff;
	text-align: center;
	background-color: #1f2e5a;
	border-radius: 20px;
	position: relative;
}
.app__tit::before{
	content: "";
	width: 100%;
	height: 6px;
	border-top: 6px dotted #fef6e4;
	position: absolute;
	bottom: -3px;
	left: 0;
}
.app__bg{
	padding: 30px 50px;
	background-color: #fff;
	border-radius: 20px;
}
@media screen and (max-width:640px){
	.app{
		margin: 30px 0 0;
	}
	.app__tit{
		padding: 12px 12px 17px;
		font-size: 2.2rem;
		border-radius: 15px;
	}
	.app__bg{
		padding: 30px 20px;
		border-radius: 15px;
	}
}

/* リスト */
.app__list{
	margin: 0 0 -10px
}
.app__list li{
	padding:0 0 10px 18px;
	position: relative;
}
.app__list li::before {
	content:'■';
	font-size: 1.4rem;
	color:#1f2e5a;
	transform: rotate(45deg);
	position:absolute;
	top: 1px;
	left:0;
}

/* 注釈 */
.app__list_cation li{
	padding:6px 0 0 15px;
	font-size: 1.3rem;
	color: #f00;
}
.app__list_cation li::before {
	content:'※';
	font-size: 1.3rem;
	color:#f00;
	transform: rotate(0deg);
	top: 6px;
}

/* 応募方法 */
.method__txt{
	margin: 0 0 30px;
	position: relative;
}
.method__txt__ph{
    width: 345px;
	position: absolute;
	top: 0;
	right: 0;
}
.method__txt__marker{
	margin: 0 0 20px;
	font-size: 2.5rem;
	font-weight: bold;
}
.method__txt__marker span{
	background: linear-gradient(transparent 70%, #faee3c 0%);
}
@media screen and (max-width:640px){
	.method__txt{
		margin: 0 0 0;
	}
	.method__txt__ph{
		width: 100%;
		margin: 15px auto 0;
		position: static;
	}
	.method__txt__marker{
		margin: 0 0 15px;
		font-size: 2.1rem;
	}
}


/* tbl募集内容 */
.listDl{
	margin: 25px 0 0;
}
.listDl li{
	width: calc((100% - 30px)/3);
}
.listDl__ph{
	border: 2px solid #fb576b;
}
@media screen and (max-width:640px){
	.listDl{
		margin: 0 0 0;
	}
	.listDl li{
		width: 100%;
		margin: 20px 0 0;
		
	}
}

/* tbl応募方法 */
.oboArea{
	margin: 0 0 20px;
}
.oboArea__txt{
	width: calc(100% - 320px);
}
.oboArea__ph{
	width: 300px;
}
@media screen and (max-width:640px){
	.oboArea{
		margin: 0 0 10px;
	}
	.oboArea__txt{
		width: 100%;
		margin: 0 0 15px;
	}
	.oboArea__ph{
		width: 100%;
	}
}


/*
	table
-----------------------------------------------------------------------------------------------*/
.tblBase{
	width:100%;
	border-collapse:collapse;
	border-top:none;
	border-bottom:none;
	table-layout: fixed;
}
.tblBase th,
.tblBase td{
	padding: 25px 20px 25px 0;
	line-height:160%;
	border-bottom:1px dotted #bec6c6;
}
.tblBase tr:last-of-type th,
.tblBase tr:last-of-type td{
	border-bottom:none;
}
.tblBase th{
	width:245px;
	color: #1f2e5a;
	font-weight:bold;
	text-align: left;
	vertical-align: top;
}
@media screen and (max-width:640px){
	.tblBase{
		width:100%;
		border-top:none;
	}
	.tblBase tr,.tblBase th,.tblBase td{
		display:block;
	}
	.tblBase th,
	.tblBase td{
		width:100%;
	}
	.tblBase th{
		min-width:auto;
		font-size: 1.6rem;
		padding: 0 0 0 6px;
		border-bottom:none;
		border-left: 5px solid #1f2e5a;
		line-height: 1.1;
	}
	.tblBase td{
		padding:12px 0 25px 0;
		margin: 0 0 25px;
		border-bottom:1px solid #bec6c6;
	}
	.tblBase tr:last-of-type td{
		margin: 0;
		padding: 12px 0 0 0;
	}
}


/*
	pageTop
-----------------------------------------------------------------------------------------------*/
a#pageTop{
	width:70px;
	height:70px;
	margin: 0 0 30px 0;
	background-color: rgba(31,46,90,0.95);
	border: 1px solid #fef6e4;
	border-radius: 50%;
	position: absolute;
	right: 30px;
	z-index: 9999;
}
a#pageTop::after{
	content:' ';
	display:block;
	width:12px;
	height:12px;
	border-top: 3px solid #fff;
	border-left: 3px solid #fff;
	transform:rotate(45deg);
}
@media screen and (max-width:640px){
	a#pageTop{
		width:60px;
		height:60px;
		margin: 0 0 15px 0;
		right: 15px;
	}
	a#pageTop::before{
		border-left: 25px solid transparent;
		border-right: 25px solid transparent;
		border-bottom: 10px solid rgba(68,68,68,0.95);
		top: -10px;
	}
	a#pageTop::after{
		width:10px;
		height:10px;
	}
}


/*
	footer
-----------------------------------------------------------------------------------------------*/
#footer{
	padding: 30px;
	color: #333;
	background-color: #88d8e5;
}
.footer__top{
	margin: 0 0 15px;
}
@media screen and (max-width:640px){
	#footer{
		display: block;
		padding: 15px 20px;
		text-align: center;
	}
	.footer__top{
		display: block;
	}
	.footer__btm{
		display: block;
	}
	#footer_copyright{
		margin: 10px 0 0;
	}
}

a.footer__txtLink{
	padding: 0 0 0 20px;
	color: #333;
	position: relative;
}
.footer__txtLink::before{
	content: "";
    width: 15px;
    height: 15px;
    border-radius: 50%;
    background: #333;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
    left: 0;
}
.footer__txtLink::after{
	content: "";
    width: 4px;
    height: 4px;
    border-top: 1px solid #fff;
    border-right: 1px solid #fff;
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
    left: 5px;
}
@media screen and (max-width:640px){
	a.footer__txtLink{
		display: inline-block;
		margin: 10px 0 0;
	}
}

#footer__list li{
	margin: 0 15px 0 0;
	padding: 0 20px 0 0;
	font-size: 1.3rem;
	position: relative;
}
#footer__list li:last-of-type{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}
#footer__list li::after{
	content:'|';
	position: absolute;
	right: 0;
}
#footer__list li a{
	color: #333333;
	text-decoration: underline;
}
#footer__list li a:hover{
	opacity: 1.0;
	text-decoration: none;
}
#footer__list li:last-of-type::after{
	content:none;
}
@media screen and (max-width:640px){
	#footer__list{
		-ms-justify-content: center;
		justify-content: center;
		margin: 0 0 -5px;
	}
	#footer__list li{
		margin: 0 15px 5px 0;
	}
	#footer__list li:last-of-type{
		margin: 0 0 5px 0;
	}
}


/*
	選考作品WEB投票（第2フェーズ）
-----------------------------------------------------------------------------------------------*/

/* 概要はこちら */
a.summary__btn{
	display: inline-block;
	width: 160px;
	position: absolute;
	left: 520px;
	bottom: 280px;
	cursor: pointer;
}
@media screen and (max-width:640px){
	a.summary__btn{
		width: 38%;
		left: 0;
		bottom: 7%;
	}
}

a.summary__btn img{
	width: 100%;
	animation: sumBtnAnime 2.5s ease infinite;
}
/*keyframe*/
@keyframes sumBtnAnime {
	0%{
		transform: translate3d(0,0,0);
	}
	50%{
		transform: translate3d(0,-10px,0);
	}
	100%{
		transform: translate3d(0,0,0);
	}
}

/* 投票方法 */
.listVoting li{
	margin: 0 0 40px;
}
.listVoting__tit{
	margin: 0 0 20px;
	padding: 10px;
	font-size: 2.2rem;
	color: #1f2e5a;
	text-align: center;
	line-height: 1.2;
	border-radius: 23px;
	background-color: #faee3c;
}
@media screen and (max-width:640px){
	.listVoting li{
		margin: 0 0 30px;
	}
	.listVoting__tit{
		margin: 0 0 15px;
		font-size: 1.8rem;
		border-radius:31px;
	}
}

.dlVotingFlow{
	align-items: flex-start;
}
.dlVotingFlow dt{
	display: inline-block;
	width: 100px;
	padding: 10px;
	font-weight: bold;
	color:#fff;
	background-color: #e20012;
	text-align: center;
	line-height: 1.0;
}
.dlVotingFlow dd{
	width: calc(100% - 100px);
	padding:6px 0 25px 15px;
}
.dlVotingFlow dd:last-of-type{
	padding:6px 0 0 15px;
}
@media screen and (max-width:640px){
	.dlVotingFlow dt{
		width: 80px;
		padding: 6px;
	}
	.dlVotingFlow dd{
		width: calc(100% - 80px);
		padding:3px 0 15px 10px;
	}
	.dlVotingFlow dd:last-of-type{
		padding:3px 0 0 10px;
	}
}

/* ノミネート作品一覧 */
#nominate{
	margin: 6% 0;
	position: relative;
}

#nominate__tit{
	width: 850px;
	margin: 0 auto 50px;
}
@media screen and (max-width:640px){
	#nominate__tit{
		width: 100%;
		margin: 0 auto 30px;
	}
}

.nominate__bg{
	width: 100%;
	height: 100%;
	overflow: hidden;
	position: absolute;
	top: 0;
}
.nominate__bg_pk{
	background-color: #ff90ae;
	transform: skewY(-6deg);
}
.nominate__bg_pk::before{
	content: "";
	width: 100%;
	height: 200%;
	background: url("../images/ptn_dot.svg") center center repeat;
    background-size: 40px 40px;
	position: absolute;
	top:50%;
	transform: skewY(6deg) translateY(-50%);
	opacity: 0.3;
}
.nominate__bg_yelw{
	background-color: rgba(250,238,60,0.95);
	transform: skewY(6deg);
}
@media screen and (max-width:640px){
	.nominate__bg_pk::before{
		background-size: 20px 20px;
	}
}

.nomWork{
	margin: 0 0 100px;
}
.nomWork__titMain{
	margin: 0 0 30px;
	padding: 15px;
	font-size: 2.5rem;
	color: #fff;
	text-align: center;
	background-color: #1f2e5a;
	border-radius: 5px;
}
.nomWork__list{
	margin: 0 0 -25px;
}
.nomWork__list li{
	width: calc((100% - 40px)/3);
	margin: 0 20px 50px 0;
	text-align: center;
	position: relative;
}
.nomWork__list li:nth-of-type(3n){
	margin: 0 0 50px 0;
}
.nomWork__num{
	width: 62px;
	height: 65px;
	padding: 13px 0 0;
	font-family: 'Montserrat', sans-serif;
	font-weight: 600;
	color: #fff;
	line-height: 1.0;
	background: url("../images/bg_waveCircle.svg") center center no-repeat;
	position: absolute;
	top: -10px;
	left: -10px;
	z-index: 1;
}
.nomWork__num span{
	font-size: 2.5rem;
}
.nomWork__ph{
	margin: 0 0 20px;
	border: 6px solid #fff;
	box-shadow: 5px 5px 0 0 rgb(0 0 0 / 10%);
	position: relative;
}
.nomWork__ph::before {
    content: '';
    width: 25px;
    height: 25px;
    background: url(../images/ico_zoom.svg) no-repeat;
    position: absolute;
    right: 8px;
    bottom: 8px;
}
.nomWork__ph-gp::after {
    content: '';
    width: 220px;
    height: 224px;
    background: url(../images/pic_fukidashi.png) no-repeat center center / cover;
    position: absolute;
    right: -145px;
    bottom: -80px;
}
.gp_list .nomWork__ph::before{
	right: auto;
	left: 8px;
}
.nomWork__ph_none::before{
	display: none;
}
a.nomWork__modalBtn{
	display: block;
	cursor: pointer;
	transition: opacity 0.2s;
}
a.nomWork__modalBtn:hover{
	opacity: 0.7;
}
.nomWork__prefecture{
	display: inline-block;
	padding: 5px 15px;
	font-size: 1.3rem;
	font-weight: 700;
	color: #1f2e5a;
	background-color: #fff;
	border: 2px solid #1f2e5a;
	border-radius: 3px;
	line-height: 1.0;
}
.nomWork__tit{
	margin: 5px 0 0;
	font-size: 2.2rem;
	font-weight: 800;
	color: #1f2e5a;
}
.nomWork__txt{
	margin: 20px 0 0;
	text-align: left;
}
a.nomWork__btnBase{
	cursor: pointer;
}
@media screen and (max-width:640px){
	.nomWork{
		margin: 0 0 50px;
	}
	.nomWork__titMain{
		margin: 0 0 15px;
		padding: 10px;
		font-size: 2.0rem;
	}
	.nomWork__list{
		margin: 0 0 -15px;
	}
	.nomWork__list li{
		width: calc((100% - 15px)/2);
		margin: 0 15px 30px 0;
	}
	.nomWork__list li:nth-of-type(3n){
		margin: 0 15px 30px 0;
	}
	.nomWork__list li:nth-of-type(2n){
		margin: 0 0 30px 0;
	}

	.nomWork__num{
		width: 45px;
		height: 48px;
		padding: 10px 0 0;
		font-size: 1.0rem;
	}
	.nomWork__num span{
		font-size: 1.9rem;
	}
	.nomWork__ph{
		margin: 0 0 10px;
		border: 4px solid #fff;
		box-shadow: 3px 3px 0 0 rgb(0 0 0 / 10%);
	}
	.nomWork__ph::before {
		width: 18px;
		height: 18px;
		right: 5px;
		bottom: 5px;
	}
	.nomWork__ph-gp{
		width: 85%;
		margin: 0 auto 50px;
	}
	.nomWork__ph-gp::after {
		width: 128px;
		height: 131px;
		right: -35px;
	}
	.gp_list .nomWork__ph::before{
		left: 5px;
	}
	.nomWork__prefecture{
		padding: 5px 10px;
		font-size: 1.2rem;
	}
	.nomWork__tit{
		margin: 5px 0 0;
		font-size: 1.8rem;
	}
	.nomWork__txt{
		margin: 15px 0 0;
	}
	.nomWork__btnArea{
		padding: 10px 0 0;
	}
	.nomWork__btnBase{
		padding: 12px 10px;
		font-size: 1.6rem;
	}
	.nomWork__btnBase::after {
		right: 10px;
	}
}


/*
	結果発表（第3フェーズ）
-----------------------------------------------------------------------------------------------*/
/* サンキューメッセージ */
#thanks__tit{
	width: 800px;
	margin: 0 auto 40px;
}
@media screen and (max-width:640px){
	#thanks__tit{
		width: 100%;
		margin: 0 auto 20px;
	}
}

/* 結果発表 */
#result{
	margin: 80px 0 0;
}
.result__tit{
	width: 800px;
	margin: 0 auto 45px;
}
@media screen and (max-width:640px){
	#result{
		margin: 40px 0 0;
	}
	.result__tit{
		width: 100%;
		margin: 0 auto 30px;
	}
}

/* グランプリ */
#gp{
	margin: 0 0 70px;
}
.gp__tit{
	margin: 0 0 30px;
	padding: 18px 15px 15px;
	font-size: 4.0rem;
	color: #fff;
	text-align: center;
	background: linear-gradient(0deg, #EDAC06, #F7DE05, #ECB802, #EDAC06, #F7DE05, #ECB802);
	background: -webkit-linear-gradient(0deg, #EDAC06, #F7DE05, #ECB802, #EDAC06, #F7DE05, #ECB802);
	background: -ms-linear-gradient(0deg, #EDAC06, #F7DE05, #ECB802, #EDAC06, #F7DE05, #ECB802);
	border-radius: 5px;
	position: relative;
}
.gp__tit::before {
    content: "";
    width: 65px;
    height: 50px;
    background: url(../images/ico_gp.svg) center center no-repeat;
    background-size: cover;
    position: absolute;
    top: -32px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}
.nomWork__list_gp{
	margin: 0 0 30px;
}
.nomWork__list li.gp_list{
	width: 500px;
	margin: 0;
	position: relative;
}
.nomWork__list li.gp_list::before{
	content: "";
    width: 130px;
    height: 112px;
    background: url(../images/pic_confettiL.svg) center center no-repeat;
    background-size: cover;
    position: absolute;
    top: -75px;
    left: -80px;
    z-index: 10;
}
.nomWork__list li.gp_list::after{
	content: "";
    width: 130px;
    height: 112px;
    background: url(../images/pic_confettiR.svg) center center no-repeat;
    background-size: cover;
    position: absolute;
    top: -75px;
    right: -80px;
    z-index: 10;
}
.nomWork__prefecture_pg{
	font-size: 1.6rem;
}
.nomWork__tit_gp{
	font-size: 3.0rem;
}
.nomWork__name{
	margin: 10px 0 0;
	padding: 15px;
	font-size: 2.2rem;
	font-weight: bold;
	background-color: rgba(255,255,255,0.7);
	border-radius: 5px;
}
.nomWork__name span{
	font-size: 1.6rem;
}
@media screen and (max-width:640px){
	#gp{
		margin: 0 0 40px;
	}
	.gp__tit{
		margin: 0 0 15px;
		padding: 15px 10px 12px;
		font-size: 2.5rem;
	}
	.gp__tit::before {
		width: 40px;
		height: 31px;
		top: -20px;
	}
	.nomWork__list_gp{
		margin: 0 0 20px;
	}
	.nomWork__list li.gp_list{
		width: 100%;
	}
	.nomWork__list li.gp_list::before{
		display: none;
	}
	.nomWork__list li.gp_list::after{
		display: none;
	}
	.nomWork__prefecture_pg{
		font-size: 1.3rem;
	}
	.nomWork__tit_gp{
		font-size: 2.2rem;
	}
	.nomWork__name{
		padding: 10px;
		font-size: 1.6rem;
	}
	.nomWork__name span{
		font-size: 1.2rem;
	}
}

/* 入選 */
#prize{
	margin: 0 0 70px;
}
.nomWork__titMain_prize{
	padding: 20px 15px 15px;
	font-size: 3.0rem;
	/*background: linear-gradient(0deg, #b2b2b2, #c8c8c8, #dddddd, #b2b2b2, #dddddd, #b2b2b2);
	background: -webkit-linear-gradient(0deg, #b2b2b2, #c8c8c8, #dddddd, #b2b2b2, #dddddd, #b2b2b2);
	background: -ms-linear-gradient(0deg, #b2b2b2, #c8c8c8, #dddddd, #b2b2b2, #dddddd, #b2b2b2);*/
	background-color: #fb576b;
	position: relative;
}
.nomWork__titMain_prize::before {
    content: "";
    width: 40px;
    height: 56px;
    background: url(../images/ico_prize.svg) center center no-repeat;
    background-size: cover;
    position: absolute;
    top: -32px;
    left: 50%;
    transform: translateX(-50%);
    z-index: 10;
}
@media screen and (max-width:640px){
	#prize{
		margin: 0 0 40px;
	}
	.nomWork__titMain_prize{
		padding: 15px 10px 12px;
		font-size: 2.2rem;
	}
	.nomWork__titMain_prize::before {
		width: 28px;
		height: 38px;
		top: -22px;
	}
}

.ctsArea__greeting{
	padding: 0 30px 80px;
}
.greeting__tit{
	width: 700px;
	margin: 0 auto;
}
@media screen and (max-width:640px){
	.ctsArea__greeting{
	   padding: 20px 20px 30px;
	}
	.greeting__tit{
		width: 100%;
	}
}