
@charset "UTF-8";
/*-----------------------------*/
/*近畿しんきんカード CSS*/
/*-----------------------------*/
@import "https://necolas.github.io/normalize.css/7.0.0/normalize.css";
@import "https://fonts.googleapis.com/css?family=Noto+Sans+JP:100,300,400,500,700,900&subset=japanese";
@import "https://fonts.googleapis.com/css?family=Noto+Serif+JP:200,300,400,500,600,700,900&display=swap";
@import "https://fonts.googleapis.com/css?family=M+PLUS+Rounded+1c";

* {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  word-break: break-all;
  word-wrap: anywhere; }

html {
  height: 100%;
  font-size: 10px; }

body {
  height: 100%;
  padding: 0;
  margin: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 1.4rem;
  font-family: "Noto Sans JP", "メイリオ", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Meiryo, sans-serif;
  color: #333; }

div, ul, li {
  margin: 0;
  padding: 0; }

h1, h2, h3, h4, h5 {
  margin: 0;
  padding: 0;
  line-height: 1em; }

li {
  list-style: none; }

a {
  text-decoration: none;
  color: #333; }
  a.link {
    text-decoration: underline; }

i {
  font-style: normal; }

img {
  vertical-align: top; }

table {
  width: 100%;
  margin: 15px auto;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid #ccc; }
  table thead th {
    text-align: center; }
  table caption {
    text-align: left;
    margin-bottom: 5px;
    font-weight: bold; }
  table.center td, table.th_center th {
    text-align: center; }
  table.td_middle td {
    vertical-align: middle; }

th, td {
  padding: 10px;
  border: 1px solid #ccc; }

th {
  text-align: left;
  background: #eaeaea; }
  th.emp {
    background: #ddd; }

td {
  vertical-align: top;
  line-height: 2.4rem; }

p {
  line-height: 2.4rem; }

#env {
  position: fixed;
  z-index: 999999;
  left: 50%;
  top: 0px;
  width: 100px;
  margin-left: -50px;
  padding: 0.3rem;
  background: red;
  color: #fff;
  text-align: center;
  font-size: 1rem; }
  #env:hover {
    opacity: 0; }
  #env.local {
    background: purple; }

.bgcolorleft {
  background: #eaeaea; }

.percentage {
  width: 20%; }

.centertext {
  text-align: center; }

.sp {
  display: none; }

.inner {
  position: relative;
  margin: auto; }

.text_l {
  text-align: left; }

.text_r {
  text-align: right; }

.text_c {
  text-align: center; }

.text_d {
  text-align: center;
  vertical-align: middle; }

.text_udl {
  text-decoration: underline; }

.text_jst {
  display: inline-block;
  text-align: justify;
  text-align-last: justify; }

.fl_l {
  float: left; }

.fl_r {
  float: right; }

.mb_0 {
  margin-bottom: 0px; }

.mb_0_imp {
  margin-bottom: 0px !important; }

.mt_0 {
  margin-top: 0px; }

.mt_0_imp {
  margin-top: 0px !important; }

.mb_5 {
  margin-bottom: 5px; }

.mb_5_imp {
  margin-bottom: 5px !important; }

.mt_5 {
  margin-top: 5px; }

.mt_5_imp {
  margin-top: 5px !important; }

.mb_10 {
  margin-bottom: 10px; }

.mb_10_imp {
  margin-bottom: 10px !important; }

.mt_10 {
  margin-top: 10px; }

.mt_10_imp {
  margin-top: 10px !important; }

.mb_15 {
  margin-bottom: 15px; }

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

.mt_15 {
  margin-top: 15px; }

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

.mb_20 {
  margin-bottom: 20px; }

.mb_20_imp {
  margin-bottom: 20px !important; }

.mt_20 {
  margin-top: 20px; }

.mt_20_imp {
  margin-top: 20px !important; }

.mb_25 {
  margin-bottom: 25px; }

.mb_25_imp {
  margin-bottom: 25px !important; }

.mt_25 {
  margin-top: 25px; }

.mt_25_imp {
  margin-top: 25px !important; }

.mb_30 {
  margin-bottom: 30px; }

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

.mt_30 {
  margin-top: 30px; }

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

.mb_35 {
  margin-bottom: 35px; }

.mb_35_imp {
  margin-bottom: 35px !important; }

.mt_35 {
  margin-top: 35px; }

.mt_35_imp {
  margin-top: 35px !important; }

.mb_40 {
  margin-bottom: 40px; }

.mb_40_imp {
  margin-bottom: 40px !important; }

.mt_40 {
  margin-top: 40px; }

.mt_40_imp {
  margin-top: 40px !important; }

.mb_45 {
  margin-bottom: 45px; }

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

.mt_45 {
  margin-top: 45px; }

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

.mb_50 {
  margin-bottom: 50px; }

.mb_50_imp {
  margin-bottom: 50px !important; }

.mt_50 {
  margin-top: 50px; }

.mt_50_imp {
  margin-top: 50px !important; }

.mb_55 {
  margin-bottom: 55px; }

.mb_55_imp {
  margin-bottom: 55px !important; }

.mt_55 {
  margin-top: 55px; }

.mt_55_imp {
  margin-top: 55px !important; }

.mb_60 {
  margin-bottom: 60px; }

.mb_60_imp {
  margin-bottom: 60px !important; }

.mt_60 {
  margin-top: 60px; }

.mt_60_imp {
  margin-top: 60px !important; }

.mb_65 {
  margin-bottom: 65px; }

.mb_65_imp {
  margin-bottom: 65px !important; }

.mt_65 {
  margin-top: 65px; }

.mt_65_imp {
  margin-top: 65px !important; }

.mb_70 {
  margin-bottom: 70px; }

.mb_70_imp {
  margin-bottom: 70px !important; }

.mt_70 {
  margin-top: 70px; }

.mt_70_imp {
  margin-top: 70px !important; }

.mb_75 {
  margin-bottom: 75px; }

.mb_75_imp {
  margin-bottom: 75px !important; }

.mt_75 {
  margin-top: 75px; }

.mt_75_imp {
  margin-top: 75px !important; }

.mb_80 {
  margin-bottom: 80px; }

.mb_80_imp {
  margin-bottom: 80px !important; }

.mt_80 {
  margin-top: 80px; }

.mt_80_imp {
  margin-top: 80px !important; }

.mb_85 {
  margin-bottom: 85px; }

.mb_85_imp {
  margin-bottom: 85px !important; }

.mt_85 {
  margin-top: 85px; }

.mt_85_imp {
  margin-top: 85px !important; }

.mb_90 {
  margin-bottom: 90px; }

.mb_90_imp {
  margin-bottom: 90px !important; }

.mt_90 {
  margin-top: 90px; }

.mt_90_imp {
  margin-top: 90px !important; }

.mb_95 {
  margin-bottom: 95px; }

.mb_95_imp {
  margin-bottom: 95px !important; }

.mt_95 {
  margin-top: 95px; }

.mt_95_imp {
  margin-top: 95px !important; }

.mb_100 {
  margin-bottom: 100px; }

.mb_100_imp {
  margin-bottom: 100px !important; }

.mt_100 {
  margin-top: 100px; }

.mt_100_imp {
  margin-top: 100px !important; }

.mt_3 {
  margin-top: 3px; }

.mb_3 {
  margin-bottom: 3px; }

.m_0 {
  margin: 0; }

.p_0 {
  padding: 0; }

.flex_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }

.indent {
  text-indent: -1em;
  margin-left: 1em !important;
  line-height: 1.8rem; }

.indent_2 {
  text-indent: -1.8em;
  margin-left: 1.8em !important;
  line-height: 1.8rem; }

.red {
  color: #ee0000; }

.small {
  font-size: 10px; }

.fsize {
  font-size: 18px; }

.underline {
  text-decoration: underline; }

.img img {
  width: 100%; }

.img_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center; }
  .img_box img {
    max-height: 100%;
    max-width: 100%; }

ul.disc {
  margin: 10px 0; }
  ul.disc > li {
    position: relative;
    margin-bottom: 1em;
    padding-left: 1.2em;
    line-height: 2rem; }
    ul.disc > li:last-of-type {
      margin-bottom: 0; }
    ul.disc > li::before {
      content: "●";
      position: absolute;
      top: 0;
      left: 0;
      font-size: 1em; }
ul.dot {
  margin: 10px 0; }
  ul.dot > li {
    margin-bottom: 1em;
    margin-left: 1em;
    text-indent: -1em;
    line-height: 2rem; }
    ul.dot > li:last-of-type {
      margin-bottom: 0; }
    ul.dot > li::before {
      content: "・";
      font-size: 1em; }
ul.num {
  margin: 10px 0; }
  ul.num > li {
    list-style-type: decimal;
    margin-left: 1em;
    margin-bottom: 1em; }
    ul.num > li:last-of-type {
      margin-bottom: 0; }
ul.num_em li {
  margin: 0 0 1em 1.7rem;
  text-indent: -1.7rem; }
ul.num_em_2 > li {
  position: relative;
  margin-bottom: 1em;
  padding-left: 4rem;
  line-height: 2.2rem; }
  ul.num_em_2 > li > .n {
    position: absolute;
    top: 0;
    left: 0; }
ul.num_em_dot li {
  margin: 0 0 1em 1.2rem;
  text-indent: -1.2rem; }
ul.num_b_em > li {
  position: relative;
  margin-bottom: 1em;
  padding-left: 4rem;
  line-height: 2.2rem; }
  ul.num_b_em > li > .n {
    position: absolute;
    top: 0;
    left: 0; }
ul.num_b {
  position: relative;
  counter-reset: num_b;
  margin: 10px 0 10px 3rem; }
  ul.num_b > li {
    margin-bottom: 1em; }
    ul.num_b > li:last-of-type {
      margin-bottom: 0; }
    ul.num_b > li::before {
      counter-increment: num_b;
      content: "〈" counter(num_b) "〉";
      position: absolute;
      left: -2.5em; }
ul.num_p {
  position: relative;
  counter-reset: num_p;
  margin: 10px 0 10px 3rem; }
  ul.num_p > li {
    margin-bottom: 1em; }
    ul.num_p > li:last-of-type {
      margin-bottom: 0; }
    ul.num_p > li::before {
      counter-increment: num_p;
      content: "（" counter(num_p) "）";
      position: absolute;
      left: -3em; }

.topics_list li {
  padding: 10px;
  border-bottom: 1px dotted #ccc; }
  .topics_list li.new .txt::after {
    content: "NEW";
    display: inline-block;
    padding: 3px 5px 3px 5px;
    margin-left: 3px;
    border-radius: 30px;
    background: #e70000;
    color: #fff;
    font-size: 1rem;
    line-height: 1rem;
    font-weight: bold; }
  .topics_list li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    width: 100%;
    font-size: 1.2rem;
    line-height: 1.4rem; }
    .topics_list li a:hover .txt {
      text-decoration: underline; }
    .topics_list li a p {
      margin: 0; }
  .topics_list li .date {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 11rem; }
    .topics_list li .date span {
      display: inline-block;
      text-align: right; }
    .topics_list li .date .y::after {
      content: "年"; }
    .topics_list li .date .m {
      width: 2.7rem; }
      .topics_list li .date .m::after {
        content: "月"; }
    .topics_list li .date .d {
      width: 2.7rem; }
      .topics_list li .date .d::after {
        content: "日"; }
  .topics_list li .txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    font-size: 1.4rem;
    font-weight: bold; }

.detail_list li {
  padding: 40px 15px;
  border-bottom: 1px dotted #ccc; }
  .detail_list li:last-of-type {
    padding-bottom: 20px;
    border-bottom: none; }
  .detail_list li.new .date::after {
    content: "NEW";
    display: inline-block;
    padding: 1px 5px 3px;
    margin-left: 5px;
    border-radius: 30px;
    background: #e70000;
    color: #fff;
    font-size: 1.2rem;
    font-weight: bold; }
.detail_list .date {
  display: inline-block;
  margin-bottom: 10px;
  font-size: 1.3rem; }
.detail_list .ttl {
  margin-bottom: 20px;
  padding: 15px;
  background: #dddeee;
  border-radius: 8px; }
  .detail_list .ttl .txt {
    display: block;
    font-size: 1.8rem;
    font-weight: bold; }
.detail_list .content {
  font-size: 1.4rem; }
.detail_list td {
  padding: 10px;
  border: 1px solid #ccc; }
.detail_list th {
  padding: 10px;
  border: 1px solid #ccc;
  background: #eaeaea;
  font-weight: bold; }

.pager {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 40px; }
  .pager li {
    padding: 5px;
    margin: 0 2px;
    border: 1px solid #ccc;
    cursor: pointer; }
    .pager li.on {
      background: #ff7000;
      color: #fff;
      cursor: unset; }

.btn_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  text-align: center;
  margin: 30px auto; }

.btn2 {
  display: inline-block;
  padding: 15px;
  background: #00488D;
  color: #fff;
  font-weight: bold;
  border-radius: 50px;
  text-align: center;
  font-size: 1.6rem; }
  .btn2:hover {
    opacity: 0.6; }

.btn3 {
  display: inline-block;
  padding: 15px;
  background: #28598F;
  color: #fff;
  font-weight: normal;
  border-radius: 50px;
  text-align: center;
  font-size: 1.2rem; }
  .btn3:hover {
    opacity: 0.6; }

.btn {
  display: inline-block;
  padding: 15px;
  background: #ff7600;
  color: #fff;
  font-weight: bold;
  border-radius: 50px;
  text-align: center;
  font-size: 1.6rem; }
  .btn:hover {
    opacity: 0.6; }

.btn_link {
  display: inline-block;
  padding: 10px 15px;
  background: #3f72dd;
  color: #fff;
  font-weight: bold;
  line-height: 1.6rem;
  border-radius: 50px; }
  .btn_link:hover {
    opacity: 0.6; }
  .btn_link span {
    display: inline-block;
    padding-left: 20px;
    background: url(../images/icon_arrow_right_white.svg) no-repeat center left/16px auto; }

.btn_text {
  display: inline-block;
  padding-left: calc(1.4rem + 3px);
  font-size: 1.4rem;
  padding-left: "";
  background: url(../images/icon_arrow_right_yellow.svg) no-repeat top 2px left/1.4rem auto; }

.btn_back {
  display: inline-block;
  padding: 10px 15px;
  background: #666;
  color: #fff;
  font-weight: bold;
  border-radius: 50px; }
  .btn_back:hover {
    opacity: 0.6; }
  .btn_back span {
    display: inline-block;
    padding-left: 20px;
    background: url(../images/icon_pageback.svg) no-repeat center left/16px auto; }

.btn_top {
  display: none;
  width: 100px;
  padding: 10px;
  margin: 20px auto;
  background: #ccc;
  text-align: center; }

.btn_apply {
  padding: 10px 15px;
  background: #1d9aee;
  color: #fff;
  font-weight: bold;
  border-radius: 50px; }
  .btn_apply:hover {
    opacity: 0.6; }

.btn_request {
  padding: 10px 15px;
  background: #ffd000;
  font-weight: bold;
  border-radius: 50px; }
  .btn_request:hover {
    opacity: 0.6; }

.link_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  margin: auto; }
  .link_list.w_full li {
    width: 100%; }
  .link_list.kinki {
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start; }
    .link_list.kinki li {
      width: 33.3%; }
  .link_list li {
    width: 49%;
    margin-bottom: 15px; }
  .link_list a {
    display: inline-block;
    display: inline-block;
    padding-left: calc(1.4rem + 3px);
    font-size: 1.4rem;
    padding-left: "";
    background: url(../images/icon_arrow_right_yellow.svg) no-repeat top 2px left/1.4rem auto;
    text-decoration: underline; }
    .link_list a:hover {
      text-decoration: underline; }
  .link_list.visa a {
    display: inline-block;
    padding-left: calc(1.4rem + 3px);
    font-size: 1.4rem;
    padding-left: "";
    background: url(../images/icon_arrow_right_blue.svg) no-repeat top 2px left/1.4rem auto; }
  .link_list.jcb a {
    display: inline-block;
    padding-left: calc(1.4rem + 3px);
    font-size: 1.4rem;
    padding-left: "";
    background: url(../images/icon_arrow_right_orange.svg) no-repeat top 2px left/1.4rem auto; }
  .link_list.sonota a {
    display: inline-block;
    padding-left: calc(1.4rem + 3px);
    font-size: 1.4rem;
    padding-left: "";
    background: url(../images/icon_arrow_right_yellow.svg) no-repeat top 2px left/1.4rem auto; }

.caution {
  color: red; }

.caution_list {
  counter-reset: caution 0;
  margin: 15px 0; }
  .caution_list li {
    text-indent: -1.2rem;
    margin-left: 2.5rem;
    margin-bottom: 0.5rem;
    font-size: 1.2rem; }
    .caution_list li::before {
      counter-increment: caution 1;
      content: "注" counter(caution);
      display: inline-block;
      margin-right: 0.5rem; }

.caution_indent {
  text-indent: -2.8rem;
  margin-left: 2.8rem; }
  .caution_indent::before {
    content: "(注)";
    color: red; }

.notice_ttl {
  margin: 15px 0 -10px 0;
  font-weight: bold;
  color: red; }

.notice_txt {
  text-indent: -0.7rem;
  margin-left: 1.6rem;
  color: red;
  line-height: 1.6rem; }
  .notice_txt::before {
    content: "※";
    display: inline-block;
    margin-right: 0.25rem; }
  .notice_txt.disc::before {
    content: "●"; }
  .notice_txt.blk {
    color: #333; }

.notice_list {
  margin: 15px 0; }
  .notice_list.emp li {
    color: red; }
  .notice_list.disc li::before {
    content: "●";
    display: inline; }
  .notice_list.disc li.red::before {
    content: "●";
    display: inline;
    color: red; }
  .notice_list li {
    text-indent: -0.7rem;
    margin-left: 1.5rem;
    margin-bottom: 0.5rem;
    font-size: 1.2rem; }
    .notice_list li::before {
      content: "※";
      display: inline-block; }
    .notice_list li.emp {
      color: red; }
    .notice_list li.ast::before {
      content: "＊"; }

.faq_list {
  margin: 30px 0 0 0; }
  .faq_list dt, .faq_list dd {
    position: relative; }
  .faq_list dt::before, .faq_list dd::before {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    position: absolute;
    left: 0;
    top: -5px;
    width: 30px;
    height: 30px;
    border-radius: 50%;
    color: #fff;
    font-weight: bold;
    font-size: 1.8rem; }
  .faq_list dt {
    padding: 0px 0px 10px 40px;
    margin: 0 0 15px 0;
    font-weight: bold;
    font-size: 1.8rem;
    color: #072b75;
    border-bottom: 2px solid #072b75; }
    .faq_list dt::before {
      content: "Q";
      background: #072b75; }
  .faq_list dd {
    padding: 0px 0px 30px 40px;
    margin: 0 0 30px 0;
    border-bottom: 1px dotted #ccc; }
    .faq_list dd::before {
      content: "A";
      background: #ff6400; }
    .faq_list dd:last-of-type {
      margin-bottom: 0;
      border-bottom: none; }
    .faq_list dd p {
      margin-top: 0.5rem;
      margin-bottom: 0.5rem; }
  .faq_list .emp {
    color: red; }
  .faq_list .indent {
    margin-top: 0.5rem;
    margin-bottom: 0.5rem; }
  .faq_list .notice_list {
    margin-top: 0 !important; }
    .faq_list .notice_list li {
      font-size: 1.4rem;
      line-height: 1.8rem; }
  .faq_list .btn_link {
    margin: 1rem 0; }

.cardservice_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: distribute;
  justify-content: space-around; }
  .cardservice_list li {
    width: 30%;
    padding: 5px;
    margin: 2.5% 0;
    border-radius: 8px; }
    .cardservice_list li:hover {
      background: #ecd6c6; }
    .cardservice_list li:empty {
      visibility: hidden; }
  .cardservice_list a {
    display: block;
    width: 100%;
    height: 100%; }
  .cardservice_list .ttl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    min-height: 2em;
    margin-bottom: 15px;
    font-size: 1.6rem;
    font-weight: bold;
    color: #072b75;
    text-align: center; }
  .cardservice_list .tn {
    width: 80%;
    margin: auto;
    position: relative;
    height: auto; }
    .cardservice_list .tn::before {
      content: "";
      display: block;
      padding-top: 100%; }
    .cardservice_list .tn img {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      border-radius: 50%; }

.card_tab {
  margin-bottom: 30px; }
  .card_tab ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }
  .card_tab li {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
    .card_tab li:first-of-type {
      border-radius: 6px 0 0 6px; }
    .card_tab li:last-of-type {
      border-radius: 0 6px 6px 0; }
    .card_tab li.visa {
      background: #9bd9ea; }
      .card_tab li.visa:hover, .card_tab li.visa.on {
        background: #33bedb; }
      .card_tab li.visa a span {
        padding-left: 60px;
        background: url(../images/logo_visa.svg) no-repeat center left/auto 75%; }
    .card_tab li.jcb {
      background: #ffd2c7; }
      .card_tab li.jcb:hover, .card_tab li.jcb.on {
        background: #ff8470; }
      .card_tab li.jcb a span {
        padding-left: 40px;
        background: url(../images/logo_jcb.svg) no-repeat center left/auto 100%; }
    .card_tab li a {
      display: block;
      width: 100%;
      height: 100%;
      padding: 15px;
      text-align: center;
      font-weight: bold;
      font-size: 2rem;
      color: #fff; }
      .card_tab li a span {
        display: inline-block; }

.card_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  .card_list li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    position: relative;
    width: 40%;
    margin: 0 4% 7%; }
  .card_list .name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    margin-bottom: 15px;
    font-size: 1.8rem;
    font-weight: bold;
    text-align: center; }
  .card_list .fl_box {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin-bottom: 20px; }
    .card_list .fl_box .img {
      width: 50%;
      margin: 0; }
    .card_list .fl_box .cap {
      -webkit-box-flex: unset;
      -ms-flex: unset;
      flex: unset;
      width: 45%;
      margin: 0; }
    .card_list .fl_box + .btn {
      margin-top: 0; }
  .card_list .cap {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto; }
    .card_list .cap .st {
      display: inline-block;
      margin-bottom: 10px;
      padding: 5px 10px;
      background: red;
      color: #fff; }
  .card_list .img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center; }
    .card_list .img img {
      width: 80%; }
  .card_list .btn, .card_list .btn2 {
    display: block;
    width: 100%;
    margin: auto;
    padding: 10px; }
  .card_list .btn_wrap {
    margin: 0; }
    .card_list .btn_wrap a {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1;
      margin: 0 10px; }
    .card_list .btn_wrap + .btn {
      margin-top: 20px; }

.btn3 {
  display: block;
  width: 29%;
  margin: auto;
  padding: 10px; }

.app_link {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 30px 0; }
  .app_link p {
    /*width: 60%;*/
    margin: 0 0 0 0;
    /*font-size: 1.2rem;*/
    line-height: 1.4rem; }

.title_wrap {
  width: 100%;
  margin-bottom: 40px;
  background: #fff; }
  .title_wrap .ttl {
    position: relative;
    width: 1000px;
    margin: 10px auto;
    padding: 30px;
    color: #333;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex; }

.h4space {
  white-space: nowrap;
  margin-right:2%;}
 
.displayflex{
  display:flex;
  }  

#whiteline {
  border: none; }

.space1 {
  margin-bottom: 30px; }

.ttl_main {
  font-size: 4rem; }

.ttl_sec {
  padding: 10px;
  margin-bottom: 20px;
  background: -webkit-gradient(linear, left top, right top, from(#ffae00), to(#db7c00));
  background: linear-gradient(to right, #ffae00 0%, #db7c00 100%);
  color: #fff;
  font-size: 2.2rem;
  font-weight: 500;
  border-radius: 6px;
  -webkit-box-shadow: 5px 5px #ffcf88;
  box-shadow: 5px 5px #ffcf88; }
  .ttl_sec .sub {
    font-size: 1.4rem; }
  .ttl_sec.visa {
    background: -webkit-gradient(linear, left top, right top, from(#33bedb), to(#0077a9));
    background: linear-gradient(to right, #33bedb 0%, #0077a9 100%);
    color: #fff;
    -webkit-box-shadow: 5px 5px #9bd9ea;
    box-shadow: 5px 5px #9bd9ea; }
  .ttl_sec.jcb {
    background: -webkit-gradient(linear, left top, right top, from(#ff8470), to(#cc514d));
    background: linear-gradient(to right, #ff8470 0%, #cc514d 100%);
    color: #fff;
    -webkit-box-shadow: 5px 5px #ffd2c7;
    box-shadow: 5px 5px #ffd2c7; }
  .ttl_sec.sonota {
    background: -webkit-gradient(linear, left top, right top, from(#ffae00), to(#db7c00));
    background: linear-gradient(to right, #ffae00 0%, #db7c00 100%);
    color: #fff;
    -webkit-box-shadow: 5px 5px #ffcf88;
    box-shadow: 5px 5px #ffcf88; }

.ttl_sub {
  margin-bottom: 15px;
  padding: 0 0 5px 0;
  border-bottom: 2px solid #F3A600;
  font-size: 1.8rem;
  color: #F3A600;}
  .ttl_sub a {
    color: #F3A600;
    display: inline-block;
    padding-left: calc(1.6rem + 3px);
    font-size: 1.6rem;
    padding-left: "";
    background: url(../images/icon_arrow_right_blue.svg) no-repeat top 2px left/1.6rem auto; }

.ttl_unt {
  margin-bottom: 10px;
  padding: 0 0 0 5px;
  border-left: 10px solid #db7c00;
  font-size: 1.6rem;
  color: #db7c00; }

.anker_links a {
  text-decoration: underline; }
.anker_links .parent > li > a, .anker_links .parent > li p {
  display: block;
  margin: 0 0 10px;
  padding: 10px;
  border-radius: 6px;
  background: #ccc;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.6rem; }
.anker_links .parent > li:last-of-type a {
  margin: 0; }
.anker_links .parent > li:last-of-type > ul {
  margin-bottom: 0; }
.anker_links .sub {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
  margin: 0; }
  .anker_links .sub > li {
    width: 100%;
    margin-bottom: 10px; }
    .anker_links .sub > li > a {
      display: inline-block;
      padding-left: calc(1.4rem + 3px);
      font-size: 1.4rem;
      padding-left: "";
      background: url(../images/icon_arrow_right_yellow.svg) no-repeat top 2px left/1.4rem auto; }
      .anker_links .sub > li > a:hover {
        opacity: 0.6; }
  .anker_links .sub.no_wrap {
    -ms-flex-wrap: nowrap;
    flex-wrap: nowrap; }
    .anker_links .sub.no_wrap > li {
      width: auto;
      margin-right: 30px; }
  .anker_links .sub.r_2 > li {
    width: 50%; }
  .anker_links .sub.r_3 > li {
    width: 33.3%; }
  .anker_links .sub.r_4 > li {
    width: 25%; }

dl.flow {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  dl.flow dt, dl.flow dd {
    margin: 0 0 40px 0;
    padding: 20px; }
  dl.flow dt {
    position: relative;
    width: 20%;
    background: #eaeaea;
    font-weight: bold;
    font-size: 1.8rem;
    text-align: center; }
    dl.flow dt::after {
      content: "";
      position: absolute;
      bottom: -30px;
      left: 50%;
      margin-left: -30px;
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 20px 30px 0 30px;
      border-color: #aedde6 transparent transparent transparent; }
    dl.flow dt:last-of-type {
      margin: 0; }
      dl.flow dt:last-of-type::after {
        display: none; }
  dl.flow dd {
    position: relative;
    width: 80%;
    border: 2px solid #eaeaea; }
    dl.flow dd:last-of-type {
      margin: 0; }
dl.flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  dl.flex dt, dl.flex dd {
    margin: 0;
    padding: 5px 0;
    line-height: 2.4rem; }
  dl.flex dt {
    width: 23%; }
  dl.flex dd {
    width: 75%; }

.campaign_list.visa dt {
  background: #0077a9; }
.campaign_list.jcb dt {
  background: #cc514d; }
.campaign_list li {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  padding: 20px;
  margin-bottom: 20px;
  border: 3px solid #eaeaea;
  border-radius: 10px; }
  .campaign_list li:last-of-type {
    margin-bottom: 0; }
.campaign_list .tn {
  display: block;
  width: 130px; }
  .campaign_list .tn img {
    width: 100%; }
.campaign_list .txt {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-left: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: calc(100% - 150px); }
.campaign_list .ttl_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: flex-start;
  width: 100%; }
.campaign_list .ttl {
  width: 100%;
  margin: 0 0 15px 0;
  font-weight: bold;
  font-size: 2rem;
  color: #0C1E89;
  text-decoration: underline; }
.campaign_list dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin: 0 0 10px 0;
  width: calc(100% - 170px); }
.campaign_list dt, .campaign_list dd {
  margin: 0;
  padding: 10px;
  font-weight: bold; }
.campaign_list dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100px;
  background: #66ab00;
  color: #fff;
  text-align: center;
  font-size: 1.6rem; }
.campaign_list dd {
  width: calc(100% - 100px);
  font-size: 1.4rem; }
.campaign_list a:hover {
  opacity: 0.6; }
.campaign_list .btn_entry {
  display: block;
  padding: 11px;
  margin: 0;
  width: 150px;
  text-align: center;
  background: #0062b7;
  color: #fff;
  font-weight: bold;
  font-size: 1.6rem;
  line-height: 1.6rem;
  border-radius: 6px; }
  .campaign_list .btn_entry.disabled {
    font-weight: normal;
    background: #ccc; }
.campaign_list .info {
  width: 100%;
  margin: 0; }

.campaign_info {
  padding: 20px;
  margin-bottom: 20px;
  border: 3px solid #eaeaea;
  border-radius: 10px; }
  .campaign_info:first-of-type {
    margin-top: 20px; }
  .campaign_info:last-of-type {
    margin-bottom: 0; }

body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  background: #fff8da; }

header {
  z-index: 50;
  top: 0;
  left: 0;
  width: 100%;
  background: #fff; }
  header .inner {
    width: 1000px; }
  header .logo_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    -webkit-box-align: start;
    -ms-flex-align: start;
    align-items: flex-start;
    padding: 10px 0; }
    header .logo_wrap .nav_box {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-flow: column;
      flex-flow: column;
      -webkit-box-align: end;
      -ms-flex-align: end;
      align-items: flex-end; }
  header .logo:hover {
    opacity: 0.6; }
  header .logo img {
    width: auto; }
  header .header_navi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    margin: 15px 0 0 15px; }
    header .header_navi li {
      -webkit-box-flex: 0;
      -ms-flex: 0 0 1;
      flex: 0 0 1;
      margin-right: 1.5rem; }
      header .header_navi li:last-of-type {
        margin-right: 0; }
    header .header_navi a {
      display: inline-block;
      padding-left: calc(1.2rem + 3px);
      font-size: 1.2rem;
      padding-left: "";
      background: url(../images/icon_arrow_right_black.svg) no-repeat top 2px left/1.2rem auto; }
      header .header_navi a:hover {
        text-decoration: underline; }
  header .fontsize {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-weight: bold;
    color: #f3a600; }
    header .fontsize ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      margin-left: 5px; }
    header .fontsize li {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      text-align: center;
      padding: 5px;
      margin-right: 1px;
      background: #fff8da;
      color: #f3a600;
      cursor: pointer; }
      header .fontsize li:hover, header .fontsize li.on {
        background: #FD800D;
        color: #fff; }
      header .fontsize li:first-of-type {
        border-radius: 4px 0 0 4px; }
      header .fontsize li:last-of-type {
        margin-right: 0;
        border-radius: 0 4px 4px 0; }
  header .submenu {
    background: #33bedb; }
    header .submenu ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      width: 1000px;
      margin: auto; }
    header .submenu li {
      -webkit-box-flex: 1;
      -ms-flex: 1;
      flex: 1; }
      header .submenu li a {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        text-align: center;
        width: 100%;
        height: 100%;
        padding: 10px 0;
        text-align: center;
        color: #fff;
        font-weight: bold; }
        header .submenu li a:hover {
          background: #0077a9; }
        header .submenu li a span {
          display: inline-block;
          padding-left: calc(1.4rem + 3px);
          font-size: 1.4rem;
          padding-left: 2rem;
          background: url(../images/common/icon_arrow_right_white.svg) no-repeat top 2px left/1.4rem auto; }

.gnavi > ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end; }
  .gnavi > ul > li {
    position: relative; }
    .gnavi > ul > li > ul {
      display: none;
      position: absolute;
      z-index: 1;
      top: 36px;
      left: 0;
      width: 100%; }
      .gnavi > ul > li > ul li {
        border-radius: 0; }
        .gnavi > ul > li > ul li a {
          background: #eaeaea;
          border-radius: 0 !important; }
          .gnavi > ul > li > ul li a:hover {
            background: #ccc; }
    .gnavi > ul > li:hover > ul {
      display: block; }
.gnavi li {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin-right: 1px; }
  .gnavi li:first-of-type a {
    border-radius: 4px 0 0 0; }
  .gnavi li:last-of-type a {
    border-radius: 0 4px 0 0; }
  .gnavi li a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    padding: 10px 0;
    width: 100%;
    height: 100%;
    font-weight: bold;
    font-size: 14px;
    background: #eaeaea;
    color: #333; }
  .gnavi li:hover > a {
    background: #ccc;
    color: #333; }
  .gnavi li.visa a {
    background: #9bd9ea; }
  .gnavi li.visa:hover a {
    background: #33bedb; }
  .gnavi li.jcb a {
    background: #ffd2c7; }
  .gnavi li.jcb:hover a {
    background: #ff8470; }
  .gnavi li.emp a {
    padding: 15px 0;
    font-size: 19px;
    color: #fff; }
  .gnavi li.emp.on a, .gnavi li.emp:hover a {
    color: #fff; }
  .gnavi li.emp:nth-of-type(2) a {
    border-radius: 0 4px 0 0; }
  .gnavi li.regist a {
    background: #fff8da;
    color: #f3a600; }
  .gnavi li.regist:hover a {
    background: #FD800D !important;
    color: #fff; }
  .gnavi li:last-of-type {
    margin-right: 0px; }

.breadcrumbs {
  padding: 5px 0;
  background: #fff8da;
  border-top: 5px solid #FD800D; }
  .breadcrumbs ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 1000px;
    margin: auto; }
  .breadcrumbs li {
    color: #ff9300;
    font-size: 1rem;
    font-weight: 200; }
    .breadcrumbs li::after {
      content: "＞";
      display: inline-block;
      margin: 0 7px; }
    .breadcrumbs li:last-of-type::after {
      display: none; }
    .breadcrumbs li a {
      color: #ff9300; }
  .breadcrumbs .home a {
    padding-left: 15px;
    background: url(../images/icon_home.svg) no-repeat center left/12px auto; }

footer {
  margin-top: 50px;
  padding-bottom: 30px;
  background: #eaeaea;
  color: #333;
  text-align: center; }
  footer a {
    color: #333; }
  footer .logo {
    margin: 15px auto; }
    footer .logo img {
      height: 30px; }
  footer .copyright {
    font-size: 1rem; }
  footer .footer_navi {
    background: #ccc; }
    footer .footer_navi ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      width: 1000px;
      margin: auto;
      padding: 20px 0; }
    footer .footer_navi li {
      margin: 1rem 1rem; }
    footer .footer_navi a {
      display: inline-block;
      padding-left: calc(1.3rem + 3px);
      font-size: 1.3rem;
      padding-left: "";
      background: url(../images/icon_arrow_right_black.svg) no-repeat top 2px left/1.3rem auto; }
      footer .footer_navi a:hover {
        text-decoration: underline; }
  footer .site_navi {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 1000px;
    margin: auto;
    padding: 30px 0; }
    footer .site_navi .box {
      margin: 0 5%; }
    footer .site_navi .ttl_box {
      display: block;
      padding-bottom: 5px;
      margin-bottom: 15px;
      font-size: 1.6rem;
      font-weight: bold;
      border-bottom: 1px solid #666; }
    footer .site_navi li {
      text-align: left;
      margin-bottom: 0.5rem; }
      footer .site_navi li a {
        display: inline-block;
        padding-left: calc(1.2rem + 3px);
        font-size: 1.2rem;
        padding-left: "";
        background: url(../images/icon_arrow_right_black.svg) no-repeat top 2px left/1.2rem auto; }
        footer .site_navi li a:hover {
          text-decoration: underline; }

main {
  -webkit-box-flex: 0;
  -ms-flex: 0 0 auto;
  flex: 0 0 auto;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  margin: auto; }
  main > article {
    width: 1000px;
    margin: 0; }
    main > article > .box_sec {
      margin: 0 0 20px 0; }
      main > article > .box_sec > section {
        margin: 0 0 40px 0; }
        main > article > .box_sec > section:last-of-type {
          margin-bottom: 0; }
        main > article > .box_sec > section > section {
          margin: 0 0 30px 0; }
          main > article > .box_sec > section > section:last-of-type {
            margin-bottom: 0; }
  main > aside {
    width: 215px;
    margin: 0 0 25px 25px; }

.side {
  display: none; }
  .side > section {
    margin-bottom: 30px;
    padding: 5px;
    background: #fff;
    border-radius: 6px; }
  .side .bnr2 {
    margin-bottom: 30px;
    padding: 5px;
    width: 330px;
    background: #fff;
    border-radius: 6px; }
  .side > section:last-of-type {
    margin-bottom: 0; }
  .side > section .ttl_sec {
    position: relative;
    top: -5px;
    left: -5px;
    width: calc(100% + 10px);
    margin-bottom: 0px;
    text-align: center;
    font-size: 1.4rem;
    border-radius: 6px 6px 0 0;
    background: -webkit-gradient(linear, left top, left bottom, from(#33bedb), to(#0077a9));
    background: linear-gradient(to bottom, #33bedb 0%, #0077a9 100%);
    -webkit-box-shadow: none;
    box-shadow: none; }
  .side .member_wrap {
    padding: 5px;
    border: 1px solid #ccc;
    border-radius: 6px;
    background: #fff; }
    .side .member_wrap .member {
      padding: 15px 10px 10px;
      margin-bottom: 10px;
      border-radius: 4px;
      text-align: center; }
      .side .member_wrap .member .lede {
        line-height: 2rem;
        font-size: 1.5rem;
        font-weight: bold;
        color: #072b75; }
      .side .member_wrap .member .links {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
        -ms-flex-flow: column;
        flex-flow: column;
        -ms-flex-wrap: wrap;
        flex-wrap: wrap;
        -webkit-box-pack: justify;
        -ms-flex-pack: justify;
        justify-content: space-between; }
        .side .member_wrap .member .links a {
          display: block;
          padding: 5px 0;
          text-align: center;
          background: #54568C;
          color: #fff;
          font-size: 1.5rem;
          font-weight: bold;
          border-radius: 50px; }
          .side .member_wrap .member .links a:hover {
            opacity: 0.6; }
        .side .member_wrap .member .links li {
          width: 100%;
          margin-bottom: 4%; }
          .side .member_wrap .member .links li:last-of-type {
            margin-bottom: 0; }
          .side .member_wrap .member .links li.regist a {
            background: #B52555; }
    .side .member_wrap .menu {
      padding: 10px;
      background: #0077a9;
      color: #fff;
      border-radius: 4px; }
      .side .member_wrap .menu a {
        color: #fff; }
        .side .member_wrap .menu a:hover {
          text-decoration: underline; }
      .side .member_wrap .menu > ul > li {
        margin-bottom: 10px; }
        .side .member_wrap .menu > ul > li:last-of-type {
          margin-bottom: 0; }
        .side .member_wrap .menu > ul > li > a {
          display: inline-block;
          padding: 8px 0 8px 34px;
          font-weight: 500;
          line-height: 1.4rem; }
        .side .member_wrap .menu > ul > li > ul {
          margin-top: 5px;
          margin-left: 35px; }
          .side .member_wrap .menu > ul > li > ul li {
            margin-bottom: 5px; }
            .side .member_wrap .menu > ul > li > ul li:last-of-type {
              margin-bottom: 0; }
          .side .member_wrap .menu > ul > li > ul a {
            display: inline-block;
            padding-left: calc(1.2rem + 3px);
            font-size: 1.2rem;
            padding-left: "";
            background: url(../images/icon_arrow_right_white.svg) no-repeat top 2px left/1.2rem auto; }
      .side .member_wrap .menu .payment {
        background: url(../images/side/icon_calc.svg) no-repeat top left/30px auto; }
      .side .member_wrap .menu .cashing {
        background: url(../images/side/icon_cash.svg) no-repeat top left/30px auto; }
      .side .member_wrap .menu .points {
        background: url(../images/side/icon_point.svg) no-repeat top left/30px auto; }
      .side .member_wrap .menu .service {
        background: url(../images/side/icon_star.svg) no-repeat top left/30px auto; }
      .side .member_wrap .menu .registration {
        background: url(../images/side/icon_pen.svg) no-repeat top left/30px auto; }
      .side .member_wrap .menu .shopping {
        background: url(../images/side/icon_shopping.png) no-repeat top left/30px auto; }
        .side .member_wrap .menu .lost {
        background: url(../images/side/icon_lost.svg) no-repeat top left/30px auto; }
  .side .info a:hover {
    opacity: 0.6; }
  .side .info li {
    text-align: center; }
    .side .info li:first-of-type img {
      border-radius: 4px 4px 0 0; }
    .side .info li:last-of-type img {
      border-radius: 0 0 4px 4px; }
    .side .info li img {
      width: 100%; }
  .side .bnr a:hover {
    opacity: 0.6; }
  .side .bnr li {
    margin-bottom: 5px; }
    .side .bnr li:last-of-type {
      margin: 0; }
    .side .bnr li img {
      width: 100%;
      border-radius: 4px; }
  .side .hare {
    margin-bottom: 5px; }
    .side .hare a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      padding: 5px;
      background: #fff;
      border: 1px solid #ccc;
      border-radius: 4px; }
      .side .hare a img {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        width: 50%; }
      .side .hare a .name {
        -webkit-box-flex: 0;
        -ms-flex: 0 0 auto;
        flex: 0 0 auto;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        text-align: center;
        width: 50%;
        font-weight: bold;
        font-size: 2rem;
        text-align: center; }

#pagetop {
  display: none;
  position: fixed;
  right: 30px;
  bottom: 30px; }
  #pagetop .pagetop {
    width: 50px;
    height: 50px;
    opacity: 0.5;
    -webkit-transition: 0.5s;
    transition: 0.5s; }
    #pagetop .pagetop:hover {
      -webkit-transition: 0.5s;
      transition: 0.5s;
      opacity: 0.8; }

.box_sec {
  padding: 20px;
  background: #fff;
  border-radius: 8px;
  -webkit-box-shadow: 5px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 5px 5px rgba(0, 0, 0, 0.1); }

.contact_section {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 5px;
  background: #ffbe00;
  border-radius: 6px; }
  .contact_section .name {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    width: 30%;
    font-weight: bold;
    font-size: 1.6rem; }
  .contact_section .txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-pack: start;
    -ms-flex-pack: start;
    justify-content: flex-start;
    margin: 0;
    padding: 10px 15px;
    text-align: left;
    background: #fff;
    border-radius: 4px; }

body.home .side {
  display: block; }
body.home main > article {
  width: 760px; }
body.home header {
  margin-bottom: 20px; }
body.home .mv {
  width: 100%; }
  body.home .mv .inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    margin: 0 auto 25px auto;
    width: 1000px;
    height: auto; }
  body.home .mv .slider {
    width: 100%;
    height: auto;
    margin-bottom: 20px;
    border: 4px solid #fff;
    border-radius: 4px; }
    body.home .mv .slider .btn {
      width: 30px;
      height: 30px;
      opacity: 1; }
      body.home .mv .slider .btn:hover {
        opacity: 0.6; }
      body.home .mv .slider .btn.prev {
        background: #fff url(../images/icon_arrow_prev.svg) no-repeat center/auto 16px; }
      body.home .mv .slider .btn.next {
        background: #fff url(../images/icon_arrow_next.svg) no-repeat center/auto 16px; }
  body.home .mv .thumbs {
    position: relative;
    width: 100%;
    height: auto;
    margin: auto;
    padding: 10px 40px;
    background: #fff;
    overflow: hidden; }
    body.home .mv .thumbs .swiper-slide {
      position: relative;
      width: 200px;
      height: auto;
      background: #fff;
      cursor: pointer;
      border: 2px solid #fff;
      border-radius: 2px; }
      body.home .mv .thumbs .swiper-slide:hover img {
        opacity: 1; }
      body.home .mv .thumbs .swiper-slide img {
        opacity: 0.5;
        width: 100%; }
    body.home .mv .thumbs .swiper-slide-active {
      border: 2px solid #055bbd; }
      body.home .mv .thumbs .swiper-slide-active img {
        opacity: 1; }
    body.home .mv .thumbs .btn {
      top: 0;
      width: 20px;
      height: 100%;
      margin: 0;
      padding: 0;
      opacity: 1;
      border-radius: 0; }
      body.home .mv .thumbs .btn:hover {
        opacity: 0.8; }
      body.home .mv .thumbs .btn.prev {
        left: 0;
        background: #055bbd url(../images/icon_arrow_prev_w.svg) no-repeat center/auto 14px; }
      body.home .mv .thumbs .btn.next {
        right: 0;
        background: #055bbd url(../images/icon_arrow_next_w.svg) no-repeat center/auto 14px; }
  body.home .mv img {
    width: 100%; }
body.home .tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-pack: distribute;
  justify-content: space-around;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end; }
  body.home .tab li {
    -webkit-box-flex: 1;
    -ms-flex: auto;
    flex: auto;
    position: relative;
    width: 30%;
    margin: 0 1% 15px;
    position: relative;
    height: auto;
    -webkit-transition: 0.2s;
    transition: 0.2s;
    border-radius: 8px;
    cursor: pointer;
    border: 3px solid #fff; }
    body.home .tab li::before {
      content: "";
      display: block;
      padding-top: 60%; }
    body.home .tab li:hover {
      border: 3px solid #ffae00; }
      body.home .tab li:hover p {
        background: #ffae00;
        color: #333; }
    body.home .tab li.on {
      margin-bottom: 0;
      width: 40%;
      border-radius: 8px 8px 0 0;
      border: 10px solid #fff;
      border-bottom: none; }
      body.home .tab li.on:hover p {
        background: rgba(0, 0, 0, 0.4);
        color: #fff; }
      body.home .tab li.on p {
        font-size: 2.4rem; }
    body.home .tab li a {
      position: absolute;
      top: 0;
      left: 0;
      display: block;
      width: 100%;
      height: 100%; }
    body.home .tab li p {
      position: absolute;
      top: 50%;
      left: 0;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      text-align: center;
      margin-top: -25px;
      width: 100%;
      height: 50px;
      background: rgba(0, 0, 0, 0.4);
      font-size: 1.7rem;
      font-weight: bold;
      color: #fff;
      text-align: center;
      -webkit-transition: 0.2s;
      transition: 0.2s; }
  body.home .tab .tab_1 {
    background: #fff url(../images/home/tab_img_1.jpg) no-repeat center/cover; }
  body.home .tab .tab_2 {
    background: #fff url(../images/home/tab_img_2.jpg) no-repeat center/cover; }
  body.home .tab .tab_3 {
    background: #fff url(../images/home/tab_img_3.jpg) no-repeat center/cover; }
body.home .tab_content {
  display: none;
  padding: 20px;
  margin-bottom: 20px;
  background: #fff;
  border-radius: 8px;
  -webkit-box-shadow: 5px 5px rgba(0, 0, 0, 0.1);
  box-shadow: 5px 5px rgba(0, 0, 0, 0.1); }
  body.home .tab_content > section {
    margin: 0px 0 15px 0; }
    body.home .tab_content > section:last-of-type {
      margin-bottom: 0px; }
    body.home .tab_content > section:first-of-type {
      margin-top: 0; }
  body.home .tab_content .ttl_content {
    margin: 10px 0 25px 0;
    color: #0077a9;
    font-size: 3rem; }
  body.home .tab_content .ttl_sub {
    padding: 10px;
    border-radius: 6px 6px 0 0;
    background: #9bd9ea; }
    body.home .tab_content .ttl_sub a:hover {
      opacity: 0.6; }
  body.home .tab_content .mark {
    display: inline-block;
    padding: 2px 5px;
    margin: 0 0 0 2px;
    border-radius: 3px;
    color: #fff;
    text-align: center;
    font-size: 1rem;
    font-weight: bold;
    background: #0077a9; }
    body.home .tab_content .mark.pt {
      background: #bebebe; }
    body.home .tab_content .mark.g {
      background: #c5a829; }
body.home .ttl_sec {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }
  body.home .ttl_sec .btn_list {
    float: right;
    padding-left: 1.4rem;
    color: #fff;
    font-size: 1.2rem;
    line-height: 1.2rem;
    background: url(../images/icon_arrow_right_white.svg) no-repeat center left/1.2rem auto; }
    body.home .ttl_sec .btn_list:hover {
      opacity: 0.6; }
body.list article {
  width: 1000px; }
body.list .side {
  display: none; }
body.detail article {
  width: 1000px; }
body.detail .side {
  display: none; }
body.detail .box_sec .ttl_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-flow: column;
  flex-flow: column;
  margin-bottom: 20px;
  padding: 15px;
  background: #dddeee;
  border-radius: 8px; }
  body.detail .box_sec .ttl_box .ttl {
    -webkit-box-ordinal-group: 3;
    -ms-flex-order: 2;
    order: 2;
    font-size: 2rem;
    line-height: 2.5rem; }
  body.detail .box_sec .ttl_box .date {
    -webkit-box-ordinal-group: 2;
    -ms-flex-order: 1;
    order: 1;
    display: inline-block;
    margin: 0 0 10px 0;
    font-size: 1.3rem; }
    body.detail .box_sec .ttl_box .date.new::after {
      content: "NEW";
      display: inline-block;
      padding: 3px 5px 3px 5px;
      margin-left: 3px;
      border-radius: 30px;
      background: #e70000;
      color: #fff;
      font-size: 1rem;
      line-height: 1rem;
      font-weight: bold; }
body.history .history_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 0;
  border-top: 1px solid #ccc; }
  body.history .history_list dt, body.history .history_list dd {
    margin: 0;
    padding: 15px;
    border-bottom: 1px solid #ccc; }
  body.history .history_list dt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    width: 70px;
    font-weight: bold;
    background: #eaeaea; }
  body.history .history_list dd {
    width: calc(100% - 70px); }
  body.history .history_list .event {
    display: inline-block;
    padding: 3px 10px;
    margin-bottom: 5px;
    background: #ffac00;
    font-weight: bold;
    font-size: 1.4rem;
    border-radius: 50px; }
body.access .honsha {
  width: 98%;
  margin: auto; }
body.access .access_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  body.access .access_wrap .txt {
    width: 40%; }
    body.access .access_wrap .txt p {
      margin: 0 0 1.6rem 0;
      line-height: 2.6rem; }
  body.access .access_wrap .img {
    width: 60%;
    text-align: center; }
    body.access .access_wrap .img img {
      width: auto;
      height: 300px; }
body.member .lede {
  font-size: 1.6rem; }
body.member .cashless_expl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  padding: 15px;
  border: 1px solid #ccc;
  border-radius: 6px; }
  body.member .cashless_expl .img {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    margin-right: 20px; }
body.member .notice {
  font-size: 1.2rem;
  line-height: 1.7rem; }
body.member .img_1 {
  padding: 20px;
  background: #dedce9;
  border-radius: 6px;
  text-align: center; }
  body.member .img_1 img {
    max-width: 100%; }
body.member th, body.member td {
  font-size: 1.2rem; }
body.profile .anker_links ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  body.profile .anker_links ul li {
    width: 33.3%; }
body.profile .wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex; }
  body.profile .wrap .txt {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1; }
  body.profile .wrap .img {
    width: 40%;
    margin-left: 20px; }
    body.profile .wrap .img img {
      margin-bottom: 10px; }
body.magazine .backnumber {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  text-align: center;
  padding: 20px;
  background: #d3edfa;
  border-radius: 10px; }
  body.magazine .backnumber img {
    max-width: 100%; }
body.payment .payment_links {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin: 20px auto; }
  body.payment .payment_links li {
    -webkit-box-flex: 1;
    -ms-flex: 1;
    flex: 1;
    margin: 0 10px;
    text-align: center; }
    body.payment .payment_links li p {
      font-size: 1.2rem;
      line-height: 1.6rem; }
  body.payment .payment_links a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    text-align: center;
    position: relative;
    height: auto;
    width: 100%;
    background: #072b75;
    border-radius: 50%; }
    body.payment .payment_links a::before {
      content: "";
      display: block;
      padding-top: 100%; }
    body.payment .payment_links a:hover {
      opacity: 0.6; }
    body.payment .payment_links a img {
      width: 50%; }
body.payment .emp {
  color: red;
  font-weight: bold; }
body.payment table {
  margin-bottom: 40px; }
  body.payment table:last-of-type {
    margin-bottom: 0; }
  body.payment table caption {
    padding: 10px;
    margin: 0;
    background: #072b75;
    color: #fff; }
  body.payment table th {
    width: 20%; }
  body.payment table td {
    line-height: 2.5rem; }
    body.payment table td .btn_text {
      text-decoration: underline; }
body.card_detail .card_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  body.card_detail .card_wrap .card_img {
    width: 30%; }
    body.card_detail .card_wrap .card_img img {
      width: 100%; }
  body.card_detail .card_wrap .txt_box {
    width: 65%; }
    body.card_detail .card_wrap .txt_box section {
      margin-bottom: 40px; }
body.card_detail .lede {
  margin: 30px 0;
  font-size: 2.2rem;
  font-weight: bold;
  color: #a5810c; }
body.card_detail .btn_wrap a {
  -webkit-box-flex: 1;
  -ms-flex: 1;
  flex: 1;
  margin: 10px; }
body.card_detail .support_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin: 15px 0 0 0; }
  body.card_detail .support_list > li {
    width: 23%;
    margin: 0 1% 2% 1%;
    padding: 15px;
    border: 3px solid #eaeaea;
    border-radius: 6px; }
  body.card_detail .support_list .icon {
    margin-bottom: 15px;
    text-align: center; }
    body.card_detail .support_list .icon img {
      width: 30%; }
  body.card_detail .support_list .ttl {
    font-size: 1.6rem;
    font-weight: bold;
    color: #072b75;
    text-align: center; }
  body.card_detail .support_list .notice_list {
    color: #0077a9; }
body.corporation_card .card_wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between; }
  body.corporation_card .card_wrap .img {
    width: 30%; }
  body.corporation_card .card_wrap .txt {
    width: 65%; }
    body.corporation_card .card_wrap .txt p {
      margin: 0 0 20px 0; }
body.cardlineup .card_list {
  width: 96%;
  margin: auto; }
body.privacy .ttl_sec {
  background: #ccc;
  color: #333;
  font-weight: bold;
  -webkit-box-shadow: unset;
  box-shadow: unset; }
body.privacy .ttl_unt {
  color: #333;
  border-left: 10px solid #333; }
body.philosophy .philosophy_main {
  margin: 40px 0;
  text-align: center;
  font-family: 'Noto Serif JP';
  font-weight: bold;
  font-size: 2.5rem;
  line-height: 5rem;
  text-shadow: 0 3px 5px rgba(0, 0, 0, 0.4); }
body.philosophy .philosophy_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  body.philosophy .philosophy_list dt, body.philosophy .philosophy_list dd {
    padding: 15px;
    margin: 0;
    border-bottom: 1px solid #ccc; }
  body.philosophy .philosophy_list dt {
    width: 25%;
    font-size: 1.6rem;
    font-weight: bold; }
  body.philosophy .philosophy_list dd {
    width: 75%; }
body.navigation .breadcrumbs {
  display: none; }
body.navigation .ttl {
  width: 100%;
  padding: 20px;
  background: #ff9300;
  color: #fff;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center; }
body.navigation .txt {
  border-bottom: 1px solid #ff9300; }
body.navigation p {
  padding: 20px; }
body.navigation .btn {
  min-width: 200px; }
body.NotFound404 .intro p {
  text-align: center; }
body.visa {
  background: #e1f3f4; }
  body.visa header .submenu {
    border-bottom: 5px solid #0077a9; }
  body.visa header .fontsize {
    color: #0077a9; }
    body.visa header .fontsize li {
      background: #9bd9ea;
      color: #0077a9; }
      body.visa header .fontsize li:hover, body.visa header .fontsize li.on {
        background: #0077a9;
        color: #fff; }
  body.visa .gnavi li.emp.on a {
    background: #33bedb !important;
    color: #fff; }
  body.visa .breadcrumbs {
    background: #9bd9ea;
    border: none; }
    body.visa .breadcrumbs li {
      color: #0077a9; }
      body.visa .breadcrumbs li a {
        color: #0077a9; }
    body.visa .breadcrumbs .home a {
      background: url(../images/icon_home_visa.svg) no-repeat center left/12px auto; }
  body.visa .ttl_sec {
    background: -webkit-gradient(linear, left top, right top, from(#33bedb), to(#0077a9));
    background: linear-gradient(to right, #33bedb 0%, #0077a9 100%);
    color: #fff;
    -webkit-box-shadow: 5px 5px #9bd9ea;
    box-shadow: 5px 5px #9bd9ea; }
  body.visa .ttl_sub {
    border-bottom: 2px solid #0077a9;
    color: #0077a9; }
    body.visa .ttl_sub a {
      color: #0077a9; }
  body.visa .ttl_unt {
    border-left: 10px solid #0077a9;
    color: #0077a9; }
  body.visa .link_list a, body.visa .anker_links .sub > li > a {
    display: inline-block;
    padding-left: calc(1.4rem + 3px);
    font-size: 1.4rem;
    padding-left: "";
    background: url(../images/icon_arrow_right_blue.svg) no-repeat top 2px left/1.4rem auto; }
  body.visa.navigation .ttl {
    background: #0077a9; }
  body.visa.navigation .txt {
    border-bottom: 1px solid #0077a9; }
  body.visa.navigation .btn {
    background: #0077a9; }
body.jcb {
  background: #ffe0d9; }
  body.jcb .ttl_sec {
    background: -webkit-gradient(linear, left top, right top, from(#ff8470), to(#cc514d));
    background: linear-gradient(to right, #ff8470 0%, #cc514d 100%);
    color: #fff;
    -webkit-box-shadow: 5px 5px #ffd2c7;
    box-shadow: 5px 5px #ffd2c7; }
  body.jcb .ttl_sub {
    border-bottom: 2px solid #cc514d;
    color: #cc514d; }
    body.jcb .ttl_sub a {
      color: #cc514d; }
  body.jcb .ttl_unt {
    border-left: 10px solid #cc514d;
    color: #cc514d; }
  body.jcb .btn_text, body.jcb .link_list a, body.jcb .anker_links .sub > li > a {
    display: inline-block;
    padding-left: calc(1.4rem + 3px);
    font-size: 1.4rem;
    padding-left: "";
    background: url(../images/icon_arrow_right_orange.svg) no-repeat top 2px left/1.4rem auto; }
  body.jcb header .fontsize {
    color: #cc514d; }
    body.jcb header .fontsize li {
      background: #ffd2c7;
      color: #cc514d; }
      body.jcb header .fontsize li.on {
        background: #cc514d;
        color: #fff; }
  body.jcb header .submenu {
    background: #ff8470;
    border-bottom: 5px solid #cc514d; }
    body.jcb header .submenu li a:hover {
      background: #cc514d; }
  body.jcb .gnavi li.emp.on a {
    background: #ff8470 !important;
    color: #fff; }
  body.jcb .breadcrumbs {
    background: #ffd2c7;
    border: none; }
    body.jcb .breadcrumbs li {
      color: #cc514d; }
      body.jcb .breadcrumbs li a {
        color: #cc514d; }
    body.jcb .breadcrumbs .home a {
      padding-left: 15px;
      background: url(../images/icon_home_jcb.svg) no-repeat center left/12px auto; }
  body.jcb .side > section .ttl_sec {
    background: -webkit-gradient(linear, left top, left bottom, from(#ff8470), to(#cc514d));
    background: linear-gradient(to bottom, #ff8470 0%, #cc514d 100%);
    -webkit-box-shadow: none;
    box-shadow: none; }
  body.jcb .side .member_wrap .menu {
    background: #cc514d; }
  body.jcb.home .breadcrumbs {
    display: none; }
  body.jcb.home .tab_content .ttl_content {
    color: #cc514d; }
  body.jcb.home .tab_content .ttl_sub {
    background: #ffd2c7; }
  body.jcb.home .tab_content .mark {
    background: #cc514d; }
    body.jcb.home .tab_content .mark.pt {
      background: #bebebe; }
    body.jcb.home .tab_content .mark.g {
      background: #c5a829; }
  body.jcb.navigation .ttl {
    background: #cc514d; }
  body.jcb.navigation .txt {
    border-bottom: 1px solid #cc514d; }
  body.jcb.navigation .btn {
    background: #cc514d; }
body.platinumcard {
  background: #fff; }
  body.platinumcard .title_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 50px 0 30px; }
  body.platinumcard .ttl_main {
    width: 100%;
    max-width: 1000px;
    padding: 80px 0 50px;
    text-align: center;
    background: url(../images/visa/card/platinumcard/line_top.svg) no-repeat center top/contain, url(../images/visa/card/platinumcard/line_bottom.svg) no-repeat center bottom/contain;
    font-weight: 400;
    font-style: oblique; }
  body.platinumcard .intro {
    margin-bottom: 50px;
    text-align: center; }
    body.platinumcard .intro p {
      margin: 0;
      font-size: 1.5rem; }
  body.platinumcard .sec {
    margin-bottom: 70px; }
    body.platinumcard .sec .wrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap; }
      body.platinumcard .sec .wrap > * {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column;
        -webkit-box-pack: justify;
            -ms-flex-pack: justify;
                justify-content: space-between;
        width: 48%; }
        body.platinumcard .sec .wrap > * > p {
          -webkit-box-flex: 1;
              -ms-flex: auto;
                  flex: auto; }
    body.platinumcard .sec .ttl {
      margin-bottom: 15px;
      text-align: center;
      font-size: 1.6rem;
      font-family: "Noto Serif JP"; }
    body.platinumcard .sec aside {
      font-size: 1.2rem; }
    body.platinumcard .sec .img {
      margin: 10px 0; }
  body.platinumcard .sec_sub {
    margin-bottom: 50px; }
  body.platinumcard .sec_sub_2 {
    margin-bottom: 30px; }
  body.platinumcard .ttl_sec {
    padding: 60px 0 20px;
    margin-bottom: 50px;
    text-align: center;
    background: url(../images/visa/card/platinumcard/line_top.svg) no-repeat center top/contain, url(../images/visa/card/platinumcard/line_bottom.svg) no-repeat center bottom/contain;
    color: #333;
    font-size: 2rem;
    line-height: 2.8rem;
    -webkit-box-shadow: none;
            box-shadow: none; }
    body.platinumcard .ttl_sec .sub {
      font-family: "Noto Serif JP"; }
    body.platinumcard .ttl_sec + p {
      text-align: center;
      font-size: 1.6rem; }
  body.platinumcard .ttl_sub {
    color: #333;
    font-family: "Noto Serif JP";
    padding-bottom: 8%;
    margin-bottom: 20px;
    text-align: center;
    background: url(../images/visa/card/platinumcard/line.svg) no-repeat center bottom/100% auto;
    border: none; }
  body.platinumcard .sec_platinum .img.mini {
    padding: 0 5%; }
  @media only screen and (min-width: 1000px) {
    body.platinumcard .sec_platinum .wrap .sub_5 .sub_5_1 {
      margin-bottom: 56px; }
    body.platinumcard .sec_platinum .wrap .sub_6 {
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start; }
      body.platinumcard .sec_platinum .wrap .sub_6 .sub_6_1 > p {
        min-height: 71px; } }
  body.platinumcard .sec_platinum .sub_1 .img {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: flex-start; }
    body.platinumcard .sec_platinum .sub_1 .img img {
      width: 50%; }
  body.platinumcard .sec_platinum .sec_point {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: flex-start; }
  body.platinumcard .sec_platinum .btn_wrap {
    margin: 15px 0 0 0; }
  body.platinumcard .sec_service td, body.platinumcard .sec_service th {
    vertical-align: middle; }
  body.platinumcard .sec_service th {
    text-align: center; }
  body.platinumcard .sec_service thead th {
    width: 44%; }
    body.platinumcard .sec_service thead th:first-of-type {
      width: 100px; }
    body.platinumcard .sec_service thead th.gold {
      background: none; }
  body.platinumcard .sec_service .has_table {
    padding: 0; }
    body.platinumcard .sec_service .has_table table {
      margin: 0;
      border: none; }
    body.platinumcard .sec_service .has_table tr, body.platinumcard .sec_service .has_table th, body.platinumcard .sec_service .has_table td {
      border: none; }
    body.platinumcard .sec_service .has_table tr {
      border-bottom: 1px solid #ccc; }
      body.platinumcard .sec_service .has_table tr:last-of-type {
        border: none; }
    body.platinumcard .sec_service .has_table th {
      border-right: 1px solid #ccc;
      background: none; }
  body.platinumcard .sec_service .note_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin: 30px 0 0; }
    body.platinumcard .sec_service .note_list li {
      width: 48%;
      line-height: 2.4rem; }
  body.platinumcard .btn_cardlineup {
    background: #33bedb; }
body.corporationcard {
  background: -webkit-gradient(linear, left top, right top, from(#ffae00), to(#db7c00));
  background: linear-gradient(to right, #ffae00 0%, #db7c00 100%); }
  body.corporationcard .title_wrap {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin: 50px 0;
    background: none; }
    body.corporationcard .title_wrap .txt {
      width: 30%;
      text-align: center;
      color: #fff; }
    body.corporationcard .title_wrap .card {
      width: 65%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
      -webkit-box-pack: justify;
          -ms-flex-pack: justify;
              justify-content: space-between; }
      body.corporationcard .title_wrap .card > li {
        width: 45%;
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-orient: vertical;
        -webkit-box-direction: normal;
            -ms-flex-flow: column;
                flex-flow: column;
        -webkit-box-pack: center;
            -ms-flex-pack: center;
                justify-content: center; }
        body.corporationcard .title_wrap .card > li.visa .btn {
          background: #33bedb; }
        body.corporationcard .title_wrap .card > li.jcb .btn {
          background: #ff8470; }
      body.corporationcard .title_wrap .card .img {
        margin-bottom: 10px; }
      body.corporationcard .title_wrap .card .btn {
        padding: 10px;
        border-radius: 10px;
        font-size: 1.4rem; }
    body.corporationcard .title_wrap .ttl_main {
      font-size: 2.4rem;
      color: #fff; }
  body.corporationcard .sec_points .ttl_sec {
    margin-bottom: 40px;
    background: #3c50af;
    -webkit-box-shadow: 5px 5px #c3caee;
            box-shadow: 5px 5px #c3caee; }
  body.corporationcard .sec_points .points_list {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4%; }
    body.corporationcard .sec_points .points_list > li {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 48%;
              flex: 0 0 48%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-flow: column;
              flex-flow: column;
      -webkit-box-pack: start;
          -ms-flex-pack: start;
              justify-content: flex-start;
      margin-bottom: 6%; }
    body.corporationcard .sec_points .points_list .ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center;
      margin-bottom: 20px;
      color: #fff; }
      body.corporationcard .sec_points .points_list .ttl .point {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        padding: 5px 15px;
        margin-right: 5px;
        background: #fff;
        color: #ed7d31;
        border-radius: 100px;
        font-weight: bold; }
  body.corporationcard .sec_faq {
    margin-bottom: 70px;
    padding: 30px;
    background: #fff;
    border-radius: 5px; }
    body.corporationcard .sec_faq .ttl {
      margin-bottom: 20px;
      text-align: center; }
      body.corporationcard .sec_faq .ttl span {
        border-bottom: 2px solid #333; }
    body.corporationcard .sec_faq .faq_list {
      counter-reset: q_num 0; }
      body.corporationcard .sec_faq .faq_list > li {
        margin-bottom: 40px; }
        body.corporationcard .sec_faq .faq_list > li:last-of-type {
          margin: 0; }
      body.corporationcard .sec_faq .faq_list .q, body.corporationcard .sec_faq .faq_list .a {
        position: relative;
        padding-left: 50px; }
        body.corporationcard .sec_faq .faq_list .q::before, body.corporationcard .sec_faq .faq_list .a::before {
          position: absolute;
          top: -8px;
          left: 0;
          aspect-ratio: 1 / 1;
          width: 40px;
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-pack: center;
              -ms-flex-pack: center;
                  justify-content: center;
          -webkit-box-align: center;
              -ms-flex-align: center;
                  align-items: center;
          border-radius: 50%;
          font-size: 1.6rem;
          color: #fff;
          font-weight: bold; }
      body.corporationcard .sec_faq .faq_list .q {
        margin-bottom: 20px;
        font-weight: bold; }
        body.corporationcard .sec_faq .faq_list .q::before {
          counter-increment: q_num 1;
          content: "Q" counter(q_num);
          background: #36ad99; }
      body.corporationcard .sec_faq .faq_list .a::before {
        content: "A";
        background: #fcb02f; }
  body.corporationcard .sec_guide .ttl_sec {
    margin-bottom: 30px;
    background: #3c50af;
    -webkit-box-shadow: 5px 5px #c3caee;
            box-shadow: 5px 5px #c3caee; }
  body.corporationcard .sec_guide .guide_links {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    gap: 4%; }
    body.corporationcard .sec_guide .guide_links > li {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 48%;
              flex: 0 0 48%;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-flow: column;
              flex-flow: column;
      -webkit-box-align: center;
          -ms-flex-align: center;
              align-items: center; }
      body.corporationcard .sec_guide .guide_links > li.visa .btn {
        background: #33bedb; }
      body.corporationcard .sec_guide .guide_links > li.visa .box .ttl {
        color: #33bedb;
        border-bottom: 2px solid #33bedb; }
      body.corporationcard .sec_guide .guide_links > li.visa .guide_menu a {
        color: #33bedb;
        border-bottom: 2px solid #33bedb; }
        body.corporationcard .sec_guide .guide_links > li.visa .guide_menu a span {
          background: url(../images/icon_arrow_right_lightblue.svg) no-repeat left center/16px auto; }
      body.corporationcard .sec_guide .guide_links > li.jcb .btn {
        background: #ff8470; }
      body.corporationcard .sec_guide .guide_links > li.jcb .box .ttl {
        color: #ff8470;
        border-bottom: 2px solid #ff8470; }
      body.corporationcard .sec_guide .guide_links > li.jcb .guide_menu a {
        color: #ff8470;
        border-bottom: 2px solid #ff8470; }
        body.corporationcard .sec_guide .guide_links > li.jcb .guide_menu a span {
          background: url(../images/icon_arrow_right_pink.svg) no-repeat left center/16px auto; }
    body.corporationcard .sec_guide .guide_links .btn {
      padding: 10px;
      border-radius: 10px;
      font-size: 1.4rem; }
    body.corporationcard .sec_guide .guide_links .box {
      margin-top: 20px;
      padding: 20px;
      background: #fff;
      border-radius: 5px; }
      body.corporationcard .sec_guide .guide_links .box .ttl {
        padding: 5px 0;
        margin-bottom: 15px;
        font-size: 2rem;
        font-weight: bold; }
    body.corporationcard .sec_guide .guide_links .guide_menu li {
      margin-bottom: 10px;
      border: 1px solid #ccc;
      border-radius: 5px;
      overflow: hidden; }
      body.corporationcard .sec_guide .guide_links .guide_menu li:last-of-type {
        margin: 0; }
      body.corporationcard .sec_guide .guide_links .guide_menu li > p {
        margin: 0;
        padding: 15px; }
    body.corporationcard .sec_guide .guide_links .guide_menu a {
      display: block;
      padding: 20px;
      background: -webkit-gradient(linear, left top, left bottom, from(#ffffff), to(#eaeaea));
      background: linear-gradient(to bottom, #ffffff 0%, #eaeaea 100%); }
      body.corporationcard .sec_guide .guide_links .guide_menu a:hover {
        opacity: 0.6; }
      body.corporationcard .sec_guide .guide_links .guide_menu a span {
        display: block;
        padding-left: 20px;
        font-size: 1.6rem;
        line-height: 1.6rem;
        font-weight: bold; }

/*----------------------------*/
/*SP用 CSS*/
/*----------------------------*/
@media only screen and (max-width: 680px) {
  .pc {
    display: none !important; }

  .sp {
    display: block !important; }

  .inner {
    width: 100%; }

  .env {
    display: none; }

  #pagetop {
    right: 10px;
    bottom: 10px; }

  header {
    position: fixed;
    top: 0;
    left: 0;
    height: 40px;
    width: 100%;
    background: #fff; }
    header .inner {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      padding: 5px;
      height: 100%; }
    header .logo {
      width: auto;
      height: calc(40px - 10px);
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      header .logo img {
        width: auto;
        height: 100%; }
    header .logo_wrap {
      width: 100%; }
      header .logo_wrap .nav_box {
        display: none; }
    header .submenu {
      border-bottom: none !important; }

  footer {
    margin-top: 10px; }
    footer .footer_navi ul {
      width: 90%;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between; }
    footer .footer_navi li {
      width: 48%;
      margin: 0 0 10px 0;
      padding: 0;
      border: none;
      text-align: left; }
      footer .footer_navi li:last-of-type {
        margin: 0;
        padding: 0; }
    footer .site_navi {
      display: none;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-flow: column;
      flex-flow: column;
      width: 90%; }
      footer .site_navi .box {
        width: 100%;
        margin: 0 0 20px 0; }
        footer .site_navi .box:last-of-type {
          margin: 0; }
      footer .site_navi .ttl_box {
        margin-bottom: 8px; }

  main {
    margin-top: 40px;
    padding: 0; }
    main article {
      width: 96%;
      max-width: unset;
      margin-left: auto;
      margin-right: auto; }
      main article .inner {
        width: 100%;
        max-width: unset; }
      main article > .box_sec > section {
        margin: 0 0 20px 0; }
        main article > .box_sec > section > section {
          margin: 0 0 20px 0; }
      main article > section > .inner {
        margin-left: auto;
        margin-right: auto; }
    main > aside {
      display: none !important;
      width: 90%;
      margin: 0 auto; }

  #menu_bg {
    position: fixed;
    z-index: 9;
    top: 0;
    left: 0;
    width: 120%;
    height: 120%;
    background: rgba(0, 0, 0, 0.8); }

  .btn_menu {
    position: fixed;
    z-index: 200;
    top: 0px;
    right: 0px;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    padding: 14px 7px 4px;
    background: #1e3e79;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    cursor: pointer; }
    .btn_menu::before {
      content: "メニュー";
      position: absolute;
      top: 3px;
      left: 0;
      display: block;
      width: 100%;
      color: #fff;
      font-size: 0.8rem;
      text-align: center; }
    .btn_menu span {
      display: block;
      width: 25px;
      height: 3px;
      margin: 2px auto;
      border-radius: 10px;
      background-color: #fff;
      -webkit-transition: all 0.3s;
      transition: all 0.3s;
      -webkit-transform: rotate(0deg);
      transform: rotate(0deg); }
    .btn_menu.open {
      background-color: #fff; }
      .btn_menu.open::before {
        color: #1e3e79; }
      .btn_menu.open span {
        background: #1e3e79; }
      .btn_menu.open .top {
        -webkit-transform: rotate(-45deg) translateY(5px) translateX(-5px);
        transform: rotate(-45deg) translateY(5px) translateX(-5px); }
      .btn_menu.open .middle {
        opacity: 0; }
      .btn_menu.open .bottom {
        -webkit-transform: rotate(45deg) translateY(-5px) translateX(-5px);
        transform: rotate(45deg) translateY(-5px) translateX(-5px); }
    .btn_menu p {
      position: absolute;
      bottom: -10px;
      width: 100%;
      font-size: 0.8rem;
      color: #33bedb; }

  .gnavi {
    display: none;
    position: fixed;
    left: 0;
    top: 40px;
    padding: 20px;
    width: 100%;
    height: calc(100% - 40px);
    overflow: scroll;
    background: #fff; }
    .gnavi > ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      width: 100%;
      margin: 0 auto 10px auto; }
      .gnavi > ul:last-of-type {
        margin: 0 auto 20px; }
      .gnavi > ul > li > ul {
        position: static;
        display: block;
        border-radius: 4px;
        margin: 10px auto 0; }
    .gnavi li {
      -webkit-box-flex: 100%;
      -ms-flex: 100%;
      flex: 100%;
      margin: 0 !important;
      padding: 0px; }
      .gnavi li:first-of-type a {
        border-radius: 4px 4px 0 0 !important; }
      .gnavi li:last-of-type a {
        border-radius: 0 0 4px 4px !important; }
      .gnavi li a {
        display: block;
        width: 100%;
        height: 100%;
        border-radius: 0 !important; }
        .gnavi li a span {
          border: none; }
        .gnavi li a:hover {
          text-decoration: none; }
        .gnavi li a:not([href]) {
          display: none; }

  .breadcrumbs {
    padding: 3px;
    height: 20px;
    border-top: none !important; }

  .table_wrap {
    position: relative;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch; }
    .table_wrap:hover .scroll {
      display: none; }
    .table_wrap .scroll {
      position: absolute;
      top: 3px;
      left: 20px;
      width: 16px;
      height: 16px;
      background: #fff url(../images/icon_arrow_left_blue.svg) no-repeat center center/cover;
      border-radius: 20px;
      -webkit-animation: scroll_arrow 2s infinite;
      animation: scroll_arrow 2s infinite; }
    .table_wrap table {
      width: auto;
      min-width: 100%; }
    .table_wrap th, .table_wrap td {
      width: auto;
      word-break: keep-all;
      white-space: nowrap; }

  @-webkit-keyframes scroll_arrow {
    from {
      left: 20px;
      opacity: 1; }
    to {
      left: 0px;
      opacity: 0; } }
  @keyframes scroll_arrow {
    from {
      left: 20px;
      opacity: 1; }
    to {
      left: 0px;
      opacity: 0; } }
  .box_sec {
    padding: 10px;
    border-radius: 4px;
    -webkit-box-shadow: 3px 3px rgba(0, 0, 0, 0.1);
    box-shadow: 3px 3px rgba(0, 0, 0, 0.1); }

  .ttl_sec {
    padding: 6px;
    margin-bottom: 10px;
    border-radius: 4px;
    font-size: 1.8rem; }

  .topics_list li {
    padding: 6px; }
    .topics_list li a {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
      -ms-flex-flow: column;
      flex-flow: column; }

  .link_list li {
    width: 100%; }

  .title_wrap {
    margin: 20px 0; }
    .title_wrap .ttl {
      width: 100%;
      margin: 0;
      padding: 20px; }

  .ttl_main {
    font-size: 3rem; }

  .anker_links .sub > li {
    width: 100% !important; }
    .anker_links .sub > li:empty {
      display: none; }

  dl.flow dt, dl.flow dd {
    margin: 0; }
  dl.flow dt {
    width: 100%; }
    dl.flow dt::after {
      display: none; }
  dl.flow dd {
    width: 100%;
    margin-bottom: 40px; }
    dl.flow dd:empty {
      display: none; }
    dl.flow dd::after {
      content: "";
      position: absolute;
      bottom: -30px;
      left: 50%;
      margin-left: -30px;
      display: block;
      width: 0;
      height: 0;
      border-style: solid;
      border-width: 20px 30px 0 30px;
      border-color: #aedde6 transparent transparent transparent; }
    dl.flow dd:last-of-type {
      margin: 0; }
      dl.flow dd:last-of-type::after {
        display: none; }
  dl.flex dt {
    width: 100%; }
    dl.flex dt span {
      width: auto !important;
      text-align: unset;
      text-align-last: unset; }
  dl.flex dd {
    width: 100%; }

  .contact_section {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column; }
    .contact_section .name, .contact_section .txt {
      width: 100%; }

  .cardservice_list {
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between; }
    .cardservice_list li {
      width: 48%; }
      .cardservice_list li p {
        margin: 10px 0;
        font-size: 1.1rem;
        line-height: 1.6rem; }
    .cardservice_list .ttl {
      margin-bottom: 5px;
      font-size: 1.4rem;
      line-height: 2rem; }
      .cardservice_list .ttl.l_h {
        margin-bottom: 0px;
        min-height: 6rem; }

  .app_link p {
    font-size: 1.1rem; }

  .card_tab {
    margin-bottom: 15px; }
    .card_tab li.visa a span {
      padding-left: 9.5vw;
      background: url(../images/logo_visa.svg) no-repeat center left/auto 60%; }
    .card_tab li.jcb a span {
      padding-left: 7.5vw;
      background: url(../images/logo_jcb.svg) no-repeat center left/auto 100%; }
    .card_tab li a {
      padding: 7px 5px;
      font-size: 3vw;
      line-height: 5vw; }

  .card_list:first-of-type {
    margin-top: 20px !important; }
  .card_list li {
    width: 46%;
    margin: 0 0 10% 0; }
  .card_list .fl_box .img {
    margin: 0;
    padding: 0; }
  .card_list .name {
    min-height: 4rem;
    font-size: 1.6rem; }
  .card_list .img {
    margin: 0;
    padding: 0px; }
    .card_list .img img {
      width: 100%; }
  .card_list .cap {
    margin: 10px 0;
    font-size: 1.1rem;
    line-height: 1.6rem; }
  .card_list .btn {
    font-size: 1.4rem; }
    .card_list .btn + .indent {
      margin: 5px 0 0 0;
      font-size: 1.1rem;
      line-height: 1.6rem; }
  .card_list .btn_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-flow: column;
    flex-flow: column; }
    .card_list .btn_wrap a {
      width: 100%;
      margin: 5px; }
    .card_list .btn_wrap + .btn {
      width: 100%;
      margin-top: 5px; }

  .campaign_list li {
    padding: 10px; }
  .campaign_list .tn {
    width: 20% !important; }
  .campaign_list .txt {
    -webkit-box-flex: 0;
    -ms-flex: 0 0 auto;
    flex: 0 0 auto;
    width: 75%;
    margin: 0; }
  .campaign_list .ttl_wrap {
    width: 100%; }
  .campaign_list .ttl {
    margin-bottom: 7px;
    font-size: 1.4rem; }
  .campaign_list dl {
    margin-bottom: 5px;
    width: 100%; }
  .campaign_list dt {
    width: 80px;
    min-height: 30px;
    padding: 0;
    font-size: 1.3rem; }
  .campaign_list dd {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 0 0 0 10px;
    width: calc(100% - 80px);
    font-size: 1.2rem; }
  .campaign_list .btn_entry {
    width: 100%;
    padding: 7px;
    font-size: 1.4rem;
    line-height: 1.4rem; }
  .campaign_list .info {
    margin-top: 5px;
    font-size: 1.1rem;
    line-height: 1.6rem; }

  .campaign_info p b {
    font-size: 12px; }
  .campaign_info div p {
    font-size: 11px; }

  .btn_top.all {
    display: block; }

  .sp_top_navi {
    width: 100%;
    background: #e1f3f4; }
    .sp_top_navi.jcb {
      background: #ffe0d9; }
    .sp_top_navi .bnr {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      margin: 10px; }
      .sp_top_navi .bnr.jcb {
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center; }
      .sp_top_navi .bnr li {
        width: 49%; }
        .sp_top_navi .bnr li img {
          width: 100%; }

  .card_links {
    margin: 10px; }
    .card_links ul {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -ms-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-box-pack: justify;
      -ms-flex-pack: justify;
      justify-content: space-between;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      padding: 10px;
      background: #fff;
      border-radius: 6px; }
    .card_links li {
      width: 30%; }
      .card_links li img {
        width: 100%; }
      .card_links li a {
        display: block;
        padding: 5px;
        background: #54568C;
        color: #fff;
        font-size: 2.5vw;
        font-weight: bold;
        text-align: center;
        border-radius: 100px; }
    .card_links .login a {
      background: #ff0066 !important; }

  .tab_menu {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    width: 100%;
    margin-bottom: 10px; }
    .tab_menu li {
      width: 50%; }
      .tab_menu li a {
        display: block;
        padding: 10px;
        text-align: center;
        font-weight: bold;
        background: #ffd2c7;
        color: #fff; }
      .tab_menu li.on a {
        background: #33bedb;
        color: #fff; }

  body.visa .btn_top.all {
    display: none; }
  body.visa .btn_top.visa {
    display: block; }
  body.visa .btn_top.jcb {
    display: none; }
  body.jcb .tab_menu li a {
    background: #9bd9ea;
    color: #fff; }
  body.jcb .tab_menu li.on a {
    background: #ff8470;
    color: #fff; }
  body.jcb .btn_top.all, body.jcb .btn_top.visa {
    display: none; }
  body.jcb .btn_top.jcb {
    display: block; }
  body.home header {
    margin-bottom: 0;
    border-bottom: 0 !important; }
  body.home main > article {
    width: 96%; }
  body.home .mv {
    width: 96%;
    margin: 2% auto 20px; }
    body.home .mv .inner {
      margin-bottom: 0;
      width: 100%; }
    body.home .mv .slider {
      margin-bottom: 0; }
      body.home .mv .slider .btn {
        display: none; }
    body.home .mv .thumbs {
      display: none; }
  body.home .tab li p {
    margin-top: -2.5vw;
    height: 5vw;
    font-size: 3vw; }
  body.home .tab li.on p {
    font-size: 3vw; }
  body.home .tab_content {
    padding: 10px;
    -webkit-box-shadow: 3px 3px rgba(0, 0, 0, 0.1);
    box-shadow: 3px 3px rgba(0, 0, 0, 0.1); }
    body.home .tab_content .ttl_sub {
      padding: 7px;
      border-radius: 3px 3px 0 0; }
  body.list article {
    width: 96%; }
  body.detail article {
    width: 96%; }
  body.detail .btn_wrap {
    display: none; }
  body.philosophy .philosophy_main {
    margin: 20px 0;
    font-weight: bold;
    font-size: 4vw;
    line-height: 7vw;
    text-shadow: 0 3px 3px rgba(0, 0, 0, 0.2); }
  body.philosophy .philosophy_list dt, body.philosophy .philosophy_list dd {
    padding: unset; }
  body.philosophy .philosophy_list dt {
    width: 100%;
    padding: 10px 0 10px 0;
    border: none; }
  body.philosophy .philosophy_list dd {
    padding: 0 0 10px 0;
    width: 100%; }
  body.cardlineup .box_sec .ttl_sec + p {
    margin: 5px 0;
    font-size: 1.1rem;
    line-height: 1.6rem; }
  body.card_detail .card_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column; }
    body.card_detail .card_wrap .card_img {
      width: 100%;
      padding: 15px; }
    body.card_detail .card_wrap .txt_box {
      width: 100%; }
    body.card_detail .card_wrap .btn_wrap {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-flow: column;
              flex-flow: column; }
      body.card_detail .card_wrap .btn_wrap a {
        width: 100%; }
  body.corporation_card .card_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column; }
    body.corporation_card .card_wrap .img {
      width: 100%;
      padding: 15px; }
    body.corporation_card .card_wrap .txt {
      width: 100%; }
  body.payment .payment_links {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between; }
    body.payment .payment_links li {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 auto;
              flex: 0 0 auto;
      width: 27%;
      margin: 0; }
  body.access .access_wrap .txt {
    width: 100%; }
  body.access .access_wrap .img {
    width: 100%; }
    body.access .access_wrap .img img {
      width: 100%;
      height: auto; }
  body.navigation .ttl {
    font-size: 5vw;
    line-height: 6vw; }
  body.platinumcard .title_wrap {
    width: calc(100% - 30px);
    margin: 50px auto 30px; }
  body.platinumcard .ttl_main {
    padding: 40px 0 20px;
    background: url(../images/visa/card/platinumcard/line_top.svg) no-repeat center top/auto 30px, url(../images/visa/card/platinumcard/line_bottom.svg) repeat-x center bottom/auto 3px; }
  body.platinumcard .sec {
    margin-bottom: 50px; }
    body.platinumcard .sec .wrap > * {
      width: 100%; }
  body.platinumcard .sec_sub {
    margin-bottom: 30px; }
  body.platinumcard .sec_sub_2 {
    margin-bottom: 20px; }
  body.platinumcard .ttl_sec {
    padding: 40px 0 20px;
    margin-bottom: 30px;
    font-size: 1.8rem;
    background: url(../images/visa/card/platinumcard/line_top.svg) no-repeat center top/auto 30px, url(../images/visa/card/platinumcard/line_bottom.svg) repeat-x center bottom/auto 3px; }
  body.platinumcard .ttl_sub {
    padding-bottom: 5%;
    margin-bottom: 15px;
    font-size: 1.6rem; }
  body.platinumcard .sec_service .note_list li {
    width: 100%;
    margin-bottom: 20px; }
    body.platinumcard .sec_service .note_list li:last-child {
      margin: 0; }
  body.corporationcard .title_wrap {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column; }
    body.corporationcard .title_wrap .txt {
      width: 100%;
      margin-bottom: 40px; }
    body.corporationcard .title_wrap .card {
      width: 100%;
      -ms-flex-pack: distribute;
          justify-content: space-around; }
  body.corporationcard .sec_points .points_list {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column; }
    body.corporationcard .sec_points .points_list > li {
      -webkit-box-flex: 0;
          -ms-flex: 0 0 100%;
              flex: 0 0 100%;
      margin-bottom: 10%; }
    body.corporationcard .sec_points .points_list .ttl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-flow: column;
              flex-flow: column;
      -webkit-box-align: start;
          -ms-flex-align: start;
              align-items: flex-start;
      -webkit-box-pack: center;
          -ms-flex-pack: center;
              justify-content: center;
      margin-bottom: 10px; }
      body.corporationcard .sec_points .points_list .ttl .point {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 auto;
                flex: 0 0 auto;
        margin: 0 0 5px 0; }
  body.corporationcard .sec_faq {
    padding: 15px; }
  body.corporationcard .sec_guide {
    margin-bottom: 30px; }
    body.corporationcard .sec_guide .guide_links {
      -webkit-box-orient: vertical;
      -webkit-box-direction: normal;
          -ms-flex-flow: column;
              flex-flow: column; }
      body.corporationcard .sec_guide .guide_links > li {
        -webkit-box-flex: 0;
            -ms-flex: 0 0 100%;
                flex: 0 0 100%;
        margin-bottom: 30px; }
        body.corporationcard .sec_guide .guide_links > li:last-of-type {
          margin: 0; } }
/*-----------------------------*/
/*フォーム PC用 CSS*/
/*-----------------------------*/
.grecaptcha-badge {
  visibility: hidden;
  pointer-events: none; }

input[type="password"], input[type="date"], input[type="time"], input[type="text"] {
  padding: 1em;
  font-size: 1.6rem;
  font-family: "Noto Sans Japanese";
  border-radius: 5px;
  border: 1px solid #ccc;
  -webkit-transition: 0.5s;
  transition: 0.5s; }

textarea {
  padding: 1em;
  font-size: 1.6rem;
  font-family: "Noto Sans Japanese";
  border-radius: 5px;
  border: 1px solid #ccc;
  -webkit-transition: 0.5s;
  transition: 0.5s; }

input[type="password"]:focus, input[type="date"]:focus, input[type="time"]:focus, input[type="text"]:focus {
  background-color: #ccffe4;
  -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5) inset;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5) inset;
  -webkit-transition: 0.5s;
  transition: 0.5s; }

textarea:focus {
  background-color: #ccffe4;
  -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5) inset;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5) inset;
  -webkit-transition: 0.5s;
  transition: 0.5s; }

input[type="password"], input[type="date"], input[type="time"], input[type="text"] {
  -webkit-transition: 0.3s;
  transition: 0.3s; }

textarea, select {
  -webkit-transition: 0.3s;
  transition: 0.3s; }

input[type="password"]:focus, input[type="date"]:focus, input[type="time"]:focus, input[type="text"]:focus {
  background-color: #ccffe4;
  -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5) inset;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5) inset;
  -webkit-transition: 0.3s;
  transition: 0.3s; }

textarea:focus, select:focus {
  background-color: #ccffe4;
  -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5) inset;
  box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5) inset;
  -webkit-transition: 0.3s;
  transition: 0.3s; }

input[type="password"], input[type="date"], input[type="time"], input[type="text"] {
  margin-left: 10px;
  margin-right: 10px; }

select {
  margin-left: 10px;
  margin-right: 10px; }

input[type="password"].w100, input[type="date"].w100, input[type="time"].w100, input[type="text"].w100 {
  width: 100px; }

textarea.w100 {
  width: 100px; }

input[type="password"].w150, input[type="date"].w150, input[type="time"].w150, input[type="text"].w150 {
  width: 150px; }

textarea.w150 {
  width: 150px; }

input[type="password"].w200, input[type="date"].w200, input[type="time"].w200, input[type="text"].w200 {
  width: 200px; }

textarea.w200 {
  width: 200px; }

input[type="password"].w250, input[type="date"].w250, input[type="time"].w250, input[type="text"].w250 {
  width: 250px; }

textarea.w250 {
  width: 250px; }

input[type="password"].w300, input[type="date"].w300, input[type="time"].w300, input[type="text"].w300 {
  width: 300px; }

textarea.w300 {
  width: 300px; }

input[type="password"].w350, input[type="date"].w350, input[type="time"].w350, input[type="text"].w350 {
  width: 350px; }

textarea.w350 {
  width: 350px; }

input[type="password"].w400, input[type="date"].w400, input[type="time"].w400, input[type="text"].w400 {
  width: 400px; }

textarea.w400 {
  width: 400px; }

input[type="password"].w450, input[type="date"].w450, input[type="time"].w450, input[type="text"].w450 {
  width: 450px; }

textarea.w450 {
  width: 450px; }

input[type="password"].w500, input[type="date"].w500, input[type="time"].w500, input[type="text"].w500 {
  width: 500px; }

textarea.w500 {
  width: 500px; }

input[type="password"].w550, input[type="date"].w550, input[type="time"].w550, input[type="text"].w550 {
  width: 550px; }

textarea.w550 {
  width: 550px; }

input[type="password"].w600, input[type="date"].w600, input[type="time"].w600, input[type="text"].w600 {
  width: 600px; }

textarea.w600 {
  width: 600px; }

input[type="password"].w650, input[type="date"].w650, input[type="time"].w650, input[type="text"].w650 {
  width: 650px; }

textarea.w650 {
  width: 650px; }

input[type="password"].w700, input[type="date"].w700, input[type="time"].w700, input[type="text"].w700 {
  width: 700px; }

textarea.w700 {
  width: 700px; }

input[type="password"].w100p, input[type="date"].w100p, input[type="time"].w100p, input[type="text"].w100p {
  width: 100%; }

textarea.w100p {
  width: 100%; }
textarea[name="remarks"] {
  width: 85%;
  height: 300px; }

input[type="checkbox"] {
  display: none; }
  input[type="checkbox"] + label {
    display: inline-block;
    margin: 0 30px 0 0; }
    input[type="checkbox"] + label::before {
      content: "";
      position: relative;
      display: inline-block;
      margin-right: 5px;
      width: 30px;
      height: 30px;
      background-image: url(../images/form/checkbox.svg);
      background-repeat: no-repeat;
      background-size: cover;
      vertical-align: top; }
    input[type="checkbox"] + label span {
      display: inline-block;
      position: relative;
      top: 4px;
      vertical-align: top; }
  input[type="checkbox"]:checked + label::before {
    background-position: 0px -30px; }
  input[type="checkbox"].required {
    display: inline-block;
    margin-right: 5px; }
    input[type="checkbox"].required + label::before {
      display: none; }
input[type="radio"] {
  display: none; }
  input[type="radio"] + label {
    display: inline-block;
    margin: 0 30px 0 0; }
    input[type="radio"] + label::before {
      content: "";
      position: relative;
      display: inline-block;
      margin-right: 5px;
      width: 28px;
      height: 28px;
      background-image: url(../images/form/radiobox.svg);
      background-repeat: no-repeat;
      background-size: cover;
      vertical-align: top; }
    input[type="radio"] + label span {
      position: relative;
      top: 4px;
      vertical-align: top; }
  input[type="radio"]:checked + label::before {
    background-position: 0px -28px; }
  input[type="radio"].required {
    display: inline-block; }
    input[type="radio"].required:first-of-type {
      margin-left: 10px; }
    input[type="radio"].required + label:first-of-type {
      margin-left: 0; }
    input[type="radio"].required + label::before {
      display: none; }

label {
  cursor: pointer; }
  label + span {
    position: relative;
    top: -1.5rem;
    margin-right: 3rem; }

.radio_row label {
  display: block !important;
  margin: 0 0 10px 0 !important; }

select {
  padding: 1rem;
  font-size: 1.6rem;
  border: 1px solid #ccc;
  border-radius: 4px; }

.switch {
  position: relative;
  top: 0.8em;
  display: inline-block; }
  .switch input[type="radio"], .switch input[type="checkbox"] {
    display: none !important; }
  .switch input[type="radio"] + label, .switch input[type="checkbox"] + label {
    float: left;
    display: block;
    width: auto;
    margin: 0;
    padding: 0.5em;
    border-top: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-right: none;
    color: #999;
    background-color: #eaeaea;
    -webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3) inset;
    box-shadow: 0px 0px 5px rgba(0, 0, 0, 0.3) inset; }
  .switch input[type="radio"] + label:first-of-type, .switch input[type="checkbox"] + label:first-of-type {
    border-radius: 6px 0px 0px 6px; }
  .switch input[type="radio"] + label:last-of-type, .switch input[type="checkbox"] + label:last-of-type {
    border-radius: 0px 6px 6px 0px;
    border-right: 1px solid #ccc; }
  .switch input[type="radio"] + label::before, .switch input[type="checkbox"] + label::before {
    display: none; }
  .switch input[type="radio"] + label span, .switch input[type="checkbox"] + label span {
    top: 1px; }
  .switch input[type="radio"]:checked + label, .switch input[type="checkbox"]:checked + label {
    color: #fff;
    background-color: #cc0000;
    -webkit-box-shadow: none;
    box-shadow: none; }
  .switch input[type="radio"]:checked + label::before, .switch input[type="checkbox"]:checked + label::before {
    display: none; }

button {
  position: relative;
  display: inline-block;
  margin: auto 20px;
  padding: 10px;
  width: 300px;
  height: 60px;
  font-size: 2rem;
  font-weight: bold;
  font-family: "Noto Sans Japanese";
  border-radius: 30px;
  border: none;
  cursor: pointer; }
  button::after {
    width: 30px;
    height: 30px;
    position: absolute; }
  button:hover {
    opacity: 0.6; }
  button.submit {
    background-color: #cc0000;
    color: #fff; }
    button.submit::after {
      content: url(../images/icon_arrow_right_white.svg);
      right: 15px; }
  button.back {
    background-color: #666;
    color: #fff; }
    button.back::after {
      content: url(../images/icon_arrow_left_white.svg);
      left: 15px; }
  button.link {
    background-color: #6699cc;
    color: #fff; }
    button.link::after {
      content: url(../images/icon_arrow_right_white.svg);
      right: 15px; }

.ime_auto {
  ime-mode: auto; }

.ime_active {
  ime-mode: active; }

.ime_inactive {
  ime-mode: inactive; }

.ime_disabled {
  ime-mode: disabled; }

form dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap; }
  form dl > dt {
    position: relative;
    width: 30%;
    padding-top: 20px;
    margin: 0 0 30px 0;
    color: #006699;
    font-weight: bold;
    font-size: 1.6rem; }
    form dl > dt + dd {
      margin: 0 0 30px 0;
      padding-top: 15px;
      width: 70%; }
      form dl > dt + dd > dl dt {
        width: 15%;
        color: #333;
        font-weight: bold;
        font-size: 1.4rem;
        -webkit-box-sizing: border-box;
        box-sizing: border-box; }
        form dl > dt + dd > dl dt:first-of-type {
          padding-top: 0px; }
          form dl > dt + dd > dl dt:first-of-type + dd {
            padding-top: 0px; }
        form dl > dt + dd > dl dt + dd {
          width: 85%;
          -webkit-box-sizing: border-box;
          box-sizing: border-box; }
    form dl > dt.required::after {
      content: "必須";
      position: absolute;
      right: 30px;
      top: 15px;
      display: block;
      padding: 3px 5px;
      background: #cc0000;
      color: #fff;
      font-size: 1.2rem; }
  form dl dd label:first-of-type {
    margin-left: 10px; }
  form dl dd aside {
    display: inline-block;
    font-size: 1.2rem; }
form.confirm dl dt + dd p {
  font-size: 1.6rem; }

.form .step {
  margin-bottom: 30px; }
  .form .step ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: justify;
    -ms-flex-pack: justify;
    justify-content: space-between;
    overflow: hidden; }
    .form .step ul li {
      position: relative;
      width: 33.3%;
      padding: 15px;
      background-color: #cccccc;
      color: #666666;
      font-size: 2rem;
      font-weight: bold;
      text-align: center; }
      .form .step ul li::after {
        content: "";
        position: absolute;
        z-index: -1;
        right: -20px;
        top: 50%;
        display: inline-block;
        width: 50px;
        height: 50px;
        margin-top: -27px;
        -webkit-transform: rotate(-45deg);
        transform: rotate(-45deg);
        border-right: 4px solid #fff;
        border-bottom: 4px solid #fff;
        background-color: #cccccc; }
      .form .step ul li:last-child::after {
        display: none; }
      .form .step ul li.on {
        background-color: #ff6600;
        color: #fff; }
        .form .step ul li.on::after {
          background-color: #ff6600; }
      .form .step ul li:nth-of-type(1) {
        z-index: 3; }
      .form .step ul li:nth-of-type(2) {
        z-index: 2; }
      .form .step ul li:nth-of-type(3) {
        z-index: 1; }
      .form .step ul li > span {
        position: relative;
        z-index: 10; }
.form .privacy_wrap h3 {
  font-size: 2rem; }
.form .privacy_wrap .privacy {
  height: 200px;
  padding: 20px;
  overflow: auto;
  border: 1px solid #ccc; }
  .form .privacy_wrap .privacy > section {
    margin-bottom: 40px; }
    .form .privacy_wrap .privacy > section:last-of-type {
      margin-bottom: 0; }
    .form .privacy_wrap .privacy > section h4 {
      margin-bottom: 10px;
      color: #333;
      font-size: 1.6rem; }
    .form .privacy_wrap .privacy > section h5 {
      margin-bottom: 0.5rem;
      color: #333;
      font-size: 1.4rem; }
    .form .privacy_wrap .privacy > section section {
      margin-top: 20px; }
  .form .privacy_wrap .privacy > .number {
    counter-increment: number; }
    .form .privacy_wrap .privacy > .number > h4::before {
      content: counter(number,decimal) ". ";
      position: relative;
      top: 0;
      display: inline-block;
      width: auto;
      height: auto;
      margin-right: 0.3rem;
      color: #333;
      background: none; }
  .form .privacy_wrap .privacy .list_number {
    counter-reset: list_number; }
    .form .privacy_wrap .privacy .list_number > li {
      counter-increment: list_number; }
      .form .privacy_wrap .privacy .list_number > li::before {
        content: "（" counter(list_number,decimal) "）"; }
  .form .privacy_wrap .privacy .list_conf {
    counter-reset: list_conf; }
    .form .privacy_wrap .privacy .list_conf > li {
      counter-increment: list_conf;
      margin-left: 1em;
      text-indent: -1em; }
      .form .privacy_wrap .privacy .list_conf > li::before {
        content: "＊" counter(list_conf,decimal) " "; }
  .form .privacy_wrap .privacy .list {
    margin-left: 2em; }
    .form .privacy_wrap .privacy .list > li {
      list-style-type: decimal; }
  .form .privacy_wrap .privacy ul li .list {
    margin-left: 4em; }
.form .privacy_wrap .privacy_check {
  margin-top: 20px;
  padding: 20px 0;
  text-align: center;
  background-color: #eaeaea;
  border-radius: 8px; }
  .form .privacy_wrap .privacy_check label {
    position: relative;
    top: -7px;
    margin-top: 7px; }
    .form .privacy_wrap .privacy_check label span {
      color: #cc0000;
      display: inline-block;
      font-size: 1.4rem;
      font-weight: bold; }
      .form .privacy_wrap .privacy_check label span::after {
        content: "必須";
        display: inline-block;
        padding: 3px 5px;
        margin-left: 10px;
        background: #cc0000;
        color: #fff;
        font-size: 1.2rem; }
.form .comp_message {
  text-align: center; }

@media only screen and (max-width: 680px) {
  input {
    margin-bottom: 5px; }
    input[type="text"].w100 {
      width: 65%; }

  textarea.w100, input[type="text"].w150, textarea.w150, input[type="text"].w200, textarea.w200, input[type="text"].w250, textarea.w250, input[type="text"].w300, textarea.w300, input[type="text"].w350, textarea.w350, input[type="text"].w400, textarea.w400, input[type="text"].w450, textarea.w450, input[type="text"].w500, textarea.w500, input[type="text"].w550, textarea.w550, input[type="text"].w600, textarea.w600, input[type="text"].w650, textarea.w650, input[type="text"].w700, textarea.w700 {
    width: 65%; }

  input[type="text"].w100p {
    width: 100%; }

  textarea {
    width: 100%; }
    textarea.w100p {
      width: 100%; }

  input[type="checkbox"] + label, input[type="radio"] + label {
    margin-bottom: 5px; }

  form dl > dt {
    padding: 0;
    margin-bottom: 10px;
    width: 100%; }
    form dl > dt.required::after {
      position: relative;
      right: 0;
      top: 0px;
      width: 3em;
      display: inline-block;
      margin-left: 10px;
      text-align: center; }
    form dl > dt + dd {
      width: 100%;
      margin-bottom: 40px; }
      form dl > dt + dd > dl {
        width: 100%; }
        form dl > dt + dd > dl > dt {
          width: 100%; }
          form dl > dt + dd > dl > dt + dd {
            width: 100%; }
  form dl dt {
    width: 100% !important; }
  form dl dd {
    width: 100%; }
    form dl dd label:first-of-type {
      margin-left: 0; }

  .form .step ul {
    display: block; }
    .form .step ul li {
      width: auto;
      margin-bottom: 2px; }
      .form .step ul li:first-child {
        border-radius: 4px 4px 0 0; }
      .form .step ul li:last-child {
        border-radius: 0 0 4px 4px; }
      .form .step ul li::after {
        display: none; }
  .form .remarks textarea {
    width: 90%; }
  .form .privacy_wrap .privacy_check {
    padding: 20px; }
    .form .privacy_wrap .privacy_check label {
      top: 0;
      display: block;
      margin: auto; }
      .form .privacy_wrap .privacy_check label span::after {
        display: block;
        margin: auto;
        width: 3em;
        text-align: center; }
  .form .btn_wrap button {
    width: auto;
    height: 40px;
    min-width: 270px;
    margin: 0 auto 10px auto;
    font-size: 1.6rem;
    line-height: 2rem;
    border-radius: 20px; }
    .form .btn_wrap button::after {
      width: 20px;
      height: 20px;
      position: absolute; }
    .form .btn_wrap button.submit::after {
      right: 10px; }
    .form .btn_wrap button.back::after {
      left: 10px; }
    .form .btn_wrap button.link::after {
      right: 10px; } }
      
      .waveline{
      text-decoration: underline wavy red }

/* WordPress ボタンブロックに btn_link スタイルを適用 */
.wp-block-button__link {
  display: inline-block;
  padding: 10px 15px;
  background: #3f72dd;
  color: #fff;
  font-weight: bold;
  line-height: 1.6rem;
  border-radius: 50px;
}
.wp-block-button__link:hover {
  opacity: 0.6;
}
.wp-block-button__link::before {
  content: "";
  display: inline-block;
  width: 16px;
  height: 16px;
  margin-right: 8px;
  vertical-align: middle;
  background: url(../images/icon_arrow_right_white.svg) no-repeat center/16px auto;
}

body.touroku .mv img {
  width: 100%; }
body.touroku .vpass_links {
  margin: 30px 0; }
  body.touroku .vpass_links ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    width: 100%; }
  body.touroku .vpass_links li {
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1; }
    body.touroku .vpass_links li:first-of-type {
      margin-right: 2px; }
      body.touroku .vpass_links li:first-of-type .btn {
        border-radius: 50px 0 0 50px; }
    body.touroku .vpass_links li:last-of-type .btn {
      border-radius: 0 50px 50px 0; }
  body.touroku .vpass_links .btn {
    display: block;
    width: 100%;
    border-radius: 0; }
    body.touroku .vpass_links .btn.vpass {
      background: #055bbd; }
    body.touroku .vpass_links .btn.app {
      background: #FD800D; }
  body.touroku .vpass_links.top .btn {
    font-size: 2.3rem; }
body.touroku .movie_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-flow: column;
          flex-flow: column;
  /*margin-bottom: 25px;*/ }
  /*body.touroku .movie_box > .txt,
  body.touroku .movie_box > .movie {
    width: 50%;
    margin: auto; }*/
  body.touroku .movie_box > .txt {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center; }
    body.touroku .movie_box > .txt .ttl {
      margin-bottom: 20px; }
      /*body.touroku .movie_box > .txt .ttl span::before, body.touroku .movie_box > .txt .ttl span::after {
        content: "－"; }*/
    body.touroku .movie_box > .txt .btn {
      margin-top: 15px; }
  body.touroku .movie_box > .movie a {
    display: block;
    margin-top: 10px;
    text-align: center; }
    body.touroku .movie_box > .movie a:hover {
      text-decoration: underline; }
  /*body.touroku .movie_box .movie_tn {
    position: relative;
    width: 100%;
    cursor: pointer;
    border: 3px solid #000; }*/
    body.touroku .movie_box .movie_tn:hover {
      opacity: 0.6; }
    /*body.touroku .movie_box .movie_tn::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      margin: -35px 0 0 -35px;
      display: block;
      width: 70px;
      height: 70px;
      background: url(../images/icon_movie.svg) no-repeat center/contain; }*/
    body.touroku .movie_box .movie_tn img {
      width: 100%; }
    body.touroku .movie_box .movie_tn::before, body.touroku .movie_box .movie_tn::after {
      position: absolute;
      content: ""; }
.movie_modal {
  display: none;
  width: 800px;
  position: relative;
  height: auto; }
  .movie_modal::before {
    content: "";
    display: block;
    padding-top: 66.6%; }
  .movie_modal iframe,body.touroku .movie_modal video source {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
  .movie_modal .btn_close {
    position: absolute;
    z-index: 300;
    top: -15px;
    right: -15px;
    width: 30px;
    height: 30px;
    background: #fff url(../images/icon_close.svg) no-repeat center/cover;
    border-radius: 50%;
    cursor: pointer; }
body.NotFound404 .intro p {
  text-align: center; }


  @media only screen and (max-width: 680px) {
    body.touroku .vpass_links li {
    -webkit-box-flex: 1;
        -ms-flex: auto;
            flex: auto;
    width: 100%;
    margin-bottom: 5px; }
  body.touroku .vpass_links .btn {
    border-radius: 50px !important; }
  body.touroku .vpass_links.top .btn {
    font-size: 1.8rem; }
  body.touroku .movie_box {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    margin: 30px 0; }
    body.touroku .movie_box > .txt,
    body.touroku .movie_box > .movie {
      width: 100%; }
    body.touroku .movie_box > .txt {
      margin-bottom: 15px; }
  body.touroku .movie_modal {
    width: 90%; } }


/*# sourceMappingURL=style.css.map */