@charset "utf-8";  
*:focus {
	outline: none;
}

.st_wrap{
    width: 100%;
	margin: 0 auto;
	text-align: center;
	color: #271900;
	background: #21503c;
	background-size: auto;
	display: block;
    font-weight: 400;
    letter-spacing: 1.6px;
    font-family: 'Noto Sans JP', sans-serif;
	font-feature-settings: "palt";
}

.st_wrap img{
	width: 100%;
	vertical-align: bottom;
}

.st_wrap .inner{
	max-width: 650px;
	margin: 0 auto;
	background: #ffffff;
    animation: fadein 3s forwards ease;
	position: relative;
	z-index: 10;
}

@keyframes fadein {
		  0% {
			  opacity: 0;
		  }
		  100% {
			  opacity: 1;
			  transform: translate(0);
		  }
}

.st_wrap a{
    color: #333333;
	font-weight: normal;
	font-size: 80%;
}

.snow_container{
  position: fixed;
  top: 0;
  left: 0;
  height: 100vh;
  width: 100%;
  overflow: hidden; 
  z-index: 1;
  pointer-events: none;
}

.snow{
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  position: absolute;
  animation: animate-snow 15s linear;
  animation-iteration-count: infinite;
}
/* 雪1 */
.snow01 {
  background-image: url('../images/snow01.svg');
}

/* 雪2 */
.snow02 {
  background-image: url('../images/snow02.svg');
}

/* 雪3 */
.snow03 {
  background-image: url('../images/snow03.svg');
}

/* 雪4 */
.snow04 {
  background-image: url('../images/snow04.svg');
}

@keyframes animate-snow {
  0% {
    opacity: 0;
    top: 0;
    transform: rotate(0);
  }

  10% {
    opacity: 1;
  }

  90% {
    opacity: 1;
  }

  100% {
    opacity: 0;
    transform: rotate(1080deg);
	top: 100vh;
  }
}

.head_lead{
	background-image: url("../images/bg_red.jpg");
	padding: 5% 0 7%;
	line-height: 2.5;
	font-weight: bold;
	font-size: 20px;
	position: relative;
}

.head_lead span{
	background: #ffffff;
	padding: 3px 10px;
}

.sub_lead{
	padding: 5% 0;
	line-height: 2;
	font-size: 16px;
}

.icon_snowman img{
	width: 8%;
	right: 3%;
	position: absolute;
	bottom: 0;
}

/*====================================
　　　　　　　当選確率2倍
====================================*/
.wchance_wrap{
	width: 75%;
	margin: 0 auto 5%;
	background: #9a1e1c;
	color: #ffffff;
	padding: 3%;
}

.wchance_title{
	font-size: 20px;
	font-weight: 600;
	color: #9a1e1c;
	background: #ffffff;
}

.wchance_subtitle{
	color: #ffffff;
	font-size: 25px;
	margin: 5% 0;
	font-weight: 600;
}

.wchance_lead{
	margin: 3% 0;
}

.wchance_period{
	width: 85%;
	margin: 5% auto;
	border: 2px solid #ffffff;
	font-weight: bold;
	letter-spacing: 1px;
	padding: 2px 0;
}

.wchance_wrap .small{
	font-size: 80%;
	margin: 3% 0;
}

.wchance_hint{
	width: 80%;
	display: block;
	column-gap: 3%;
	margin: 5% auto 0;
	background-image: url("../images/bg_hint.jpg");
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	padding: 3%;
	align-items: center;
}

.wchance_hint .hinticon{
	width: 30px!important;
}
.wchance_hint .title_hint{
	width: 35px;
	padding: 0 0 5%;
}

.wchance_hint_lead{
	font-size: 90%;
	color: #271900;
    /*font-weight: 600;
	color: #271900;
	text-align: left;*/
}

.wchance_hint_lead span.small{
	font-size: 80%;
	font-weight: normal;
}


/*====================================
　　　　　　　　ヒント
====================================*/
.hint_section{
	background-image: url("../images/bg_hint.jpg");
	background-size: cover;
	background-position: 50%;
	background-repeat: no-repeat;
	padding: 5% 0;
}

.icon_hint{
	width: 45px;
	margin: 0 auto;
	display: block;
}

.hint_lead{
	font-weight: 600;
	font-size: 20px;
}

.hint_sub_lead{
	margin: 2% 0 0;
}

.hint_sub_lead span{
	font-weight: 600;
	font-size: 16px;
	background: #9a1e1c;
	border-radius: 9999px;
	color: #ffffff;
	padding: 2px 10px;
}

.hint_txt{
	margin: 5% 0;
	line-height: 2;
	font-size: 16px;
}

.title_hint{
	width: 65px;
	margin: 0 auto;
	padding: 2% 0 8%;
}


.hint_main_wrap{
	width: 70%;
	margin: 0 auto;
	font-size: 90%;
	font-weight: 600;
}

.hint_main_box01{
	background: #ffffff;
	border-radius: 10px;
	border: 2px solid #333333;
	text-align: center;
	padding: 15px 0;
	margin: 3% 0;
}

.hint_main_box01 img{
	width: 75%;
	margin: 0 auto;
}

.hint_main_box{
	background: #ffffff;
	border-radius: 10px;
	border: 2px solid #333333;
	text-align: left;
	padding: 10px 15px;
	display: flex;
	margin: 3% 0;
	align-items: center;
	justify-content: space-between;
	column-gap: 3%;
}
.hint_main_txt{
	width: 100%;
}

.hint_main_txt .small{
	font-size: 80%;
	font-weight: normal;
}

.keyword{
	background: #9a1e1c;
	color: #ffffff;
	border-radius: 50%;
	width: 30px;
	height: 26px;
	text-align: center;
}
.keyword span{
	display: inline-block;
	margin-top: 1px;
	margin-left: 1px;
}

.icon_key{
	width: 5%;
}


/*====================================
　　　　　　　　参加方法
====================================*/
.title{
	background: #271900;
	padding: 10px 0;
}
.title img{
	height: 25px;
}

.sanka_section{
	background: #ffffff;
	position: relative;
}

.sanka_top_box{
	position: relative;
}

/*img.icon_map{
	position: absolute;
	width: 15%;
	top: -8%;
	right: 20%;
}*/

.sanka_lead{
	padding: 10% 0;
	line-height: 2;
	font-size: 16px;
}

.sanka_lead a{
	color: #333333;
}

.step_box{
	width: 70%;
	margin: 0 auto 10%;
	border: 2px solid #21503c;
	border-radius: 20px;
	padding: 5%;
	background: #f8f1e2;
	position: relative;
}

.no_width{
	background: #9a1e1c;
	padding: 0 30px;
	border-radius: 9999px;
	font-weight: bold;
	position: absolute;
	top: -2%;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.step2 .no_width{
	top: -5%;
}
.step3 .no_width{
	top: -4%;
}

.step_no{
	font-size: 2.5rem;
	font-family: futura-pt, sans-serif;
}
.step_no span{
	font-size: 75%;
	color: #ffffff;
}

.step_lead{
	font-weight: bold;
	font-size: 20px;
	margin: 5% 0;
}
.step_txt{
	line-height: 2;
}

.step_txt span{
	display: block;
	margin-bottom: 3%;
}

.sp_img{
	margin: 8% 0 3%;
}

.step3_img img{
	width: 50%;
	margin: 8% auto 3%;
}

.step1,.step2,.step3{
	position: relative;
}

.step_box .small{
	font-size: 80%;
}

.hakken_img{
	width: 75%;
	margin: 5% auto 0;
	border: 2px solid #21503c;
	position: relative;
}
.hakken_txt{
	position: absolute;
	top: 0;
	left: 0;
	background: #21503c;
	color: #ffffff;
	font-size: 80%;
	padding: 3px 5px;
}

.icon{
    transform-origin: center bottom;
    animation: yura 2s linear infinite;
}

@keyframes yura {
  0% , 100%{
      transform: rotate(10deg);
  }
  50%{
      transform: rotate(-10deg);
  }
}

img.icon_wine{
	position: absolute;
	width: 14%;
    left: -2%;
    top: -6%;
}
img.icon_socks{
	position: absolute;
    width: 13%;
    right: -3%;
    top: -5%;
}
img.icon_leaf{
	position: absolute;
    width: 20%;
    left: -5%;
    top: -4%;
}
img.icon_tree{
	position: absolute;
    width: 16%;
    bottom: -2%;
    right: -6%;
}
img.icon_present{
    width: 65%;
}

.btn_form{
	width: 50%;
	margin: 0 auto;
}

.btn_form img{
	width: 58%;
}

.btn_form a{
	background: #9a1e1c;
	box-shadow: 5px 7px #21503c;
	padding: 10px 0;
	border-radius: 9999px;
	display: block;
}

.kiyaku a{
	font-size: 85%;
	color: #333333;
	display: block;
	margin: 3% auto 10%;
}

/*====================================
　　　　　　よくある質問
====================================*/
.question_section{
	background: #f8f1e2;
	padding: 5% 0;
	text-align: left;
}
.question_section .title{
	background: #f8f1e2;
	padding-bottom: 5%;
}

.question_accordion {
    width: 80%;
    margin: 0 auto 2%;
    border-radius: 25px;
}

.question_accordion summary {
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: relative;
    padding: 1em 2em;
    color: #271900;
    font-weight: 600;
    cursor: pointer;
	font-size: 14px;
    border: 2px solid #21503D;
    border-radius: 9999px;
    background: #ffffff;
}

.question_accordion summary::-webkit-details-marker {
    display: none;
}

.question_accordion summary::after {
    transform: translateY(-25%) rotate(45deg);
    width: 7px;
    height: 7px;
    margin-left: 10px;
    border-bottom: 3px solid #9a1e1c;
    border-right: 3px solid #9a1e1c;
    content: '';
    transition: transform .3s;
}

.question_accordion[open] summary::after {
    transform: rotate(225deg);
}

.question_accordion p {
    transform: translateY(-10px);
    opacity: 0;
    margin: 0;
    padding: .5em 2em 1.5em;
    transition: transform .5s, opacity .5s;
	font-size: 13px;
}

.question_accordion p span{
	font-size: 10px;
}

.question_accordion[open] p {
    transform: none;
    opacity: 1;
}

/*====================================
　　　　　　other
====================================*/
.other_section .lead{
	font-size: 14px;
	letter-spacing: 2px;
	padding: 5% 0;
	line-height: 1.6;
}

.other_section .lead img{
	height: 17px;
}

.box_scroll{
	width: 80%;
	margin: 5% auto;
    height: 10em;    
    overflow: auto;  
    padding: 10px;
    border: solid 1px #747474;
}

.box_scroll .other_lead{
	text-align: left;
	font-size: 13px;
	letter-spacing: 1px;
}

.other_section .small{
	font-size: 12px;
	margin: -3% 0 5%!important;
}


/*====================================
　　　　　　　　Xシェア
====================================*/
.sns_wrap{
	background: url("../images/bg_red.jpg");
	padding: 3% 0;
    margin: 10% 0 0;
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
}

.sns_title img{
	width: 40%;
    margin: 3% 0;
}

.x_box{
    text-align: center;
}

.x_box img{
    width: 25px;
    position: relative;
}

.x-share-btn {
    background: #ffffff;
    padding: 20px 20px;
    border-radius: 50%;
    text-decoration: none;
    font-weight: 600;
    transition: all 0.2s ease;
	display: inline-block;
}

.mt_3{
	margin-top: 3%;
}
.m_3{
	margin: 3% 0;
}
.m_7{
	margin: 7% 0;
}
			
.sp {
	display:none;
}
.pc{
    display: block;
}

@media only screen and (max-width:768px){
	
	.st_wrap{
		line-height: 1.6;
	}
	
    .head_lead{
		font-size: 16px;
		line-height: 1.8;
    }	
	
    .head_lead span{
		padding: 3px 5px;
		font-size: 18px;
    }
	
    .sub_lead {
        font-size: 14px;
		letter-spacing: 1.2px;
    }	
	
    .icon_hint {
        width: 40px;
    }	
	
    .title_hint {
        width: 58px;
    }	
	
    .hint_lead {
        font-size: 16px;
		font-weight: bold;
    }
	
	.hint_sub_lead span{
		font-size: 13px;
	}
  
    .hint_txt {
        font-size: 13px;
		line-height: 1.8;
    }	
	
    .hint_main_wrap {
        width: 90%;
		font-size: 13px;
    }
	
	.hint_main_box{
		padding: 8px 15px;
	}
	
    .hint_main_box01 img{
        width: 90%;
    }	
	
    .keyword span{
        margin-top: 2px;
    }	
	
	.title{
		background: #21503c;
		line-height: 0;
	}
	
    .title img {
        height: 20px;
    }
	
	.sanka_lead{
		font-size: 13px;
	}
	
    .step_no span {
        font-size: 55%;
		line-height: 1.4;
    }
    .step_box {
        width: 80%;
		margin: 0 auto 15%;
    }
	
    .step_lead {
        font-size: 16px;
		margin: 10% 0;
    }
	
	.step_txt{
		font-size: 13px;
		line-height: 1.8;
	}
	
    .step1 .no_width{
        top: -3%;
    }
    .step2 .no_width{
        top: -4%;
    }
	
    .step3 .no_width{
        top: -4%;
    }	
	
	.hakken_img {
        width: 100%;
    }
	
    .hakken_txt {
        font-size: 70%;
    }	
	
    .wchance_wrap {
        width: 85%;
		padding: 5% 3%;
    }	
	
    .wchance_title {
        font-size: 18px;
    }	
	
    .wchance_subtitle {
        font-size: 23px;
    }	
	
    .wchance_lead {
        font-size: 14px;
    }	
	
	.wchance_hint{
		width: 95%;
	}
	
	.wchance_period{
		font-size: 15px;
		margin: 7% auto;
		width: 95%;
	}
	
    .question_accordion {
        width: 95%;
    }
	
	.question_accordion summary {
        font-size: 12px;
		padding: .5em 1em .5em 2em;
		padding-right: 2.5em;
    }
    .question_accordion summary::after {
        margin-left: 0;
        right: 1.5em;
        position: absolute;
        top: 50%;
        transform: translateY(-50%) rotate(45deg);
    }
	.question_accordion p{
		font-size: 12px;
	}
	
	
	.other_section .lead{
		font-size: 12px;
	}
	
    .other_section .lead img {
        height: 15px;
     }	
	
    .box_scroll .other_lead {
        font-size: 12px;
    }	
	
    .sns_wrap {
        padding: 8% 0;
    }
	
    .sns_title{
		margin: 0 0 5%;
    }
	
    .sns_title img {
        width: 60%;
		margin: 0;
    }
	
    .x-share-btn {
        padding: 15px 15px;
    }
	
    .icon_snowman img {
        width: 11%;
    }
	
    img.icon_leaf {
        width: 24%;
    }
	
	img.icon_wine{
        width: 16%;
    }
	
	img.icon_socks{
		width: 18%;
	}
	
    img.icon_coin {
        width: 30%;
        top: -4%;
		left: -6%;
    }
	
    img.icon_tree {
        position: absolute;
        width: 18%;
        bottom: -3%;
        right: -4%;
    }
	
    .kiyaku a {
        margin: 3% auto 15%;
    }
	
	.btn_form {
        width: 60%;
    }
	
    .btn_form img {
        width: 100%;
    }	
	
    .btn_form a{
		padding: 10px 20px;
    }	
	
	.small{
		font-size: 70%;
	}
	
    .pc {
		display:none;
	}
	.sp {
		display:block;
		width: 100%;
	}	
}  