@charset "UTF-8";
/*! minireset.css v0.0.3 | MIT License | github.com/jgthms/minireset.css */
html,body,p,ol,ul,li,dl,dt,dd,blockquote,figure,fieldset,legend,textarea,pre,iframe,hr,h1,h2,h3,h4,h5,h6{margin:0;padding:0;}h1,h2,h3,h4,h5,h6{font-size:100%;font-weight:normal;}ul{list-style:none;}button,input,select,textarea{margin:0;}html{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}*,*:before,*:after{-webkit-box-sizing:inherit;-moz-box-sizing:inherit;box-sizing:inherit;}img,embed,iframe,object,audio,video{height:auto;max-width:100%;}iframe{border:0;}table{border-collapse:collapse;border-spacing:0;}td,th{padding:0;text-align:left;}*{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;}a:link,a:hover,a:active,a:visited{text-decoration:none;}select,textarea,input[type=number],input[type=text],input[type=date]{font-family:'Roboto','arial',"メイリオ","ＭＳ Ｐゴシック","Hiragino Kaku Gothic Pro",sans-serif;}

/* iOSでのデフォルトスタイルをリセット */
input[type="submit"],input[type="button"]{-webkit-box-sizing:content-box;-webkit-appearance:button;appearance:button;-moz-appearance:button;border:none;-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box;cursor:pointer;}input[type="submit"]::-webkit-search-decoration,input[type="button"]::-webkit-search-decoration{display:none;}input[type="submit"]::focus,input[type="button"]::focus{outline-offset:-2px;}input[type=number],input[type=text]{-webkit-border-radius:0;-webkit-appearance: none;-webkit-tap-highlight-color: rgba(0, 0, 0, 0);}select{background-color:#eee;padding:10px;font-size:1.6rem;border: 1px solid #ddd;}

/******************
  ボタン
  ******************/
/* 戻るボタン */
  .d-25r-page-back-button-wrapper {
  margin: auto;
  max-width: 768px;
  width: 100%;
}
.d-25r-page-back-button {
  position: relative;
  padding-left: 2.6rem;
  background-color: #F9E5EA;
  border: none;
  display: block;
  line-height: 1;
  font-size: 1.4rem;
  padding: 1.5rem 2rem 1.5rem 2.6rem;
  text-align: left;
  width: 100%;
}
.d-25r-page-back-button:before {
  content: "";
  position: absolute;
  top: 50%;
  left: 1rem;
  width: 8px;
  height: 8px;
  border-bottom: solid 1px #CC0033;
  border-left: solid 1px #CC0033;
  -webkit-transform: rotate(45deg) translate(-20%, -50%);
          transform: rotate(45deg) translate(-20%, -50%);
}

/* テキストリンク */
.d-25r-text-link {
  position: relative;
  padding-right: 1.6rem;
  display: block;
  font-size: 1.4rem;
  margin: 0 auto;
  width: 100%;
}
.d-25r-text-link:before {
  content: "";
  position: absolute;
  top: 50%;
  width: 8px;
  height: 8px;
  right: 0rem;
  border-top: solid 1px #CC0033;
  border-bottom: none;
  border-left: none;
  border-right: solid 1px #CC0033;
  -webkit-transform: rotate(45deg) translate(-50%, -20%);
          transform: rotate(45deg) translate(-50%, -20%);
}
.d-25r-text-link.right {
  text-align: right;
}

/* 赤背景ボタン */
.d-25r-link-button-full-size {
  position: relative;
  padding-right: 3.2rem;
  background-color: #CC0033;
  border-radius: 20px;
  color: #FFFFFF;
  display: block;
  font-size: 1.4rem;
  max-width: 340px;
  margin: 0 auto;
  text-align: center;
  padding: 1rem 1.6rem;
  width: 100%;
}
/* 白背景ボタン */
.d-25r-link-button-full-size.white {
  position: relative;
  background-color: #fff;
  border: 1px solid #737373;
  color: #202326;
}
.d-25r-link-button-full-size.white:before {
  content: "";
  position: absolute;
  top: 50%;
  width: 8px;
  height: 8px;
  right: 1.6rem;
  border-top: 1px solid #c03;
  border-bottom: none;
  border-left: none;
  border-right: 1px solid #c03;
  -webkit-transform: rotate(45deg) translate(-50%, -20%);
  transform: rotate(45deg) translate(-50%, -20%);
}

/******************
  コンテンツ枠
  ******************/
/* タイトル付きコンテンツ枠 */
.d-25r-contents-box-with-heading {
  margin: auto;
  max-width: 768px;
  width: 100%;
  background-color: #D6325B;
}
.d-25r-contents-box-with-heading h2 {
  color: #FFFFFF;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 1.1rem 3rem;
  position: relative;
}
.d-25r-contents-box-with-heading h2:before {
  background-color: #FFFFFF;
  border-radius: 50%;
  content: "";
  height: 2.8rem;
  width: 2.8rem;
  mix-blend-mode: soft-light;
  position: absolute;
  top: 1.1rem;
  left: -1.4rem;
}
.d-25r-contents-box-with-heading-inner {
  background-color: #FFFFFF;
  border-top-left-radius: 40px;
  padding: 2rem;
  overflow: hidden;
}
@media screen and (min-width: 640px) {
  .d-25r-contents-box-with-heading-inner {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}

/* コンテンツ枠 */
.d-25r-contents-box {
  margin: auto;
  max-width: 768px;
  width: 100%;
  background-color: #CC0033;
  padding-top: 1.5rem;
}
.d-25r-contents-box.under-h1 {
  padding-top: 0;
}
.d-25r-contents-box-inner {
  background-color: #FFFFFF;
  border-top-left-radius: 40px;
  padding: 2rem;
}
@media screen and (min-width: 640px) {
  .d-25r-contents-box-inner {
    padding-left: 4rem;
    padding-right: 4rem;
  }
}
.d-25r-contents-box-inner.square {
  border-top-left-radius: 0;
}

/******************
  見出し
  ******************/
/* H1 */
.d-25r-heading-1 {
  margin: auto;
  max-width: 768px;
  width: 100%;
  background-color: #CC0033;
  color: #FFFFFF;
  font-size: 1.8rem;
  font-weight: bold;
  padding: 1.1rem 3rem;
  position: relative;
}
.d-25r-heading-1:before {
  background-color: #FFFFFF;
  border-radius: 50%;
  content: "";
  height: 2.8rem;
  width: 2.8rem;
  mix-blend-mode: soft-light;
  position: absolute;
  top: 1.1rem;
  left: -1.4rem;
}

/* H3 */
.d-25r-heading3 {
  font-size: 1.6rem;
  font-weight: bold;
  margin-bottom:1.5rem;
}


/******************
  アンカーリンクリスト
  ******************/
.d-25r-anchor-list > li {
  background-image: url(/fnt/cms/design_img/renewal2025/common_anchor_icon.svg);
  background-size: 13px 13px;
  background-repeat: no-repeat;
  background-position: right calc(50% + 2.5px);
  border-bottom: solid 1px #D8D9DB;
  padding: 1.5rem 2rem 1rem 0;
}
.d-25r-anchor-list > li:first-child {
  background-position: right calc(50% - 5px);
  padding-top: 0;
}
.d-25r-anchor-list > li > a {
  font-size: 1.4rem;
  display: block;
}

/******************
  画像
  ******************/
/* 画像 */
.d-25r-image {
  display: block;
  margin: auto;
  width: 220px;
}
.d-25r-image.wide {
  max-width: 400px;
  width: 100%;
}
/* 画像注釈 */
.d-25r-image-annotation {
  color: #737373;
  font-size: 1rem;
  margin: 0.5rem auto 0;
  width: 220px;
}
.d-25r-image-annotation.wide {
  max-width: 400px;
  width: 100%;
}

/******************
  テキスト
  ******************/
/* 段落 */
.d-25r-paragraph {
  font-size: 1.4rem;
  margin-bottom: 1.5rem;
}
.d-25r-paragraph a {
  text-decoration: underline;
}

/* 注釈 */
.d-25r-annotation {
  color: #737373;
  font-size: 1rem;
}
/******************
  タブ
  ******************/
/* タブ（ボタン２つ） */
.d-25r-tab {
  margin: auto;
  max-width: 768px;
  width: 100%;
}
.d-25r-tab-inner {
  padding: 0 2rem;
}
@media screen and (min-width: 640px) {
  .d-25r-tab-inner {
    padding: 0 4rem;
  }
}
.d-25r-tab ul {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin: 1rem 0;
}
.d-25r-tab li {
  width: 48%;
}
.d-25r-tab a, 
.d-25r-tab button {
  border-radius: 10px;
  border: solid 1px #EAEAEA;
  background-color: #FFFFFF;
  color: #737373;
  display: block;
  font-size: 1.4rem;
  line-height: 1;
  padding: 0.5rem 1.3rem;
  text-align: center;
  width: 100%;
}
.d-25r-tab a.current, button.current {
  border-color: #CC0033;
  background-color: #CC0033;
  color: #FFFFFF;
}
/******************
  セクション区切り
  ******************/
.d-25r-hr {
  border: 0;
  border-top: 1px solid #D8D9DB;
  display: block;
  margin-left: -2rem;
  margin-right: -2rem;
}
@media screen and (min-width: 640px) {
  .d-25r-hr {
    margin-left: -4rem;
    margin-right: -4rem;
  }
}

/******************
  シーン・ライフスタイルから探す
  ******************/
/* リンク集 */
.d-25r-case-link-list {
  margin: 2rem auto 0;
  max-width: 768px;
  width: 100%;
}
.d-25r-case-link-list-inner {
  display: flex;
  flex-wrap: wrap;
  padding: 0 2rem;
}
@media screen and (min-width: 640px) {
  .d-25r-case-link-list-inner {
    padding: 0 4rem;
  }
}
.d-25r-case-link-list-item {
  margin-right: 2%;
  margin-bottom: 2rem;
  width: 32%;
}
.d-25r-case-link-list-item:nth-child(3n) {
  margin-right: 0;
}
.d-25r-case-link {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.d-25r-case-link-icon {
  background-position: center center;
  background-repeat: no-repeat;
  background-size: contain;
  display: block;
  height: 25px;
  margin-bottom: 1rem;
  width: 25px;
}
.d-25r-case-link-title {
  font-size: 1.2rem;
  font-weight: bold;
  text-align: center;
}

/* コンテンツリスト */
.d-25r-contents-list {
  display: flex;
  flex-wrap: wrap;
}
.d-25r-contents-list-item {
  margin-right: 2%;
  margin-bottom: 1.5rem;
  width: 48%;
}
.d-25r-contents-list-item:nth-child(2n) {
  margin-right: 0;
}
@media screen and (min-width: 640px) {
  .d-25r-contents-list-item {
    margin-right: 2%;
    width: 23.5%;
  }
  .d-25r-contents-list-item:nth-child(2n) {
    margin-right: 2%;
  }
  .d-25r-contents-list-item:nth-child(4n) {
    margin-right: 0;
  }
}
.d-25r-contents-list-image {
  margin-bottom: 1rem;
  width: 100%;
}
.d-25r-contents-list-title {
  display: -webkit-box;
  font-size: 1.5rem;
  font-weight: normal;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}
.d-25r-contents-list-label {
  border-radius: 3px;
  color: #FFF;
  display: inline-block;
  font-size: 1rem;
  font-weight: 500;
  margin-right: 0.5rem;
  margin-top: 0.1rem;
  padding: 0.4rem 0.5rem;
}
.d-25r-contents-list-label.android {
  background-color: #3EB350;
}
.d-25r-contents-list-label.ios {
  background-color: #519CD3;
}
.d-25r-contents-list-label.rakuraku {
  background-color: #C955AE;
}
.d-25r-contents-list-description {
  color: #737373;
  display: -webkit-box;
  font-size: 1.2rem;
  margin-top: 0.5rem;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

/* クーポンリスト */
.d-25r-coupon-list {
  display: flex;
  flex-wrap: wrap;
  margin-top: -1rem;
  margin-bottom: -1rem;
}
.d-25r-coupon-list-item {
  padding: 1rem 0;
  margin-right: 2%;
  min-width: 48%;
  width: 48%;
}
.d-25r-coupon-list-item:nth-child(2n) {
  margin-right: 0;
}
@media screen and (min-width: 640px) {
  .d-25r-coupon-list-item {
    margin-right: 2%;
    min-width: 23.5%;
    width: 23.5%;
  }
  .d-25r-coupon-list-item:nth-child(2n) {
    margin-right: 2%;
  }
  .d-25r-coupon-list-item:nth-child(4n) {
    margin-right: 0;
  }
}
.d-25r-coupon {
  -webkit-filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.2));
          filter: drop-shadow(0 3px 4px rgba(0, 0, 0, 0.2));
  position: relative;
}
.d-25r-coupon-mask {
  width: 100%;
  opacity: 0;
}
.d-25r-coupon-inner {
  background-color: #fff;
  height: 100%;
  width: 100%;
  -webkit-mask-image: url(/fnt/cms/design_img/renewal2025/case/coupon_mask.svg);
          mask-image: url(/fnt/cms/design_img/renewal2025/case/coupon_mask.svg);
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: top;
          mask-position: top;
  -webkit-mask-size: 100%;
          mask-size: 100%;
  overflow: hidden;
  position: absolute;
  top: 0;
  text-align: center;
}
.d-25r-coupon-visual-wrapper {
  display: block;
  position: relative;
  overflow: hidden;
}
.d-25r-coupon-visual-base {
  width: 100%;
  opacity: 0;
}
.d-25r-coupon-visual {
  -o-object-fit: cover;
     object-fit: cover;
  height: 100%;
  width: 100%;
  position: absolute;
  top: 0;
}
.d-25r-coupon-line {
  display: block;
  background-image: url(/fnt/cms/design_img/renewal2025/case/coupon_line.svg);
  height: 4px;
  width: 100%;
  margin-top: -2px;
  position: relative;
}
.d-25r-coupon-text-box {
  margin: 8px 1rem 0;
  text-align: left;
  height: 100%;
}
.d-25r-coupon-text-box a {
  display: block;
  height: 100%;
}
.d-25r-coupon-shop {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 1;
  font-size: 1.3rem;
}
.d-25r-coupon-title {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #CC0033;
  font-size: 1.6rem;
  font-weight: bold;
  line-height: 1.3;
  margin-top: 0.6rem;
}

/* 今すぐ参加できる抽選コンテンツ */
.d-25r-lottery-navigation {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -webkit-justify-content: space-between;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
.d-25r-lottery-navigation li {
  position: relative;
  width: 31%;
}
.d-25r-lottery-navigation a {
  border-radius: 10px;
  -webkit-box-shadow: 0 1px 6px rgba(0, 0, 0, 0.15);
          box-shadow: 0 1px 6px rgba(0, 0, 0, 0.15);
  display: block;
  height: 110px;
  width: 100%;
  position: relative;
}
.d-25r-lottery-navigation-background {
  background-position: center;
  background-repeat: no-repeat;
  height: 55px;
  width: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
.d-25r-lottery-navigation-lottery .d-25r-lottery-navigation-background {
  background-image: url(/fnt/cms/design_img/renewal2025/case/image_lottery_lottery.png);
  background-size: 30px 30px;
}
.d-25r-lottery-navigation-dpoint .d-25r-lottery-navigation-background {
  background-image: url(/fnt/cms/design_img/renewal2025/case/image_lottery_dpoint.png);
  background-size: 30px 30px;
}
.d-25r-lottery-navigation-medal .d-25r-lottery-navigation-background {
  background-image: url(/fnt/cms/design_img/renewal2025/case/image_lottery_medal.png);
  background-size: 28.47px 32px;
}
.d-25r-lottery-navigation-text {
  font-size: 1.2rem;
  text-align: center;
  padding-top: 55px;
  line-height: 1.2;
}
.d-25r-lottery-navigation-dpoint .d-25r-lottery-navigation-text {
  padding-top: 50px;
}
.d-25r-lottery-navigation-text span {
  color: #CC0033;
  font-size: 1.5rem;
  font-weight: bold;
  line-height: 1.2;
}

/******************
  余白調整
  ******************/
/* margin */
.d-25r-mgb-0 {
  margin-bottom: 0;
}
.d-25r-mgb-10 {
margin-bottom: 1rem;
}
.d-25r-mgb-15 {
margin-bottom: 1.5rem;
}
.d-25r-mgb-20 {
margin-bottom: 2rem;
}
.d-25r-mgb-25 {
margin-bottom: 2.5rem;
}

/* padding */
.d-25r-pgb-0 {
padding-bottom: 0;
}
.d-25r-no-padding {
padding: 0;
}