@charset "utf-8";
:root{
	--default-color-black: #2c2a29;
	--content-width-sp: 88vw;
	--content-color-blue: #07b0e9;
	--content-color-green: #5ecd2d;
	--content-color-navy: #063a98;
	--content-color-line: #06c755;
	--content-border_yellow: linear-gradient(transparent 70%, #ffe300 0%);
}

.nosp{
  display: none
}
.contents {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 500;
	font-size: 3.4vw;
	line-height: 1.5;
	color: var(--default-color-black);
	a {
		text-decoration: none;
	}
	img {
        width: 100%;
    }
	.inner {
		width: var(--content-width-sp);
        margin: 0 auto;
	}
}

/*------------------------------------------------
	メインビジュアル
--------------------------------------------------*/
#mainvisual {
	width: 100%;
	height: calc(980vw / 7.5);
	text-align: center;
    background: url("../images/main-bg-sp.jpg") no-repeat top center / 100%;
	position: relative;
	.inner {
		width: 100vw;
	}
	.kikan {
		position: absolute;
		bottom: 0;
		width: 100%;
	}
	.bnr-20bai {
		position: absolute;
		right: 0px;
		bottom: -13vw;
		width: 28vw;
		a {
			display: block;
		}
	}
}

/*------------------------------------------------
	景品
--------------------------------------------------*/
#prize {
    width: 100%;
    padding: 24vw 0 10vw;
    background: linear-gradient(to right,  var(--content-color-green) 50%, var(--content-color-blue) 50%);
	.prize-box {
		width: 100%;
		background-color: #fff;
		padding: 13vw 6vw 5vw;
		border-radius: 20px;
		position: relative;
		h2 {
			text-align: center;
			position: absolute;
			top: -13vw;
			right: 0;
			left: 0;
			width: 86vw;
			margin: 0 auto;
		}
	}
	.prize-list {
		width: 100%;
		li {
			width: 100%;
			&:first-child {
				border-bottom: 2px dashed #ccc;
				padding-bottom: 5vw;
				margin-bottom: 5vw;
			}
			.title {
				text-align: center;
				margin-bottom: 5vw;
			}
			.movie {
				width: 100%;
				padding: 3vw 0;
				iframe {
					width: 100%;
					height: 42vw;
					border: none;
				}
			}
			.text {
				width: 100%;
				min-height: 33vw;
				padding: 3vw 0 0 0;
				font-weight: 900;
				.f-small {
					display: block;
					font-size: 5vw;
					line-height: 1.0;
				}
				.f-large {
					display: block;
					font-size: 6.2vw;
					line-height: 1.3;
					margin-bottom: 15px;
					mark {
						background: var(--content-border_yellow);
						color: var(--default-color-black);
					}
				}
				.person {
					display: inline-block;
					font-size: 3.6vw;
					font-weight: 700;
					letter-spacing: 0.05em;
					padding: 0 1vw 0.5vw;
					color: #fff;
					.gw & {
						background-color: #3B871B;
					}
					.sm & {
						background-color: #037FA9;
					}
				}
				.dpt {
					font-size: 3.4vw;
					font-weight: 700;
				}
				.note {
					display: block;
					font-size: 2.8vw;
					font-weight: 500;
					padding-top: 3vw;
				}
				&.gw {
					background: url("../images/item01-bg.png") no-repeat right top / contain;
				}
				&.sm {
					background: url("../images/item02-bg.png") no-repeat right top / contain;
				}
			}
		}
	}
}

/*------------------------------------------------
	応募方法1
--------------------------------------------------*/
#oubo1 {
    width: 100%;
    padding: 10vw 0;
	.oubo-box {
		background-color: #fff;
		padding: 5vw;
		border-radius: 5vw;
		border: solid 1.3vw var(--content-color-navy);
	}
	h2 {
		color: var(--content-color-navy);
		text-align: center;
		margin-bottom: 3vw;
		span {
			font-size: 5.8vw;
			font-weight: 900;
			&::before,&::after {
				content: "";
				display: inline-block;
				width: 6vw;
				height: 8vw;
				background: url("../images/title-before-blue.png") no-repeat;
				background-size: contain;
				margin: 0 1vw;
				background-position: bottom;	
			}
			&::after {
				transform: scaleX(-1);
			}
		}
	}
	.flex-box {
		width: 100%;
		li {
			display: flex;
			flex-wrap: wrap;
			align-items: center;
			background-color: #f4f4f4;
			border-radius: 3vw;
			padding-bottom: 5vw;
			margin-bottom: 8vw;
			position: relative;
			&::after {
				content: "▼";
				text-align: center;
				font-size: 6vw;
				position: absolute;
				bottom: -8vw;
				right: 0;
				left: 0;
				color: var(--content-color-navy);
			}
			&:last-child {
				margin-bottom: 0;
				&::after {
					content: none;
				}
			}
		}
		h3 {
			width: 100%;
			background-color: var(--content-color-navy);
			color: #fff;
			font-size: 4.0vw;
			letter-spacing: 0.1em;
			line-height: 1.8;
			border-top-left-radius: 3vw;
			border-top-right-radius: 3vw;
			text-align: center;
			margin-bottom: 5vw;
		}
		.icon {
			width: 30%;
			padding-left: 5vw;
			img {
				width: 15vw;
			}
		}
		.text {
			width: 70%;
			font-size: 3.6vw;
			padding-right: 5vw;
		}
		.btn {
			width: 62vw;
			margin: 5vw auto 0;
			a {
				display: block;
				background-image: linear-gradient(90deg, rgb(255, 122, 0), rgb(222, 0, 175));
				color: #fff;
				font-size: 3.6vw;
				font-weight: 600;
				text-align: center;
				padding: 3vw 0;
				border-radius: 7vw;
				position: relative;
				&::after {
					font-family: "Material Symbols Rounded";
					font-weight: 400;
					content: "\e5cc";
					position: absolute;
					right: 3vw;
					top: 1vw;
					font-size: 6vw;
				}
			}
		}
	}
}

/*------------------------------------------------
	応募方法2
--------------------------------------------------*/
#oubo2 {
    width: 100%;
    padding: 0 0 10vw;
	.oubo-box {
		border-radius: 5vw;
		background-color: #fffbdc;
		.title-box {
			background-color: #fde21f;
			border-top-left-radius: 5vw;
			border-top-right-radius: 5vw;
			padding: 2vw 0 4vw;
			text-align: center;
			position: relative;		
			h2 {
				text-align: center;
				margin-bottom: 3vw;
				display: inline-flex;
				align-items: end;
				span {
					font-size: 5.6vw;
					line-height: 1.3;
					font-weight: 900;
					.strong {
						font-size: 10vw;
						vertical-align: -.5vw;
						color: #ff2511;		
					}
				}
			}		
			.note {
				font-size: 2.8vw;
				font-weight: 500;
			}
			.line20bai {
				position: absolute;
				left: -4vw;
				top: 17vw;
				width: 24vw;
			}
		}
	}
	.flex-box {
		width: 100%;
		padding: 5vw;
		li {
			background-color: #fff;
			border-radius: 3vw;
			padding-bottom: 5vw;
			margin-bottom: 8vw;
			position: relative;
			&::after {
				content: "▼";
				text-align: center;
				font-size: 6vw;
				position: absolute;
				bottom: -8vw;
				right: 0;
				left: 0;
				color: var(--content-color-line);
			}
			&:last-child {
				margin-bottom: 0;
				&::after {
					content: none;
				}
			}
			&:nth-child(1) {
				display: flex;
				flex-wrap: wrap;
				align-items: center;    
			}
		}	
		h3 {
			width: 100%;
			background-color: var(--content-color-line);
			color: #fff;
			font-size: 4.0vw;
			letter-spacing: 0.1em;
			line-height: 1.8;
			border-top-left-radius: 3vw;
			border-top-right-radius: 3vw;
			text-align: center;
			margin-bottom: 5vw;
		}
		.icon {
			width: 30%;
			padding-left: 5vw;
			img {
				width: 15vw;
			}
		}
		.text {
			font-size: 3.6vw;
			padding: 0 5vw;
			
		}
		li:nth-child(1) .text {
			width: 70%;
			padding: 0 5vw 0 0;
			
		}	
		.btn {
			width: 62vw;
			margin: 5vw auto 0;
			a {
				display: block;
				background-color: var(--content-color-line);
				color: #fff;
				font-size: 3.6vw;
				font-weight: 600;
				text-align: center;
				padding: 3vw 0;
				border-radius: 7vw;
				position: relative;
				&::after {
					font-family: "Material Symbols Rounded";
					font-weight: 400;
					content: "\e5cc";
					position: absolute;
					right: 3vw;
					top: 1vw;
					font-size: 6vw;
				}
			}
		}
		.capture {
			width: 60vw;
			margin: 3vw auto 0;
		}
	}
}

/*------------------------------------------------
	応募要項
--------------------------------------------------*/
#info {
    width: 100%;
    background-color: #f4f4f4;
    padding: 2vw 0 10vw;
	h2 {
		text-align: center;
		font-size: 4.5vw;
		font-weight: 700;
		line-height: 1.8;
		border-bottom: solid 1vw #333;
		margin: 5vw 0;
		&:not(:first-of-type) {
			padding-top: 5vw;
		}
	}
	h3 {
		font-size: 3.6vw;
		font-weight: bold;
		border-left: solid 1.3vw #333;
		padding-left: 1vw;
		margin: 2vw 0 1vw;
	}
	h4 {
		margin-top: 1.4vw;
		font-weight: 600;
	}
	ul li {
		position: relative;
		padding-left: 2vw;
		&::before {
			font-family: "Material Symbols Rounded";
			font-weight: 400;
			content: "\e5df";
			position: absolute;
			top: -2.0vw;
			left: -2.5vw;
			font-size: 6vw;
		}
		.note & {
			padding-left: 0;
			&::before {
				display: none;
			}
		}
	}
	.scroll {
		height: 100vw;
		overflow-y: scroll;
		background-color: #fff;
		font-size: 3.3vw;
		padding: 5vw 3vw;
		-webkit-overflow-scrolling: touch;
	}
}

/*------------------------------------------------
	SNS
--------------------------------------------------*/
#footLink {
    width: 100%;
    padding: 7vw 0 0;
    text-align: center;
	h2 {
		text-align: center;
		margin-bottom: 5vw;
		span {
			font-size: 4.0vw;
			font-weight: 700;
		}
		&::before,&::after {
			content: "";
			display: inline-block;
			width: 5vw;
		    height: 7vw;
			background: url("../images/title-before-black.png") no-repeat;
			background-size: contain;
			margin: 0 2vw;
			background-position: bottom;
		}
		&::after {
			transform: scaleX(-1);
		}
	}
	.snslist {
		display: flex;
		justify-content: center;
		li {
			width: 10vw;
			height: 10vw;
			margin: 0 2vw;
			img {
				width: 100%;
			}
		}
	}
}

/*------------------------------------------------
        LINEお友達登録ボタン
--------------------------------------------------*/
.line-wrap-simple {
    padding: 0;/*ページによって調整*/
}
.line-wrap-detail {
    padding: 10vw 0 0;/*ページによって調整*/
	background-color: #fff;
}
.line-inner {
    width: 94vw;
    margin: 0 auto;
    text-align: center;
    line-height: 1.5;
}
.line-wrap-detail .line-inner {
    background: #fcfff6;/*ページによって調整*/
    border: solid 1px #d3d3d3;
}
.line-inner .fukidashi {
    font-size: 4.1vw;
    font-weight: bold;
    margin-bottom: 2vw;
}
.line-inner .head {
    background-color: #06C755;
    padding: 2vw 0;
    color: #fff;
    font-size: 4.3vw;
    font-weight: bold;
}
.line-inner .textarea {
    padding: 4vw 2vw 2vw;
}
.line-inner .btnarea {
    padding: 2vw 2vw 5vw;
}
.line-inner .text1 {
    font-size: 3.6vw;
    line-height: 1.5;
}
.line-inner .text1 span {
    display: inline-block;
    font-weight: bold;
    color: #DF0D00;
}
.line-inner .text2 {
    font-size: 4.1vw;
    font-weight: bold;
    background: linear-gradient(transparent 60%, #fff231 0%);
    line-height: 1.8;     
    display: inline-block;
}
.line-button {
    margin: 0 auto;
}
.line-wrap-simple .line-button {width: 90vw;}
.line-wrap-detail .line-button {width: 80vw;}

.line-button a {
    display: block;
    color: #fff;
    font-size: 3.5vw;
    font-weight: bold;
    border-radius: 8vw;
    box-shadow: 0px 3px 0px 0 rgba(0, 0, 0, .14);
    background: url(/kansai/images/icon/icon-linekansai.png) no-repeat;
    background-size: 12vw;
    background-position: 3vw;
    background-color: #06C755;
    padding: 2.4vw 4vw 1.8vw 16vw;
    position: relative;
    text-decoration: none;
}
.line-button a span.small {
    display: block;
    font-size: 2.8vw;
    font-weight: normal;
}
.line-button a span.strong {
    display: block;
}
.line-button a span.strong::after {
    font-family: "Material Symbols Rounded";
    font-weight: 400;
    content: "\eaaa";
    font-size: 4.5vw;
    margin-left: 1.4vw;
        position: relative;
        top: 0.8vw;
}
.line-button a span.line-friend {
    font-size: 1.3em;
    color: #fff231;
    padding: 0 0.5vw;
}

/*----------------------------------------------
ページトップ
------------------------------------------------*/
.goTop {
  display: none;
	position: fixed;
    bottom: 10px;
    right: 10px;
    transform: translateZ(0);
    z-index: 200;
	& a {
		display: flex;
		cursor: pointer;
		align-items: center;
		justify-content: center;
		border-radius: 50%;
		background-color: rgba(105, 113, 128, .5);
		width: 48px;
		height: 48px;
		& img {
				width: 24px;
				height: 24px;
		}
	}
}

/*------------------------------------------------
	終了
--------------------------------------------------*/
#close {
    background-color: #fff2cd;
    padding: 10vw 0 5vw;
}
#close p {
    width: 94vw;
    margin: 0 auto;
    color: #e53442;
    border: solid 2px #e53442;
    background-color: #fff;
    font-size: 3.7vw;
    line-height: 1.5em;
    padding: 6vw 2vw;
}