@charset "utf-8";
/*=====================================================
 * Last Up Date: 2023/10/12
=====================================================*/
/**----- contents -------
1:common
2:header
3:drawer
4:kv
5:atm
6:-search
7:-strengths
8:-use
9:-service
10:-function
11:-charged
12:footer
----------------------*/
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Oswald:wght@500;600;700&family=Roboto:ital,wght@0,500;0,700;1,400&family=Alatsi&display=swap');

/*== 1:common ==================*/
* {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body,
h2,
h3,
h4,
p,
ul,
li,
dl,
dt,
dd {
  font-family: 'Noto Sans JP', "ヒラギノ角ゴシック", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", sans-serif;
  margin: 0;
  padding: 0;
}

img {
  display: block;
  max-width: 100%;
  height: auto;
}

li {
  list-style: none;
}

a,
a:link {
  text-decoration: none;
  transition: all 1.0s;
}

@media all and (min-width: 769px) {
  a:hover {
    opacity: 0.7;
  }
}

.cont_inner {
  width: 95vw;
  margin: auto;
}

.cont_sub_inner {
  width: 93vw;
  margin: auto;
}

.fl {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

p {
  font-size: 16px;
  font-weight: 500;
}

p.notes {
  color: #231815;
  font-size: 14px;
}

.txtr {
  text-align: right;
}

.txtc {
  text-align: center;
}

.sp {
  display: none;
}

.malr {
  margin: 0 auto;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt70 {
  margin-top: 70px;
}

@media all and (min-width: 769px) {
  .cont_inner {
    max-width: 1074px;
  }

  .cont_sub_inner {
    max-width: 1000px;
  }
}

@media screen and (max-width: 768px) {
  .cont_inner {
    width: 93vw;
  }

  .cont_sub_inner {
    width: 93vw;
  }

  p {
    font-size: 3.72vw;
  }

  p.notes {
    font-size: 2.79vw;
  }

  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  #strengths,
  #use,
  #service,
  #function {
    scroll-margin-top: 19.767vw;
  }
}

/*--fade--*/
.fade_off {
  opacity: 0;
  transition: all 1s;
}

.fade_on {
  opacity: 1;
}

.fade::before,
.fade::after {
  opacity: 0;
  transition: all 1s;
}

.fade_on::before,
.fade_on::after {
  opacity: 1;
}

/*--search_btn--*/
.search_btn {
  position: fixed;
  bottom: 3vw;
  right: 5vw;
  display: none;
  width: 197px;
  z-index: 99;
}

@media all and (max-width: 768px) {
  .search_btn {
    width: 31.86vw;
  }
}

/*==============================*/
/*== 2:header ==================*/
header {
  z-index: 9999;
}

header .g_nav {
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 25px 0;
  background: #009944;
}

@media all and (min-width: 769px) {
  header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    width: 100%;
  }

  header .g_nav_pc ul {
    margin-right: 34px;
  }

  header .g_nav_pc ul li {
    display: inline-block;
    padding-right: 28px;
    margin-right: 28px;
    border-right: #fff 1px solid;
  }

  header .g_nav_pc ul li:last-child {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
  }

  header .g_nav_pc ul li a {
    color: #fff;
    font-weight: 500;
  }

  header .sp_menu_btn {
    display: none;
  }
}

@media screen and (max-width: 850px) and (min-width: 769px) {
  header .g_nav_pc ul {
    margin-right: 15px;
  }

  header .g_nav_pc ul li {
    padding-right: 5px;
    margin-right: 5px;
  }

  header .g_nav_pc ul li a {
    font-size: 14px;
  }
}

@media all and (max-width: 768px) {
  header {
    position: -webkit-sticky;
    position: sticky;
    top: 0;
    width: 100vw;
  }

  header .g_nav {
    justify-content: flex-end;
    padding-right: 4.651vw;
  }

  header .g_nav_pc {
    display: none;
  }

  header .sp_menu_btn {
    position: relative;
    width: 6.977vw;
    height: 6.977vw;
    margin-left: 4.023vw;
    cursor: pointer;
    z-index: 9999;
  }

  header .sp_menu_btn span {
    position: absolute;
    top: 0;
    bottom: 0;
    width: 6.977vw;
    height: 0.93vw;
    margin: auto;
    background: #fff;
    transition: all .4s;
  }

  header .sp_menu_btn::before {
    content: "";
    position: absolute;
    top: 0;
    display: block;
    width: 6.977vw;
    height: 0.93vw;
    background: #fff;
    transition: all .4s;
  }

  header .sp_menu_btn::after {
    content: "";
    position: absolute;
    top: 6.047vw;
    display: block;
    width: 6.977vw;
    height: 0.93vw;
    background: #fff;
    transition: all .4s;
  }

  header .sp_menu_btn.close span {
    opacity: 0;
  }

  header .sp_menu_btn.close::before {
    top: 2.1vw;
    left: -0.1vw;
    transform: translateY(6px) rotate(-45deg);
  }

  header .sp_menu_btn.close::after {
    top: 3.8vw;
    left: 0vw;
    transform: translateY(-6px) rotate(45deg);
  }
}

@media all and (max-width: 425px) {
  header .sp_menu_btn.close::before {
    top: 1vw;
    left: -0.3vw;
    transform: translateY(6px) rotate(-45deg);
  }

  header .sp_menu_btn.close::after {
    top: 4vw;
    left: -0.3vw;
    transform: translateY(-6px) rotate(45deg);
  }
}

/*--lang--*/
header .lang {
  position: relative;
}

header .lang p {
  position: relative;
  padding: 5px 28px;
  background: #fff center left 15px no-repeat;
  border: #007840 2px solid;
  border-radius: 20px;
  cursor: pointer;
  transition: all 0.3s ease;
  z-index: 9;
}

header .lang p span {
  margin-left: 10px;
}

@media all and (min-width: 769px) {
  header .lang p:hover {
    background: #f3f3f3 center left 15px no-repeat;
  }
}

header .lang p::after {
  content: "▼";
  position: absolute;
  top: 25%;
  /* bottom: 0; */
  right: 10px;
  display: table;
  font-size: 10px;
  margin: auto 0;
  color: #009944;
}

header .lang .lang_select {
  position: absolute;
  top: 0;
  right: -15%;
  display: none;
  width: 130%;
  font-weight: 500;
  padding-top: 50px;
}

@media all and (max-width: 1100px) and (min-width: 769px) {
  header .lang .lang_select {
    right: 0;
  }
}

header .lang:hover .lang_select {
  display: block;
}

header .lang .lang_select ul {
  background: #fff;
  border-radius: 6px;
  box-shadow: 0px 2px 7px 2px rgba(0, 0, 0, 0.15);
  transition: all 0.3s ease;
}

header .lang .lang_select li.jp {
  border-bottom: #CCCCCD 1px solid;
}

header .lang .lang_select li.en {
  border-bottom: #CCCCCD 1px solid;
}

header .lang .lang_select li.cn {
  border-bottom: #CCCCCD 1px solid;
}

header .lang .lang_select a {
  display: flex;
  justify-content: space-between;
  color: black;
  padding: 10px 8px;
  transition: all 0.3s ease;
}

header .lang .lang_select a:hover {
  color: #009944;
}

@media all and (max-width: 768px) {
  header .lang p {
    padding: 1.163vw 6.512vw;
    background: #fff center left 3.581vw no-repeat;
    background-size: 5.581vw;
    border-radius: 4.651vw;
  }

  header .lang p span {
    margin-left: 3.326vw;
  }

  header .lang p::after {
    right: 2.326vw;
    font-size: 2.32vw;
  }

  header .lang .lang_select {
    padding-top: 11.628vw;
  }

  header .lang .lang_select ul {
    border-radius: 1.651vw;
  }

  header .lang .lang_select li:first-child:after {
    right: -4.186vw;
    font-size: 2.32vw;
  }

  header .g_nav_drawer .lang {
    position: relative;
    left: 50%;
    transform: translateX(-50%);
    display: inline-block;
  }

  header .g_nav_drawer .lang p {
    font-size: 4.419vw;
    padding: 1.186vw 8vw 1.186vw 11.14vw;
    border-radius: 7.674vw;
  }

  header .g_nav_drawer .lang p::after {
    top: 2.5vw;
    right: 4vw;
  }

  header .g_nav_drawer .lang .lang_select ul {
    font-size: 4.419vw;
    border-radius: 1.651vw;
  }

  header .g_nav_drawer .lang .lang_select li:first-child:after {
    top: 2.5vw;
    right: 8vw;
    font-size: 2.32vw;
  }

  header .lang .lang_select a {
    font-size: 3.72vw;
    padding: 2.326vw 1.86vw 2.326vw 11.163vw;
  }
}

/*==============================*/
/*== 3:drawer ==================*/
@media all and (min-width: 769px) {
  .g_nav_drawer {
    display: none;
  }
}

@media all and (max-width: 768px) {
  .g_nav_drawer {
    position: fixed;
    top: 0;
    right: -120%;
    width: 100vw;
    height: 100dvh;
    padding-top: 7.5vw;
    background: #009944;
    overflow-y: auto;
    transition: all 0.6s;
    z-index: 999;
  }

  .g_nav_drawer.active {
    right: 0;
  }

  .g_nav_drawer p.logo {
    width: 49.302vw;
    margin: 20vw auto 6.744vw;
  }

  .g_nav_drawer p.logo img {
    width: 100%;
  }

  .g_nav_drawer .g_nav_sp {
    margin-bottom: 9.302vw;
  }

  .g_nav_drawer .g_nav_sp ul li {
    display: block;
    text-align: center;
    margin: 0 auto 6.977vw;
  }

  .g_nav_drawer .g_nav_sp ul li:last-child {
    margin-bottom: 0;
  }

  .g_nav_drawer .g_nav_sp ul li a {
    color: #fff;
    font-size: 4.18vw;
    font-weight: 600;
  }
}


/*== 4:kv ======================*/
#kv {
  padding-bottom: 24px;
  background: #009944;
}

#kv .cont_inner {
  width: 98vw;
  margin: 0 auto;
  padding: 11px 0 19px;
  background: #fff;
}

#kv .cont_inner h1 {
  max-width: 817px;
  margin: 0 auto;
}

#kv .cont_inner img {
  margin: 0 auto;
}

@media all and (min-width: 769px) {
  #kv .cont_inner {
    max-width: 1239px;
  }
}

@media all and (max-width: 768px) {
  #kv {
    padding-bottom: 3.721vw;
  }

  #kv .cont_inner {
    width: 92.558vw;
    padding: 9.535vw 0 11.395vw;
  }

  #kv .cont_inner h1 {
    width: 89.791vw;
  }
}

/*==============================*/
/*== 5:atm =====================*/
#atm h3 {
  color: #fff;
  font-size: 41px;
  font-weight: 700;
  text-align: center;
  padding: 10px 10px;
  background: #009944;
  border-radius: 70px;
}

#atm .frame {
  background: #fff;
  border-top: #009944 2px solid;
  border-left: #009944 2px solid;
  border-bottom: #E60012 15px solid;
  border-right: #E60012 10px solid;
  border-radius: 21px 21px 30px 21px;
}

@media all and (max-width: 768px) {
  #atm h3 {
    font-size: 5.58vw;
    padding: 4.4vw 4.4vw;
    border-radius: 9.535vw;
  }
}

/*==============================*/
/*== 6:-search =================*/
#search {
  padding: 85px 0;
}

#search .cont_inner {
  padding-bottom: 223px;
  background-image: url("/oos/adv/intlcard02/hg/image/search_img.png");
  background-position: bottom left 65px;
  background-repeat: no-repeat;
}

#search .cont_inner h2 {
  color: #E60012;
  font-size: 52px;
  text-align: center;
  margin-bottom: 30px;
}

#search .cont_inner p {
  color: #009944;
  font-size: 34px;
  font-weight: 700;
  text-align: center;
  margin-bottom: 44px;
}

#search .cont_inner p span.notes{
  display: block;
  font-size: 20px;
}

@media all and (max-width: 768px) {
  #search {
    padding: 11.628vw 0;
  }

  #search .cont_inner {
    padding-bottom: 43.256vw;
    background-image: url("/oos/adv/intlcard02/hg/image/search_img_sp.png");
    background-position: bottom left;
    background-repeat: no-repeat;
  }

  #search .cont_inner h2 {
    font-size: 7.44vw;
    margin-bottom: 3.023vw;
  }

  #search .cont_inner p {
    font-size: 4.65vw;
    margin-bottom: 5.116vw;
  }
  #search .cont_inner p span{
   font-size: 3.9vw !important;
  }
}

/*--btn_atm--*/
#search .cont_inner .btn_atm {
  position: relative;
  width: 340px;
  margin: 0 auto;
}

#search .cont_inner .btn_atm::after {
  content: "";
  position: absolute;
  bottom: -12px;
  left: 4px;
  width: 332px;
  height: 85px;
  margin: 0 auto;
  background: #E60012;
  border-bottom: #E60012 4px solid;
  border-right: #E60012 4px solid;
  border-radius: 50px;
  box-shadow: 2px 4px 8px 0px rgba(0, 0, 0, 0.40);
  z-index: -1;
}

#search .cont_inner .btn_atm a {
  display: flex;
  align-items: center;
  color: #009944;
  font-size: 26px;
  font-weight: 600;
  height: 80px;
  padding: 15px 5px 10px 45px;
  background: #fff url("/oos/adv/intlcard02/hg/image/icon_search.svg") center right 43px no-repeat;
  background-size: 60px auto;
  border-top: #009944 3px solid;
  border-left: #009944 3px solid;
  border-right: #fff 3px solid;
  border-bottom: #fff 4px solid;
  border-radius: 50px;
  transition: all 1.0s;
}

#search .cont_inner .btn_atm a span {
  font-family: 'Roboto', sans-serif;
  font-size: 43px;
  font-weight: 700;
  margin-right: 10px;
}

@media all and (min-width: 769px) {
  #search .cont_inner .btn_atm a:hover {
    background: #EDF8F2 url("/oos/adv/intlcard02/hg/image/icon_search.svg") center right 43px no-repeat;
    background-size: 60px auto;
    border-right: #EDF8F2 3px solid;
    border-bottom: #EDF8F2 4px solid;
    opacity: 1;
  }
}

@media all and (max-width: 768px) {
  #search .cont_inner .btn_atm {
    width: 56.047vw;
  }

  #search .cont_inner .btn_atm::after {
    bottom: -1.791vw;
    left: 0.93vw;
    width: 54vw;
    height: 13.256vw;
    border-radius: 11.628vw;
  }

  #search .cont_inner .btn_atm a {
    font-size: 3.95vw;
    height: 13.256vw;
    padding: 2.488vw 1.163vw 1.326vw 10.465vw;
    background: #fff url("/oos/adv/intlcard02/hg/image/icon_search.svg") center right 4vw no-repeat;
    background-size: 9.767vw auto;
    border-radius: 11.628vw;
  }

  #search .cont_inner .btn_atm a span {
    font-size: 6.97vw;
  }
}

/*--card--*/
#search .card {
  width: 95vw;
  padding: 27px 40px 60px;
  margin: 0 auto;
  background: #fff;
  border: #009944 3px solid;
  border-radius: 20px;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.20);
}

#search .card h3 {
  position: relative;
  color: #009944;
  font-size: 26px;
  font-weight: 500;
  background: #fff;
}

#search .card h3 span {
  position: relative;
  padding: 0 15px;
  background: #fff;
  z-index: 1;
}

#search .card h3::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 2px;
  background: #009944;
}

#search .card p.notes {
  margin: 30px 0 32px;
}

#search .card .btn_card {
  width: 675px;
  margin: 0 auto;
  border-bottom: #E60012 10px solid;
  border-right: #E60012 3px solid;
  border-radius: 40px;
  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.40);
  transition: all 1.0s;
}

#search .card .btn_card a {
  display: block;
  color: #009944;
  font-size: 23px;
  font-weight: 500;
  height: 60px;
  padding: 10px 0 10px 44px;
  background: url(/oos/adv/intlcard02/hg/image/icon_link.svg) center right 50px no-repeat;
  background-size: 15px auto;
}

@media all and (min-width: 769px) {
  #search .card {
    max-width: 1000px;
  }

  #search .card .btn_card:hover {
    background: #EDF8F2;
  }

  #search .card .btn_card a:hover {
    opacity: 1;
  }
}

@media all and (max-width: 768px) {
  #search .card {
    width: 92.326vw;
    padding: 4.279vw 3.256vw 9.465vw;
    border: #009944 1px solid;
    border-radius: 4.651vw;
  }

  #search .card h3 {
    font-size: 4.18vw;
  }

  #search .card h3 span {
    padding: 0 3.488vw;
  }

  #search .card h3::after {
    height: 1px;
  }

  #search .card p.notes {
    margin: 4.186vw 0 4.651vw;
  }

  #search .card .btn_card {
    width: 81.86vw;
    border-bottom: #E60012 6px solid;
    border-right: #E60012 1px solid;
    border-radius: 4.186vw;
  }

  #search .card .btn_card a {
    font-size: 3.25vw;
    text-align: center;
    height: 8.14vw;
    padding: 1.791vw 0 1.791vw 0;
    background: url(/oos/adv/intlcard02/hg/image/icon_link.svg) center right 5vw no-repeat;
    background-size: 1.395vw auto;
  }
}

/*==============================*/
/*== 7:-strengths ==============*/
#strengths {
  padding: 138px 0 120px;
  background: #EDF8F2;
}

#strengths .fl {
  /* align-items: stretch; */
  align-items: flex-start;
  margin: 92px auto 0;
  text-align: center;
}

#strengths .fl .frame {
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  width: 30%;
  padding: 32px 10px 25px;
  border-radius: 20px;
}

#strengths .fl .frame.no01 {
  background-image: url("/oos/adv/intlcard02/hg/image/strengths_no1_bg.png");
  background-position: top center;
  background-repeat: no-repeat;
  background-size: cover;
}

#strengths .fl .frame .no {
  position: absolute;
  top: -30px;
  left: 0;
  right: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 53px;
  height: 53px;
  font-family: 'Roboto', sans-serif;
  color: #fff;
  font-size: 34px;
  font-weight: 700;
  text-align: center;
  margin: 0 auto;
  border-radius: 30px;
  background: #009944;
}

#strengths .fl .frame h4 {
  color: #009944;
  font-size: 27px;
  font-weight: 700;
}

#strengths .fl .frame p {
  color: #009944;
}

#strengths .fl .frame .st_ttl {
  position: relative;
  min-height: 265px;
  margin-bottom: 20px;
}

#strengths .fl .frame .st_ttl::before {
  content: "";
  position: absolute;
  bottom: -8px;
  left: 0;
  right: 0;
  width: 34px;
  height: 23px;
  margin: 0 auto;
  background: url(/oos/adv/intlcard02/hg/image/icon_next.svg) center center no-repeat;
}

#strengths .fl .frame .st_ttl+p {
  font-weight: 700;
  display: none;
}

#strengths .fl .frame.no03 p {
  font-size: 14px;
}

#strengths .fl .frame.no01 h4 {
  margin-top: 32px;
}

#strengths .fl .frame.no01 img {
  width: 227px;
  margin: 15px auto 0;
}

#strengths .fl .frame.no02 h4 {
  margin-top: 10px;
}

#strengths .fl .frame.no02 img {
  width: 169px;
  margin: 20px auto 0;
}

#strengths .fl .frame.no03 img {
  width: 132px;
  margin: 0 auto;
}

@media all and (min-width: 769px) {
  #strengths .fl .frame {
    height: 359px;
  }

  #strengths .fl .frame.pact {
    height: 439px;
  }
}

@media all and (max-width: 768px) {
  #strengths {
    padding: 12.326vw 0 16.279vw;
  }

  #strengths .fl {
    flex-direction: column;
    margin: 16.977vw auto 0;
  }

  #strengths .fl .frame {
    width: 81.163vw;
    padding: 8.837vw 3.209vw 10.698vw;
    min-height: initial;
    margin: 0 auto;
    border-radius: 5.581vw;
  }

  #strengths .fl .frame.no01 {
    background-image: url("/oos/adv/intlcard02/hg/image/strengths_no1_bg_sp.png");
    background-position: top center;
    background-repeat: no-repeat;
  }

  #strengths .fl .frame.no02 {
    margin: 19.07vw auto;
  }

  #strengths .fl .frame .no {
    top: -6.977vw;
    width: 13.651vw;
    height: 13.651vw;
    font-size: 7.90vw;
    border-radius: 7.674vw;
  }

  #strengths .fl .frame h4 {
    font-size: 7.0vw;
  }

  #strengths .fl .frame .st_ttl {
    min-height: 74.884vw;
    margin-bottom: 20px;
    cursor: pointer;
  }

  #strengths .fl .frame .st_ttl::before {
    bottom: -1.86vw;
    width: 7.674vw;
    height: 5.884vw;
    background: url(/oos/adv/intlcard02/hg/image/icon_next.svg) center center no-repeat;
    cursor: pointer;
  }

  #strengths .fl .frame .st_ttl+p {
    display: none;
  }

  #strengths .fl .frame p {
    font-size: 4.419vw;
    font-weight: 700;
  }

  #strengths .fl .frame.no03 p {
    font-size: 3.72vw;
  }

  #strengths .fl .frame.no01 h4 {
    margin-top: 8.372vw;
  }

  #strengths .fl .frame.no01 img {
    width: 63.256vw;
    margin: 5.233vw auto 0;
  }

  #strengths .fl .frame.no04 h4 {
    margin-top: 5.349vw;
  }

  #strengths .fl .frame.no02 img {
    width: 46.977vw;
    margin: 7.442vw auto 0;
  }

  #strengths .fl .frame.no03 img {
    width: 35.721vw;
    margin: 5vw auto 0;
  }
}

/*==============================*/
/*== 8:-use ====================*/
#use {
  padding: 119px 0;
}

#use .cont_sub_inner>p {
  color: #009944;
  margin-top: 44px;
}

#use .cont_sub_inner>h4 {
  color: #009944;
  font-size: 20px;
  font-weight: 700;
  margin: 44px 0 30px;
}

#use .cont_sub_inner>p.comment {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  color: #009944;
  font-size: 19px;
  text-align: center;
  padding: 16px 40px;
  margin-top: 62px;
  background: #EDF8F2;
  border: #009944 1px solid;
}

@media screen and (max-width: 768px) {
  #use {
    padding: 12.791vw 0;
  }

  #use .cont_sub_inner>p {
    margin-top: 5.349vw;
  }

  #use .cont_sub_inner>h4 {
    font-size: 4.65vw;
    text-align: center;
    margin: 10.93vw 0 5.116vw;
  }

  #use .cont_sub_inner>p.comment {
    font-size: 4.41vw;
    text-align: left;
    padding: 3.721vw 9.302vw;
    margin-top: 8.605vw;
  }
}

/*--use_list--*/
#use .use_list .fl {
  align-items: flex-start;
}

#use .use_list p {
  font-size: 18px;
  width: 209px;
}

#use .use_list p span.no {
  display: table;
  width: 91px;
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  text-align: center;
  padding: 4px 10px 6px;
  margin-bottom: 8px;
  background: #009944;
  border-radius: 40px;
}

#use .use_list p span.info {
  position: relative;
  display: block;
  font-size: 13px;
  font-weight: 400;
  padding-left: 23px;
  margin-top: 8px;
}

#use .use_list p span.info::before {
  content: "i";
  position: absolute;
  left: 0;
  display: block;
  width: 18px;
  height: 18px;
  color: #fff;
  font-size: 14px;
  line-height: 1.3;
  text-align: center;
  background: #2CA6E0;
  border-radius: 15px;
}

@media all and (min-width: 769px) {

  #use .use_list .use_02::before,
  #use .use_list .use_03::before,
  #use .use_list .use_04::before,
  #use .use_list .use_06::before,
  #use .use_list .use_07::before,
  #use .use_list .use_08::before {
    content: "";
    position: absolute;
    top: -47px;
    left: 107px;
    width: 34px;
    height: 23px;
    background: url(/oos/adv/intlcard02/hg/image/icon_next.svg) center center no-repeat;
  }

  #use .use_list .swiper-wrapper {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-template-rows: repeat(4, 1fr);
    grid-column-gap: 55px;
    grid-row-gap: 80px;
  }

  #use .use_list .swiper-wrapper .use_01 {
    position: relative;
    grid-area: 1 / 1 / 2 / 2;
  }

  #use .use_list .swiper-wrapper .use_02 {
    position: relative;
    grid-area: 2 / 1 / 3 / 2;
  }

  #use .use_list .swiper-wrapper .use_03 {
    position: relative;
    grid-area: 3 / 1 / 4 / 2;
  }

  #use .use_list .swiper-wrapper .use_04 {
    position: relative;
    grid-area: 4 / 1 / 5 / 2;
  }

  #use .use_list .swiper-wrapper .use_05 {
    position: relative;
    grid-area: 1 / 2 / 2 / 3;
  }

  #use .use_list .swiper-wrapper .use_06 {
    position: relative;
    grid-area: 2 / 2 / 3 / 3;
  }

  #use .use_list .swiper-wrapper .use_07 {
    position: relative;
    grid-area: 3 / 2 / 4 / 3;
  }

  #use .use_list .swiper-wrapper .use_08 {
    position: relative;
    grid-area: 4 / 2 / 5 / 3;
  }
}

@media screen and (max-width: 768px) {
  #use .use_list {
    position: relative;
  }

  #use .use_list .fl {
    flex-direction: column;
  }

  #use .use_list picture {
    width: 75.814vw;
    margin: 0 auto 5.116vw;
  }

  #use .use_list .use_01 picture {
    width: 75.116vw;
  }

  #use .use_list picture img {
    width: 100% !important;
  }

  #use .use_list p {
    width: 75.814vw;
    margin: 0 auto;
  }

  #use .use_list p span.no {
    display: table;
    width: 91px;
    color: #fff;
    font-size: 19px;
    font-weight: 600;
    text-align: center;
    padding: 4px 10px 6px;
    margin-bottom: 8px;
    background: #009944;
    border-radius: 40px;
  }

  #use .use_list p span.info {
    position: relative;
    display: block;
    font-size: 14px;
    font-weight: 400;
    padding-left: 23px;
    margin-top: 8px;
  }

  #use .use_list p span.info::before {
    content: "i";
    position: absolute;
    left: 0;
    display: block;
    width: 18px;
    height: 18px;
    color: #fff;
    font-size: 14px;
    line-height: 1.3;
    text-align: center;
    background: #2CA6E0;
    border-radius: 15px;
  }

  .swiper-button-prev {
    position: absolute;
    top: 15vw;
    left: 0;
    width: 50px;
    height: 67px;
    background: url("/oos/adv/intlcard02/hg/image/icon_sw_prev.svg") center center no-repeat;
    z-index: 1;
  }

  .swiper-button-next {
    position: absolute;
    top: 15vw;
    right: 0;
    width: 50px;
    height: 67px;
    background: url("/oos/adv/intlcard02/hg/image/icon_sw_next.svg") center center no-repeat;
    z-index: 1;
  }
}

/*==============================*/
/*== 9:-service ================*/
#service {
  padding: 138px 0 120px;
  background: #EDF8F2;
}

#service .cont_sub_inner>p {
  color: #009944;
  margin-top: 40px;
}

@media all and (max-width: 768px) {
  #service {
    padding: 13.721vw 0 15.581vw;
  }

  #service .cont_sub_inner>p {
    margin-top: 9.767vw;
  }
}

/*--service_list--*/
#service .cont_sub_inner .service_list {
  margin: 80px auto 55px;
  align-items: stretch;
}

#service .cont_sub_inner .service_list h4 {
  color: #fff;
  font-size: 32px;
  font-weight: 500;
  text-align: center;
  padding: 10px;
  border-radius: 28px;
}

#service .cont_sub_inner .service_list .service_item {
  min-height: 1155px;
  padding: 32px 0 35px;
  margin-top: 35px;
}

#service .cont_sub_inner .service_list .service_item h5 {
  color: #009944;
  font-size: 28px;
  font-weight: 500;
  text-align: center;
  padding-bottom: 12px;
  margin: 0 25px 50px;
  border-bottom: #009944 2px solid;
}

#service .cont_sub_inner .service_list .service_item img.card {
  width: 273px;
  margin: 0 auto 60px;
}

#service .cont_sub_inner .service_list .service_item img.yen,
#service .cont_sub_inner .service_list .service_item img.dollar {
  width: 80px;
  margin: 0 auto;
}

#service .cont_sub_inner .service_list .service_item img.invoice {
  width: 103px;
}

#service .cont_sub_inner .service_list .service_item p.balloon {
  position: relative;
  left: 51%;
  transform: translateX(-50%);
  display: inline-block;
  color: #fff;
  font-weight: 600;
  padding: 15px 30px;
  margin-bottom: 26px;
  border-radius: 10px;
}

#service .cont_sub_inner .service_list .service_item p.balloon>span {
  font-size: 21px;
  border-bottom: #fff 1px solid;
}

#service .cont_sub_inner .service_list .service_item p::before {
  position: absolute;
  top: 100%;
  left: 50%;
  content: "";
  height: 0;
  width: 0;
  margin-left: -14px;
  border: solid transparent;
  border-style: solid;
  border-width: 14px 10px 0 10px;
}

#service .cont_sub_inner .service_list .service_item .return {
  padding-top: 12px;
  padding-left: 13px;
  margin: 50px 13px 0 -2px;
  border-top: #009944 2px solid;
  border-left: #009944 2px solid;
  border-radius: 20px 0 0 0;
}

#service .cont_sub_inner .service_list .service_item .return h5 {
  margin: 0 0 50px 0;
}

#service .cont_sub_inner .service_list .service_item .return>.fl {
  justify-content: flex-start;
  margin: 0 0 43px 45px;
}

#service .cont_sub_inner .service_list .service_item .return>.fl>p {
  color: #E60012;
  font-size: 20px;
  margin-left: 18px;
}

#service .cont_sub_inner .service_list .service_item .return>.fl>p>span {
  font-size: 26px;
}

@media screen and (max-width: 850px) and (min-width: 769px) {
  #service .cont_sub_inner .service_list h4 {
    font-size: 26px;
  }
}

@media all and (max-width: 768px) {
  #service .cont_sub_inner .service_list {
    flex-direction: column;
    margin: 12.093vw auto 11.628vw;
  }

  #service .cont_sub_inner .service_list h4 {
    font-size: 4.65vw;
    padding: 2.80vw;
    border-radius: 5.116vw;
  }

  #service .cont_sub_inner .service_list .service_item {
    min-height: initial;
    padding: 5.814vw 0 9.07vw;
    margin-top: 3.953vw;
  }

  #service .cont_sub_inner .service_list .service_item h5 {
    font-size: 5.11vw;
    padding-bottom: 4.651vw;
    margin: 0 4.651vw 9.07vw;
    border-bottom: #009944 2px solid;
  }

  #service .cont_sub_inner .service_list .service_item img.card {
    width: 50.698vw;
    margin: 0 auto 11.163vw;
  }

  #service .cont_sub_inner .service_list .service_item img.yen,
  #service .cont_sub_inner .service_list .service_item img.dollar {
    width: 14.884vw;
  }

  #service .cont_sub_inner .service_list .service_item img.invoice {
    width: 18.372vw;
  }

  #service .cont_sub_inner .service_list .service_item p.balloon {
    font-size: 2.79vw;
    padding: 3.488vw 5.581vw;
    margin-bottom: 4.651vw;
    border-radius: 1.86vw;
  }

  #service .cont_sub_inner .service_list .service_item p.balloon>span {
    font-size: 3.72vw;
  }

  #service .cont_sub_inner .service_list .service_item .return {
    padding-top: 4.186vw;
    padding-left: 4.186vw;
    margin: 10.233vw 2.791vw 0 -2px;
    border-radius: 20px 0 0 0;
  }

  #service .cont_sub_inner .service_list .service_item .return h5 {
    margin: 0 0 5.581vw 0;
  }

  #service .cont_sub_inner .service_list .service_item .return>.fl {
    justify-content: flex-start;
    margin: 0 0 8.14vw 7.256vw;
  }

  #service .cont_sub_inner .service_list .service_item .return>.fl>p {
    font-size: 3.72vw;
    margin-left: 3.256vw;
  }

  #service .cont_sub_inner .service_list .service_item .return>.fl>p>span {
    font-size: 4.65vw;
  }
}

/*--general--*/
#service .cont_sub_inner .service_list .general {
  width: 48%;
}

#service .cont_sub_inner .service_list .general h4 {
  background: #009944;
}

#service .cont_sub_inner .service_list .general .service_item p.balloon {
  background: #009944;
}

#service .cont_sub_inner .service_list .general .service_item p.balloon::before {
  border-color: #009944 transparent transparent transparent;
}

@media all and (max-width: 768px) {
  #service .cont_sub_inner .service_list .general {
    width: 100%;
  }
}

/*--dcc--*/
#service .cont_sub_inner .service_list .dcc {
  width: 48%;
}

#service .cont_sub_inner .service_list .dcc h4 {
  background: #E60012;
}

#service .cont_sub_inner .service_list .dcc .service_item p.notes {
  color: #E60012;
  font-size: 16px;
  text-align: center;
  margin-top: -25px;
  margin-bottom: 25px;
}

#service .cont_sub_inner .service_list .dcc .service_item p.balloon {
  background: #E60012;
}

#service .cont_sub_inner .service_list .dcc .service_item p.balloon::before {
  border-color: #E60012 transparent transparent transparent;
}

#service .cont_sub_inner .service_list .dcc .service_item .return p.balloon {
  padding: 15px 15px;
}

#service .cont_sub_inner .service_list .dcc .service_item .currency {
  display: flex;
  justify-content: center;
}

#service .cont_sub_inner .service_list .dcc .service_item .currency img {
  margin: 0 10px
}

@media all and (max-width: 768px) {
  #service .cont_sub_inner .service_list .dcc {
    width: 100%;
    margin-bottom: 14.419vw;
  }

  #service .cont_sub_inner .service_list .dcc .service_item p.notes {
    font-size: 2.79vw;
    margin-top: -8.395vw;
    margin-bottom: 4.651vw;
  }
}

/*--usable_cards--*/
#service .usable_cards {
  padding: 27px 45px 52px;
  margin-top: 62px;
  background: #fff;
  border-radius: 20px;
}

#service .usable_cards h4 {
  position: relative;
  color: #009944;
  font-size: 26px;
  font-weight: 500;
  text-align: center;
  background: #fff;
}

#service .usable_cards h4 span {
  position: relative;
  padding: 0 15px;
  background: #fff;
  z-index: 1;
}

#service .usable_cards h4::after {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: auto;
  width: 100%;
  height: 2px;
  background: #009944;
}

#service .usable_cards table {
  width: 100%;
  margin: 35px auto 19px;
}

#service .usable_cards table,
#service .usable_cards table td,
#service .usable_cards table th {
  border-collapse: collapse;
  border: #009944 1px solid;
}

#service .usable_cards table tr th {
  width: 33.3%;
  color: #009944;
  font-size: 18px;
  padding: 20px 10px;
  background: #EDF8F2;
}

#service .usable_cards table td {
  width: 33.3%;
  color: #009944;
  font-size: 22px;
  text-align: center;
  padding: 20px 10px;
}

#service .usable_cards .attention {
  padding: 40px 76px 46px;
  margin-top: 64px;
  border: #009944 1px solid;
}

#service .usable_cards .attention>p {
  color: #009944;
  font-size: 20px;
  text-align: center;
  margin-bottom: 13px;
}

#service .usable_cards .attention ul li {
  list-style: disc;
  color: #009944;
  line-height: 1.8;
}

@media all and (max-width: 768px) {
  #service .usable_cards {
    padding: 6.047vw 3.721vw 10.698vw;
    margin-top: 8.372vw;
    border-radius: 1.86vw;
  }

  #service .usable_cards h4 {
    font-size: 4.18vw;
  }

  #service .usable_cards h4 span {
    padding: 0 3.488vw;
  }

  #service .usable_cards h4::after {
    height: 1px;
  }

  #service .usable_cards table {
    margin: 4.651vw auto 19px;
  }

  #service .usable_cards table tr th {
    font-size: 3.25vw;
    padding: 4.651vw 2.326vw;
  }

  #service .usable_cards table td {
    font-size: 3.72vw;
    padding: 4.651vw 2.326vw;
  }

  #service .usable_cards p.notes {
    font-size: 3.25vw;
  }

  #service .usable_cards .service_cards_01 {
    display: block;
    width: 16.93vw;
    margin: 0 auto;
  }

  #service .usable_cards .service_cards_02 {
    display: block;
    width: 16.698vw;
    margin: 0 auto;
  }

  #service .usable_cards .attention {
    padding: 7.442vw 3.721vw 13.023vw;
    margin-top: 9.07vw;
  }

  #service .usable_cards .attention>p {
    font-size: 4.18vw;
    margin-bottom: 3.721vw;
  }

  #service .usable_cards .attention ul {
    margin-left: 5vw;
  }
}

/*==============================*/
/*== 10:-function ==============*/
#function {
  padding: 143px 0 170px;
}

#function .cont_sub_inner {
  padding: 62px 0 46px;
  margin-top: 60px;
}

#function .cont_sub_inner p {
  color: #009944;
  font-size: 28px;
  text-align: center;
  margin-bottom: 71px;
}

#function .cont_sub_inner p>span {
  border-bottom: #E60012 2px solid;
}

#function .cont_sub_inner .function_01 {
  display: block;
  width: 443px;
  margin: 0 34% 43px auto;
}

#function .cont_sub_inner picture img {
  margin: 0 auto;
}

@media all and (max-width: 850px) and (min-width: 769px) {
  #function .cont_sub_inner {
    padding: 62px 15px 46px;
  }

  #function .cont_sub_inner .function_01 {
    margin: 0 23% 43px auto;
  }
}

@media all and (max-width: 768px) {
  #function {
    padding: 18.14vw 0 20.93vw;
  }

  #function .cont_sub_inner {
    padding: 11.628vw 0 12.093vw;
    margin-top: 10.233vw;
  }

  #function .cont_sub_inner p {
    font-size: 4.65vw;
    margin-bottom: 6.512vw;
  }

  #function .cont_sub_inner .function_01 {
    width: 75.814vw;
    margin: 0 auto 5.581vw;
  }

  #function .cont_sub_inner picture.function_02 {
    display: block;
    width: 75.581vw;
    margin: 0 auto;
  }
}

/*==============================*/
/*== 11:-charged ===============*/
#charged {
  padding: 138px 0 148px;
  background: #EDF8F2;
}

#charged .cont_inner>p {
  position: relative;
  left: 50%;
  transform: translateX(-50%);
  display: inline-block;
  color: #009944;
  font-size: 41px;
  font-weight: 700;
  text-align: center;
  margin: 100px auto 121px;
}

#charged .cont_inner>p span {
  position: absolute;
  top: -15px;
  left: -45px;
  color: #E60012;
  font-size: 62px;
}

#charged .cont_inner>p::after {
  position: absolute;
  bottom: 0;
  left: 0;
  content: "";
  width: 100%;
  height: 2px;
  background: #E60012;
}

@media all and (max-width: 768px) {
  #charged {
    padding: 19.535vw 0 36.14vw;
  }

  #charged .cont_inner>p {
    font-size: 5.58vw;
    margin: 10vw 0 20.93vw 5vw;
  }

  #charged .cont_inner>p span {
    position: absolute;
    top: -3.5vw;
    left: -7vw;
    font-size: 9.53vw;
  }
}

/*-- generations common --*/
#charged .cont_sub_inner.fl {
  align-items: flex-start;
}

#charged .cont_sub_inner.fl h4 {
  position: relative;
  color: #009944;
  font-size: 32px;
  text-align: center;
  padding: 13px 10px;
  margin-bottom: 77px;
  background: #fff;
  border-radius: 28px;
}

@media all and (min-width: 769px) {
  #charged .cont_sub_inner.fl>div {
    width: 47%;
  }

  .step_list .swiper-wrapper {
    display: block;
  }
}

@media all and (max-width: 850px) and (min-width: 769px) {
  #charged .cont_sub_inner.fl h4 {
    font-size: 25px;
  }
}

@media all and (max-width: 768px) {
  #charged .cont_sub_inner.fl {
    flex-direction: column;
  }

  #charged .cont_sub_inner.fl h4 {
    position: absolute;
    top: 0;
    left: -3.560vw;
    width: 100vw;
    font-size: 4.65vw;
    padding: 4.419vw 2.326vw;
    margin-bottom: 0;
    border-radius: 0;
  }
}

/*--step_list--*/
#charged .step_list .fl {
  align-items: flex-start;
}

#charged .step_list p {
  font-size: 18px;
}

#charged .step_list p span {
  display: table;
  width: 91px;
  color: #fff;
  font-size: 19px;
  font-weight: 600;
  text-align: center;
  padding: 4px 10px 6px;
  margin-bottom: 8px;
  background: #009944;
  border-radius: 40px;
}

#charged .step_list p.notes {
  font-size: 14px;
}

@media all and (min-width: 769px) {
  #charged .step_list p {
    width: 209px;
  }
}

@media all and (max-width: 768px) {
  #charged .step_list {
    width: 93vw;
    position: relative;
  }

  #charged .step_list .fl {
    flex-direction: column;
  }

  #charged .step_list picture {
    width: 75.814vw;
    margin: 0 auto;
  }

  #charged .step_list picture img {
    width: 100% !important;
  }

  #charged .step_list p {
    width: 75.814vw;
    font-size: 4.18vw;
    margin: 4.884vw auto 0;
  }

  #charged .step_list p span {
    width: 21.93vw;
    font-size: 4.41vw;
    padding: 0.93vw 2.326vw 1.395vw;
    margin-bottom: 1.86vw;
    border-radius: 9.302vw;
  }

  #charged .step_list p.notes {
    font-size: 2.79vw;
    margin: 0;
  }

  #charged .step_list .swiper-button-prev {
    top: 22vw;
  }

  #charged .step_list .swiper-button-next {
    top: 22vw;
  }
}

/*-- generations 3th --*/
#charged .generations_3th h4::before {
  content: "";
  position: absolute;
  bottom: 0;
}

@media all and (min-width: 769px) {
  #charged .generations_3th h4::before {
    left: 37px;
    width: 80px;
    height: 123px;
    background-image: url("/oos/adv/intlcard02/hg/image/charged_3th_atm.png");
    background-position: top left;
    background-repeat: no-repeat;
  }

  #charged .generations_3th .step_02 {
    position: relative;
    margin: 80px 0;
  }

  #charged .generations_3th .step_02::before {
    content: "";
    position: absolute;
    top: -47px;
    left: 107px;
    width: 34px;
    height: 23px;
    background: url("/oos/adv/intlcard02/hg/image/icon_next.svg") center center no-repeat;
  }

  #charged .generations_3th .step_02::after {
    content: "";
    position: absolute;
    bottom: -47px;
    left: 107px;
    width: 34px;
    height: 23px;
    background: url("/oos/adv/intlcard02/hg/image/icon_next.svg")
  }
}

@media all and (max-width: 850px) and (min-width: 769px) {
  #charged .generations_3th h4::before {
    left: 2.5vw;
  }
}

@media all and (max-width: 768px) {
  #charged .generations_3th {
    position: relative;
    padding-top: 23.72vw;
    margin-bottom: 22.047vw;
  }

  #charged .generations_3th h4::before {
    left: 13.023vw;
    width: 15.116vw;
    height: 22.791vw;
    background-image: url("/oos/adv/intlcard02/hg/image/charged_3th_atm_sp.png");
    background-position: top left;
    background-repeat: no-repeat;
    background-size: cover;
  }

  #charged .generations_3th .step_03 .fl>div {
    width: 75.814vw;
    margin: 0 auto;
  }
}

/*-- generations 4th --*/
#charged .generations_4th h4::before {
  content: "";
  position: absolute;
  bottom: 0;
}

@media all and (min-width: 769px) {
  #charged .generations_4th h4::before {
    left: 37px;
    width: 80px;
    height: 123px;
    background-image: url("/oos/adv/intlcard02/hg/image/charged_4th_atm.png");
    background-position: top left;
    background-repeat: no-repeat;
  }

  #charged .generations_4th .step_01,
  #charged .generations_4th .step_02,
  #charged .generations_4th .step_03 {
    position: relative;
    margin: 80px 0;
  }

  #charged .generations_4th .step_01::after,
  #charged .generations_4th .step_02::after,
  #charged .generations_4th .step_03::after {
    content: "";
    position: absolute;
    bottom: -47px;
    left: 107px;
    width: 34px;
    height: 23px;
    background: url("/oos/adv/intlcard02/hg/image/icon_next.svg")
  }
}

@media all and (max-width: 850px) and (min-width: 769px) {
  #charged .generations_4th h4::before {
    left: 2.5vw;
  }
}

@media all and (max-width: 768px) {
  #charged .generations_4th {
    position: relative;
    padding-top: 23.72vw;
  }

  #charged .generations_4th h4::before {
    left: 13.023vw;
    width: 15.116vw;
    height: 22.791vw;
    background-image: url("/oos/adv/intlcard02/hg/image/charged_4th_atm_sp.png");
    background-position: top left;
    background-repeat: no-repeat;
    background-size: cover;
  }
}

/*==============================*/
/*== 12:footer =================*/
footer {
  padding: 97px 0 153px;
  background: #009944;
}

footer p.logo {
  width: 175px;
  margin: 0 auto 25px;
}
footer p.copyright {
  color: #fff;
  font-size: 12px;
  text-align: center;
  margin-top: 25px;
}

footer ul {
  text-align: center;
  margin: 0 auto;
}

footer ul li {
  display: inline-block;
}

footer ul li a {
  color: #fff;
  font-weight: 600;
}

@media all and (min-width: 769px) {
  footer ul li {
    display: inline-block;
    font-size: 16px;
    padding-right: 26px;
    margin-right: 26px;
    border-right: #fff 1px solid;
  }

  footer ul li:last-child {
    padding-right: 0;
    margin-right: 0;
    border-right: none;
  }
}

@media all and (max-width: 768px) {
  footer {
    padding: 16.04vw 0 20.93vw;
  }

  footer p.logo {
    width: 35.814vw;
    margin: 0 auto 7.209vw;
  }

  footer p.logo img {
    width: 100%;
    margin: 0 auto;
  }

  footer ul li {
    display: block;
    font-size: 3.72vw;
    margin-bottom: 6.047vw;
  }

  footer ul li:last-child {
    margin-bottom: 0;
  }
}

/*==============================*/