@charset "utf-8";
/* CSS Document */
*{
 box-sizing:border-box;
 }
html{
    -webkit-text-size-adjust: 100%;
    font-size: 62.5%;
    scroll-behavior: smooth;
	scroll-padding-top: 53.83px;
	background-color: #ffffff;
    }
body{
    line-hight: 1.6;
    font-family: -apple-sysytem, 'Noto Sans JP', "ヒラギノ角ゴ Pro W3" , "Hiragino Kaku Gothic Pro" ,"游ゴシック Medium" , "Yu Gothic Medium" , "游ゴシック" , "Yu Gothic" ,"游ゴシック体" , "YuGothic" , "メイリオ" , Meiryo , "Meiryo UI" , Avenir , "Open Sans" , Helvetica,"Helvetica Neue", Arial , Verdana , Roboto ,"ＭＳ Ｐゴシック" , "MSPGothic" , sans-serif;
	color: #3a3a3a;
	overflow-x: hidden;
    }
img{
   max-width: 100%;
   height:auto;
   vertical-align: bottom;
   }
#pagetop{
	scroll-margin-top: 100px;
}
a {
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}
a:hover{
	opacity: 0.7;
}
.tx-term a{
	color: #1a0dab;
	font-weight: bold;
	text-decoration: underline;
}
.indent01{
    text-indent: -1.5em;
    padding-left: 1.5em; 
  }
.indent02{
    text-indent: -1em;
    padding-left: 1em; 
  }
.indent03{
    text-indent: -2.2em;
    padding-left: 2.2em; 
  }
.indent04{
    text-indent: -1.8em;
    padding-left: 1.8em; 
  }
.indent05{
    text-indent: -1.2em;
    padding-left: 1.2em; 
  }
.indent06{
    text-indent: -0.2em;
    padding-left: 0.2em; 
  }
/*【header_PC】*/
.header {
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
    width: 100%;
    background-color: #ffffff;
}
.header-inner {
    max-width: 1200px;
    padding: 15px 49px 18px;
    margin: 0 auto;
  }
.header-logo {
    display: inline-block;
    width: 100px;
}
.mv-inner{
	max-width: 1440px;
	margin: 70px auto 0;
}
/*【main_PC】*/
main{
	margin: 54px auto 0;
}
.main-inner{
	max-width: 960px;
	margin: 0 auto 80px;
}
/*【コンテンツ共通_PC】*/
/*ラインマーカー*/
.tx-line{
background-image: -webkit-linear-gradient(transparent 10%, #fcecac 0%);
background-image: -o-linear-gradient(transparent 10%, #fcecac 0%);
background-image: linear-gradient(transparent 10%, #fcecac 0%);
font-weight: bold;
}
/*太字*/
.tx-bold{
	font-weight: bold;
}
/*h2見出し*/
h2{
	font-size: 3.0rem;
	font-weight: bold;
	color: #d00f31;
	background-color: #fcecac;
	padding: 8px 0;
	text-align: center;
	margin: 70px auto 0;
}
/*各コンテンツの背景*/
.contents-inner{
	background-color: #fffcef;
	padding: 40px 30px;
}
.contents-area{
	background-color: #ffffff;
	padding: 30px;
	max-width: 900px;
	margin: 0 auto;
	border-radius: 20px;
}
.contents-area02{
	margin: 40px auto 0;
	background-color: #ffffff;
	padding: 30px;
	max-width: 900px;
	border-radius: 20px;
}
/*リードテキスト*/
.tx-lead{
	font-size: 2.4rem;
	text-align: center;
	padding: 40px 0 0;
}
.tx-lead02{
	font-size: 2.0rem;
	text-align: left;
}
.tx-lead05{
	font-size: 2.4rem;
	text-align: center;
	padding: 0 0 30px;
}
.tx-lead06{
	font-size: 2.4rem;
	text-align: center;
	padding: 15px 0 0;
}
/*ボタン*/
.btn{
	font-size: 2.2rem;
	font-weight: bold;
	color: #ffffff;
	background-color: #db0f35;
	border: #ffffff solid 3px;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
	padding: 10px 0;
	border-radius: 9999px;
	max-width: 440px;
	margin: 40px auto 0;
	text-align: center;
}
.d-btn{
	font-size: 2.2rem;
	font-weight: bold;
	color: #db0f35;
	background-color: #ffffff;
	border: #db0f35 solid 3px;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
	padding: 10px 0;
	border-radius: 9999px;
	max-width: 440px;
	margin: 40px auto 0;
	text-align: center;
}
.tx-notes{
	color: #db0f35;
	text-align: center;
	margin: 15px 0 0;
}
.tx-notes02{
	color: #db0f35;
	text-align: left;
	margin: 15px 0 0;
}
/*【エントリーエリア_PC】*/
.entry-tx{
	font-size: 2.1rem;
	font-weight: 500;
	color: #d00f31;
	margin: 15px 0 0;
}
.entry-inner{
	max-width: 840px;
	margin: 0 auto;
	line-hight: 1.4;
}
/*チェックボックス*/
/*checkbox*/
.check-flex{
	display: flex;
	align-items: center;
	justify-content: center;
}
.check-box{
	font-size: 1.8rem;
	line-height: 1.5;
}
.check-inner:first-of-type{
	margin-top: 18px;
}
.check-inner{
	margin: 0 60px 0 0;
	
}
.check-inner02{
	text-align: center;
	margin: 35px 0 0;
}
.entry-btn-inner02{
	max-width: 440px;
	margin: 30px auto 0;
}
input[type=checkbox] {
    display: none;/*チェックボックスデフォルトデザイン無効*/
}
.check-box{
    box-sizing: border-box;
    cursor: pointer;
    display: inline-block;
	padding: 1px 0 0 30px;
    width: auto;
	position: relative;
}
.check-box::before {
    background: #ffffff;
    border: 2px solid #231815;
    content: '';
    display: block;
    height: 17px;
	width: 17px;
    left: 2px;
    top: 7px;
   	position: absolute;
}
.check-box::after {
    border-right: 4px solid #cc0033;
    border-bottom: 4px solid #cc0033;
    content: '';
    display: block;
    height: 14px;
	width: 8px;
    left: 9px;
    opacity: 0;
    top: 5px;
    transform: rotate(45deg);
    position: absolute;
}
input[type=checkbox]:checked + .check-box::after {
    opacity: 1;
}
/*開始前*/
.tx-off{
	font-size: 1.8rem;
}
.entry-btn-off{
	background: #999999;
    color: #ffffff;
	width: 100%;
    padding: 12px 85px;
    font-size: 2.2rem;
	font-weight: bold;
    cursor: default;
	text-align: center;
	border-radius: 9999px;
	position: relative;
	border: #ffffff 3px solid;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
}
.btn-off{
	font-size: 2.2rem;
	font-weight: bold;
	color: #ffffff;
	background-color: #999999;
	border: #ffffff solid 3px;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
	padding: 10px 0;
	border-radius: 9999px;
	max-width: 440px;
	margin: 40px auto 0;
	text-align: center;
}
/*開始後*/
/*エントリーボタン非活性時*/
button[type="submit"][disabled] {
    background: #999999;
    color: #ffffff;
    cursor: default;
}
/*エントリーボタン活性時*/
.entry-btn-inner{
	max-width: 440px;
}
.entry-btn{
	background: #db0f35;
    color: #ffffff;
	width: 100%;
    padding: 12px 85px;
    font-size: 2.2rem;
	font-weight: bold;
    cursor: pointer;
	text-align: center;
	border-radius: 9999px;
	position: relative;
	border: #ffffff 3px solid;
	box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.5);
}
/*【特典内容_PC】*/
.tx-3000pt{
	max-width: 396px;
	margin: 15px auto 0;
}
.tx-sm{
	font-size: 1.8rem;
}
/*h3見出し*/
h3{
	font-size: 2.8rem;
	font-weight: bold;
	color: #a27e48;
	border-bottom: 1px solid #a27e48;
	position: relative;
	padding: 0 0 5px;
	text-align: center;
}
h3::before{
	content: ""; 
  	display: block;  
  	width: calc(100%);  /* 適度な大きさを指定 */
  	height: calc(100%); /* 適度な大きさを指定 */
  	border-bottom: 2px solid #a27e48; /* 外側の線 */
 	position: absolute;
 	top: 6px;
  	left: 0;
}
.bg-img{
	background-image: url("../img/ecotoku_0106_bg01.webp"),url("../img/ecotoku_0106_bg02.webp");
	background-repeat: no-repeat;
	background-position: left 100px top 220px,right 100px top 220px;
	background-size: 85px;
}
h4{
	font-size: 2.8rem;
	font-weight: bold;
	background-color: #a27e48;
	color: #ffffff;
	text-align: center;
	
}
.bonus02-inner{
	margin: 40px 0 0;
}
.bonus02-area{
	background-color: #ffffff;
	border: 4px solid #a27e48;
	padding: 30px 30px 120px;
	background-image: url("../img/ecotoku_0106_bg03_pc.webp");
	background-repeat: no-repeat;
	background-position: left 0 bottom 0;
	background-size: 830px;
}
/*【エコ得プログラムとは？_PC】*/
/*アコーディオン*/
.accordion-inner{
	margin: 70px 0 0;
}
.ecomode-inner {
  margin: 2em 0;
}
.accordion__summary {
  background: #fcecac; /* アコーディオンの見出しの背景色 */
  font-weight: bold;
  position: relative;
  display: block;
  cursor: pointer;
  padding: 10px 0;
  font-size: 3.0rem;
  color: #db0f35;
  text-align: center;
}
.accordion__summary::after {
  content: "▼";
  font-size: 0.8vw; /* 記号のサイズ */
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  background-color: #ffffff;
  padding: 8px 12px;
  border: #db0f35 solid 2px;
  border-radius: 5px;
  margin-right: 50px;
}
.accordion-inner input:checked ~ .accordion__summary::after {
  content: "▲";
}
.accordion-inner input {
  display: none;
}
.accordion__detail {
  display: none;
  background: #fffcef;
  padding: 40px 30px;
}
.accordion-inner input:checked ~ .accordion__detail {
  display: block;
}
.accordion__area{
	background-color: #ffffff;
	padding: 40px 30px;;
	
}
.accordion__text{
	font-size: 2.0rem;
	text-align: 1.8;
}
.accordion-img{
	margin-top: 40px;
}
/*【キャンペーン参加手順_PC】*/
.step-area{
	position: relative;
	margin: 30px 0 0;
}
.step-area02{
	position: relative;
	margin: 70px 0 0;
}
h5{
	max-width: 240px;
	margin: 0 auto;
	position: absolute;
	top: -30px;
    left: 50%;
    transform: translateX(-50%);
	
}
.step-img{
	max-width: 112px;
}
.step-flex01{
	display: flex;
	justify-content: space-between;
	margin: 30px 0 0;
}
.step-flex02{
	display: flex;
	align-items: center;
	background-color: #fffcef;
	border-radius: 20px;
	padding: 35px;
}
.step-box:nth-child(2n){
	margin-left: 20px;
}

/*【キャンペーン規約_PC】*/
.tx-term-lead{
	font-size: 1.8rem;
	font-weight: bold;
}
.tx-term{
	font-size: 1.8rem;
	margin: 30px 0 0;
}
.tx-term02{
	font-size: 1.8rem;
}
.tx-right{
	text-align: right;
}
/*【トップボタン_PC】*/
.campaign-pagetop{
	position: relative;
	max-width: 960px;
	margin: 0 auto;
}
.campaign-pagetop-link{
	position: absolute;
	top: 70px;
	right: 0;
	display: inline-block;
	width: 64px;
	transform: translateY(-50%);
}
/*【footer_PC】*/
.footer{
	background-color: #000000;
	margin-top: auto;
}
.footer-inner{
	padding: 49px 0 40px;
}
.footer-copy{
	color: #ffffff;
	text-align: center;
}

/*768px以上の場合に適用(pc)*/
@media screen and (min-width: 768px),print{
.view-sp {
    display: none;
  }
}

/*以降sp*/
/*767px以下の場合に適用(sp)*/
@media screen and (max-width: 767px) {
	.view-pc{
		display: none;
	}
	/*【header_SP】*/
	.header-inner{
		padding: 3.865vw 5.3333vw;
	}
	.header-logo{
		width: 23vw;
	}
	/*【main_SP】*/
	main{
		margin: 0vw auto 0;
	}
	.main-inner{
	width: 89.33vw;
	padding: 0;
	margin: 0 auto 14.67vw;
	}
	/*【mv_SP】*/
	.mv-inner{
		margin: 16vw 0 0;
	}
	/*【コンテンツ共通_SP】*/
	/*h2見出し*/
	h2{
		font-size: 6.13vw;
		padding: 1.33vw 0;
		margin: 10.6vw auto 0;
	}
	/*各コンテンツの背景*/
	.contents-inner{
		padding: 5.33vw;
	}
	.contents-area{
		padding: 5.33vw;
		width: 78.66vw;
		border-radius: 2vw;
	}
	.contents-area02{
		margin: 5.33vw auto 0;
		padding: 5.33vw;
		width: 78.66vw;
		border-radius: 2vw;
	}
	/*リードテキスト*/
	.tx-lead{
		font-size: 4.8vw;
		padding: 5.33vw 0 0;
	}
	.tx-lead02{
		font-size: 4vw;
		text-align: left;
	}
	.tx-lead05{
		font-size: 4.8vw;
		padding: 0 0 5.33vw;
	}
	.tx-lead06{
		font-size: 4.8vw;
		padding: 4vw 0 0;
	}
	/*ボタン*/
	.btn{
		font-size: 4.26vw;
		border: #ffffff solid 0.66vw;
		box-shadow: 0 0 1.33vw 0 rgba(0, 0, 0, 0.5);
		padding: 2vw 0;
		width: 68vw;
		margin: 4.6vw auto 0;
	}
	.d-btn{
		font-size: 4.26vw;
		border: #db0f35 solid 0.66vw;
		box-shadow: 0 0 1.33vw 0 rgba(0, 0, 0, 0.5);
		padding: 2vw 0;
		width: 68vw;
		margin: 8vw auto 0;
	}
	.tx-notes{
		text-align: left;
		margin: 1.33vw 0 0;
	}
	.tx-notes02{
		text-align: left;
		margin: 1.33vw 0 0;
	}
	/*【エントリーエリア_SP】*/
	.entry-tx{
		font-size: 4vw;
		margin: 2vw 0 0;
	}
	.entry-inner{
		width: 89.3vw;
	}
	/*チェックボックス*/
	/*checkbox*/
	.check-flex{
		flex-direction: column;
	}
	.check-box{
		font-size: 4.26vw;
	}
	.check-inner:first-of-type{
		margin-top: 4vw;
	}
	.check-inner{
		margin: 0 ;

	}
	.check-inner02{
		margin: 5vw 0 0;
	}
	.entry-btn-inner02{
		width: 68vw;
		margin: 4vw auto 0;
	}
	
	/*check-box*/
	.check-inner:first-of-type{
	margin-top: 2.66vw;
	}
	.check-inner{
		margin-top: 0;
	}
	.check-box{
		padding: 0.2vw 0 0 7.33vw;
	}
	.check-box::before {
		border: 0.54vw solid #231815;
		height: 4.27vw;
		width: 4.27vw;
		left: 0;
		top: 1.6vw;
	}
	.check-box::after {
		border-right: 1.1vw solid #cc0033;
		border-bottom: 1.1vw solid #cc0033;
		content: '';
		display: block;
		height: 3.6vw;
		width: 2.13vw;
		left: 1.9vw;
		top: 1vw;
		opacity: 0;
		transform: rotate(45deg);
		position: absolute;
	}
	input[type=checkbox]:checked + .check-box::after {
		opacity: 1;
	}
	/*開始前*/
	.tx-off{
		font-size: 3.46vw;
	}
	.entry-btn-off{
		width: 100%;
		border: #ffffff solid 0.66vw;
		box-shadow: 0 0 1.33vw 0 rgba(0, 0, 0, 0.5);
	}
	.btn-off{
		font-size: 3.73vw;
		border: #ffffff solid 0.66vw;
		box-shadow: 0 0 1.33vw 0 rgba(0, 0, 0, 0.5);
		padding: 2vw 0;
		width: 73.3vw;
		margin: 4.6vw auto 0;
		background-color: #999999;
	}
	/*開始後*/
	/*エントリーボタン活性時*/
	.entry-btn-inner{
		margin: 4.66vw 0 0;
		width: 73.3vw;
	}
	.entry-btn,.entry-btn-off{
		padding: 2.66vw;
		font-size: 4.26vw;
	}
	/*【特典内容_SP】*/
	.tx-3000pt{
		width: 68vw;
		margin: 2.66vw auto 0;
	}
	.tx-sm{
		font-size: 4vw;
	}
	/*h3見出し*/
	h3{
		font-size: 5.6vw;
		border-bottom: 0.26vw solid #a27e48;
		padding: 0 0 0.53vw;
	}
	h3::before{
		border-bottom: 0.6vw solid #a27e48; /* 外側の線 */
		top: 6px;
		left: 0;
	}
	.bg-img{
		background-image: url("../img/ecotoku_0106_bg01.webp"),url("../img/ecotoku_0106_bg02.webp");
		background-repeat: no-repeat;
		background-position: left 5.33vw top 46vw,right 5.33vw top 46vw;
		background-size: 10.6vw;
	}
	h4{
		font-size: 5.33vw;
	}
	.bonus02-inner{
		margin: 8vw 0 0;
	}
	.bonus02-area{
		border: 0.6vw solid #a27e48;
		padding: 4vw 4vw 20vw;
		background-image: url("../img/ecotoku_0106_bg03_sp.webp");
		background-repeat: no-repeat;
		background-position: left 0 bottom 0;
		background-size: 68vw;
	}
	/*【エコ得プログラムとは?_SP】*/
	/*アコーディオン*/
	.accordion-inner{
	margin: 10.6vw 0 0;
}
	.accordion__summary {
	  padding: 1.3vw 0 10.6vw;
	  font-size: 6.4vw;
	}
	.accordion__summary::after {
	  content: "▼";
	  font-size: 2.4vw; /* 記号のサイズ */
	  top: 12vw;
      left: 50%;
      transform: translateX(-50%);
	  padding: 1.3vw;
	  border: #db0f35 solid 0.26vw;
	  border-radius: 1.3vw;
	  margin-right: 0;
	　width: 6.6vw;
	}
	.accordion__detail {
	  display: none;
	  background: #fffcef;
	  padding: 5.3vw;
	}
	.accordion__area{
		 padding: 5.3vw;
	}
	.accordion__text{
		font-size: 4.26vw;
		text-align: 1.8;
	}
	.accordion__text:nth-child(2){
		margin-top: 10.6vw;
	}
	.accordion-img{
		margin-top: 4vw;
	}
	/*【キャンペーン参加手順_SP】*/
	.step-area{
		margin: 5.33vw 0 0;
	}
	.step-area02{
		margin: 10.6vw 0 0;
	}
	h5{
		width: 48vw;
		top: -5vw;
	}
	.step-img{
		width: 22.6vw;
	}
	.step-flex01{
		flex-direction: column;
		margin: 5.33vw 0 0;
	}
	.step-flex02{
		display: flex;
		align-items: center;
		background-color: #fffcef;
		border-radius: 2vw;
		padding: 2.66vw;
	}
	.step-flex02:nth-child(2){
		margin: 5.33vw 0 0;
	}
	.step-box:nth-child(2n){
		margin-left: 20px;
	}
	/*【キャンペーン規約_PC】*/
	.tx-term-lead{
		font-size: 4.26vw;
	}
	.tx-term{
		font-size: 4.26vw;
		margin: 8vw 0 0;
	}
	.tx-term02{
		font-size: 4.26vw;
	}
	/*【トップボタン_SP】*/
	.campaign-pagetop-link{
		width: 16vw;
		right: 4vw;
		top: 15vw;
	}
	/*【footer_SP】*/
	.footer-inner{
		padding: 10.13vw 0 8.27vw;/*38px 0 31px*/
	}
}