@charset 'UTF-8';
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Teko:wght@300&display=swap');
body {
	position: relative;
	width: 100%;
	height: 100%;
	margin: 0;
	padding: 0;
	letter-spacing: 0.1em;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	color: #000;
	background-color: #fff;
}
img.cover {
	width: 100%;
	height: auto;
}
::selection {
	color: #359d5a;
	background-color: #fff;
}
/* 文字組 */
.alignCenter {
	text-align: center;
}
.attentionList > li {
	display: block;
	text-indent: -1em;
	margin-left: 1em;
}
/* 行間 */
body,
.lineHeight100 {
	line-height: 100%;
}
.lineHeight150 {
	line-height: 150%;
}
/* 上方向間隔調整 */
.marginTop1 {
	margin-top: 1em!important;
}
.marginTop2 {
	margin-top: 2em!important;
}
.marginTop3 {
	margin-top: 3em!important;
}
.marginTop4 {
	margin-top: 4em!important;
}
.paddingLeft1 {
	padding-left: 1em;
	box-sizing: border-box;
}
/* 文字サイズ */
.text30 {
	font-size: 30px;
}
.text21 {
	font-size: 21px;
}
.text0 {
	font-size: 0;
}
@media screen and (min-width: 768px) and (max-width: 2000px) {
	.text30 {
		font-size: 1.5vw;
	}
	.text21 {
		font-size: 1.05vw;
	}
}
@media screen and (max-width: 767px) {
	.text30 {
		font-size: 3.5vw;
	}
	.text21 {
		font-size: 2vw;
	}
}
/*枠組み*/
.widthWrapper {
	width: 100vw;
	max-width: 2000px;
	margin: 0 auto;
	background-color: #359d5a;
	background-image: url('../images/_wide/kv.jpg');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.insideWrapper {
	width: 90%;
	margin-left: auto;
	margin-right: auto;
}
.insideWrapperNarrow {
	position: relative;
	width: 75%;
	margin-left: auto;
	margin-right: auto;
	padding-bottom: 2em;
}
@media screen and (max-width: 767px) {
	.widthWrapper {
		background-image: url('../images/_narrow/kv.jpg');
	}
	.insideWrapper {
		width: 100%;
	}
	.insideWrapperNarrow {
		width: 88.125%;
	}
}
/*flexbox指定*/
.flexBlock {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: row;
	flex-shrink: 0;
	list-style: none;
	margin: 0 auto;
}
.flexBetween {
	justify-content: space-between;
}
/*リンク装飾*/
a {
	display: inline-block;
	position: relative;
	color: #fff;
	text-decoration: none;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
a.hover {
	color: #fff;
	text-decoration: none;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
a.hoverOpacity {
	opacity: 1;
	-webkit-transition: all 0.5s ease;
	transition: all 0.5s ease;
}
a.hoverOpacity.hover {
	opacity: 0.75;
	-webkit-transition: all 0.15s ease;
	transition: all 0.15s ease;
}
/*文字色*/
.textWhite {
	color: #fff;
}
.gototop {
	display: none;
}
@media screen and (max-width: 767px) {
	.gototop {
		display: block;
		position: absolute;
		bottom: 0;
		right: -5.875vw;
		width: 20vw;
		height: 20vw;
	}
	.gototop > a {
		display: block;
		width: 100%;
		height: 100%;
		background-image: url("../images/btnScroll.png");
		background-position: center center;
		background-repeat: no-repeat;
		background-size: contain;
	}
}
/*タイトル装飾*/
.termTitle {
	position: relative;
}
.termTitle:before {
	content: "";
	display: block;
	position: absolute;
	top: 50%;
	left:0;
	width: 100%;
	height: 2px;
	background-color: #fff;
	z-index: 1;
}
.termTitle > span {
	position: relative;
	display: inline-block;
	padding: 0 1em;
	background-color: #359d5a;
	z-index: 2;
}
/*背景色*/
.bgWhite {
	background-color: #fff;
}
/*header*/
header {
	width: 100%;
	height: 5vw;
	max-height: 100px;
	padding: 28px 5% 0;
	align-items: center;
	flex-wrap: nowrap;
	box-sizing: border-box;
}
header > h1 {
	width: 10.8vw;
	max-width: 216px;
}
header > h1 > a {
	display: block;
	width: 100%;
	height: 100%;
	background-image: url("../images/_svg/logoJinro.svg");
	background-position: left top;
	background-repeat: no-repeat;
	background-size: contain;
}
header > ul {
	margin-right: 0!important;
}
.kvAdjust {
	width: 100%;
	height: 75vw;
	max-height: 1500px;
	pointer-events: none;
}
@media screen and (min-width: 768px) and (max-width: 2000px) {
	header {
		padding-top: 1.4vw;
	}
}
@media screen and (max-width: 767px) {
	header {
		height: 10vw;
		max-height: inherit;
		padding: 2vw 5% 0;
	}
	header > h1 {
		width: 18vw;
		max-height: inherit;
	}
	.kvAdjust {
		height: 190vw;
	}
}
/* sns */
.titleSns {
	width: 28.4vw;
	max-width: 568px;
	margin-left: auto;
	margin-right: auto;
}
.snsIcon {
	width: 3.6vw;
	max-width: 36px;
	height: 3.6vw;
	max-height: 36px;
	background-position: center center;
	background-repeat: no-repeat;
	background-size: contain;
}
.snsIcon > a {
	display: block;
	width: 100%;
	height: 100%;
}
.snsIcon + .snsIcon {
	margin-left: 1vw;
}
.snsTwitter {
	background-image: url("../images/iconTwitter.png");
}
.snsInstagram {
	background-image: url("../images/iconInstagram.png");
}
@media screen and (max-width: 767px) {
	.titleSns {
		width: 75vw;
		max-width: inherit;
		margin-left: auto;
		margin-right: auto;
	}
	.snsIcon {
		width: 8vw;
		max-width: inherit;
		height: 8vw;
		max-height: inherit;
	}
	.snsIcon + .snsIcon {
		margin-left: 5vw;
	}
}
/*footer*/
footer {
	width: 100%;
	padding: 1em 2.5%;
	box-sizing: border-box;
}
@media screen and (max-width: 767px) {
	footer > p + p {
		text-align: left!important;
	}
}
/*囲み系*/
.border {
	position: relative;
	border: 2px solid #fff;
	border-radius: 35px;
	box-sizing: border-box;
}
.borderHidden {
	border-radius: 35px;
	box-sizing: border-box;
	overflow: hidden;
}
.borderSchedule {
	margin-top: 2em;
}
.borderSchedule::before {
	display: block;
	content: "";
	position: absolute;
	left: 0;
	top: -45%;
	width: 100%;
	padding-top: 6.666666%;
	background-image: url("../images/_wide/schedule2a.png");
	background-position: center top;
	background-repeat: no-repeat;
	background-size: contain;
}
.borderPrize {
	position: relative;
}
.borderPrize h3 {
	position: relative;
	border-radius: 30px 30px 0 0;
	overflow: hidden;
}
.borderPrize .borderPrizeObj {
	position: absolute;
	top: 0;
	left: 0;
	pointer-events: none;
}
@media screen and (min-width: 768px) and (max-width: 2000px) {
	.border,
	.borderHidden {
		border-radius: 1.75vw;
	}
	.borderPrize h3 {
		border-radius: 1.5vw 1.5vw 0 0;
	}
}
@media screen and (max-width: 767px) {
	.border {
		border-radius: 2.5vw;
	}
	.borderSchedule {
		width: 75%;
		margin: 10vw auto 0;
	}
	.borderSchedule::before {
		top: -10vw;
		padding-top: 22%;
		background-image: url("../images/_narrow/schedule2a.png");
	}
	.borderPrize {
		width: 88.125%;
		margin-left: auto;
		margin-right: auto;
	}
	.borderHidden,
	.borderPrize {
		border-radius: 6vw;
	}
	.borderPrize h3 {
		border-radius: 4vw 4vw 0 0;
	}
	.borderPrize .borderPrizeObj {
		top: -5vw;
	}
}
/* animation */
.init {
	opacity: 0;
	-webkit-transform: translateY(40px);
	transform: translateY(40px);
}
.init.action {
	animation: fadeAndSlideIn 0.5s linear 0.2s forwards;
}
@keyframes fadeAndSlideIn {
	0% {
		opacity: 0;
		-webkit-transform: translateY(40px);
		transform: translateY(40px);
	}
	100% {
		opacity: 1;
		-webkit-transform: translateY(0);
		transform: translateY(0);
	}
}