@charset "UTF-8";
/* =================================================
共通
==================================================== */
body {
  font-family: "メイリオ", Meiryo, "Hiragino Kaku Gothic ProN", Verdana, "游ゴシック", "Yu Gothic", YuGothic, sans-serif;
  font-size: 12px; }

img {
  width: 100%;
  height: auto; }

img.inlineImg {
  width: auto;
  height: auto; }

a {
  display: block;
  color: #373737;
  text-decoration: none; }

@media print, screen and (min-width: 768px) {
  a {
    line-height: 1.3; }

  a:hover {
    opacity: 0.7; } }
sub {
  font-size: smaller;
  vertical-align: top; }

/* 脱着して使うクラス名________________ */
.df {
  display: flex;
  display: -webkit-flex;
  justify-content: space-between; }

@media print, screen and (min-width: 768px) {
  .pc-df {
    display: flex;
    justify-content: space-between; } }
.fwBold {
  font-weight: bold; }

.taCenter {
  text-align: center; }

.taRight {
  text-align: right; }

.tIndent {
  padding-left: 1em;
  text-indent: -1em; }

.roundCorner {
  border-radius: 5px; }

.simpleLink {
  font-weight: bold;
  display: inline;
  text-decoration: underline;
  word-wrap: break-word; }

.alignitemsCenter {
  align-items: center; }

.img-100auto {
  width: 100%; }
  @media print, screen and (min-width: 768px) {
    .img-100auto img {
      width: auto;
      margin: 0 auto;
      display: block; } }

.img-100left {
  width: 100%; }
  @media print, screen and (min-width: 768px) {
    .img-100left img {
      width: auto;
      margin-right: auto;
      margin-left: 0;
      display: block; } }

.img-100right {
  width: 100%; }
  @media print, screen and (min-width: 768px) {
    .img-100right img {
      width: auto;
      margin-left: auto;
      margin-right: 0;
      display: block; } }

.cFix::after {
  content: ".";
  display: block;
  clear: both;
  height: 0;
  visibility: hidden; }

.noPointer {
  cursor: default; }
  .noPointer .noPointer:hover {
    opacity: 1; }

.table-fixed {
  table-layout: fixed; }

/* background-color */
.bgColor {
  background-color: #f2f2f2; }

.bgColor_theme {
  background-color: #2ca3db; }

.bgColor_lightblue {
  background-color: #c1e6f6; }

@media (max-width: 767px) {
  .bgColor_lightblueSp {
    background-color: #c1e6f6; } }

.bgColor_paleblue {
  background-color: #f5fbfd; }

.bgColor_brightblue {
  background-color: #eaf7fc; }

/* =================================================
出し分け
==================================================== */
@media (max-width: 767px) {
  .pc {
    display: none; } }
@media print, screen and (min-width: 768px) {
  .sp {
    display: none; } }
/* =================================================
タイトル
==================================================== */
.heading2 {
  font-size: 6vw;
  line-height: 1.3;
  position: relative;
  color: #373737; }
  @media print, screen and (min-width: 768px) {
    .heading2 {
      font-size: 18px;
      position: relative; } }
  .heading2_ttl {
    padding: 6vw 0; }
    @media print, screen and (min-width: 768px) {
      .heading2_ttl {
        padding: 44px 0 48px;
        margin-bottom: -28px; } }
    .heading2_ttl-ribon {
      background: url("/asset/img/common/img-ribon.png") no-repeat;
      background-size: 7vw;
      background-position: left 6.4vw;
      padding-left: 7vw;
      color: #373737; }
      @media print, screen and (min-width: 768px) {
        .heading2_ttl-ribon {
          background-size: 20px;
          background-position: left 44px;
          padding-left: 20px;
          padding-right: 47px; } }
    .heading2_ttl-bell {
      background: url("/asset/img/common/img-bell.png") no-repeat;
      background-size: 7vw;
      background-position: left 6.8vw;
      padding-left: 7vw;
      color: #373737; }
      @media print, screen and (min-width: 768px) {
        .heading2_ttl-bell {
          background-size: 21px;
          background-position: left 43px;
          padding-left: 20px;
          padding-right: 47px; } }
    .heading2_ttl-movie {
      background: url("/asset/img/common/img-movie.png") no-repeat;
      background-size: 6.5vw;
      background-position: left 6.5vw;
      padding-left: 7vw;
      color: #373737;
      border-bottom: 1px dashed;
      margin-bottom: 4vw; }
      @media print, screen and (min-width: 768px) {
        .heading2_ttl-movie {
          background-size: 21px;
          background-position: left 43px;
          padding-left: 20px;
          margin-bottom: 20px;
          margin-top: -20px;
          padding-bottom: 20px; } }
    @media print, screen and (min-width: 768px) {
      .heading2_ttl-pickup {
        font-size: 22px;
        letter-spacing: 1px; } }

/* オレンジの赤いバーが下にあるタイトル______________ */
.headeingShortBarOrange {
  font-size: 6vw;
  line-height: 1.3;
  position: relative;
  color: #373737; }
  @media print, screen and (min-width: 768px) {
    .headeingShortBarOrange {
      font-size: 22px;
      position: relative; } }
  .headeingShortBarOrange_ttl {
    padding: 0 0 8vw;
    position: relative; }
    @media print, screen and (min-width: 768px) {
      .headeingShortBarOrange_ttl {
        padding: 0px 0 48px;
        letter-spacing: 1px; } }
    .headeingShortBarOrange_ttl::before {
      position: absolute;
      margin: auto;
      content: "";
      vertical-align: middle;
      width: 5vw;
      height: 1vw;
      bottom: 4vw;
      right: 0;
      left: 0;
      background-color: #ea4109; }
      @media (min-width: 768px) {
        .headeingShortBarOrange_ttl::before {
          width: 16px;
          height: 5px;
          bottom: 27px; } }

/* 下に青い線が入るタイトル______________________ */
.heading4 {
  font-size: 6vw;
  line-height: 1.3;
  position: relative;
  color: #373737;
  border-bottom: 2px solid #0d64ac;
  padding: 6vw 0 3.7vw 4vw;
  margin-bottom: 5vw; }
  @media print, screen and (min-width: 768px) {
    .heading4 {
      font-size: 29px;
      padding: 10px 0;
      margin-bottom: 20px; } }

/* 『WAONとは』のタイトル______________________ */
.headingAbout {
  border-bottom: 2px solid #ea4109;
  padding: 6vw 0 3vw 1vw;
  margin-bottom: 5vw; }
  .headingAbout_ttl {
    width: 40vw; }
    @media print, screen and (min-width: 768px) {
      .headingAbout_ttl {
        width: 250px; } }
  @media print, screen and (min-width: 768px) {
    .headingAbout {
      padding: 30px 0 10px;
      margin-bottom: 10px; } }

/* 左に赤い線が入るタイトル______________________ */
.heading5 {
  font-size: 5vw;
  line-height: 1.3;
  position: relative;
  color: #373737;
  padding-left: 4vw;
  margin: 6vw 0 4vw;
  position: relative; }
  .heading5::before {
    content: "";
    vertical-align: middle;
    margin: auto;
    width: 1vw;
    height: 100%;
    position: absolute;
    border-radius: 100px;
    top: 0;
    left: 0;
    background-color: #ea4109; }
    @media (min-width: 768px) {
      .heading5::before {
        width: 7px;
        height: 100%;
        top: -2px; } }
  @media print, screen and (min-width: 768px) {
    .heading5 {
      font-size: 22px;
      padding-left: 16px;
      margin: 10px 0 28px;
      letter-spacing: 0.1em; } }

/* 左に赤い線が入らないタイトル______________________ */
.heading6 {
  font-size: 5vw;
  line-height: 1.3;
  position: relative;
  color: #373737;
  padding: 6vw 0 4vw; }
  @media print, screen and (min-width: 768px) {
    .heading6 {
      font-size: 22px;
      padding: 10px 0 15px;
      letter-spacing: 0.1em; } }

/* 左にアイコンが入るタイトル______________________ */
.heading4-icon {
  margin-bottom: 1.6vw;
  padding: 6vw 0 4vw; }
  @media print, screen and (min-width: 768px) {
    .heading4-icon {
      padding: 30px 0 2px; } }
  .heading4-icon-pointExchange {
    border-bottom: 4px solid #745bc5; }
  .heading4-icon-point {
    border-bottom: 4px solid #e0543e; }
  .heading4-icon-charge {
    border-bottom: 4px solid #6cbf8b; }
  .heading4-icon-campaign {
    border-bottom: 4px solid #e8a50b; }
  .heading4-icon-service {
    border-bottom: 4px solid #0d64ac; }
  .heading4-icon-shop {
    border-bottom: 4px solid #de5b9b; }
  .heading4-icon-campaign2 {
    border-bottom: 2px solid #0d64ac; }
  .heading4-icon-info {
    border-bottom: 2px solid #0d64ac; }

.heading4_ttl-icon {
  display: inline-block;
  vertical-align: middle;
  position: relative;
  padding-left: 14vw; }
  @media print, screen and (min-width: 768px) {
    .heading4_ttl-icon {
      padding-left: 60px; } }
  .heading4_ttl-icon::before {
    content: "";
    width: 11vw;
    height: 11vw;
    margin: 0 1vw 2vw 0;
    display: inline-block;
    vertical-align: middle;
    position: absolute;
    left: 1vw;
    top: -2vw; }
    @media print, screen and (min-width: 768px) {
      .heading4_ttl-icon::before {
        width: 40px;
        height: 40px;
        margin: 0 10px 5px 0;
        left: 5px;
        top: -5px; } }
  .heading4_ttl-icon-pointExchange::before {
    background: url(/asset/img/common/icon-title-pointExchange.png) no-repeat center;
    background-size: 100%;
    width: 11.6vw;
    height: 11.6vw; }
    @media print, screen and (min-width: 768px) {
      .heading4_ttl-icon-pointExchange::before {
        width: 45px;
        height: 45px; } }
  .heading4_ttl-icon-point::before {
    background: url(/asset/img/common/icon-title-point.png) no-repeat center;
    background-size: 100%; }
  .heading4_ttl-icon-charge::before {
    background: url(/asset/img/common/icon-title-charge.png) no-repeat center;
    background-size: 100%; }
    @media print, screen and (min-width: 768px) {
      .heading4_ttl-icon-charge::before {
        width: 45px;
        height: 45px; } }
  .heading4_ttl-icon-campaign::before {
    background: url(/asset/img/common/icon-title-campaign.png) no-repeat center;
    background-size: 100%;
    top: -8px; }
  .heading4_ttl-icon-service::before {
    background: url(/asset/img/common/icon-title-service.png) no-repeat center;
    background-size: 100%;
    top: -8px; }
  .heading4_ttl-icon-shop::before {
    background: url(/asset/img/common/icon-title-shop.png) no-repeat center;
    background-size: 100%;
    top: -6px; }
  .heading4_ttl-icon-campaign2::before {
    background: url(/asset/img/common/icon-title-campaign2.png) no-repeat center;
    background-size: 70%;
    top: -6px; }
  .heading4_ttl-icon-info::before {
    background: url(/asset/img/common/icon-title-info.png) no-repeat center;
    background-size: 90%;
    top: -6px; }

/* =================================================
装飾
==================================================== */
/* 右下三角______________________________ */
.triangle {
  position: relative; }
  .triangle::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    border: 2vw solid transparent;
    border-top: 2vw solid #e7380d;
    width: 0;
    height: 0;
    bottom: -0.5vw;
    right: -0.7vw;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg); }
    @media (min-width: 768px) {
      .triangle::before {
        border: 14px solid transparent;
        border-top: 14px solid #e7380d;
        bottom: -0.5vw;
        right: -0.5vw; } }

.triangle-blue {
  position: relative; }
  .triangle-blue::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    border: 2vw solid transparent;
    border-top: 2vw solid #e7380d;
    width: 0;
    height: 0;
    bottom: -0.5vw;
    right: -0.7vw;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-top: 2vw solid #2ca3db; }
    @media (min-width: 768px) {
      .triangle-blue::before {
        border: 14px solid transparent;
        border-top: 14px solid #e7380d;
        bottom: -0.5vw;
        right: -0.5vw; } }
    @media print, screen and (min-width: 768px) {
      .triangle-blue::before {
        border-top: 14px solid #2ca3db; } }

.triangle-green {
  position: relative; }
  .triangle-green::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    border: 2vw solid transparent;
    border-top: 2vw solid #e7380d;
    width: 0;
    height: 0;
    bottom: -0.5vw;
    right: -0.7vw;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-top: 2vw solid #6cbf8b; }
    @media (min-width: 768px) {
      .triangle-green::before {
        border: 14px solid transparent;
        border-top: 14px solid #e7380d;
        bottom: -0.5vw;
        right: -0.5vw; } }
    @media print, screen and (min-width: 768px) {
      .triangle-green::before {
        border-top: 14px solid #6cbf8b; } }

.triangle-purple {
  position: relative; }
  .triangle-purple::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    border: 2vw solid transparent;
    border-top: 2vw solid #e7380d;
    width: 0;
    height: 0;
    bottom: -0.5vw;
    right: -0.7vw;
    -ms-transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
    border-top: 2vw solid #745bc5; }
    @media (min-width: 768px) {
      .triangle-purple::before {
        border: 14px solid transparent;
        border-top: 14px solid #e7380d;
        bottom: -0.5vw;
        right: -0.5vw; } }
    @media print, screen and (min-width: 768px) {
      .triangle-purple::before {
        border-top: 14px solid #745bc5; } }

/* リンクボタン______________________________ */
.linkwrap {
  position: relative;
  display: inline-block; }
  .linkwrap::after {
    position: absolute;
    content: "";
    vertical-align: middle;
    margin: auto;
    width: 5vw;
    height: 5vw;
    top: 0;
    bottom: 0;
    right: -9vw;
    background: url(/asset/img/common/icon-link.png) no-repeat;
    background-size: contain;
    display: inline-block;
    margin-right: 1.5vw; }
    @media (min-width: 768px) {
      .linkwrap::after {
        width: 20px;
        height: 20px;
        width: 20px;
        height: 20px;
        right: -40px;
        margin: auto 0; } }

.linkwrap-blue {
  position: relative;
  display: inline-block; }
  .linkwrap-blue::after {
    position: absolute;
    content: "";
    vertical-align: middle;
    margin: auto;
    width: 5vw;
    height: 5vw;
    top: 0;
    bottom: 0;
    right: -9vw;
    background: url(/asset/img/common/icon-link.png) no-repeat;
    background-size: contain;
    display: inline-block;
    margin-right: 1.5vw;
    background: url(/asset/img/common/icon-link-blue.png) no-repeat;
    background-size: contain; }
    @media (min-width: 768px) {
      .linkwrap-blue::after {
        width: 20px;
        height: 20px;
        width: 20px;
        height: 20px;
        right: -40px;
        margin: auto 0; } }

/* RSS__________________________________ */
.rss {
  position: absolute;
  right: 0;
  top: 8.2vw;
  font-size: 3.5vw; }
  .rss a {
    color: #373737;
    display: inline-block; }
  .rss::before {
    content: "";
    vertical-align: middle;
    margin: auto;
    width: 6vw;
    height: 6vw;
    top: 0;
    bottom: 0;
    background: url("/asset/img/common/icon-rss.png") no-repeat;
    background-size: contain;
    display: inline-block;
    margin-right: 1.5vw; }
  @media (min-width: 768px) {
    .rss {
      right: 0;
      top: 50px;
      font-size: 13px; }
      .rss::before {
        width: 17px;
        height: 17px;
        margin-right: 7px; } }

/* リボン__________________________________ */
/* =================================================
ARROW
==================================================== */
/* 白矢印______________________________ */
.btn.arrow-white {
  position: relative;
  padding: 4vw 9vw 4vw 1vw; }
  @media print, screen and (min-width: 768px) {
    .btn.arrow-white {
      padding: 16px 46px 12px 3px; } }

.arrow-white::before {
  position: absolute;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 3.5vw;
  height: 3.5vw;
  top: 0;
  bottom: 0;
  right: 2vw;
  background: url("/asset/img/common/arrow-white.png") no-repeat;
  background-size: contain; }
  @media (min-width: 768px) {
    .arrow-white::before {
      width: 14px;
      height: 14px;
      top: 0;
      bottom: 0; } }

/* オレンジ矢印________________________ */
.btn.arrow-orange {
  position: relative;
  padding: 4vw 9vw 4vw 1vw; }
  @media print, screen and (min-width: 768px) {
    .btn.arrow-orange {
      padding: 16px 40px 12px 10px; } }

.arrow-orange::before {
  position: absolute;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 3.5vw;
  height: 3.5vw;
  top: 0;
  bottom: 0;
  right: 2vw;
  background: url("/asset/img/common/arrow-orange.png") no-repeat;
  background-size: contain; }
  @media (min-width: 768px) {
    .arrow-orange::before {
      width: 14px;
      height: 14px;
      top: 0;
      bottom: 0; } }

/* 白色プラス________________________ */
.btn.arrow-whitePlus {
  position: relative;
  padding: 4vw 9vw 4vw 1vw; }
  @media print, screen and (min-width: 768px) {
    .btn.arrow-whitePlus {
      padding: 16px 40px 12px 10px; } }

.arrow-whitePlus::before {
  position: absolute;
  margin: auto;
  content: "";
  vertical-align: middle;
  width: 3.5vw;
  height: 3.5vw;
  top: 0;
  bottom: 0;
  right: 2vw;
  background: url("/asset/img/common/img-whiteplus.png") no-repeat;
  background-size: contain; }
  @media (min-width: 768px) {
    .arrow-whitePlus::before {
      width: 14px;
      height: 14px;
      top: 0;
      bottom: 0; } }

/* アクアブルー矢印____________________ */
.arrow-blue {
  position: relative; }
  .arrow-blue::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    background: url("/asset/img/common/arrow-aquablue.png") no-repeat;
    background-size: contain; }
    @media (min-width: 768px) {
      .arrow-blue::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }

/* 白地に、濃い青丸矢印______________________ */
.arrow-darkblue {
  position: relative; }
  .arrow-darkblue::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    background: #fff url("/asset/img/common/arrow-darkblue.png") no-repeat center;
    background-size: contain;
    border-radius: 50%;
    right: auto;
    left: 3vw;
    width: 5vw;
    height: 5vw;
    background-size: 3.4vw; }
    @media (min-width: 768px) {
      .arrow-darkblue::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .arrow-darkblue::before {
        right: auto;
        left: 15px;
        width: 20px;
        height: 20px;
        background-size: 15px; } }

/* 白地に、テーマカラー青の丸矢印______________________ */
.arrow-aquablue {
  position: relative; }
  .arrow-aquablue::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    background: #fff url("/asset/img/common/arrow-aquablue.png") no-repeat center;
    background-size: contain;
    border-radius: 50%;
    right: auto;
    left: 3vw;
    width: 5vw;
    height: 5vw;
    background-size: 3.4vw; }
    @media (min-width: 768px) {
      .arrow-aquablue::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .arrow-aquablue::before {
        right: auto;
        left: 15px;
        width: 20px;
        height: 20px;
        background-size: 15px; } }

/* テーマカラー青の丸に白の矢印______________________ */
.arrow-whiteBlue {
  position: relative; }
  .arrow-whiteBlue::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    background: #2ca3db url("/asset/img/common/arrow-white.png") no-repeat center;
    background-size: contain;
    border-radius: 50%;
    right: auto;
    left: 3vw;
    width: 5vw;
    height: 5vw;
    background-size: 3.4vw; }
    @media (min-width: 768px) {
      .arrow-whiteBlue::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .arrow-whiteBlue::before {
        right: auto;
        left: 20px;
        width: 20px;
        top: 6px;
        height: 20px;
        background-size: 15px; } }

/* オレンジの丸に白の矢印______________________ */
.arrow-whiteOrange {
  position: relative; }
  .arrow-whiteOrange::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    background: #ea4109 url("/asset/img/common/arrow-white.png") no-repeat center;
    background-size: contain;
    border-radius: 50%;
    right: auto;
    left: 3vw;
    width: 5vw;
    height: 5vw;
    background-size: 3.4vw; }
    @media (min-width: 768px) {
      .arrow-whiteOrange::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .arrow-whiteOrange::before {
        right: auto;
        left: 20px;
        width: 20px;
        top: 6px;
        height: 20px;
        background-size: 15px; } }

/* 白の丸にオレンジの矢印______________________ */
.arrow-orangeWhite {
  position: relative; }
  .arrow-orangeWhite::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    background: #fff url("/asset/img/common/arrow-lightorange.png") no-repeat center;
    background-size: contain;
    border-radius: 50%;
    right: auto;
    left: 3vw;
    width: 5vw;
    height: 5vw;
    background-size: 3.4vw; }
    @media (min-width: 768px) {
      .arrow-orangeWhite::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .arrow-orangeWhite::before {
        right: auto;
        left: 20px;
        width: 20px;
        top: 6px;
        height: 20px;
        background-size: 15px; } }

/* 白の丸に赤い矢印______________________ */
.arrow-redWhite {
  position: relative; }
  .arrow-redWhite::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    background: #fff url("/asset/img/common/arrow-orange.png") no-repeat center;
    background-size: contain;
    border-radius: 50%;
    right: auto;
    left: 3vw;
    width: 5vw;
    height: 5vw;
    background-size: 3.4vw; }
    @media (min-width: 768px) {
      .arrow-redWhite::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .arrow-redWhite::before {
        right: auto;
        left: 20px;
        width: 20px;
        top: 6px;
        height: 20px;
        background-size: 15px; } }

/* 白地の丸に青三角の矢印______________________ */
.arrow-whiteBlueTriangle {
  position: relative; }
  .arrow-whiteBlueTriangle::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    background: #fff url("/asset/img/common/arrow-triangleblue.png") no-repeat center;
    background-size: contain;
    border-radius: 50%;
    right: auto;
    left: 3vw;
    width: 5vw;
    height: 5vw;
    background-size: 3.4vw; }
    @media (min-width: 768px) {
      .arrow-whiteBlueTriangle::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .arrow-whiteBlueTriangle::before {
        right: auto;
        left: 15px;
        width: 20px;
        height: 20px;
        background-size: 15px; } }

/* 白地の丸に青三角の矢印______________________ */
.arrow-whiteBlueTriangle-top {
  position: relative; }
  .arrow-whiteBlueTriangle-top::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    background: #fff url("/asset/img/common/arrow-triangleblue-top.png") no-repeat center;
    background-size: contain;
    border-radius: 50%;
    right: auto;
    left: 3vw;
    width: 5vw;
    height: 5vw;
    background-size: 3.4vw; }
    @media (min-width: 768px) {
      .arrow-whiteBlueTriangle-top::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .arrow-whiteBlueTriangle-top::before {
        right: auto;
        left: 15px;
        width: 20px;
        height: 20px;
        background-size: 15px; } }

/* 白地の丸にdarkgoldの矢印______________________ */
.arrow-darkgold {
  position: relative; }
  .arrow-darkgold::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    background: #fff url("/asset/img/common/arrow-darkgold.png") no-repeat center;
    background-size: contain;
    border-radius: 50%;
    right: auto;
    left: 3vw;
    width: 5vw;
    height: 5vw;
    background-size: 3.4vw; }
    @media (min-width: 768px) {
      .arrow-darkgold::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .arrow-darkgold::before {
        right: auto;
        left: 15px;
        width: 20px;
        height: 20px;
        background-size: 15px; } }

/* 白地の丸にdarkgoldの矢印______________________ */
.arrow-lightgold {
  position: relative; }
  .arrow-lightgold::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    background: #fff url("/asset/img/common/arrow-lightgold.png") no-repeat center;
    background-size: contain;
    border-radius: 50%;
    right: auto;
    left: 3vw;
    width: 5vw;
    height: 5vw;
    background-size: 3.4vw; }
    @media (min-width: 768px) {
      .arrow-lightgold::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .arrow-lightgold::before {
        right: auto;
        left: 15px;
        width: 20px;
        height: 20px;
        background-size: 15px; } }

/* SPでは右、PCでは左______________________ */
@media (max-width: 767px) {
  .arrow-darkblue-sppc {
    position: relative; }
    .arrow-darkblue-sppc::before {
      position: absolute;
      margin: auto;
      content: "";
      vertical-align: middle;
      width: 3.5vw;
      height: 3.5vw;
      top: 0;
      bottom: 0;
      right: 2vw;
      background: url("/asset/img/common/arrow-white.png") no-repeat;
      background-size: contain; } }
    @media (max-width: 767px) and (min-width: 768px) {
      .arrow-darkblue-sppc::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }
  @media print and (max-width: 767px), screen and (max-width: 767px) and (min-width: 768px) {
    .arrow-darkblue-sppc {
      position: relative; }
      .arrow-darkblue-sppc::before {
        position: absolute;
        margin: auto;
        content: "";
        vertical-align: middle;
        top: 0;
        bottom: 0;
        background: #fff url("/asset/img/common/arrow-darkblue.png") no-repeat center;
        background-size: contain;
        border-radius: 50%;
        right: auto;
        left: 15px;
        width: 20px;
        height: 20px;
        background-size: 15px; } }

/* =================================================
ボタン
==================================================== */
.btnWrap {
  font-size: 4.5vw;
  color: #fff;
  margin: 5vw 0;
  overflow: hidden;
  border-radius: 5px;
  /* ボタンに影 */ }
  @media print, screen and (min-width: 768px) {
    .btnWrap {
      font-size: 20px;
      margin: 20px auto 50px;
      width: 500px; } }
  .btnWrap.circleBalloon {
    overflow: visible; }
  .btnWrap-whiteblue {
    border-bottom: 3px solid #0d64ac; }
  .btnWrap-orange {
    border-bottom: 3px solid #ea4109; }
  .btnWrap-lightGold {
    border-bottom: 3px solid #bbae9f; }
  .btnWrap-darkGold {
    border-bottom: 3px solid #8a7458; }
  .btnWrap-lightOrange {
    border-bottom: 3px solid #db650e; }
  .btnWrap-redWhite {
    border-bottom: 3px solid #c72114; }

.btn {
  padding: 4vw 1vw 4vw 9vw;
  border: 3px solid #0d64ac;
  line-height: 1.2; }
  @media print, screen and (min-width: 768px) {
    .btn {
      padding: 10px 20px 10px 40px; } }
  .btn.link {
    padding: 4vw 1vw 4vw 0; }
    @media print, screen and (min-width: 768px) {
      .btn.link {
        padding: 10px 20px 10px 10px; } }

@media (max-width: 767px) {
  .oneBtn {
    margin: 0; } }

/* ボタンとその下に注釈のやつ */
@media print, screen and (min-width: 768px) {
  .btn-comment {
    width: 500px;
    margin: 0 auto;
    margin-top: -28px auto -23px; } }
.btn-comment_text {
  margin-top: 3vw;
  font-size: 3.2vw; }
  @media print, screen and (min-width: 768px) {
    .btn-comment_text {
      font-size: 12px;
      margin-top: 15px; } }

.btn-white {
  color: #0d64ac;
  background-color: #fff; }

.btn-blue {
  color: #fff;
  background-color: #0d64ac;
  border: 3px solid #0d64ac; }

/* 文字が長すぎて、arrowに食い込む時 */
.pl20 .btn {
  padding-left: 8vw; }
  @media print, screen and (min-width: 768px) {
    .pl20 .btn {
      padding-left: 15px; } }

.btn-smalltext {
  font-size: 3.3vw;
  font-weight: normal; }
  @media print, screen and (min-width: 768px) {
    .btn-smalltext {
      font-size: 12px;
      margin-left: 0px;
      letter-spacing: 0.1em; } }

/* ___________________________ */
.btn-skyblue {
  color: #fff;
  background-color: #2ca3db;
  border: 3px solid #2ca3db; }

.btn-orange {
  color: #ea4109;
  background-color: #fff;
  border: 2px solid #ea4109; }

.btn-lightOrange {
  color: #fff;
  background-color: #fd8824;
  border: 2px solid #fd8824; }

.btn-whiteblue {
  color: #2ca3db;
  background-color: #fff;
  border: 2px solid #2ca3db; }

.btn-blackblue {
  color: #373737;
  background-color: #fff;
  border: 2px solid #2ca3db; }

.btn-lightGold {
  color: #8a7458;
  background-color: #f2f0ea;
  border: 2px solid #f2f0ea; }

.btn-darkGold {
  color: #fff;
  background-color: #ba9d76;
  border: 2px solid #ba9d76; }

.btn-redWhite {
  color: #fff;
  background-color: #ea4109;
  border: 2px solid #ea4109; }

.btn-acdn {
  color: #373737;
  background-color: #f8f7f3;
  border: 3px solid #f8f7f3;
  padding: 2vw 8vw 2vw 14vw; }

.btn-linkOrange {
  color: #fff;
  background: #ea4109;
  border: 3px solid #ea4109; }
  .btn-linkOrange::before {
    background: #fff url("/asset/img/common/arrow-orange.png") no-repeat center;
    background-size: 3.4vw; }

@media print, screen and (min-width: 768px) {
  .btn-linkOrange::before {
    background-size: 80%; } }
/* =================================================
テキスト
==================================================== */
.planetxt {
  font-size: 4vw;
  line-height: 1.3;
  color: #373737; }
  @media print, screen and (min-width: 768px) {
    .planetxt {
      font-size: 14px;
      line-height: 1.5; } }
  .planetxt-mini {
    font-size: 2.6vw; }
    @media print, screen and (min-width: 768px) {
      .planetxt-mini {
        font-size: 12px; } }
  .planetxt-large {
    font-size: 4.5vw;
    line-height: 1.2; }
    @media print, screen and (min-width: 768px) {
      .planetxt-large {
        font-size: 18px; } }

@media print, screen and (min-width: 768px) {
  .planetxt-mt10 {
    margin-top: 10px; } }

.bluefont {
  font-size: 5vw;
  line-height: 1.7;
  color: #0d64ac; }
  @media print, screen and (min-width: 768px) {
    .bluefont {
      font-size: 24px; } }

.orangefont {
  font-size: 4vw;
  line-height: 1.5;
  color: #fd8824; }
  @media print, screen and (min-width: 768px) {
    .orangefont {
      font-size: 18px; } }

.underlinefont {
  line-height: 1.5;
  text-decoration: underline; }

.underlinefont-red {
  line-height: 1.5;
  border-bottom: 1px solid #d40015; }

.bluefont-small {
  color: #0d64ac;
  font-size: 4vw;
  line-height: 1.5; }
  @media print, screen and (min-width: 768px) {
    .bluefont-small {
      font-size: 18px;
      margin-bottom: 10px; } }

/* =================================================
カラーボックス
==================================================== */
@media print, screen and (min-width: 768px) {
  .colorBox {
    border-radius: 5px;
    padding: 40px 0; } }
.colorBox_text {
  color: #373737;
  font-size: 4vw;
  line-height: 1.3; }
  @media print, screen and (min-width: 768px) {
    .colorBox_text {
      font-size: 14px;
      line-height: 1.8;
      text-align: center; } }

/* 青色______________________________ */
.colorBox-blue {
  background-color: #c1e6f6; }

/* 淡い青色______________________________ */
.colorBox-brightblue {
  background-color: #eaf7fc; }

/* グレー____________________________ */
.colorBox-gray {
  background-color: #f2f2f2; }

/* 白____________________________ */
.colorBox-white {
  background-color: #fff; }

/* =================================================
その他
==================================================== */
/* planeList_________________________ */
.planeList li {
  line-height: 1.6; }

/* dotList_________________________ */
.dotList li {
  line-height: 1.6;
  padding-left: 1em;
  text-indent: -0.7em;
  padding-left: 6vw; }
  @media print, screen and (min-width: 768px) {
    .dotList li {
      padding-left: 20px; } }
  .dotList li::before {
    content: '';
    width: 2.8vw;
    height: 2.8vw;
    display: inline-block;
    border-radius: 100%;
    background: #373737;
    position: relative;
    left: -2vw;
    top: -0.5vw;
    vertical-align: middle; }
    @media print, screen and (min-width: 768px) {
      .dotList li::before {
        content: '';
        width: 9px;
        height: 9px;
        left: -7px;
        top: -2px; } }

/*青色丸数字_________________________ */
.private-numbers {
  padding-left: 2em;
  position: relative; }
  .private-numbers:before {
    position: absolute;
    top: 0;
    left: 0;
    background: #0d64ac;
    border-radius: 50px;
    border: 5px solid #0d64ac;
    height: 1.2em;
    width: 1.2em;
    line-height: 1.2em;
    text-align: center;
    display: inline-block;
    color: #fff; }
  .private-numbers.privateNo01:before {
    content: '1'; }
  .private-numbers.privateNo02:before {
    content: '2'; }
  .private-numbers.privateNo03:before {
    content: '3'; }
  .private-numbers.privateNo04:before {
    content: '4'; }
  .private-numbers.privateNo05:before {
    content: '5'; }

/* =================================================
リンク
==================================================== */
/* 左寄せアイコン */
.link-icon {
  margin: 5vw 0 0 0;
  font-size: 4vw;
  padding-left: 4vw;
  word-wrap: break-word; }
  @media print, screen and (min-width: 768px) {
    .link-icon {
      margin: 15px 10px 0 0;
      font-size: 14px;
      padding-left: 22px; } }
  .link-icon .link-icon_img {
    display: inline;
    position: relative;
    color: #373737; }
    .link-icon .link-icon_img::before {
      position: absolute;
      margin: auto;
      content: "";
      vertical-align: middle;
      width: 3.5vw;
      height: 3.5vw;
      top: 0;
      bottom: 0;
      right: 2vw;
      position: absolute;
      margin: auto;
      content: "";
      vertical-align: middle;
      right: auto;
      width: 3.5vw;
      height: 3.5vw;
      top: 3px;
      bottom: auto;
      left: -5vw; }
      @media (min-width: 768px) {
        .link-icon .link-icon_img::before {
          width: 14px;
          height: 14px;
          top: 0;
          bottom: 0; } }
      @media print, screen and (min-width: 768px) {
        .link-icon .link-icon_img::before {
          width: 15px;
          height: 15px;
          right: auto;
          left: -22px;
          top: -2px; } }

/* 左寄せアイコンのPDF */
.link-pdf_left::before {
  background: url(/asset/img/common/icon-pdf.png) no-repeat;
  background-size: contain; }

/* 左寄せアイコンの水色四角 */
.arrow-square-blue::before {
  background: url(/asset/img/common/arrow-square-blue.png) no-repeat;
  background-size: contain; }

/* 左寄せアイコンの水色四角 */
.link-down-orange::before {
  background: url(/asset/img/common/arrow-linkdown-orange.png) no-repeat;
  background-size: contain; }

/* 左寄せアイコンの水色四角 */
.link-win::before {
  background: url(/asset/img/common/icon-win.png) no-repeat;
  background-size: contain; }

/* 左寄せアイコンのオレンジ矢印 */
.link-right-orange::before {
  background: url(/asset/img/common/arrow-orange.png) no-repeat;
  background-size: contain; }

.link-left-orange::before {
  background: url(/asset/img/common/arrow-orange.png) no-repeat;
  background-size: contain; }

/* 左三角リスト */
.link-triangle {
  margin: 5vw 5vw 0 0;
  font-size: 3.5vw;
  padding-left: 2.5vw; }
  @media print, screen and (min-width: 768px) {
    .link-triangle {
      margin: 15px 10px 0 0;
      font-size: 14px;
      padding-left: 15px; } }

.link-triangle_left {
  display: inline;
  position: relative;
  color: #373737; }
  .link-triangle_left::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    right: auto;
    width: 0;
    height: 0;
    border-top: 1vw solid transparent;
    border-right: 0 solid transparent;
    border-bottom: 1.2vw solid transparent;
    top: 1.3vw;
    bottom: auto;
    left: -3.2vw; }
    @media (min-width: 768px) {
      .link-triangle_left::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .link-triangle_left::before {
        width: 0;
        height: 0;
        border-top: 8px solid transparent;
        border-bottom: 8px solid transparent;
        left: -16px;
        top: -2px; } }

/* 左三角リストのエレメント */
.link-triangle-red .link-triangle_left::before {
  border-left: 1.9vw solid #c72114; }
  @media print, screen and (min-width: 768px) {
    .link-triangle-red .link-triangle_left::before {
      border-left: 10px solid #c72114; } }

.link-triangle-blue .link-triangle_left::before {
  border-left: 1.9vw solid #0d64ac; }
  @media print, screen and (min-width: 768px) {
    .link-triangle-blue .link-triangle_left::before {
      border-left: 10px solid #0d64ac; } }

.link-icon.taRight {
  text-align: right; }

/* =================================================
パンくずリスト
==================================================== */
.breadnav {
  margin: 0 4vw;
  line-height: 1;
  padding: 3vw 0; }
  @media print, screen and (min-width: 768px) {
    .breadnav {
      padding: 12px 0;
      margin: 0; } }
  .breadnav-list {
    display: inline-block;
    color: #222;
    font-size: 3.5vw;
    vertical-align: middle;
    line-height: 1.3; }
    @media print, screen and (min-width: 768px) {
      .breadnav-list {
        font-size: 13px; } }
    .breadnav-list a {
      color: #848484;
      display: inline; }
    .breadnav-list + .breadnav-list:before {
      content: "\FF1E\a0";
      display: inline-block;
      color: #848484; }
      @media print, screen and (min-width: 768px) {
        .breadnav-list + .breadnav-list:before {
          margin-right: 3px; } }
    @media print, screen and (min-width: 768px) {
      .breadnav-list + .breadnav-list {
        padding-left: 10px; } }
    .breadnav-list:first-child {
      padding-left: 5vw;
      background: url(/asset/img/common/img-home.png) no-repeat;
      background-size: 4vw;
      background-position: 10px left; }
      @media print, screen and (min-width: 768px) {
        .breadnav-list:first-child {
          background-size: 18px;
          padding-left: 25px; } }
    .breadnav-list:last-child {
      color: #2ca3db; }

/* =================================================
アコーディオン
==================================================== */
.acdn_ttl {
  cursor: pointer;
  cursor: hand;
  font-size: 4vw;
  position: relative;
  line-height: 1.6;
  border-radius: 0;
  margin: 3vw auto 0;
  overflow: hidden;
  color: #373737;
  background-color: #f8f7f3;
  border-left: 3px solid #f8f7f3;
  border-right: 3px solid #f8f7f3;
  border-top: 3px solid #f8f7f3;
  padding: 3vw 8vw 3vw 14vw;
  border-radius: 7px;
  box-shadow: 0 3px #edeadf; }
  @media print, screen and (min-width: 768px) {
    .acdn_ttl {
      font-size: 17px;
      padding: 14px 40px 16px 67px;
      margin: 6px auto 0; } }
  @media print, screen and (min-width: 768px) {
    .acdn_ttl:nth-child(n + 2) {
      margin-top: 20px; } }
  .acdn_ttl-nobefore {
    padding: 3vw 8vw 3vw 3vw; }
    .acdn_ttl-nobefore::before {
      display: none; }
  .acdn_ttl.js-acdnOpen {
    border-radius: 7px 7px 0 0; }
  .acdn_ttl::before {
    font-size: 5vw;
    margin: auto;
    content: "Q";
    padding: 0 0 2vw 2vw;
    vertical-align: middle;
    width: 6vw;
    height: 6vw;
    position: absolute;
    bottom: 0;
    top: 0;
    left: 3vw;
    background-color: #2ca3db;
    color: #fff; }
    @media print, screen and (min-width: 768px) {
      .acdn_ttl::before {
        width: 24px;
        height: 30px;
        padding: 0 0 1px 7px;
        border-radius: 3px;
        left: 18px;
        font-weight: normal;
        font-size: 20px; } }
  .acdn_ttl::after {
    content: "＋";
    display: block;
    width: 3.7vw;
    height: 3.7vw;
    padding: 0 0 2vw;
    font-size: 3.7vw;
    font-weight: bold;
    line-height: 1.6;
    color: #848484;
    position: absolute;
    top: 0;
    bottom: 0;
    right: 3vw;
    margin: auto;
    -webkit-transition: .1s all ease;
    -moz-transition: .1s all ease;
    transition: .1s all ease; }
    @media print, screen and (min-width: 768px) {
      .acdn_ttl::after {
        width: 17px;
        height: 17px;
        font-size: 31px;
        right: 22px;
        padding: 0;
        bottom: 25px; } }
  .acdn_ttl.js-acdnOpen {
    box-shadow: none; }
    .acdn_ttl.js-acdnOpen::after {
      content: "ー"; }
      @media print, screen and (min-width: 768px) {
        .acdn_ttl.js-acdnOpen::after {
          width: 15px;
          height: 17px;
          font-size: 25px;
          right: 21px;
          padding: 0;
          bottom: 16px; } }

.acdn-target {
  display: none;
  box-shadow: 0 3px #edeadf;
  border-radius: 0 0 5px 5px; }
  .acdn-target-bg {
    padding: 0 2vw 2vw;
    background: #f8f7f3; }
    @media print, screen and (min-width: 768px) {
      .acdn-target-bg {
        padding: 0;
        display: block;
        box-shadow: none; } }

.acdn_content {
  font-size: 3.5vw;
  position: relative;
  line-height: 1.6;
  color: #373737;
  border-left: 5px solid #f8f7f3;
  border-right: 5px solid #f8f7f3;
  border-bottom: 5px solid #f8f7f3;
  padding: 4vw 2vw 2vw 14vw;
  border-radius: 0 0 7px 7px; }
  @media print, screen and (min-width: 768px) {
    .acdn_content {
      font-size: 17px;
      padding: 21px 17px 16px 58px;
      margin: 0 auto 0;
      border-left: 25px solid #f8f7f3;
      border-right: 25px solid #f8f7f3;
      border-bottom: 25px solid #f8f7f3; } }
  .acdn_content::before {
    margin: auto;
    content: "A";
    color: #fff;
    font-size: 5vw;
    font-weight: bold;
    padding: 0 0 2vw 2vw;
    vertical-align: top;
    width: 6vw;
    height: 6vw;
    position: absolute;
    top: 2vw;
    left: 2vw;
    background-color: #ea4109; }
    @media print, screen and (min-width: 768px) {
      .acdn_content::before {
        width: 22px;
        height: 30px;
        padding: 0 0 1px 9px;
        border-radius: 3px;
        left: 18px;
        top: 16px;
        font-weight: normal;
        font-size: 20px; } }

.acdn.first-acdn .first-acdn_ttl {
  background-color: #fff;
  border-left: none;
  border-right: none;
  border-top: none;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid #d7d7d7;
  color: #0d64ac;
  padding: 3vw 8vw 4vw 2vw;
  margin: 1vw auto 0;
  font-size: 4.5vw; }
  @media print, screen and (min-width: 768px) {
    .acdn.first-acdn .first-acdn_ttl {
      font-size: 19px;
      padding: 14px 20px 16px 20px;
      margin: 6px auto 0; } }
  .acdn.first-acdn .first-acdn_ttl::before {
    content: none; }
  .acdn.first-acdn .first-acdn_ttl::after {
    color: #0d64ac; }
.acdn.first-acdn .acdn-target {
  display: none;
  box-shadow: none;
  border-radius: 0 0 0 0; }
  .acdn.first-acdn .acdn-target-bg {
    padding: 0 2vw 2vw;
    background: #f8f7f3; }
    @media print, screen and (min-width: 768px) {
      .acdn.first-acdn .acdn-target-bg {
        padding: 0;
        display: block;
        box-shadow: none; } }

.acdn.second-acdn .second-acdn_ttl {
  background-color: #fff;
  border-left: none;
  border-right: none;
  border-top: none;
  border-radius: 0;
  box-shadow: none;
  border-bottom: 1px solid #d7d7d7;
  color: #67b9de;
  padding: 3vw 8vw 4vw 10vw;
  margin: 1vw auto 0;
  font-size: 4vw; }
  @media print, screen and (min-width: 768px) {
    .acdn.second-acdn .second-acdn_ttl {
      font-size: 17px;
      padding: 14px 20px 16px 60px;
      margin: 6px auto 0; } }
  .acdn.second-acdn .second-acdn_ttl::before {
    content: none; }
  .acdn.second-acdn .second-acdn_ttl::after {
    color: #67b9de; }
.acdn.second-acdn .second-acdn_content {
  width: 85%;
  margin-left: auto; }
  @media print, screen and (min-width: 768px) {
    .acdn.second-acdn .second-acdn_content {
      margin-top: 20px;
      width: 950px; } }

/* =================================================
エレメント
==================================================== */
/* ABOUTの横並び２カラム___________________________ */
@media print, screen and (min-width: 768px) {
  .pcColumn02 .pcColumn02_right {
    width: 45%;
    float: right; }
    .pcColumn02 .pcColumn02_right.colorBox-gray {
      padding: 40px 60px;
      box-sizing: border-box; }
  .pcColumn02 .pcColumn02_left {
    width: 48%;
    float: left; }
    .pcColumn02 .pcColumn02_left .btnWrap {
      width: 78%;
      margin: 30px 0 0; } }
/* ____________________________________________ */
/* モバイルwaonの吹き出しアイコンのエリア___________________________ */
.twoColumn-afx {
  align-items: flex-start; }
.twoColumn .twoColumn_box {
  width: 43%; }
  .twoColumn .twoColumn_box:first-child {
    width: 52%; }
  .twoColumn .twoColumn_box .twoColumn_boxInner {
    justify-content: space-around; }
    .twoColumn .twoColumn_box .twoColumn_boxInner .twoColumn_boxInnerIcon {
      width: 40%; }
    .twoColumn .twoColumn_box .twoColumn_boxInner-pt {
      padding-top: 7vw; }
    .twoColumn .twoColumn_box .twoColumn_boxInner-pb {
      padding-bottom: 2vw; }
  .twoColumn .twoColumn_box .twoColumn_boxInnerText {
    font-size: 2.5vw;
    line-height: 1.2; }
.twoColumn .btnWrap {
  width: 45%;
  margin: 2vw auto 0; }
.twoColumn .twoColumn_text {
  font-size: 3vw;
  line-height: 1.4; }
  .twoColumn .twoColumn_text-mt {
    margin-top: 1vw; }

@media print, screen and (min-width: 768px) {
  .twoColumn {
    width: 50%;
    padding: 0 25px;
    box-sizing: border-box; }
    .twoColumn-afx {
      align-items: center; }
    .twoColumn .twoColumn_box .twoColumn_boxInner-pt {
      padding-top: 10px; }
    .twoColumn .twoColumn_box .twoColumn_boxInner-pb {
      padding-bottom: 10px; }
    .twoColumn .twoColumn_box .twoColumn_boxInnerText {
      font-size: 12px; }
    .twoColumn .twoColumn_text {
      font-size: 11px; }
      .twoColumn .twoColumn_text-mt {
        margin-top: 5px; }
    .twoColumn .colorBox-white {
      padding: 20px 0; }
    .twoColumn .colorBox .colorBox_text {
      font-size: 18px; }
    .twoColumn .btnWrap {
      width: 35%;
      margin: 10px auto 0; } }
/* ____________________________________________ */
/* 『WAONとは』のSTEP_______________________________________ */
.step {
  width: 97%;
  margin: 10vw auto; }
  @media print, screen and (min-width: 768px) {
    .step {
      width: 88%;
      margin: 70px auto 50px; } }

.stepbox {
  border: 2px solid #2ca3db;
  position: relative;
  flex-direction: column;
  align-items: center; }
  .stepbox_ttl {
    padding-left: 9vw;
    margin-top: 1vw; }
    @media print, screen and (min-width: 768px) {
      .stepbox_ttl {
        padding-left: 30px; } }
  .stepbox_img {
    overflow: hidden; }
  .stepbox::after {
    content: "";
    vertical-align: middle;
    margin: auto;
    background: url("/asset/img/common/arrow-step.png") no-repeat;
    background-size: contain;
    display: inline-block;
    position: absolute;
    width: 6vw;
    height: 6vw;
    bottom: 1vw;
    right: 1vw; }
    @media print, screen and (min-width: 768px) {
      .stepbox::after {
        width: 17px;
        height: 17px;
        bottom: 10px;
        right: 10px; } }

/* 丸数字 */
.stepbox_number {
  background-color: #2ca3db;
  position: absolute;
  border-radius: 100px;
  width: 12vw;
  height: 12vw;
  top: -4vw;
  left: -4vw; }
  @media print, screen and (min-width: 768px) {
    .stepbox_number {
      width: 50px;
      height: 50px;
      top: -15px;
      left: -15px; } }
  .stepbox_number_text {
    color: #fff; }
  .stepbox_number_top {
    font-size: 3vw;
    margin-top: 2.8vw; }
    @media print, screen and (min-width: 768px) {
      .stepbox_number_top {
        font-size: 15px;
        margin-top: 10px; } }
  .stepbox_number_btm {
    font-size: 5.1vw;
    margin-top: 0; }
    @media print, screen and (min-width: 768px) {
      .stepbox_number_btm {
        font-size: 20px;
        margin-top: -5px; } }

/* 濃い青色 */
.stepbox_number-darkblue {
  background-color: #0d64ac;
  border: 3px solid #2ca3db;
  position: absolute;
  top: -4vw;
  left: -12vw; }
  @media print, screen and (min-width: 768px) {
    .stepbox_number-darkblue {
      top: -15px;
      left: -15px; } }
  .stepbox_number-darkblue .stepbox_number_top {
    font-size: 3.2vw;
    margin-top: 2.9vw; }
    @media print, screen and (min-width: 768px) {
      .stepbox_number-darkblue .stepbox_number_top {
        margin-top: 12px;
        font-size: 14px; } }
  .stepbox_number-darkblue .stepbox_number_btm {
    font-size: 4.9vw; }
    @media print, screen and (min-width: 768px) {
      .stepbox_number-darkblue .stepbox_number_btm {
        font-size: 23px;
        margin-top: -1px; } }

/* ________________ */
.step1 {
  width: 48%; }
  @media print, screen and (min-width: 768px) {
    .step1 {
      width: 240px; } }
  .step1 .stepbox {
    height: 40vw; }
    @media print, screen and (min-width: 768px) {
      .step1 .stepbox {
        height: 200px; } }
  .step1 .stepbox_img {
    width: 70%; }
    @media print, screen and (min-width: 768px) {
      .step1 .stepbox_img {
        width: 65%; } }

.step2 {
  width: 48%; }
  @media print, screen and (min-width: 768px) {
    .step2 {
      width: 240px;
      margin-left: 35px; } }
  .step2 .stepbox {
    height: 40vw; }
    @media print, screen and (min-width: 768px) {
      .step2 .stepbox {
        height: 200px; } }
  .step2 .stepbox_img {
    width: 100%; }
    .step2 .stepbox_img img {
      margin-bottom: -4vw;
      margin-left: -4vw; }
      @media print, screen and (min-width: 768px) {
        .step2 .stepbox_img img {
          margin-bottom: -20px;
          margin-left: -20px; } }

.step3 {
  width: 100%; }
  @media print, screen and (min-width: 768px) {
    .step3 {
      width: 400px; } }
  @media print, screen and (min-width: 768px) {
    .step3 .stepbox {
      height: 200px; } }
  .step3 .stepbox_img {
    margin: 0 auto 3vw;
    width: 70%; }
    @media print, screen and (min-width: 768px) {
      .step3 .stepbox_img {
        margin: 0 auto 10px; } }

/* ____________________________________________ */
/* 『WAONとは』のチャージ3台_______________________ */
.howtocharge {
  margin: 7vw auto; }
  @media print, screen and (min-width: 768px) {
    .howtocharge {
      width: 80%; } }
  .howtocharge_box {
    width: 33%;
    height: 50vw;
    flex-direction: column; }
    @media print, screen and (min-width: 768px) {
      .howtocharge_box {
        height: 290px; } }
    .howtocharge_box_img {
      margin: 0 auto;
      height: 35vw;
      flex-direction: column;
      justify-content: center; }
      @media print, screen and (min-width: 768px) {
        .howtocharge_box_img {
          height: 200px; } }
      .howtocharge_box_img img {
        width: 50%;
        margin: 0 auto; }
        @media print, screen and (min-width: 768px) {
          .howtocharge_box_img img {
            width: 100%; } }
    .howtocharge_box_text {
      line-height: 1.3; }
      @media print, screen and (min-width: 768px) {
        .howtocharge_box_text {
          font-size: 16px; } }

@media print, screen and (min-width: 768px) {
  .howtocharge_center .howtocharge_box_img {
    width: 97px; } }

@media print, screen and (min-width: 768px) {
  .howtocharge_left {
    border-right: 1px solid #d7d7d7; } }
.howtocharge_left .howtocharge_box_img {
  border-right: 1px solid #d7d7d7; }
  @media print, screen and (min-width: 768px) {
    .howtocharge_left .howtocharge_box_img {
      border-right: none;
      width: 140px; } }
  .howtocharge_left .howtocharge_box_img img {
    width: 75%; }
    @media print, screen and (min-width: 768px) {
      .howtocharge_left .howtocharge_box_img img {
        width: 100%; } }
.howtocharge_left .howtocharge_box_text {
  margin-bottom: 2vw; }
  @media print, screen and (min-width: 768px) {
    .howtocharge_left .howtocharge_box_text {
      margin-bottom: 0; } }

@media print, screen and (min-width: 768px) {
  .howtocharge_right {
    border-left: 1px solid #d7d7d7; } }
.howtocharge_right .howtocharge_box_img {
  border-left: 1px solid #d7d7d7; }
  @media print, screen and (min-width: 768px) {
    .howtocharge_right .howtocharge_box_img {
      border-left: none;
      width: 126px; } }

/* ____________________________________________ */
/* お知らせとキャンペーンページ */
.infotable .tableblock,
.campaigntable .tableblock {
  border-top: none;
  border-bottom: 1px dashed #373737; }
.infotable .tableblock_day,
.campaigntable .tableblock_day {
  font-weight: bold; }
.infotable .tableblock_txt,
.campaigntable .tableblock_txt {
  line-height: 1.3; }

/* ____________________________________________ */
/* エレメント追加希望 */
.lineAndArrow-blue.colorBox-line {
  padding-bottom: 5vw; }
  @media print, screen and (min-width: 768px) {
    .lineAndArrow-blue.colorBox-line {
      padding: 15px 15px 20px; } }
.lineAndArrow-blue_img {
  margin-bottom: 2vw; }
.lineAndArrow-blue_text {
  font-size: 3.3vw;
  line-height: 1.2; }
  @media print, screen and (min-width: 768px) {
    .lineAndArrow-blue_text {
      font-size: 16px; } }
@media print, screen and (min-width: 768px) {
  .lineAndArrow-blue:nth-child(n + 5) {
    margin-top: 20px; } }

.box-sBetween {
  flex-direction: column;
  justify-content: space-between;
  min-height: 30vw; }
  @media print, screen and (min-width: 768px) {
    .box-sBetween {
      min-height: 206px; } }

@media print, screen and (min-width: 768px) {
  .lineAndArrow-green a {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    height: 170px; } }
@media print, screen and (min-width: 768px) {
  .lineAndArrow-green.colorBox-line {
    padding: 15px 15px 20px; } }
.lineAndArrow-green_text {
  font-size: 5vw;
  line-height: 1.2;
  margin: 1vw 0 6vw;
  color: #54a192; }
  @media print, screen and (min-width: 768px) {
    .lineAndArrow-green_text {
      font-size: 16px;
      margin: 0 0 10px; } }
@media print, screen and (min-width: 768px) {
  .lineAndArrow-green:nth-child(n + 5) {
    margin-top: 20px; } }
@media print, screen and (min-width: 768px) {
  .lineAndArrow-green_img-mini {
    width: 50%; } }

@media print, screen and (min-width: 768px) {
  .lineAndArrow-gray:nth-child(n+5) {
    margin-top: 20px; } }
.lineAndArrow-gray.colorBox-line {
  padding-bottom: 6vw; }
  @media print, screen and (min-width: 768px) {
    .lineAndArrow-gray.colorBox-line {
      padding-bottom: 20px; } }
@media print, screen and (min-width: 768px) {
  .lineAndArrow-gray.colorBox-line {
    padding: 20px 20px 40px; } }
.lineAndArrow-gray_text {
  font-size: 4vw;
  line-height: 1.2;
  margin: 1vw 0 2vw;
  line-height: 1;
  display: flex;
  min-height: 12vw;
  height: 100%;
  align-items: center;
  box-sizing: border-box;
  justify-content: center; }
  @media print, screen and (min-width: 768px) {
    .lineAndArrow-gray_text {
      font-size: 16px;
      margin: 0 0 0px;
      min-height: 40px; } }
.lineAndArrow-gray_img {
  margin-bottom: 3vw; }
  @media print, screen and (min-width: 768px) {
    .lineAndArrow-gray_img {
      margin-bottom: 10px; } }

.pointexchangebox {
  position: relative; }
  .pointexchangebox_arrow {
    position: absolute;
    width: 5vw;
    top: 6.8vw;
    left: 0;
    right: 0;
    margin: 0 auto; }
    @media print, screen and (min-width: 768px) {
      .pointexchangebox_arrow {
        width: 26px;
        top: 26px; } }
  .pointexchangebox .colorBox-line {
    padding: 1vw;
    min-height: 26vw;
    height: 100%;
    align-items: center;
    box-sizing: border-box;
    justify-content: center; }
    @media print, screen and (min-width: 768px) {
      .pointexchangebox .colorBox-line {
        padding: 10px 5px;
        min-height: 115px; } }
    .pointexchangebox .colorBox-line-single {
      width: 100%; }
  .pointexchangebox .bluenumber {
    color: #2ca3db;
    font-size: 5vw;
    margin: 2vw auto; }
    @media print, screen and (min-width: 768px) {
      .pointexchangebox .bluenumber {
        font-size: 25px;
        margin: 0px auto; } }

/* 紫のステップBOX */
.balloon {
  position: relative;
  height: 65vw; }
  @media print, screen and (min-width: 768px) {
    .balloon {
      height: 350px;
      width: 90%;
      margin: 0 auto; } }
  .balloon_box {
    background-color: #745bc5;
    width: 70%;
    margin: 0 auto 3vw;
    padding: 1.5vw 0;
    box-sizing: border-box;
    border-radius: 0 0 9px 9px; }
    @media print, screen and (min-width: 768px) {
      .balloon_box {
        width: 100px;
        padding: 10px 0;
        margin: -1px auto 30px; } }
    .balloon_box::before {
      content: "";
      width: 0;
      height: 0;
      border-top: 10px solid #745bc5;
      border-right: 10px solid transparent;
      border-bottom: 0 solid transparent;
      border-left: 10px solid transparent;
      display: inline-block;
      vertical-align: middle;
      position: absolute;
      left: 0;
      right: 0;
      margin: 0 auto;
      top: 7vw; }
      @media print, screen and (min-width: 768px) {
        .balloon_box::before {
          top: 38px; } }
    .balloon_box_text {
      font-size: 3vw;
      line-height: 1.2; }
      @media print, screen and (min-width: 768px) {
        .balloon_box_text {
          font-size: 15px; } }
    .balloon_box_step {
      color: #fff;
      font-size: 4vw; }
      @media print, screen and (min-width: 768px) {
        .balloon_box_step {
          font-size: 15px; } }
    .balloon_box_num {
      color: #fff;
      font-size: 5vw; }
      @media print, screen and (min-width: 768px) {
        .balloon_box_num {
          font-size: 20px; } }
  .balloon_img-step1 {
    width: 60vw;
    margin: 3vw auto 5vw; }
    @media print, screen and (min-width: 768px) {
      .balloon_img-step1 {
        width: 300px;
        margin: 20px auto 50px; } }
  .balloon_img-step2 {
    width: 50vw;
    margin: 3vw auto 5vw; }
    @media print, screen and (min-width: 768px) {
      .balloon_img-step2 {
        width: 300px;
        margin: 20px auto 10px; } }
  .balloon + .balloon {
    margin-top: 5vw; }
    @media print, screen and (min-width: 768px) {
      .balloon + .balloon {
        margin-top: 0;
        margin-left: 30px; } }
  .balloon .more {
    font-size: 2.8vw; }
    @media print, screen and (min-width: 768px) {
      .balloon .more {
        font-size: 15px; } }
    .balloon .more + .more {
      margin-top: 2vw; }
      @media print, screen and (min-width: 768px) {
        .balloon .more + .more {
          margin-top: -10px; } }

/* 黄色い丸の吹き出し */
.circleBalloon {
  position: relative;
  padding-top: 5vw; }
  @media print, screen and (min-width: 768px) {
    .circleBalloon {
      padding-top: 20px; } }
  .circleBalloon .btn {
    border-radius: 6px; }
  .circleBalloon .circleBalloon_item {
    width: 18vw;
    height: 18vw;
    display: flex;
    justify-content: center;
    align-items: center;
    text-align: center;
    background: #ffff73;
    position: absolute;
    top: -9.5vw;
    right: -1.6vw;
    border-radius: 50%;
    z-index: 1; }
    @media print, screen and (min-width: 768px) {
      .circleBalloon .circleBalloon_item {
        width: 110px;
        height: 110px;
        top: -34px;
        right: -18px; } }
    .circleBalloon .circleBalloon_item::after {
      content: "";
      display: block;
      width: 0;
      height: 0;
      border: 3vw solid transparent;
      border-bottom: 3vw solid #ffff73;
      position: absolute;
      bottom: 1.5vw;
      left: -1vw;
      z-index: -1;
      transform: rotate(-20deg); }
    @media print, screen and (min-width: 768px) {
      .circleBalloon .circleBalloon_item::after {
        border: 15px solid transparent;
        border-bottom: 15px solid #ffff73;
        bottom: 15px;
        left: -10px; } }
    .circleBalloon .circleBalloon_item .circleBalloon_itemText {
      padding: 6% 0 0;
      font-size: 3.2vw;
      line-height: 1.2;
      color: #2ca3db; }
      @media print, screen and (min-width: 768px) {
        .circleBalloon .circleBalloon_item .circleBalloon_itemText {
          font-size: 18px; } }

/* ____________________________________________ */
/* =================================================
サイトマップ
==================================================== */
#sitemap {
  /* utilitiesNav_________________________________ */
  /* links__________________________________________ */ }
  @media (max-width: 767px) {
    #sitemap {
      margin-left: 5vw; } }
  #sitemap .footerNavBox {
    background-color: #f2f2f2; }
  #sitemap .utilitiesNav {
    padding: 55px 0;
    margin-top: 70px; }
    #sitemap .utilitiesNav.pc-df {
      flex-wrap: wrap; }
  #sitemap .links {
    font-size: 14px;
    width: 23%; }
    @media (max-width: 767px) {
      #sitemap .links {
        width: 100%; } }
    #sitemap .links .arrow-orange {
      position: relative; }
      #sitemap .links .arrow-orange::before {
        left: 0;
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0;
        margin: 7px 0 0 -20px; }
    #sitemap .links dd {
      padding-left: 24px; }
      #sitemap .links dd a {
        padding: 5px 4px;
        color: #373737;
        font-size: 13px; }
      #sitemap .links dd + .links_ttl {
        margin: 20px 0 0 0; }
    #sitemap .links .links_ttl a {
      padding: 6px 0;
      color: #26abe1;
      margin-left: 25px; }
    #sitemap .links .links_ttl + .links_ttl {
      margin-top: 10px; }

/* =================================================
タイトルがfixした表
==================================================== */
.floatThead-container {
  top: -8vw !important; }
  @media print, screen and (min-width: 768px) {
    .floatThead-container {
      top: -45px !important; } }

.titlefixtable {
  margin-top: 8vw !important; }
  @media print, screen and (min-width: 768px) {
    .titlefixtable {
      margin-top: 45px !important; } }

/* =================================================
公開後追加した分
==================================================== */
@media print, screen and (min-width: 768px) {
  .twoBnr-imgw48 > li {
    width: 48%; } }

/* ==================================
レイアウト
===================================== */
.l-full {
  width: 100%;
  margin: 0 auto; }

.l-spinner {
  width: 95%;
  margin: 0 auto 10vw; }
  @media print, screen and (min-width: 768px) {
    .l-spinner {
      width: 100%;
      margin: 0; } }

.l-wrap {
  max-width: 100%;
  margin: 0 auto; }
  @media print, screen and (min-width: 768px) {
    .l-wrap {
      max-width: 1080px; } }

.paddingWrap {
  padding: 5vw; }
  @media print, screen and (min-width: 768px) {
    .paddingWrap {
      padding: 30px 35px 40px; } }

.l-m5m30 {
  margin: 5vw !important; }
  @media print, screen and (min-width: 768px) {
    .l-m5m30 {
      margin: 30px !important; } }

.l-mtmb5mtmb30 {
  margin: 5vw 0 !important; }
  @media print, screen and (min-width: 768px) {
    .l-mtmb5mtmb30 {
      margin: 30px 0 !important; } }

.l-p5p30 {
  padding: 5vw !important; }
  @media print, screen and (min-width: 768px) {
    .l-p5p30 {
      padding: 30px !important; } }

.l-ptpb5ptpb30 {
  padding: 5vw 0 !important; }
  @media print, screen and (min-width: 768px) {
    .l-ptpb5ptpb30 {
      padding: 30px 0 !important; } }

/* PCのみに効かせるやつ___________________________ */
@media print, screen and (min-width: 768px) {
  body {
    min-width: 1120px; }

  .pc-paddingWrap {
    padding: 30px;
    box-sizing: border-box; }

  .l-ofhidden {
    overflow: hidden; }

  .l-spinner-two {
    width: 46.1%; }

  .l-spinner-two.left {
    margin-right: auto; }

  .l-w900 {
    width: 900px;
    margin: 0 auto; }

  .secInfo {
    margin: 27px auto 60px; }

  .l-pickup {
    margin-top: 6px; }
    .l-pickup_box {
      width: 49.7%; }

  .l-mt15 {
    margin-top: 15px !important; }

  .l-ml15 {
    margin-left: 15px !important; }

  .l-mr15 {
    margin-right: 15px !important; }

  .l-mb15 {
    margin-bottom: 15px !important; }

  .l-mt30 {
    margin-top: 30px !important; }

  .l-ml30 {
    margin-left: 30px !important; }

  .l-mr30 {
    margin-right: 30px !important; }

  .l-mb30 {
    margin-bottom: 30px !important; }

  .l-mt45 {
    margin-top: 45px !important; }

  .l-ml45 {
    margin-left: 45px !important; }

  .l-mr45 {
    margin-right: 45px !important; }

  .l-mb45 {
    margin-bottom: 45px !important; }

  .l-pt10 {
    padding-top: 10px !important; }

  .l-pb10 {
    padding-bottom: 10px !important; } }
/* ____________________________________________ */
/* SPのみに効かせるやつ___________________________ */
@media (max-width: 767px) {
  .sp-paddingWrap {
    padding: 5vw;
    box-sizing: border-box; }

  .sp-paddingWrapTopBottom {
    padding: 0.5vw 0 1.5vw;
    box-sizing: border-box; }

  .l-mt3 {
    margin-top: 3vw !important; }

  .l-ml3 {
    margin-left: 3vw !important; }

  .l-mr3 {
    margin-right: 3vw !important; }

  .l-mb3 {
    margin-bottom: 3vw !important; }

  .l-mt5 {
    margin-top: 5vw !important; }

  .l-ml5 {
    margin-left: 5vw !important; }

  .l-mr5 {
    margin-right: 5vw !important; }

  .l-mb5 {
    margin-bottom: 5vw !important; }

  .l-mt8 {
    margin-top: 8vw !important; }

  .l-ml8 {
    margin-left: 8vw !important; }

  .l-mr8 {
    margin-right: 8vw !important; }

  .l-mb8 {
    margin-bottom: 8vw !important; }

  .l-pb5 {
    padding-bottom: 5vw !important; }

  .l-pt5 {
    padding-top: 5vw !important; } }
/* ____________________________________________ */
/* ==================================
HEADER
===================================== */
header {
  position: relative; }

.header {
  position: relative; }
  .header .header_box-title {
    width: 100%;
    display: table;
    border-bottom: 1px solid #d7d7d7; }
  .header .header_box .header_boxInner:first-child {
    padding: 3% 2% 2.5% 3%;
    box-sizing: border-box;
    position: relative;
    display: table-cell;
    vertical-align: middle; }
  .header .header_box .header_boxInner.sp {
    padding-top: 4.5%; }
  .header .header_box .header_boxInner.hamburger {
    width: 16%;
    padding: 3%;
    box-sizing: border-box;
    display: table-cell; }
  .header .header_box .header_boxInner .header_boxInnerTitle {
    box-sizing: border-box;
    display: inline-block;
    vertical-align: middle; }
    .header .header_box .header_boxInner .header_boxInnerTitle-main {
      width: 40%;
      position: absolute;
      bottom: 0; }
    .header .header_box .header_boxInner .header_boxInnerTitle-sub {
      display: none; }
    .header .header_box .header_boxInner .header_boxInnerTitle .header_boxInnerTitleText {
      font-size: 3.7vw;
      font-weight: bold;
      line-height: 1; }
      .header .header_box .header_boxInner .header_boxInnerTitle .header_boxInnerTitleText-big {
        font-size: 4.3vw;
        line-height: 1.6; }
      .header .header_box .header_boxInner .header_boxInnerTitle .header_boxInnerTitleText-small {
        font-size: 2.6vw;
        font-weight: normal; }
  .header .header_box .header_boxInner .header_boxOption {
    width: 53%;
    height: 100%;
    float: right; }
    .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav {
      width: 100%;
      height: 100%;
      display: block; }
      .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList {
        width: 32%;
        float: right; }
        .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList:first-child {
          width: 62%;
          float: left; }
        .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList .header_boxOptionNavListInner {
          padding: 2vw 0 1.5vw;
          display: block;
          text-align: center;
          font-size: 2.7vw;
          font-weight: bold;
          line-height: 1.5;
          color: #fff;
          background: #2ca3db;
          border-radius: 6px; }
          .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList .header_boxOptionNavListInner-orange {
            background: #ea4109; }
            .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList .header_boxOptionNavListInner-orange::before {
              display: none; }
          .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList .header_boxOptionNavListInner span {
            display: none; }
          .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList .header_boxOptionNavListInner.arrow-blue::before {
            display: none; }
        .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList-search {
          display: none; }
    .header .header_box .header_boxInner .header_boxOption .header_boxOptionLang {
      display: none; }
  .header .header_box .searchBox {
    display: none; }
  .header .header_box-nav {
    width: 100%;
    position: absolute;
    background: #fff;
    z-index: 9999;
    display: none; }
    .header .header_box-nav .header_boxNav {
      width: 100%;
      flex-direction: column; }
      .header .header_box-nav .header_boxNav .header_boxNavList {
        border-bottom: 1px solid #fff; }
        .header .header_box-nav .header_boxNav .header_boxNavList a {
          padding: 8vw 3vw;
          font-size: 5.3vw;
          font-weight: bold;
          background: #2ca3db;
          color: #fff; }
      .header .header_box-nav .header_boxNav .header_boxOptionNavSearch {
        display: none; }
    .header .header_box-nav .header_boxOptionLang {
      padding: 2.5vw 0;
      text-align: center;
      border-bottom: 1px solid #373737; }
      .header .header_box-nav .header_boxOptionLang span {
        width: 30%;
        margin: 0 auto;
        padding: 4vw 0;
        display: block;
        font-size: 4.3vw;
        border-radius: 5px;
        background: #f2f2f2; }

.header_text {
  padding: 1vw;
  box-sizing: border-box;
  background: url("/asset/img/common/bk.gif") repeat top center; }
  .header_text .header_textBox {
    width: 100%;
    padding: 2.5vw 2vw;
    box-sizing: border-box;
    background: #fff;
    border-radius: 6px;
    display: table;
    table-layout: fixed; }
    .header_text .header_textBox .header_textBoxList {
      padding: 0.7vw 0 0;
      display: table-cell;
      vertical-align: middle;
      text-align: right;
      font-size: 3.1vw;
      color: #848484; }
      .header_text .header_textBox .header_textBoxList:first-child {
        width: 70%;
        padding: 0;
        text-align: center;
        font-size: 3.7vw;
        font-weight: bold;
        color: #0d64ac; }
      .header_text .header_textBox .header_textBoxList sup {
        vertical-align: super;
        font-size: 3vw; }
      @media print, screen and (min-width: 768px) {
        .header_text .header_textBox .header_textBoxList:first-child {
          text-align: left; } }

.header_box-nav {
  width: 100%;
  display: none;
  position: absolute;
  top: 100%;
  z-index: 9999;
  background: #fff; }
  .header_box-nav .header_boxNav {
    padding: 20px 0;
    flex-direction: row; }
    .header_box-nav .header_boxNav .header_boxNavList {
      flex: 1;
      border-right: 1px solid #848484; }
      .header_box-nav .header_boxNav .header_boxNavList:first-child {
        border-left: 1px solid #848484; }
      .header_box-nav .header_boxNav .header_boxNavList a {
        padding: 0;
        font-size: 16px;
        color: #373737;
        text-align: center;
        background: none; }
        .header_box-nav .header_boxNav .header_boxNavList a::before {
          display: none; }
  .header_box-nav .header_boxOption {
    width: 50%;
    height: 85px;
    position: absolute;
    top: -90px;
    right: 0; }
    .header_box-nav .header_boxOption .header_boxOptionNav {
      width: 100%;
      height: 50%;
      padding: 0;
      font-size: 16px;
      position: absolute;
      bottom: 0; }
      .header_box-nav .header_boxOption .header_boxOptionNav .header_boxOptionNavSearch {
        width: 185px;
        height: 100%;
        align-self: center; }
        .header_box-nav .header_boxOption .header_boxOptionNav .header_boxOptionNavSearch .header_boxOptionNavSearchInner {
          width: 100%;
          padding: 10px 0; }
          .header_box-nav .header_boxOption .header_boxOptionNav .header_boxOptionNavSearch .header_boxOptionNavSearchInner input {
            width: 80%;
            padding: 6px 0;
            background: red;
            border: none;
            -webkit-appearance: none; }
          .header_box-nav .header_boxOption .header_boxOptionNav .header_boxOptionNavSearch .header_boxOptionNavSearchInner button {
            flex: 1;
            border: none;
            background: blue;
            -webkit-appearance: none; }
    .header_box-nav .header_boxOption .header_boxOptionLang {
      width: 100%;
      height: 50%;
      padding: 0 0 17px;
      box-sizing: border-box;
      position: absolute;
      top: 0; }
      .header_box-nav .header_boxOption .header_boxOptionLang span {
        width: 110px;
        height: 100%;
        margin: 0;
        padding: 0;
        float: right;
        font-size: 14px;
        line-height: 1.9; }

.gnav {
  flex-wrap: wrap; }
  .gnav .gnav_list {
    width: 50%;
    box-sizing: border-box;
    font-size: 3.7vw;
    font-weight: bold;
    line-height: 1.4;
    border-left: 2px solid #d7d7d7;
    border-bottom: 2px solid #d7d7d7;
    background: #f2f2f2;
    position: relative;
    display: flex;
    align-items: center; }
    .gnav .gnav_list:first-child {
      width: 100%; }
  .gnav .gnav_list-search {
    width: 100% !important; }
  .gnav .gnav_list a {
    width: 100%;
    padding: 5vw 5vw 5vw 3vw;
    box-sizing: border-box; }
  .gnav .gnav_list-full {
    width: 100%;
    padding: 0;
    display: none;
    background: none;
    border-left: none; }
    .gnav .gnav_list-full::after {
      display: none; }
  .gnav .gnav_list .gnav_listBox {
    flex-wrap: wrap; }
    .gnav .gnav_list .gnav_listBox .gnav_listBoxItem {
      width: 50%; }
      .gnav .gnav_list .gnav_listBox .gnav_listBoxItem .gnav_listBoxItemLink {
        width: 100%;
        height: 100%;
        padding: 4.5vw 5vw 4.5vw 2vw;
        box-sizing: border-box;
        display: flex;
        align-items: center;
        font-weight: normal;
        color: #fff;
        background: #2ca3db;
        border-left: 2px solid #fff;
        border-top: 2px solid #fff;
        pointer-events: auto; }
      .gnav .gnav_list .gnav_listBox .gnav_listBoxItem:first-child .gnav_listBoxItemLink {
        border-top: none; }
      .gnav .gnav_list .gnav_listBox .gnav_listBoxItem:nth-of-type(2) .gnav_listBoxItemLink {
        border-top: none; }
      .gnav .gnav_list .gnav_listBox .gnav_listBoxItem:nth-child(odd) .gnav_listBoxItemLink {
        border-left: none; }
  .gnav .gnav_list .gnav_listTitle {
    display: none; }

.header_boxLang {
  padding: 3vw 1vw 5vw;
  border-bottom: 2px solid #0d64ac;
  overflow: hidden;
  position: relative; }
  .header_boxLang .header_boxLangTitle {
    padding: 0 0 4vw;
    font-size: 3.6vw;
    font-weight: bold;
    text-align: center; }
  .header_boxLang .bx-wrapper .bx-viewport {
    height: auto !important; }
  .header_boxLang .bx-wrapper .header_boxLangSlider {
    padding: 1% 0;
    overflow: hidden;
    left: 30%; }
    .header_boxLang .bx-wrapper .header_boxLangSlider .header_boxLangSliderList {
      width: 0.5% !important;
      font-size: 4.3vw;
      text-align: center; }
      .header_boxLang .bx-wrapper .header_boxLangSlider .header_boxLangSliderList a {
        width: 80%;
        margin: 0 auto;
        display: block;
        color: #0d64ac; }
  .header_boxLang .bx-wrapper .bx-controls {
    width: 100%;
    position: absolute;
    top: 9.7vw; }
  .header_boxLang .bx-wrapper .bx-controls-direction a {
    width: auto;
    height: auto;
    background: none;
    text-indent: 0;
    font-size: 4.3vw;
    padding: 5% 4%;
    color: #d7d7d7;
    pointer-event: none;
    -webkit-tap-highlight-color: transparent; }
    .header_boxLang .bx-wrapper .bx-controls-direction a.bx-prev {
      left: 24vw;
      -webkit-transform: rotate(30deg);
      -moz-transform: rotate(30deg);
      transform: rotate(30deg); }
    .header_boxLang .bx-wrapper .bx-controls-direction a.bx-next {
      right: 24vw;
      -webkit-transform: rotate(-30deg);
      -moz-transform: rotate(-30deg);
      transform: rotate(-30deg); }
    .header_boxLang .bx-wrapper .bx-controls-direction a::after {
      width: 4vw;
      height: 4vw; }
  .header_boxLang .header_boxLangOverlay {
    width: 20%;
    height: 100%;
    position: absolute;
    top: 0; }
    .header_boxLang .header_boxLangOverlay-left {
      left: 0;
      background: -webkit-gradient(linear, right center, left center, from(rgba(255, 255, 255, 0)), to(#fff));
      background: -moz-gradient(linear, right center, left center, from(rgba(255, 255, 255, 0)), to(#fff));
      background: -ms-gradient(linear, right center, left center, from(rgba(255, 255, 255, 0)), to(#fff)); }
    .header_boxLang .header_boxLangOverlay-right {
      right: 0;
      background: -webkit-gradient(linear, left center, right center, from(rgba(255, 255, 255, 0)), to(#fff));
      background: -moz-gradient(linear, left center, right center, from(rgba(255, 255, 255, 0)), to(#fff));
      background: -ms-gradient(linear, left center, right center, from(rgba(255, 255, 255, 0)), to(#fff)); }

/* hamburger_______________________________ */
.hamburger .hamburger_line {
  width: 10vw;
  height: 7.8vw;
  margin: 0 auto;
  position: relative; }
  .hamburger .hamburger_line .hamburger_lineList {
    width: 100%;
    height: 1.2vw;
    position: absolute;
    left: 0;
    background: #0d64ac;
    -webkit-transition: .4s all ease;
    -moz-transition: .4s all ease;
    transition: .4s all ease; }
    .hamburger .hamburger_line .hamburger_lineList-top {
      top: 0; }
    .hamburger .hamburger_line .hamburger_lineList-middle {
      top: 0;
      bottom: 0;
      margin: auto; }
    .hamburger .hamburger_line .hamburger_lineList-bottom {
      bottom: 0; }
  .hamburger .hamburger_line::after {
    content: "MENU";
    display: block;
    width: 100%;
    font-size: 3.1vw;
    font-weight: bold;
    text-align: center;
    color: #0d64ac;
    position: absolute;
    bottom: -4.6vw; }

.js-hamburgerOpen {
  background: #f2f2f2; }
  .js-hamburgerOpen .hamburger_line .hamburger_lineList {
    -webkit-transform: rotate(360deg);
    -moz-transform: rotate(360deg);
    transform: rotate(360deg); }
    .js-hamburgerOpen .hamburger_line .hamburger_lineList-top {
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      transform: rotate(45deg);
      top: 3vw; }
    .js-hamburgerOpen .hamburger_line .hamburger_lineList-middle {
      -webkit-transform: rotate(360deg);
      -moz-transform: rotate(360deg);
      transform: rotate(360deg);
      display: none; }
    .js-hamburgerOpen .hamburger_line .hamburger_lineList-bottom {
      -webkit-transform: rotate(315deg);
      -moz-transform: rotate(315deg);
      transform: rotate(315deg);
      top: 3vw;
      bottom: auto; }
  .js-hamburgerOpen .hamburger_line::after {
    content: "CLOSE";
    text-indent: -0.2em; }

/* _______________________________________ */
@media print, screen and (min-width: 768px) {
  header {
    border-bottom: 4px solid #097cc8; }

  .header {
    width: 100%;
    position: relative; }
    .header .header_box-title {
      border: none;
      display: block; }
    .header .header_box .header_boxInner:first-child {
      padding: 1.4vw 0 0;
      flex: none;
      display: block; }
    .header .header_box .header_boxInner .header_boxInnerTitle {
      max-width: 228px;
      width: 100%;
      padding: 0;
      float: left;
      display: block;
      position: relative; }
      .header .header_box .header_boxInner .header_boxInnerTitle-sub {
        padding: 5px 0 0 10px;
        color: #0d64ac; }
      .header .header_box .header_boxInner .header_boxInnerTitle .header_boxInnerTitleText {
        font-size: 18px;
        line-height: 1.1; }
        .header .header_box .header_boxInner .header_boxInnerTitle .header_boxInnerTitleText-big {
          font-size: 24px;
          line-height: 1.2; }
        .header .header_box .header_boxInner .header_boxInnerTitle .header_boxInnerTitleText-small {
          padding: 6px 0 0;
          font-size: 12px; }
    .header .header_box .header_boxInner .header_boxOption {
      width: auto;
      padding: 28px 0 0; }
      .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav {
        display: flex; }
        .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList {
          width: auto;
          float: none; }
          .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList .header_boxOptionNavListInner {
            padding: 7px 22px 7px 40px;
            font-size: 14px;
            line-height: 1.6; }
          .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList:first-child {
            width: auto; }
            .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList:first-child .header_boxOptionNavListInner {
              border-top: 3px solid #ea4109;
              border-bottom: 3px solid #c72114;
              position: relative; }
              .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList:first-child .header_boxOptionNavListInner::before {
                display: block;
                width: 20px;
                height: 20px;
                background: #fff url("/asset/img/common/arrow-orange.png") no-repeat center;
                border-radius: 50%;
                bottom: 1px;
                margin: auto 0;
                left: 12px;
                background-size: 14px; }
          .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList:nth-of-type(2) {
            margin: 0 10px; }
            .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList:nth-of-type(2) .header_boxOptionNavListInner {
              border-top: 3px solid #2ca3db;
              border-bottom: 3px solid #0d64ac; }
              .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList:nth-of-type(2) .header_boxOptionNavListInner::before {
                display: block;
                width: 20px;
                height: 20px;
                background: #fff url("/asset/img/common/arrow-aquablue.png") no-repeat center;
                border-radius: 50%;
                bottom: 1px;
                margin: auto 0;
                left: 12px;
                background-size: 15px; }
          .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList-search {
            padding: 7px 22px 7px 33px;
            display: block;
            font-size: 14px;
            font-weight: bold;
            line-height: 1.6;
            color: #7f694e;
            background: #f2f0ea;
            border-radius: 6px;
            position: relative;
            border-top: 3px solid #f2f0ea;
            border-bottom: 3px solid #bbae9f;
            cursor: pointer; }
            .header .header_box .header_boxInner .header_boxOption .header_boxOptionNav .header_boxOptionNavList-search::before {
              content: "";
              display: block;
              width: 18px;
              height: 18px;
              background: url("/asset/img/common/icon_search.png") no-repeat center;
              position: absolute;
              top: 0;
              bottom: 1px;
              margin: auto 0;
              left: 10px; }
      .header .header_box .header_boxInner .header_boxOption .header_boxOptionLang {
        display: block;
        position: absolute;
        top: 12px;
        right: 0; }
        .header .header_box .header_boxInner .header_boxOption .header_boxOptionLang .header_boxOptionLangInner {
          width: 100%; }
          .header .header_box .header_boxInner .header_boxOption .header_boxOptionLang .header_boxOptionLangInner .header_boxOptionLangInnerList {
            display: inline-block;
            vertical-align: middle;
            font-size: 14px;
            font-weight: bold; }
            .header .header_box .header_boxInner .header_boxOption .header_boxOptionLang .header_boxOptionLangInner .header_boxOptionLangInnerList-select::after {
              content: "";
              display: block;
              width: 14px;
              height: 10px;
              background: url("/asset/img/common/arrow-lang.png") no-repeat center;
              position: absolute;
              top: 0;
              bottom: 0;
              right: 0;
              margin: auto;
              z-index: -1; }
            .header .header_box .header_boxInner .header_boxOption .header_boxOptionLang .header_boxOptionLangInner .header_boxOptionLangInnerList-select select {
              padding: 0 010px 0 5px;
              float: right;
              font-size: 14px;
              font-weight: bold;
              color: #0d64ac;
              border: none;
              background: none;
              line-height: 1.6;
              -webkit-appearance: none;
              -moz-appearance: none;
              cursor: pointer; }
              .header .header_box .header_boxInner .header_boxOption .header_boxOptionLang .header_boxOptionLangInner .header_boxOptionLangInnerList-select select::-ms-expand {
                display: none; }
              .header .header_box .header_boxInner .header_boxOption .header_boxOptionLang .header_boxOptionLangInner .header_boxOptionLangInnerList-select select:focus {
                outline: none; }

  .searchBox {
    display: none;
    width: 478px;
    padding: 18px 15px 8px;
    box-sizing: border-box;
    position: absolute;
    top: 85%;
    right: 0;
    z-index: 10000;
    background: #f2f0ea;
    border: 2px solid #7f694e; }
    .searchBox .searchBox_inner form {
      width: 100%;
      height: 30px;
      display: table;
      table-layout: fixed; }
      .searchBox .searchBox_inner form input {
        /*width: 80%;
        height: 30px;*/
        padding: 5px 10px;
        font-size: 14px;
        background: #fff;
        border: none;
        -webkit-appearance: none;
        -moz-appearance: none;
        display: table-cell;
        vertical-align: middle;
        float: left;
        border-radius: 0; }
        .searchBox .searchBox_inner form input:focus {
          outline: none; }
        .searchBox .searchBox_inner form input::placeholder {
          color: #d7d7d7; }
      .searchBox .searchBox_inner form button {
        width: 20%;
        /*height: 30px;*/
        padding: 5px 0 5px .70rem;
        border: none;
        font-size: 14px;
        font-weight: bold;
        color: #fff;
        background: #7f694e;
        -webkit-appearance: none;
        -moz-appearance: none;
        cursor: pointer;
        display: table-cell;
        vertical-align: middle;
        float: left; }
        .searchBox .searchBox_inner form button:focus {
          outline: none; }
    .searchBox .searchBox_inner .searchBox_close {
      padding: 10px 0 0;
      float: right;
      text-align: right;
      cursor: pointer;
      font-size: 14px;
      font-weight: bold;
      color: #7f694e; }

  .hamburger {
    display: none !important; }

  .header_text {
    display: none; }

  .header_box-nav {
    width: 100%;
    display: block;
    position: relative;
    background: #2ca3db;
    display: block !important; }
    .header_box-nav .header_boxLang {
      display: none; }

  .gnav {
    width: 100%;
    display: table;
    table-layout: fixed; }
    .gnav::after {
      content: "";
      display: block;
      width: 4px;
      height: 20px;
      background: url("/asset/img/common/nav_border.png") no-repeat center;
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      margin: auto; }
    .gnav .gnav_list {
      width: 25%;
      padding: 0;
      font-size: 13px;
      color: #fff;
      display: table-cell;
      vertical-align: middle;
      text-align: center;
      border: none;
      position: relative;
      background: url("/asset/img/common/nav_border.png") no-repeat left center;
      /*background: $color-theme;*/
      cursor: pointer; }
      .gnav .gnav_list:first-child {
        width: 25%; }
    .gnav .gnav_list-search {
      display: none;
      /*width: 25% !important;*/ }
    .gnav .gnav_list a {
      padding: 15px 0;
      color: #fff;
      pointer-events: auto; }
    .gnav .gnav_list::before {
      content: "";
      display: block;
      width: 4px;
      height: 20px;
      /*background: url('/asset/img/common/nav_border.png') no-repeat center;*/
      background: none;
      position: absolute;
      top: 0;
      bottom: 0;
      left: 0;
      right: auto;
      margin: auto; }
    .gnav .gnav_list::after {
      display: none; }
    .gnav .gnav_list-full {
      width: 1080px;
      height: 260px;
      padding: 20px;
      box-sizing: border-box;
      position: absolute;
      top: 92%;
      right: 0;
      left: 0;
      margin: 4px auto 0;
      z-index: 9999;
      border-top: 4px solid #097cc8;
      border-bottom: 2px solid #0d64ac;
      background: #f2f2f2; }
    .gnav .gnav_list-about.js-triangle::after {
      content: "";
      display: block;
      width: 0;
      height: 0;
      padding: 0;
      border-top: 0 solid transparent;
      border-right: 8px solid transparent;
      border-left: 8px solid transparent;
      border-bottom: 10px solid #097cc8;
      position: absolute;
      top: auto;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0 auto;
      background: none; }
    .gnav .gnav_list-aboutInner {
      display: none; }
      .gnav .gnav_list-aboutInner::before {
        display: none; }
    .gnav .gnav_list-point.js-triangle::after {
      content: "";
      display: block;
      width: 0;
      height: 0;
      padding: 0;
      border-top: 0 solid transparent;
      border-right: 8px solid transparent;
      border-left: 8px solid transparent;
      border-bottom: 10px solid #097cc8;
      position: absolute;
      top: auto;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0 auto;
      background: none; }
    .gnav .gnav_list-pointInner {
      display: none; }
      .gnav .gnav_list-pointInner::before {
        display: none; }
    .gnav .gnav_list-device {
      display: none; }
      .gnav .gnav_list-device.js-triangle::after {
        content: "";
        display: block;
        width: 0;
        height: 0;
        padding: 0;
        border-top: 0 solid transparent;
        border-right: 8px solid transparent;
        border-left: 8px solid transparent;
        border-bottom: 10px solid #097cc8;
        position: absolute;
        top: auto;
        bottom: 0;
        left: 0;
        right: 0;
        margin: 0 auto;
        background: none; }
    .gnav .gnav_list-deviceInner {
      display: none; }
      .gnav .gnav_list-deviceInner::before {
        display: none; }
    .gnav .gnav_list-shop.js-triangle::after {
      content: "";
      display: block;
      width: 0;
      height: 0;
      padding: 0;
      border-top: 0 solid transparent;
      border-right: 8px solid transparent;
      border-left: 8px solid transparent;
      border-bottom: 10px solid #097cc8;
      position: absolute;
      top: auto;
      bottom: 0;
      left: 0;
      right: 0;
      margin: 0 auto;
      background: none; }
    .gnav .gnav_list-shopInner {
      display: none; }
    .gnav .gnav_list-net {
      display: none; }
    .gnav .gnav_list-campaignInner {
      display: none; }
    .gnav .gnav_list-special {
      display: none; }
    .gnav .gnav_list-specialInner {
      display: none; }
    .gnav .gnav_list-news {
      display: none; }
    .gnav .gnav_list-newsInner {
      display: none; }
    .gnav .gnav_list-faq {
      display: none; }
    .gnav .gnav_list-help {
      display: none; }
    .gnav .gnav_list-helpInner {
      display: none; }
    .gnav .gnav_list.js-megaOpen {
      display: block !important;
      background: #f2f2f2; }
      .gnav .gnav_list.js-megaOpen::after {
        display: none; }
    .gnav .gnav_list .gnav_listTitle {
      width: 208px;
      height: 208px;
      float: left;
      display: block;
      background: url("/asset/img/common/bg_megamenu.gif") repeat;
      position: relative; }
      .gnav .gnav_list .gnav_listTitle .gnav_listTitleText {
        width: 160px;
        height: 50px;
        font-size: 24px;
        text-align: left;
        position: absolute;
        top: 0;
        right: 20px;
        left: 0;
        bottom: 0;
        margin: auto; }
        .gnav .gnav_list .gnav_listTitle .gnav_listTitleText:first-letter {
          color: #ea4109; }
        .gnav .gnav_list .gnav_listTitle .gnav_listTitleText-high {
          height: 80px; }
      .gnav .gnav_list .gnav_listTitle .gnav_listTitleTriangle {
        widht: 0;
        height: 0;
        border-top: 15px solid #fff;
        border-right: 15px solid transparent;
        border-left: 15px solid transparent;
        border-bottom: 15px solid transparent;
        position: absolute;
        right: -8px;
        bottom: -8px;
        -webkit-transform: rotate(-45deg);
        -moz-transform: rotate(-45deg);
        transform: rotate(-45deg); }
    .gnav .gnav_list .gnav_listBox {
      width: 807px;
      float: right;
      display: block; }
      .gnav .gnav_list .gnav_listBox .gnav_listBoxItem {
        width: 267px;
        height: 40px;
        margin: 0 0 2px;
        float: left; }
        .gnav .gnav_list .gnav_listBox .gnav_listBoxItem:nth-child(3n-1) {
          margin: 0 2px 2px; }
        .gnav .gnav_list .gnav_listBox .gnav_listBoxItem .gnav_listBoxItemLink {
          padding: 12px 17px;
          font-size: 13px;
          color: #373737;
          text-align: left;
          border: none;
          background: #fff;
          position: relative; }
          .gnav .gnav_list .gnav_listBox .gnav_listBoxItem .gnav_listBoxItemLink::after {
            content: "";
            display: block;
            width: 14px;
            height: 15px;
            background: url("/asset/img/common/arrow-orange.png") no-repeat center;
            position: absolute;
            top: 0;
            bottom: 0;
            margin: auto;
            right: 10px; } }
.js-open {
  display: block !important; }

/* _______________________________________ */
/* ==================================
FOOTER
===================================== */
/* ________
SP
___________ */
/* sp-utilitiesNav_________________________________ */
.sp-utilitiesNav {
  flex-wrap: wrap;
  font-size: 4vw;
  background-color: #2ca3db; }
  .sp-utilitiesNav li {
    border-top: 2px solid #fff;
    width: 50%;
    position: relative; }
    .sp-utilitiesNav li a {
      padding: 0 3vw;
      color: #fff;
      line-height: 1.3;
      display: flex;
      align-items: center;
      min-height: 19vw;
      height: 100%; }
      @media (max-width: 767px) {
        .sp-utilitiesNav li a {
          padding: 0 7vw 0 3vw; } }
  .sp-utilitiesNav .arrow {
    position: relative; }
    .sp-utilitiesNav .arrow::before {
      position: absolute;
      margin: auto;
      content: "";
      vertical-align: middle;
      width: 3.5vw;
      height: 3.5vw;
      top: 0;
      bottom: 0;
      right: 2vw;
      right: 3vw; }
      @media (min-width: 768px) {
        .sp-utilitiesNav .arrow::before {
          width: 14px;
          height: 14px;
          top: 0;
          bottom: 0; } }

@media (max-width: 767px) {
  /* フッターのSPのサブメニュー */
  .sp-utilitiesNav .spOpenList {
    display: none;
    width: 100%;
    border: 0; }
    .sp-utilitiesNav .spOpenList_box {
      flex-wrap: wrap;
      width: 100%; }
      .sp-utilitiesNav .spOpenList_box li {
        width: 100%; }
        .sp-utilitiesNav .spOpenList_box li a {
          color: #373737;
          line-height: 1.3;
          display: flex;
          align-items: center;
          min-height: 19vw;
          height: 100%;
          background-color: #f5fbfd; }

  .sp-utilitiesNav-border {
    border-left: 2px solid #fff;
    box-sizing: border-box; }

  .spnav-1 {
    order: 1; }

  .spnav-2 {
    order: 2; }

  .spnav-3 {
    order: 3; }

  .spnav-4 {
    order: 4; }

  .spnav-5 {
    order: 5; }

  .spnav-6 {
    order: 6; }

  .spnav-7 {
    order: 7; }

  .spnav-8 {
    order: 8; }

  .spnav-9 {
    order: 9; }

  .spnav-10 {
    order: 10; }

  .spnav-11 {
    order: 11; }

  .spnav-12 {
    order: 12; }

  .spnav-13 {
    order: 13; }

  .spnav-14 {
    order: 14; }

  .spnav-15 {
    order: 15; }

  .spnav-16 {
    order: 16; }

  .spnav-17 {
    order: 17; }

  .spnav-18 {
    order: 18; }

  .spnav-19 {
    order: 19; }

  .spnav-20 {
    order: 20; }

  .spnav-21 {
    order: 21; }

  .spnav-22 {
    order: 22; }

  .spnav-23 {
    order: 23; }

  .spnav-24 {
    order: 24; }

  .spnav-25 {
    order: 25; }

  .spnav-26 {
    order: 26; }

  .spnav-27 {
    order: 27; }

  .spnav-28 {
    order: 28; }

  .spnav-29 {
    order: 29; }

  .spnav-30 {
    order: 30; }

  .spnav-31 {
    order: 31; }

  .spnav-32 {
    order: 32; }

  .js-spOpenList .arrow-whitePlus::before {
    background: url(/asset/img/common/img-whiteminus.png) no-repeat;
    background-size: contain; } }
/* ________
PC
___________ */
@media print, screen and (min-width: 768px) {
  footer .l-wrap {
    width: 95%;
    margin: auto; } }
/* utilitiesNav_________________________________ */
@media print, screen and (min-width: 768px) {
  .footerNavBox {
    background-color: #f2f2f2; }

  .utilitiesNav {
    padding: 55px 0;
    margin-top: 70px; }
    .utilitiesNav.pc-df {
      flex-wrap: wrap; } }
/* links__________________________________________ */
@media print, screen and (min-width: 768px) {
  .links {
    font-size: 14px;
    width: 23%; }
    .links .arrow-orange {
      position: relative; }
      .links .arrow-orange::before {
        left: 0;
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0;
        margin: 7px 0 0 -20px; }
    .links dd {
      padding-left: 24px; }
      .links dd a {
        padding: 5px 4px;
        color: #373737;
        font-size: 13px; }
      .links dd + .links_ttl {
        margin: 20px 0 0 0; }
    .links .links_ttl a {
      padding: 6px 0;
      color: #26abe1;
      margin-left: 25px; }
    .links .links_ttl + .links_ttl {
      margin-top: 10px; } }
/* ________
SP and PC
___________ */
.footerLogoBox {
  background-color: #f2f2f2; }
  @media print, screen and (min-width: 768px) {
    .footerLogoBox {
      background-color: #2ca3db; } }

/* footerNav_______________________________________ */
.footerNav {
  padding: 6vw;
  background-color: none; }
  @media print, screen and (min-width: 768px) {
    .footerNav {
      width: 100%;
      position: relative;
      padding: 0;
      color: #fff; }
      .footerNav .df {
        justify-content: flex-end; } }
  .footerNav_list {
    font-size: 3.8vw;
    flex-wrap: wrap;
    justify-content: center;
    background-color: none;
    width: 90%;
    margin: 0 auto; }
    @media print, screen and (min-width: 768px) {
      .footerNav_list {
        font-size: 12px;
        padding-top: 27px;
        width: auto;
        margin: auto; } }
    .footerNav_list li {
      box-sizing: border-box;
      text-align: center;
      margin-bottom: 5vw; }
      @media print, screen and (min-width: 768px) {
        .footerNav_list li {
          width: auto;
          border-bottom: none;
          box-sizing: border-box;
          margin-bottom: 75px; }
          .footerNav_list li li:nth-of-type(even) {
            border-right: none; }
          .footerNav_list li li:last-child a {
            padding: 20px 0 20px 10px; } }
      .footerNav_list li a {
        display: inline; }
    .footerNav_list_btn {
      padding: 4vw 2vw;
      color: #000; }
      @media print, screen and (min-width: 768px) {
        .footerNav_list_btn {
          padding: 20px 16px;
          color: #fff; } }

/* footerSiteId_____________________________________ */
@media print, screen and (min-width: 768px) {
  .footerSiteId {
    position: absolute;
    left: 0;
    bottom: 0;
    left: 0;
    width: 10.7%;
    margin: 0 0 1% 0; } }
.footerSiteId a {
  width: 25vw;
  margin: 0 auto; }
  @media print, screen and (min-width: 768px) {
    .footerSiteId a {
      width: 100%;
      margin: 8% 0; }
      .footerSiteId a img {
        width: 100%; } }

/* copy______________________________________________ */
.copy {
  text-align: center;
  font-size: 4vw;
  padding: 5vw 0 70px;
  background-color: #f2f2f2; }
  @media print, screen and (min-width: 768px) {
    .copy {
      text-align: right;
      font-size: 11px;
      margin: -4% 0 0 0;
      padding: 0 0 40px 0;
      background-color: transparent;
      color: #fff; } }

/* pageTop______________________________________________ */
.pageTop {
  position: fixed;
  bottom: 0;
  margin: 0 2.5% 2.5% 0;
  right: 0;
  z-index: 80; }

/* ==================================
第一階層　『あなたにあったカード』
===================================== */
/* 影付きのボタン */
.btnWrap-skyblue {
  margin-bottom: 0;
  border-bottom: 3px solid #0d64ac; }

@media print, screen and (min-width: 768px) {
  .btn-skyblue {
    font-size: 18px;
    letter-spacing: 0.1em; } }

/* 4枚パネル */
.fourpanel {
  margin: 7vw 0 -3vw; }
  @media print, screen and (min-width: 768px) {
    .fourpanel {
      margin: 40px 0; } }
  @media print, screen and (min-width: 768px) {
    .fourpanel .arrow-orange {
      border-bottom: 2px solid #2ca3db; } }
  .fourpanel_text {
    font-size: 3.6vw;
    margin: 3vw 0;
    line-height: 1.3; }
    @media print, screen and (min-width: 768px) {
      .fourpanel_text {
        font-size: 14px;
        margin: 10px 0 7px; } }

/*モバイルWAON */
@media print, screen and (min-width: 768px) {
  .pc-df-oneThree .colorBox {
    width: 63%;
    padding: 40px 0 0; }
    .pc-df-oneThree .colorBox .colorBox_text {
      font-weight: bold; }
    .pc-df-oneThree .colorBox .btnWrap {
      margin: 20px auto 0;
      width: 380px; }
  .pc-df-oneThree .pc-df_right {
    width: 380px; }
    .pc-df-oneThree .pc-df_right .btnWrap {
      font-size: 20px;
      margin: 0;
      width: 380px; }
      .pc-df-oneThree .pc-df_right .btnWrap + .btnWrap {
        margin-top: 10px; } }
@media print, screen and (min-width: 768px) {
  .waoncardplus .btn-skyblue {
    letter-spacing: 0;
    padding-left: 20px; } }

/* ==================================
第二階層　『ご当地WAON』
===================================== */
/* メインビジュアル */
.bg_obliqueline {
  background: url("/asset/img/card/bg-obliqueline.png") repeat-x;
  background-size: contain; }
  .bg_obliqueline_mb {
    margin-bottom: 26vw; }
    @media print, screen and (min-width: 768px) {
      .bg_obliqueline_mb {
        margin-bottom: 85px; } }

.mvbox {
  position: relative; }
  @media print, screen and (min-width: 768px) {
    .mvbox {
      margin-top: -27px; } }
  .mvbox_textimg {
    padding: 7vw 5vw 12vw;
    width: 80%;
    margin: 0 auto; }
    @media print, screen and (min-width: 768px) {
      .mvbox_textimg {
        padding: 40px 0 50px; } }
  .mvbox_kifukin {
    position: absolute;
    left: 0;
    right: 0;
    bottom: -18vw;
    width: 90%;
    margin: 0 auto; }
    @media print, screen and (min-width: 768px) {
      .mvbox_kifukin {
        bottom: -42px;
        width: 50%;
        margin: 0 auto; } }

/* _________________________ */
/* 『カード一覧はこちら』微調整 */
@media print, screen and (min-width: 768px) {
  .more.regionmore {
    margin: -15px 10px 0 0; } }
@media print, screen and (min-width: 768px) {
  .more.regionmore .arrow-orange {
    margin: 0; } }

/* 地域貢献のしくみ、ボタン微調整 */
.shikumi_img {
  margin: 2vw auto; }
  @media print, screen and (min-width: 768px) {
    .shikumi_img {
      margin: 45px auto 20px; } }

.shikumi.df-twoBtnWrap .btn.btn-blackblue {
  justify-content: flex-start; }
.shikumi.df-twoBtnWrap .btnWrap {
  text-align: left; }
  @media print, screen and (min-width: 768px) {
    .shikumi.df-twoBtnWrap .btnWrap .btn-blackblue {
      padding: 16px 0px 12px 12px; } }
  @media print, screen and (min-width: 768px) {
    .shikumi.df-twoBtnWrap .btnWrap .arrow-orange::before {
      left: 230px; } }

/* SP時1個、PC時4個 */
.one-four-list {
  justify-content: flex-start;
  flex-wrap: wrap; }
  .one-four-list li {
    width: 90%;
    margin: 0 auto 6vw;
    padding-bottom: 3vw; }
    @media print, screen and (min-width: 768px) {
      .one-four-list li {
        margin: 0 0 0;
        padding-bottom: 40px;
        width: 23.5%; } }
    @media print, screen and (min-width: 768px) {
      .one-four-list li:nth-child(n + 2) {
        margin-left: 20px; } }
    @media print, screen and (min-width: 768px) {
      .one-four-list li:nth-child(4n + 1) {
        margin-left: 0; } }
  .one-four-list_text {
    line-height: 1.3;
    margin-top: 1vw; }
    @media print, screen and (min-width: 768px) {
      .one-four-list_text {
        margin-top: 10px; } }

/*
#regioncardList {
  .two-four-list {
    li {
      @include pc-layout {
        height: 160px;
      }

    }

  }

}

#donationcardList {
  .two-four-list {
    li {
      @include pc-layout {
        height: 160px;
      }

    }

  }

}

#targetcardList {
  .two-four-list {
    li {
      @include pc-layout {
        height: 160px;
      }

    }

  }

}
*/
/* SP時2個、PC時4個 */
.two-four-list {
  flex-wrap: wrap;
  justify-content: space-between; }
  @media print, screen and (min-width: 768px) {
    .two-four-list {
      justify-content: flex-start; } }
  .two-four-list > li {
    width: 48%;
    margin-bottom: 6vw;
    padding-bottom: 3vw; }
    @media print, screen and (min-width: 768px) {
      .two-four-list > li {
        padding-bottom: 40px;
        width: 23.5%;
        margin-bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .two-four-list > li + li {
        margin-left: 20px; } }
    @media print, screen and (min-width: 768px) {
      .two-four-list > li:nth-child(4n + 1) {
        margin-left: 0; } }
  .two-four-list_text {
    line-height: 1.6;
    margin-top: 1vw; }
    @media print, screen and (min-width: 768px) {
      .two-four-list_text {
        margin-top: 5px; } }

/* SP時2個、PC時4個の中にbtnWrapが来る時 */
.two-four-list .two-four-list_btn {
  margin-bottom: 0;
  padding-bottom: 0; }
.two-four-list .btnWrap {
  width: auto;
  margin: 5vw auto 0; }
  @media print, screen and (min-width: 768px) {
    .two-four-list .btnWrap {
      margin: 20px auto 0; } }
.two-four-list .link-icon {
  margin: 2vw 5vw 0 0;
  word-wrap: break-word; }
  @media print, screen and (min-width: 768px) {
    .two-four-list .link-icon {
      margin: 10px 10px 0 0; } }

/* リンクが来る時 */
.soccerCard .fourlist {
  flex-wrap: wrap;
  justify-content: flex-start; }
  .soccerCard .fourlist-white {
    background: #fff; }
  .soccerCard .fourlist li {
    width: 50%;
    margin: 0;
    padding: 1vw;
    box-sizing: border-box; }
    @media print, screen and (min-width: 768px) {
      .soccerCard .fourlist li {
        width: 25%;
        padding: 1vw;
        box-sizing: border-box;
        padding-bottom: 20px; } }
  .soccerCard .fourlist_text {
    line-height: 1.3;
    margin-top: 3vw; }
    @media print, screen and (min-width: 768px) {
      .soccerCard .fourlist_text {
        margin-top: 0; } }

.update {
  margin: 2vw 0 3vw; }
  @media print, screen and (min-width: 768px) {
    .update {
      margin: 8px 0; } }
  .updateLink {
    background-color: #de5b9b;
    color: #fff;
    display: inline;
    padding: 0.5vw 1.3vw;
    border-radius: 3px;
    margin-top: 10px; }
    @media print, screen and (min-width: 768px) {
      .updateLink {
        padding: 3px 5px; } }

@media print, screen and (min-width: 768px) {
  .ribbonBox {
    position: relative; } }

@media print, screen and (min-width: 768px) {
  .ribbon {
    position: absolute;
    background-color: #fc4d4d;
    color: #fff;
    padding: 3px 5px 3px 7px;
    top: 10px;
    left: -9px; }
    .ribbon::after {
      content: "";
      display: block;
      width: 0;
      height: 0;
      border-top: 9px solid #fc4d4d;
      border-bottom: 9px solid #fc4d4d;
      border-right: 9px solid transparent;
      border-left: 0;
      position: absolute;
      top: 0;
      right: -9px; }
    .ribbon::before {
      content: "";
      display: block;
      width: 0;
      height: 0;
      border-right: 9px solid #d23f3f;
      border-bottom: 9px solid transparent;
      position: absolute;
      top: 0;
      left: 0;
      top: 18px; } }

.redfont {
  color: #ea4109; }

.bluecolorfont {
  color: #0d64ac; }

/* 都道府県のボタン6個微調整 */
@media print, screen and (min-width: 768px) {
  .prefectures.df-twoBtnWrap .btnWrap .btn {
    font-size: 15px;
    padding: 16px 0px 12px 28px; } }

/* ==================================
第二階層　『サッカー大好きカード』
===================================== */
/* 浮かせるリンク */
.shikumi-soccer {
  position: relative; }
  .shikumi-soccer_link {
    position: absolute;
    width: 33vw;
    height: 5vw;
    top: 0;
    right: 7vw; }
    @media print, screen and (min-width: 768px) {
      .shikumi-soccer_link {
        width: 160px;
        height: 23px;
        right: 0;
        left: 300px; } }

/* お知らせ */
.soccerInfo .tableblock_day {
  font-weight: bold; }
.soccerInfo .tableblockBoxWrap {
  display: none; }
.soccerInfo .tableblockBox .tableblock-first {
  border-top: none; }

.tableblockBoxWrap {
  height: 45vw; }
  @media print, screen and (min-width: 768px) {
    .tableblockBoxWrap {
      height: 164px; } }

.soccerTableAll.js-soccerTableAll {
  height: 68vw;
  overflow-y: auto; }
  .soccerTableAll.js-soccerTableAll::-webkit-scrollbar {
    width: 10px;
    background-color: rgba(0, 0, 50, 0.1); }
  .soccerTableAll.js-soccerTableAll::-webkit-scrollbar-thumb {
    background-color: rgba(0, 0, 50, 0.5);
    border-radius: 10px;
    box-shadow: 0 0 0 1px rgba(255, 255, 255, 0.3); }
  @media print, screen and (min-width: 768px) {
    .soccerTableAll.js-soccerTableAll {
      height: 260px; } }

.js-moreOpenBtn.moreOpenBtn.arrow-whitePlus::before {
  background: url(/asset/img/common/img-whiteminus.png) no-repeat;
  background-size: contain; }

/* 動画を見る */
@media print, screen and (min-width: 768px) {
  .soccerMovieBox {
    background: url("/asset/img/card/bg-soccer-movie.png") repeat-x;
    background-position: contain; } }
@media print, screen and (min-width: 768px) {
  .soccerMovieBox_img {
    width: 47%;
    margin: 0 auto; } }

/* サッカーカードリスト */
.soccerCard .fourlist {
  flex-wrap: wrap;
  justify-content: flex-start; }
  .soccerCard .fourlist-white {
    background: #fff; }
  .soccerCard .fourlist li {
    width: 50%;
    margin: 0;
    padding: 1vw;
    box-sizing: border-box; }
    @media print, screen and (min-width: 768px) {
      .soccerCard .fourlist li {
        width: 25%;
        padding: 1vw;
        box-sizing: border-box;
        padding-bottom: 20px; } }
  .soccerCard .fourlist_text {
    line-height: 1.3;
    margin-top: 3vw; }
    @media print, screen and (min-width: 768px) {
      .soccerCard .fourlist_text {
        margin-top: 0; } }

/* ==================================
第二階層　『５５』
===================================== */
.colorBox-line {
  border: 1px solid #2ca3db;
  width: 48%;
  padding: 2vw;
  box-sizing: border-box;
  flex-direction: column; }
  .colorBox-line_text {
    color: #373737;
    font-size: 3.4vw;
    line-height: 1.5; }
    @media print, screen and (min-width: 768px) {
      .colorBox-line_text {
        font-size: 16px; } }
  .colorBox-line .btnWrap {
    margin: 3vw 0;
    font-size: 4vw; }
    @media print, screen and (min-width: 768px) {
      .colorBox-line .btnWrap {
        font-size: 18px;
        width: 80%;
        margin: 20px auto 10px; } }

/* borderの色のエレメント */
.colorBox-blueline {
  border: 1px solid #2ca3db;
  border-radius: 0; }

.colorBox-blueline-bold {
  border: 3px solid #2ca3db; }

.colorBox-pinkshadowline {
  border: 1px solid #de5b9b;
  box-shadow: 0px 0px 3px 0px #de5b9b;
  padding: 0.5vw 0; }
  .colorBox-pinkshadowline .colorBox-shadowline_text {
    color: #de5b9b; }

.colorBox-greenline-bold {
  border: 3px solid #54a192; }

.colorBox-greenshadowline {
  border: 1px solid #54a192;
  box-shadow: 0px 0px 3px 0px #54a192;
  padding: 0.5vw 0; }
  .colorBox-greenshadowline .colorBox-shadowline_text {
    color: #54a192; }

.colorBox-blueshadowline {
  border: 1px solid #2ca3db;
  box-shadow: 0px 0px 3px 0px #2ca3db;
  padding: 0.5vw 0; }
  .colorBox-blueshadowline .colorBox-shadowline_text {
    color: #2ca3db; }

.colorBox-purpleline-bold {
  border: 3px solid #745bc5;
  background-color: #f6f4fa;
  padding: 0 2vw 2vw 2vw; }
  @media print, screen and (min-width: 768px) {
    .colorBox-purpleline-bold {
      padding: 0 20px 20px 20px; } }

.colorBox-grayline {
  border: 1px solid #d7d7d7;
  border-radius: 0; }

/* _________________ */
/* ステップリスト */
.leftmargin {
  margin-left: 15vw; }
  @media print, screen and (min-width: 768px) {
    .leftmargin {
      margin-left: 70px; } }

.stepList_ttlbox {
  justify-content: flex-start;
  align-items: center;
  position: relative;
  margin-left: 13vw; }
  @media print, screen and (min-width: 768px) {
    .stepList_ttlbox {
      margin-left: 20px; } }
  .stepList_ttlbox.stepList_ttlbox {
    margin-top: 10vw; }
    @media print, screen and (min-width: 768px) {
      .stepList_ttlbox.stepList_ttlbox {
        margin-top: 40px; } }
.stepList_ttl {
  padding-left: 4vw;
  margin-bottom: 2vw; }
  @media print, screen and (min-width: 768px) {
    .stepList_ttl {
      font-size: 22px;
      margin-bottom: 20px;
      padding-left: 50px; } }

/* 水色丸ナンバリング */
.num-skyblueList {
  position: relative;
  margin-top: 5vw; }
  @media print, screen and (min-width: 768px) {
    .num-skyblueList {
      width: 1000px;
      justify-content: flex-start; } }
  @media print, screen and (min-width: 768px) {
    .num-skyblueList + .num-skyblueList {
      margin-top: 70px; } }
  @media print, screen and (min-width: 768px) {
    .num-skyblueList {
      margin-top: 20px; } }
  .num-skyblueList .num-skyblue {
    background-color: #2ca3db;
    background-position: -3px;
    color: #fff;
    border-radius: 100px;
    position: absolute;
    width: 8vw;
    height: 8vw;
    left: -11.5vw; }
    @media print, screen and (min-width: 768px) {
      .num-skyblueList .num-skyblue {
        width: 30px;
        height: 30px;
        left: -53px;
        top: -5p; } }
    .num-skyblueList .num-skyblue_num {
      font-size: 5vw;
      padding-top: 1.5vw; }
      @media print, screen and (min-width: 768px) {
        .num-skyblueList .num-skyblue_num {
          font-size: 20px;
          padding-top: 8px; } }

/* 水色丸ナンバリング -５連矢印- */
.num-skyblueList:before {
  background-color: red;
  background: url(/asset/img/card/five-arrow.png) no-repeat;
  position: absolute;
  margin: auto;
  content: "";
  vertical-align: middle;
  background-size: 4.7vw;
  width: 8vw;
  height: 41vw;
  top: 12vw;
  left: -9.7vw; }
  @media print, screen and (min-width: 768px) {
    .num-skyblueList:before {
      background-size: 10px;
      width: 15px;
      height: 80px;
      top: 40px;
      left: -44px; } }

/* step4の中身 */
.pointTameru {
  width: 80%; }
  @media print, screen and (min-width: 768px) {
    .pointTameru {
      width: 750px; } }
  .pointTameru_onepoint {
    margin: 5vw auto 5vw; }
    @media print, screen and (min-width: 768px) {
      .pointTameru_onepoint {
        margin: 0px 0 20px;
        width: 400px; } }
  .pointTameru_howto-cycle {
    margin: 0 auto 5vw;
    width: 80%; }
    @media print, screen and (min-width: 768px) {
      .pointTameru_howto-cycle {
        margin: -20px 0 0 0px;
        width: 240px; } }

/* step5の中身 */
.colorBox-shadowline {
  width: 49%;
  padding: 1vw 0.5vw;
  box-sizing: border-box;
  flex-direction: column;
  justify-content: center;
  min-height: 22vw; }
  @media print, screen and (min-width: 768px) {
    .colorBox-shadowline {
      width: 480px;
      padding: 10px 10px;
      min-height: 100px; } }
  .colorBox-shadowline_text {
    font-size: 3.5vw;
    line-height: 1.4; }
    @media print, screen and (min-width: 768px) {
      .colorBox-shadowline_text {
        font-size: 20px;
        text-align: center; } }

/* ピンクボックス */
.pinkshadowline-w100 .colorBox-pinkshadowline {
  position: relative;
  width: 100%;
  padding: 1vw 2vw; }
.pinkshadowline-w100 .pinkshadowline_img {
  position: absolute;
  width: 23%;
  top: -7vw;
  right: 1vw; }
  @media print, screen and (min-width: 768px) {
    .pinkshadowline-w100 .pinkshadowline_img {
      width: 100px;
      top: -27px;
      right: 21px; } }

.fuetawaon {
  width: 78%;
  margin: -3vw auto 0; }
  @media print, screen and (min-width: 768px) {
    .fuetawaon {
      width: 320px;
      position: relative; } }
  .fuetawaon_text {
    color: #e8a50b; }
    @media print, screen and (min-width: 768px) {
      .fuetawaon_text {
        text-align: center;
        font-size: 20px;
        margin: 50px auto 30px; } }
  .fuetawaon_img {
    width: 30vw;
    margin-left: 3vw; }
    @media print, screen and (min-width: 768px) {
      .fuetawaon_img {
        width: 130px;
        margin-left: 30px;
        margin-bottom: 20px;
        position: absolute;
        right: -130px;
        top: -20px; } }

/* イエロー矢印 */
.step5_yellowArrow {
  width: 20%;
  margin: 3vw auto; }
  @media print, screen and (min-width: 768px) {
    .step5_yellowArrow {
      width: 45px;
      margin: 30px auto; } }

.yellowArrowBox {
  width: 49%; }
  @media print, screen and (min-width: 768px) {
    .yellowArrowBox {
      width: 480px; } }
  .yellowArrowBox-center {
    margin: 0 auto; }

/* _________________________ */
.stepList1 .stepList_img {
  width: 90%; }
  @media print, screen and (min-width: 768px) {
    .stepList1 .stepList_img {
      width: 300px;
      margin: -50px 0 0 30px; } }

.stepList2 .stepList_img {
  width: 50%;
  margin: 3vw auto 3vw; }
  @media print, screen and (min-width: 768px) {
    .stepList2 .stepList_img {
      width: 140px;
      margin: -50px 0 0 20px; } }
.stepList2_contents {
  justify-content: flex-start; }

.stepList3 .num-skyblueList1 .stepList_img {
  width: 70%;
  margin: 3vw auto 0; }
  @media print, screen and (min-width: 768px) {
    .stepList3 .num-skyblueList1 .stepList_img {
      width: 170px;
      margin: -50px 0 0; } }
.stepList3 .num-skyblueList2:before {
  height: 31vw; }
  @media print, screen and (min-width: 768px) {
    .stepList3 .num-skyblueList2:before {
      height: 60px; } }
.stepList3 .num-skyblueList2 .stepList_img {
  width: 75%;
  margin: 3vw auto 0; }
  @media print, screen and (min-width: 768px) {
    .stepList3 .num-skyblueList2 .stepList_img {
      width: 160px;
      margin: -40px 0 0; } }
.stepList3 .num-skyblueList3:before {
  height: 23vw; }
  @media print, screen and (min-width: 768px) {
    .stepList3 .num-skyblueList3:before {
      height: 45px; } }
.stepList3 .num-skyblueList3 .stepList_img {
  width: 70%;
  margin: 3vw auto 0; }
  @media print, screen and (min-width: 768px) {
    .stepList3 .num-skyblueList3 .stepList_img {
      width: 160px;
      margin: -40px 0 0; } }
.stepList3 .num-skyblueList4 {
  margin-bottom: 17vw; }
  @media print, screen and (min-width: 768px) {
    .stepList3 .num-skyblueList4 {
      margin-bottom: 30px; } }
  .stepList3 .num-skyblueList4:before {
    height: 13vw; }
    @media print, screen and (min-width: 768px) {
      .stepList3 .num-skyblueList4:before {
        height: 30px; } }
.stepList3 .num-skyblueList5 {
  margin-bottom: 10vw; }
  @media print, screen and (min-width: 768px) {
    .stepList3 .num-skyblueList5 {
      margin-bottom: 80px; } }
  .stepList3 .num-skyblueList5:before {
    height: 0; }

@media print, screen and (min-width: 768px) {
  .stepList5_contents {
    width: 1000px;
    margin: 0 auto; } }

/* ==================================
第三階層　『イオンJMBカード』
===================================== */
/* イオンカード3枚 */
.aeoncard {
  margin: 8vw auto 6vw; }
  @media print, screen and (min-width: 768px) {
    .aeoncard {
      margin: 0 auto; } }
  @media print, screen and (min-width: 768px) {
    .aeoncard + .aeoncard {
      margin-top: 20px; } }
  .aeoncard_main {
    width: 65vw;
    position: relative; }
    @media print, screen and (min-width: 768px) {
      .aeoncard_main {
        width: 278px; } }
  .aeoncard_top {
    width: 29vw; }
    @media print, screen and (min-width: 768px) {
      .aeoncard_top {
        width: 120px; } }
    .aeoncard_top::empty {
      display: none; }
  .aeoncard_bottom {
    width: 29vw; }
    @media print, screen and (min-width: 768px) {
      .aeoncard_bottom {
        width: 120px; } }

.aeoncard-rightBox {
  flex-direction: column;
  justify-content: flex-end; }
  @media print, screen and (min-width: 768px) {
    .aeoncard-rightBox {
      margin-left: 20px; } }
.aeoncard .free {
  position: absolute;
  top: -5vw;
  width: 16vw;
  right: -17vw; }
  @media print, screen and (min-width: 768px) {
    .aeoncard .free {
      top: -33px;
      width: 52px;
      right: -57px; } }

/* カードが一枚しかない時バージョン */
.onecard-ttl {
  margin-top: 10vw; }
  @media print, screen and (min-width: 768px) {
    .onecard-ttl {
      margin-top: 20px; } }

@media print, screen and (min-width: 768px) {
  .jmbcard.onecardWrap {
    margin-top: 53px; } }

.onecard.pc-df_left.onecard {
  margin: 8vw auto 6vw; }
  @media print, screen and (min-width: 768px) {
    .onecard.pc-df_left.onecard {
      margin-right: 95px;
      margin-top: 0;
      margin-bottom: 40px; } }
  .onecard.pc-df_left.onecard .aeoncard_main {
    width: 65vw;
    position: relative; }
    @media print, screen and (min-width: 768px) {
      .onecard.pc-df_left.onecard .aeoncard_main {
        width: 278px; } }
  .onecard.pc-df_left.onecard .free {
    position: absolute;
    top: -5vw;
    width: 16vw;
    right: -17vw; }
    @media print, screen and (min-width: 768px) {
      .onecard.pc-df_left.onecard .free {
        top: -33px;
        width: 52px;
        right: -57px; } }

/* _________________________ */
/* 12枚のブルーボタン */
.cardtype {
  flex-wrap: wrap;
  margin-bottom: 5vw; }
  @media print, screen and (min-width: 768px) {
    .cardtype {
      margin-bottom: 10px;
      justify-content: flex-start; } }
  .cardtype li {
    width: 23.5%;
    background-color: #c1e6f6;
    margin-right: 1vw;
    padding: 2vw 0;
    box-sizing: border-box;
    color: #fff;
    font-size: 2.7vw;
    display: flex;
    align-items: center;
    line-height: 1.2;
    flex-direction: column;
    justify-content: center; }
    @media print, screen and (min-width: 768px) {
      .cardtype li {
        font-size: 10px;
        margin-right: 10px;
        padding: 7px 7px 6px;
        width: 20%;
        margin-bottom: 7px; } }
    .cardtype li:nth-child(4n) {
      margin-right: 0; }
      @media print, screen and (min-width: 768px) {
        .cardtype li:nth-child(4n) {
          margin-right: 10px; } }
    .cardtype li:nth-child(n + 5) {
      margin-top: 2vw; }
      @media print, screen and (min-width: 768px) {
        .cardtype li:nth-child(n + 5) {
          margin-top: 0; } }
  .cardtype .on {
    background-color: #2ca3db; }

/* 12枚のブルーボタンだけど、一つだけオレンジ */
.cardtype li.orange {
  background-color: #ffdbba; }
  .cardtype li.orange.on {
    background-color: #fd8824; }

/* _________pcだけに効かせるもの________ */
@media print, screen and (min-width: 768px) {
  .jmbcard {
    margin-top: 55px; }
    .jmbcard .pc-df_left {
      margin-right: 35px; }
    .jmbcard .pc-df_right {
      width: 627px; }
      .jmbcard .pc-df_right .blue {
        margin-bottom: 7px; } }
/* ____________________________________ */
/* 表 */
.cardDetailListBox {
  border: 6px solid #f2f2f2;
  padding: 0 4vw 2vw;
  margin: 5vw auto 0;
  color: #373737;
  box-sizing: border-box; }
  @media print, screen and (min-width: 768px) {
    .cardDetailListBox {
      padding: 20px 20px 21px;
      margin: -20px auto 0;
      width: 680px; } }
  .cardDetailListBox .cardDetailList {
    width: 100%;
    font-size: 3.5vw;
    border-collapse: separate;
    text-align: left;
    border-collapse: separate; }
    @media print, screen and (min-width: 768px) {
      .cardDetailListBox .cardDetailList {
        font-size: 14px; } }
    .cardDetailListBox .cardDetailList tr {
      display: table;
      border-bottom: 1px dashed #bbae9f;
      width: 100%;
      padding: 6vw 0;
      position: relative; }
      @media print, screen and (min-width: 768px) {
        .cardDetailListBox .cardDetailList tr {
          padding: 16px 0; } }
    .cardDetailListBox .cardDetailList td {
      line-height: 1.4; }
    .cardDetailListBox .cardDetailList_left {
      width: 30vw;
      vertical-align: middle;
      padding-left: 4vw; }
      @media print, screen and (min-width: 768px) {
        .cardDetailListBox .cardDetailList_left {
          padding-left: 20px;
          width: 140px; } }
      .cardDetailListBox .cardDetailList_left::before {
        display: block;
        content: '';
        position: absolute;
        top: -0.9vw;
        left: 0;
        bottom: 0;
        margin: auto;
        width: 2vw;
        height: 2vw;
        background-color: #ea4109; }
        @media print, screen and (min-width: 768px) {
          .cardDetailListBox .cardDetailList_left::before {
            width: 6px;
            height: 6px;
            top: -2px;
            left: 4px; } }

.cardDetailListBox p {
  font-size: 4vw;
  line-height: 1.3;
  color: #373737;
  margin-top: 1vw; }
  @media print, screen and (min-width: 768px) {
    .cardDetailListBox p {
      font-size: 14px;
      line-height: 1.5;
      margin-top: 8px; } }

.cardDetailList_text {
  font-size: 4vw;
  line-height: 1.3;
  color: #373737;
  margin-top: 1vw; }
  @media print, screen and (min-width: 768px) {
    .cardDetailList_text {
      font-size: 14px;
      line-height: 1.5;
      margin-top: 8px; } }

/* 二つのバナー */
.twoBnr li + li {
  margin-top: 5vw; }
  @media print, screen and (min-width: 768px) {
    .twoBnr li + li {
      margin-top: 0; } }

/* 四つのバナー */
@media print, screen and (min-width: 768px) {
  .fourBnr {
    flex-wrap: wrap;
    justify-content: flex-start; } }
@media print, screen and (min-width: 768px) {
  .fourBnr li {
    width: 240px; } }
.fourBnr li + li {
  margin-top: 5vw; }
  @media print, screen and (min-width: 768px) {
    .fourBnr li + li {
      margin-top: 0;
      margin-left: 40px; } }
@media print, screen and (min-width: 768px) {
  .fourBnr li:nth-of-type(4n + 1) {
    margin-left: 0; } }
@media print, screen and (min-width: 768px) {
  .fourBnr li:nth-of-type(n + 5) {
    margin-top: 30px; } }

/* 二つのバナー左右50%でセンター寄せ */
.twoBnr.twoBnrCenter {
  justify-content: space-around; }
  @media print, screen and (min-width: 768px) {
    .twoBnr.twoBnrCenter li {
      width: 35%; } }

/* 使い方 */
.howtoInner {
  padding: 6vw 0 10vw; }
  @media print, screen and (min-width: 768px) {
    .howtoInner {
      margin: -60px 0 0;
      padding: 57px 0 55px; } }

.howto_text {
  margin: 6vw 0; }
  @media print, screen and (min-width: 768px) {
    .howto_text {
      margin: 0; } }
@media print, screen and (min-width: 768px) {
  .howto_list {
    margin-top: 25px; } }

/* _________pcだけに効かせるもの________ */
@media print, screen and (min-width: 768px) {
  .howto.pc-df {
    padding-top: 13px;
    box-sizing: border-box; }
  .howto .howto_img {
    width: 540px; }
  .howto .pc-df_right {
    flex: 1;
    margin-left: 20px; } }
/* __________________________________ */
.tablePic_inner {
  justify-content: flex-start; }

.tablePic {
  text-align: left;
  width: 100%;
  font-size: 4vw;
  border-top: 1px dashed #bbae9f;
  border-collapse: separate;
  padding: 3vw 0;
  color: #373737; }
  @media print, screen and (min-width: 768px) {
    .tablePic {
      font-size: 15px;
      padding: 15px 0 4px; } }
  .tablePic:last-of-type {
    border-bottom: 1px dashed #bbae9f; }
  .tablePic_left {
    width: 33vw;
    margin-right: 2vw; }
    @media print, screen and (min-width: 768px) {
      .tablePic_left {
        width: 220px;
        margin-right: 20px; } }
  .tablePic_right {
    width: 67vw; }
    @media print, screen and (min-width: 768px) {
      .tablePic_right {
        width: auto; } }
  .tablePic_ttl {
    padding-bottom: 2vw; }
    @media print, screen and (min-width: 768px) {
      .tablePic_ttl {
        padding-bottom: 15px; } }
  .tablePic_day {
    font-weight: normal;
    line-height: 1.3; }
  .tablePic_cont {
    width: 15em;
    line-height: 1.3; }
    @media print, screen and (min-width: 768px) {
      .tablePic_cont {
        width: 820px; } }
  .tablePic .more {
    margin: 2vw 5vw 0 0; }
    @media print, screen and (min-width: 768px) {
      .tablePic .more {
        margin: 20px 0 0 0;
        left: 0; } }
    @media print, screen and (min-width: 768px) {
      .tablePic .more a {
        font-size: 13px;
        width: 85px; } }

/* _________gg waonのアンカーリンク用________ */
.ggBtn {
  position: relative; }
  .ggBtn .ggBtn_link {
    width: 91vw;
    height: 12vw;
    display: block;
    position: absolute;
    bottom: 4vw;
    left: 0;
    right: 0;
    margin: auto; }
    .ggBtn .ggBtn_link:hover {
      opacity: 0.1;
      background: #fff; }
    @media print, screen and (min-width: 768px) {
      .ggBtn .ggBtn_link {
        width: 835px;
        height: 85px;
        bottom: 33px; } }

/* __________________________________ */
/* ==================================
（下層）よくあるご質問
===================================== */
/* 赤・青ボタン3つ、横幅 */
@media print, screen and (min-width: 768px) {
  .faq-btn {
    width: 913px;
    margin: 0 auto; } }

/* ボタンが二つ並んだ時 */
.df-twoBtnWrap {
  height: 100%; }
  .df-twoBtnWrap .btnWrap {
    width: 49%;
    margin: 20px 0 0 0;
    display: flex; }
    .df-twoBtnWrap .btnWrap .btn {
      line-height: 1.2;
      display: flex;
      min-height: 51px;
      align-items: center;
      box-sizing: border-box;
      justify-content: center;
      font-size: 4vw;
      width: 100%; }
      @media print, screen and (min-width: 768px) {
        .df-twoBtnWrap .btnWrap .btn {
          font-size: 18px; } }
    .df-twoBtnWrap .btnWrap .arrow-orange {
      font-size: 3.8vw; }
      @media print, screen and (min-width: 768px) {
        .df-twoBtnWrap .btnWrap .arrow-orange {
          font-size: 16px; } }
  .df-twoBtnWrap .btnWrap .linebreak {
    display: block; }

/* SP時は2、PCは全部横並び */
.sp2-pcAll {
  flex-wrap: wrap; }
  @media print, screen and (min-width: 768px) {
    .sp2-pcAll {
      flex-wrap: nowrap; } }
  @media print, screen and (min-width: 768px) {
    .sp2-pcAll .btnWrap {
      margin-right: 12px;
      margin-bottom: 0; }
      .sp2-pcAll .btnWrap:last-child {
        margin-right: 0; } }

/* 水色枠オレンジ右矢印のpaddingの位置調整 */
.df-twoBtnWrap.sp2-pcall .btnWrap .btn-whiteblue {
  padding: 4vw 7vw 4vw 1vw; }
  @media print, screen and (min-width: 768px) {
    .df-twoBtnWrap.sp2-pcall .btnWrap .btn-whiteblue {
      padding: 16px 17px 12px 20px; } }

/* PCの時のみ横並びボタン */
@media print, screen and (min-width: 768px) {
  .pc-df-twoBtnWrap {
    flex-wrap: wrap; } }
@media (max-width: 767px) {
  .pc-df-twoBtnWrap .btnWrap {
    width: auto; } }

/* ボタンの中の文言が長すぎるとき */
.df-twoBtnWrap .btnWrap .btn-long {
  font-size: 3.8vw;
  padding: 3vw 1vw 3vw 7vw;
  letter-spacing: -0.1em; }
  @media print, screen and (min-width: 768px) {
    .df-twoBtnWrap .btnWrap .btn-long {
      font-size: 18px;
      padding: 13px 17px 9px 20px;
      letter-spacing: 0; } }

/* 青いボタンが並んだら。modifire */
@media print, screen and (min-width: 768px) {
  .df-twoBtnWrap.twoBlueButton {
    width: 537px; } }
.df-twoBtnWrap.twoBlueButton .btnWrap {
  margin-top: 9px;
  width: 49%; }
  @media print, screen and (min-width: 768px) {
    .df-twoBtnWrap.twoBlueButton .btnWrap .btn {
      font-size: 14px;
      padding: 19px 17px 19px 32px;
      letter-spacing: 0em; } }

/* めっちゃでかいお問い合わせボタン */
@media print, screen and (min-width: 768px) {
  .threeBtnWrap .btnWrap-whiteblue {
    width: 100%;
    font-size: 34px;
    margin-top: 30px; } }
.threeBtnWrap .btnWrap-whiteblue .btn-whiteblue {
  padding: 6.5vw 1vw; }
  @media print, screen and (min-width: 768px) {
    .threeBtnWrap .btnWrap-whiteblue .btn-whiteblue {
      padding: 25px 0; } }
@media print, screen and (min-width: 768px) {
  .threeBtnWrap .btnWrap-whiteblue .arrow-whiteBlue::before {
    left: 20px;
    top: 1px;
    width: 43px;
    height: 43px;
    background-size: 28px; } }

/* 青文字リンクリスト */
/* 一番外側 */
.linkList {
  font-size: 4vw;
  line-height: 1.3; }
  @media print, screen and (min-width: 768px) {
    .linkList {
      font-size: 18px; } }
  .linkList li + li {
    margin-top: 2vw; }
    @media print, screen and (min-width: 768px) {
      .linkList li + li {
        margin-top: 0;
        padding-top: 20px; } }
  .linkList_link {
    display: inline; }
    .linkList_link:after {
      content: "\FF1E\a0";
      display: inline-block;
      color: #0d64ac;
      margin-left: 1.2vw; }
  .linkList_acdnArea {
    display: none;
    margin-bottom: 7vw;
    padding-bottom: 0.1px; }
    @media print, screen and (min-width: 768px) {
      .linkList_acdnArea {
        margin-bottom: 0; } }
    @media print, screen and (min-width: 768px) {
      .linkList_acdnArea .acdn {
        margin-bottom: 20px;
        margin-top: 30px; } }

/* 一階層下へ */
.linkList_onedown {
  font-size: 4vw;
  line-height: 1.3; }
  @media print, screen and (min-width: 768px) {
    .linkList_onedown {
      font-size: 22px; } }
  .linkList_onedown_link {
    color: pink; }

/* アコーディオン内の表 */
tbody {
  border-bottom: 1px solid #848484; }

.limitTable {
  width: 100%;
  border: 1px solid #848484;
  font-size: 3.2vw;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 6vw auto;
  color: #373737; }
  @media print, screen and (min-width: 768px) {
    .limitTable {
      width: 600px;
      font-size: 15px;
      margin: 20px auto; } }
  .limitTable_ttlbox {
    text-align: center;
    font-weight: bold;
    border-left: none;
    border-right: none;
    padding: 1vw 2vw;
    border-top: 1px solid #848484;
    background-color: #d7d7d7; }
    @media print, screen and (min-width: 768px) {
      .limitTable_ttlbox {
        padding: 8px 6px; } }
  .limitTable_contentsbox {
    text-align: center;
    border-left: none;
    border-right: none;
    padding: 1vw 3vw;
    border-top: 1px solid #848484;
    vertical-align: middle; }
    @media print, screen and (min-width: 768px) {
      .limitTable_contentsbox {
        padding: 8px 6px; } }

.limitTable_ttlbox {
  border-right: 1px solid #848484; }
.limitTable_contentsbox {
  border-right: 1px solid #848484; }

.empty {
  background-color: #f2f2f2; }

.iccardTable {
  border: 1px solid #848484;
  margin: 0 auto;
  font-size: 3.2vw;
  width: 100%; }
  @media print, screen and (min-width: 768px) {
    .iccardTable {
      width: 600px;
      font-size: 15px; } }
  .iccardTable .iccardTable_ttlbox {
    text-align: center;
    vertical-align: middle;
    font-weight: bold;
    border-left: none;
    border-right: none;
    padding: 2vw 2.7vw;
    border-top: 1px solid #848484;
    border-right: 1px solid #848484;
    background-color: #d7d7d7; }
    @media print, screen and (min-width: 768px) {
      .iccardTable .iccardTable_ttlbox {
        padding: 12px 5px; } }
  .iccardTable .iccardTable_contentsbox {
    border-left: none;
    border-right: 1px solid #848484;
    padding: 2vw 3vw;
    border-top: 1px solid #848484;
    vertical-align: middle;
    word-break: break-all; }
    @media print, screen and (min-width: 768px) {
      .iccardTable .iccardTable_contentsbox {
        padding: 12px 8px; } }

.companyInfo .iccardTable_ttlbox {
  width: 8vw; }

.campanyTable .iccardTable_ttlbox {
  width: 17%; }
  @media print, screen and (min-width: 768px) {
    .campanyTable .iccardTable_ttlbox {
      width: 50px; } }

/* アコーディオン内の画像、サイズ調整 */
@media print, screen and (min-width: 768px) {
  .acdn-img {
    width: 80%;
    margin: 20px auto; } }
@media print, screen and (min-width: 768px) {
  .acdn-img.acdn-img-table {
    width: 60%;
    margin: 20px auto; } }

.terminalTable tr:first-child th:first-child {
  width: auto; }
  @media print, screen and (min-width: 768px) {
    .terminalTable tr:first-child th:first-child {
      width: 140px; } }

/* ==================================
カード別事項
===================================== */
@media print, screen and (min-width: 768px) {
  .faq-content {
    flex-direction: column; } }
.faq-content + .faq-content {
  margin: 12vw 0; }
  @media print, screen and (min-width: 768px) {
    .faq-content + .faq-content {
      margin: 0; } }

.faq-imgtextBox {
  width: 70vw;
  margin: 3vw auto;
  position: relative; }
  @media print, screen and (min-width: 768px) {
    .faq-imgtextBox {
      width: 260px;
      margin: 10px auto 0; } }
  .faq-imgtextBox_img {
    width: 70vw; }
    @media print, screen and (min-width: 768px) {
      .faq-imgtextBox_img {
        width: 258px; } }
  .faq-imgtextBox_text {
    margin-top: 7vw;
    color: #373737;
    line-height: 1.3;
    font-size: 4vw; }
    @media print, screen and (min-width: 768px) {
      .faq-imgtextBox_text {
        margin-top: 1px;
        font-size: 14px;
        display: flex;
        flex-direction: column;
        min-height: 70px;
        align-items: center;
        box-sizing: border-box;
        width: 260px;
        justify-content: center;
        line-height: 1.7; } }
    .faq-imgtextBox_text_small {
      font-size: 3vw;
      margin-bottom: 2vw; }
      @media print, screen and (min-width: 768px) {
        .faq-imgtextBox_text_small {
          font-size: 12px;
          margin-bottom: 20px;
          position: absolute;
          bottom: 49px;
          left: 0;
          right: 0;
          text-align: center; } }

/* 横並びにした時、ボタンの位置が揃うように */
@media print, screen and (min-width: 768px) {
  .rowBlock {
    display: flex;
    align-items: flex-end;
    width: 100%; } }

/* ==================================
WAON端末について
===================================== */
.terminalBox_img {
  width: 43vw;
  margin: 0 auto; }
  @media print, screen and (min-width: 768px) {
    .terminalBox_img {
      width: 205px; } }
.terminalBox_img-1 {
  width: 50vw; }
  @media print, screen and (min-width: 768px) {
    .terminalBox_img-1 {
      width: 250px; } }

/* ____________PCの時のみ_____________ */
@media print, screen and (min-width: 768px) {
  /* faq-contentの横幅を50%に */
  .faq-content {
    width: 50%;
    box-sizing: border-box; }

  /* カード別事項の青いボタン、横幅 */
  .faq-pc-df {
    flex-wrap: wrap; } }
  @media print, screen and (min-width: 768px) and (min-width: 768px) {
    .faq-pc-df .btnWrap-whiteblue {
      width: 420px;
      margin-top: 0; }
      .faq-pc-df .btnWrap-whiteblue a {
        font-size: 15px;
        padding: 15px 3px 11px; } }

@media print, screen and (min-width: 768px) {
  /* 端末のゴールドボタン、横幅 */
  .faq-pc-df .df-twoBtnWrap {
    width: 420px;
    margin: 0 auto; }
    .faq-pc-df .df-twoBtnWrap .btnWrap {
      margin: -15px auto 29px; } }
/* ==================================
（下層）使えるお店を探す
===================================== */
.colorBox-radius {
  border-radius: 5px; }

.shopType.sp-paddingWrap {
  padding: 5vw 0 0; }

@media print, screen and (min-width: 768px) {
  .shopType.sp-paddingWrap {
    padding: 65px 0 0; } }
.colorBox-triangle {
  margin: 0 0 4vw;
  position: relative; }
  .colorBox-triangle::after {
    content: "";
    display: block;
    width: 0;
    height: 0;
    border-top: 4vw solid #c1e6f6;
    border-right: 4vw solid transparent;
    border-left: 4vw solid transparent;
    border-bottom: 4vw solid transparent;
    position: absolute;
    top: 100%;
    right: 0;
    left: 0;
    margin: 0 auto; }

@media print, screen and (min-width: 768px) {
  .colorBox-triangle {
    margin: 0 0 4vw;
    position: relative; }
    .colorBox-triangle::after {
      border-top: 35px solid #c1e6f6;
      border-right: 35px solid transparent;
      border-left: 35px solid transparent;
      border-bottom: 35px solid transparent; } }
.shop .heading4 {
    /* &-icon {
       margin-bottom: 1.6vw;
       padding: 6vw 0 1.6vw;
       border-bottom: 4px solid $color-pink;

       .heading4_ttl-pickup {
         display: inline-block;
         vertical-align: middle;

         &::before {
           content: "";
           width: 9vw;
           height: 9vw;
           margin: 0 3vw 0 0;
           display: inline-block;
           vertical-align: middle;
           background: url('/asset/img/common/icon-title-shop.png') no-repeat center;
           background-size: 100%;
         }

       }

     } */ }
.shop .heading5 {
  font-size: 5vw; }
  .shop .heading5-mt0 {
    margin-top: 0; }
  .shop .heading5-mb0 {
    margin-bottom: 0; }
.shop .l-spinner {
  margin: 0 auto 8vw; }

.headingText {
  margin: 0 0 8vw;
  font-size: 4.3vw;
  line-height: 1.14; }

@media print, screen and (min-width: 768px) {
  .shop .l-spinner {
    width: 1080px;
    margin: 0 auto; }
  .shop .heading4 {
      /*&-icon {
        padding: 60px 0 10px;

        .heading4_ttl-pickup {
          &::before {
            width: 35px;
            height: 35px;
            margin: 0 10px 5px 0;
          }

        }

      } */ }
  .shop .heading5 {
    margin: 0 0 28px;
    font-size: 24px; }
    .shop .heading5::before {
      top: -2px; }

  .headingText {
    margin: 0 0 40px;
    font-size: 16px; } }
/* 新しい店舗 */
.newShop {
  margin: 0 0 6%;
  flex-wrap: wrap;
  /* カテゴリー */ }
  .newShop .newShop_list {
    width: 49%;
    margin: 0 0 1.2vw;
    box-sizing: border-box;
    border: 1vw solid #2ca3db;
    border-radius: 6px;
    display: flex;
    flex-direction: column;
    justify-content: center; }
    .newShop .newShop_list_img {
      padding: 3vw 5vw;
      box-sizing: border-box;
      display: flex;
      align-items: center; }
    .newShop .newShop_list .newShop_list_img {
      padding: 0vw 0vw;
      /*width: 44vw;*/
      margin: 0 auto; }
      @media print, screen and (min-width: 768px) {
        .newShop .newShop_list .newShop_list_img {
          width: 270px; } }
  .newShop-category {
    margin: 6vw 0 0; }
    .newShop-category .newShop_list {
      height: 12vw;
      margin: 0 0 2.7vw;
      border: none; }
      .newShop-category .newShop_list .newShop_listLink {
        width: 100%;
        height: 100%;
        padding: 2.5vw 0 2vw;
        display: flex;
        box-sizing: border-box;
        flex-direction: column;
        justify-content: center;
        text-align: center;
        font-size: 3.7vw;
        line-height: 1.2;
        color: #fff;
        background: #2ca3db;
        border-radius: 6px;
        position: relative; }
        .newShop-category .newShop_list .newShop_listLink::before {
          width: 2.5vw;
          height: 2.5vw;
          right: auto;
          left: 2vw;
          background: url("/asset/img/common/arrow-lang-white.png") no-repeat center;
          background-size: 100%; }

@media print, screen and (min-width: 768px) {
  .newShop {
    justify-content: flex-start; }
    .newShop .newShop_list {
      width: 340px;
      height: auto;
      margin: 0;
      border: 4px solid #2ca3db;
      position: relative;
      margin-right: 28px;
      height: 195px; }
      .newShop .newShop_list_img {
        width: 180px;
        margin: auto;
        padding: 20px 0;
        position: relative; }
        .newShop .newShop_list_img img {
          display: block;
          position: absolute;
          bottom: 0;
          top: 0;
          margin: auto; }
      .newShop .newShop_list:nth-child(3n) {
        margin-right: 0; }
      .newShop .newShop_list:nth-child(n + 4) {
        margin-top: 20px; }
    .newShop-category {
      margin: 0 0 48px;
      justify-content: flex-start; }
      .newShop-category .newShop_list {
        width: 144px;
        height: 48px;
        margin: 0 12px 12px 0;
        border: none;
        display: flex;
        -webkit-box-align: center;
        -ms-flex-align: center;
        -webkit-align-items: center;
        align-items: center; }
        .newShop-category .newShop_list:nth-child(7n) {
          margin: 0 0 12px; }
        .newShop-category .newShop_list .newShop_listLink {
          height: 48px;
          padding: 0;
          font-size: 14px; }
          .newShop-category .newShop_list .newShop_listLink::before {
            width: 14px;
            height: 10px;
            left: 8px; }
        .newShop-category .newShop_list:nth-child(n + 4) {
          margin-top: 0px; }
        .newShop-category .newShop_list:nth-child(3n) {
          margin: 0 12px 12px 0; } }
/* サービスの種類から探す */
.chargeSelect {
  width: 100%;
  padding: 0 0 3vw;
  display: flex;
  flex-wrap: wrap; }
  .chargeSelect .chargeSelect_list {
    width: 50%;
    float: right; }
    .chargeSelect .chargeSelect_list:nth-of-type(1), .chargeSelect .chargeSelect_list:nth-of-type(3) {
      box-sizing: border-box;
      padding-right: 10px; }
    .chargeSelect .chargeSelect_list:first-child {
      float: left; }
    .chargeSelect .chargeSelect_list label {
      height: 95px;
      font-size: 3vw;
      line-height: 4.5vw;
      font-weight: bold;
      display: flex;
      align-items: center;
      flex-wrap: nowrap; }
      .chargeSelect .chargeSelect_list label span.check {
        flex-basis: 8%;
        max-width: 8%; }
      .chargeSelect .chargeSelect_list label span.icon {
        flex-basis: 30%;
        max-width: 30%; }
      .chargeSelect .chargeSelect_list label span.txt {
        flex-basis: 62%;
        max-width: 62%;
        box-sizing: border-box;
        padding-left: 10px; }
        .chargeSelect .chargeSelect_list label span.txt .redfont {
          font-size: 2.5vw;
          font-weight: normal; }
      .chargeSelect .chargeSelect_list label input {
        display: none; }
        .chargeSelect .chargeSelect_list label input:checked + span.check {
          background: url("/asset/img/common/icon-check-on.png") no-repeat center;
          background-size: 100%; }
      .chargeSelect .chargeSelect_list label span.check {
        width: 4vw;
        height: 4vw;
        display: inline-block;
        vertical-align: middle;
        background: url("/asset/img/common/icon-check.png") no-repeat center;
        background-size: 100%;
        margin-right: 5px; }
      .chargeSelect .chargeSelect_list label .icon {
        width: 100%;
        height: 50px;
        display: block;
        content: ""; }
      .chargeSelect .chargeSelect_list label .icon.charge-1 {
        background: url("/asset/img/shop/icon_blue01.png") no-repeat center;
        background-size: contain; }
      .chargeSelect .chargeSelect_list label .icon.charge-2 {
        background: url("/asset/img/shop/icon_blue02.png") no-repeat center;
        background-size: contain; }
      .chargeSelect .chargeSelect_list label .icon.charge-3 {
        background: url("/asset/img/shop/icon_blue03.png") no-repeat center;
        background-size: contain; }
      .chargeSelect .chargeSelect_list label .icon.charge-4 {
        background: url("/asset/img/shop/icon_blue04.png") no-repeat center;
        background-size: contain; }

.charge_note {
  margin-bottom: 30px; }
  .charge_note p {
    margin-bottom: 2vw; }

@media print, screen and (min-width: 768px) {
  .chargeSelect {
    width: auto;
    padding: 0 0; }
    .chargeSelect .chargeSelect_list {
      float: left;
      width: 25%; }
      .chargeSelect .chargeSelect_list:nth-of-type(1), .chargeSelect .chargeSelect_list:nth-of-type(3) {
        box-sizing: border-box;
        padding-right: 0; }
      .chargeSelect .chargeSelect_list:nth-of-type(4) label .txt {
        padding-right: 0; }
      .chargeSelect .chargeSelect_list label {
        height: 80px;
        font-size: 14px;
        line-height: 1.5rem;
        cursor: pointer; }
        .chargeSelect .chargeSelect_list label span.txt {
          box-sizing: border-box;
          padding-right: 10px;
          padding-left: 0; }
          .chargeSelect .chargeSelect_list label span.txt .redfont {
            font-size: 12px; }
        .chargeSelect .chargeSelect_list label span.check {
          margin-right: 0; }

  .charge_note {
    margin-bottom: 60px;
    font-size: 14px;
    line-height: 1.5rem; }
    .charge_note p {
      margin-bottom: 0; } }
/* 検索結果テキスト */
.searchText {
  font-size: 3.7vw; }

@media print, screen and (min-width: 768px) {
  .searchText {
    font-size: 18px; } }
/* 検索結果ボックス */
.useShop {
  margin: 7vw 0 0; }
  .useShop .useShop_title {
    margin: 0 0 5%;
    padding: 0 0 2.5vw;
    font-size: 5vw;
    line-height: 1.2;
    color: #0d64ac;
    border-bottom: 0.6vw solid #67b9de; }
  .useShop .useShop_box .useShop_boxInner {
    position: relative;
    overflow: hidden;
    font-size: 0; }
    .useShop .useShop_box .useShop_boxInner::before {
      content: "";
      display: block;
      width: 1px;
      height: 100%;
      position: absolute;
      top: 12vw;
      right: 0;
      left: 0;
      bottom: 0;
      margin: auto;
      background: #d7d7d7; }
    .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList {
      position: relative; }
      .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList-full {
        width: 100%; }

.boxBack {
  width: 100%;
  margin: 5vw 0 10vw;
  text-align: right; }
  .boxBack a {
    display: inline-block;
    vertical-align: middle;
    font-size: 4.3vw;
    color: #0d64ac;
    text-align: right; }
    .boxBack a::after {
      content: "";
      display: inline-block;
      vertical-align: middle;
      width: 5vw;
      height: 5vw;
      margin: 0 0 1vw 1vw;
      background: url("/asset/img/common/arrow-back.png") no-repeat center;
      background-size: 100%; }

.useShopInner.useShopInner-eaon {
  padding: 0 0 6vw 0; }
  .useShopInner.useShopInner-eaon .useShopInner_box {
    padding-top: 0; }

/* 検索ボックスインナー */
.useShopInner {
  width: 50%;
  margin: 6vw 0 0;
  padding: 0 3%;
  box-sizing: border-box;
  display: inline-block;
  vertical-align: top; }
  .useShopInner .useShopInner_box {
    padding: 18vw 0 0; }
    .useShopInner .useShopInner_box.pt_small {
      padding-top: 9vw; }
    .useShopInner .useShopInner_box .useShopInner_boxLogo {
      width: 100%;
      min-height: 15vw;
      margin: 0 auto;
      box-sizing: border-box;
      display: block;
      position: relative; }
      .useShopInner .useShopInner_box .useShopInner_boxLogo img {
        width: 100%;
        height: auto;
        position: absolute;
        top: 0;
        bottom: 0;
        right: 0;
        left: 0;
        margin: auto; }
      .useShopInner .useShopInner_box .useShopInner_boxLogo-daiei img {
        width: 70%; }
      .useShopInner .useShopInner_box .useShopInner_boxLogo-vivre img {
        width: 80%; }
      .useShopInner .useShopInner_box .useShopInner_boxLogo-dummy::after {
        content: "ダミー";
        display: block;
        width: 100%;
        padding: 7vw 0;
        font-size: 3.7vw;
        font-weight: bold;
        text-align: center;
        position: absolute;
        top: -5px;
        left: 0;
        color: #fff;
        background: rgba(125, 125, 125, 0.9); }
    .useShopInner .useShopInner_box .useShopInner_boxText {
      height: 3vw;
      padding: 8vw 0 6vw;
      text-align: center;
      font-size: 3.1vw;
      font-weight: bold;
      line-height: 1.1;
      display: flex;
      align-items: center;
      justify-content: center; }
    .useShopInner .useShopInner_box .useShopInner_boxBtn {
      margin: 0 0 3vw;
      padding: 1.8vw 1vw 1.2vw;
      font-size: 3.7vw;
      line-height: 1.2;
      font-weight: bold;
      text-align: center;
      border-radius: 6px; }
      .useShopInner .useShopInner_box .useShopInner_boxBtn.btn-linkOrange {
        padding: 1.8vw 1vw 1.2vw;
        line-height: 1.2;
        background: #fd8824;
        border: 3px solid #fd8824; }
        .useShopInner .useShopInner_box .useShopInner_boxBtn.btn-linkOrange::before {
          background: #fff url("/asset/img/common/arrow-lightorange.png") no-repeat center;
          background-size: 3.4vw; }
  .useShopInner-eaon {
    width: 100%;
    margin: 0 0 3%; }
    .useShopInner-eaon .useShopInner_box .useShopInner_boxBtn.btn-linkOrange {
      padding: 3vw 0;
      background: #ea4109;
      border: 3px solid #ea4109; }
      .useShopInner-eaon .useShopInner_box .useShopInner_boxBtn.btn-linkOrange::before {
        background: #fff url("/asset/img/common/arrow-orange.png") no-repeat center;
        background-size: 3.4vw; }
    .useShopInner-eaon::after {
      display: none; }
  .useShopInner.useShopInner-full {
    width: 100%;
    padding: 0 0 0;
    background: #fff; }
    .useShopInner.useShopInner-full .useShopInner_box .useShopInner_boxLogo {
      min-height: 0;
      padding: 1vw 20vw 0;
      box-sizing: border-box;
      display: block; }
      .useShopInner.useShopInner-full .useShopInner_box .useShopInner_boxLogo img {
        width: 100%;
        position: static; }
    .useShopInner.useShopInner-full .useShopInner_box .useShopInner_boxBtn.btn-linkOrange {
      padding: 4vw 1vw; }
  .useShopInner-bn::after {
    border: none; }

@media print, screen and (min-width: 768px) {
  .useShop {
    margin: 40px 0 0; }
    .useShop .useShop_title {
      margin: 0 0 20px;
      padding: 0 0 12px;
      font-size: 24px;
      border-bottom: 2px solid #67b9de; }
      .useShop .useShop_title span {
        padding-right: 30px; }
    .useShop .useShop_box .useShop_boxInner {
      display: flex;
      flex-wrap: wrap;
      overflow: visible; }
      .useShop .useShop_box .useShop_boxInner::before {
        display: none; }
      .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList .useShopInner_box {
        padding: 0;
        padding-top: 27px; }
        .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList .useShopInner_box.pt_small {
          padding-top: 13px; }
        .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList .useShopInner_box .useShopInner_boxLogo {
          width: 100%;
          min-height: 95px;
          margin: 30px 0 0;
          padding: 0; }
          .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList .useShopInner_box .useShopInner_boxLogo img {
            width: 75%;
            height: auto;
            position: absolute;
            top: 0;
            right: 0;
            left: 0;
            bottom: 0;
            margin: auto; }
          .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList .useShopInner_box .useShopInner_boxLogo-daiei img {
            width: 65%; }
          .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList .useShopInner_box .useShopInner_boxLogo-vivre img {
            width: 65%; }
          .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList .useShopInner_box .useShopInner_boxLogo-dummy::after {
            padding: 40px 0;
            font-size: 18px; }
        .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList .useShopInner_box .useShopInner_boxText {
          height: 35px;
          padding: 20px 0 10px;
          font-size: 14px;
          font-weight: bold;
          text-align: center; }
        .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList .useShopInner_box .useShopInner_boxBtn {
          margin: 0 0 10px;
          padding: 10px 0;
          font-size: 16px;
          border-radius: 6px; }
          .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList .useShopInner_box .useShopInner_boxBtn.arrow-aquablue::before {
            left: 6px; }
          .useShop .useShop_box .useShop_boxInner .useShop_boxInnerList .useShopInner_box .useShopInner_boxBtn.btn-linkOrange::before {
            left: 6px;
            background-size: 15px; }

  .useShopInner.useShopInner-full,
  .useShopInner {
    flex-basis: 25%;
    max-width: 25%;
    margin: 0 0 25px;
    padding: 0 25px;
    display: block; }
    .useShopInner.useShopInner-full-eaon,
    .useShopInner-eaon {
      width: 30%;
      float: none; }
      .useShopInner.useShopInner-full-eaon .useShopInner_box,
      .useShopInner-eaon .useShopInner_box {
        padding: 0 0 45px;
        height: auto; }
        .useShopInner.useShopInner-full-eaon .useShopInner_box .useShopInner_boxBtn.btn-linkOrange,
        .useShopInner-eaon .useShopInner_box .useShopInner_boxBtn.btn-linkOrange {
          margin: 0;
          padding: 14px 0 10px;
          font-size: 16px; }
          .useShopInner.useShopInner-full-eaon .useShopInner_box .useShopInner_boxBtn.btn-linkOrange::before,
          .useShopInner-eaon .useShopInner_box .useShopInner_boxBtn.btn-linkOrange::before {
            background: #fff url("/asset/img/common/arrow-orange.png") no-repeat center;
            background-size: 15px; } }
/* 検索ボックスインナー 仕切り線 */
.useShopInner::after {
  content: "";
  display: block;
  width: 100%;
  position: absolute;
  border-bottom: 1px solid #d7d7d7;
  bottom: 0;
  left: 0;
  z-index: 1; }

@media print, screen and (min-width: 768px) {
  .useShopInner::before {
    content: "";
    display: block;
    width: 1px;
    height: 91%;
    position: absolute;
    top: 25px;
    left: 0;
    background: #d7d7d7; }
  .useShopInner::after {
    content: "";
    display: block;
    width: 1px;
    height: 91%;
    position: absolute;
    top: 25px;
    right: -1px;
    bottom: auto;
    left: auto;
    background: #d7d7d7; } }
/* 各店舗ごとのチャージアイコン */
.list_charge_icon {
  margin-left: -5px;
  display: flex;
  flex-wrap: nowrap;
  padding: 0 0 4vw;
  position: relative;
  z-index: 1; }
  .list_charge_icon .charge_icon {
    padding-left: 5px;
    flex-basis: 25%;
    max-width: 25%;
    width: 100%;
    box-sizing: border-box;
    font-size: 3.7vw;
    font-weight: bold;
    line-height: 1.2;
    text-align: center;
    color: #fff; }
    .list_charge_icon .charge_icon > a.pc_link {
      pointer-events: none; }
  .list_charge_icon .icon {
    display: block;
    content: "";
    width: 100%;
    height: 52px; }
  .list_charge_icon .shop-charge-1 {
    background: url("/asset/img/shop/icon_blue01.png") no-repeat center;
    background-size: contain; }
    .list_charge_icon .shop-charge-1.off {
      background-image: url("/asset/img/shop/icon_gray01.png");
      cursor: default; }
  .list_charge_icon .shop-charge-2 {
    background: url("/asset/img/shop/icon_blue02.png") no-repeat center;
    background-size: contain; }
    .list_charge_icon .shop-charge-2.off {
      background-image: url("/asset/img/shop/icon_gray02.png");
      cursor: default; }
  .list_charge_icon .shop-charge-3 {
    background: url("/asset/img/shop/icon_blue03.png") no-repeat center;
    background-size: contain; }
    .list_charge_icon .shop-charge-3.off {
      background-image: url("/asset/img/shop/icon_gray03.png");
      cursor: default; }
  .list_charge_icon .shop-charge-4 {
    background: url("/asset/img/shop/icon_blue04.png") no-repeat center;
    background-size: contain; }
    .list_charge_icon .shop-charge-4.off {
      background-image: url("/asset/img/shop/icon_gray04.png");
      cursor: default; }

.useShopInner.useShopInner-full .list_charge_icon {
  margin-left: -10px; }
  .useShopInner.useShopInner-full .list_charge_icon .charge_icon {
    padding-left: 10px; }
    .useShopInner.useShopInner-full .list_charge_icon .charge_icon .icon {
      height: 100px; }

@media print, screen and (min-width: 768px) {
  .list_charge_icon {
    margin: 0 0 0 -5px;
    padding: 0 0 0; }
    .list_charge_icon .charge_icon {
      padding-left: 5px;
      font-size: 13px; }
      .list_charge_icon .charge_icon > a.pc_link {
        pointer-events: auto; }
      .list_charge_icon .charge_icon:hover > .useShopGuide {
        display: block;
        animation-name: fade-in;
        animation-duration: .7s; }

  .useShopInner.useShopInner-full .list_charge_icon {
    margin: 0 0 0 -5px; }
    .useShopInner.useShopInner-full .list_charge_icon .charge_icon {
      padding-left: 5px; }
      .useShopInner.useShopInner-full .list_charge_icon .charge_icon .icon {
        height: 52px; } }
@keyframes fade-in {
  0% {
    opacity: 0; }
  100% {
    opacity: 1; } }
/* 各店舗ごとのチャージアイコンにhoverしたときの説明(PCのみ) */
.useShopGuide {
  display: none; }

@media print, screen and (min-width: 768px) {
  .useShopGuide {
    display: none;
    z-index: 2;
    position: absolute;
    top: 50px;
    left: 5px;
    border: 1px solid #d7d7d7;
    background: rgba(241, 251, 255, 0.9);
    padding: 13px;
    margin: 0 -15px;
    box-sizing: border-box;
    border-radius: 3px;
    font-size: 12px;
    line-height: 19px;
    color: #373737;
    text-align: left;
    font-weight: normal; }
    .useShopGuide img {
      width: 50px;
      display: inline-block;
      margin: 0 10px 0 0;
      float: left; }
    .useShopGuide a {
      text-decoration: underline; } }
/* 各店舗ごとのチャージアイコンの説明モーダル(SPのみ) */
.sp_useShopGuide_link {
  background: url("/asset/img/shop/icon_blue05.png") no-repeat left center;
  display: inline-block;
  background-size: contain;
  padding: 5px 0 5px 27px;
  text-decoration: underline; }

.sp_useShopGuideInner {
  font-size: 3vw;
  line-height: 4.3vw; }
  .sp_useShopGuideInner h3 {
    margin: 0 0 2vw;
    font-size: 4.5vw;
    line-height: 6vw; }
  .sp_useShopGuideInner .sp_useShopGuideInner_link > div {
    display: flex;
    flex-wrap: nowrap;
    align-items: center;
    margin-bottom: 3vw; }
    .sp_useShopGuideInner .sp_useShopGuideInner_link > div a {
      margin: 0 10px 0 0; }
    .sp_useShopGuideInner .sp_useShopGuideInner_link > div img {
      width: 50px; }
    .sp_useShopGuideInner .sp_useShopGuideInner_link > div .redfont {
      font-size: 2.5vw; }
  .sp_useShopGuideInner > div > p.redfont {
    margin-bottom: 2vw; }

.boxBack {
  margin: 30px 0; }
  .boxBack a {
    font-size: 16px; }
    .boxBack a::after {
      width: 16px;
      height: 16px;
      margin: 0 0 4px 8px; }

/* 検索ボックスのラベル */
.labelType {
  display: block;
  position: absolute;
  top: -2vw;
  left: 0; }
  .labelType .labelType_item {
    margin: 0 0 2vw 0;
    padding: 0.5vw 5.5vw 0.5vw 2vw;
    box-sizing: border-box;
    display: block;
    font-size: 3.7vw;
    font-weight: bold;
    line-height: 1.3;
    color: #fff;
    position: relative; }
    .labelType .labelType_item-orange {
      background: #e0543e; }
    .labelType .labelType_item-red {
      background: #d40015; }
    .labelType .labelType_item-blue {
      background: #67b9de; }
    .labelType .labelType_item-purple {
      background: #745bc5; }
    .labelType .labelType_item-yellow {
      background: #e8a50b; }
    .labelType .labelType_item-green {
      background: #6cbf8b; }
    .labelType .labelType_item::after {
      content: "";
      display: block;
      width: 5vw;
      height: 22vw;
      background: url("/asset/img/common/bg-labelwhite.svg") no-repeat top right;
      background-size: contain;
      position: absolute;
      top: 0;
      bottom: 0;
      margin: auto;
      right: -1px; }
    .labelType .labelType_item a {
      color: #fff;
      position: relative;
      z-index: 1;
      padding: 0.5vw 5.5vw 0.5vw 2vw;
      margin: -0.5vw -5.5vw -0.5vw -2vw; }
      @media print, screen and (min-width: 768px) {
        .labelType .labelType_item a {
          padding: 5px 25px 5px 5px;
          margin: -5px -25px -5px -5px; } }
    .labelType .labelType_item a:hover {
      opacity: 1;
      background-color: rgba(255, 255, 255, 0.3); }
    .labelType .labelType_item .noPointer:hover {
      opacity: 1;
      background-color: rgba(255, 255, 255, 0); }

@media print, screen and (min-width: 768px) {
  .labelType {
    top: 25px; }
    .labelType .labelType_item {
      padding: 5px 25px 5px 5px;
      font-size: 12px; }
      .labelType .labelType_item::after {
        height: 7vw; } }
/* 店舗検索下部のカラーボックス */
.shopColorBox {
  border-radius: 5px; }
  .shopColorBox .shopColorBox_item .shopColorBox_itemList {
    margin: 0 0 5vw; }
    .shopColorBox .shopColorBox_item .shopColorBox_itemList:last-child {
      margin: 0; }
    .shopColorBox .shopColorBox_item .shopColorBox_itemList .colorBox_text {
      font-size: 3.7vw; }
    .shopColorBox .shopColorBox_item .shopColorBox_itemList .btnWrap {
      font-size: 4.3vw; }

@media print, screen and (min-width: 768px) {
  .shopColorBox {
    max-width: 940px; }
    .shopColorBox.l-spinner {
      margin: 0 auto 80px; }
    .shopColorBox .shopColorBox_item {
      padding: 50px;
      box-sizing: border-box; }
      .shopColorBox .shopColorBox_item .shopColorBox_itemList {
        width: 400px;
        margin: 0;
        float: left; }
        .shopColorBox .shopColorBox_item .shopColorBox_itemList:last-child {
          float: right; }
        .shopColorBox .shopColorBox_item .shopColorBox_itemList .colorBox_text {
          font-size: 18px; }
        .shopColorBox .shopColorBox_item .shopColorBox_itemList .btnWrap {
          width: 100%;
          font-size: 18px; } }
/* カテゴリー(SP) */
.newShop-category-select {
  width: 100%;
  padding: 5px;
  font-size: 16px; }

/* ==================================
WAONとは
===================================== */
.whiteTile {
  padding: 2vw 0; }

/* メガホンアイコン */
.arrow-megaphone {
  position: relative; }
  .arrow-megaphone::before {
    position: absolute;
    margin: auto;
    content: "";
    vertical-align: middle;
    width: 3.5vw;
    height: 3.5vw;
    top: 0;
    bottom: 0;
    right: 2vw;
    background: #fff url("/asset/img/common/icon-megaphone.png") no-repeat center;
    background-size: contain;
    border-radius: 50%;
    right: auto;
    left: 2vw;
    width: 5vw;
    height: 5vw;
    background-size: 3.4vw; }
    @media (min-width: 768px) {
      .arrow-megaphone::before {
        width: 14px;
        height: 14px;
        top: 0;
        bottom: 0; } }

@media print, screen and (min-width: 768px) {
  .arrow-megaphone::before {
    right: auto;
    left: 11px;
    width: 37px;
    height: 37px;
    background-size: 20px; } }
/* 重要なお知らせ オレンジのところ */
.important {
  background-color: #ea4109;
  border-bottom: 2px solid #ea4109;
  border-left: 2px solid #ea4109;
  border-right: 2px solid #ea4109;
  overflow: hidden; }
  .important_ttl {
    padding: 2vw 0 2vw 8vw;
    font-size: 5.2vw;
    color: #fff;
    position: relative;
    line-height: 1.3; }
    .important_ttl-more {
      position: absolute;
      right: 7vw;
      top: 3.2vw;
      font-size: 4vw;
      color: #fff; }
      .important_ttl-more .arrow-white {
        color: #fff; }
        .important_ttl-more .arrow-white::before {
          right: -5vw; }
  .important_table {
    background-color: #fff; }
    .important_table_day {
      font-weight: normal; }
    .important_table_text {
      font-weight: bold; }

@media print, screen and (min-width: 768px) {
  .important {
    border: 2px solid #ea4109;
    overflow: hidden;
    position: relative; }
    .important_ttl {
      padding: 19px 0 17px 59px;
      font-size: 18px;
      position: static;
      line-height: 20px;
      width: 190px; } }
@media print, screen and (min-width: 768px) {
  .important .pc-df {
    align-items: center; }
  .important_ttl-more.pc {
    position: absolute;
    right: 22px;
    font-size: 18px;
    background-color: #ea4109;
    padding: 3px 30px 3px 20px;
    border-radius: 200px;
    top: 0;
    margin: auto;
    bottom: 0;
    height: 23px; }
    .important_ttl-more.pc .arrow-white::before {
      right: 7px; } }
/* important_table 白いところ */
.important_table {
  text-align: left;
  width: 100%;
  table-layout: fixed;
  font-size: 4vw;
  border-collapse: separate;
  padding: 0 3vw 4.5vw 3vw;
  color: #373737; }
  .important_table_day {
    font-size: 4vw;
    padding-bottom: 2vw;
    padding-top: 4.5vw; }
  .important_table_text a {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    color: #373737;
    line-height: 1.5; }

@media print, screen and (min-width: 768px) {
  .important_table {
    font-size: 14px;
    padding: 1.5px 25px;
    width: 850px; }
    .important_table tr {
      display: inline; }
      .important_table tr:last-child .important_table_text a {
        padding-bottom: 16px; }
      .important_table tr:nth-child(n + 3) .important_table_day {
        padding: 10px 0 0; }
    .important_table_day {
      font-size: 14px;
      padding: 20px 0 0;
      width: 130px;
      letter-spacing: -0.1em; }
    .important_table_text a {
      width: 536px;
      padding-bottom: 0; }
    .important_table.padding20wrap {
      padding: 20px 40px; } }
/* WAONとは */
.whatwaon {
  background-color: #fff; }
  .whatwaon.btnWrap {
    border-bottom: 3px solid #d7d7d7;
    box-sizing: border-box;
    margin: 1.2vw auto;
    width: 100%; }

@media print, screen and (min-width: 768px) {
  .whatwaon.btnWrap {
    margin: 0;
    height: 173px; } }
/* SP */
.whatwaon.sp .whatwaon_img {
  background: url("/asset/img/top/img-whatwaon-sp.png") no-repeat center;
  background-size: contain;
  width: 47vw;
  height: 17vw;
  margin: 6vw auto; }

/* PC */
@media print, screen and (min-width: 768px) {
  .whatwaon.pc .whatwaon_img {
    background: url("/asset/img/top/img-whatwaon-pc.png") no-repeat center;
    background-size: contain;
    width: 170px;
    height: 124px;
    margin: 16px auto; } }
/* ６つのタイル */
.sixtile {
  flex-wrap: wrap; }
  .sixtile .btnWrap {
    border-bottom: 3px solid #d7d7d7;
    box-sizing: border-box; }
  .sixtile li {
    background-color: #fff;
    width: 32.4%;
    text-align: center;
    font-size: 3vw;
    line-height: 1.1;
    margin: 0;
    font-weight: bold; }
    .sixtile li:nth-child(n + 4) {
      margin-top: 1.2vw; }
  .sixtile_textbox {
    margin-bottom: 2vw;
    display: flex;
    min-height: 10vw;
    height: 10vw;
    align-items: center;
    justify-content: center; }

@media print, screen and (min-width: 768px) {
  .sixtile li {
    font-size: 18px;
    height: 173px; }
    .sixtile li:nth-child(n + 4) {
      margin-top: 10px; }
  .sixtile_textbox {
    height: 45px;
    min-height: 45px; } }
.sixtile_img {
  width: 16vw;
  height: 16vw;
  margin: 3vw auto 1vw; }

@media print, screen and (min-width: 768px) {
  .sixtile_img {
    width: 80px;
    height: 87px;
    margin: 19px auto 0; } }
/* 微調整____________________________ */
@media print, screen and (min-width: 768px) {
  li.sixtile03 {
    font-size: 16px; }
    li.sixtile03 .sixtile_img {
      width: 89px;
      height: 91px;
      margin: 19px auto -6px; }

  .sixtile05 .sixtile_img {
    width: 77px;
    height: 75px;
    margin: 19px auto 14px; } }
/* ________________img modifier__________________ */
.sixtile_img01 {
  background: url("/asset/img/top/img-whatwaon-pink.png") no-repeat center;
  background-size: contain; }

.sixtile_img02 {
  background: url("/asset/img/top/img-whatwaon-yellow.png") no-repeat center;
  background-size: contain; }

.sixtile_img03 {
  background: url("/asset/img/top/img-whatwaon-purple.png") no-repeat center;
  background-size: contain; }

.sixtile_img04 {
  background: url("/asset/img/top/img-whatwaon-orange.png") no-repeat center;
  background-size: contain; }

.sixtile_img05 {
  background: url("/asset/img/top/img-whatwaon-green.png") no-repeat center;
  background-size: contain; }

.sixtile_img06 {
  background: url("/asset/img/top/img-whatwaon-blue.png") no-repeat center;
  background-size: contain; }

/* _________________color modifire___________________ */
.sixtile01.triangle::before {
  border-top: 2vw solid #de5b9b; }
  @media print, screen and (min-width: 768px) {
    .sixtile01.triangle::before {
      border-top: 14px solid #de5b9b; } }
.sixtile01 a {
  color: #de5b9b; }

.sixtile02.triangle::before {
  border-top: 2vw solid #e8a50b; }
  @media print, screen and (min-width: 768px) {
    .sixtile02.triangle::before {
      border-top: 14px solid #e8a50b; } }
.sixtile02 a {
  color: #e8a50b; }

.sixtile03.triangle::before {
  border-top: 2vw solid #745bc5; }
  @media print, screen and (min-width: 768px) {
    .sixtile03.triangle::before {
      border-top: 14px solid #745bc5; } }
.sixtile03 a {
  color: #745bc5; }

.sixtile04.triangle::before {
  border-top: 2vw solid #e0543e; }
  @media print, screen and (min-width: 768px) {
    .sixtile04.triangle::before {
      border-top: 14px solid #e0543e; } }
.sixtile04 a {
  color: #e0543e; }

.sixtile05.triangle::before {
  border-top: 2vw solid #6cbf8b; }
  @media print, screen and (min-width: 768px) {
    .sixtile05.triangle::before {
      border-top: 14px solid #6cbf8b; } }
.sixtile05 a {
  color: #6cbf8b; }

.sixtile06.triangle::before {
  border-top: 2vw solid #0d64ac; }
  @media print, screen and (min-width: 768px) {
    .sixtile06.triangle::before {
      border-top: 14px solid #0d64ac; } }
.sixtile06 a {
  color: #0d64ac; }

/* _________________________________ */
/* 残高履歴確認 */
.moneypoint {
  background-color: #fff;
  border-bottom: 3px solid #d7d7d7;
  box-sizing: border-box;
  margin-top: 1.2vw; }
  .moneypoint .btnWrap {
    margin: 2vw 0 0 0; }
  .moneypoint_btn-small {
    font-size: 3.3vw;
    margin-left: 2vw;
    font-weight: normal;
    letter-spacing: -0.08em; }
  @media (max-width: 767px) {
    .moneypoint .pc-df a {
      padding: 3vw 9vw 0 0; } }
  .moneypoint_box {
    margin-top: 14px;
    margin-left: -1.4px;
    font-weight: bold;
    font-size: 4vw; }
    .moneypoint_box li {
      position: relative; }
      .moneypoint_box li + li {
        border-top: 1px dashed #bbae9f;
        padding-bottom: 0; }
      .moneypoint_box li .arrow-orange::before {
        right: 14vw;
        top: 2vw; }

/* 追加したオレンジタイトル */
@media print, screen and (min-width: 768px) {
  .moneypoint.paddingWrap {
    padding: 11px 25px 30px; } }
.moneypoint_ttl {
  font-size: 5vw;
  line-height: 1.3;
  position: relative;
  color: #fd8824;
  background: url(/asset/img/common/img-person.png) no-repeat;
  background-size: 7vw;
  background-position: 1vw 0;
  padding-left: 10vw; }

@media print, screen and (min-width: 768px) {
  .moneypoint_ttl {
    font-size: 20px;
    line-height: 1.3;
    position: relative;
    color: #fd8824;
    background: url(/asset/img/common/img-person.png) no-repeat;
    background-size: 30px;
    background-position: 3px 0px;
    padding-left: 50px;
    padding: 5px 0 5px 40px; }
    .moneypoint_ttl .moneypoint_btn-small {
      font-size: 12px;
      margin-left: 0px;
      letter-spacing: 0em; } }
/* ____________________ */
@media print, screen and (min-width: 768px) {
  .moneypoint {
    margin-top: 10px;
    height: 173px; }
    .moneypoint .btnWrap {
      width: 100%;
      margin: 0; }
    .moneypoint .btn {
      font-size: 15px;
      letter-spacing: 0.1em;
      padding: 8px 3px; }
    .moneypoint_btn-small {
      font-size: 12px;
      margin-left: 11px;
      letter-spacing: 0em; }
    .moneypoint_box {
      font-size: 12px; }
      .moneypoint_box li {
        padding: 0;
        width: 100%;
        position: relative; }
        .moneypoint_box li .arrow-orange::before {
          right: 47px;
          top: -1px; }
        .moneypoint_box li + li {
          border-top: none;
          padding-bottom: 0;
          width: 43%; }
          .moneypoint_box li + li .arrow-orange::before {
            left: 134px; }
    .moneypoint .skybluefont {
      margin: -10px 0 3px; } }
/* pc-tiles レイアウト */
@media print, screen and (min-width: 768px) {
  .pc-tiles {
    flex-direction: row-reverse;
    margin-top: 15px; }
    .pc-tiles .sixtile {
      width: 645px; }
    .pc-tiles .pc-df_right {
      width: 427px;
      display: flex;
      flex-direction: column; } }
/* ==================================
キャンペーン情報とお知らせ
===================================== */
@media print, screen and (min-width: 768px) {
  .twocolumn {
    margin-bottom: 95px; } }

/* tableblock_________________________________ */
.tableblock {
  text-align: left;
  width: 100%;
  font-size: 4vw;
  border-top: 1px dashed;
  border-collapse: separate;
  padding: 3vw 1.3vw;
  color: #373737;
  text-align: left; }
  .tableblock:last-of-type {
    border-bottom: 1px dashed; }
  .tableblock_day {
    font-size: 4vw;
    padding: 3vw 0;
    font-weight: normal;
    text-align: left; }
  .tableblock_category {
    width: 70%;
    text-align: left; }
  .tableblock_txt a {
    color: #373737;
    line-height: 1.5;
    text-align: left; }

@media print, screen and (min-width: 768px) {
  .tableblock {
    font-size: 12px;
    padding: 15px 0 18px; }
    .tableblock_day {
      font-size: 14px;
      padding: 2px 0 14px;
      width: 125px; }
    .tableblock_category {
      width: auto;
      font-size: 10px; }
    .tableblock_txt a {
      line-height: 1.5;
      font-size: 13px; } }
.twocolumn .tableblock .tableblock_txt a {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  width: 92vw; }
  @media print, screen and (min-width: 768px) {
    .twocolumn .tableblock .tableblock_txt a {
      width: 485px;
      height: 19px; } }

/* __________________label modifire____________________ */
.label {
  padding: 3vw 2.7vw;
  background-color: pink;
  color: #fff;
  width: 6em;
  display: inline-block;
  text-align: center; }
  .label.c-campaign {
    background: url("/asset/img/common/label-campaign.png") no-repeat center;
    background-size: contain; }
  .label.c-present {
    background: url("/asset/img/common/label-present.png") no-repeat center;
    background-size: contain; }
  .label.c-area {
    background: url("/asset/img/common/label-present.png") no-repeat center;
    background-size: contain; }
  .label.c-other {
    background: url("/asset/img/common/label-other.png") no-repeat center;
    background-size: contain; }
  .label.c-event {
    background: url("/asset/img/common/label-event.png") no-repeat center;
    background-size: contain; }

@media print, screen and (min-width: 768px) {
  .label {
    padding: 9px 5px;
    background-color: pink;
    color: #fff;
    width: 9em;
    display: inline-block;
    text-align: center;
    margin-top: -5px; } }
/* お知らせにもラベル______________________ */
.i-label {
  padding: 0.3vw 2vw 0.1vw;
  margin-top: 1vw;
  font-size: 4vw;
  border-radius: 5px; }
  @media print, screen and (min-width: 768px) {
    .i-label {
      padding: 3px 8px 2px;
      margin-top: 1px;
      font-size: 12px; } }
  .i-label.i-important {
    color: #c72114;
    border: 1px solid #c72114; }
  .i-label.i-press {
    color: #0d64ac;
    border: 1px solid #0d64ac; }
  .i-label.i-release {
    color: #2ca3db;
    border: 1px solid #2ca3db; }
  .i-label.i-activity {
    color: #e8a50b;
    border: 1px solid #e8a50b; }
  .i-label.i-site {
    color: #de5b9b;
    border: 1px solid #de5b9b; }
  .i-label.i-card {
    color: #097cc8;
    border: 1px solid #097cc8; }
  .i-label.i-point {
    color: #ea4109;
    border: 1px solid #ea4109; }
  .i-label.i-shop {
    color: #fd8824;
    border: 1px solid #fd8824; }
  .i-label.i-service {
    color: #67b9de;
    border: 1px solid #67b9de; }
  .i-label.i-area {
    color: #54a192;
    border: 1px solid #54a192; }
  .i-label.i-other {
    color: #745bc5;
    border: 1px solid #745bc5; }

/* more_________________________________ */
.more {
  text-align: right;
  margin: 5vw 5vw 0 0;
  font-size: 4vw; }
  .more .arrow-orange {
    position: relative;
    color: #373737; }
    .more .arrow-orange::before {
      position: absolute;
      margin: auto;
      content: "";
      vertical-align: middle;
      width: 3.5vw;
      height: 3.5vw;
      top: 0;
      bottom: 0;
      right: 2vw;
      right: -4vw; }
      @media (min-width: 768px) {
        .more .arrow-orange::before {
          width: 14px;
          height: 14px;
          top: 0;
          bottom: 0; } }

@media print, screen and (min-width: 768px) {
  .more {
    margin: 15px 10px 0 0;
    font-size: 12px; }
    .more .arrow-orange {
      margin: 17px 6px 0 0;
      font-size: 14px; }
      .more .arrow-orange::before {
        right: -22px; } }
/* ==================================
WAONサービスアプリ
===================================== */
@media print, screen and (min-width: 768px) {
  .bgColor-serviceApp {
    background-color: #f2f2f2; } }
.serviceAppWrap {
  padding-bottom: 5vw; }

@media print, screen and (min-width: 768px) {
  .serviceAppWrap {
    padding-bottom: 44px;
    margin: 37px auto 30px; } }
/* heading2_serviceApp_________________________ */
.heading2_serviceApp {
  font-size: 6.5vw;
  color: #0d64ac;
  padding: 5vw 5vw 0;
  letter-spacing: 0.1em;
  margin-top: 5vw; }
  .heading2_serviceApp img {
    width: 100%; }
  .heading2_serviceApp_logo {
    margin-right: 1vw;
    width: 36%; }

@media print, screen and (min-width: 768px) {
  .heading2_serviceApp {
    font-size: 26px;
    color: #0d64ac;
    padding: 40px 0 37px;
    margin-top: 0; }
    .heading2_serviceApp img {
      width: 110px; }
    .heading2_serviceApp_logo {
      width: auto; }
    .heading2_serviceApp.df {
      justify-content: center; } }
/* _______________________________ */
.serviceApp {
  margin: 0 auto;
  padding: 0 5vw; }
  .serviceApp .btnWrap {
    border-bottom: none; }
  .serviceApp .btn {
    font-size: 4vw;
    letter-spacing: 0.3vw; }
  .serviceApp .serviceApp_box a {
    width: 42vw; }

@media print, screen and (min-width: 768px) {
  .serviceApp {
    justify-content: center; }
    .serviceApp .pc-df_left {
      width: 360px;
      border-right: 1px solid #c3b7a9;
      padding-right: 40px; }
    .serviceApp .btnWrap {
      width: 360px;
      margin: 0;
      border-bottom: 3px solid #0d64ac; }
    .serviceApp .btn {
      font-size: 13px;
      letter-spacing: 0.1em;
      padding: 12px 3px 6px; }
    .serviceApp .arrow-white::before {
      width: 15px;
      height: 15px;
      right: 15px; }
    .serviceApp .serviceApp_box {
      width: 360px;
      margin-left: 40px;
      justify-content: flex-start; }
      .serviceApp .serviceApp_box a {
        width: 145px; }
      .serviceApp .serviceApp_box a + a {
        margin-left: 10px; } }
/* ==================================
WAONカード PICK UP
===================================== */
.heading2_ttl-pickup {
  padding-top: 0;
  margin-bottom: 0; }

/* img4枚リスト_________________________ */
.netStation {
  flex-wrap: wrap; }
  .netStation li {
    width: 49.3%; }
    .netStation li:nth-child(n+3) {
      margin-top: 1vw; }
  .netStation .triangle::before {
    bottom: -0.3vw;
    right: -0.4vw; }

@media print, screen and (min-width: 768px) {
  .netStation {
    flex-wrap: nowrap; }
    .netStation li {
      width: 24.5%; }
      .netStation li:nth-child(n+3) {
        margin-top: 0; } }
/* モバイルWAONとは？_________________________ */
.mobilewaon {
  margin-top: 5vw;
  background: #67b9de;
  position: relative; }
  .mobilewaon .pc-df_left {
    padding-bottom: 0vw;
    background-color: #fff; }
    .mobilewaon .pc-df_left::after {
      content: "";
      height: 1vw;
      width: 100%;
      position: absolute;
      bottom: -2vw;
      left: 0;
      right: 0;
      border-bottom: 2px dashed #0d64ac; }
  .mobilewaon_text {
    color: #fff;
    font-size: 6vw;
    line-height: 1.5;
    margin-bottom: 2vw; }
  .mobilewaon .triangle::before {
    right: -0.8vw; }

@media print, screen and (min-width: 768px) {
  .mobilewaon {
    margin-top: 0;
    box-sizing: border-box; }
    .mobilewaon .pc-df_left {
      padding-right: 0px;
      width: 300px;
      margin: 0px 0 0 0px;
      padding-bottom: 0; }
      .mobilewaon .pc-df_left::after {
        content: "";
        width: 20px;
        height: 100%;
        position: absolute;
        bottom: 0;
        left: 300px;
        border-bottom: none;
        border-left: 2px dashed #0d64ac; }
    .mobilewaon .pc-df_right {
      width: 180px;
      margin: 22px; }
    .mobilewaon_text {
      font-size: 22px;
      text-align: left;
      line-height: 1.6;
      letter-spacing: 0.2em;
      margin: 10px auto 20px; }
    .mobilewaon_img {
      margin: 0; }
    .mobilewaon .triangle::before {
      right: -5px; } }
/* ダウンロードはこちらから */
.clickDl_text-small {
  font-size: 4vw;
  margin-bottom: 3vw;
  color: #fff;
  padding-top: 5vw; }
.clickDl-gpasBox {
  margin: 0 auto;
  width: 50vw;
  padding-bottom: 5vw; }

@media print, screen and (min-width: 768px) {
  .clickDl_text-small {
    font-size: 20px;
    margin: 0 auto;
    line-height: 1.1;
    font-weight: bold;
    padding-top: 30px;
    letter-spacing: 0.1em; }
  .clickDl-gpasBox {
    margin: 20px auto 0;
    width: 95%;
    padding-bottom: 0; } }
/* WAONカード一覧_________________________ */
.waoncard {
  margin-top: 5vw; }

@media print, screen and (min-width: 768px) {
  .waoncard {
    margin-top: 0;
    width: 49.7%; } }
/* フローティングバナー_________________________ */
.bnrBox {
  max-width: 1080px;
  margin: 0 auto 2%;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9999;
  width: 95%;
  display: none; }

.bnrBox_btnClose {
  width: 9.5%;
  position: absolute;
  top: 0;
  right: 0;
  margin: -6.2% -1.6% 0 0; }
  @media print, screen and (min-width: 768px) {
    .bnrBox_btnClose {
      width: 41px;
      top: -19px;
      right: -19px;
      margin: 0;
      z-index: 999; } }

/* 犬と足跡___________________________________ */
.ashiato01,
.ashiato02,
.ashiato03,
.ashiato04 {
  display: none; }

@media print, screen and (min-width: 768px) {
  .l-wrap {
    position: relative; }

  .ashiato01,
  .ashiato02,
  .ashiato03,
  .ashiato04 {
    display: block; }

  .ashiato01 {
    position: absolute;
    top: 0;
    right: -240px;
    margin: 32px 0 0 0; }

  .ashiato02 {
    position: absolute;
    top: 0;
    left: -205px;
    margin: 310px 0 0 0; }

  .ashiato03 {
    position: absolute;
    top: 10px;
    right: -180px;
    margin: 666px 0 0 0; }

  .ashiato04 {
    position: absolute;
    bottom: 0;
    margin: 0 0 -458px 0;
    left: -400px; } }
/* 微調整____________________________________________
____________________________________________________ */
@media (max-width: 767px) {
  .rss::before {
    width: 4.5vw;
    height: 4.5vw; }

  .heading2_ttl {
    padding: 6vw 12vw 3.7vw 6vw; }

  .label {
    font-size: 3.4vw;
    padding: 3.6vw 0;
    width: 26.5vw; }

  .tableblock {
    padding: 2.1vw 1.3vw 4.3vw; }
    .tableblock_category {
      width: auto; }
    .tableblock_day {
      width: 36vw; }

  .whiteTile {
    padding: 4.5vw 0; } }
/* スライドショー */
.mainSlider {
  overflow: hidden;
  position: relative;
  width: 100%;
  background: #e0e0e0;
  z-index: 0; }
  @media print, screen and (min-width: 768px) {
    .mainSlider::before, .mainSlider::after {
      position: absolute;
      content: "";
      top: 0;
      width: calc(50% - 540px);
      height: calc(100% - 30px);
      opacity: 0.8;
      background: #fff;
      z-index: 9998; }
    .mainSlider::before {
      left: 0; }
    .mainSlider::after {
      right: 0; } }

.sliderInner {
  position: relative;
  max-width: 1080px;
  margin: 0 auto;
  width: 100%; }

.bx-viewport {
  overflow: visible !important;
  background: #FFF; }

.bx-wrapper {
  margin: 0 auto;
  position: relative;
  /* ページャー */ }
  .bx-wrapper .bx-controls-direction a {
    position: absolute;
    margin: auto;
    outline: 0;
    text-indent: -9999px;
    z-index: 9999;
    width: 7.34375vw;
    height: 9.8vw;
    background: #0d64ac url(/asset/img/common/arrow-white.png) center no-repeat;
    background-size: 3.125vw auto;
    bottom: 0;
    border-radius: 1.875vw 0 0 1.875vw;
    /* コントローラー */ }
    @media print, screen and (min-width: 768px) {
      .bx-wrapper .bx-controls-direction a {
        top: 0;
        bottom: 30px;
        width: 44px;
        height: 44px;
        background-size: 17px auto;
        border-radius: 50%; } }
    .bx-wrapper .bx-controls-direction a.bx-prev {
      left: 0;
      transform: rotate(180deg); }
      @media print, screen and (min-width: 768px) {
        .bx-wrapper .bx-controls-direction a.bx-prev {
          left: -22px; } }
    .bx-wrapper .bx-controls-direction a.bx-prev:hover {
      opacity: 1; }
    .bx-wrapper .bx-controls-direction a.bx-next {
      right: 0; }
      @media print, screen and (min-width: 768px) {
        .bx-wrapper .bx-controls-direction a.bx-next {
          right: -22px; } }
    .bx-wrapper .bx-controls-direction a.bx-next:hover {
      opacity: 1; }
  .bx-wrapper .bx-pager {
    margin: 0 auto;
    text-align: center;
    font-size: 0;
    padding: 2vw 0; }
    @media print, screen and (min-width: 768px) {
      .bx-wrapper .bx-pager {
        padding: 5px 0; } }
    .bx-wrapper .bx-pager .bx-pager-item {
      display: inline-block; }
    .bx-wrapper .bx-pager.bx-default-pager a {
      width: 5vw;
      height: 5.46875vw;
      margin: 0 1.5625vw;
      display: block;
      outline: 0;
      text-indent: -9999px;
      background: url(/asset/img/common/icon-pager_off.png) center no-repeat;
      background-size: 5vw auto; }
      .bx-wrapper .bx-pager.bx-default-pager a.active {
        background-image: url(/asset/img/common/icon-pager_on.png);
        background-size: 5vw auto; }
      @media print, screen and (min-width: 768px) {
        .bx-wrapper .bx-pager.bx-default-pager a {
          width: 23px;
          height: 20px;
          margin: 0 5px;
          background-size: 23px auto; }
          .bx-wrapper .bx-pager.bx-default-pager a.active {
            background-size: 23px auto; } }

/* 紫ボックスフリック */
.flow {
  width: 100%;
  margin: 0 auto;
  overflow: hidden; }
  .flow .bx-wrapper {
    max-width: 80% !important; }
    @media print, screen and (min-width: 768px) {
      .flow .bx-wrapper {
        max-width: none !important; } }
  @media print, screen and (min-width: 768px) {
    .flow .bx-viewport {
      width: auto !important;
      height: auto !important; } }
  .flow .flow_box {
    display: none; }
    @media print, screen and (min-width: 768px) {
      .flow .flow_box {
        width: 100% !important;
        display: flex !important;
        justify-content: space-between;
        transform: none !important; } }
    .flow .flow_box .flow_boxList {
      padding: 0 3vw;
      box-sizing: border-box; }
      @media print, screen and (min-width: 768px) {
        .flow .flow_box .flow_boxList {
          float: none !important;
          padding: 0;
          position: relative;
          width: 50% !important; } }
      .flow .flow_box .flow_boxList-step01::after {
        content: "";
        display: block;
        width: 10vw;
        height: 10vw;
        background: url("/asset/img/common/arrow-purple.png") no-repeat center;
        background-size: 100%;
        position: absolute;
        top: 0;
        right: -5vw;
        bottom: 0;
        margin: auto;
        z-index: 1; }
      @media print, screen and (min-width: 768px) {
        .flow .flow_box .flow_boxList-step01::after {
          width: 50px;
          height: 100px;
          right: -25px; } }

/* モーダルウィンドウ */
.lock {
  overflow: hidden; }

.l-ofhidden {
  overflow: hidden; }

.modal-content {
  position: fixed;
  display: none;
  z-index: 10002;
  width: 80vw;
  margin: auto !important;
  top: 50% !important;
  left: 50% !important;
  transform: translate(-50%, -50%);
  background: #fff;
  height: 430px; }
  @media print, screen and (min-width: 768px) {
    .modal-content {
      width: 500px;
      height: 80vh; } }

.modalwrap {
  position: relative;
  height: 100%;
  overflow-y: scroll;
  padding: 5vw 6vw;
  box-sizing: border-box; }
  @media print, screen and (min-width: 768px) {
    .modalwrap {
      padding: 30px; } }
  .modalwrap_ttl {
    font-size: 5vw;
    color: #0d64ac; }
    @media print, screen and (min-width: 768px) {
      .modalwrap_ttl {
        font-size: 18px;
        padding-bottom: 15px; } }

.modal-overlay {
  z-index: 10001;
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.75);
  overflow: hidden; }

.modal-open:hover {
  cursor: pointer; }

.modal-close:hover {
  cursor: pointer; }

.pointlogo-box {
  margin: 2vw auto 4vw;
  border: 1px solid #e0e0e0; }
  @media print, screen and (min-width: 768px) {
    .pointlogo-box {
      margin: 10px auto 30px; } }
  .pointlogo-box_img {
    width: 50vw;
    margin: 5vw auto; }
    @media print, screen and (min-width: 768px) {
      .pointlogo-box_img {
        width: 80%;
        margin: 30px auto; } }

.exchangetableBox {
  color: #373737;
  box-sizing: border-box; }
  @media print, screen and (min-width: 768px) {
    .exchangetableBox {
      padding: 0 0 20px;
      margin: -10px auto 0;
      width: auto; } }
  .exchangetableBox .exchangetable {
    width: 100%;
    font-size: 3.5vw;
    border-collapse: separate;
    text-align: left;
    border-collapse: separate; }
    @media print, screen and (min-width: 768px) {
      .exchangetableBox .exchangetable {
        font-size: 14px; } }
    .exchangetableBox .exchangetable tr {
      display: table;
      border-bottom: 1px dashed #bbae9f;
      width: 100%;
      padding: 3vw 0; }
      @media print, screen and (min-width: 768px) {
        .exchangetableBox .exchangetable tr {
          padding: 16px 0; } }
    .exchangetableBox .exchangetable td {
      line-height: 1.4;
      vertical-align: middle; }
    .exchangetableBox .exchangetable_left {
      width: 23vw;
      vertical-align: middle;
      padding-left: 2vw; }
      @media print, screen and (min-width: 768px) {
        .exchangetableBox .exchangetable_left {
          padding-left: 0px;
          width: 140px; } }
  .exchangetableBox .cardDetailList_text {
    font-size: 3vw;
    margin: 5vw auto;
    line-height: 1.5; }
    @media print, screen and (min-width: 768px) {
      .exchangetableBox .cardDetailList_text {
        font-size: 12px;
        margin: 13px auto; } }

.modal-close {
  position: absolute;
  width: 8vw;
  top: -11vw;
  right: -1vw; }
  @media print, screen and (min-width: 768px) {
    .modal-close {
      width: 30px;
      top: -40px;
      right: -36px; } }
  .modal-close:hover {
    opacity: 1; }

/*190129追加 MARSFINDER ズームボタン非表示用*/
a.mf_finder_organic_doc_zoom {
  display: none !important; }
