@charset "UTF-8";

/* web font */
@font-face {
	font-family: "LINE Seed JP";
	font-weight: 300;
	src: url("../fonts/LINESeedJP_OTF_Th.woff") format("woff");
}
@font-face {
	font-family: "LINE Seed JP";
	font-weight: 500;
	src: url("../fonts/LINESeedJP_OTF_Rg.woff") format("woff");
}
@font-face {
	font-family: "LINE Seed JP";
	font-weight: 700;
	src: url("../fonts/LINESeedJP_OTF_Bd.woff") format("woff");
}
@font-face {
	font-family: "LINE Seed JP";
	font-weight: 900;
	src: url("../fonts/LINESeedJP_OTF_Eb.woff") format("woff");
}

/*
	Reset CSS
-----------------------------------------------------------------------------------------------*/
/***
    The new CSS reset - version 1.8.4 (last updated 14.2.2023)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
    all: unset;
    display: revert;
}
*,*::before,*::after {
    box-sizing: border-box;
}
a, button {
    cursor: revert;
	-webkit-tap-highlight-color: rgba(0,0,0,0);
}
ol, ul, menu {
    list-style: none;
}
img {
    max-inline-size: 100%;
    max-block-size: 100%;
	vertical-align: top;
	backface-visibility: hidden;
}
table {
    border-collapse: collapse;
}
input, textarea {
    -webkit-user-select: auto;
}
textarea {
    white-space: revert;
}
meter {
    -webkit-appearance: revert;
    appearance: revert;
}
:where(pre) {
    all: revert;
}
::placeholder {
    color: unset;
}
::marker {
    content: initial;
}
:where([hidden]) {
    display: none;
}
:where([contenteditable]:not([contenteditable="false"])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    -webkit-user-select: auto;
}
:where([draggable="true"]) {
    -webkit-user-drag: element;
}
:where(dialog:modal) {
    all: revert;
}


/*
	Setting CSS
-----------------------------------------------------------------------------------------------*/
html{
	font-size:62.5%;
}
body{
	font-size:1.6em;
	font-family: 'LINE Seed JP', 'Yu Gothic', YuGothic, 'Hiragino Kaku Gothic ProN', Meiryo, sans-serif;
	font-weight: 500;
	font-feature-settings: "palt";
	overflow-wrap: break-word;
}
p{
	line-height: 1.7;
}
a {
	color: var(--cmnBk);
	text-decoration: none;
	transition: color 0.2s, opacity 0.2s;
}
a:link {
	color: var(--cmnBk);
}
a:visited {
	color: var(--cmnBk);
}
@media (hover: hover) and (pointer: fine){
	a:hover {
		text-decoration: none;
		opacity: 0.7;
	}	
}
@media screen and (min-width:813px){
	/* iPad背景切れ対策 */
	body{
		min-width:1200px;
	}
	/* tel pcのみ無効 */
	a[href^="tel:"]{
		pointer-events:none;
	}
}
/* 表示切替 */
.switch {
	visibility: hidden;
}
.sp{
	display:none;
}
@media screen and (max-width:812px){
	body{
		font-size:1.5em;
		text-size-adjust:100%;
	}
	p{
		line-height: 1.5;
	}	
	.pc{
		display:none;
	}
	.sp{
		display:block;
	}
	br.sp{
		display:inline-block;
	}
}


/*
	common
-----------------------------------------------------------------------------------------------*/
:root{
	/* color */
	--cmnBk: #000;
	--cmnWh: #fff;
	--cmnGry: #eee;
	--cmnPk: #F0AFA0;
	--cmnRed: #E66D2E;
	--cmnGr: #299F2E;
	--cmnYl: #FFD22C;
	--cmnLbl: #42C0CD;
	--cmnBl: #0253A5;
	--red01: #ec552a;
	--red02: #F00;
	--gry: #aaa;
	--yellow: #fbed21;
	/* font-family */
	--en: 'Lato', sans-serif;
	/* font-weight */
	--light: 300;
	--medium: 500;
	--bold: 700;
	--black: 900;
}

/* wrapper */
#wrapper{
	background: url("../images/bg_wrapper.png") repeat center center;
	position: relative;
	overflow: hidden;
	/* z-index: 1; */
}
#wrapper::before{
	content: '';
	display: block;
	width: 1300px;
	height: 100%;
	margin: 0 auto;
	background: url("../images/pic_wrapper_pc.png") repeat-y top center;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: 0;
}
@media screen and (max-width:812px){
	#wrapper::before{
		width: 135%;
		max-width: 700px;
		background: url("../images/pic_wrapper_sp.png") repeat-y top center;
		background-size: 100%;
	}
}

/* ctsArea */
.ctsArea{
	width: 1200px;
	margin: 0 auto;
	padding: 80px 30px;
}
@media screen and (max-width:812px){
	.ctsArea{
		width: 100%;
		max-width: 500px;
		padding: 40px 20px;
	}
}

/* フォント */
.ftRed{
	color: var(--red02);
}

/* ボタン */
[class^="btnBase"]{
	display: flex;
	justify-content: center;
	padding-top: 30px;
	gap: 15px;
}
.btnBase_left{
	justify-content: flex-start;
}
[class^="btnBase__item"],
a[class^="btnBase__item"]{
	display: block;
	width: 400px;
	padding: 25px 65px 25px 25px;
	font-size: 1.8rem;
	font-weight: var(--bold);
	text-align: center;
	color: var(--cmnWh);
	border-radius: 40px;
	background-color: var(--cmnBl);
	position: relative;
}
[class^="btnBase__item"]::after,
a[class^="btnBase__item"]::after{
	content:' ';
	display:block;
	width:50px;
	height:50px;
	background: url("../images/arrow_bl.svg") center center no-repeat var(--cmnWh);
	background-size: 40%;
	border-radius: 50%;
	position:absolute;
	top:50%;
	right:15px;
	transform: translateY(-50%);
}
a.btnBase__item_red{
	background-color: var(--red01);
}
a.btnBase__item_red::after{
	background: url("../images/arrow_red.svg") center center no-repeat var(--cmnWh);
	background-size: 40%;
}
.btnBase__item_gry{
	background-color: var(--gry);
}
.btnBase__item_gry::after{
	background: url("../images/arrow_gry.svg") center center no-repeat var(--cmnWh);
	background-size: 40%;
}
@media screen and (max-width:812px){
	[class^="btnBase"]{
		flex-direction: column;
		padding-top: 15px;
		gap: 10px;
	}
	[class^="btnBase__item"],
	a[class^="btnBase__item"]{
		width: 100%;
		max-width: 400px;
		margin: 0 auto;
		padding: 20px 55px 20px 15px;
		font-size: 1.6rem;
	}
	[class^="btnBase__item"]::after,
	a[class^="btnBase__item"]::after{
		width:45px;
		height:45px;
		right:10px;
	}
}

/* テキストリンク */
a[class^="txtLink"]{
	text-decoration:underline;
	transition:color 0.2s;
}
a[class^="txtLink"]:hover{
	text-decoration:none;
	opacity: 1.0;
}
a.txtLink:hover{
	color:var(--cmnBk)
}
a.txtLink__arrow{
	padding-left: 20px;
	position: relative;
}
.txtLink__arrow:before{
	content: '';
	width: 17px;
	height: 17px;
	background: url("../images/arrow_wh.svg") center center no-repeat var(--cmnLbl);
	background-size: 10px 10px;
	border-radius: 50%;
	position:absolute;
	top: 4px;
	left:0;
}

/* タイトル */
.titCmn{
	margin-bottom: 30px;
	text-align: center;
	letter-spacing: -0.1rem;
}
.titCmn__jp{
	display: inline-block;
	font-size: 5.0rem;
	font-weight: var(--bold);
}
.titCmn__jp:nth-of-type(4n+1){
	color: var(--cmnLbl);
}
.titCmn__jp:nth-of-type(4n+2){
	color: var(--cmnRed);
}
.titCmn__jp:nth-of-type(4n+3){
	color: var(--cmnGr);
}
.titCmn__jp:nth-of-type(4n+4){
	color: var(--cmnPk);
}
.titCmn__en{
	display: block;
	font-weight: var(--bold);
	letter-spacing: 0.1rem;
}
.titLBar{
	margin: 0 0 10px;
	padding: 0 0 0 10px;
	font-size: 1.8rem;
	line-height: 1.2;
	font-weight: var(--bold);
	border-left: 5px solid var(--cmnRed);
}
@media screen and (max-width:812px){
	.titCmn{
		margin-bottom: 15px;
	}
	.titCmn__jp{
		font-size: 3.0rem;
	}
	.titCmn__en{
		font-size: 1.3rem;
	}
	.titLBar{
		font-size: 1.6rem;
	}
}


/*
	header
-----------------------------------------------------------------------------------------------*/
#header{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 30px;
	background-color: var(--cmnWh);
	position: relative;
}
.header__logoNissei{
	display: block;
	width: 180px;
}
.header__logoLand{
	display: block;
	width: 220px;
}
@media screen and (max-width:812px){
	#header{
		padding: 20px;
	}
	.header__logoNissei{
		width: 110px;
	}
	.header__logoLand{
		width: 150px;
	}
}


/*
	kv
-----------------------------------------------------------------------------------------------*/
#kv{
	width: 100%;
	min-height: 640px;
	position: relative;
	z-index: 1;
}
.kv__area{
	position: relative;
}
.kv__area img{
	width: 75%;
    max-width: 850px;
	min-height: 640px;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.kv__logo{
	filter: drop-shadow(0 0 10px rgba(0,0,0,.1));
}
.kv__bnr{
	width: 17%;
	max-width: 220px;
	filter: drop-shadow(0 0 10px rgba(0,0,0,.1));
	position: absolute;
	right: 2%;
	bottom: -18%;
}
@media screen and (max-width:812px){
	#kv{
		min-height: 450px;
	}
	.kv__area{
		width: 100%;
		height: 100%;
		position: relative;
	}
	.kv__area img{
		width: 100%;
		max-width: 450px;
		min-height: 280px;
		max-height: 450px;
		top: 50px;
	}
	.kv__bnr{
		width: 30%;
		max-width: 115px;
		right: 2%;
		bottom: -5%;
	}
}


/*
	schedule
-----------------------------------------------------------------------------------------------*/
#schedule{
	margin-top: -15px;
	position: relative;
}
#schedule::before{
	content: '';
	width: 105vw;
	height: 100%;
	border-radius: 100vw 100vw 0 0;
	background-color: var(--cmnLbl);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}
.schedule__ctsArea{
	text-align: center;
}
.schedule__copy{
	max-width: 580px;
	margin:  0 auto 30px;
	position: relative;
	z-index: 1;
}
.schedule__area{
	display: inline-block;
	padding: 20px 50px;
	background-color: var(--cmnWh);
	text-align: center;
	border-radius: 20px;
	position: relative;
}
.schedule__tit{
	display: inline-block;
	padding: 12px 30px;
	font-size: 1.8rem;
	font-weight: bold;
	color: var(--cmnWh);
	background-color: var(--cmnBl);
	border-radius: 21px;
	line-height: 1.0;
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
}
.schedule__txt{
	display: flex;
	justify-content: center;
	align-items: center;
}
.schedule__num{
	margin: 0 10px;
	font-size: 6.5rem;
	font-weight: var(--bold);
	line-height: 1;
}
.schedule__yobi{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	font-size: 2.0rem;
	color: var(--cmnWh);
	font-weight: var(--bold);
	background-color: var(--cmnBl);
	border-radius: 50%;
}
.schedule__notes{
	margin-top: 5px;
	font-size: 1.6rem;
	font-weight: var(--bold);
}
.schedule__pic{
	width: 20%;
	max-width: 150px;
	position: absolute;
	left: -7%;
	bottom: -65%;
}
.schedule__txtResult{
	font-size: 4.5rem;
	font-weight: var(--bold);
	line-height: 1.2;
}
.schedule__txtResult span{
	font-size: 5.5rem;
}
.schedule__txtResult span:first-of-type{
	color: var(--cmnBl);
}
.schedule__txtResult span:last-of-type{
	color: var(--red02);
}
@media screen and (max-width:812px){
	#schedule{
		margin-top: 0;
		background-color: var(--cmnLbl);
	}
	#schedule::before{
		display: none;
		content: '';
		width: 105vw;
		height: 100%;
		border-radius: 100vw 100vw 0 0;
		background-color: var(--cmnLbl);
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}
	.schedule__copy{
		width: 100%;
		max-width: 350px;
		margin: 0 auto 20px;
	}
	.schedule__area{
		width: 100%;
		padding: 15px;
		border-radius: 10px;
	}
	.schedule__tit{
		padding: 6px 20px;
		font-size: 1.3rem;
		top: -13px;
	}
	.schedule__num{
		margin: 0 6px;
		font-size: 3.4rem;
	}
	.schedule__yobi{
		width: 22px;
		height: 22px;
		font-size: 1.0rem;
	}
	.schedule__notes{
		font-size: 1.3rem;
	}
	.schedule__pic{
		width: 22%;
		left: -10px;
		bottom: -35%;
	}
	.schedule__txtResult{
		font-size: 2.5rem;
	}
	.schedule__txtResult span{
		font-size: 3.5rem;
	}
}


/*
	about
-----------------------------------------------------------------------------------------------*/
.about__area{
	width: 820px;
	margin: 0 auto;
	padding: 80px 0;
	position: relative;
	z-index: 1;
}
.about__area::before{
	content: '';
	width: 100%;
	height: 100%;
	background: url("../images/bg_about_triangle.svg") center center no-repeat;
	background-size: contain;
	position: absolute;
	top: 0;
	z-index: -1;
}
.about__txt{
	font-size: 1.8rem;
	font-weight: var(--bold);
	line-height: 2.5;
}
[class^="about__txtEm"]{
	font-size: 2.3rem;
	color: var(--cmnWh);
}
.about__txtEm01{
	text-shadow:
		3px 3px 2px var(--cmnBl), -3px -3px 2px var(--cmnBl),
		-3px 3px 2px var(--cmnBl),  3px -3px 2px var(--cmnBl),
		3px 0px 2px var(--cmnBl), -3px -0px 2px var(--cmnBl),
		0px 3px 2px var(--cmnBl),  0px -3px 2px var(--cmnBl);
}
.about__txtEm02{
	text-shadow:
		3px 3px 2px var(--cmnRed), -3px -3px 2px var(--cmnRed),
		-3px 3px 2px var(--cmnRed),  3px -3px 2px var(--cmnRed),
		3px 0px 2px var(--cmnRed), -3px -0px 2px var(--cmnRed),
		0px 3px 2px var(--cmnRed),  0px -3px 2px var(--cmnRed);
}
.about__img{
	width: 42%;
	max-width: 400px;
	filter: drop-shadow(0 0 10px rgba(0,0,0,.1));
	position: absolute;
	top: 5%;
	right: -5%;
}
.about__fukidahi{
	display: block;
	width: 17%;
	max-width: 180px;
	position: absolute;
	top: 32%;
	right: 0;
	cursor: pointer;
	filter: drop-shadow(0 0 10px rgba(0,0,0,.1));
	z-index: 10;
}
.about__btnArea{
	display: none;
}
@media screen and (max-width:812px){
	.about__area{
		width: 100%;
		margin: 0 auto;
		padding: 30px;
		background-color: var(--cmnYl);
		border-radius: 20px;
	}
	.about__area::before{
		display: none;
	}
	.about__txt{
		font-size: 1.6rem;
		line-height: 2.0;
	}
	[class^="about__txtEm"]{
		font-size: 1.7rem;
	}
	.about__img{
		width: 100%;
		margin: 15px auto 0;
		position: static;
	}
	.about__fukidahi{
		display: none;
	}
	.about__btnArea{
		display: block;
	}
}


/*
	結果発表
-----------------------------------------------------------------------------------------------*/
.award__tit{
	width: 940px;
	margin: 0 auto 50px;
}
@media screen and (max-width:812px){
	.award__tit{
		width: 100%;
		margin: 0 auto 15px;
	}
}
/* アンカーリンク */
.anker__list{
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	align-items: center;
	gap: 15px;
	margin-bottom: 60px;
	position: relative;
}
.anker__list li{
	width: calc((100% - 45px)/4);
}
a[class^="anker__btn"]{
	display: flex;
	justify-content: center;
	align-items: center;
	height: 100px;
	font-size: 2.2rem;
	font-weight: var(--bold);
	color: var(--cmnWh);
	background-color: var(--cmnPk);
	border-radius: 100%;
	line-height: 1.2;
	position: relative;
}
[class^="anker__btn"]::before{
	content: "";
	width: 15px;
	height: 8px;
	clip-path: polygon(0 0, 50% 100%, 100% 0);
    background-color: var(--cmnWh);
	position: absolute;
	left: 50%;
	bottom: 15px;
	transform: translateX(-50%);
}
a.anker__btn02{
	background-color: var(--cmnLbl);
}
a.anker__btn03{
	background-color: var(--cmnYl);
}
a.anker__btn04{
	background-color: var(--cmnGr);
}
@media screen and (max-width:812px){
	.anker__list{
		gap: 10px;
		margin-bottom: 30px;
	}
	.anker__list li{
		width: calc((100% - 10px)/2);
	}
	a[class^="anker__btn"]{
		height: auto;
		padding: 15px 10px 25px;
		font-size: 1.6rem;
		border-radius: 5px;
		text-align: center;
	}
	[class^="anker__btn"]::before{
		content: "";
		width: 12px;
		height: 6px;
		bottom: 10px;
	}
}

/* 優秀賞 */
.award__groupWrapper{
	display: flex;
	flex-direction: column;
	gap: 60px;
}
[class^="award__groupTit"]{
	margin-bottom: 40px;
	text-align: center;
	position: relative;
}
[class^="award__groupTit"]::before{
	content:' ';
	display:block;
	width:45px;
	height:30px;
	margin: 0 auto 10px;
	background:url(../images/ico_award.svg) no-repeat center center / cover;
}
[class^="award__groupTit"] span{
	display: inline-block;
	width: 500px;
	padding: 15px;
	font-size: 3.8rem;
	font-weight: var(--bold);
	color: var(--cmnWh);
	line-height: 1.2;
	background-color: var(--cmnPk);
	border-radius: 40px;
}
.award__groupTit02 span{
	background-color: var(--cmnLbl);
}
.award__groupTit03 span{
	background-color: var(--cmnYl);
}
.award__groupTit04 span{
	background-color: var(--cmnGr);
}
@media screen and (max-width:812px){
	.award__groupWrapper{
		gap: 40px;
	}
	[class^="award__groupTit"]{
		margin-bottom: 20px;
	}
	[class^="award__groupTit"]::before{
		width:35px;
		height:24px;
		margin: 0 auto 5px;
	}
	[class^="award__groupTit"] span{
		width: 100%;
		padding: 15px;
		font-size: 2.2rem;
	}
}

/* リスト */
.award__list{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.award__list li{
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
	justify-content: space-between;
	width: calc((100% - 40px)/3);
	position: relative;
}
.award__list li::before{
	content: "";
	width: 79px;
	height: 100px;
	background: url("../images/ico_medal.svg") no-repeat center center /cover;
	position: absolute;
	top: -15px;
	left: -10px;
	z-index: 10;
}
.award__listImg{
	border: 6px solid var(--cmnWh);
	filter: drop-shadow(0 0 10px rgba(0,0,0,.1));
	position: relative;
}
.award__listImg::before {
	content: '';
	width: 25px;
	height: 25px;
	background: url(../images/ico_zoom.svg) no-repeat;
	position: absolute;
	right: 8px;
	bottom: 8px;
}
.award__listTit{
	margin: 20px auto;
	font-size: 2.2rem;
	font-weight: var(--bold);
	color: #1f2e5a;
	text-align: center;
	line-height: 1.2;
}
.award__listName{
	padding: 15px;
	font-size: 2.0rem;
	font-weight: var(--bold);
	text-align: center;
	background-color: rgba(255,255,255,0.9);
	border-radius: 10px;
}
.award__listName span{
	font-size: 1.5rem;
}
@media screen and (max-width:812px){
	.award__list{justify-content: center;
		gap: 20px 15px;
	}
	.award__list li{
		width: calc((100% - 15px)/2);
	}
	.award__list li::before{
		width: 40px;
		height: 51px;
		top: -10px;
		left: -5px;
	}
	.award__listImg{
		border: 4px solid var(--cmnWh);
	}
	.award__listImg::before {
		width: 18px;
		height: 18px;
		right: 5px;
		bottom: 5px;
	}
	.award__listTit{
		margin: 10px auto;
		font-size: 1.8rem;
	}
	.award__listName{
		padding: 10px;
		font-size: 1.6rem;
		border-radius: 5px;
	}
	.award__listName span{
		font-size: 1.3rem;
	}
}


/*
	プレゼント
-----------------------------------------------------------------------------------------------*/
#present{
	position: relative;
}
.present__area{
	padding-top: 80px;
	position: relative;
	z-index: 1;
}
.present__area::before{
	content: '';
	width: 72%;
	height: 95%;
	border-radius: 50%;
	background-color: var(--cmnRed);
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}
.present__area::after{
	content: '';
	width: 120px;
	height: 80px;
	background: url("../images/ico_crown.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
	top: -60px;
	left: 50%;
	transform: translateX(-50%);
}
.present__tit{
	margin-bottom: 20px;
	font-size: 5.0rem;
	font-weight: var(--bold);
	text-align: center;
	color: var(--cmnWh);
	line-height: 1.2;
	position: relative;
}
.present__tit::before,
.present__tit::after{
	content: '';
	width: 200px;
	height: 137px;
	background: url("../images/ico_flag.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
}
.present__tit::before{
	top: -70px;
	left: 17%;
}
.present__tit::after{
	top: -70px;
	right: 17%;
	transform: scale(-1, 1);
}
.present__titEm{
	font-size: 6.0rem;
	color: var(--yellow);
}
.present__txt{
	margin-bottom: 30px;
	font-size: 1.8rem;
	font-weight: var(--bold);
	text-align: center;
	color: var(--cmnWh);
}
.present__groupList{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	position: relative;
}
.present__groupList::before{
	content: '';
	width: 89px;
	height: 114px;
	background: url("../images/ico_star03.svg") center center no-repeat;
	background-size: cover;
	position: absolute;
	top: 120px;
	right: 70px;
}
.present__groupList li{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	width: 240px;
	height: 100px;
	padding-top: 5px;
	font-size: 2.2rem;
	font-weight: var(--bold);
	color: var(--cmnWh);
	background-color: var(--cmnPk);
	border-radius: 100%;
	line-height: 1.2;
}
.present__groupList li span{
	font-size: 1.7rem;
}
.present__groupList li:nth-of-type(2){
	background-color: var(--cmnLbl);
}
.present__groupList li:nth-of-type(3){
	background-color: var(--cmnYl);
}
.present__groupList li:nth-of-type(4){
	background-color: var(--cmnGr);
}
.present__list{
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 85px;
	position: relative;
}
.present__list::before,
.present__list::after{
	content:' ';
	position: absolute;
	z-index: 1;
}
.present__list::before{
	width: 74px;
	height: 123px;
	background: url("../images/ico_star01_pc.svg") center center no-repeat;
	background-size: cover;
	top: 30px;
	left: 80px;
}
.present__list::after{
	width: 103px;
	height: 112px;
	background: url("../images/ico_star02.svg") center center no-repeat;
	background-size: cover;
	left: 48%;
	bottom: -5px;
}
.present__list li{
	display: inline-block;
	width: 350px;
	position: relative;
}
.present__list li::before,
.present__list li::after{
	content:' ';
	display:block;
	width:15px;
	height:75px;
	background-color: var(--cmnBk);
	position: absolute;
	top: 150px;
	right: -60px;
	z-index: 1;
}
.present__list li::after{
	transform: rotate(90deg);
}
.present__list li:last-of-type::before,
.present__list li:last-of-type::after{
	display: none;
}
.present__listPh{
	margin: 0 auto 15px;
}
.present__listPh img{
	filter: drop-shadow(0 0 10px rgba(0,0,0,.1));
}
.present__listTxt{
	font-size: 2.0rem;
	font-weight: var(--bold);
	text-align: center;
	line-height: 1.2;
}
@media screen and (max-width:812px){
	.present__area{
		padding: 40px 20px 30px;
		background-color: var(--cmnRed);
		border-radius: 20px;
	}
	.present__area::before{
		display: none;
	}
	.present__area::after{
		width: 60px;
		height: 40px;
		top: -25px;
	}
	.present__tit{
		margin-bottom: 15px;
		font-size: 2.5rem;
	}
	.present__tit::before,
	.present__tit::after{
		width: 100px;
		height: 69px;
	}
	.present__tit::before{
		top: -45px;
		left: -30px;
	}
	.present__tit::after{
		top: -45px;
		right: -30px;
	}
	.present__titEm{
		font-size: 2.6rem;
	}
	.present__txt{
		margin-bottom: 20px;
		font-size: 1.5rem;
	}
	.present__groupList{
		flex-wrap: wrap;
		margin-bottom: 30px;
		gap: 10px;
	}
	.present__groupList::before{
		width: 55px;
		height: 71px;
		top: auto;
		bottom: -70px;
		right: -25px;
	}
	.present__groupList li{
		width: calc((100% - 10px)/2);
		height: auto;
		min-height: 80px;
		padding: 10px;
		font-size: 1.6rem;
		border-radius: 5px;
		text-align: center;
	}
	.present__groupList li span{
		font-size: 1.3rem;
	}
	.present__list{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap: 50px;
	}
	.present__list::before{
		width: 50px;
		height: 83px;
		background: url("../images/ico_star01_sp.svg") center center no-repeat;
		background-size: cover;
		top: 240px;
		left: 0;
	}
	.present__list::after{
		width: 70px;
		height: 77px;
		left: auto;
		right: -5px;
		bottom: 15px;
	}
	.present__list li{
		width: 100%;
		max-width: 250px;
	}
	.present__list li::before,
	.present__list li::after{
		width:10px;
		height:40px;
		top: auto;
		bottom: -50px;
		right: 50%;
	}
	.present__listPh{
		margin: 0 auto 15px;
	}
	.present__listTxt{
		font-size: 1.8rem;
	}
}


/*
	listSquare
-----------------------------------------------------------------------------------------------*/
.listSquare{
	display: flex;
	flex-wrap: nowrap;
	margin: 50px 0;
}
.listSquare li{
	display: block;
	width: 120px;
	margin-right: 20px;
}
.listSquare li:nth-of-type(odd){
	margin-top: 20px;
}
.listSquare .slick-list{
	overflow: visible;
}
@media screen and (max-width:812px){
	.listSquare{
		margin: 20px 0;
	}
	.listSquare li{
		width: 70px;
		margin-right: 10px;
	}
	.listSquare li:nth-of-type(odd){
		margin-top: 10px;
	}
}


/*
	概要
-----------------------------------------------------------------------------------------------*/
.app__bg{
	background-image: linear-gradient(#f6f6f6 1px, transparent 0),linear-gradient(90deg, #f6f6f6 1px, transparent 0);
	background-size: 15px 15px;
}
.app__area{
	width: 1000px;
	margin: 0 auto 80px;
	position: relative;
}
.app__area:first-of-type{
	padding-top: 55px;
}
.app__area:last-of-type{
	margin-bottom: 0;
}
.app__box{
	padding: 60px;
	border-radius: 50px;
	/* background-color: var(--cmnWh); */
	background-color: #f8edcd;
	position: relative;
}
@media screen and (max-width:812px){
	#app.ctsArea{
		padding: 40px 20px 90px;
	}
	.app__area{
		width: 100%;
		margin: 0 auto 40px;
	}
	.app__area:first-of-type{
		padding-top: 50px;
	}
	.app__area:last-of-type{
		margin-bottom: 50px;
	}
	.app__box{
		padding: 30px 20px;
		border-radius: 20px;
	}
}

/* table */
.tblBase{
	width:100%;
	border-collapse:collapse;
	/* border-top:1px solid var(--cmnGry); */
	border-top:1px solid var(--cmnWh);
	/* border-bottom:1px solid var(--cmnGry); */
	border-bottom:1px solid var(--cmnWh);
}
.tblBase th,.tblBase td{
	padding:30px 0;
	font-size: 1.6rem;
	line-height:1.6;
	/* border-bottom:1px solid var(--cmnGry); */
	border-bottom:1px solid var(--cmnWh);
}
.tblBase th{
	width:180px;
	font-size: 1.8rem;
	font-weight: var(--bold);
	color: var(--cmnBl);
	text-align: left;
	vertical-align: top;
}
[class^="tblBase__cts"]{
	margin-bottom: 40px;
}
[class^="tblBase__cts"]:last-of-type{
	margin: 0;
}
.tblBase__ctsFlex{
	display: flex;
	gap: 20px;
}
[class^="tblBase__txt"]{
	width: 410px;
}
[class^="tblBase__ph"]{
	width: 200px;
}
.tblBase__txt02{
	width: 380px;
}
.tblBase__ph02{
	width: 300px;
}
@media screen and (max-width:812px){
	.tblBase{
		width:100%;
		border-top:none;
	}
	.tblBase tr,.tblBase th,.tblBase td{
		display:block;
	}
	.tblBase th,.tblBase td{
		width:100%;
		font-size: 1.5rem;
	}
	.tblBase th{
		min-width:auto;
		padding:6px 10px;
		font-size: 1.6rem;
		border-top:1px solid #bec6c6;
		border-bottom:none;
		text-align: center;
		background-color: var(--cmnWh);
	}
	.tblBase td{
		padding:15px 0 30px 0;
		border-bottom:none;
	}
	.tblBase__cts{
		margin-bottom: 25px;
	}
	.tblBase__ctsFlex{
		flex-direction: column;
		gap: 15px;
	}
	[class^="tblBase__txt"]{
		width: 100%;
	}
	[class^="tblBase__ph"]{
		width: 60%;
		max-width: 200px;
		margin: 0 auto;
	}
	.tblBase__txt02{
		width: 100%;
	}
	.tblBase__ph02{
		width: 100%;
		max-width: 250px;
	}
}

/* list */
.listBase{
	display: flex;
	flex-direction: column;
	gap: 5px;
	position:relative;
}
[class^="listBase__item"]{
	padding-left: 18px;
	position: relative;
}
[class^="listBase__item"]::before {
	content:'●';
	font-size:1.2rem;
	color: var(--cmnLbl);
	position:absolute;
	top: 2.5px;
	left:0;
}
.listBase__item_notes{
	color: var(--red02)
}
.listBase__item_notes::before {
	content:'※';
	font-size:1.6rem;
	color: var(--red02);
	position:absolute;
	top: 0;
	left:0;
}

/* notes */
.notes{
	margin-top: 5px;
}

/* 応募方法 */
.entry{
	display: flex;
	flex-wrap: wrap;
}
.entry__txtArea{
	width: 550px;
	margin-right: -30px;
	position: relative;
	z-index: 1;
}
.entry__txt{
	padding-top: 15px;
	font-size: 1.7rem;
	font-weight: var(--bold);
	line-height: 2.0;
}
.entry__img{
	width: 360px;
	filter: drop-shadow(0 0 10px rgba(0,0,0,.1));
}
.entry__em{
	display: inline-block;
	margin-bottom: 10px;
	padding: 10px;
	font-size: 3.2rem;
	color: var(--cmnWh);
	font-weight: var(--bold);
	line-height: 1.0;
	letter-spacing: 0.1rem;
	background-color: var(--cmnRed);
	border-radius: 5px;
}
.entry__em:nth-of-type(2){
	background-color: var(--cmnLbl);
}
.entry__em:nth-of-type(3){
	background-color: var(--cmnGr);
}
.entry__em:nth-of-type(4){
	background-color: var(--cmnPk);
}
@media screen and (max-width:812px){
	.entry{
		flex-direction: column;
		gap: 15px;
	}
	.entry__txtArea{
		width: 100%;
		margin-right: 0;
	}
	.entry__tit{
		text-align: center;
	}
	.entry__txt{
		padding-top: 0;
		font-size: 1.5rem;
	}
	.entry__img{
		width: 100%;
		max-width: 220px;
		margin: 0 auto;
	}
	.entry__em{
		margin-bottom: 8px;
		padding: 10px 8px;
		font-size: 1.7rem;
		letter-spacing: 0;
	}
}


/*
	modal
-----------------------------------------------------------------------------------------------*/
/* 結果発表 */
.award__modalBox {
	display: none;
	width: 80%;
	max-width: 750px;
    position: fixed;
    z-index: 7777;
}
.award__modalCts{
	max-height: 90vh;
	padding: 60px;
	background: url("../images/bg_wrapper.png") repeat center center;
	border-radius: 30px;
	overflow-y: scroll;
}
.award__modalImg{
	width: 80%;
	margin: 0 auto 20px;
	border: 10px solid #fff;
	filter: drop-shadow(0 0 10px rgba(0,0,0,.1));
	position: relative;
}
.award__modalTit{
	margin: 30px auto 20px;
	font-size: 2.6rem;
	color: #1f2e5a;
	font-weight: var(--bold);
	text-align: center;
	line-height: 1.2;
}
.award__modalName{
	max-width: 300px;
	margin: 0 auto;
	padding: 15px 30px;
	font-size: 2.0rem;
	font-weight: var(--bold);
	text-align: center;
	background-color: rgba(255,255,255,0.7);
	border-radius: 10px;
}
.award__modalName span{
	font-size: 1.5rem;
}
.award__modalTxt{
	margin-top: 30px;
	padding-top: 30px;
	border-top: 2px dotted #1f2e5a;
}
@media screen and (max-width:812px){
	.award__modalBox {
		width: calc(100% - 40px);
		max-width: 500px;
	}
	.award__modalCts{
		max-height: 90vh;
		padding: 30px;
		border-radius: 15px;
	}
	.award__modalImg{
		width: 100%;
		max-width: 300px;
		margin: 0 auto 15px;
		border: 5px solid #fff;
	}
	.award__modalTit{
		margin: 20px auto;
		font-size: 2.0rem;
	}
	.award__modalName{
		padding: 15px;
		font-size: 1.8rem;
		border-radius: 5px;
	}
	.award__modalName span{
		font-size: 1.4rem;
	}
	.award__modalTxt{
		margin-top: 20px;
		padding-top: 20px;
	}
}

/* modal_bg */
.modal_bg {
	display: none;
	width: 100%;
	height: 120%;
	background: var(--cmnWh);
    position: fixed;
    top: 0;
    left: 0;
    z-index: 6666;
	opacity: 0.95;
	cursor: zoom-out;
}
/* modal_open */
.modal_open{
	cursor: pointer;
}
/* modal_close */
.modal_close {
	width: 55px;
	height: 55px;
	background-color: var(--cmnBl);
	border-radius: 50%;
    position: absolute;
    top: -15px;
    right: -15px;
	z-index: 10;
	cursor: zoom-out;
}
.modal_close::before,
.modal_close::after{
	content: '';
	width: 1px;
	height: 20px;
	background-color: var(--cmnWh);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
}
.modal_close::after{
	transform: translate(-50%, -50%) rotate(-45deg);
}
@media screen and (max-width:812px){
	.modal_close {
		width: 45px;
		height: 45px;
		top: -10px;
		right: -10px;
	}
	.modal_close::before,
	.modal_close::after{
		height: 15px;
	}
}
/* 応募概要 */
.app__modal{
	display: none;
    position: fixed;
    z-index: 7777;
}
.app__areaWrapper{
	width: 1000px;
	height: 100vh;
	padding: 80px 0;
	overflow-y: scroll;
}
.app__areaWrapper::-webkit-scrollbar{
	display: none;
  }
.app__modal .modal_close{
	top: 0;
	right: 0;
}
@media screen and (max-width:812px){
	.app__areaWrapper{
		width: calc(100vw - 40px);
		max-width: 500px;
		height: 100vh;
		padding: 50px 0;
		overflow-y: scroll;
	}
}


/*
	greeting
-----------------------------------------------------------------------------------------------*/
.greeting__img{
	display: block;
	width: 60%;
	margin: 0 auto;
}
@media screen and (max-width:812px){
	.greeting__img{
		width: 100%;
		max-width: 380px;
	}
}


/*
	pageTop
-----------------------------------------------------------------------------------------------*/
.pageTop{
	display: flex;
	justify-content: center;
	align-items: center;
	width:80px;
	height:80px;
	margin: 0 0 30px 0;
	background-color: var(--cmnBl);
	border-radius: 50%;
	filter: drop-shadow(0 0 10px rgba(0,0,0,.1));
	position: absolute;
	right: 30px;
	z-index: 99;
}
.pageTop::after{
	content:' ';
	width: 100%;
	height: 100%;
	display:block;
	width:50px;
	height:50px;
	background: url("../images/arrow_wh.svg") center center no-repeat;
	background-size: 50%;
	transform: rotate(-90deg);
}
@media screen and (max-width:812px){
	.pageTop{
		width:60px;
		height:60px;
		margin: 0 0 15px 0;
		right: 15px;
	}
	.pageTop::after{
		width:40px;
		height:40px;
	}
}


/*
	footer
-----------------------------------------------------------------------------------------------*/
#footer{
	display: flex;
	flex-direction: column;
	gap: 15px;
	padding: 36px 30px 30px;
	background-color: var(--cmnWh);
	position: relative;
}
#footer::after{
	content: "";
	width: 100%;
	height: 6px;
	background: repeating-linear-gradient(to right, #F0AFA0 0%, #F0AFA0 10%, #E66D2E 10%, #E66D2E 20%, #299F2E 20%, #299F2E 30%, #FFD22C 30%, #FFD22C 40%, #42C0CD 40%, #42C0CD 50%);
	position: absolute;
	top: 0;
	left: 0;
}
.footer__top{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.footer__btm{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-direction: row-reverse;
}
a.footer__txtLink{
	padding-left: 20px;
	position: relative;
}
.footer__txtLink::before{
	content: "";
	width: 15px;
	height: 15px;
	border-radius: 50%;
	background: var(--cmnBk);
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	left: 0;
}
.footer__txtLink::after{
	content: "";
	width: 4px;
	height: 4px;
	border-top: 1px solid var(--cmnWh);
	border-right: 1px solid var(--cmnWh);
	position: absolute;
	top: 50%;
	transform: translateY(-50%) rotate(45deg);
	left: 5px;
}
.footer__copyright{
	font-size: 1.2rem;
}
@media screen and (max-width:812px){
	#footer{
		text-align: center;
		gap: 10px;
		padding: 30px 20px 25px;
	}
	#footer::after{
		height: 5px;
	}
	.footer__top{
		flex-direction: column;
		gap: 5px;
	}
	.footer__btm{
		flex-direction: column;
		gap: 10px;
	}
}

#footer__list{
	display: flex;
	flex-wrap: wrap;
}
#footer__list li{
	margin-right: 15px;
	padding-right: 15px;
	font-size: 1.3rem;
	position: relative;
}
#footer__list li:last-of-type{
	margin-right: 0;
	padding-right: 0;
}
#footer__list li::after{
	content:'|';
	position: absolute;
	right: 0;
}
#footer__list li a{
	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:812px){
	#footer__list{
		justify-content: center;
	}
}