@font-face { font-family: 'SoDoSans'; font-style: normal; font-weight: 400; src: url("/common/fonts/SoDoSans/SoDoSans-Regular.woff") format("woff"); }

@font-face { font-family: 'SoDoSans Bold'; font-style: normal; font-weight: 700; src: url("/common/fonts/SoDoSans/SoDoSans-Bold.woff") format("woff"); }

.mod-en { font-family: 'SoDoSans'; }

/* ----------------------------------------------------------
mixin
---------------------------------------------------------- */
/* ----------------------------------------------------------
article
---------------------------------------------------------- */
body.page-rewards-decaf .mainContents { overflow: visible; position: relative; margin-right: 0; }

body.page-rewards-decaf .mainContents article { padding-bottom: 0; width: auto; }

header.global { z-index: 3000; }

@media screen and (min-width: 1280px) { body.page-rewards-decaf { margin-left: 0; }
  body.page-rewards-decaf .mainContents article { margin-left: 0; } }

@media screen and (min-width: 910px) { body.page-rewards-decaf { min-width: 1260px; position: relative; background-size: 100% auto; }
  body.page-rewards-decaf .mainContents { min-width: 1140px; }
  body.page-rewards-decaf aside.welcome { margin-left: 120px; }
  body.page-rewards-decaf footer.global { margin-left: 120px; }
  body.page-rewards-decaf article a.js--hover:hover { opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; } }

@media screen and (min-width: 910px) and (max-width: 1279px) { body.page-rewards-decaf .mainContents article { margin-left: 0; } }

@media screen and (max-width: 909px) { .page-rewards-decaf { position: relative; } }

.mainContentsIn { position: relative; background-color: #006241; }

._layer { position: relative; }

.contArea__anchor { position: absolute; width: 0; height: 0; }

/* ----------------------------------------------------------
.block-header
---------------------------------------------------------- */
.area-header { position: relative; width: 611px; margin: 0 auto; height: 113px; z-index: 100; background: #1a3c34; }

.area-header img { width: 100%; }

.area-header ._title { position: absolute; top: 50%; left: 50%; height: auto; width: 167px; transform: translate(-50%, -50%); }

/* ----------------------------------------------------------
.block-scene
---------------------------------------------------------- */
.block-scene { position: relative; color: #fff; width: 611px; overflow: hidden; margin: 0 auto; background-color: #fff; }

.block-scene img { width: 100%; }

.contArea__wrap { padding: 0 55px; }

.contArea__top { color: #000; }

.contArea__top .top-kv img { width: 100%; }

.contArea__top .top-head { position: relative; padding: 54px 50px 39px; background: #d4e9e2; }

.contArea__top .top-head h2 { font-size: 46px; line-height: calc(56/46); font-weight: bold; text-align: center; margin-bottom: 36px; }

.contArea__top .top-head ._lead p { margin-bottom: 0; font-size: 25px; line-height: 2; }

.contArea__top .top-head ._lead p + p { margin-top: 1.7em; }

.contArea__top .top-head ._balloon { width: 238px; margin-top: 33px; margin-left: auto; margin-right: -40px; }

.contArea__block { position: relative; }

.contArea__block sup { font-size: 0.6em; }

.contArea__block ._header { padding: 70px 30px 66px; background: #fff; font-size: 38px; line-height: 1.7; font-weight: bold; text-align: center; color: #00754a; letter-spacing: 0.05em; }

.contArea__block ._header span { display: inline-block; padding-left: 0.5em; font-weight: inherit; }

.contArea__block ._flex { display: flex; }

.contArea__block ._flex--center { align-items: center; }

.contArea__block ._flex--between { justify-content: space-between; }

.contArea__block ._btn { display: block; padding: 13px 10px 14px; border: 2px solid #000; border-radius: 3em; text-align: center; font-size: 22px; line-height: 1.1; color: #000; font-weight: bold; background: #fff; }

.contArea ._block01 { color: #000; background: #f2f0eb; }

.contArea ._block01 h3 { font-size: 44px; line-height: calc(70/44); padding: 46px 0 16px; text-align: center; }

.contArea ._block01 .is-bg-visual { padding: 0 40px; }

.contArea ._block01 .is-bg-visual img { width: 100%; }

.contArea ._block01 .is-bg-visual .block-text { font-size: 22px; line-height: calc(46/22); font-weight: bold; margin-top: 12px; }

.contArea ._block01 .is-bg-visual .block-text div { font-weight: bold; }

.contArea ._block01 .is-bg-visual .note { font-size: 15px; line-height: 1.5; font-weight: normal; margin-top: 7px; }

.contArea ._block01 .block-items { padding: 0 45px; margin-top: 53px; display: flex; flex-wrap: wrap; justify-content: space-between; }

.contArea ._block01 .block-items .item { margin-bottom: 37px; }

.contArea ._block01 .block-items .item-img img { width: 100%; }

.contArea ._block01 .block-items .item-name { font-size: 22px; line-height: calc(36/22); font-weight: bold; display: block; margin-top: 5px; color: #000; text-decoration: none; }

.contArea ._block01 .wrap { padding: 0 45px 44px; }

.contArea ._block01 ._btn { font-size: 20px; line-height: 1; padding: 16px; border: 2px solid #000; border-radius: 99px; margin-top: 8px; letter-spacing: 0.11em; }

.contArea ._block01 .note { font-size: 15px; line-height: 1.5; font-weight: normal; margin-top: 12px; }

.contArea ._block02 { color: #000; padding: 0 40px 0; margin-bottom: 50px; }

.contArea ._block02 h3 { font-size: 44px; line-height: calc(70/44); padding: 44px 0 0 0; text-align: center; }

.contArea ._block02 ._lead { margin-top: 5px; margin-bottom: 57px; font-size: 22px; line-height: calc(46/22); font-weight: bold; }

.contArea ._block02 .on-store img { width: 100%; }

.contArea ._block02 .on-app { margin-top: 10px; background: #f2f0eb; padding-bottom: 39px; }

.contArea ._block02 .on-app img { width: 100%; }

.contArea ._block02 .on-app ._btn { font-size: 20px; line-height: 1; padding: 16px 20px; border-radius: 99px; margin: 29px 30px 0; letter-spacing: 0.14em; }

.contArea ._block03 { background: #f2f0eb; padding: 52px 40px 50px; color: #000; }

.contArea ._block03 h3 { font-size: 44px; line-height: calc(70/44); margin-bottom: 21px; text-align: center; }

.contArea ._block03 .block-img img { width: 100%; }

.contArea ._block03 .block-text { font-size: 22px; line-height: calc(36/22); font-weight: bold; margin-top: 22px; }

.contArea .block-icon { color: #000; padding: 48px 30px 20px; }

.contArea .block-icon .block-img { width: 251px; margin: 0 156px 0 auto; }

.contArea .block-icon .note { font-size: 15px; font-weight: normal; line-height: 1.5; margin-top: 45px; }

@media screen and (max-width: 610px) { .contArea__anchor { margin-top: -36px; padding-top: 36px; }
  .area-header-wap { height: auto; }
  .area-header { position: relative; width: 100vw; height: 18.49427vw; z-index: 100; background: #1a3c34; }
  .area-header img { width: 100%; }
  .area-header ._title { position: absolute; top: 50%; left: 50%; height: auto; width: 27.33224vw; transform: translate(-50%, -50%); }
  /* ---------------------------------------------------------- .block-scene ---------------------------------------------------------- */
  .block-scene { width: 100vw; margin: 0; }
  .contArea__wrap { padding: 0 9.00164vw; }
  .contArea__top .top-head { padding: 8.83797vw 8.18331vw 6.38298vw; }
  .contArea__top .top-head h2 { font-size: 7.52864vw; margin-bottom: calc(36/611*100vw); }
  .contArea__top .top-head ._lead p { font-size: 4.09165vw; }
  .contArea__top .top-head ._balloon { width: 38.95254vw; margin-top: 5.40098vw; margin-right: -6.54664vw; }
  .contArea ._block01 h3 { font-size: calc(44/611*100vw); padding: 7.52864vw 0 2.61866vw; }
  .contArea ._block01 .is-bg-visual { padding: 0 6.54664vw; }
  .contArea ._block01 .is-bg-visual .block-text { font-size: 3.60065vw; margin-top: 1.96399vw; }
  .contArea ._block01 .is-bg-visual .note { font-size: 2.45499vw; margin-top: 1.14566vw; }
  .contArea ._block01 .block-items { padding: 0 7.36498vw; margin-top: 8.6743vw; }
  .contArea ._block01 .block-items .item { margin-bottom: 6.05565vw; width: 39.27987vw; }
  .contArea ._block01 .block-items .item-name { font-size: 3.60065vw; margin-top: 0.81833vw; }
  .contArea ._block01 .wrap { padding: 0 7.36498vw 7.20131vw; }
  .contArea ._block01 ._btn { font-size: 3.27332vw; padding: 2.61866vw; margin-top: 1.30933vw; border-width: 1px; }
  .contArea ._block01 .note { font-size: 2.45499vw; margin-top: 1.96399vw; }
  .contArea ._block02 { padding: 0 6.54664vw 0; margin-bottom: 8.18331vw; }
  .contArea ._block02 h3 { font-size: 7.20131vw; padding: 7.20131vw 0 0 0; }
  .contArea ._block02 ._lead { margin-top: 0.81833vw; margin-bottom: 9.32897vw; font-size: 3.60065vw; }
  .contArea ._block02 .on-app { margin-top: 1.63666vw; padding-bottom: 6.38298vw; }
  .contArea ._block02 .on-app ._btn { font-size: 3.27332vw; padding: 2.78232vw 3.27332vw; margin: 4.74632vw 4.90998vw 0; border-width: 1px; }
  .contArea ._block03 { background: #f2f0eb; padding: 8.51064vw 6.54664vw 8.18331vw; color: #000; }
  .contArea ._block03 h3 { font-size: 7.20131vw; line-height: calc(70/44); margin-bottom: 3.43699vw; text-align: center; }
  .contArea ._block03 .block-img img { width: 100%; }
  .contArea ._block03 .block-text { font-size: 3.60065vw; line-height: calc(36/22); font-weight: bold; margin-top: 3.60065vw; }
  .contArea .block-icon { padding: 7.85597vw 4.90998vw 3.27332vw; }
  .contArea .block-icon .block-img { width: 41.0802vw; margin: 0 25.53191vw 0 auto; }
  .contArea .block-icon .note { font-size: 2.45499vw; margin-top: 7.36498vw; } }
