@charset "UTF-8";
body {
  background-color: #ffffff;
}

#fixedNaviVisitor {
  background-color: #fff;
}
@media screen and (min-width: 769px) {
  #fixedNaviVisitor {
    width: 100%;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 9;
  }
}

.globalmenu_visitor_wrap {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 20px 10px 10px 10px;
}
@media screen and (min-width: 768px) {
  .globalmenu_visitor_wrap {
    padding: 20px;
  }
}

.globalmenu_visitor {
  display: flex;
  width: 100%;
  z-index: 10;
}
@media screen and (min-width: 769px) {
  .globalmenu_visitor {
    width: 500px;
    border: 1px solid #E50127;
    border-radius: 8px;
    background-color: #ffffff;
  }
}
@media screen and (max-width: 767px) {
  .globalmenu_visitor {
    position: fixed;
    bottom: 0;
    left: 0;
    border-top: 1px solid #B9B9B9;
    background-color: #F4F4F4;
  }
}
.globalmenu_visitor li {
  display: block;
  flex: 1;
}
.globalmenu_visitor li:not(:last-of-type) {
  border-right: 1px solid #B9B9B9;
}
.globalmenu_visitor li:first-of-type a {
  border-radius: 8px 0 0 8px;
}
.globalmenu_visitor li:last-of-type a {
  border-radius: 0 8px 8px 0;
}
.globalmenu_visitor li a {
  height: 100%;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  padding: 8px;
  color: inherit;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  .globalmenu_visitor li a {
    padding: 10px;
  }
}
.globalmenu_visitor li a img {
  width: 25px;
  padding: 4px 0 4px 0;
}
@media screen and (min-width: 768px) {
  .globalmenu_visitor li a img {
    padding: 4px 0 8px 0;
  }
}
@media screen and (max-width: 767px) {
  .globalmenu_visitor li a {
    font-size: 12px;
  }
}
.globalmenu_visitor li a:hover {
  background: #FFE8E5;
}

.globalmenu_visitorLogo a {
  display: flex;
  align-items: center;
  gap: 8px;
}

.visitorHeadTitle, .visitorRedlineTitle {
  display: block;
  font-size: 22px;
  font-weight: bold;
  line-height: 1.4;
  margin-bottom: 30px;
  padding: 5px 10px 5px 20px;
  position: relative;
}
.visitorHeadTitle::after, .visitorRedlineTitle::after {
  content: "";
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  border-left: 10px solid #E50127;
  border-radius: 5px;
}

.visitorePurchaseGrid {
  display: grid;
  grid-template-columns: clamp(130px, 90px + 10vw, 200px) auto;
  grid-column-gap: 0px;
  grid-row-gap: 20px;
  align-items: center;
}

.visitorePurchaseGrid-error {
  grid-area: 3/1/3/3;
}

.visitorTop_inner {
  margin: 0 auto;
  padding-right: 10px;
  padding-left: 10px;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .visitorTop_inner {
    width: 100%;
  }
}
@media screen and (min-width: 768px) {
  .visitorTop_inner {
    box-shadow: 0px 0px 15px 0px rgba(70, 70, 70, 0.2);
  }
}

.innerScale {
  transform-origin: left top;
  transform: scale(1);
}
@media screen and (min-width: 768px) {
  .innerScale {
    position: absolute;
    left: calc(100vw - 50% - 300px);
    width: 390px;
    transform-origin: left top;
    transform: scale(1.53);
  }
}

.visitor_inner {
  line-height: 1.65;
  margin: 0 auto;
  background-color: #ffffff;
}
@media screen and (max-width: 767px) {
  .visitor_inner {
    width: 100%;
    padding: 10px 10px 0 10px;
  }
}
@media screen and (min-width: 768px) {
  .visitor_inner {
    width: 600px;
    padding: 20px 20px 0 20px;
    box-shadow: 0px 0px 15px 0px rgba(70, 70, 70, 0.2);
  }
}

.visitor_inner, .visitor_innerTopadjust {
  margin-top: 30px;
}
@media screen and (min-width: 768px) {
  .visitor_inner, .visitor_innerTopadjust {
    margin-top: 140px;
  }
}

.visitor_innerFooter {
  margin: auto -10px;
  padding-top: 60px;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  .visitor_innerFooter {
    margin: auto -20px;
  }
}
.visitor_innerFooter a {
  color: inherit;
  font-weight: inherit;
}

.visitor_innerFooter_bottom ul li, .visitor_innerFooter_top ul li {
  display: flex;
  padding: 5px 0;
}
.visitor_innerFooter_bottom ul li:not(:last-of-type)::after, .visitor_innerFooter_top ul li:not(:last-of-type)::after {
  content: "|";
  width: 32px;
  text-align: center;
}

.visitor_innerFooter_top {
  padding: 10px 10px 20px 10px;
  background-color: #464646;
  position: relative;
}
@media screen and (min-width: 768px) {
  .visitor_innerFooter_top {
    padding: 20px;
  }
}
.visitor_innerFooter_top ul {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}

.visitor_innerFooter_bottom {
  padding: 30px 10px 10px 10px;
  background-color: #464646;
}
@media screen and (min-width: 768px) {
  .visitor_innerFooter_bottom {
    padding: 40px 20px 20px 20px;
  }
}
.visitor_innerFooter_bottom ul {
  display: flex;
  flex-wrap: wrap;
}

.visitor_innerFooter_copy {
  background: #B9B9B9;
  text-align: center;
  color: #000;
  font-size: 12px;
  padding: 10px 0 80px 0;
}
@media screen and (min-width: 768px) {
  .visitor_innerFooter_copy {
    padding: 20px 0 60px 0;
  }
}

.footer_logo_bm {
  padding-top: 20px;
}

.footer_logoHome {
  display: flex;
  align-items: center;
  gap: 16px;
  padding-top: 40px;
  padding-bottom: 10px;
}
.footer_logoHome > h5 {
  font-size: 18px;
}

.visitor_innerFooter_topneko {
  display: none;
  position: absolute;
  height: 54px;
  bottom: -8px;
  right: 10px;
}

.hamburgerMenu {
  position: fixed;
  top: 5px;
  right: 10px;
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  width: 50px;
  height: 50px;
  background-color: white;
  border-radius: 50%;
  transition: transform 250ms ease;
  cursor: pointer;
  z-index: 200;
}
@media screen and (min-width: 768px) {
  .hamburgerMenu {
    top: 22px;
    right: 20px;
  }
}
.hamburgerMenu span {
  position: relative;
  display: block;
  width: 50%;
  height: 3px;
  border-radius: 2px;
  background-color: #444;
  float: left;
  transform-origin: center center;
  transition: transform 250ms ease;
  z-index: 200;
}
.hamburgerMenu span:nth-of-type(1) {
  transform: translateY(-6px);
}
.hamburgerMenu span:nth-of-type(3) {
  transform: translateY(6px);
}

#hamburgerMenu {
  display: none;
}
#hamburgerMenu:checked ~ .hamburgerMenu {
  background-color: transparent;
  transform: rotate(360deg);
  transition: transform 250ms ease;
}
#hamburgerMenu:checked ~ .hamburgerMenu span {
  background-color: #444;
  transition: transform 250ms ease;
}
#hamburgerMenu:checked ~ .hamburgerMenu span:nth-of-type(1) {
  transform: translateY(1px) rotate(45deg);
}
#hamburgerMenu:checked ~ .hamburgerMenu span:nth-of-type(2) {
  display: none;
}
#hamburgerMenu:checked ~ .hamburgerMenu span:nth-of-type(3) {
  transform: translateY(-1px) rotate(-45deg);
}
#hamburgerMenu:checked ~ .visitorHamburger {
  right: 0px;
  transition: right 400ms ease;
}
#hamburgerMenu:checked ~ main {
  transform: translateX(250px);
  transition: transform 400ms ease;
}

.visitorHamburger {
  position: fixed;
  top: 0;
  right: max(-100vw, -400px);
  width: min(100vw, 400px);
  height: 100vh;
  margin: 0;
  padding: 30px;
  color: #000;
  background-color: #fafafa;
  transition: right 400ms ease;
  z-index: 110;
}
@media screen and (min-width: 768px) {
  .visitorHamburger {
    box-shadow: 0px 0px 15px 0px rgba(70, 70, 70, 0.2);
  }
}
.visitorHamburger a {
  color: inherit;
  font-size: 14px;
  font-weight: normal;
  text-decoration: none;
}
.visitorHamburger .secondLink a {
  display: block;
  padding: 7px 0;
}
.visitorHamburger .secondLink a i {
  vertical-align: -2px;
  font-size: 150%;
}
.visitorHamburger ul {
  position: relative;
  list-style-type: none;
  margin-top: 30px;
  padding: 0;
  border: 1px solid #cccccc;
}
.visitorHamburger ul li {
  position: relative;
  display: block;
}
.visitorHamburger ul li:not(:last-child) {
  border-bottom: 1px solid #cccccc;
}
.visitorHamburger ul li a {
  position: relative;
  display: flex;
  gap: 10px;
  margin: 0;
  padding: 15px;
}
.visitorHamburger ul li a:before {
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 0;
  height: 100%;
  transition: width 350ms ease;
  z-index: -1;
}
.visitorHamburger ul li a:after {
  position: absolute;
  content: "\f105";
  top: 0;
  right: 20px;
  font-family: FontAwesome;
  font-size: 22px;
  padding-top: 9px;
  color: #E60027;
}
.visitorHamburger ul li a:hover {
  color: #000;
}
.visitorHamburger ul li a:hover:before {
  width: 100%;
  height: 100%;
  background-color: #ccc3c3;
  transition: width 350ms ease;
}

.img_visitor_top {
  margin: 0 -10px;
  background-image: url("../english/images/visitor_top.jpg");
  height: 400px;
  background-size: cover;
  background-repeat: no-repeat;
}

.simtype_button_wrap {
  display: flex;
  justify-content: center;
  gap: 10px;
}
@media screen and (max-width: 767px) {
  .simtype_button_wrap {
    flex-direction: row;
  }
}
.simtype_button_wrap img {
  width: 165px;
}

.simtype_button_box_2, .simtype_button_box_1 {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-position: center;
  width: 165px;
  height: 280px;
  position: relative;
}
.simtype_button_box_2 img, .simtype_button_box_1 img {
  position: absolute;
  width: 100px;
  top: 40px;
}
.simtype_button_box_2 a, .simtype_button_box_1 a {
  position: absolute;
  bottom: 35px;
}

.simtype_button_box_1 {
  background-image: url("../english/images/simtype_button_box_1.png");
}

.simtype_button_box_2 {
  background-image: url("../english/images/simtype_button_box_2.png");
}

.bg_visitor_red {
  background-color: #FFE8E5;
  padding: 30px 10px;
  margin: 0 -10px;
}

.img_howtouse_device {
  width: 200px;
  margin: auto;
}

.img_howtouse_flow {
  margin-top: 30px;
  text-align: center;
}

.howtouse_people_base {
  position: relative;
}

.img_howtouse_people {
  position: absolute;
  bottom: -3px;
  right: 10px;
  width: 150px;
  height: 150px;
}

.grid_box_container_why {
  display: grid;
  gap: 20px;
  grid-template-rows: repeat(3, auto-fit);
  justify-content: center;
}

.grid_box_why {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border: #E2A1A9 solid 3px;
  background-color: #ffffff;
  padding: 20px 20px 40px 20px;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .grid_box_why {
    flex-direction: column;
  }
}
.grid_box_why img {
  max-height: 120px;
  max-width: 80%;
}
.grid_box_why p {
  margin-top: 30px;
}

.flex_container_about {
  display: flex;
  flex-direction: column;
  gap: 40px;
}

.flex_box_about {
  display: flex;
  flex-direction: row;
  gap: 5px;
}
.flex_box_about img {
  height: 215px;
  width: 175px;
}

.visitor_esim_description {
  font-weight: bold;
  font-size: 18px;
}

.payments_brand_esim {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  gap: 15px;
  padding: 20px 20px;
  background-color: #fff;
  border-radius: 5px;
}
.payments_brand_esim img {
  width: 50px;
  height: 50px;
}

.lp_payments_block_esim p {
  font-size: 20px;
}

.statuspageFunctions {
  display: flex;
  flex-direction: column;
  gap: 5px;
}

.function_box {
  display: grid;
  grid-template-columns: 40px auto;
  gap: 25px;
  align-items: center;
  padding: 15px;
  height: 70px;
  border: #D1D1D1 solid 1px;
  background-color: #fff;
}
.function_box img {
  max-height: 40px;
  margin: auto;
}

.btn_visitor_flex_plans {
  position: relative;
  line-height: 1.3;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  font-size: calc(1em + 0.1vw);
  font-weight: inherit;
  padding: 8px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
  border: 0 solid #fff;
  background: #E60027;
  color: #ffffff;
  border-radius: 10px;
  height: 40px;
  width: 135px;
  position: relative;
  border-radius: 3em;
  font-weight: bold;
}
.btn_visitor_flex_plans::after {
  font-weight: inherit;
  content: "\f105";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1.2em;
  color: inherit;
  display: inline-block;
  margin-right: 0.24em;
  margin-left: 0.24em;
}
.btn_visitor_flex_plans::after {
  position: absolute;
  right: 2%;
}

.visitor_section_seperator {
  border-top: #C9C8C8 solid 1px;
}

.news_section_wrapper dl {
  background-color: #fff;
  margin-bottom: 10px;
  padding: 15px;
}
.news_section_wrapper dt {
  font-weight: bold;
  margin-bottom: 10px;
}

.visitorHeadTitleSupport {
  color: #000000;
  font-size: 20px;
  margin-bottom: 20px;
}

#fixedBox + .content_inner {
  min-height: 600px;
}

.color_red-en {
  color: #E60027;
}

.header-en {
  display: flex;
  justify-content: space-between;
  align-items: center;
  border-bottom: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .header-en {
    flex-direction: row;
  }
}

.header_logo {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .header_logo {
    flex-direction: column;
  }
}
.header_logo a {
  display: inline-block;
  width: 50vw;
  padding: 16px 0;
}
@media screen and (min-width: 768px) {
  .header_logo a {
    padding: 20px 20px 20px 0;
  }
}
@media screen and (min-width: 768px) {
  .header_logo a {
    width: 250px;
  }
}

.header_copy {
  display: none;
}
@media screen and (min-width: 768px) {
  .header_copy {
    display: block;
  }
}

.header_aaa_bcg {
  background: url(../aaa/images/header_aaa_bcg.svg) center center/cover no-repeat;
}

.header_aaa {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  height: 60px;
}
@media screen and (max-width: 767px) {
  .header_aaa {
    flex-direction: row;
  }
}
.header_aaa .logo_aaa {
  height: 40px;
  padding: 0 10px;
}

.globalmenu_eng {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .globalmenu_eng {
    flex-direction: row;
  }
}
.globalmenu_eng li {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .globalmenu_eng li {
    flex: 24%;
    border-right: 1px solid #ccc;
    border-bottom: 1px solid #ccc;
  }
}
.globalmenu_eng li a {
  width: 100%;
  line-height: 30px;
  display: block;
  text-align: center;
  color: inherit;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .globalmenu_eng li a {
    line-height: 60px;
  }
}
@media screen and (max-width: 767px) {
  .globalmenu_eng li a {
    font-size: 14px;
  }
}
.globalmenu_eng li a:hover {
  background: #FBDACD;
}

.globalmenu_engbuy {
  color: #fff;
  background: #E60027;
}

.globalmenu_border {
  background: #fff;
  border-top: 1px solid #ccc;
  border-bottom: 5px solid #000;
}

.scroll-table {
  overflow: auto;
  white-space: nowrap;
}
.scroll-table table {
  margin: 0;
}

.table_chart th, .table_chart td {
  border: 1px solid #ccc;
  text-align: center;
  vertical-align: middle;
  padding: 3px;
}
@media screen and (min-width: 768px) {
  .table_chart th, .table_chart td {
    padding: 6px;
  }
}
.table_chart th {
  background: #000;
  color: #fff;
  font-weight: normal;
}
.table_chart tr:nth-child(2) th {
  background: #f4f4f4;
  color: #000;
}
.table_chart tr:nth-child(2) th::before {
  font-weight: inherit;
  content: "\f07a";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}
.table_chart tr:nth-child(3) th {
  background: #f4f4f4;
  color: #000;
}
.table_chart tr:nth-child(3) th::before {
  font-weight: inherit;
  content: "\f0d1";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}
.table_chart tr:nth-child(4) th {
  background: #f4f4f4;
  color: #000;
}
.table_chart tr:nth-child(4) th::before {
  font-weight: inherit;
  content: "\f072";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}
.table_chart tr:nth-child(5) th {
  background: #f4f4f4;
  color: #000;
}
.table_chart tr:nth-child(5) th::before {
  font-weight: inherit;
  content: "\f1ab";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

.index_hero_en::after, .index_hero_en::before {
  content: "";
  display: block;
  background-image: url("/english/images/band_pattern.png");
  height: 50px;
  background-size: contain;
  background-repeat: repeat;
  box-sizing: content-box;
}

/* index共通部分ここから */
.index_hero_en {
  background: #DFB73D;
}
.visitorsim_logo {
  width: 300px;
  margin-bottom: 30px;
}

.top_white_text {
  margin-top: 25px;
  margin-bottom: 40px;
  border: #fff 3px solid;
  border-radius: 7px;
  padding: 10px 65px;
}
.top_white_text p {
  font-weight: bold;
  font-size: 24px;
  color: #fff;
}

.bg_visitor_gray-5g, .bg_visitor_white-5g, .bg_visitor_yellow-5g {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  margin-top: 0;
  margin-bottom: 0;
  padding-top: 50px;
  padding-bottom: 50px;
}

.bg_visitor_gray, .bg_visitor_white, .bg_visitor_yellow {
  margin: 0 -10px;
  padding: 30px 10px;
}

.bg_visitor_yellow {
  background-color: rgba(230, 198, 99, 0.32);
}
.bg_visitor_white {
  background-color: #FFFFFF;
}
.bg_visitor_gray {
  background-color: #F5F5F5;
}
.bg_visitor_yellow-5g {
  background-color: rgba(230, 198, 99, 0.32);
}
.bg_visitor_white-5g {
  background-color: #FFFFFF;
}
.bg_visitor_gray-5g {
  background-color: #F5F5F5;
}

.intro_visitor {
  text-align: center;
}

.visitor_sectitle {
  display: flex;
  align-items: center;
  font-size: 35px;
  margin-bottom: 40px;
  width: 100em;
}
.visitor_sectitle h2 {
  margin-right: 40px;
  white-space: nowrap;
  color: #000000;
}
.visitor_sectitle div {
  border-top: 6px solid #000;
  width: 100%;
}

.plan_cards {
  display: flex;
  flex-wrap: nowrap;
  justify-content: space-around;
}
@media screen and (max-width: 767px) {
  .plan_cards {
    flex-direction: column;
  }
}

.card_box {
  border-radius: 10px;
  background-color: #fff;
  padding: 30px 25px;
  max-width: 400px;
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .card_box {
    flex-direction: column;
  }
}
.card_box.color_5gb {
  border: solid 10px #E60027;
}
.card_box.color_7gb {
  border: solid 10px #DFB73D;
}

.card_box_text {
  margin: 25px 0;
}

.plan_card_title {
  width: 180px;
  margin-bottom: 25px;
}

.plan_card_image {
  width: 300px;
}

.card_box_text_row {
  display: flex;
  flex-direction: row;
}
.card_box_text_row img {
  width: 20px;
  height: 20px;
  margin-right: 10px;
}
.card_box_text_row p {
  font-weight: bold;
  font-size: 16px;
}
.card_box_text_row:not(:last-child) {
  margin-bottom: 10px;
}

.charge_sec_desc {
  position: relative;
}
.charge_sec_desc div p {
  font-size: 18px;
}
.charge_sec_desc div p span {
  display: inline-block;
  font-size: 24px;
  color: #E60027;
  margin: 20px 0;
}
@media screen and (max-width: 767px) {
  .charge_sec_desc div p span {
    margin: 5px 0;
  }
}

@media screen and (min-width: 768px) {
  .lp_charge_block {
    text-align: center;
  }
}
.lp_charge_block > p {
  margin-bottom: 30px;
}

.lp_howtouse_block {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .lp_howtouse_block {
    flex-direction: column;
  }
}

.grid_box_container {
  display: grid;
  gap: 10px;
  grid-template-columns: repeat(2, minmax(170px, 400px));
  grid-template-rows: repeat(3, auto-fit);
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .grid_box_container {
    gap: 30px;
  }
}

.grid_box {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: flex-start;
  align-items: center;
  border: #DFB73D solid 3px;
  padding: 20px 20px 40px 20px;
}
@media screen and (max-width: 767px) {
  .grid_box {
    flex-direction: column;
  }
}
.grid_box img {
  width: 90px;
  height: 90px;
}
.grid_box p:first-of-type {
  margin-top: 20px;
  margin-bottom: 15px;
  text-align: center;
  color: #E60027;
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .grid_box p:first-of-type {
    margin-top: 30px;
    font-size: 24px;
  }
}

.charge_sec_desc::after {
  content: "";
  position: absolute;
  top: 0;
  right: 70px;
  background-image: url("/english/images/charge_deco.png");
  background-size: contain;
  background-repeat: no-repeat;
  width: 60px;
  height: 60px;
}

.btn_visitor {
  line-height: 1.3;
  min-width: 150px;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  min-height: 60px;
  cursor: pointer;
  font-size: calc(1em + 0.1vw);
  font-weight: inherit;
  margin-right: auto;
  margin-left: auto;
  padding: 8px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
  border: 3px solid #E60027;
  background: #FFFFFF;
  color: #000000;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
  position: relative;
  border-radius: 3em;
  font-weight: bold;
  margin-top: 40px;
}
@media screen and (max-width: 767px) {
  .btn_visitor {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_visitor + p, .btn_visitor + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_visitor {
    padding: 16px;
  }
}
.btn_visitor::after {
  font-weight: inherit;
  content: "\f105";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1.2em;
  color: inherit;
  display: inline-block;
  margin-right: 0.24em;
  margin-left: 0.24em;
}
.btn_visitor::after {
  position: absolute;
  right: 2%;
}
.btn_visitor_plans {
  line-height: 1.3;
  min-width: 150px;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  min-height: 60px;
  cursor: pointer;
  font-size: calc(1em + 0.1vw);
  font-weight: inherit;
  padding: 8px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
  border: 0 solid #fff;
  background: #E60027;
  color: #ffffff;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
  position: relative;
  border-radius: 3em;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .btn_visitor_plans {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_visitor_plans + p, .btn_visitor_plans + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_visitor_plans {
    padding: 16px;
  }
}
.btn_visitor_plans::after {
  font-weight: inherit;
  content: "\f105";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1.2em;
  color: inherit;
  display: inline-block;
  margin-right: 0.24em;
  margin-left: 0.24em;
}
.btn_visitor_plans::after {
  position: absolute;
  right: 2%;
}

.image_howtouse_description {
  margin-top: 45px;
  width: 320px;
}
@media screen and (min-width: 768px) {
  .image_howtouse_description {
    width: 800px;
  }
}

.image_howtouse_illustration {
  width: 200px;
}
@media screen and (min-width: 768px) {
  .image_howtouse_illustration {
    width: 250px;
  }
}

.howtouse_note {
  margin-top: 60px !important;
  font-size: 16px;
}
.howtouse_note span {
  font-size: 18px;
  font-weight: bold;
  color: #E60027;
}

.lp_payments_block p {
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .lp_payments_block p {
    font-size: 24px;
  }
}

.payments_brand {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 20px 20px;
  background-color: #fff;
  border-radius: 20px;
  margin-top: 50px;
}
@media screen and (max-width: 767px) {
  .payments_brand {
    flex-direction: row;
  }
}
@media screen and (max-width: 767px) {
  .payments_brand {
    width: 300px;
    margin-top: 20px;
  }
}
.payments_brand img {
  width: 60px;
  height: 60px;
}

.lp_payments_block {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .lp_payments_block {
    flex-direction: column;
  }
}

.lp_statuspage_block {
  text-align: center;
}
.lp_statuspage_block p {
  font-size: 20px;
}

.icon_wrapper {
  display: grid;
  grid-template-columns: repeat(4, 150px);
  justify-content: center;
  gap: 30px;
  margin-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .icon_wrapper {
    grid-template-rows: repeat(2, 90px);
    grid-template-columns: repeat(2, 90px);
    gap: 10px 30px;
  }
}

.lp_support_block {
  text-align: center;
}
.lp_support_block img {
  margin-bottom: 40px;
}

.social_link {
  display: flex;
  flex-direction: row;
  align-items: center;
  justify-content: center;
}
.social_link p {
  font-size: 20px;
}
.social_link i {
  color: #000;
  font-size: 30px;
}
.social_link a {
  margin-left: 20px;
}

.hrbold {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  border-top: 6px solid #000;
}

.index_bg_gray {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  background-color: #F4F4F4;
}

.index_title {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  border-top: 5px solid #000;
  color: #000;
  margin-top: 15px;
}
@media screen and (min-width: 768px) {
  .index_title {
    margin-top: 30px;
  }
}
.index_title h4 {
  position: relative;
  top: -14px;
  text-align: center;
  font-size: 20px;
}
.index_title h4 span {
  background-color: #fff;
  padding: 0 20px;
}

.six_box_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .six_box_wrap {
    flex-direction: row;
  }
}

.index_future {
  display: flex;
  align-items: center;
  padding: 20px 10px;
  gap: 20px;
  flex: 1;
}
@media screen and (max-width: 767px) {
  .index_future {
    flex-direction: row;
  }
  .index_future:not(:first-child) {
    border-top: 1px solid #ccc;
  }
}
@media screen and (min-width: 768px) {
  .index_future {
    flex-direction: column;
  }
  .index_future:not(:first-child) {
    border-left: 1px solid #ccc;
  }
}
.index_future div:last-child {
  flex: 1;
  line-height: 1.1;
}

.index_future_1st {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  flex-basis: 110px;
}
@media screen and (max-width: 767px) {
  .index_future_1st {
    flex-direction: column;
  }
}
.index_future_1st img {
  max-width: 110px;
}

.index_future_desc {
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  .index_future_desc {
    font-size: 16px;
  }
}

.index_future_merit {
  color: #E60027;
  font-size: 22px;
}
@media screen and (min-width: 768px) {
  .index_future_merit {
    font-size: 18px;
  }
}

.index_important-en {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  padding-top: 20px;
  padding-bottom: 20px;
  background: #f4f4f4;
  margin-bottom: -40px;
}
.index_important-en h3 {
  color: #E60027;
  font-size: 130%;
  margin-bottom: 10px;
}
.index_important-en h4 {
  color: #000;
  font-size: 110%;
  margin-bottom: 10px;
}

/* indexここまで */
.backg_5gb {
  background: #E60027 !important;
}

.backg_7gb {
  background: #DFB73D !important;
}

.table_res01 {
  width: 100%;
}
.table_res01 col:first-child {
  background: #f4f4f4;
}
.table_res01 th, .table_res01 td {
  padding: 5px;
  border: 1px solid #ccc;
}
@media screen and (min-width: 768px) {
  .table_res01 th, .table_res01 td {
    padding: 10px;
  }
}
.table_res01 th {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .table_res01 th {
    white-space: nowrap;
  }
}
.table_res01 a > img {
  padding: 5px;
}
@media screen and (min-width: 768px) {
  .table_res01 a > img {
    padding: 10px;
  }
}
@media screen and (min-width: 768px) {
  .table_res01 a > img {
    width: 200px;
  }
}

.mini_table {
  width: 100%;
}
.mini_table th {
  background: #f4f4f4;
}

.service_deadline_image {
  display: flex;
  align-items: center;
  background-color: #D8B855;
  padding-bottom: 15px;
  font-weight: bold;
}
.service_deadline_image div:first-child {
  width: 20%;
  padding: 10px;
  background-color: #D02D32;
  text-align: center;
  color: #fff;
}
.service_deadline_image div:not(:first-child) {
  flex-grow: 1;
  text-align: center;
}

.guide_yellow, .guide_red {
  display: flex;
  align-items: center;
}

.guide_red::before {
  content: "■";
  color: #D02D32;
  font-size: 30px;
}

.guide_yellow::before {
  content: "■";
  color: #D8B855;
  font-size: 30px;
}

.pagetitle-en {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  padding-top: 20px;
  padding-bottom: 20px;
  margin-bottom: 30px;
  background: #f4f4f4;
  font-size: 1.5em;
}
@media screen and (min-width: 768px) {
  .pagetitle-en {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

.requirements {
  display: grid;
  grid-template-columns: 1fr;
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
}
@media screen and (min-width: 768px) {
  .requirements {
    grid-template-columns: 1fr 3fr;
  }
}
@media screen and (min-width: 768px) {
  .requirements {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.requirements .icon_fig {
  text-align: center;
  background: #f4f4f4;
  padding: 15px;
}

.table_device td, .table_device th {
  border: 1px solid #ccc;
  padding: 10px;
}
.table_device tr:nth-child(even) {
  background-color: #f4f4f4;
}

/*purchase */
.visitor_purchasetable {
  width: 100%;
  table-layout: fixed;
}
.visitor_purchasetable td {
  width: 40%;
  overflow-wrap: break-word;
  -webkit-hyphens: auto;
          hyphens: auto;
}
.visitor_purchasetable td:first-child {
  width: 20%;
  word-wrap: break-word;
  word-break: break-all;
}
.visitor_purchasetable tr:first-child td,
.visitor_purchasetable tr:nth-child(2) td {
  border-width: 0;
  text-align: center;
}
.visitor_purchasetable img {
  max-width: 100px;
}

.icon_01 {
  text-align: center;
  padding-bottom: 20px;
  font-size: 14px;
  font-weight: bold;
}
.icon_01 span {
  display: inline-block;
  font-size: 13px;
  padding: 10px 0;
}
@media screen and (min-width: 768px) {
  .icon_01 {
    width: 150px;
    margin-right: 30px;
  }
}

.settingStep {
  margin: 30px 0 10px 0;
}

.settingFig {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .settingFig {
    grid-template-columns: repeat(auto-fit, 170px);
  }
}

.deliverPrefGrid {
  display: grid;
  grid-template-columns: repeat(auto-fit, 100px);
  grid-template-rows: repeat(15, 1fr);
  grid-auto-flow: column;
  justify-content: space-between;
}
@media screen and (min-width: 769px) {
  .deliverPrefGrid {
    grid-template-rows: repeat(12, 1fr);
  }
}

.visitorButton,
.puchasebutton {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  width: min(300px, 90vw);
  padding: 10px 20px;
  text-align: center;
  border-radius: 50px;
  word-break: normal;
  border: 0;
  font-size: inherit;
  cursor: pointer;
  background-color: #E60027;
  color: #fff;
}
@media screen and (max-width: 767px) {
  .visitorButton,
  .puchasebutton {
    flex-direction: column;
  }
}

.visitorbutton_white {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  min-height: 50px;
  width: min(275px, 90vw);
  padding: 10px 20px;
  text-align: center;
  border-radius: 50px;
  word-break: normal;
  border: 0;
  font-size: inherit;
  cursor: pointer;
  border: 3px solid #E60027;
  background-color: #fff;
  color: #E60027;
}
@media screen and (max-width: 767px) {
  .visitorbutton_white {
    flex-direction: column;
  }
}

.visitorbutton_na {
  background-color: #b9b9b9 !important;
}

.purchase_btn {
  line-height: 1.3;
  min-width: 150px;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  min-height: 60px;
  cursor: pointer;
  font-size: calc(1em + 0.1vw);
  font-weight: inherit;
  padding: 8px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
  border: 2px solid #fff;
  background: #638fcd;
  color: #fff;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
  font-size: 20px;
  color: #004da1;
  background: #f4f4f4;
}
@media screen and (max-width: 767px) {
  .purchase_btn {
    margin-right: auto;
    margin-left: auto;
  }
}
.purchase_btn + p, .purchase_btn + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .purchase_btn {
    padding: 16px;
  }
}

.purchase_bm {
  background: #e7393c !important;
  color: #fff !important;
}

.online_wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .online_wrap {
    flex-direction: column;
  }
}

.content_flex {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
}
@media screen and (max-width: 767px) {
  .content_flex {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .content_flex {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.purchase_preconfirm {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 10px;
  border: 1px solid #E60027;
}
@media screen and (min-width: 768px) {
  .purchase_preconfirm {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .purchase_preconfirm {
    padding: 20px;
  }
}
.purchase_preconfirm dl dt, .purchase_preconfirm dl dd {
  display: table-cell;
  vertical-align: top;
  padding-bottom: 20px;
}
.purchase_preconfirm dl dt {
  width: 90px;
}

/*purchase */
.shop_wrap h3 {
  padding: 30px 0 40px 0;
}

.shop_list_wrap {
  display: grid;
  grid-template-columns: 1fr;
  gap: 20px;
}
@media screen and (min-width: 768px) {
  .shop_list_wrap {
    grid-template-columns: 1fr 1fr;
  }
}

.shop_list {
  height: 100%;
  width: 100%;
}
.shop_list th, .shop_list td {
  padding: 5px;
  font-size: 14px;
  border: 1px solid #ccc;
  word-break: break-word;
}
@media screen and (min-width: 768px) {
  .shop_list th, .shop_list td {
    padding: 10px;
  }
}
.shop_list th {
  width: 25%;
  background: #000;
  font-weight: normal;
  color: #fff;
}

/*shoplist */
/*charge */
.charge_title {
  padding-bottom: 10px;
  font-weight: normal;
  border-bottom: 2px solid #000;
}
@media screen and (min-width: 768px) {
  .charge_title {
    padding-left: 15px;
  }
}
.charge_title > span:first-of-type {
  font-size: 22px;
  display: block;
}
@media screen and (min-width: 768px) {
  .charge_title > span:first-of-type {
    display: inline-block;
    padding-right: 20px;
  }
}
.charge_title > span:nth-of-type(2) {
  font-size: 87.5%;
}

.box_bggray, .charge_in {
  background: #f4f4f4;
}

.arrow_responsive {
  margin: 20px auto;
}
.arrow_responsive::after {
  font-weight: inherit;
  content: "\f063";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 3em;
  color: #D1D1D1;
  display: inline-block;
  margin-right: 0.6em;
  margin-left: 0.6em;
}
@media screen and (min-width: 768px) {
  .arrow_responsive {
    margin: auto;
  }
  .arrow_responsive::after {
    font-weight: inherit;
    content: "\f061";
    font-family: FontAwesome;
    line-height: 1;
    font-size: 3em;
    color: #D1D1D1;
    display: inline-block;
    margin-right: 0.6em;
    margin-left: 0.6em;
  }
}

.box_charge2 {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .box_charge2 {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.box_bggray, .charge_in {
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .box_bggray, .charge_in {
    padding: 40px;
  }
}
.box_bggray-h6 {
  text-indent: -25px;
  padding-left: 25px;
  font-weight: normal;
  font-size: 18px;
}
@media screen and (min-width: 768px) {
  .box_bggray-h6 {
    padding-left: 0;
  }
}

.charge_in {
  text-align: center;
  padding: 30px 10px;
}
.charge_in img {
  padding-bottom: 10px;
  max-width: 60px;
}

.text_note-en {
  font-size: 14px;
  font-weight: bold;
  color: #E60027;
}

.charge_howto_block:not(:last-child) {
  margin-bottom: 30px;
}
.charge_howto_block p {
  padding-left: 10px;
}

.charge_howto_title {
  margin-bottom: 10px;
  border-bottom: 2px solid #000;
  font-weight: normal;
  font-size: 18px;
}

.charge_howto_order {
  display: inline-block;
  text-align: center;
  margin: 0 10px 8px 10px;
  font-size: 22px;
  height: 30px;
  width: 30px;
  border-radius: 50%;
  background-color: #DFB73D;
}

.old_charge_block {
  display: flex;
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding-top: 10px;
  padding-bottom: 10px;
  width: 100%;
  border-bottom: 1px solid #ccc;
  border-top: 1px solid #ccc;
}
@media screen and (max-width: 767px) {
  .old_charge_block {
    flex-direction: row;
  }
}
@media screen and (min-width: 768px) {
  .old_charge_block {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .old_charge_block {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}
.old_charge_block img {
  max-width: 50px;
  margin-right: 10px;
}
@media screen and (min-width: 768px) {
  .old_charge_block img {
    max-width: 100px;
    margin-right: 20px;
  }
}

.esims_anchorbox {
  flex: 1;
  display: flex;
  padding: 15px 15px 15px 0;
  background: #E8E8E8;
  border-radius: 20px;
  align-items: center;
  color: inherit;
  word-break: normal;
}
.esims_anchorbox h3 {
  font-size: 26px;
  font-family: source-han-sans-japanese, sans-serif;
  text-align: center;
}
.esims_anchorbox_right {
  display: flex;
  flex-direction: column;
  flex: 1;
}
.esims_anchorbox_rightdesc {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 10px 0 0 10px;
  font-weight: bold;
  font-size: 14px;
}
@media screen and (min-width: 769px) {
  .esims_anchorbox_rightdesc {
    height: 74px;
  }
}
.esims_anchorbox_rightdesc::after {
  width: 40px;
  height: 40px;
  flex-basis: 40px;
  flex-shrink: 0;
  border-radius: 40px;
  background: url("/english/images/esims_anchorbox_rightArrow.svg") #fff no-repeat;
  background-position: center;
  content: "";
}
.esims_anchorbox_sepalator {
  width: 100%;
  height: 5px;
  background: #fff;
  box-shadow: 0px 0px 0px 2px #000;
}

.esims_benefitBox-wrap {
  display: flex;
  gap: 20px;
  margin: 30px 0;
  flex-wrap: wrap;
  justify-content: center;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .esims_benefitBox-wrap {
    flex-direction: row;
  }
  .esims_benefitBox-wrap > div {
    width: 48%;
  }
}

.esims_benefitBox {
  border: 1px solid #FDC74C;
  border-radius: 20px;
  padding: 20px 5px;
}
.esims_benefitBox img {
  width: 100px;
  height: 100px;
}

@media screen and (max-width: 767px) {
  .addedEsims_sectionTitle {
    margin-left: -16% !important;
  }
}

/* 2column CSSここから*/
.visitor_divider {
  height: 20px;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  background: #f4f4f4;
}

.box_wrap {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  margin-top: 10px;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .box_wrap {
    flex-direction: column;
  }
}

.two_column_left {
  padding: 5px;
  flex: 1;
}
@media screen and (min-width: 768px) {
  .two_column_left {
    padding: 10px;
  }
}
.two_column_left p {
  font-weight: bold;
  padding: 0px 0px 10px 0;
}

.two_column_right {
  padding: 5px;
  flex: 4;
}
@media screen and (min-width: 768px) {
  .two_column_right {
    padding: 10px;
  }
}
@media screen and (min-width: 768px) {
  .two_column_right {
    border-left: 1px solid #ccc;
  }
}

.textbox {
  margin-bottom: 1em;
  font-size: 14px;
}

.textbox a:hover {
  text-decoration: underline;
}

.imgbox_japanmap {
  padding: 10px;
  flex: 2;
}
@media screen and (min-width: 768px) {
  .imgbox_japanmap {
    padding: 20px;
  }
}

.inner_box_pref {
  flex: 3;
}

.apnbox {
  line-height: 1.3;
  min-width: 150px;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  min-height: 60px;
  cursor: pointer;
  font-size: calc(1em + 0.1vw);
  font-weight: inherit;
  padding: 8px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
  border: 2px solid #fff;
  background: #fff;
  color: #638fcd;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
  border: 1px solid #ccc;
  font-weight: bold;
  max-width: 300px;
}
@media screen and (max-width: 767px) {
  .apnbox {
    margin-right: auto;
    margin-left: auto;
  }
}
.apnbox + p, .apnbox + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .apnbox {
    padding: 16px;
  }
}
.apnbox::before {
  font-weight: inherit;
  content: "\f0ed";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

.delivery_faq dt {
  margin-top: 2em;
  font-weight: bold;
}
.delivery_faq dd {
  margin-top: 1em;
}

/*FAQ */
.faq_q, .faq_a {
  font-size: 18px;
}
.faq_q::before, .faq_a::before {
  font-weight: bold;
  display: inline-block;
  content: "Q.";
  margin-right: 10px;
}

.faq_q::before {
  content: "Q.";
  color: #E50127;
}

.faq_a::before {
  content: "A.";
  color: #065A85;
}

.faq_boxbutton {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
}
@media screen and (min-width: 768px) {
  .faq_boxbutton {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.faq_box_color {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  gap: 10px;
  max-height: 50px;
  padding: 5px;
  background: #f4f4f4;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
  border-radius: 10px;
}
.faq_box_color img {
  height: 90%;
}

.faq_column {
  margin-bottom: 40px;
}

.faq_text {
  text-align: center;
  padding: 20px;
  border-bottom: solid 1px #ccc;
}

.faqin h6 {
  font-weight: bold;
  margin-bottom: 8px;
}
.faqin div {
  padding: 30px 15px;
}
.faqin div:nth-child(even) {
  background-color: #f4f4f4;
}

.section_title_withicon {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-items: center;
  gap: 20px;
  font-size: 20px;
}
.section_title_withicon img {
  margin-right: 0;
}

.order_table,
.table_res02 {
  margin: 20px 0;
  width: 100%;
}
.order_table th, .order_table td,
.table_res02 th,
.table_res02 td {
  text-align: left;
  border: 1px solid #ccc;
  padding: 5px;
}
@media screen and (min-width: 768px) {
  .order_table th, .order_table td,
  .table_res02 th,
  .table_res02 td {
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .order_table th, .order_table td,
  .table_res02 th,
  .table_res02 td {
    display: block;
  }
}
.order_table th,
.table_res02 th {
  background: #f0f0f0;
}
@media screen and (min-width: 768px) {
  .order_table th,
  .table_res02 th {
    width: 20%;
  }
}

.table_res02 {
  font-size: 14px;
}

.order_table img.package {
  max-width: 150px;
  border: 1px solid #ccc;
}

.entry_checklist {
  margin-bottom: 30px;
  padding: 10px;
  background: #f4f4f4;
  border-radius: 5px;
}

.checkbox {
  display: flex;
  cursor: pointer;
  gap: 20px;
}
.checkbox input {
  display: none;
}
.checkbox input + .checkbox_fontAS {
  display: flex;
  flex-direction: column;
  justify-content: flex-start;
  padding-top: 5px;
}
.checkbox input + .checkbox_fontAS::before {
  font-weight: inherit;
  content: "\f096";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1.3em;
  color: #ccc;
  display: inline-block;
  margin-right: 0.26em;
  margin-left: 0.26em;
}
.checkbox input:checked + .checkbox_fontAS:before {
  color: #1782fd;
  content: "\f14a";
}

input[type=checkbox]:checked + .checkbox2:before {
  opacity: 1;
}

.checkbox2 {
  box-sizing: border-box;
  position: relative;
  display: inline-block;
  margin: 0 20px 0 0;
  padding: 0 0 0 30px;
  vertical-align: middle;
  cursor: pointer;
}

.checkbox2 > input[type=checkbox] {
  display: none;
}

.checkbox2:hover:after {
  border-color: #27d2ff;
}

.checkbox2:after {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  left: 0;
  margin-top: -12px;
  width: 18px;
  height: 18px;
  border: 2px solid #bbb;
  border-radius: 3px;
}

.checkbox2:before {
  position: absolute;
  display: block;
  content: "";
  top: 50%;
  left: 7px;
  margin-top: -9px;
  width: 5px;
  height: 10px;
  border-right: 3px solid #2C9AB7;
  border-bottom: 3px solid #2C9AB7;
  transform: rotate(45deg);
  opacity: 0;
}

/* footer CSS*/
.footer-en {
  margin-top: 100px;
  text-align: left;
  color: #fff;
}
.footer-en a {
  color: inherit;
  font-weight: normal;
}
.footer-en_logo {
  margin-bottom: 50px;
}
.footer-en_top {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  padding: 100px 35px 85px 35px;
  background-color: #464646;
  position: relative;
}
@media screen and (min-width: 768px) {
  .footer-en_top {
    padding: 100px 135px 85px 135px;
  }
}
.footer-en_topmenu {
  display: flex;
  flex-wrap: wrap;
}
.footer-en_topmenu li {
  text-align: left;
  padding: 0 15px 15px 0;
}
.footer-en_topneko {
  position: absolute;
  height: 83px;
  bottom: -12px;
  right: 10px;
}
@media screen and (min-width: 768px) {
  .footer-en_topneko {
    right: 10%;
  }
}
.footer-en_bottom {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  background: #5D5D5D;
  padding-top: 30px;
  padding-bottom: 30px;
}
.footer-en_bottom h5 {
  line-height: 1.2;
  font-size: 24px;
  font-weight: normal;
}
.footer-en_bottomicon {
  vertical-align: middle;
  margin-right: 10px;
  margin-bottom: 10px;
}
.footer-en_below {
  display: flex;
  justify-content: space-between;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  padding: 15px 50px;
  background: #5D5D5D;
}
@media screen and (min-width: 768px) {
  .footer-en_below {
    padding: 30px 135px;
  }
}
.footer-en_below ul {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  gap: 20px;
  font-size: 18px;
}
@media screen and (max-width: 767px) {
  .footer-en_below ul {
    flex-direction: column;
  }
}
.footer-en_below div {
  display: flex;
  flex-direction: row;
  align-items: center;
  gap: 20px;
}
.footer-en_below div i {
  font-size: 30px;
  color: #fff;
}
.footer-en_copy {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  background: #f4f4f4;
  text-align: center;
  color: #000;
  font-size: 12px;
  padding: 20px 0;
}

.sec_simtype {
  margin-bottom: 10px;
  font-size: 18px;
}

.agreement {
  font-size: 80%;
}
.agreement h1, .agreement h2 {
  margin-bottom: 1em;
}
.agreement p + h1 {
  margin-top: 3em;
}
.agreement table {
  width: 100%;
  margin: 10px 0 30px 0;
}
.agreement table th, .agreement table td {
  overflow-wrap: break-word;
  padding: 5px;
  border: 1px solid #ccc;
}
@media screen and (min-width: 768px) {
  .agreement table th, .agreement table td {
    padding: 10px;
  }
}
.agreement table td p:not(:last-child) {
  margin-bottom: 10px;
}
.agreement table td p + p {
  margin-top: 10px !important;
}

.agreementScroll {
  max-height: 55vh;
  background-color: #fff;
  overflow-y: auto;
}

.visitor_esim_grid_box {
  display: grid;
  grid-template-areas: "text1" "image" "text2" "btn";
  font-size: 20px;
  gap: 20px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .visitor_esim_grid_box {
    grid-template-columns: 1fr 2fr;
    grid-template-rows: repeat(3, auto);
    grid-template-areas: "image text1" "image text2" "image btn";
    gap: 0 20px;
    margin-bottom: 50px;
  }
}
.visitor_esim_grid_box .visitor_esim_grid_image {
  grid-area: image;
  width: 320px;
  margin: auto;
}
.visitor_esim_grid_box .visitor_esim_grid_text1 {
  grid-area: text1;
}
.visitor_esim_grid_box .visitor_esim_grid_text2 {
  grid-area: text2;
}
.visitor_esim_grid_box .visitor_esim_grid_btn {
  grid-area: btn;
}