@charset "UTF-8";
/*-------------------------------
終了しました枠
-------------------------------*/
.fuvw_cmpClose {
  color: #ff0000;
  font-weight: bold;
  text-align: center;
  background: #fffee3;
  border: 1px solid #fff17f;
  margin-bottom: 20px;
  padding: 24px 24px 19px;
}
@media screen and (max-width: 767px) {
  .fuvw_cmpClose {
    margin-top: 20px;
  }
}

/*-------------------------------
大枠
-------------------------------*/
.efuvw-cont {
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.8 !important;
}

.efuvw-cont *,
*::before,
*::after {
  -webkit-box-sizing: inherit;
  box-sizing: border-box;
}

/*-------------------------------
sp時に非表示
-------------------------------*/
@media screen and (max-width: 767px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media screen and (max-width: 767px) {
  .sp {
    display: block;
  }
}

/*-------------------------------
フォント装飾
-------------------------------*/
.bold {
  font-weight: bold !important;
}

.fc_green {
  color: #00833E;
}

.fs_s {
  font-size: 90%;
}

.fs_l {
  font-size: 110%;
}

/*-------------------------------
汎用クラス
-------------------------------*/
.mt10 {
  margin-top: 10px;
}

.mt15 {
  margin-top: 15px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mb10 {
  margin-bottom: 10px !important;
}

.mb20 {
  margin-bottom: 20px !important;
}

.mb30 {
  margin-bottom: 30px !important;
}

.mb40 {
  margin-bottom: 40px !important;
}

.mb0 {
  margin-bottom: 0 !important;
}

.mb50 {
  margin-bottom: 50px !important;
}

.pb0 {
  padding-bottom: 0 !important;
}

.center {
  text-align: center;
}

/*-------------------------------
リセット
-------------------------------*/
body {
  line-height: 1.5;
}

.efuvw-cont img {
  max-width: 100%;
}

.container {
  width: 100%;
}
.container *, .container *::before, .container *::after {
  box-sizing: border-box;
}
.container .contents_inner {
  padding: 0 10px;
}
@media screen and (max-width: 767px) {
  .container .contents_inner {
    max-width: 100%;
    width: 100%;
    padding: 0 10px;
  }
}

/*-------------------------------
大枠
-------------------------------*/
.efuvw-cont {
  text-align: center;
  letter-spacing: 0.1em;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .efuvw-cont {
    padding: 0;
    text-align: left;
    box-sizing: border-box;
    font-size: 14px !important;
  }
}

@media screen and (max-width: 767px) {
  .ec-featureRole *,
  .ec-featureRole *::before,
  .ec-featureRole *::after {
    font-size: 14px;
  }
}

/*-------------------------------
アンカーリンク
-------------------------------*/
.ancherlink {
  display: flex;
  justify-content: space-between;
  margin: 50px 0;
}
@media screen and (max-width: 767px) {
  .ancherlink {
    display: block;
    margin: 20px 0;
    text-align: center;
  }
}
.ancherlink a {
  display: block;
  font-weight: bold;
  color: #fff;
  background: #00833E;
  width: 24%;
  transition: 0.4s ease-in-out;
}
@media screen and (max-width: 767px) {
  .ancherlink a {
    width: 100%;
    margin-bottom: 5px;
    text-decoration: none;
  }
}
.ancherlink a:hover {
  text-decoration: none;
  opacity: 0.8;
}
.ancherlink a span {
  display: inline-block;
  padding: 12px 0 12px 28px;
  background: url("/html/upload/user_data/feature/vw/img/icon_ancher.png") left center no-repeat;
  background-size: 22px;
}

/*-------------------------------
ヘッダー
-------------------------------*/
.head01 {
  margin: 60px 0;
  padding: 15px;
  border-top: 3px solid #00833E;
  border-bottom: 3px solid #00833E;
  color: #00833E;
  font-weight: bold;
  font-size: 130%;
  line-height: 1.8;
}
@media screen and (max-width: 767px) {
  .head01 {
    margin: 40px 0 30px;
    padding: 5px;
    text-align: center;
  }
}

.head02 {
  margin: 60px 0;
  padding: 15px;
  color: #fff;
  background: #00833E;
  font-weight: bold;
  font-size: 130%;
}
@media screen and (max-width: 767px) {
  .head02 {
    margin: 40px 0 30px;
    padding: 5px;
    text-align: center;
  }
}

/*-------------------------------
ボタン
-------------------------------*/
a.btn {
  display: block;
  margin: auto;
  width: 280px;
  padding: 12px 0px 10px 25px;
  color: #00833E;
  font-weight: bold;
  font-size: 110%;
  border: 2px solid #00833E;
  border-radius: 30px;
  background: url("/html/upload/user_data/feature/vw/img/icon_link.png") 25px center no-repeat #fff;
  background-size: 20px;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  a.btn {
    text-align: center;
    text-decoration: none;
  }
}
a.btn:hover {
  text-decoration: none;
  opacity: 0.7;
}

a.btn_01 {
  display: inline-block;
  margin: auto 15px;
  width: 260px;
  padding: 12px 35px 10px 0px;
  color: #fff;
  font-weight: bold;
  font-size: 110%;
  border-radius: 30px;
  background: url("/html/upload/user_data/feature/vw/img/icon_ancher_02.png") 220px center no-repeat #00833E;
  background-size: 20px;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  a.btn_01 {
    display: block;
    margin: 0 auto;
  }
}

a.btn_02 {
  border: 2px solid #eb8012;
  display: inline-block;
  margin: auto;
  width: 260px;
  padding: 12px 35px 10px 0px;
  color: #fff;
  font-weight: bold;
  font-size: 110%;
  border-radius: 30px;
  background: url("/html/upload/user_data/feature/vw/img/icon_ancher_03.png") 220px center no-repeat #eb8012;
  background-size: 20px;
  transition: 0.3s ease-in-out;
}
@media screen and (max-width: 767px) {
  a.btn_02 {
    display: block;
    margin-bottom: 10px;
  }
}

/*-------------------------------
ビューカード会員限定！
-------------------------------*/
.vc {
  width: 80%;
  margin: 40px auto 0;
}
@media screen and (max-width: 767px) {
  .vc {
    width: 100%;
  }
}
.vc h3 {
  padding: 10px;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .vc h3 {
    margin-bottom: 20px;
  }
}
.vc p {
  font-size: 150%;
  font-weight: bold;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .vc p {
    font-size: 130%;
    margin-bottom: 20px;
    text-align: center;
  }
}
.vc span {
  font-size: 100%;
}
@media screen and (max-width: 767px) {
  .vc span {
    font-size: 100%;
  }
}

/*-------------------------------
参加方法
-------------------------------*/
.step {
  display: flex;
  justify-content: space-between;
  padding: 60px 30px;
  border-bottom: 1px solid #00833E;
}
@media screen and (max-width: 767px) {
  .step {
    display: block;
    padding: 40px 0px;
  }
}
.step dt {
  display: flex;
  align-items: center;
  font-size: 110%;
  text-align: left;
  font-weight: normal;
}
@media screen and (max-width: 767px) {
  .step dt {
    flex-direction: column;
    text-align: center;
    margin-bottom: 20px;
  }
}
.step dt img {
  width: 70px;
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .step dt img {
    margin: 0 0 20px 0;
  }
}
.step dd {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.step.last {
  border: none;
  padding-bottom: 0;
}

/*-------------------------------
おすすめ特集
-------------------------------*/
.bnr {
  margin: 0 0 30px;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .bnr {
    margin: 20px 0;
    display: block;
  }
}
.bnr a {
  display: block;
  width: 49%;
  margin-bottom: 2%;
}
@media screen and (max-width: 767px) {
  .bnr a {
    width: 100%;
  }
}
.bnr img {
  width: 100%;
}

/*-------------------------------
よくある質問
-------------------------------*/
.faq {
  padding: 60px 0 40px;
  border-bottom: 1px solid #00833E;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .faq {
    padding: 30px 0;
  }
}
.faq.last {
  border: none;
}
.faq dt {
  color: #00833E;
  font-weight: bold;
  font-size: 110%;
  margin-bottom: 5px;
}
.faq dd {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .faq dd {
    margin-bottom: 20px;
  }
}
.faq dd:last-child {
  margin-bottom: 0px;
}

.finding_list {
  display: flex;
  justify-content: space-around;
  flex-wrap: wrap;
  margin-top: 30px !important;
}
@media screen and (max-width: 767px) {
  .finding_list {
    display: block;
  }
}
.finding_list > li {
  /*width: 24.6%;
  max-width: 268px;*/
  display: flex;
  justify-content: center;
  width: 44%;
  margin-bottom: 2em;
}
@media screen and (max-width: 767px) {
  .finding_list > li {
    width: 100%;
    margin-bottom: 2%;
    text-align: center;
  }
}
.finding_list > li:last-child {
  margin-bottom: 0px;
}
.finding_list > li img {
  width: 80%;
}
.finding_list > li a:hover img {
  opacity: 0.7;
}

/*-------------------------------
JRE MALLふるさと納税とは
-------------------------------*/
.whats {
  text-align: center;
  padding: 60px;
  background: #fff;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .whats {
    padding: 40px 20px;
    text-align: left;
    margin: 0 -4% 60px;
  }
}
.whats .whats_h {
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .whats .whats_h {
    margin-bottom: 5%;
    text-align: center;
  }
}
.whats .whats_h img {
  max-width: 600px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .whats .whats_h img {
    max-width: 100%;
    width: 80%;
  }
}
.whats .whats_text {
  font-size: 110%;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .whats .whats_text {
    margin: 0 auto 20px;
  }
}
.whats .whats_text > .large {
  font-weight: bold;
  font-size: 120%;
  color: #00833E;
}
.whats .whats_text > .kome {
  font-size: 70%;
  vertical-align: super;
}
.whats .whats_attention {
  font-size: 80%;
  margin-bottom: 40px !important;
}
@media screen and (max-width: 767px) {
  .whats .whats_attention {
    font-size: 70%;
    line-height: 1.5;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .whats .whats_attention li {
    text-indent: -1em;
    padding-left: 1em;
  }
}

/*-------------------------------
会員登録、ログインボタン
-------------------------------*/
.loginBtn_list {
  display: flex;
  justify-content: space-around;
  padding: 0 5%;
}
@media screen and (max-width: 767px) {
  .loginBtn_list {
    display: block;
    width: 90%;
    margin: 0 auto !important;
  }
}
.loginBtn_list li {
  width: 40%;
}
@media screen and (max-width: 767px) {
  .loginBtn_list li {
    max-width: 100%;
    width: 100%;
    margin-bottom: 10%;
  }
}
@media screen and (max-width: 767px) {
  .loginBtn_list li:last-child {
    margin-bottom: 0;
  }
}
.loginBtn_list li .loginBtn_text {
  text-align: center;
  font-size: 120%;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .loginBtn_list li .loginBtn_text {
    text-align: center;
    font-size: 120%;
    margin-bottom: 5%;
  }
}
.loginBtn_list li .loginBtn01 a {
  display: flex;
  background: #107305;
  padding: 25px;
  color: #fff;
  font-size: 135%;
  border-radius: 50px;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .loginBtn_list li .loginBtn01 a {
    display: flex;
    background: #107305;
    padding: 5%;
    color: #fff;
    font-size: 120%;
    border-radius: 50px;
    justify-content: center;
    align-items: center;
    text-decoration: none;
  }
}
.loginBtn_list li .loginBtn01 a:hover {
  opacity: 0.7;
  text-decoration: none;
}
.loginBtn_list li .loginBtn01 a::before {
  content: "";
  display: block;
  background: url(/html/upload/user_data/feature/vw/img/ico_memo.png) no-repeat;
  background-size: contain;
  width: 45px;
  height: 38px;
  margin-right: 5px;
}
@media screen and (max-width: 767px) {
  .loginBtn_list li .loginBtn01 a::before {
    content: "";
    display: block;
    background: url(/html/upload/user_data/feature/vw/img/ico_memo.png) no-repeat;
    background-size: contain;
    width: 31px;
    height: 24px;
    margin-right: 5px;
  }
}
.loginBtn_list li .loginBtn02 a {
  border: 2px solid #107305;
  display: flex;
  background: #fff;
  padding: 25px;
  color: #107305;
  font-size: 135%;
  border-radius: 50px;
  justify-content: center;
  align-items: flex-end;
}
@media screen and (max-width: 767px) {
  .loginBtn_list li .loginBtn02 a {
    border: 2px solid #107305;
    display: flex;
    background: #fff;
    padding: 5%;
    color: #107305;
    font-size: 120%;
    border-radius: 50px;
    justify-content: center;
    align-items: flex-end;
    text-decoration: none;
  }
}
.loginBtn_list li .loginBtn02 a:hover {
  opacity: 0.7;
  text-decoration: none;
}
.loginBtn_list li .loginBtn02 a::before {
  content: "";
  display: block;
  background: url(/html/upload/user_data/feature/vw/img/ico_key.png) no-repeat;
  background-size: contain;
  width: 30px;
  height: 37px;
  margin-right: 15px;
}
@media screen and (max-width: 767px) {
  .loginBtn_list li .loginBtn02 a::before {
    content: "";
    display: block;
    background: url(/html/upload/user_data/feature/vw/img/ico_key.png) no-repeat;
    background-size: contain;
    width: 21px;
    height: 25px;
    margin-right: 15px;
  }
}

/*-------------------------------
注意事項
-------------------------------*/
.notes_box {
  margin: 0 auto 60px;
  line-height: 1.4;
}
@media screen and (max-width: 767px) {
  .notes_box {
    margin: 0 auto 60px;
  }
}
.notes_box .notes_h {
  font-size: 190%;
  text-align: center;
  margin-bottom: 30px;
}
@media screen and (max-width: 767px) {
  .notes_box .notes_h {
    font-size: 190%;
    text-align: center;
    margin-bottom: 10%;
  }
}
.notes_box .notes_list li {
  margin-bottom: 10px;
  text-indent: -1em;
  padding-left: 1em;
  text-align: left;
}
@media screen and (max-width: 767px) {
  .notes_box .notes_list li {
    margin-bottom: 3%;
  }
}

.icon2 {
  width: auto !important;
  margin: 0 5px;
}
@media screen and (max-width: 767px) {
  .icon2 {
    width: auto !important;
    margin: 0 1%;
    vertical-align: middle;
  }
}

/*-----2023/12/11追加-----*/

/*-------------------------------
薄バナー
-------------------------------*/
.usubnr {
  margin-bottom: 40px;
}
.usubnr p {
  font-weight: bold;
  font-size: 110% !important;
}
.usubnr p span {
  color: #ff0000;
  font-size: 110% !important;
}
@media screen and (max-width: 767px){
  .usubnr p {
    font-size: 4vw !important;
    text-align: center;
    line-height: 6vw;
    margin-top: 20px;
  }
  .usubnr p span {
    font-size: 4vw !important;
  }
}

/*-----2024/1/16追加-----*/

/*-------------------------------
災害支援バナー
-------------------------------*/
.disa-box {
  background-color: #fff;
  padding: 10px 0 20px;
  margin-bottom: 30px;
}
.disa-box h3 {
  font-weight: bold;
  font-size: 120%;
}
.disa-box .disa-banner img {
  width: 600px;
}


@media screen and (max-width: 767px) {
  .disa-box {
    margin: 0 -4% 30px;
  }
  .disa-box h3 {
    text-align: center;
    padding: 0 20px;
    line-height: 5vw;
    font-size: 4vw;
  }
	.disa-box .disa-banner img {
		width: 100%;
    padding: 0 20px;
	}
}

/*-------------------------------
mv直書きの場合のmv非表示
-------------------------------*/
.ec-featureRole__head {
  display: none;
}



/*-------------------------------
リード
-------------------------------*/
.bl_campaignDtl {
    position: relative;
    margin: 3em 0;
    padding: 1.5em 1em 1em;
    border: solid 3px #008cd0;
    border-radius: 10px;
}
.bl_campaignDtl .box-title {
    position: absolute;
    display: inline-block;
    top: -.5em;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
    padding: 0 9px;
    line-height: 1;
    font-size: 19px;
    background: #F5F5F5;
    color: #008cd0;
    font-weight: bold;
}
.bl_campaignDtl p {
    margin: 0; 
    padding: 0;
}
.bl_campaignDtl strong {
	font-size: 130%;
}

.arrow{
	position: relative;
	display: inline-block;
	padding: 0 0 0 18px;
	color: #000;
	vertical-align: middle;
	text-decoration: underline !important;
}
.arrow::before,
.arrow::after{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	margin: auto;
	content: "";
	vertical-align: middle;
}
.sample5-2::before{
	bottom: 5px;
	left: 5px;
	width: 8px;
	height: 8px;
	border-top: 2px solid #7a0;
	border-right: 2px solid #7a0;
	-webkit-transform: rotate(135deg);
	transform: rotate(135deg);
}
/* ----------for SP ---------- */
@media screen and (max-width: 767px) {
	.bl_campaignDtl {
		padding: 1.5em 1.5em 1.3em
	}
	.bl_campaignDtl .box-title {
		width: 12em;
		text-align: center;
		font-size: 1.8rem;
	}
}