*{
	margin:0;
	padding:0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}

#contents {overflow: hidden;}

/*-----------------------------------------------
 改行
-----------------------------------------------*/
.pc_br{
	display: block;
}

.sp_br{
	display: none;
}

@media (max-width: 540px){
	.pc_br{
		display: none;
	}
	
	.sp_br{
		display: block;
	}
}

/*-----------------------------------------------
 main
-----------------------------------------------*/
.top{
	background-color: #ec89a4;
}

/*-----------------------------------------------
 共通
-----------------------------------------------*/
.green{
	background-color: #e5f6eb;
}

.green_dot{
	background-image: url(image/dot.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
}

.yellow{
	background-color: #fff206;
}

.center{
	text-align: center;
}

article {
    width: 100%;
}

.stripe{
	background-image: url(image/back_1.jpg);
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	width: 1080px;
	max-width: 90%;
	margin:0 auto 100px;
	padding:30px;
	font-size:1.3em;
}

@media (max-width: 540px){
	.sp_left{
		text-align: left;
	}

	.stripe{
		margin:0 auto 30px;
		padding:20px 10px;
		font-size:1em;
	}
}

/*-----------------------------------------------
キャンペーン
-----------------------------------------------*/
.campaign01 .icon_img{
	width: 100%;
	margin:auto;
}

.campaign01 .icon_img.pc{
	display: block;
}

.campaign01 .icon_img.sp{
	display: none;
}


@media (max-width: 540px){
	.campaign01 .icon_img.pc{
		display: none;
	}

	.campaign01 .icon_img.sp{
		display: block;
	}
}

/*-----------------------------------------------
プレゼント
-----------------------------------------------*/
.present_back{
	background: url(image/back_present.jpg) no-repeat 100% 0%;
}

.present{
	width: 1080px;
    max-width: 90%;
	margin:50px auto;
}

.m_t{
	margin-top:50px;
}

.present .ttl{
	font-size: 2.5em;
	color:#11a72f;
	font-weight: bold;
	margin-bottom:50px;
}

.present .small{
	font-size: 0.8em;
}

.present .ttl_sub{
	font-size: 2em;
	color:#11a72f;
	font-weight: bold;
	margin-bottom:10px;
}

.present p{
	font-size: 1.1em;
	color:#11a72f;
	font-weight: bold;
	text-align: center;
}

.present p.sub_txt{
	color:#333;
	font-weight: bold;
	font-size: 1.3em;
}

.present p.black{
	color:#333;
}

.present .f_wrap{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.present .f_wrap .present_item{
	width: 24%;
	margin-bottom:40px;
}

.present .f_wrap .present_item img{
	width: 100%;
}

.present .exp{
	text-align: left;
	color:#333;
}

@media (max-width: 1024px){
	.present .f_wrap .present_item{
		width: 30%;
	}
}

@media (max-width: 540px){
	.present .f_wrap .present_item{
		width: 47%;
	}

	.present p {
		font-size: 0.9em;
	}

	.present_back{
		background: url(image/back_present.jpg) no-repeat 0% 0%;
	}

	.present p.sub_txt {
		font-size: 1em;
	}
}



/*-----------------------------------------------
キャンペーン説明
-----------------------------------------------*/
.campaign_exp{
	padding:50px;
	margin: 0px auto 200px;
	font-weight: bold;
}

.campaign_exp p{
	font-size:22px;
}

@media (max-width: 1024px){
	.campaign_exp{
		margin: 0px auto 80px;
	}
}

@media (max-width: 540px){
	.campaign_exp{
		padding:10px;
	}

	.campaign_exp p{
		font-size:15px;
	}
}

/*-----------------------------------------------
キャンペーン内容 - 共通
-----------------------------------------------*/
.m_b{
	margin-bottom:50px;
}

.m_m_b{
	margin-bottom:20px;
}

.campaign_cont{
	width: 70%;
	padding:2.5% 3% 2.5% 25%;
	position: relative;
}

.campaign_cont .txt{
	font-size:16px;
}

.campaign_1, .campaign_2, .campaign_3 ,.campaign_4, .campaign_5 ,.campaign_6, .campaign_7{
	margin-bottom:20px;
}

.campaign_8{
	margin-bottom:50px;
}

.right_cont {
    margin: 0 0 0 auto;
}

.campaign_cont::before{
	content: "";
	display: block;
	position: absolute;
	left: 20%;
	top: calc(50% - 140px);
	width: 120px;
	height: 297px;
}

.campaign_1 .campaign_cont::before{
	background: url(image/hand01.png) no-repeat 50% 50%/contain;
}

.campaign_2 .campaign_cont::before{
	background: url(image/hand02.png) no-repeat 50% 50%/contain;
	width: 111px;
	height: 290px;
}

.campaign_3 .campaign_cont::before{
	background: url(image/hand03.png) no-repeat 50% 50%/contain;
	width: 135px;
	height: 286px;
}

.campaign_4 .campaign_cont::before{
	background: url(image/hand04.png) no-repeat 50% 50%/contain;
	width: 138px;
	height: 274px;
}

.campaign_cont .ttl{
	font-size:25px;
	color:#11a72f;
	font-weight: bold;
}

.campaign_cont .sub_ttl{
	font-size:20px;
	font-weight: bold;
}
.campaign_cont p{
	text-align: left;
}


@media (max-width: 1024px){
	.m_b{
		margin-bottom:30px;
	}

	.m_m_b{
		margin-bottom:20px;
	}
	.campaign_1 .campaign_cont::before, .campaign_2 .campaign_cont::before, .campaign_3 .campaign_cont::before, .campaign_4 .campaign_cont::before, .campaign_5 .campaign_cont::before, .campaign_6 .campaign_cont::before, .campaign_7 .campaign_cont::before, .campaign_8 .campaign_cont::before{
		left: 5%;
		top: -40px;
		width: 90px;
	}
}

@media (max-width: 540px){
	.campaign_cont{
		width: 95%;
		padding:5% 5% 5% 25%;
	}

	.campaign_1 .campaign_cont::before, .campaign_2 .campaign_cont::before, .campaign_3 .campaign_cont::before, .campaign_4 .campaign_cont::before,.campaign_5 .campaign_cont::before, .campaign_6 .campaign_cont::before,.campaign_7 .campaign_cont::before,.campaign_8 .campaign_cont::before{
		left: 5%;
		top: -100px;
		width: 50px;
	}

	.campaign_cont .ttl {
		font-size: 20px;
	}

	.campaign_cont .sub_ttl{
		font-size:16px;
	}

	.campaign_cont .txt{
		font-size:14px;
	}
}


/*-----------------------------------------------
キャンペーン内容 - 共通
-----------------------------------------------*/
.last_txt{
	margin:100px 50px 100px;
	text-align: center;
}

@media (max-width: 1024px){
	.last_txt{
		width: 60%;
		margin-right:auto;
		margin-left:auto;
	}
}


@media (max-width: 540px){
	.last_txt{
		width: 90%;
	}
}

/*-----------------------------------------------
キャンペーン内容 -  応募
-----------------------------------------------*/
.comment{
	text-align: center;
	margin-bottom:50px;
}

.btn_green{
	background-color: #15a73e;
	color:#fff;
	padding:20px;
	font-size:22px;
	display: inline-block;
	text-align: center;
	font-weight: bold;
	border-radius: 40px;
}

@media (max-width: 540px){
	.comment{
		text-align: center;
		margin-bottom:50px;
	}
	
	.btn_green{
		padding:20px;
		font-size:18px;
		margin:10px;
	}
}

/*-----------------------------------------------
index41.html >> TOP
-----------------------------------------------*/
.campaign_exp{
	margin: 0px auto 30px;
}

.campaign_cont .ttl2{
	font-size: 30px;
    color: #11a72f;
    font-weight: 800;
}

@media (max-width: 1024px){
	.campaign_exp{
		margin: 0px auto 30px;
	}
}



/*-----------------------------------------------
index41.html >> 参加方法
-----------------------------------------------*/
.join_cont{
	background-color: rgba(255,255,255,0.8);
	padding:30px;
}

.join .ttl{
	font-size:1.6em;
	font-weight: bold;
}

.join_cont_ttl{
	font-size:1.3em;
	font-weight: bold;
	text-align: center;
	color:#11a72f;
	margin-bottom:20px;
}

.join .sub_ttl{
	font-size:1.1em;
	font-weight: bold;
}

@media (max-width: 540px){
	.join_cont{
		padding:5px;
	}
}


/*-----------------------------------------------
index41.html >> 参加コーナー
-----------------------------------------------*/
.num1 .campaign_cont::before{
	background: url(image/num1.png) no-repeat 50% 50%/contain;
	width: 100px;
	height: 270px;
}

.num2 .campaign_cont::before{
	background: url(image/num2.png) no-repeat 50% 50%/contain;
	width: 100px;
	height: 270px;
}

.num3 .campaign_cont::before{
	background: url(image/num3.png) no-repeat 50% 50%/contain;
	width: 100px;
	height: 270px;
}

.num4 .campaign_cont::before{
	background: url(image/num4.png) no-repeat 50% 50%/contain;
	width: 100px;
	height: 270px;
}

.num5 .campaign_cont::before{
	background: url(image/num5.png) no-repeat 50% 50%/contain;
	width: 100px;
	height: 270px;
}

.num6 .campaign_cont::before{
	background: url(image/num6.png) no-repeat 50% 50%/contain;
	width: 100px;
	height: 270px;
}

.num7 .campaign_cont::before{
	background: url(image/num7.png) no-repeat 50% 50%/contain;
	width: 90px;
	height: 270px;
}

.num8 .campaign_cont::before{
	background: url(image/num8.png) no-repeat 50% 50%/contain;
	width: 90px;
	height: 270px;
}

.back_white{
	background-color: rgb(255, 255, 255);
	border-radius: 50px;
	text-align: center !important;
	padding:10px;
	margin-top:30px;
	border:1px solid #11a72f;
	font-size: 1.8rem;
	font-weight: bold;
	max-width: 600px;
}

@media (max-width: 540px){
	.num1 .campaign_cont::before, .num2 .campaign_cont::before, .num3 .campaign_cont::before, .num4 .campaign_cont::before, .num5 .campaign_cont::before, .num6 .campaign_cont::before, .num7 .campaign_cont::before, .num8 .campaign_cont::before{
		left: 7%;
		top: -100px;
		width: 50px;
	}

	.back_white{
		font-size: 1.4rem;
	}
}

/*-----------------------------------------------
index41.html >> タイトル
-----------------------------------------------*/
.ttl_big{
	font-size:2em;
	font-weight: bold;
}

/*-----------------------------------------------
index41.html >> 募集
-----------------------------------------------*/
#form {
	padding: 50px 0;
	background-color: #f7f8f8;
}

#form .form_cont{
	width: 900px;
	max-width: 90%;
	margin:auto;
}


#form-title{
	background: #3360d4;
	color: #fff;text-align: center;padding: 8px;width: 85%;max-width: 800px;margin: 0 auto 40px;font-weight: bold;border-radius: 40px; padding:20px 0}
#form table{width: 100%;margin-bottom: 30px;text-align: left;border-top: 1px #CCCCCC dotted;}
#form table th{width: 25%;}
#form table th, #form table td {
	padding: 10px;
	border-bottom: 1px #CCCCCC dotted;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
}
#form table th img {float: right;margin-top: 5px;}
#form input, #form select, #form textarea{
  border: 2px #CCCCCC solid;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  padding: 5px;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	font-size: 100%;
	left: 1.2em;
}

#form select{
	width: 100%;
	background:#fff;
}

input.err, select.err, textarea.err, .err input, .err select, .err textarea, .chkgroup.err label {
    background: #FFFFCC;
    border-color: #fdd7c1;
}
.w100{width: 100%;}
.box{
	padding: 20px;
	background-color: #FFFFFF;
	margin-bottom: 20px;
}
.formbtn{text-align: center;}
.formbtn input{
	border: none!important;
	-webkit-border-radius: 0!important;
	-moz-border-radius: 0!important;
	border-radius: 0!important;
}
.btn-confirm-event{background: url(./image/btn-confirm.gif) no-repeat center center;}
.btn-grey-event{background: url(./image/btn-grey.gif) no-repeat center center;}
.btn-reinput{background: url(./image/btn-reinput.gif) no-repeat center center;width: 226px;height: 62px;}
.btn-send{background: url(./image/btn-send.gif) no-repeat center center;width: 226px;height: 62px;}
.btn-confirm{width: 400px;height: 100px;background-size: contain!important;max-width: 100%;}

#form .voice input{
	display:none;
}

#form .voice label {
	color: #fff;
	background-color: #3360d4;
	border-radius: 40px;
	padding: 10px 20px;
	font-size:18px;
	display: inline-block;
	margin-bottom: 1em;
}

#form .voice label:hover {
	cursor: pointer;
}

@media (max-width: 768px){
	#form table th, #form table td {width: 100%;display: block;}
	#form table th img {margin-top: 2px;}
	#form table th{border: none;}
	#form table td{padding-bottom: 20px;}
}

/*-----------------------------------------------
index41.html >> 20周年企画内容
-----------------------------------------------*/
.planning{
	background-color: rgba(255,255,255,0.8);
	padding:30px;
}

.planning .ttl{
	font-size:1.4em;
}

.planning .sub_ttl{
	font-size:1.1em;
	border-bottom:2px solid #11a72f;
	text-align: center;
}

.planning_item{
	position: relative;
}

.stamp img{
	width: 80%;
	max-width: 400px;
	position: absolute;
	top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

@media (max-width: 540px){
	.planning{
		padding:5px;
	}
}

