@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;
}
.cover {
	width: 100%;
	height: auto;
}
::selection {
	color: #0071ba;
	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;
    text-align: center;
}
.text0 {
	font-size: 0;
}
@media screen and (min-width: 768px) /*and (max-width: 2000px)*/ {
	.text30 {
		font-size: 1.5vw;
	}
	.text21 {
		font-size: 1.05vw;
        text-align: center;
	}
    
    h3 img{
        width: 34vw
    }
}
.textcenter{
    text-align: center;
}
@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-image: url('../images/_wide/kv.png');
	background-position: center top;
	background-repeat: no-repeat;
	background-size: 100% auto;
}
.insideWrapper {
	width: 100%;
	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.png');
	}
	.insideWrapper {
		width: 100%;
	}
	.insideWrapperNarrow {
		width: 88.125%;
	}
    .insideWrapperNarrow img{
        width: 75vw;
    }
}
 
@media screen and (min-width: 768px) /*and (max-width: 2000px)*/ {
    .frame{
        background-color: #FFFFFF;
        width:80%;
        height: 30vw;
        margin: 3vw auto;
        border-radius: 1em;
        overflow: scroll;

    }
    
}
@media screen and (max-width: 767px){
   .frame{
        background-color: #FFFFFF;
        width:95%;
        height: 50vw;
        margin: 3vw auto;
        border-radius: 1em;
       overflow: scroll;

    }
.inframe{
    font-size:12px;
}}

.inframe{
    width: 90%;
    height: auto;
    margin: 1em auto;
    color: #333333; 
    line-height: 1.4;
}
/*flexbox指定*/
.flexBlock {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: row;
	flex-shrink: 0;
	list-style: none;
}
.flexBetween {
	justify-content: space-between;
}
@media screen and (min-width: 768px) /*and (max-width: 2000px)*/ {
.flexBlockSns {
	display: -webkit-flex;
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	flex-direction: row;
	flex-shrink: 0;
	list-style: none;
	margin: 0 auto;
    }}
@media screen and (max-width: 767px){
.flexBlockSns {
	display: flex;
	flex-direction: column;
	list-style: none;
	margin: 0 auto;
    text-align: center;
    justify-content: center;
    }}


/*リンク装飾*/
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;
}
/*文字色*/
.textblue {
	color: #0071BA;
}
.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: #333333;
	z-index: 1;
}
.termTitle > span {
	position: relative;
	display: inline-block;
	padding: 0 1em;
	background-color: #fff;
	z-index: 2;
}
/*背景色*/
.bgWhite {
	background-color: #fff;
}

.bgBlue{
    background-color: #53B7E8;
    padding-top: 3vw;
}
@media screen and (min-width: 768px) /*and (max-width: 2000px)*/ {
.bgimg{
	background-image: url("../images/_wide/background.png");
    background-repeat: repeat-y;
    background-size: contain;
    }
}
@media screen and (max-width: 767px) {
.bgimg{
	background-image: url("../images/_narrow/background.png");
    background-repeat: repeat-y;
    background-size: contain;
    }
}

/*header*/
header {
	width: 100%;
	height: 7vw;
	max-height: 100px;
	padding: 0px 5% 0;
	align-items: center;
	flex-wrap: nowrap;
	box-sizing: border-box;
    /*border-top: solid 11px #78BE63;*/
    border-image: linear-gradient(to right, #78BE63 0%, #6EC8F2 100%)1/11px 0 0 0;
    border-image-slice: 1;
    border-style: solid;
}
header > h1 {
	width: 20vw;
	max-width: 216px;
    height: inherit;
    margin-top: 20px;
}
/*header > h1 > a {
	display: block;
	width: 100%;
	height: 100%;
	background-image: url("../images/jinro_logo.png");
	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: 0;
	}
    header>h1>a>img{
    width: 15vw;
    }
}
@media screen and (max-width: 767px) {
	header {
		height: 10vw;
		max-height: inherit;
		padding: 0px 5% 0;
	}
	header > h1 {
		width: 18vw;
		max-height: inherit;
	}
        header>h1>a>img{
    width: 20vw;
    }

	.kvAdjust {
		height: 160vw;
	}
}
/* sns */
.titleSns {
	width: 28.4vw;
	max-width: 568px;
	margin-left: auto;
	margin-right: auto;
}
.snsIcon {
	width: 6vw;
	height: 6vw;
    max-height: 80px;
    margin-top: 10px;
	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 (min-width: 768px) /*and (max-width: 2000px) */{

.snsfooter {
	width: 25vw;
    margin: auto 5vw;
}
.snsfooter img{
    width: 25vw;
}
.tweet img{
    width: 30vw;
    height: auto;
    }}
@media screen and (max-width: 767px) {
	.titleSns {
		width: 60vw;
		max-width: inherit;
		margin-left: auto;
		margin-right: auto;
	}
	.snsIcon {
		width: 8vw;
		max-width: inherit;
		height: 8vw;
		max-height: inherit;
	}
	.snsIcon + .snsIcon {
		margin-left: 2vw;
    }
    .snsfooter img{
        width:  50vw;
        margin: 1.5vw auto;
    }
    .tweet img{
        width: 50vw;
        height: auto;
        margin: 2vw auto;
    }
}
/*footer*/
footer {
	width: 100%;
	padding: 1em 2.5%;
	box-sizing: border-box;
margin-top: 2vw;
    text-align: center;
}

@media screen and (max-width: 767px) {
	footer > p + p {
		text-align: center;
	}
}
/*囲み系*/
.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);
	}
}