@charset "UTF-8";
abbr, address, article, aside, audio, b, blockquote, body, canvas, caption, cite, code, dd, del, details, dfn, div, dl, dt, em, fieldset, figcaption, figure, footer, form, h1, h2, h3, h4, h5, h6, header, hgroup, html, i, iframe, img, ins, kbd, label, legend, li, mark, menu, nav, object, ol, p, pre, q, samp, section, small, span, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, time, tr, ul, var, video {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}

body {
  line-height: 1;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
  display: block;
}

nav ul {
  list-style: none;
}

blockquote, q {
  quotes: none;
}

blockquote:after, blockquote:before, q:after, q:before {
  content: "";
  content: none;
}

a {
  margin: 0;
  padding: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  word-break: break-all;
}

ins {
  text-decoration: none;
}

ins, mark {
  background-color: #ff9;
  color: #000;
}

mark {
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

abbr[title], dfn[title] {
  border-bottom: 1px dotted;
  cursor: help;
}

table {
  border-collapse: collapse;
  border-spacing: 0;
}

hr {
  display: block;
  height: 1px;
  border: 0;
  border-top: 1px solid #ccc;
  margin: 1em 0;
  padding: 0;
}

input, select {
  vertical-align: middle;
}

html, body {
  overflow-x: hidden;
}

img {
  max-width: 100%;
  margin: 0;
  padding: 0;
  vertical-align: bottom;
}

ul, ol {
  list-style-type: none;
}

a, .a_color {
  color: #638fcd;
  text-decoration: none;
  font-weight: bold;
  cursor: pointer;
}

a:hover {
  opacity: 0.8;
}

.a_color {
  display: inline;
}

td {
  vertical-align: top;
}

h1, h2, h3, h4, h5, h6, h7, h8 {
  font-size: 1em;
  font-weight: bold;
}

*, *:before, *:after { /*border幅を入れてwidth計算*/
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
  box-sizing: border-box;
}

/* 基本設定： フォント */
@media screen and (max-width: 767px) {
  :root {
    font-size: 16px;
  }
}
@media screen and (min-width: 600px) and (max-width: 768px) {
  :root {
    font-size: 16px;
  }
}
@media screen and (min-width: 769px) {
  :root {
    font-size: 16px;
  }
}

body {
  font-family: -apple-system, BlinkMacSystemFont, HiraginoSans-W3, sans-serif;
  color: #3d454a;
  line-height: 1.5;
}

article p:not(:last-child),
.article_round p:not(:last-child),
.article_round_notab p:not(:last-child) {
  margin-bottom: 1em;
}

/* 文字拡大 */
.text_expand110 {
  font-size: 110%;
}

.text_expand120 {
  font-size: 120%;
}

.text_expand130 {
  font-size: 130%;
}

.text_expand140 {
  font-size: 140%;
}

.text_expand150 {
  font-size: 150%;
}

/* 文字縮小 */
.text_shrink90 {
  font-size: 90%;
}

.text_shrink80 {
  font-size: 80%;
}

.text_shrink70 {
  font-size: 70%;
}

.text_shrink60 {
  font-size: 60%;
}

.text_shrink50 {
  font-size: 50%;
}

.text_10 {
  font-size: 62.5%;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .text_10 {
    font-size: 62.5%;
  }
}

.text_12 {
  font-size: 75%;
  line-height: 1.8;
}
@media screen and (min-width: 768px) {
  .text_12 {
    font-size: 75%;
  }
}

.text_13 {
  font-size: 81.3%;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .text_13 {
    font-size: 81.3%;
  }
}

.text_14 {
  font-size: 87.5%;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .text_14 {
    font-size: 87.5%;
  }
}

.text_15 {
  font-size: 93.8%;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .text_15 {
    font-size: 93.8%;
  }
}

.text_16 {
  font-size: 100%;
  line-height: 1.7;
}
@media screen and (min-width: 768px) {
  .text_16 {
    font-size: 100%;
  }
}

.text_18 {
  font-size: 112.5%;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .text_18 {
    font-size: 112.5%;
  }
}

.text_20 {
  font-size: 125%;
  line-height: 1.6;
}
@media screen and (min-width: 768px) {
  .text_20 {
    font-size: 125%;
  }
}

.text_22 {
  font-size: 137.5%;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .text_22 {
    font-size: 137.5%;
  }
}

.text_24 {
  font-size: 150%;
  line-height: 1.5;
}
@media screen and (min-width: 768px) {
  .text_24 {
    font-size: 150%;
  }
}

.text_28 {
  font-size: 175%;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .text_28 {
    font-size: 175%;
  }
}

.text_30 {
  font-size: 187.5%;
  line-height: 1.3;
}
@media screen and (min-width: 768px) {
  .text_30 {
    font-size: 187.5%;
  }
}

.text_32 {
  font-size: 200%;
  line-height: 1.2;
}
@media screen and (min-width: 768px) {
  .text_32 {
    font-size: 200%;
  }
}

.fs_14 {
  font-size: 77%;
  line-height: 1.822;
}
@media screen and (min-width: 768px) {
  .fs_14 {
    font-size: 88%;
  }
}

.fs_16 {
  font-size: 87%;
  line-height: 1.768;
}
@media screen and (min-width: 768px) {
  .fs_16 {
    font-size: 100%;
  }
}

.fs_18 {
  font-size: 98%;
  line-height: 1.714;
}
@media screen and (min-width: 768px) {
  .fs_18 {
    font-size: 113%;
  }
}

.fs_20 {
  font-size: 109%;
  line-height: 1.66;
}
@media screen and (min-width: 768px) {
  .fs_20 {
    font-size: 125%;
  }
}

.fs_22 {
  font-size: 120%;
  line-height: 1.606;
}
@media screen and (min-width: 768px) {
  .fs_22 {
    font-size: 138%;
  }
}

.fs_24 {
  font-size: 131%;
  line-height: 1.552;
}
@media screen and (min-width: 768px) {
  .fs_24 {
    font-size: 150%;
  }
}

.bold {
  font-weight: bold;
}

.normal {
  font-weight: normal !important;
}

.underline {
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .text_nowrap {
    white-space: nowrap;
  }
}

.flex {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-content: stretch;
}
@media screen and (min-width: 768px) {
  .flex {
    flex-direction: row;
  }
}
@media screen and (max-width: 767px) {
  .flex img {
    display: block;
    margin: auto;
  }
  .flex p {
    text-align: left;
  }
}

.flex_reverse {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  align-content: stretch;
}
@media screen and (min-width: 768px) {
  .flex_reverse {
    flex-direction: row;
  }
}
@media screen and (max-width: 767px) {
  .flex_reverse img {
    display: block;
    margin: auto;
  }
  .flex_reverse p {
    text-align: left;
  }
}
@media screen and (max-width: 767px) {
  .flex_reverse {
    flex-direction: column-reverse;
  }
}

.flex_column {
  flex-direction: column;
}

.flex_left {
  justify-content: flex-start;
}

.flex_right {
  justify-content: flex-start;
  align-items: flex-end;
}
@media screen and (min-width: 768px) {
  .flex_right {
    justify-content: flex-end;
  }
}

.flex_center {
  justify-content: center;
}

.flex_between {
  justify-content: space-between;
}

.flex_around {
  justify-content: space-around;
}

.flex_wrap {
  flex-wrap: wrap;
}

.flex_nowrap {
  flex-wrap: nowrap;
}

.flex_nowrap_sp {
  flex-direction: row;
}

.flex_c {
  justify-content: center;
  align-items: center;
}

.flex_top {
  align-items: flex-start;
}

.flex_middle {
  align-items: center;
}

.flex_bottom {
  align-items: flex-end;
}

.flex_g1 {
  flex: 1 1 100%;
}
@media screen and (min-width: 768px) {
  .flex_g1 {
    flex: 1 1 5.3333333333%;
  }
}

.flex_g2 {
  flex: 2 2 100%;
}
@media screen and (min-width: 768px) {
  .flex_g2 {
    flex: 2 2 13.6666666667%;
  }
}

.flex_g3 {
  flex: 3 3 100%;
}
@media screen and (min-width: 768px) {
  .flex_g3 {
    flex: 3 3 22%;
  }
}

.flex_g4 {
  flex: 4 4 100%;
}
@media screen and (min-width: 768px) {
  .flex_g4 {
    flex: 4 4 30.3333333333%;
  }
}

.flex_g5 {
  flex: 5 5 100%;
}
@media screen and (min-width: 768px) {
  .flex_g5 {
    flex: 5 5 38.6666666667%;
  }
}

.flex_g6 {
  flex: 6 6 100%;
}
@media screen and (min-width: 768px) {
  .flex_g6 {
    flex: 6 6 47%;
  }
}

.flex_g7 {
  flex: 7 7 100%;
}
@media screen and (min-width: 768px) {
  .flex_g7 {
    flex: 7 7 55.3333333333%;
  }
}

.flex_g8 {
  flex: 8 8 100%;
}
@media screen and (min-width: 768px) {
  .flex_g8 {
    flex: 8 8 63.6666666667%;
  }
}

.flex_g9 {
  flex: 9 9 100%;
}
@media screen and (min-width: 768px) {
  .flex_g9 {
    flex: 9 9 72%;
  }
}

.flex_g10 {
  flex: 10 10 100%;
}
@media screen and (min-width: 768px) {
  .flex_g10 {
    flex: 10 10 80.3333333333%;
  }
}

.flex_g11 {
  flex: 11 11 100%;
}
@media screen and (min-width: 768px) {
  .flex_g11 {
    flex: 11 11 88.6666666667%;
  }
}

.flex_g12 {
  flex: 12 12 100%;
}
@media screen and (min-width: 768px) {
  .flex_g12 {
    flex: 12 12 97%;
  }
}

.flex_gt_10 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .flex_gt_10 {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .flex_gt_10 > *:not(:first-child) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .flex_gt_10 > *:not(:first-child) {
    margin-left: 10px;
  }
}

.flex_gt_20 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .flex_gt_20 {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .flex_gt_20 > *:not(:first-child) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .flex_gt_20 > *:not(:first-child) {
    margin-left: 20px;
  }
}

.flex_gt_30 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .flex_gt_30 {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .flex_gt_30 > *:not(:first-child) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .flex_gt_30 > *:not(:first-child) {
    margin-left: 30px;
  }
}

.flex_gt_40 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .flex_gt_40 {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .flex_gt_40 > *:not(:first-child) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .flex_gt_40 > *:not(:first-child) {
    margin-left: 40px;
  }
}

.flex_gt_50 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .flex_gt_50 {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .flex_gt_50 > *:not(:first-child) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .flex_gt_50 > *:not(:first-child) {
    margin-left: 50px;
  }
}

.flex_gt_60 {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .flex_gt_60 {
    flex-direction: column;
  }
}
@media screen and (max-width: 767px) {
  .flex_gt_60 > *:not(:first-child) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .flex_gt_60 > *:not(:first-child) {
    margin-left: 60px;
  }
}

.flex_1 {
  margin-top: -1.25%;
  margin-bottom: -1.25%;
}
@media screen and (min-width: 768px) {
  .flex_1 {
    margin: -1.25%;
    flex-wrap: wrap;
  }
}
.flex_1 > * {
  width: 100%;
  margin: max(1.25%, 20px) auto;
}
@media screen and (min-width: 768px) {
  .flex_1 > * {
    margin: 1.25%;
    width: 97.5%;
  }
}

.flex_2 {
  margin-top: -1.25%;
  margin-bottom: -1.25%;
}
@media screen and (min-width: 768px) {
  .flex_2 {
    margin: -1.25%;
    flex-wrap: wrap;
  }
}
.flex_2 > * {
  width: 100%;
  margin: max(1.25%, 20px) auto;
}
@media screen and (min-width: 768px) {
  .flex_2 > * {
    margin: 1.25%;
    width: 47.5%;
  }
}

.flex_3 {
  margin-top: -1.25%;
  margin-bottom: -1.25%;
}
@media screen and (min-width: 768px) {
  .flex_3 {
    margin: -1.25%;
    flex-wrap: wrap;
  }
}
.flex_3 > * {
  width: 100%;
  margin: max(1.25%, 20px) auto;
}
@media screen and (min-width: 768px) {
  .flex_3 > * {
    margin: 1.25%;
    width: 30.8333333333%;
  }
}

.flex_4 {
  margin-top: -1.25%;
  margin-bottom: -1.25%;
}
@media screen and (min-width: 768px) {
  .flex_4 {
    margin: -1.25%;
    flex-wrap: wrap;
  }
}
.flex_4 > * {
  width: 100%;
  margin: max(1.25%, 20px) auto;
}
@media screen and (min-width: 768px) {
  .flex_4 > * {
    margin: 1.25%;
    width: 22.5%;
  }
}

.flex_eq {
  align-items: stretch;
  align-content: stretch;
}
.flex_eq > * {
  flex-grow: 1;
  flex-shrink: 1;
}
@media screen and (min-width: 768px) {
  .flex_eq > * {
    flex-basis: 230px;
  }
}
@media screen and (max-width: 767px) {
  .flex_eq > * {
    max-width: 100%;
  }
}
.flex_eq > * > p, .flex_eq > * > li {
  text-align: left;
}
.flex_eq p {
  text-align: left;
}

.flex_strech {
  align-items: stretch;
}

@media screen and (min-width: 768px) {
  .flex_wrap_pc {
    flex-direction: column;
  }
}

.flex_column {
  flex-direction: column;
}

.alignself_start {
  align-self: start;
}

.alignself_end {
  align-self: end;
}

.alignself_center {
  align-self: center;
}

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

.flex-rowleft {
  display: flex;
  flex-wrap: nowrap;
}
@media screen and (max-width: 767px) {
  .flex-rowleft {
    flex-direction: column;
  }
}

.flex_btnlayout {
  display: flex;
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .flex_btnlayout {
    flex-direction: column;
    justify-content: center;
  }
}
@media screen and (max-width: 767px) {
  .flex_btnlayout:not(:first-child) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .flex_btnlayout:not(:first-child) {
    margin-left: 30px;
  }
}

.content_inner, .content_blkshrink, .content_blk, .content_blkfit {
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}

.content_all {
  width: 100%;
}

img.width_100per {
  width: 100%;
}

.content_inner, .content_blkshrink, .content_blk {
  padding-right: 10px;
  padding-left: 10px;
}

.content_negative {
  margin-right: -10px;
  margin-left: -10px;
}

@media screen and (min-width: 768px) {
  .content_blk {
    padding-right: 20px;
    padding-left: 20px;
  }
}

@media screen and (min-width: 768px) {
  .content_blkshrink {
    padding-right: 40px;
    padding-left: 40px;
  }
}

.fit_window,
.expand_all {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
}

@media screen and (min-width: 768px) {
  *.none_pc {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  *.none_sp {
    display: none;
  }
}
*.dp_none {
  display: none;
}

.hidden {
  visibility: hidden;
}

.mg_auto,
.l_center,
.dp_table {
  display: table;
  margin: 0 auto;
}

.dp_table > div {
  display: table-cell;
}

.table_layout_fix {
  table-layout: fixed;
}

.clear {
  clear: both;
}

.children_mg > *:not(:first-child) {
  margin-top: 1.5em;
}

.mg_bs {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
}
@media screen and (min-width: 768px) {
  .mg_bs {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

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

.pd_bs-y {
  padding-top: 10px;
  padding-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .pd_bs-y {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

.blockmg {
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .blockmg {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.blk_int {
  margin-top: 26.6666666667px;
  margin-bottom: 26.6666666667px;
}
@media screen and (min-width: 768px) {
  .blk_int {
    margin-top: 40px;
    margin-bottom: 40px;
  }
}

.blk_interval {
  margin-top: 66.6666666667px;
  margin-bottom: 66.6666666667px;
}
@media screen and (min-width: 768px) {
  .blk_interval {
    margin-top: 100px;
    margin-bottom: 100px;
  }
}

/* margin記述 */
/*　ネガティブマージン　*/
.mg_t__10 {
  margin-top: -10px;
}

.mg_t__15 {
  margin-top: -15px;
}

.mg_t_auto {
  margin-top: auto;
}

.mg_b_auto {
  margin-bottom: auto;
}

.mg_l_auto {
  margin-left: auto;
}

.mg_r_auto {
  margin-right: auto;
}

.mg_5 {
  margin: 5px;
}

.pd_5 {
  padding: 5px;
}

.mg_t_5 {
  margin-top: 5px;
}

.pd_t_5 {
  padding-top: 5px;
}

.mg_r_5 {
  margin-right: 5px;
}

.pd_r_5 {
  padding-right: 5px;
}

.mg_b_5 {
  margin-bottom: 5px;
}

.pd_b_5 {
  padding-bottom: 5px;
}

.mg_l_5 {
  margin-left: 5px;
}

.pd_l_5 {
  padding-left: 5px;
}

.mg_tb_5 {
  margin-top: 5px;
  margin-bottom: 5px;
}

.mg_lr_5 {
  margin-left: 5px;
  margin-right: 5px;
}

.pd_tb_5 {
  padding-top: 5px;
  padding-bottom: 5px;
}

.pd_lr_5 {
  padding-left: 5px;
  padding-right: 5px;
}

.gap_5 {
  gap: 5px;
}

.gap_r_5 {
  row-gap: 5px;
}

.gap_c_5 {
  -moz-column-gap: 5px;
       column-gap: 5px;
}

.mg_10 {
  margin: 10px;
}

.pd_10 {
  padding: 10px;
}

.mg_t_10 {
  margin-top: 10px;
}

.pd_t_10 {
  padding-top: 10px;
}

.mg_r_10 {
  margin-right: 10px;
}

.pd_r_10 {
  padding-right: 10px;
}

.mg_b_10 {
  margin-bottom: 10px;
}

.pd_b_10 {
  padding-bottom: 10px;
}

.mg_l_10 {
  margin-left: 10px;
}

.pd_l_10 {
  padding-left: 10px;
}

.mg_tb_10 {
  margin-top: 10px;
  margin-bottom: 10px;
}

.mg_lr_10 {
  margin-left: 10px;
  margin-right: 10px;
}

.pd_tb_10 {
  padding-top: 10px;
  padding-bottom: 10px;
}

.pd_lr_10 {
  padding-left: 10px;
  padding-right: 10px;
}

.gap_10 {
  gap: 10px;
}

.gap_r_10 {
  row-gap: 10px;
}

.gap_c_10 {
  -moz-column-gap: 10px;
       column-gap: 10px;
}

.mg_15 {
  margin: 15px;
}

.pd_15 {
  padding: 15px;
}

.mg_t_15 {
  margin-top: 15px;
}

.pd_t_15 {
  padding-top: 15px;
}

.mg_r_15 {
  margin-right: 15px;
}

.pd_r_15 {
  padding-right: 15px;
}

.mg_b_15 {
  margin-bottom: 15px;
}

.pd_b_15 {
  padding-bottom: 15px;
}

.mg_l_15 {
  margin-left: 15px;
}

.pd_l_15 {
  padding-left: 15px;
}

.mg_tb_15 {
  margin-top: 15px;
  margin-bottom: 15px;
}

.mg_lr_15 {
  margin-left: 15px;
  margin-right: 15px;
}

.pd_tb_15 {
  padding-top: 15px;
  padding-bottom: 15px;
}

.pd_lr_15 {
  padding-left: 15px;
  padding-right: 15px;
}

.gap_15 {
  gap: 15px;
}

.gap_r_15 {
  row-gap: 15px;
}

.gap_c_15 {
  -moz-column-gap: 15px;
       column-gap: 15px;
}

.mg_20 {
  margin: 20px;
}

.pd_20 {
  padding: 20px;
}

.mg_t_20 {
  margin-top: 20px;
}

.pd_t_20 {
  padding-top: 20px;
}

.mg_r_20 {
  margin-right: 20px;
}

.pd_r_20 {
  padding-right: 20px;
}

.mg_b_20 {
  margin-bottom: 20px;
}

.pd_b_20 {
  padding-bottom: 20px;
}

.mg_l_20 {
  margin-left: 20px;
}

.pd_l_20 {
  padding-left: 20px;
}

.mg_tb_20 {
  margin-top: 20px;
  margin-bottom: 20px;
}

.mg_lr_20 {
  margin-left: 20px;
  margin-right: 20px;
}

.pd_tb_20 {
  padding-top: 20px;
  padding-bottom: 20px;
}

.pd_lr_20 {
  padding-left: 20px;
  padding-right: 20px;
}

.gap_20 {
  gap: 20px;
}

.gap_r_20 {
  row-gap: 20px;
}

.gap_c_20 {
  -moz-column-gap: 20px;
       column-gap: 20px;
}

.mg_30 {
  margin: 30px;
}

.pd_30 {
  padding: 30px;
}

.mg_t_30 {
  margin-top: 30px;
}

.pd_t_30 {
  padding-top: 30px;
}

.mg_r_30 {
  margin-right: 30px;
}

.pd_r_30 {
  padding-right: 30px;
}

.mg_b_30 {
  margin-bottom: 30px;
}

.pd_b_30 {
  padding-bottom: 30px;
}

.mg_l_30 {
  margin-left: 30px;
}

.pd_l_30 {
  padding-left: 30px;
}

.mg_tb_30 {
  margin-top: 30px;
  margin-bottom: 30px;
}

.mg_lr_30 {
  margin-left: 30px;
  margin-right: 30px;
}

.pd_tb_30 {
  padding-top: 30px;
  padding-bottom: 30px;
}

.pd_lr_30 {
  padding-left: 30px;
  padding-right: 30px;
}

.gap_30 {
  gap: 30px;
}

.gap_r_30 {
  row-gap: 30px;
}

.gap_c_30 {
  -moz-column-gap: 30px;
       column-gap: 30px;
}

.mg_40 {
  margin: 40px;
}

.pd_40 {
  padding: 40px;
}

.mg_t_40 {
  margin-top: 40px;
}

.pd_t_40 {
  padding-top: 40px;
}

.mg_r_40 {
  margin-right: 40px;
}

.pd_r_40 {
  padding-right: 40px;
}

.mg_b_40 {
  margin-bottom: 40px;
}

.pd_b_40 {
  padding-bottom: 40px;
}

.mg_l_40 {
  margin-left: 40px;
}

.pd_l_40 {
  padding-left: 40px;
}

.mg_tb_40 {
  margin-top: 40px;
  margin-bottom: 40px;
}

.mg_lr_40 {
  margin-left: 40px;
  margin-right: 40px;
}

.pd_tb_40 {
  padding-top: 40px;
  padding-bottom: 40px;
}

.pd_lr_40 {
  padding-left: 40px;
  padding-right: 40px;
}

.gap_40 {
  gap: 40px;
}

.gap_r_40 {
  row-gap: 40px;
}

.gap_c_40 {
  -moz-column-gap: 40px;
       column-gap: 40px;
}

.mg_50 {
  margin: 50px;
}

.pd_50 {
  padding: 50px;
}

.mg_t_50 {
  margin-top: 50px;
}

.pd_t_50 {
  padding-top: 50px;
}

.mg_r_50 {
  margin-right: 50px;
}

.pd_r_50 {
  padding-right: 50px;
}

.mg_b_50 {
  margin-bottom: 50px;
}

.pd_b_50 {
  padding-bottom: 50px;
}

.mg_l_50 {
  margin-left: 50px;
}

.pd_l_50 {
  padding-left: 50px;
}

.mg_tb_50 {
  margin-top: 50px;
  margin-bottom: 50px;
}

.mg_lr_50 {
  margin-left: 50px;
  margin-right: 50px;
}

.pd_tb_50 {
  padding-top: 50px;
  padding-bottom: 50px;
}

.pd_lr_50 {
  padding-left: 50px;
  padding-right: 50px;
}

.gap_50 {
  gap: 50px;
}

.gap_r_50 {
  row-gap: 50px;
}

.gap_c_50 {
  -moz-column-gap: 50px;
       column-gap: 50px;
}

.mg_60 {
  margin: 60px;
}

.pd_60 {
  padding: 60px;
}

.mg_t_60 {
  margin-top: 60px;
}

.pd_t_60 {
  padding-top: 60px;
}

.mg_r_60 {
  margin-right: 60px;
}

.pd_r_60 {
  padding-right: 60px;
}

.mg_b_60 {
  margin-bottom: 60px;
}

.pd_b_60 {
  padding-bottom: 60px;
}

.mg_l_60 {
  margin-left: 60px;
}

.pd_l_60 {
  padding-left: 60px;
}

.mg_tb_60 {
  margin-top: 60px;
  margin-bottom: 60px;
}

.mg_lr_60 {
  margin-left: 60px;
  margin-right: 60px;
}

.pd_tb_60 {
  padding-top: 60px;
  padding-bottom: 60px;
}

.pd_lr_60 {
  padding-left: 60px;
  padding-right: 60px;
}

.gap_60 {
  gap: 60px;
}

.gap_r_60 {
  row-gap: 60px;
}

.gap_c_60 {
  -moz-column-gap: 60px;
       column-gap: 60px;
}

.mg_70 {
  margin: 70px;
}

.pd_70 {
  padding: 70px;
}

.mg_t_70 {
  margin-top: 70px;
}

.pd_t_70 {
  padding-top: 70px;
}

.mg_r_70 {
  margin-right: 70px;
}

.pd_r_70 {
  padding-right: 70px;
}

.mg_b_70 {
  margin-bottom: 70px;
}

.pd_b_70 {
  padding-bottom: 70px;
}

.mg_l_70 {
  margin-left: 70px;
}

.pd_l_70 {
  padding-left: 70px;
}

.mg_tb_70 {
  margin-top: 70px;
  margin-bottom: 70px;
}

.mg_lr_70 {
  margin-left: 70px;
  margin-right: 70px;
}

.pd_tb_70 {
  padding-top: 70px;
  padding-bottom: 70px;
}

.pd_lr_70 {
  padding-left: 70px;
  padding-right: 70px;
}

.gap_70 {
  gap: 70px;
}

.gap_r_70 {
  row-gap: 70px;
}

.gap_c_70 {
  -moz-column-gap: 70px;
       column-gap: 70px;
}

.mg_80 {
  margin: 80px;
}

.pd_80 {
  padding: 80px;
}

.mg_t_80 {
  margin-top: 80px;
}

.pd_t_80 {
  padding-top: 80px;
}

.mg_r_80 {
  margin-right: 80px;
}

.pd_r_80 {
  padding-right: 80px;
}

.mg_b_80 {
  margin-bottom: 80px;
}

.pd_b_80 {
  padding-bottom: 80px;
}

.mg_l_80 {
  margin-left: 80px;
}

.pd_l_80 {
  padding-left: 80px;
}

.mg_tb_80 {
  margin-top: 80px;
  margin-bottom: 80px;
}

.mg_lr_80 {
  margin-left: 80px;
  margin-right: 80px;
}

.pd_tb_80 {
  padding-top: 80px;
  padding-bottom: 80px;
}

.pd_lr_80 {
  padding-left: 80px;
  padding-right: 80px;
}

.gap_80 {
  gap: 80px;
}

.gap_r_80 {
  row-gap: 80px;
}

.gap_c_80 {
  -moz-column-gap: 80px;
       column-gap: 80px;
}

.mg_90 {
  margin: 90px;
}

.pd_90 {
  padding: 90px;
}

.mg_t_90 {
  margin-top: 90px;
}

.pd_t_90 {
  padding-top: 90px;
}

.mg_r_90 {
  margin-right: 90px;
}

.pd_r_90 {
  padding-right: 90px;
}

.mg_b_90 {
  margin-bottom: 90px;
}

.pd_b_90 {
  padding-bottom: 90px;
}

.mg_l_90 {
  margin-left: 90px;
}

.pd_l_90 {
  padding-left: 90px;
}

.mg_tb_90 {
  margin-top: 90px;
  margin-bottom: 90px;
}

.mg_lr_90 {
  margin-left: 90px;
  margin-right: 90px;
}

.pd_tb_90 {
  padding-top: 90px;
  padding-bottom: 90px;
}

.pd_lr_90 {
  padding-left: 90px;
  padding-right: 90px;
}

.gap_90 {
  gap: 90px;
}

.gap_r_90 {
  row-gap: 90px;
}

.gap_c_90 {
  -moz-column-gap: 90px;
       column-gap: 90px;
}

.mg_100 {
  margin: 100px;
}

.pd_100 {
  padding: 100px;
}

.mg_t_100 {
  margin-top: 100px;
}

.pd_t_100 {
  padding-top: 100px;
}

.mg_r_100 {
  margin-right: 100px;
}

.pd_r_100 {
  padding-right: 100px;
}

.mg_b_100 {
  margin-bottom: 100px;
}

.pd_b_100 {
  padding-bottom: 100px;
}

.mg_l_100 {
  margin-left: 100px;
}

.pd_l_100 {
  padding-left: 100px;
}

.mg_tb_100 {
  margin-top: 100px;
  margin-bottom: 100px;
}

.mg_lr_100 {
  margin-left: 100px;
  margin-right: 100px;
}

.pd_tb_100 {
  padding-top: 100px;
  padding-bottom: 100px;
}

.pd_lr_100 {
  padding-left: 100px;
  padding-right: 100px;
}

.gap_100 {
  gap: 100px;
}

.gap_r_100 {
  row-gap: 100px;
}

.gap_c_100 {
  -moz-column-gap: 100px;
       column-gap: 100px;
}

.mg_auto_t {
  margin-top: auto;
}

.mg_auto_r {
  margin-right: auto;
}

.mg_auto_b {
  margin-bottom: auto;
}

.mg_auto_l {
  margin-left: auto;
}

@media screen and (max-width: 767px) {
  .g_5 > * {
    margin: 2.5px 0;
  }
  .g_5 > *:first-child {
    margin-top: 0;
    margin-bottom: 2.5px;
  }
  .g_5 > *:last-child {
    margin-bottom: 0;
    margin-top: 2.5px;
  }
}
@media screen and (min-width: 768px) {
  .g_5 > * {
    margin: 0 2.5px;
  }
  .g_5 > *:first-child {
    margin-left: 0;
    margin-right: 2.5px;
  }
  .g_5 > *:last-child {
    margin-right: 0;
    margin-left: 2.5px;
  }
}

@media screen and (max-width: 767px) {
  .g_10 > * {
    margin: 5px 0;
  }
  .g_10 > *:first-child {
    margin-top: 0;
    margin-bottom: 5px;
  }
  .g_10 > *:last-child {
    margin-bottom: 0;
    margin-top: 5px;
  }
}
@media screen and (min-width: 768px) {
  .g_10 > * {
    margin: 0 5px;
  }
  .g_10 > *:first-child {
    margin-left: 0;
    margin-right: 5px;
  }
  .g_10 > *:last-child {
    margin-right: 0;
    margin-left: 5px;
  }
}

@media screen and (max-width: 767px) {
  .g_15 > * {
    margin: 7.5px 0;
  }
  .g_15 > *:first-child {
    margin-top: 0;
    margin-bottom: 7.5px;
  }
  .g_15 > *:last-child {
    margin-bottom: 0;
    margin-top: 7.5px;
  }
}
@media screen and (min-width: 768px) {
  .g_15 > * {
    margin: 0 7.5px;
  }
  .g_15 > *:first-child {
    margin-left: 0;
    margin-right: 7.5px;
  }
  .g_15 > *:last-child {
    margin-right: 0;
    margin-left: 7.5px;
  }
}

@media screen and (max-width: 767px) {
  .g_20 > * {
    margin: 10px 0;
  }
  .g_20 > *:first-child {
    margin-top: 0;
    margin-bottom: 10px;
  }
  .g_20 > *:last-child {
    margin-bottom: 0;
    margin-top: 10px;
  }
}
@media screen and (min-width: 768px) {
  .g_20 > * {
    margin: 0 10px;
  }
  .g_20 > *:first-child {
    margin-left: 0;
    margin-right: 10px;
  }
  .g_20 > *:last-child {
    margin-right: 0;
    margin-left: 10px;
  }
}

@media screen and (max-width: 767px) {
  .g_30 > * {
    margin: 15px 0;
  }
  .g_30 > *:first-child {
    margin-top: 0;
    margin-bottom: 15px;
  }
  .g_30 > *:last-child {
    margin-bottom: 0;
    margin-top: 15px;
  }
}
@media screen and (min-width: 768px) {
  .g_30 > * {
    margin: 0 15px;
  }
  .g_30 > *:first-child {
    margin-left: 0;
    margin-right: 15px;
  }
  .g_30 > *:last-child {
    margin-right: 0;
    margin-left: 15px;
  }
}

@media screen and (max-width: 767px) {
  .g_40 > * {
    margin: 20px 0;
  }
  .g_40 > *:first-child {
    margin-top: 0;
    margin-bottom: 20px;
  }
  .g_40 > *:last-child {
    margin-bottom: 0;
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .g_40 > * {
    margin: 0 20px;
  }
  .g_40 > *:first-child {
    margin-left: 0;
    margin-right: 20px;
  }
  .g_40 > *:last-child {
    margin-right: 0;
    margin-left: 20px;
  }
}

@media screen and (max-width: 767px) {
  .g_50 > * {
    margin: 25px 0;
  }
  .g_50 > *:first-child {
    margin-top: 0;
    margin-bottom: 25px;
  }
  .g_50 > *:last-child {
    margin-bottom: 0;
    margin-top: 25px;
  }
}
@media screen and (min-width: 768px) {
  .g_50 > * {
    margin: 0 25px;
  }
  .g_50 > *:first-child {
    margin-left: 0;
    margin-right: 25px;
  }
  .g_50 > *:last-child {
    margin-right: 0;
    margin-left: 25px;
  }
}

@media screen and (max-width: 767px) {
  .g_60 > * {
    margin: 30px 0;
  }
  .g_60 > *:first-child {
    margin-top: 0;
    margin-bottom: 30px;
  }
  .g_60 > *:last-child {
    margin-bottom: 0;
    margin-top: 30px;
  }
}
@media screen and (min-width: 768px) {
  .g_60 > * {
    margin: 0 30px;
  }
  .g_60 > *:first-child {
    margin-left: 0;
    margin-right: 30px;
  }
  .g_60 > *:last-child {
    margin-right: 0;
    margin-left: 30px;
  }
}

@media screen and (max-width: 767px) {
  .g_70 > * {
    margin: 35px 0;
  }
  .g_70 > *:first-child {
    margin-top: 0;
    margin-bottom: 35px;
  }
  .g_70 > *:last-child {
    margin-bottom: 0;
    margin-top: 35px;
  }
}
@media screen and (min-width: 768px) {
  .g_70 > * {
    margin: 0 35px;
  }
  .g_70 > *:first-child {
    margin-left: 0;
    margin-right: 35px;
  }
  .g_70 > *:last-child {
    margin-right: 0;
    margin-left: 35px;
  }
}

@media screen and (max-width: 767px) {
  .g_80 > * {
    margin: 40px 0;
  }
  .g_80 > *:first-child {
    margin-top: 0;
    margin-bottom: 40px;
  }
  .g_80 > *:last-child {
    margin-bottom: 0;
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) {
  .g_80 > * {
    margin: 0 40px;
  }
  .g_80 > *:first-child {
    margin-left: 0;
    margin-right: 40px;
  }
  .g_80 > *:last-child {
    margin-right: 0;
    margin-left: 40px;
  }
}

@media screen and (max-width: 767px) {
  .g_90 > * {
    margin: 45px 0;
  }
  .g_90 > *:first-child {
    margin-top: 0;
    margin-bottom: 45px;
  }
  .g_90 > *:last-child {
    margin-bottom: 0;
    margin-top: 45px;
  }
}
@media screen and (min-width: 768px) {
  .g_90 > * {
    margin: 0 45px;
  }
  .g_90 > *:first-child {
    margin-left: 0;
    margin-right: 45px;
  }
  .g_90 > *:last-child {
    margin-right: 0;
    margin-left: 45px;
  }
}

@media screen and (max-width: 767px) {
  .g_100 > * {
    margin: 50px 0;
  }
  .g_100 > *:first-child {
    margin-top: 0;
    margin-bottom: 50px;
  }
  .g_100 > *:last-child {
    margin-bottom: 0;
    margin-top: 50px;
  }
}
@media screen and (min-width: 768px) {
  .g_100 > * {
    margin: 0 50px;
  }
  .g_100 > *:first-child {
    margin-left: 0;
    margin-right: 50px;
  }
  .g_100 > *:last-child {
    margin-right: 0;
    margin-left: 50px;
  }
}

.aroundg_5 {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .aroundg_5 {
    margin-left: 2.5px;
    margin-right: 2.5px;
  }
}

.aroundg_5 > * {
  margin-top: 2.5px;
  margin-bottom: 2.5px;
}
@media screen and (min-width: 768px) {
  .aroundg_5 > * {
    margin-left: 2.5px;
    margin-right: 2.5px;
  }
}

.aroundg_10 {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .aroundg_10 {
    margin-left: 5px;
    margin-right: 5px;
  }
}

.aroundg_10 > * {
  margin-top: 5px;
  margin-bottom: 5px;
}
@media screen and (min-width: 768px) {
  .aroundg_10 > * {
    margin-left: 5px;
    margin-right: 5px;
  }
}

.aroundg_15 {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .aroundg_15 {
    margin-left: 7.5px;
    margin-right: 7.5px;
  }
}

.aroundg_15 > * {
  margin-top: 7.5px;
  margin-bottom: 7.5px;
}
@media screen and (min-width: 768px) {
  .aroundg_15 > * {
    margin-left: 7.5px;
    margin-right: 7.5px;
  }
}

.aroundg_20 {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .aroundg_20 {
    margin-left: 10px;
    margin-right: 10px;
  }
}

.aroundg_20 > * {
  margin-top: 10px;
  margin-bottom: 10px;
}
@media screen and (min-width: 768px) {
  .aroundg_20 > * {
    margin-left: 10px;
    margin-right: 10px;
  }
}

.aroundg_30 {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .aroundg_30 {
    margin-left: 15px;
    margin-right: 15px;
  }
}

.aroundg_30 > * {
  margin-top: 15px;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .aroundg_30 > * {
    margin-left: 15px;
    margin-right: 15px;
  }
}

.aroundg_40 {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .aroundg_40 {
    margin-left: 20px;
    margin-right: 20px;
  }
}

.aroundg_40 > * {
  margin-top: 20px;
  margin-bottom: 20px;
}
@media screen and (min-width: 768px) {
  .aroundg_40 > * {
    margin-left: 20px;
    margin-right: 20px;
  }
}

.aroundg_50 {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .aroundg_50 {
    margin-left: 25px;
    margin-right: 25px;
  }
}

.aroundg_50 > * {
  margin-top: 25px;
  margin-bottom: 25px;
}
@media screen and (min-width: 768px) {
  .aroundg_50 > * {
    margin-left: 25px;
    margin-right: 25px;
  }
}

.aroundg_60 {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .aroundg_60 {
    margin-left: 30px;
    margin-right: 30px;
  }
}

.aroundg_60 > * {
  margin-top: 30px;
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .aroundg_60 > * {
    margin-left: 30px;
    margin-right: 30px;
  }
}

.aroundg_70 {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .aroundg_70 {
    margin-left: 35px;
    margin-right: 35px;
  }
}

.aroundg_70 > * {
  margin-top: 35px;
  margin-bottom: 35px;
}
@media screen and (min-width: 768px) {
  .aroundg_70 > * {
    margin-left: 35px;
    margin-right: 35px;
  }
}

.aroundg_80 {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .aroundg_80 {
    margin-left: 40px;
    margin-right: 40px;
  }
}

.aroundg_80 > * {
  margin-top: 40px;
  margin-bottom: 40px;
}
@media screen and (min-width: 768px) {
  .aroundg_80 > * {
    margin-left: 40px;
    margin-right: 40px;
  }
}

.aroundg_90 {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .aroundg_90 {
    margin-left: 45px;
    margin-right: 45px;
  }
}

.aroundg_90 > * {
  margin-top: 45px;
  margin-bottom: 45px;
}
@media screen and (min-width: 768px) {
  .aroundg_90 > * {
    margin-left: 45px;
    margin-right: 45px;
  }
}

.aroundg_100 {
  margin: 0;
}
@media screen and (min-width: 768px) {
  .aroundg_100 {
    margin-left: 50px;
    margin-right: 50px;
  }
}

.aroundg_100 > * {
  margin-top: 50px;
  margin-bottom: 50px;
}
@media screen and (min-width: 768px) {
  .aroundg_100 > * {
    margin-left: 50px;
    margin-right: 50px;
  }
}

.text_left {
  text-align: left;
}

p.text_left {
  text-align: left;
}

p.text_left_important {
  text-align: left !important;
}

.text_center {
  text-align: center;
}

p.text_center {
  text-align: center;
}

p.text_center_important {
  text-align: center !important;
}

.text_right {
  text-align: right;
}

p.text_right {
  text-align: right;
}

p.text_right_important {
  text-align: right !important;
}

.text_center_left {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .text_center_left {
    text-align: center;
  }
}

.text_justify {
  text-align: justify;
}

@media screen and (max-width: 767px) {
  p.text_left_spimportant {
    text-align: left !important;
  }
}
@media screen and (min-width: 768px) {
  p.text_left_pcimportant {
    text-align: left !important;
  }
}
.line_h_l {
  line-height: 2;
}

.line_h_m {
  line-height: 1.8;
}

.line_h_s {
  line-height: 1.5;
}

.line_h_ss {
  line-height: 1.3;
}

.line_h_1 {
  line-height: 1;
}

.indent,
.text_indent > li,
.text_indent > dd {
  padding-left: 1em;
  text-indent: -1em;
}

.indent_first,
.indent2 {
  text-indent: 1em;
}

@media screen and (min-width: 768px) {
  .img_width_50 {
    max-width: 50%;
  }
}

@media screen and (min-width: 768px) {
  .img_width_60 {
    max-width: 60%;
  }
}

@media screen and (min-width: 768px) {
  .img_width_70 {
    max-width: 70%;
  }
}

@media screen and (min-width: 768px) {
  .img_width_80 {
    max-width: 80%;
  }
}

@media screen and (min-width: 768px) {
  .img_width_90 {
    max-width: 90%;
  }
}

@media screen and (min-width: 768px) {
  .img_width_100 {
    max-width: 100%;
  }
}

.img_width_100px {
  max-width: 100px;
}

.img_width_200px {
  max-width: 200px;
}

.img_width_300px {
  max-width: 300px;
}

.img_width_320px {
  max-width: 320px;
}

.img_width_360px {
  max-width: 360px;
}

.img_width_450px {
  max-width: 450px;
}

.img_width_600px {
  max-width: 600px;
}

.width_10per {
  width: 10%;
}

.width_20per {
  width: 20%;
}

.width_30per {
  width: 30%;
}

.width_40per {
  width: 40%;
}

.width_50per {
  width: 50%;
}

.width_60per {
  width: 60%;
}

.width_70per {
  width: 70%;
}

.width_80per {
  width: 80%;
}

.width_90per {
  width: 90%;
}

.width_100per {
  width: 100%;
}

#modal-content {
  z-index: 9999;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 70%;
  max-height: 30vh;
  margin: auto;
  padding: 10px 20px;
  border-radius: 10px;
  background: #fff;
}

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

.modal-p {
  margin-top: 1em;
}
.modal-p:first-child {
  margin-top: 0;
}

.button-link {
  color: #fff;
  background-color: #aaa;
  padding: 5px 20px;
  border-radius: 3px;
  width: 50px;
  cursor: pointer;
}

/*************** button-style⇓ ***************/
.btn_single,
.purchase_startbtn,
.myb_acountbtn,
.purchase_myb,
.btn_flexible {
  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;
}
@media screen and (max-width: 767px) {
  .btn_single,
  .purchase_startbtn,
  .myb_acountbtn,
  .purchase_myb,
  .btn_flexible {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_single + p, .btn_single + div,
.purchase_startbtn + p,
.purchase_startbtn + div,
.myb_acountbtn + p,
.myb_acountbtn + div,
.purchase_myb + p,
.purchase_myb + div,
.btn_flexible + p,
.btn_flexible + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_single,
  .purchase_startbtn,
  .myb_acountbtn,
  .purchase_myb,
  .btn_flexible {
    padding: 16px;
  }
}

.btn_multi_w300,
.sb_startbtn_b,
.sb_voiceinfo_btn,
.sb_voiceinfo_btn_toppage_top,
.btn_1line,
.sbmyb_btn,
.btn_select_sb,
.btn_select_docomo,
.btn_w100per,
.btn_selectable,
.commonStart,
.commonSecond {
  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%;
}
@media screen and (max-width: 767px) {
  .btn_multi_w300,
  .sb_startbtn_b,
  .sb_voiceinfo_btn,
  .sb_voiceinfo_btn_toppage_top,
  .btn_1line,
  .sbmyb_btn,
  .btn_select_sb,
  .btn_select_docomo,
  .btn_w100per,
  .btn_selectable,
  .commonStart,
  .commonSecond {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_multi_w300 + p, .btn_multi_w300 + div,
.sb_startbtn_b + p,
.sb_startbtn_b + div,
.sb_voiceinfo_btn + p,
.sb_voiceinfo_btn + div,
.sb_voiceinfo_btn_toppage_top + p,
.sb_voiceinfo_btn_toppage_top + div,
.btn_1line + p,
.btn_1line + div,
.sbmyb_btn + p,
.sbmyb_btn + div,
.btn_select_sb + p,
.btn_select_sb + div,
.btn_select_docomo + p,
.btn_select_docomo + div,
.btn_w100per + p,
.btn_w100per + div,
.btn_selectable + p,
.btn_selectable + div,
.commonStart + p,
.commonStart + div,
.commonSecond + p,
.commonSecond + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_multi_w300,
  .sb_startbtn_b,
  .sb_voiceinfo_btn,
  .sb_voiceinfo_btn_toppage_top,
  .btn_1line,
  .sbmyb_btn,
  .btn_select_sb,
  .btn_select_docomo,
  .btn_w100per,
  .btn_selectable,
  .commonStart,
  .commonSecond {
    padding: 16px;
  }
}

.btn_center,
.btn_w100per {
  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: 2px solid #fff;
  background: #638fcd;
  color: #fff;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .btn_center,
  .btn_w100per {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_center + p, .btn_center + div,
.btn_w100per + p,
.btn_w100per + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_center,
  .btn_w100per {
    padding: 16px;
  }
}

.btn_w300 {
  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%;
  width: 300px;
}
@media screen and (max-width: 767px) {
  .btn_w300 {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_w300 + p, .btn_w300 + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_w300 {
    padding: 16px;
  }
}

.btn_jfsim_purchase {
  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: #de0019;
  color: #fff;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .btn_jfsim_purchase {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_jfsim_purchase + p, .btn_jfsim_purchase + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_jfsim_purchase {
    padding: 16px;
  }
}

.btn_unselect,
.btn_disactive,
.btn_disable {
  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: #cfd0d1;
  color: #fff;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .btn_unselect,
  .btn_disactive,
  .btn_disable {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_unselect + p, .btn_unselect + div,
.btn_disactive + p,
.btn_disactive + div,
.btn_disable + p,
.btn_disable + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_unselect,
  .btn_disactive,
  .btn_disable {
    padding: 16px;
  }
}

.btn_gray,
.btn_eol_oldp {
  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: #D9E2E6;
  color: #009688;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
  margin-top: 10px;
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .btn_gray,
  .btn_eol_oldp {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_gray + p, .btn_gray + div,
.btn_eol_oldp + p,
.btn_eol_oldp + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_gray,
  .btn_eol_oldp {
    padding: 16px;
  }
}

.btn_white {
  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: #F4F4F4;
  color: #3485C6;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
}
@media screen and (max-width: 767px) {
  .btn_white {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_white + p, .btn_white + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_white {
    padding: 16px;
  }
}

.btn_gray-left {
  margin-left: 0;
}

.btn_back {
  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%;
}
@media screen and (max-width: 767px) {
  .btn_back {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_back + p, .btn_back + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_back {
    padding: 16px;
  }
}
.btn_back::before {
  font-weight: inherit;
  content: "\f053";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

.btn_next,
.submit_button {
  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%;
}
@media screen and (max-width: 767px) {
  .btn_next,
  .submit_button {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_next + p, .btn_next + div,
.submit_button + p,
.submit_button + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_next,
  .submit_button {
    padding: 16px;
  }
}
.btn_next::after,
.submit_button::after {
  font-weight: inherit;
  content: "\f054";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

.btn_colorflip,
.btn_active {
  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: #638ECD;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
  border: 3px solid #638ECD;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .btn_colorflip,
  .btn_active {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_colorflip + p, .btn_colorflip + div,
.btn_active + p,
.btn_active + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_colorflip,
  .btn_active {
    padding: 16px;
  }
}

.btn_flat_productList,
.btn_flat_productList__active {
  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: #2b8874;
  color: #fff;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
  border-radius: 5px;
  box-shadow: none;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .btn_flat_productList,
  .btn_flat_productList__active {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_flat_productList + p, .btn_flat_productList + div,
.btn_flat_productList__active + p,
.btn_flat_productList__active + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_flat_productList,
  .btn_flat_productList__active {
    padding: 16px;
  }
}

.btn_flat_productList::before {
  font-weight: inherit;
  content: "\f054";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

.btn_flat_productList__active::before {
  font-weight: inherit;
  content: "\f00c";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

.btn_flat_productList__inactive {
  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: #90a4ae;
  color: #fff;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
  border-radius: 5px;
  box-shadow: none;
}
@media screen and (max-width: 767px) {
  .btn_flat_productList__inactive {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_flat_productList__inactive + p, .btn_flat_productList__inactive + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_flat_productList__inactive {
    padding: 16px;
  }
}

.btn_h100per {
  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%;
  height: 100%;
}
@media screen and (max-width: 767px) {
  .btn_h100per {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_h100per + p, .btn_h100per + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_h100per {
    padding: 16px;
  }
}

.btn_h_flex {
  height: 60px;
}
.btn_h_flex > div, .btn_h_flex > a {
  height: 100%;
}

.btn_transition_color {
  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%;
  transition: all 0.3s;
}
@media screen and (max-width: 767px) {
  .btn_transition_color {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_transition_color + p, .btn_transition_color + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_transition_color {
    padding: 16px;
  }
}
.btn_transition_color:hover {
  background-color: #50c1e9;
}

.flow_active,
.flow_activeSecond {
  background: #3662bd;
  color: #fff;
  border: none;
  border: 2px solid #3662bd;
  pointer-events: none;
}
.flow_active:hover,
.flow_activeSecond:hover {
  opacity: 1;
}

.btn_hisapp_ios {
  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%;
  position: relative;
  background-image: linear-gradient(#ffffff 0%, #e2e2e2 100%);
  color: #555;
  border-radius: 30px;
  height: 48px;
  width: 280px;
  top: 2px;
}
@media screen and (max-width: 767px) {
  .btn_hisapp_ios {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_hisapp_ios + p, .btn_hisapp_ios + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_hisapp_ios {
    padding: 16px;
  }
}
.btn_hisapp_ios::after {
  content: "";
  position: absolute;
  background-image: linear-gradient(90deg, #e0e0e0 0%, #ffffff 100%);
  box-shadow: 0 2px 5px 0 rgba(102, 102, 102, 0.1);
  border-radius: 30px;
  height: 52px;
  width: 284px;
  z-index: -1;
  top: -2px;
  left: -2px;
}

.btn_w300,
.btn_support,
.btn_roundblue {
  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: #4792E0;
  color: #ffffff;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
  position: relative;
  border-radius: 3em;
}
@media screen and (max-width: 767px) {
  .btn_w300,
  .btn_support,
  .btn_roundblue {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_w300 + p, .btn_w300 + div,
.btn_support + p,
.btn_support + div,
.btn_roundblue + p,
.btn_roundblue + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .btn_w300,
  .btn_support,
  .btn_roundblue {
    padding: 16px;
  }
}
.btn_w300::after,
.btn_support::after,
.btn_roundblue::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_w300::after,
.btn_support::after,
.btn_roundblue::after {
  position: absolute;
  right: 2%;
}

/*************** color⇓ ***************/
.color_red {
  color: #F66;
}

.color_red2 {
  color: #de1140;
}

.color_price {
  color: #ea0040;
}

.color_default {
  color: #566167;
}

.color_title {
  color: #566167;
}

.color_title_sub {
  color: #566167;
}

.color_white {
  color: #fff;
}

.color_red {
  color: #ea0040;
}

.color_blue {
  color: #004da1;
}

.color_green {
  color: #46A98B;
}

.color_yellow {
  color: #ffd55c;
}

.color_pink {
  color: #f2a0b8;
}

.color_salmonpink {
  color: #ff6666;
}

.color_hotpink {
  color: #ff4794;
}

.color_gray {
  color: #ccc;
}

.color_darkgray {
  color: #555;
}

.color_gray1 {
  color: #eceff1;
}

.color_gray-l {
  color: #F4F4F4;
}

.color_text_important {
  color: #d50000;
}

.color_text_gray {
  color: #4c4c4c;
}

/**************** background-color⇓ ***************/
.bg_white {
  background-color: #fff;
}

.bg_sbvoice {
  background-color: #eceff1;
}

.bg_gray1 {
  background-color: #eceff1;
}

.bg_justfit_gray1 {
  background-color: #eceff1;
}

.bg_color_support_text {
  background-color: #eceff1;
}

.bg_voiceflow {
  background-color: #cfd8dc;
}

.bg_justfit_gray2 {
  background-color: #cfd8dc;
}

.bg_preflow_myb {
  background-color: #ccd4dd;
}

.bg_preflow_act {
  background-color: #d4dce6;
}

.bg_justfit_red2 {
  background-color: #aa0013;
}

.bg_post_index {
  background-color: #e50113;
}

.bg_sbpre_red {
  background-color: #e50113;
}

.bg_justfit_blue {
  background-color: #004da1;
}

.bg_flow_title1 {
  background-color: #46a98b;
}

.bg_purchase_btn_1 {
  background-color: #46a98b;
}

.bg_purchase_btn_2 {
  background-color: #638fcd;
}

.bg_notice {
  background-color: #F2CECE;
}

.bg_plan_index {
  background-color: #ffd600;
}

.bg_notice {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .bg_notice {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .bg_notice {
    padding: 20px;
  }
}
.bg_notice a {
  color: #aa0013 !important;
}

/*************** border-style⇓ ***************/
.borderbox {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 10px;
  border: 1px solid #aaa;
}
@media screen and (min-width: 768px) {
  .borderbox {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .borderbox {
    padding: 20px;
  }
}

.border_b_navi {
  border-bottom: 8px solid #344b5a;
}

.border_b {
  border-bottom: 3px solid #555;
}

.header_borderTop {
  border-top: 5px solid #46A98B;
}

.bold_border {
  border-top: 5px solid #fff;
  border-radius: 5px;
  margin-left: -10px;
  margin-right: -10px;
}

.border_all {
  border-bottom: 3px solid #ddd;
}

.border_b_blue {
  border-bottom: 8px solid #acd8f0;
}

.border_sbshop {
  border: 1px solid #ccc;
  margin-left: -10px;
  margin-right: -10px;
}

.flow_border {
  border-top: 3px solid #fff;
  margin: 0 15px;
}

.border_hr {
  border-top: 2px solid #eceff1;
  margin: 15px 0;
}

.a_inherit a {
  font-weight: inherit;
  text-decoration: inherit;
  color: inherit;
}

.title {
  margin-top: 30px;
  padding-bottom: 0;
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
}

.page_title {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding-bottom: 0;
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px;
  font-size: 20px;
}
@media screen and (min-width: 768px) {
  .page_title {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.titleIcon {
  display: flex;
  align-items: center;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .titleIcon {
    flex-direction: row;
  }
}
.titleIcon img + * {
  margin-left: 10px;
}
.titleIcon p {
  margin-left: 10px;
  margin-bottom: 0 !important;
}

.titleIcon_center {
  display: flex;
  justify-content: center;
  align-items: center;
  align-items: center;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .titleIcon_center {
    flex-direction: row;
  }
}
.titleIcon_center img + * {
  margin-left: 10px;
}
.titleIcon_center p {
  margin-left: 10px;
  margin-bottom: 0 !important;
}

.titleIcon_border {
  display: flex;
  align-items: center;
  font-weight: bold;
  padding-bottom: 5px;
  border-bottom: 2px solid #eceff1;
  margin-bottom: 10px;
}
@media screen and (max-width: 767px) {
  .titleIcon_border {
    flex-direction: row;
  }
}
.titleIcon_border img + * {
  margin-left: 10px;
}
.titleIcon_border p {
  margin-left: 10px;
  margin-bottom: 0 !important;
}

.support_title_withicon {
  height: 100px;
  background-color: #eceff1;
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  display: flex;
  justify-content: center;
  align-items: center;
  align-items: center;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .support_title_withicon {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (max-width: 767px) {
  .support_title_withicon {
    flex-direction: row;
  }
}
.support_title_withicon img + * {
  margin-left: 10px;
}
.support_title_withicon p {
  margin-left: 10px;
  margin-bottom: 0 !important;
}
.support_title_withicon p {
  font-size: 20px;
}
.support_title_withicon img {
  height: 60%;
}

.titleBorder, .titleBorder-center {
  padding-bottom: 0;
  border-bottom: 2px solid #eceff1;
  margin-bottom: 10px;
  font-size: 18px;
}
.titleBorder-center {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .titleBorder-center {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.titleBorder-boldgray {
  padding-bottom: 8px;
  border-bottom: 10px solid #B9B9B9;
  margin-bottom: 10px;
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  font-size: 131%;
  line-height: 1.552;
}
@media screen and (min-width: 768px) {
  .titleBorder-boldgray {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .titleBorder-boldgray {
    font-size: 150%;
  }
}

.titleBorder-jfprice {
  padding-bottom: 8px;
  border-bottom: 10px solid #DE0019;
  margin-bottom: 10px;
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  font-size: 131%;
  line-height: 1.552;
}
@media screen and (min-width: 768px) {
  .titleBorder-jfprice {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .titleBorder-jfprice {
    font-size: 150%;
  }
}

.sec_title {
  padding-bottom: 0;
  border-bottom: 1px solid #2D3940;
  margin-bottom: 10px;
  padding-left: 10px;
  margin: 40px 0 20px 0;
  font-size: 109%;
  line-height: 1.66;
  font-weight: normal;
  margin-left: -10px;
  margin-right: -10px;
}
@media screen and (min-width: 768px) {
  .sec_title {
    font-size: 125%;
  }
}

.sec_title_sub {
  padding-bottom: 0;
  border-bottom: 2px solid #46A98B;
  margin-bottom: 10px;
  padding-left: 10px;
  margin: 40px 0 20px 0;
  font-size: 98%;
  line-height: 1.714;
  font-weight: normal;
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .sec_title_sub {
    font-size: 113%;
  }
}

.bmform_title_h2 {
  padding-bottom: 0;
  border-bottom: 5px solid #46A98B;
  margin-bottom: 10px;
  padding-left: 10px;
  margin: 40px 0 20px 0;
  font-size: 164%;
  line-height: 1.39;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  .bmform_title_h2 {
    font-size: 188%;
  }
}

.old_product_title > h2 {
  padding-bottom: 0;
  border-bottom: 5px solid #2D3940;
  margin-bottom: 10px;
  padding-left: 10px;
  margin: 40px 0 20px 0;
  font-size: 164%;
  line-height: 1.39;
  font-weight: normal;
  margin-left: -10px;
  margin-right: -10px;
}
@media screen and (min-width: 768px) {
  .old_product_title > h2 {
    font-size: 188%;
  }
}
.old_product_title .productimg {
  width: 300px;
  height: 300px;
}
.old_product_title .description {
  font-size: 98%;
  line-height: 1.714;
  margin: 40px auto 30px auto;
}
@media screen and (min-width: 768px) {
  .old_product_title .description {
    font-size: 113%;
  }
}
.old_product_title .dot_border {
  margin: 1em auto;
  border-top: 1px dashed #2D3940;
  margin-left: -10px;
  margin-right: -10px;
}

.column3_sp1 > div {
  margin-bottom: 30px;
}
@media screen and (min-width: 768px) {
  .column3_sp1 > div {
    width: 30%;
    margin-left: 14px;
    margin-right: 14px;
  }
}
@media screen and (min-width: 600px) and (max-width: 768px) {
  .column3_sp1 > div {
    margin-left: 10px;
    margin-right: 10px;
  }
}

.notePDF_print {
  display: block;
  text-align: right;
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
}
@media screen and (min-width: 768px) {
  .notePDF_print {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.notePDF_Height {
  height: 60vh;
}
.notePDF_Height-inner {
  width: 100%;
  height: 100%;
}

.checkagree {
  display: table;
}
.checkagree_box {
  border: 1px solid #cc0033;
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .checkagree_box {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .checkagree_box {
    padding: 20px;
  }
}
.checkagree_box > *:not(:first-child) {
  margin-top: 0.5333333333em;
}
@media screen and (min-width: 768px) {
  .checkagree_box > *:not(:first-child) {
    margin-top: 0.8em;
  }
}
.checkagree_btnarea {
  display: table-cell;
  width: 93px;
}
.checkagree_text {
  display: table-cell;
  margin-left: 15px;
  vertical-align: top;
}

.profile_box {
  padding: 10px;
  border: 2px solid #344b5a;
}
@media screen and (min-width: 768px) {
  .profile_box {
    padding: 20px;
  }
}

.profile_label_ios {
  background: #fff;
  margin: 30px 0 30px 0;
  padding: 5px;
}
@media screen and (min-width: 768px) {
  .profile_label_ios {
    padding: 10px;
  }
}

#tabnavi ul {
  display: flex;
  justify-content: center;
  background: #fff;
  margin-top: 20px;
}
@media screen and (min-width: 768px) {
  #tabnavi ul li:first-child {
    margin: 0 15px 0 0;
  }
}
@media screen and (max-width: 767px) {
  #tabnavi ul li {
    margin: 0 5px;
    background-position: center;
  }
}

.marketbuy,
.marketbuy2,
#marketbuy,
#marketbuy2 {
  height: 50px;
  width: 45%;
  border-radius: 10px 10px 0 0;
  background-position: center;
  background: url(../images/bmarketbuy_off.svg) no-repeat #e6e6e6;
}

.otherbuy,
.otherbuy2,
#otherbuy,
#otherbuy2 {
  height: 50px;
  width: 45%;
  border-radius: 10px 10px 0 0;
  background-position: center;
  background: url(../images/otherbuy_off.svg) no-repeat #e6e6e6;
}

#form_tab {
  height: 50px;
  width: 45%;
  border-radius: 10px 10px 0 0;
  background-position: center;
  background: url(../images/con_form_off.svg) no-repeat #e6e6e6;
}

#phone_tab {
  height: 50px;
  width: 45%;
  border-radius: 10px 10px 0 0;
  background-position: center;
  background: url(../images/con_phone_off.svg) no-repeat #e6e6e6;
}

#iphonetab {
  height: 50px;
  width: 45%;
  border-radius: 10px 10px 0 0;
  background-position: center;
  background: url(../images/iphonetab_off.svg) no-repeat #e6e6e6;
}

#ipadtab {
  height: 50px;
  width: 45%;
  border-radius: 10px 10px 0 0;
  background-position: center;
  background: url(../images/ipadtab_off.svg) no-repeat #e6e6e6;
}

#iostab {
  height: 50px;
  width: 45%;
  border-radius: 10px 10px 0 0;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e6e6e6;
}
#iostab::after {
  content: "iOS";
}

#androidtab {
  height: 50px;
  width: 45%;
  border-radius: 10px 10px 0 0;
  background-position: center;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #e6e6e6;
}
#androidtab::after {
  content: "Android";
}

@media screen and (min-width: 768px) {
  #iphonetab,
  #ipadtab,
  #iostab,
  #androidtab {
    height: 70px;
    width: 50%;
    font-size: 20px;
    background-position: center;
  }
}
.marketbuy.active,
#marketbuy.active {
  background: url(../images/bmarketbuy_on1.svg) center no-repeat #acd8f0;
}

.otherbuy.active,
#otherbuy.active {
  background: url(../images/otherbuy_on1.svg) center no-repeat #acd8f0;
}

#marketbuy2.active {
  background: url(../images/bmarketbuy_on2.svg) center no-repeat #cab8f0;
}

#otherbuy2.active {
  background: url(../images/otherbuy_on2.svg) center no-repeat #cab8f0;
}

#form_tab.active {
  background: url(../images/con_form_on.svg) center no-repeat #344b5a;
}

#phone_tab.active {
  background: url(../images/con_phone_on.svg) center no-repeat #344b5a;
}

#iphonetab.active {
  background: url(../images/iphonetab_on.svg) center no-repeat #344b5a;
}

#ipadtab.active {
  background: url(../images/ipadtab_on.svg) center no-repeat #344b5a;
}

#iostab.active {
  color: #fff;
  background: #344b5a;
}

#androidtab.active {
  color: #fff;
  background: #344b5a;
}

#tabcontent1,
#tabcontent2,
#tabcontent3,
#tabcontent4 {
  background: #eceff1;
}
#tabcontent1 > *:not(:first-child),
#tabcontent2 > *:not(:first-child),
#tabcontent3 > *:not(:first-child),
#tabcontent4 > *:not(:first-child) {
  margin-top: 0.5333333333em;
}
@media screen and (min-width: 768px) {
  #tabcontent1 > *:not(:first-child),
  #tabcontent2 > *:not(:first-child),
  #tabcontent3 > *:not(:first-child),
  #tabcontent4 > *:not(:first-child) {
    margin-top: 0.8em;
  }
}
@media screen and (min-width: 768px) {
  #tabcontent1,
  #tabcontent2,
  #tabcontent3,
  #tabcontent4 {
    flex-wrap: nowrap;
  }
}

@media screen and (min-width: 768px) {
  #tabcontent3,
  #tabcontent4 {
    margin: 0 10px;
    flex: 1;
  }
}

@media screen and (min-width: 768px) {
  #tabcontent4 {
    display: block !important;
  }
}

.counter_reset {
  counter-reset: count;
}

.img_bs {
  width: 200px;
  margin-top: 20px;
  margin-bottom: 30px;
}

.sequence_fig {
  margin: 20px 0 30px 0;
}
.sequence_fig > div {
  width: 200px;
}
.sequence_fig > div:not(:first-child) {
  position: relative;
}
@media screen and (max-width: 767px) {
  .sequence_fig > div:not(:first-child) {
    margin-top: 50px;
  }
}
@media screen and (min-width: 768px) {
  .sequence_fig > div:not(:first-child) {
    margin-left: 50px;
  }
}
.sequence_fig > div:not(:first-child)::before {
  display: block;
  position: absolute;
  font-size: 34px;
  font-family: FontAwesome;
  content: "\f061";
  color: #D1D1D1;
}
@media screen and (max-width: 767px) {
  .sequence_fig > div:not(:first-child)::before {
    transform: rotate(90deg);
    left: calc(50% - 17px);
    margin-top: -50px;
  }
}
@media screen and (min-width: 768px) {
  .sequence_fig > div:not(:first-child)::before {
    top: 50%;
    margin-left: -40px;
  }
}

.apn_setting_box .border_box {
  padding: 8px;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .apn_setting_box .border_box {
    padding: 16px;
  }
}
.apn_setting_box .border_box img {
  display: block;
  margin: 20px auto;
  border: 1px solid #666;
}
.apn_setting_box .border_box .item_num::before {
  float: left;
  display: block;
  margin-right: 10px;
  counter-increment: count;
  content: counter(count);
  background: #46a98b;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  padding-left: 8px;
  padding-right: 8px;
  border-radius: 4px;
}
.apn_setting_box .dtdd_flat dt {
  float: left;
  padding-right: 10px;
}
.apn_setting_box .dtdd_flat dd {
  font-weight: bold;
}

.apnsetting_box {
  border: 1px solid #ccc;
  padding: 10px;
}
.apnsetting_caption {
  text-align: center;
  margin-bottom: 10px;
}
.apnsetting_captionimg {
  height: 110px;
}

.explanation {
  flex: 1 1 200%;
}
.explanation dt {
  font-weight: bold;
}

.border_box {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .border_box {
    padding: 10px;
  }
}

.border_box_red {
  border: 1px solid #ea0040;
  padding: 8px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .border_box_red {
    padding: 10px;
  }
}

.border_box-item_num {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .border_box-item_num {
    padding: 10px;
  }
}

.item_num_sequence::before {
  float: left;
  display: block;
  margin-right: 10px;
  counter-increment: count;
  content: counter(count);
  background: #46a98b;
  color: #fff;
  font-size: 20px;
  font-weight: bold;
  text-align: center;
  padding-left: 8px;
  padding-right: 8px;
  border-radius: 4px;
}

.shop_list_box {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: left;
  margin-bottom: 15px;
}
@media screen and (min-width: 768px) {
  .shop_list_box {
    padding: 10px;
  }
}

.shop_prefecture {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 10px;
  background: #eceff1;
  text-align: center;
  font-size: 22px;
}
@media screen and (min-width: 768px) {
  .shop_prefecture {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .shop_prefecture {
    padding: 20px;
  }
}

.support_icon, .counter_icon {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  min-width: 80px;
  height: 60px;
  font-weight: bold;
  border-radius: 5px;
  line-height: 1.2;
}
@media screen and (max-width: 767px) {
  .support_icon, .counter_icon {
    flex-direction: column;
  }
}

.counter_icon {
  border: 2px solid #ff4065;
  color: #ff4065;
}

.support_icon {
  border: 2px solid #c0ca33;
  color: #c0ca33;
}

.shoplist_shopname {
  padding-bottom: 1em;
  font-size: 125%;
  font-weight: bold;
  line-height: 1.2;
}

.shop_phone {
  margin: 10px 0;
  font-size: 18px;
}
.shop_phone::before {
  font-weight: inherit;
  content: "\f098";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

.store_insaletitle {
  margin-bottom: 5px;
}
.store_itemicons {
  display: flex;
  flex-wrap: wrap;
  margin-right: -5px;
  margin-bottom: -5px;
}
.store_itemicons > img {
  margin-right: 5px;
  margin-bottom: 5px;
  margin-left: 0;
  height: 60px;
}
.store_itemicons_insale {
  border: 2px solid #f9b500;
  width: 78px;
}
.store_notes {
  margin: 10px 0;
  line-height: 1.2;
  font-size: 80%;
}

a.store_address > img {
  margin-right: 10px;
}
@media screen and (max-width: 767px) {
  a.store_address > img {
    display: inline;
  }
}

.voicedetail_box {
  background: #f5f5f5;
  width: 100%;
  padding: 15px;
  margin-bottom: 1em;
}
.voicedetail_box h4 {
  color: #096;
  font-size: 18px;
}
.voicedetail_box h5 {
  margin-top: 25px;
  margin-bottom: 5px;
}

a.selected {
  color: #666;
}

.a_outside::after {
  font-weight: inherit;
  content: "\f08e";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

.a_pdf::after {
  font-weight: inherit;
  content: "\f1c1";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}
.a_pdf::after {
  margin-left: 1.2em;
}

.fa_notice::before {
  font-weight: inherit;
  content: "\f071";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

.icons {
  padding: 10px;
  font-size: 22px;
  font-weight: bold;
  color: #666;
  background: #fff;
  width: 100%;
}
.icons span {
  padding: 0 8px;
}

.push_number > * + * {
  margin-top: 5.3333333333px;
  margin-bottom: 5.3333333333px;
}
@media screen and (min-width: 768px) {
  .push_number > * + * {
    margin-top: 8px;
    margin-bottom: 8px;
  }
}
.push_number div > span {
  display: inline-block;
  margin-right: 5px;
  width: 2em;
  padding: 5px;
  background: #fff;
  text-align: center;
  font-size: 18px;
  font-weight: bold;
}

a.arrow::before {
  font-weight: inherit;
  content: "\f054";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

.font_arrow {
  font-weight: normal;
}
.font_arrow::before {
  font-weight: inherit;
  content: "\f061";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: #b3b3b3;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

.arrow_after::after {
  font-weight: inherit;
  content: "\f054";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

.arrow_under-gray {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  text-align: center;
}
.arrow_under-gray::before {
  font-weight: inherit;
  content: "\f063";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 2.5em;
  color: #607D8B;
  display: inline-block;
  margin-right: 0.5em;
  margin-left: 0.5em;
}
@media screen and (min-width: 768px) {
  .arrow_under-gray {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.font_phone_on {
  color: #6cbc29;
  font-size: 30px;
}

.font_phone_off {
  color: #df3b4c;
  font-size: 30px;
  transform: rotate(135deg);
}

.support_footer {
  margin: 0 0 0 15px;
  font-size: 14px;
}
.support_footer a:after {
  content: "|";
  padding: 0 10px;
}

.term_of_use table {
  margin: 5px 0 20px 0;
  width: 100%;
  border: 1px solid #ccc;
}
.term_of_use table td {
  border: 1px solid #cfd8dc;
  padding: 10px 0 10px 20px;
}
.term_of_use table th {
  padding: 10px 0 10px 20px;
  border-bottom: 1px solid #cfd8dc;
  background: #bdccd3;
}
.term_of_use h5 {
  margin-bottom: 10px;
}
.term_of_use ul {
  padding-bottom: 20px;
}
.term_of_use ul li {
  margin-bottom: 5px;
  text-indent: -1em;
  padding-left: 1em;
}
.term_of_use ul li table td {
  text-indent: 0;
  padding-left: 10px;
}
.term_of_use hr {
  margin-top: 0;
  margin-bottom: 20px;
}

.old_daydesc_dayborder {
  border-bottom: 5px solid #78909C;
}

.old_daydesc_day {
  flex-basis: 70px;
  text-align: center;
}

.old_daydesc_leftline {
  flex-basis: 70px;
  background-image: url(../images/old_daydesc_leftline.svg);
  background-position-x: center;
}

.old_daydesc_items {
  flex: 1;
}
.old_daydesc_items > div {
  padding: 10px;
}
.old_daydesc_items > div:last-child {
  margin-bottom: 30px;
}
.old_daydesc_items-initial {
  background-color: #ECEFF1;
}
.old_daydesc_items-base {
  background-color: #A5D6A7;
}
.old_daydesc_items-option {
  background-color: #E8F5E9;
}
.old_daydesc_items-later {
  background-color: #FFF59D;
}
.old_daydesc_items-kappu {
  background-color: #EDE7F6;
}
.old_daydesc_items-dataop {
  background-color: #E8F5E9;
}

/*************** table-style⇓ ***************/
@media screen and (max-width: 767px) {
  .tablescroll {
    overflow-x: auto;
    position: relative;
  }
  .tablescroll table {
    min-width: 600px;
  }
  .tablescroll table::before {
    font-size: 12px;
    content: "スクロールできます→";
    position: absolute;
    top: 0;
    right: 0;
  }
}

.table_scrollwrap {
  height: 370px;
  overflow: auto;
  position: relative;
}
.table_scrollwrap > figure {
  position: sticky;
  left: 0;
  top: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
}
.table_scrollwrap > figure > div.scrollable_bcg {
  position: absolute;
  background: linear-gradient(to bottom, rgba(0, 0, 0, 0) 0, rgba(0, 0, 0, 0.25) 100%);
  width: 100%;
  height: 40px;
  bottom: 0;
}
.table_scrollwrap table {
  position: absolute;
  left: 0;
  top: 0;
  z-index: 0;
}

.common_table {
  width: 100%;
  background: #ECEFF1;
  border: 1px #ECEFF1 solid;
}
@media screen and (max-width: 767px) {
  .common_table {
    font-size: 14px;
  }
}
.common_table caption {
  text-align: left;
}
.common_table tr:first-child th {
  background: #D9E2E6;
}
.common_table tr:first-child th:first-child {
  background: #F4F4F4;
}
.common_table tr:last-child th, .common_table tr:last-child td {
  border-bottom: 1px #ECEFF1 solid;
}
.common_table th, .common_table td {
  padding: 5px;
  border-bottom: 1px #fff solid;
  border-left: 1px #fff solid;
  text-align: left;
  font-weight: normal;
}
@media screen and (min-width: 768px) {
  .common_table th, .common_table td {
    padding: 5px 20px;
  }
}
.common_table th:first-child, .common_table td:first-child {
  background: #fff;
  border-bottom: 1px #ECEFF1 solid;
  border-left: 1px #ECEFF1 solid;
}
.common_table th.nowrap, .common_table td.nowrap {
  width: 20%;
  white-space: nowrap;
}

.sb_common_table {
  background: #eceff1;
  width: 100%;
  font-size: 12px;
}
@media screen and (min-width: 768px) {
  .sb_common_table {
    font-size: 14px;
  }
}
.sb_common_table caption {
  font-weight: bold;
  text-align: left;
}
.sb_common_table th,
.sb_common_table td {
  text-align: left;
  border: 3px #fff solid;
  padding: 5px;
}
@media screen and (min-width: 768px) {
  .sb_common_table th,
  .sb_common_table td {
    padding: 5px 10px;
  }
}
.sb_common_table th.nowrap, .sb_common_table td.nowrap {
  width: 20%;
  white-space: nowrap;
}

.table_wrap table {
  margin: 0 auto;
  max-width: 100%;
  padding: 20px 0;
  vertical-align: middle;
  text-align: left;
}
.table_wrap table th {
  width: 50%;
}
.table_wrap table td {
  width: 50%;
  padding-left: 20px;
}

@media screen and (min-width: 768px) {
  .table_fixed {
    table-layout: fixed;
  }
}

.table_auto {
  table-layout: auto;
}

.tabletext_middle {
  vertical-align: middle;
}

.table_standard, .table_repair, .product_table-left, .product_table {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
}
@media screen and (min-width: 768px) {
  .table_standard, .table_repair, .product_table-left, .product_table {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.table_standard caption, .table_repair caption, .product_table-left caption, .product_table caption {
  text-align: left;
  padding-bottom: 5px;
  font-weight: bold;
}
.table_standard th, .table_repair th, .product_table-left th, .product_table th, .table_standard td, .table_repair td, .product_table-left td, .product_table td {
  padding: 5px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .table_standard th, .table_repair th, .product_table-left th, .product_table th, .table_standard td, .table_repair td, .product_table-left td, .product_table td {
    padding: 10px;
  }
}
.table_standard th, .table_repair th, .product_table-left th, .product_table th {
  font-weight: normal;
  background-color: #F4F4F4;
}
@media screen and (max-width: 767px) {
  .table_standard tr, .table_repair tr, .product_table-left tr, .product_table tr {
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
  }
  .table_standard th, .table_repair th, .product_table-left th, .product_table th, .table_standard td, .table_repair td, .product_table-left td, .product_table td {
    display: block;
    width: 100%;
    border-bottom: 1px solid #ccc;
    border-right: 1px solid #ccc;
  }
}
@media screen and (min-width: 768px) {
  .table_standard th, .table_repair th, .product_table-left th, .product_table th, .table_standard td, .table_repair td, .product_table-left td, .product_table td {
    border: 1px solid #ccc;
  }
}

.product_table {
  margin: 20px auto;
  text-align: center;
}

.table_repair {
  margin-bottom: 30px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .table_repair {
    table-layout: fixed;
  }
}

table.standard {
  border-left: 1px solid #a6a6a6;
  border-top: 1px solid #a6a6a6;
  margin-bottom: 1em;
  font-size: 14px;
}
table.standard th,
table.standard td {
  border-right: 1px solid #a6a6a6;
  border-bottom: 1px solid #a6a6a6;
  padding: 5px;
}
@media screen and (min-width: 768px) {
  table.standard th,
  table.standard td {
    padding: 10px;
  }
}
table.standard th {
  text-align: left;
  background: #ededed;
}
@media screen and (min-width: 768px) {
  table.standard th {
    white-space: nowrap;
  }
}
table.standard td {
  word-wrap: break-word;
  word-break: break-all;
}

.table_price {
  width: 100%;
  font-size: 14px;
}
.table_price td,
.table_price th {
  border: 1px solid #ccc;
  padding: 5px;
}
.table_price .middle {
  vertical-align: middle;
}

.table_va_middle td {
  vertical-align: middle;
}

.support_certif_table {
  display: grid;
  grid-template-columns: 1fr;
  gap: 2px;
}
@media screen and (min-width: 768px) {
  .support_certif_table {
    grid-template-columns: 1fr 1fr 1fr;
  }
}
.support_certif_table > div {
  padding: 5px;
  background: #F4F4F4;
  font-size: 14px;
}
@media screen and (min-width: 768px) {
  .support_certif_table > div {
    padding: 10px;
  }
}

.flow_title_withnum {
  font-size: 18px;
  font-weight: bold;
}
.flow_title_withnum .capnum {
  font-size: 36px;
  margin-right: 15px;
}

.text_titleblock {
  margin: 3vw 0;
}
.text_titleblock h4 {
  color: #4c4c4c;
  text-indent: 1em;
}

.footer {
  background: #fafafa;
  font-size: 12px;
  padding: 1em;
  text-align: center;
}
.footer ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  line-height: 2;
}
@media screen and (max-width: 767px) {
  .footer ul {
    flex-direction: row;
  }
}
.footer ul li {
  padding-left: 0.5em;
}
.footer ul li:not(:last-child)::after {
  content: "|";
  padding-left: 0.5em;
}
.footer_bottom {
  background: #f7f9fa;
  padding-top: 1em;
}
@media screen and (max-width: 320px) {
  .footer_bottom {
    font-size: 10px;
  }
}
.footer_bottom img {
  width: 180px;
}
.footer_separater {
  margin-top: 80px;
  border-top: 10px solid #E8E8E8;
}
.footer a {
  font-weight: inherit;
  text-decoration: inherit;
  color: inherit;
}

.toTopButton {
  padding: 15px 5px;
  opacity: 0;
  position: fixed;
  bottom: -65px;
  right: 10px;
  z-index: 5;
  background-color: #46a98b;
  color: #fff;
  font-weight: normal;
  transition: 0.2s ease-out;
}

.toTopButton-visible {
  opacity: 1;
  bottom: 10px;
  transition-duration: 0.5s;
}

.children_mg_tb > *:not(:first-child) {
  margin-top: 0.5333333333em;
  margin-bottom: 0.5333333333em;
}
@media screen and (min-width: 768px) {
  .children_mg_tb > *:not(:first-child) {
    margin-top: 0.8em;
    margin-bottom: 0.8em;
  }
}

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

.input_checkbox {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 10px;
  border: 1px solid #4FAD91;
}
@media screen and (min-width: 768px) {
  .input_checkbox {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .input_checkbox {
    padding: 20px;
  }
}
.input_checkbox label {
  margin-top: 3.3333333333px;
  margin-bottom: 3.3333333333px;
  display: block;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .input_checkbox label {
    margin-top: 5px;
    margin-bottom: 5px;
  }
}
@media screen and (min-width: 768px) {
  .input_checkbox {
    margin-left: auto;
    margin-right: auto;
    width: 500px;
  }
}

.disp_table > p,
.disp_table > div {
  display: table-cell;
}

.frame_txtleft {
  padding: 10px;
  border: 1px solid #ccc;
}
.frame_txtleft > *:not(:first-child) {
  margin-top: 0.5333333333em;
}
@media screen and (min-width: 768px) {
  .frame_txtleft > *:not(:first-child) {
    margin-top: 0.8em;
  }
}
@media screen and (min-width: 768px) {
  .frame_txtleft {
    padding: 20px;
  }
}

@media screen and (min-width: 768px) {
  .shougai, .article_round,
  .article_round_notab,
  .curved_corner {
    margin-right: auto;
    margin-left: auto;
    margin-bottom: 20px;
    border: 1px solid #d7d7d7;
    border-radius: 6px;
    padding: 20px;
  }
}

.article_round > *:first-child {
  margin-top: 0;
}
@media screen and (min-width: 768px) {
  .article_round {
    border-top: 0;
    border-top-left-radius: 0;
    border-top-right-radius: 0;
  }
}

@media screen and (min-width: 768px) {
  .article_round_notab {
    margin-top: 32px;
  }
}

article p:not(:last-child),
.article_round p:not(:last-child),
.article_round_notab p:not(:last-child) {
  margin-bottom: 1em;
}

.shougai {
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 10px;
  color: #ea0040;
}
.shougai a {
  font-weight: inherit;
  text-decoration: inherit;
  color: inherit;
}

.menufixed {
  position: fixed;
  top: 0;
  max-width: 1000px;
  width: 100%;
  z-index: 200;
  opacity: 0.95;
}

ol.li_order {
  list-style: decimal;
  list-style-position: inside;
}
ol.li_order > li {
  line-height: 1.4;
}
ol.li_order > li + li {
  margin-top: 30px;
}

ol.li_order {
  list-style: decimal;
  list-style-position: inside;
}
ol.li_order > li {
  line-height: 1.4;
}
ol.li_order > li + li {
  margin-top: 30px;
}

ul.li_dot,
ul.style_disc,
ul.style_dot,
ul.style_kome,
ul.style_star,
ul.style_maru,
ul.style_square,
ul.style_hyphen,
.style_none,
.style_order {
  margin-top: 10px;
  margin-bottom: 10px;
}
ul.li_dot > li,
ul.style_disc > li,
ul.style_dot > li,
ul.style_kome > li,
ul.style_star > li,
ul.style_maru > li,
ul.style_square > li,
ul.style_hyphen > li,
.style_none > li,
.style_order > li {
  position: relative;
  padding-left: 1em;
  text-align: left;
  line-height: 1.5;
  font-size: 90%;
}
ul.li_dot > li:not(:last-child),
ul.style_disc > li:not(:last-child),
ul.style_dot > li:not(:last-child),
ul.style_kome > li:not(:last-child),
ul.style_star > li:not(:last-child),
ul.style_maru > li:not(:last-child),
ul.style_square > li:not(:last-child),
ul.style_hyphen > li:not(:last-child),
.style_none > li:not(:last-child),
.style_order > li:not(:last-child) {
  margin-bottom: 1em;
}
ul.li_dot > li::before,
ul.style_disc > li::before,
ul.style_dot > li::before,
ul.style_kome > li::before,
ul.style_star > li::before,
ul.style_maru > li::before,
ul.style_square > li::before,
ul.style_hyphen > li::before,
.style_none > li::before,
.style_order > li::before {
  position: absolute;
  left: 0;
}
ul.li_dot > li > p,
ul.style_disc > li > p,
ul.style_dot > li > p,
ul.style_kome > li > p,
ul.style_star > li > p,
ul.style_maru > li > p,
ul.style_square > li > p,
ul.style_hyphen > li > p,
.style_none > li > p,
.style_order > li > p {
  text-indent: 0;
}

ul.li_dot > li::before {
  content: "・";
}

ul.style_disc > li::before {
  content: "・";
}

ul.style_dot > li::before {
  content: "・";
}

ul.style_kome > li::before {
  content: "※";
}

ul.style_star > li::before {
  content: "★";
}

ul.style_maru > li::before {
  content: "●";
}

ul.style_square > li::before {
  content: "■";
}

ul.style_hyphen > li::before {
  content: "-";
}

ul.style_none > li,
ol.style_order > li {
  padding-left: 0;
  text-indent: 0;
}
ul.style_none > li:before,
ol.style_order > li:before {
  content: "";
}

.productlist_caption {
  background: #f1f5f3;
  padding: 0.5rem;
  margin: 0.5rem 0;
}

.productlist_img {
  border: 1px solid #aaa;
  width: 60%;
}

.ap_pkg_img {
  max-width: 250px;
}

@media screen and (max-width: 767px) {
  .brsp:after {
    content: "\a";
    white-space: pre;
  }
}

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

@media screen and (min-width: 768px) {
  .brpc:after {
    content: "\a";
    white-space: pre;
  }
}

#search-text {
  font-size: 20px;
  font-weight: bold;
  margin: 10px;
  background-color: #fffcbf;
}

.js_doSearch {
  cursor: pointer;
  cursor: pointer;
  margin: 0 25px 0 10px;
  border-radius: 3px;
  padding: 5px 10px;
  background-color: #63b3cd;
  font-weight: bold;
  color: #fff;
}

.js_clearSearchword {
  cursor: pointer;
  cursor: pointer;
  margin: 0 5px;
  border-radius: 3px;
  padding: 5px;
  background-color: #f0f0f0;
}

.js_anchorAnimate {
  list-style-type: disc;
  margin-left: 1em;
}

.highlight {
  background-color: yellow;
}

.radio_box_wrap {
  margin-top: 10px;
  margin-bottom: 10px;
  padding: 20px;
  border: 3px solid #fff;
  box-shadow: 1px 1px 2px 0 rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  background: #638fcd;
  color: #fff;
  cursor: pointer;
}
.radio_box_wrap input[type=radio] {
  display: none;
}
.radio_box_wrap input[type=radio]:checked + label::before {
  opacity: 1;
}
.radio_box_wrap label {
  display: block;
  position: relative;
  text-align: center;
  cursor: pointer;
}
.radio_box_wrap label::before,
.radio_box_wrap label::after {
  display: block;
  border-radius: 50%;
  position: absolute;
  content: "";
  left: 50%;
  top: 10px;
  transform: translate(-50%, -50%);
}
.radio_box_wrap label::before {
  transition: opacity 0.2s linear;
  width: 12px;
  height: 12px;
  background-color: #64b5f6;
  z-index: 3;
  opacity: 0;
}
.radio_box_wrap label::after {
  width: 20px;
  height: 20px;
  background-color: #fff;
  z-index: 1;
  border: 1px solid #aaa;
}
.radio_box_wrap .labeltext {
  padding-top: 20px;
}
.radio_box_wrap-color_y {
  background: #F5B423;
}
.radio_box_wrap-color_b {
  background: #1F50A2;
}
.radio_box_wrap-color_lb {
  background: #638fcd;
}
.radio_box_wrap h4 {
  line-height: 1.6em;
  font-weight: bold;
  font-size: 30px;
  padding: 40px 0 30px 0;
}
.radio_box_wrap p {
  font-weight: bold;
}

.radiorow_wrap {
  padding: 5px 30px;
}
.radiorow_wrap input[type=radio] {
  display: none;
}
.radiorow_wrap input[type=radio]:checked + label::before {
  opacity: 1;
}
.radiorow_wrap label {
  display: block;
  position: relative;
  text-align: left;
  cursor: pointer;
}
.radiorow_wrap label::before,
.radiorow_wrap label::after {
  display: block;
  border-radius: 50%;
  position: absolute;
  content: "";
  left: -20px;
  top: 10px;
  transform: translate(-50%, -50%);
}
.radiorow_wrap label::before {
  transition: opacity 0.2s linear;
  width: 12px;
  height: 12px;
  background-color: #64b5f6;
  z-index: 3;
  opacity: 0;
}
.radiorow_wrap label::after {
  width: 20px;
  height: 20px;
  background-color: #fff;
  z-index: 1;
  border: 1px solid #aaa;
}
.radiorow_wrap .labeltext {
  padding-top: 0;
}

.radio_sms_bg {
  background: #F5B423;
}

.radio_sim_bg {
  background: #D30D17;
}

.radio_neither_bg {
  background: #1F50A2;
}

input.text_radius, .select_radius.cp_select {
  max-width: 280px;
  height: 40px;
  padding: 5px 0 5px 15px;
  margin-right: 5px;
  font-size: 18px;
  border: 1px solid #5C92DA;
  border-radius: 5px;
  color: #000;
}

.select_radius {
  overflow: hidden;
}
.select_radius select {
  width: 100%;
  font-size: inherit;
  font-weight: inherit;
  color: inherit;
  cursor: pointer;
  -webkit-appearance: none;
          appearance: none;
  -moz-appearance: none;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  border: none;
  outline: none;
  background: transparent;
  background-image: none;
  box-shadow: none;
}
.select_radius select::-ms-expand {
  display: none;
}
.select_radius.cp_select {
  position: relative;
  background: #ffffff;
}
.select_radius.cp_select::after {
  position: absolute;
  top: 1em;
  right: 10px;
  width: 0;
  height: 0;
  padding: 0;
  content: "";
  border-left: 6px solid transparent;
  border-right: 6px solid transparent;
  border-top: 6px solid #4389d3;
  pointer-events: none;
}

label.radio_box {
  display: flex;
}
label.radio_box .label_div-flex1 {
  flex-direction: column;
  justify-content: center;
}
label.radio_box .label_div-flex2 {
  flex-direction: row;
  justify-content: center;
  align-items: center;
}
label.radio_box input {
  display: none;
}
label.radio_box input + .label_div {
  width: 100%;
  display: flex;
  padding: 20px 20px 20px 40px;
  border: 3px solid #F4F4F4;
  border-radius: 10px;
  background-color: #F4F4F4;
  background-position: 10px center;
  background-repeat: no-repeat;
  background-size: 20px;
  background-image: url(../images/radio_uncheck.svg);
  transition: 0.3s;
}
label.radio_box input + .label_div:hover {
  cursor: pointer;
}
label.radio_box input:checked + .label_div {
  border: 3px solid #002775;
  background-color: #dbe7ff;
  background-image: url(../images/radio_checked.svg);
}
label.radio_box input:checked + .label_div > .label_text {
  font-weight: bold;
}

.checkbox {
  display: flex;
  cursor: pointer;
}
.checkbox input {
  display: none;
}
.checkbox input + .checkbox_fontAS {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .checkbox input + .checkbox_fontAS {
    flex-direction: column;
  }
}
.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 {
  content: "\f046";
  color: #FD1744;
}

.mg_p p {
  margin-bottom: 10px;
}

.article_jfsim {
  color: #000;
}

.section {
  background-color: #f5f5f5;
  margin-top: 20px;
  padding: 10px;
}
.section h4 {
  color: #333;
  margin-bottom: 10px;
}
.section p {
  margin-bottom: 10px;
}
.section table {
  margin: 0 0 10px 0;
  border-collapse: separate;
  border-spacing: 2px;
}
.section table th,
.section table td {
  background: #fff;
  padding: 5px 5px 5px 10px;
  font-size: 14px;
  vertical-align: top;
}
.section table th {
  padding-right: 10px;
  font-weight: bold;
}

.plan_box {
  padding: 20px 10px;
  margin: 10px 0;
}
.plan_box h4 {
  color: #333;
  font-size: 18px;
  margin: 0 0 10px 0;
}

.device_settingblk dl > *:not(:first-child) {
  margin-top: 4px;
}
@media screen and (min-width: 768px) {
  .device_settingblk dl > *:not(:first-child) {
    margin-top: 6px;
  }
}
.device_settingblk dl dt > h3 {
  margin-top: 30px;
}
.device_settingblk dl dt {
  font-weight: bold;
}
.device_settingblk dl img {
  max-width: 360px;
  border: 1px solid #ccc;
}

.device_settingTable,
.table_hikaku {
  width: 100%;
}
.device_settingTable caption,
.table_hikaku caption {
  text-align: left;
}
.device_settingTable th, .device_settingTable td,
.table_hikaku th,
.table_hikaku td {
  border: 1px solid #ccc;
  max-width: 100%;
  padding: 5px;
  vertical-align: middle;
}
.device_settingTable th,
.table_hikaku th {
  background: #e0e0e0;
  text-align: left;
}

.note_card ul {
  margin-bottom: 20px;
}
.note_card ul li {
  list-style: disc;
  list-style-position: outside;
  margin-left: 20px;
  margin-bottom: 0.5em;
  line-height: 1.5em;
  font-size: 14px;
  color: #666;
}

.notice {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  font-size: 14px;
  color: #5D5D5D;
}
@media screen and (min-width: 768px) {
  .notice {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.note_box {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 10px;
  background: #F5F5F5;
}
@media screen and (min-width: 768px) {
  .note_box {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.data_plan {
  font-size: 14px;
  margin-bottom: 15px;
  border-bottom: 1px solid #ccc;
}
.data_plan th {
  vertical-align: middle;
}
.data_plan td {
  padding: 5px 10px;
}

ul.li_disc {
  margin-left: 20px;
}
ul.li_disc li {
  list-style: disc;
}

ul.li_dot li::before {
  content: "・";
}

ul.li_kome li::before {
  content: "※";
}

ol.note_list > li {
  list-style: decimal;
}

ul.li_separate li {
  margin-bottom: 1em;
}
ul.li_separate_l li {
  margin-bottom: 2em;
}

.setting_box {
  background: #f6f6f6;
  padding: 20px;
  margin-bottom: 20px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .setting_box {
    max-width: 470px;
  }
}
.setting_box .flow_title {
  font-size: 18px;
  font-weight: bold;
}
.setting_box .flow_title span {
  font-size: 36px;
  margin-right: 15px;
}
.setting_box p,
.setting_box li,
.setting_box div {
  text-align: left;
}

.setting_pre_wrap {
  background: #f5f5f5;
  padding: 20px;
  margin: 10px 0;
}
.setting_pre_wrap p,
.setting_pre_wrap li,
.setting_pre_wrap div {
  text-align: left;
}

.bm_shopmenu {
  margin-top: 15px;
  margin-bottom: 20px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .bm_shopmenu {
    flex-direction: column;
  }
}
.bm_shopmenulogo {
  max-width: 160px;
}
.bm_shopmenu li {
  padding: 5px;
}
@media screen and (min-width: 768px) {
  .bm_shopmenu li:not(:last-child)::after {
    padding-left: 10px;
    content: "|";
  }
}

.bmcurrent {
  background: #69c;
  color: #fff;
  padding: 2px 5px;
  border-radius: 5px;
}

.bm_sublink {
  margin: 20px 0 0 0;
  text-align: center;
}
.bm_sublink li {
  padding: 10px 20px;
  border: 1px solid #ccc7d7;
  border-bottom: 0;
  cursor: pointer;
  border-radius: 5px 5px 0 0;
}

.product_box {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 0.5%;
  background-color: #e0e0e0;
}
@media screen and (max-width: 767px) {
  .product_box {
    flex-direction: row;
  }
}
.product_box h3 {
  padding-bottom: 5px;
  border-bottom: 2px solid #ccc;
  margin-bottom: 10px;
  line-height: 1.2;
  font-size: 18px;
  text-align: center;
}
.product_box .sale_date {
  font-weight: bold;
  text-align: right;
}
.product_box .box_text01 img {
  margin-bottom: 10px;
  margin-left: 10px;
}
.product_box .new {
  color: #f00;
  font-weight: bold;
}
.product_boximg {
  float: left;
  width: 55px;
  margin-right: 5px;
}
.product_boxitem {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  margin: 0.5%;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .product_boxitem {
    max-width: 32.3333333333%;
    flex-basis: 32.3333333333%;
  }
}
@media screen and (min-width: 600px) and (max-width: 768px) {
  .product_boxitem {
    max-width: 49%;
    flex-basis: 49%;
  }
}
.product_boxitem p {
  margin-bottom: 10px;
}
.product_boxitemLastelem {
  margin-top: auto;
  text-align: center;
}
.product_boxitem {
  padding: 10px;
  font-size: 14px;
}
.product_boxinfo {
  clear: both;
  margin-bottom: 10px;
}
.product_boxinfo li {
  text-align: left;
}

.jq_bmarket_tabselected {
  background: #638fcd;
  color: #fff;
  font-weight: bold;
}

.js-preArea {
  display: none;
}

.start_box {
  display: flex;
  gap: 20px;
}
@media screen and (max-width: 767px) {
  .start_box {
    flex-direction: column;
    align-items: center;
  }
}
.start_boxitem {
  display: flex;
  gap: 16px;
  flex-direction: column;
  max-width: 330px;
  flex: 1;
  padding: 20px;
  text-align: center;
  border: 1px solid #dfdfdf;
  border-radius: 10px;
  cursor: pointer;
}
@media screen and (max-width: 767px) {
  .start_boxitem {
    width: 100%;
  }
}
.start_boxitem a.btn_w100per {
  margin-top: auto;
}
.start_boxitem2 {
  display: flex;
  flex-direction: column;
  flex-grow: 1;
  margin: 0.5%;
  background: #fff;
  text-align: center;
  border-radius: 10px;
  border: solid 1px #ddd;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .start_boxitem2 {
    max-width: 32.3333333333%;
    flex-basis: 32.3333333333%;
  }
}
.start_boxpkg {
  padding: 20px;
  border-top-left-radius: 10px;
  border-top-right-radius: 10px;
  background: radial-gradient(circle at bottom, #fff 30%, #f2f2f2 60%, #ddd 100%);
}
.start_boxpkgname {
  font-size: 20px;
  line-height: 1.3;
}
.start_boxpkgimage {
  max-height: 150px;
  box-shadow: 0 0 3px 1px #ccc;
}
.start_boxpkgvoice, .start_boxpkgdata {
  padding: 15px;
  background: #cfe7dd;
  border-radius: 8px;
}
.start_boxpkgvoice img, .start_boxpkgdata img {
  height: 150px;
}
.start_boxoutline {
  margin: 20px;
}
.start_boxoutline-t {
  font-size: 14px;
  font-weight: bold;
  background-color: #e7f3e7;
  padding: 1px;
}

.table_dl th, .table_tb th,
.table_dl td,
.table_tb td {
  border-bottom: 1px solid #ccc;
  padding: 10px;
  vertical-align: middle;
  table-layout: fixed;
  word-wrap: break-word;
  overflow-wrap: break-word;
}
.table_dl th, .table_tb th {
  width: 30%;
}
@media screen and (min-width: 768px) {
  .table_dl th, .table_tb th {
    width: 20%;
  }
}

.table_tb tr:nth-child(even) {
  background: #eee;
}

.table_dl {
  font-size: 12px;
  width: 100%;
}
.table_dl tr:nth-child(4n-1),
.table_dl tr:nth-child(4n) {
  background: #eee;
}

.table_dl_odd > tbody > tr:nth-child(odd) {
  background: #eee;
}

.table_dl_odd > tbody > tr:nth-child(even) {
  background: #fff;
}

.download_title {
  border-bottom: 1px solid #ddd;
  margin-bottom: 10px;
  font-weight: bold;
  color: #333;
  font-size: 110%;
}

.myb-nav {
  margin-bottom: 40px;
}
.myb-nav a {
  margin: 10px 15px 10px 0;
  border-radius: 5px;
  background: #2c726a;
  color: #fff !important;
  display: block;
  padding: 15px;
  text-decoration: none;
  font-size: 14px;
  font-weight: normal;
}

.usestep li {
  margin: 20px 0;
}

.not_product li {
  padding-right: 5px;
}

.ability {
  font-size: 14px;
}
.ability li:first-child {
  font-weight: bold;
}
.ability li:not(:first-child) {
  list-style-type: disc;
  list-style-position: inside;
}

.table_mnp {
  margin: 0 0 30px 0;
  border: 1px solid #ccc;
  border-collapse: separate;
}
.table_mnp th,
.table_mnp td {
  border: 1px solid #ccc;
  font-size: 12px;
  padding: 10px;
  border-collapse: separate;
}
.table_mnp td {
  background: #f7f7f7;
  padding-left: 10px;
}

.faq_linkbox dt {
  color: #690;
  font-weight: bold;
}

.faq_catebox h4 {
  display: block;
  background: rgba(38, 166, 154, 0.1333333333);
  padding: 10px;
  border-bottom: 2px solid #26a69a;
}

.faq_qabox {
  margin: 20px 0;
}
.faq_qabox h5 {
  color: #26a69a;
  margin: 15px 0;
}
.faq_qabox dt {
  font-size: 14px;
  font-weight: bold;
  text-indent: -13px;
  padding-left: 25px;
}
.faq_qabox dt::before {
  font-weight: inherit;
  content: "\f059";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 20px;
  color: #26a69a;
  display: inline-block;
  margin-right: 4px;
  margin-left: 4px;
}
.faq_qabox dd {
  font-size: 14px;
  margin: 0 0 20px 24px;
}

.submenu_index {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  padding: 20px 0;
}
@media screen and (max-width: 767px) {
  .submenu_index {
    flex-direction: column;
  }
}
.submenu_index > a {
  display: flex;
  flex-direction: column;
  align-items: center;
  font-weight: inherit;
  gap: 15px;
  width: 100%;
  padding: 20px;
  box-shadow: 0 2px 4px 0 rgba(0, 0, 0, 0.2);
  border: 2px solid #fff;
  background: #638fcd;
  color: #fff;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .submenu_index > a {
    gap: 20px;
    min-height: 150px;
  }
}
.submenu_index h5::after {
  font-weight: inherit;
  content: "\f054";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}
.submenu_index .submenu_index_flex {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 10px;
  text-align: left;
}
.submenu_index .submenu_index_flex img {
  max-width: 70px;
}

.info_bold_hr {
  display: block;
  height: 8px;
  margin-left: 20px;
  margin-right: 20px;
  border-radius: 4px;
  background: #fff;
  box-shadow: 0px 0px 3px 0px #aaa inset;
}

@media screen and (max-width: 767px) {
  .toppage_bottomBannerblock a, .toppage_bottomBannerblock p {
    width: 50%;
    margin: 5px;
    font-size: 90%;
  }
}
@media screen and (min-width: 768px) {
  .toppage_bottomBannerblock {
    flex-wrap: wrap;
  }
}
.toppage_bottomBannerblock p {
  margin: 5px;
  font-size: 14px;
}
.toppage_bottomBannerblock_pair {
  display: flex;
  flex-direction: row;
}
@media screen and (min-width: 768px) {
  .toppage_bottomBannerblock_pair {
    flex-direction: column;
    width: 23%;
    margin: 5px 1%;
  }
}

.info_withdate,
.info_withdate-top,
.info_dtdd {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 15px;
}
@media screen and (min-width: 768px) {
  .info_withdate,
  .info_withdate-top,
  .info_dtdd {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.info_withdate dl,
.info_withdate-top dl,
.info_dtdd dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .info_withdate dl,
  .info_withdate-top dl,
  .info_dtdd dl {
    flex-direction: row;
  }
}
.info_withdate dt,
.info_withdate-top dt,
.info_dtdd dt {
  width: 100px;
}
@media screen and (max-width: 767px) {
  .info_withdate dt:empty,
  .info_withdate-top dt:empty,
  .info_dtdd dt:empty {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .info_withdate dd,
  .info_withdate-top dd,
  .info_dtdd dd {
    width: calc(100% - 100px);
  }
}
.info_withdate dd:not(:last-child)::after,
.info_withdate-top dd:not(:last-child)::after,
.info_dtdd dd:not(:last-child)::after {
  content: "";
  display: block;
  border-bottom: 1px dashed #aaa;
  margin: 10px -15px 10px -15px;
}
@media screen and (min-width: 768px) {
  .info_withdate dd:not(:last-child)::after,
  .info_withdate-top dd:not(:last-child)::after,
  .info_dtdd dd:not(:last-child)::after {
    margin: 10px -15px 10px -115px;
  }
}

.info_dtdd-en {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 15px;
}
@media screen and (min-width: 768px) {
  .info_dtdd-en {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.info_dtdd-en dl {
  display: flex;
  flex-wrap: wrap;
  font-size: 14px;
  flex-direction: column;
}
@media screen and (min-width: 768px) {
  .info_dtdd-en dl {
    flex-direction: row;
  }
}
.info_dtdd-en dt {
  width: 130px;
}
@media screen and (max-width: 767px) {
  .info_dtdd-en dt:empty {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .info_dtdd-en dd {
    width: calc(100% - 130px);
  }
}
.info_dtdd-en dd:not(:last-child)::after {
  content: "";
  display: block;
  border-bottom: 1px dashed #aaa;
  margin: 10px -15px 10px -15px;
}
@media screen and (min-width: 768px) {
  .info_dtdd-en dd:not(:last-child)::after {
    margin: 10px -15px 10px -145px;
  }
}

.info_withdate {
  background: #f6f6f6;
}

.info_dtdd {
  background: #e9f2f2;
}

.info_datedl {
  background: #e9f2f2;
}
.info_datedl dl {
  display: flex;
  flex-direction: column;
  padding: 15px;
}
.info_datedl dl:not(:first-child) {
  border-top: 1px dashed #999;
}
.icontitle {
  font-weight: bold;
  margin-top: 10px;
}
.icontitleimg {
  margin: 0 15px;
  vertical-align: middle;
}
.icontitle-pickup {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  font-size: 20px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .icontitle-pickup {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.cmn_settlement {
  margin: 15px 0;
  font-size: 14px;
}
.cmn_settlement dl {
  margin: 15px 0;
}
.cmn_settlement dl:not(:first-child) {
  border-top: 1px dotted #999;
}
.cmn_settlement dl dt {
  margin-top: 20px;
  color: #3f8576;
  font-weight: bold;
}
.cmn_settlement dl dd {
  padding: 10px 0;
}

.table_cell {
  width: 100%;
}
.table_cell table tr {
  vertical-align: middle;
  font-size: 10px;
}
.table_cell table tr th {
  background-color: #efefef;
  border: 1px solid #ccc;
  text-align: center;
  padding: 10px;
}
.table_cell table tr td {
  border: 1px solid #ccc;
  text-align: left;
  padding: 10px;
}
.table_cell table tr td:first-child {
  text-align: center;
}

.cb-enable,
.cb-disable,
.cb-enable span,
.cb-disable span {
  background: url(../images/switch.gif) repeat-x;
  display: block;
  float: left;
}

.cb-enable span,
.cb-disable span {
  line-height: 30px;
  display: block;
  background-repeat: no-repeat;
  font-weight: bold;
}

.cb-enable span {
  background-position: left -90px;
  padding: 0 10px;
}

.cb-disable span {
  background-position: right -180px;
  padding: 0 10px;
}

.cb-disable.selected {
  background-position: 0 -30px;
}
.cb-disable.selected span {
  background-position: right -210px;
  color: #fff;
}

.cb-enable.selected {
  background-position: 0 -60px;
}
.cb-enable.selected span {
  background-position: left -150px;
  color: #fff;
}

.switch label {
  cursor: pointer;
}
.switch input {
  display: none;
}

.sec,
.old_product_sec {
  margin: 10px 10px;
}
@media screen and (min-width: 768px) {
  .sec,
  .old_product_sec {
    margin: 20px 10px;
  }
}

.sectitle,
.old_product_sectitle {
  border-top: 1px solid #D1D1D1;
  background: #F4F4F4;
  padding: 10px;
}

.sectitle {
  margin: 30px -10px 20px -10px;
}

.old_product_sectitle {
  margin: 40px -10px 20px -10px;
}

.btn_w300,
.btn_support,
.btn_roundblue {
  line-height: 1.3;
  min-width: 100px;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
  min-height: 3em;
  padding: 0.5em 1.5em;
  cursor: pointer;
  font-size: calc(1em + 0.1vw);
  font-weight: inherit;
  border: 0;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  outline: none;
  background: #4F86D3;
  color: #ffffff;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  max-width: 300px;
  width: 100%;
  position: relative;
  border-radius: 3em;
}
@media screen and (max-width: 767px) {
  .btn_w300,
  .btn_support,
  .btn_roundblue {
    margin-right: auto;
    margin-left: auto;
  }
}
.btn_w300 + *.descrption,
.btn_support + *.descrption,
.btn_roundblue + *.descrption {
  margin-top: 10px;
}
.btn_w300::after,
.btn_support::after,
.btn_roundblue::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_w300::after,
.btn_support::after,
.btn_roundblue::after {
  position: absolute;
  right: 2%;
}

.boxBluePoint {
  margin: 40px 0 20px 0;
  padding: 10px;
  border: 1px solid #004da1;
  border-radius: 4px;
  text-align: left;
  position: relative;
  background: #fff;
}
@media screen and (min-width: 768px) {
  .boxBluePoint {
    padding: 20px;
  }
}

.borderbox, .border_box, .border_box-item_num {
  border: 1px solid #ccc;
  padding: 8px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .borderbox, .border_box, .border_box-item_num {
    padding: 10px;
  }
}

.border_box_blue {
  border: 1px solid #004da1;
  padding: 8px;
  text-align: left;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .border_box_blue {
    padding: 10px;
  }
}

.border_box_red {
  border: 1px solid #ea0040;
  padding: 8px;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .border_box_red {
    padding: 10px;
  }
}

.border_img {
  border: 1px solid #aaa;
}

.notePoint {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  background: #bbdbff;
  padding: 3px 15px;
  box-shadow: 0 0 2px 0.5px #004da1;
  border-radius: 50px;
  line-height: 1.4;
  color: #004da1;
  transform: translateY(-50%);
  margin-top: -10px;
}
@media screen and (min-width: 768px) {
  .notePoint {
    margin-top: -20px;
  }
}
.notePoint::before {
  font-size: 20px;
  font-family: FontAwesome;
  content: "\f0eb";
  padding-right: 10px;
}

.esimStepHeader_title {
  margin-top: 50px;
  padding-top: 20px;
  position: sticky;
  top: 60px;
  font-size: 30px;
  text-align: center;
  background: #CAEBE7;
  border-radius: 10px 10px 0 0;
  z-index: 5;
}
@media screen and (min-width: 768px) {
  .esimStepHeader_title {
    top: 80px;
  }
}

.esimStepHeader {
  background: #CAEBE7;
  padding: 10px 20px 20px 20px;
}
.esimStepHeader .esimStepHeader_img {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: min(400px, 100%);
  margin: 10px auto 0 auto;
  padding: 15px;
  background-color: #fff;
  border-radius: 5px;
}
@media screen and (max-width: 767px) {
  .esimStepHeader .esimStepHeader_img {
    flex-direction: column;
  }
}

.esimPlanAddbox {
  margin: 30px auto;
  padding: 25px 15px;
  background: #fff;
  border-radius: 5px;
}
.esimPlanAddbox h5 {
  margin-bottom: 20px;
  font-size: 18px;
  color: #46a98b;
}
.esimPlanAddbox h5 span {
  color: #000;
}
.esimPlanAddbox_img {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  width: min(300px, 100%);
  margin: 20px auto;
}
@media screen and (max-width: 767px) {
  .esimPlanAddbox_img {
    flex-direction: column;
  }
}

.esim_setting_block > li {
  background: #F4F4F4;
  padding: 20px 15px;
}
.esim_setting_block > li:not(:first-child) {
  padding-top: 70px;
  background: center top/100% 50px no-repeat url("../images/separateArrowEsim.svg") #F4F4F4;
}

.esim_stepSetting_block {
  background: #fff;
  padding: 20px 15px;
}
.esim_stepSetting_block:first-child {
  border-radius: 10px 10px 0 0;
}
.esim_stepSetting_block:last-child {
  border-radius: 0 0 10px 10px;
}
.esim_stepSetting_block:not(:first-child) {
  padding-top: 70px;
  background: center top/100% 50px no-repeat url("../images/separateArrowEsim2.svg") #fff;
}

.esim_setting_stepcapture {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 8vw;
}
@media screen and (min-width: 768px) {
  .esim_setting_stepcapture {
    gap: 20px 3%;
  }
}
.esim_setting_stepcapture li {
  width: min(163px, 45%);
}

.esimNoteTable_yellow, .esimNoteTable {
  width: 100%;
  margin-top: 30px;
}
.esimNoteTable_yellow tr:first-of-type, .esimNoteTable tr:first-of-type {
  font-weight: bold;
}
.esimNoteTable_yellow tr:not(:first-of-type), .esimNoteTable tr:not(:first-of-type) {
  background-color: white;
}
.esimNoteTable_yellow th, .esimNoteTable th, .esimNoteTable_yellow td, .esimNoteTable td {
  padding: 10px;
}

.esimNoteTable tr {
  border: 3px solid #5C92DA;
}
.esimNoteTable tr:first-of-type {
  background-color: #A0C0ED;
}

.esimNoteTable_yellow tr {
  border: 3px solid #F2D568;
}
.esimNoteTable_yellow tr:first-of-type {
  background-color: #fde89d;
}

.tab-wrap {
  display: flex;
  flex-wrap: wrap;
}

.tab-label {
  font-size: 14px;
  order: -1;
  position: relative;
  z-index: 1;
  cursor: pointer;
  border-radius: 10px 10px 0 0;
  flex: 1;
}
.tab-label:not(:last-of-type) {
  margin-right: 5px;
}
.tab-label .labelname {
  padding: 10px;
  text-align: center;
  border-radius: 10px 10px 0 0;
  opacity: 0.6;
  font-weight: bold;
}
.tab-label .labeldesc {
  padding: min(15px, 5%);
}
.tab-label:first-of-type {
  background: #D5E7FF;
}
.tab-label:first-of-type .labelname {
  background: #B4D1F8;
}
.tab-label:last-of-type {
  background: #FFEBF6;
}
.tab-label:last-of-type .labelname {
  background: #FDD6EB;
}

.tab-content {
  width: 100%;
  height: 0;
  overflow: hidden;
  opacity: 0;
}

.tab-switch {
  display: none;
}

.tab-switch:checked + .tab-label .labelname {
  opacity: 1;
}
.tab-switch:checked + .tab-label + .tab-content {
  height: auto;
  overflow: auto;
  opacity: 1;
  transition: 0.5s opacity;
}
.tab-switch:checked + .tab-label + .tab-content:first-of-type {
  background: #D5E7FF;
}
.tab-switch:checked + .tab-label + .tab-content:last-of-type {
  background: #FFEBF6;
}

.content_inner p:not(:last-child), .content_blk p:not(:last-child), .content_blkshrink p:not(:last-child) {
  margin-bottom: 1.5em;
}

.secTitle_back {
  padding: 5px 10px;
  background: #F4F4F4;
  font-weight: normal;
  margin-bottom: 5px;
}

.image_order_arrow {
  display: flex;
  flex-wrap: column;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .image_order_arrow {
    flex-direction: column;
  }
}
.image_order_arrow > li {
  position: relative;
}
.image_order_arrow > li img {
  margin-bottom: 20px;
}
@media screen and (max-width: 767px) {
  .image_order_arrow > li img {
    margin-bottom: 50px;
  }
}
@media screen and (max-width: 767px) {
  .image_order_arrow > li {
    margin: auto;
  }
}
.image_order_arrow > li:not(:last-child)::after {
  width: 50px;
  color: #D1D1D1;
  font-family: "FontAwesome";
  font-size: 30px;
  content: "\f063";
  position: absolute;
}
@media screen and (max-width: 767px) {
  .image_order_arrow > li:not(:last-child)::after {
    bottom: 0;
    left: 50%;
    margin-left: -15px;
  }
}
@media screen and (min-width: 768px) {
  .image_order_arrow > li:not(:last-child)::after {
    top: 50%;
    margin-top: -30px;
    transform: rotate(-90deg);
  }
}

.image_order_capt-iphone li img,
.image_order_capt-spsize li img {
  max-width: 200px;
}
@media screen and (min-width: 768px) {
  .image_order_capt-iphone li,
  .image_order_capt-spsize li {
    flex-basis: 25%;
  }
}
@media screen and (min-width: 600px) and (max-width: 768px) {
  .image_order_capt-iphone li,
  .image_order_capt-spsize li {
    flex-basis: 33.3333333333%;
  }
}
.image_order_capt-iphone img,
.image_order_capt-spsize img {
  max-height: 433px;
}

.image_order_capt-ipad li img,
.image_order_capt-tabsize li img {
  max-width: 280px;
}
@media screen and (min-width: 768px) {
  .image_order_capt-ipad li,
  .image_order_capt-tabsize li {
    flex-basis: 33.3333333333%;
  }
}
@media screen and (min-width: 600px) and (max-width: 768px) {
  .image_order_capt-ipad li,
  .image_order_capt-tabsize li {
    flex-basis: 50%;
  }
}

.support_flow_captureimage img,
.support_flow_captureimage-spsize img {
  max-width: 200px;
}

.support_flow_captureimage-tabsize img,
.support_flow_captureimage-ipad img {
  max-width: 280px;
}

.image_order_onestop {
  display: flex;
  align-items: center;
  justify-content: center;
}
.image_order_onestop img {
  min-width: 0;
  max-width: 250px;
}
.image_order_onestop i {
  color: #6D6D6D;
  padding: 10px;
  font-size: 80px;
}

.esims_titleH2 {
  margin-top: 70px;
  font-size: 40px;
  font-weight: bold;
}

.esims_reissue {
  margin-top: 20px;
  padding: 20px;
  border: 5px solid #7ECBAD;
  border-radius: 10px;
}
.esims_reissue .esims_reissue_title {
  text-align: center;
  color: #7ECBAD;
  font-size: 22px;
}

/* グローバルメニュー */
.menu-top {
  display: none;
  overflow: hidden;
}

#menu {
  display: none;
  position: absolute;
  z-index: 100;
  width: 330px;
  top: 89px;
  left: 2px;
}
@media screen and (min-width: 768px) {
  #menu {
    top: 109px;
    left: calc(50vw - 498px);
  }
}
@media screen and (min-width: 600px) and (max-width: 768px) {
  #menu {
    left: 0;
  }
}

.menufix {
  top: 64px !important;
}
@media screen and (min-width: 768px) {
  .menufix {
    top: 45px !important;
  }
}

#closeMenu {
  display: none;
  position: fixed;
  top: 0;
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 99;
}

/* ↑ここまでjQueryでも使う可能性あり */
.header_top {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  display: flex;
  justify-content: flex-start;
  align-items: center;
  background-color: #fff;
  height: 45px;
}
@media screen and (max-width: 767px) {
  .header_top {
    flex-direction: row;
  }
}
@media screen and (min-width: 768px) {
  .header_top {
    height: 65px;
  }
}
.header_toplogo {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  height: 100%;
  margin-right: auto;
  margin-left: 2%;
}
@media screen and (max-width: 767px) {
  .header_toplogo {
    flex-direction: column;
  }
}
.header_toplogo img {
  height: 50%;
}
.header_top a {
  font-weight: inherit;
  text-decoration: inherit;
  color: inherit;
}
.header_topicons {
  display: flex;
  flex-wrap: nowrap;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  height: 100%;
  margin-right: 2%;
  line-height: 1.2;
  font-size: calc(9px + 0.3vw);
  letter-spacing: -0.02em;
}
@media screen and (max-width: 767px) {
  .header_topicons {
    flex-direction: column;
  }
}
.header_topicons img {
  height: 50%;
}

.g_navi {
  color: #fff;
  background-color: #46a98b;
}
.g_navi li {
  border-right: 2px solid #fff;
  height: 42px;
  cursor: pointer;
  width: 33.3%;
}
.g_navi li:first-child {
  border-left: 2px solid #fff;
}
.g_navi li:first-child span::after {
  font-weight: inherit;
  content: "\f078";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}
.g_navi li:hover {
  opacity: 0.8;
}
.g_navi li > div,
.g_navi li > a {
  color: inherit;
  width: 100%;
  height: 100%;
}
.g_navi li span {
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .g_navi li span {
    font-size: 14px;
  }
}

.gnavi_dropdown {
  width: 300px;
  background-color: #a1e2ca;
  padding: 8px 8px 1px 8px;
  float: left;
}

.gnavi_dropdownsim {
  border-radius: 5px;
  margin-bottom: 10px;
  background-color: #fff;
}

.gnavi_simtitle {
  background-color: #46a98b;
  text-align: center;
  line-height: 35px;
  border-radius: 5px 5px 0 0;
  color: #fff;
}

.gnavi_simtitleNt {
  background: #224fa1;
}

.gnavi_product {
  line-height: 1.2;
  padding: 8px;
  border-bottom: 1px dashed #aaa;
}
.gnavi_product:last-child {
  border-bottom: none;
}
.gnavi_product a.ichiran {
  font-size: 14px;
  font-weight: normal;
}

.gnavi_productnet {
  font-size: 12px;
}

.gnavi_productsimname {
  margin-right: auto;
  padding-left: 5px;
  font-size: 80%;
}

.gnavi_productsimkind, .gnavi_productsimkind_d-usable:before, .gnavi_productsimkind_d-disable:before, .gnavi_productsimkind_v-usable:before, .gnavi_productsimkind_v-disable:before {
  color: #fff;
  text-align: center;
  display: inline-block;
  font-size: 10px;
  line-height: 17px;
  vertical-align: middle;
  padding: 0 5px;
  margin-right: 5px;
}
.gnavi_productsimkind_d-usable:before, .gnavi_productsimkind_d-disable:before {
  content: "データ";
}
.gnavi_productsimkind_v-usable:before, .gnavi_productsimkind_v-disable:before {
  content: "音声";
}
.gnavi_productsimkind_d-usable:before, .gnavi_productsimkind_v-usable:before {
  background-color: #5aa68a;
}
.gnavi_productsimkind_d-disable:before, .gnavi_productsimkind_v-disable:before {
  background-color: #cacaca;
}

.gnavi_close {
  position: absolute;
  left: 300px;
  width: 25px;
  height: 35px;
  background-color: #a1e2ca;
}

.variablefixed {
  position: fixed;
  top: 64px;
  left: 0;
  z-index: 10000;
  opacity: 0.95;
  float: left;
}

.mainmenu {
  background: #f0f0f0;
  border-bottom: 10px solid #f9d400;
}

.mainmenu_voice {
  background: #e8e8e8;
}

.mainmenu_pad {
  background: #f0f0f0;
  border-bottom: 10px solid #3662be;
}

.mainmenu_sumahod {
  background: #f0f0f0;
  border-bottom: 10px solid #46a98b;
}

.mainmenu_prefix {
  background: #fff;
  border-bottom: 3px solid #707070;
}

.mainmenu_start {
  background: #26A69A;
  border-top: 5px solid #26A69A;
  border-bottom: 5px solid #26A69A;
}
@media screen and (min-width: 768px) {
  .mainmenu_start {
    border-top: 10px solid #26A69A;
    border-bottom: 10px solid #26A69A;
  }
}

.current_voice,
.current_pad {
  /*　メニューON 　*/
  background: #f4f4f4;
}

.current_start {
  /*　メニューON 　*/
  background: #4DB6AC;
}

.current_sumahod {
  /*　メニューON 　*/
  background: #77d3ba;
}

.current {
  /*　メニューON CSS post　*/
  background: #F9D400;
}

.current2 {
  /*　メニューON CSS pre　*/
  background: #ffb6bc;
}

.current_prefix {
  background: #B2DFDB;
}

.globalmenu_telework,
.globalmenu_voice, .globalmenu,
.globalmenu_start,
.globalmenu_pad,
.globalmenu_pre,
.globalmenu_sumahod,
.globalmenu_prefix {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
@media screen and (max-width: 767px) {
  .globalmenu_telework,
  .globalmenu_voice, .globalmenu,
  .globalmenu_start,
  .globalmenu_pad,
  .globalmenu_pre,
  .globalmenu_sumahod,
  .globalmenu_prefix {
    font-size: 80%;
  }
}
.globalmenu_telework li,
.globalmenu_voice li, .globalmenu li,
.globalmenu_start li,
.globalmenu_pad li,
.globalmenu_pre li,
.globalmenu_sumahod li,
.globalmenu_prefix li {
  flex: 1;
  justify-content: center;
}
.globalmenu_telework li a,
.globalmenu_voice li a, .globalmenu li a,
.globalmenu_start li a,
.globalmenu_pad li a,
.globalmenu_pre li a,
.globalmenu_sumahod li a,
.globalmenu_prefix li a {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
}
.globalmenu_telework li img,
.globalmenu_voice li img, .globalmenu li img,
.globalmenu_start li img,
.globalmenu_pad li img,
.globalmenu_pre li img,
.globalmenu_sumahod li img,
.globalmenu_prefix li img {
  width: min(180px, 100%);
}

@media screen and (min-width: 768px) {
  .globalmenu li img,
  .globalmenu_start li img,
  .globalmenu_pad li img,
  .globalmenu_pre li img,
  .globalmenu_sumahod li img,
  .globalmenu_prefix li img {
    padding-bottom: 5px;
  }
}

.globalmenu_voice li a:hover,
.globalmenu_pad li a:hover,
.globalmenu_sumahod li a:hover {
  background: #f4f4f4;
}

.globalmenu_start li a:hover {
  background: #4DB6AC;
}

.globalmenu_prefix li a:hover {
  background: #c3f2ee;
}

.globalmenu_pre li a:hover {
  background: #ffb6bc;
}

.globalmenu_telework {
  align-items: stretch;
}
.globalmenu_telework li a {
  color: #fff;
  padding: 15px 0;
}

/* floatナビ 旧ios対策 */
.globalmenu2 {
  width: 100%;
}
.globalmenu2 li {
  display: inline-block;
  width: 19%;
  height: 100%;
}
.globalmenu2 li img {
  max-width: 100%;
  padding: 5px 0;
}

.bg_app,
.bg_app_text,
.bg_app2,
.bg_justfit_red,
.bg_justfit_red2,
.bg_justfit_blue,
.bgpad_red {
  color: #fff;
}
.bg_app a,
.bg_app_text a,
.bg_app2 a,
.bg_justfit_red a,
.bg_justfit_red2 a,
.bg_justfit_blue a,
.bgpad_red a {
  font-weight: inherit;
  text-decoration: inherit;
  color: inherit;
}

.info_news ul li {
  padding: 5px 0;
}
.info_news ul li a {
  font-weight: inherit;
  text-decoration: inherit;
  color: inherit;
}

/*************** common⇓ ***************/
.checkboxarea {
  background: #fff;
  min-height: 100px;
}

.voiceplan_priceBasic {
  font-weight: bold;
  border-bottom: 10px solid #eceff1;
}
.voiceplan_priceData {
  background: #bfe4fe;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .voiceplan_priceData {
    padding: 20px;
  }
}
.voiceplan_priceGreen {
  background: #ddf2b3;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .voiceplan_priceGreen {
    padding: 20px;
  }
}

.dotted_list li {
  list-style-type: disc;
  margin-left: 20px;
  font-size: 14px;
}

.bgStartArea {
  background: #eceff1;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .bgStartArea {
    padding: 20px;
  }
}

.voiceflow_start {
  background: #eceff1;
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .voiceflow_start {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .voiceflow_start {
    padding: 20px;
  }
}
.voiceflow_startTitle {
  font-size: 20px;
  text-align: center;
  color: #004da1;
}
.voiceflow_caption {
  font-size: 120%;
  line-height: 1.606;
}
@media screen and (min-width: 768px) {
  .voiceflow_caption {
    font-size: 138%;
  }
}
.voiceflow_box {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  background: #cfd8dc;
}
@media screen and (max-width: 767px) {
  .voiceflow_box {
    flex-direction: column;
  }
}
.voiceflow_img {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  background: #eceff1;
  padding: 15px;
  flex: 0 0 100px;
}
@media screen and (max-width: 767px) {
  .voiceflow_img {
    flex-direction: column;
  }
}
.voiceflow_text {
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .voiceflow_text {
    padding: 20px;
  }
}
.voiceflow_description-wrap {
  background: #eceff1;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .voiceflow_description-wrap {
    padding: 20px;
  }
}
.voiceflow_description {
  display: flex;
  gap: 30px;
  background: #fff;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .voiceflow_description {
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .voiceflow_description {
    flex-direction: column-reverse;
  }
}
.voiceflow_description > * {
  flex: 1;
}
.voiceflow_descriptionTitle {
  color: #000;
  font-weight: bold;
  font-size: 98%;
  line-height: 1.714;
}
@media screen and (min-width: 768px) {
  .voiceflow_descriptionTitle {
    font-size: 113%;
  }
}
.voiceflow_arrow {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  text-align: center;
}
.voiceflow_arrow::before {
  font-weight: inherit;
  content: "\f063";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 2.5em;
  color: #B0BEC5;
  display: inline-block;
  margin-right: 0.5em;
  margin-left: 0.5em;
}
@media screen and (min-width: 768px) {
  .voiceflow_arrow {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.voiceflow_arrow-green {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  text-align: center;
}
.voiceflow_arrow-green::before {
  font-weight: inherit;
  content: "\f063";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 2.5em;
  color: #000;
  display: inline-block;
  margin-right: 0.5em;
  margin-left: 0.5em;
}
@media screen and (min-width: 768px) {
  .voiceflow_arrow-green {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}

.support_shop_wrap {
  background: #eceff1;
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .support_shop_wrap {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .support_shop_wrap {
    padding: 20px;
  }
}
.support_shop_wrap > *:not(:first-child) {
  margin-top: 0.5333333333em;
}
@media screen and (min-width: 768px) {
  .support_shop_wrap > *:not(:first-child) {
    margin-top: 0.8em;
  }
}

.shop_link {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .shop_link {
    flex-direction: row;
  }
}
@media screen and (min-width: 769px) {
  .shop_link > a {
    flex-basis: 32%;
  }
}
@media screen and (min-width: 600px) and (max-width: 768px) {
  .shop_link > a {
    flex-basis: 31%;
  }
}

.support_shop_block, .support_shop_block_sub {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  margin: 5px;
  border: 2px solid #638fcd;
  min-height: 106px;
}
@media screen and (max-width: 767px) {
  .support_shop_block, .support_shop_block_sub {
    flex-direction: column;
  }
}
.support_shop_block img, .support_shop_block_sub img {
  width: 160px;
}
.support_shop_block, .support_shop_block_sub, .support_shop_block::before, .support_shop_block_sub::before, .support_shop_block::after, .support_shop_block_sub::after {
  transition: all 0.3s;
}
.support_shop_block::before, .support_shop_block_sub::before, .support_shop_block::after, .support_shop_block_sub::after {
  position: absolute;
  z-index: -1;
  display: block;
  content: "";
}
.support_shop_block:hover, .support_shop_block_sub:hover {
  background-color: #638fcd;
  color: #fff;
}

.support_shop_block_sub {
  min-height: 60px;
}

.wd_60_sp100 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .wd_60_sp100 {
    width: 66%;
  }
}

.simsizeDevice {
  background-color: #eceff1;
  padding: 10px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
}
@media screen and (min-width: 768px) {
  .simsizeDevice {
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .simsizeDevice {
    flex-direction: column;
  }
}
.simsizeDevice ul {
  align-self: center;
  font-weight: bold;
}
.simsizeDevice ul > * {
  padding: 10px 0;
}
.simsizeDevice ul > *:not(:last-child) {
  border-bottom: 2px solid #d8d8d8;
}
.simsizeDeviceImage {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  background: #fff;
  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.26);
  border-radius: 8px;
  padding: 16px;
  margin: 8px;
}
@media screen and (max-width: 767px) {
  .simsizeDeviceImage {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .simsizeDeviceImage {
    width: 150px;
  }
}
@media screen and (min-width: 768px) {
  .simsizeDevicerow {
    display: flex;
    flex-wrap: nowrap;
    justify-content: flex-start;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .simsizeDevicerow {
    flex-direction: column;
  }
}

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

.option_list li {
  padding-left: 1em;
  text-indent: -1em;
  padding-bottom: 20px;
}

.rusuban_blk {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .rusuban_blk {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .rusuban_blk > * {
    margin: 0 1.5%;
    flex-basis: 30%;
  }
}

.kounyu_blk {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 10px;
  background: #eceff1;
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
  .kounyu_blk {
    flex-direction: column;
  }
}
.kounyu_blk > * {
  flex: 1;
}
.kounyu_blk > * > p, .kounyu_blk > * > li {
  text-align: left;
}
.kounyu_blk p {
  text-align: left;
}
@media screen and (max-width: 767px) {
  .kounyu_blk > *:not(:first-child) {
    margin-top: 20px;
  }
}
@media screen and (min-width: 768px) {
  .kounyu_blk > *:not(:first-child) {
    margin-left: 20px;
  }
}
@media screen and (min-width: 768px) {
  .kounyu_blk {
    padding: 20px;
  }
}

.common_content,
.eachContent,
.common_area {
  display: none;
}

.bg_smoke {
  background: #90a4ae;
  color: #fff;
}

.category {
  width: 100%;
  background-color: #46a98b;
  color: #fff;
}

/* FAQ js強制読点で使用 */
.faq_text {
  line-height: 1.4;
}
.faq_text h4 {
  margin-top: 40px;
}
.faq_text h5 {
  color: #46a98b;
  margin-top: 20px;
  margin-bottom: 5px;
}
.faq_text h5::before {
  font-weight: inherit;
  content: "\f075";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1em;
  color: inherit;
  display: inline-block;
  margin-right: 0.2em;
  margin-left: 0.2em;
}

/* jsで使用 */
.jquery_answer_close {
  display: none;
  position: fixed;
  bottom: 20px;
  left: 0;
}
.jquery_answer_close a {
  display: block;
  background-color: #333;
  text-align: center;
  color: #fff;
  text-decoration: none;
  padding: 5px;
}

.fixed, .fixedBottom {
  position: fixed;
  width: 100%;
  z-index: 99;
}

.fixed {
  top: 0 !important;
}

@media screen and (max-width: 767px) {
  .fixedBottom {
    bottom: 0 !important;
  }
}
@media screen and (min-width: 768px) {
  .fixedBottom {
    top: 0 !important;
  }
}

/* jsで使用 */
.catefixed {
  position: fixed;
  top: 64px;
  width: 100%;
  background-color: #46a98b;
  color: #fff;
}

@media screen and (min-width: 768px) {
  .container {
    max-width: 1000px;
    margin: 0 auto;
  }
  .market img {
    width: 40px;
    margin-right: 0;
  }
  .logo {
    flex: 21.8;
  }
  .logo img {
    width: 25%;
    padding-left: 5px;
  }
}
@media screen and (max-width: 767px) {
  .bread {
    display: none;
  }
}
@media screen and (min-width: 768px) {
  .bread {
    font-size: 12px;
    margin: 10px 0;
  }
  .bread li {
    margin-right: 5px;
    display: inline;
  }
  .bread a::after {
    font-weight: inherit;
    content: "\f105";
    font-family: FontAwesome;
    line-height: 1;
    font-size: 1em;
    color: inherit;
    display: inline-block;
    margin-right: 0.2em;
    margin-left: 0.2em;
  }
}

.item_head {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  position: relative;
  background: #eceff1;
  border: 0 solid #eceff1;
  text-align: center;
  color: #566167;
  padding-top: 10px;
  padding-bottom: 10px;
  margin-top: 20px;
  margin-bottom: 40px;
  font-size: 24px;
}
.item_head:after, .item_head:before {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.item_head:before {
  border-top-color: #eceff1;
  border-width: 20px;
  margin-left: -20px;
}

.item_head2 {
  margin-left: -10px;
  margin-right: -10px;
  font-size: 131%;
  line-height: 1.552;
  margin-top: 100px;
  margin-bottom: 20px;
  background: #F4F4F4;
  text-align: center;
  padding-top: 12px;
  padding-bottom: 12px;
}
@media screen and (min-width: 768px) {
  .item_head2 {
    font-size: 150%;
  }
}

.content_package {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .content_package {
    flex-direction: column;
  }
}
.content_packageimg {
  max-width: 150px;
}

.flow_headlineTitle {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  text-align: center;
  font-size: 112.5%;
  border-bottom: 3px solid #fff;
}
@media screen and (min-width: 768px) {
  .flow_headlineTitle {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.flow_headline h6 {
  font-size: 112.5%;
  text-indent: -0.3em;
}
.flow_headline p {
  font-size: 87.5%;
  padding-left: 1em;
}

.kaimaku_flow {
  display: flex;
}
.kaimaku_flowcaption {
  flex: 1;
  margin: 0 10px;
  background: #acd8f0;
  text-align: center;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .kaimaku_flowcaption {
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .kaimaku_flow {
    display: none;
  }
}

.balloon_pink {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  background: #f2a0b8;
  margin-top: 20px;
  padding: 15px;
  border-radius: 5px;
  position: relative;
  background: #f2a0b8;
  border: 0 solid #f2a0b8;
}
@media screen and (max-width: 767px) {
  .balloon_pink {
    flex-direction: column;
  }
}
.balloon_pink:after, .balloon_pink:before {
  bottom: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.balloon_pink:before {
  border-bottom-color: #f2a0b8;
  border-width: 20px;
  margin-left: -20px;
}
.balloon_pink p {
  text-align: center;
  color: #fff;
  font-size: 18px;
  font-weight: bold;
  line-height: 0.7;
}
.balloon_pink img {
  position: absolute;
  left: 10px;
  top: -25px;
}

.flow_step {
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 5px;
  background: #fff;
  text-align: center;
  position: relative;
  background: #fff;
  border: 0 solid #fff;
}
@media screen and (min-width: 768px) {
  .flow_step {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
.flow_step:after, .flow_step:before {
  top: 100%;
  left: 50%;
  border: solid transparent;
  content: " ";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
}
.flow_step:before {
  border-top-color: #fff;
  border-width: 20px;
  margin-left: -20px;
}

.close_btn {
  width: 100%;
  display: block;
  line-height: 50px;
  text-align: left;
  cursor: pointer;
  background-position: center;
  background: url(../sb/images/flow004.svg) no-repeat;
  background-size: 150px;
  font-weight: bold;
  text-align: center;
  min-height: 50px;
}

.close_btn.active {
  background-position: center;
  background: url(../sb/images/flow005.svg) no-repeat;
  background-size: 80px;
}

#flow_aco {
  max-width: 100%;
}
#flow_aco dd {
  display: none;
}

.flow_outlineMyb,
.flow_outlineShop {
  margin: 15px 0;
  font-size: 112.5%;
  text-align: center;
}

.flow_outlineMyb {
  color: #46A98B;
}

.flow_outlineShop {
  color: #f2a0b8;
}

.myb_infobox {
  display: flex;
  align-items: center;
  gap: 15px;
  padding: 15px;
  background: #eceff1;
  border-radius: 10px;
}

.movie_thum_play img:after {
  content: url("../sb/images/icon_movieplay.png");
  position: absolute;
  right: 50%;
  top: 50%;
}

.support_box {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #f7f9fa;
  border: 2px solid #fff;
  box-shadow: 2px 2px 4px 0 rgba(0, 0, 0, 0.34);
  border-radius: 10px;
  height: 100px;
  font-weight: normal;
  padding: 10px;
}
@media screen and (max-width: 767px) {
  .support_box {
    flex-direction: row;
  }
}
.support_box .support_img {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  flex-basis: 20%;
  height: 100%;
  padding: 10px;
}
@media screen and (max-width: 767px) {
  .support_box .support_img {
    flex-direction: column;
  }
}
.support_box .support_img > img {
  max-height: 100%;
  max-width: 100%;
}
.support_box .support_text {
  flex-basis: 75%;
}
@media screen and (max-width: 767px) {
  .support_box .support_text h5 {
    text-align: left;
    font-size: 14px;
  }
}
.support_box .support_text p {
  font-size: 14px;
  line-height: 1.3;
}
@media screen and (max-width: 767px) {
  .support_box .support_text p {
    font-size: 12px;
  }
}

.support_info > * {
  padding: 5px 0;
}
.support_info > *:not(:last-child) {
  border-bottom: 2px solid #eceff1;
}
.support_info li {
  display: flex;
  flex-wrap: nowrap;
  justify-content: flex-start;
}
@media screen and (max-width: 767px) {
  .support_info li {
    flex-direction: column;
  }
}
.support_info li > span:first-child {
  width: 100px;
  flex: 0 0 auto;
}

.profile_box > img {
  margin-left: -10px;
}

.profile_info ul {
  font-size: 14px;
}
.profile_info ul > *:not(:first-child) {
  margin-top: 0.5333333333em;
}
@media screen and (min-width: 768px) {
  .profile_info ul > *:not(:first-child) {
    margin-top: 0.8em;
  }
}

.profile_flow {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
@media screen and (max-width: 767px) {
  .profile_flow {
    flex-direction: row;
  }
}
@media screen and (min-width: 768px) {
  .profile_flow {
    justify-content: flex-start;
  }
}
.profile_flow > div {
  position: relative;
  padding-bottom: 40px;
}
.profile_flow > div:not(:last-child)::after {
  font-size: 164%;
  line-height: 1.39;
  font-family: FontAwesome;
  content: "\f061";
  color: #D1D1D1;
  position: absolute;
}
@media screen and (min-width: 768px) {
  .profile_flow > div:not(:last-child)::after {
    font-size: 188%;
  }
}
@media screen and (max-width: 767px) {
  .profile_flow > div:not(:last-child)::after {
    transform: rotate(90deg);
    left: 45%;
    bottom: 4px;
  }
}
@media screen and (min-width: 768px) {
  .profile_flow > div:not(:last-child)::after {
    top: 50%;
    right: 6px;
    margin-top: -0.6em;
  }
}
@media screen and (min-width: 768px) {
  .profile_flow > div {
    padding-right: 40px;
    padding-bottom: 20px;
    flex-basis: 25%;
  }
}
@media screen and (min-width: 600px) and (max-width: 768px) {
  .profile_flow > div {
    flex-basis: 33%;
  }
}
.profile_flow > div > img {
  max-width: 200px;
}

.left_tab_menu,
.right_tab_menu {
  margin-bottom: 0;
  cursor: pointer;
}

.square_yellow:before {
  content: "■";
  color: #e4e479;
}

.square_blue:before {
  content: "■";
  color: #9cd7db;
}

.contact_tabtitle {
  padding: 10px;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
  display: flex;
  align-items: center;
  font-weight: bold;
  background: #fff;
  border-radius: 10px;
}
@media screen and (min-width: 768px) {
  .contact_tabtitle {
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .contact_tabtitle {
    flex-direction: row;
  }
}
@media screen and (max-width: 767px) {
  .contact_tabtitle {
    flex-direction: row;
  }
}
.contact_tabtitle img + * {
  margin-left: 10px;
}
.contact_tabtitle p {
  margin-left: 10px;
  margin-bottom: 0 !important;
}

.contact_way {
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .contact_way {
    padding: 20px;
  }
}
.contact_way > *:not(:first-child) {
  margin-top: 0.5333333333em;
}
@media screen and (min-width: 768px) {
  .contact_way > *:not(:first-child) {
    margin-top: 0.8em;
  }
}
.contact_way a {
  font-weight: inherit;
  text-decoration: inherit;
  color: inherit;
}

.contact_box {
  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: 2px solid #fff;
  background: #f7f9fa;
  color: #fff;
  border-radius: 10px;
  max-width: 300px;
  width: 100%;
  display: block;
}
@media screen and (max-width: 767px) {
  .contact_box {
    margin-right: auto;
    margin-left: auto;
  }
}
.contact_box + p, .contact_box + div {
  margin-top: 10px;
}
@media screen and (min-width: 768px) {
  .contact_box {
    padding: 16px;
  }
}
.contact_box > *:not(:first-child) {
  margin-top: 0.5333333333em;
}
@media screen and (min-width: 768px) {
  .contact_box > *:not(:first-child) {
    margin-top: 0.8em;
  }
}
.contact_box h5 {
  color: #46a98b;
  font-size: 18px;
}

.tax {
  padding: 10px 0;
  text-align: right;
  font-size: 77%;
  line-height: 1.822;
}
@media screen and (min-width: 768px) {
  .tax {
    font-size: 88%;
  }
}

.taxnote {
  text-align: right;
  font-size: 77%;
  line-height: 1.822;
}
@media screen and (min-width: 768px) {
  .taxnote {
    font-size: 88%;
  }
}

.profile_ipad {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  margin-top: -1em;
}
@media screen and (max-width: 767px) {
  .profile_ipad {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .profile_ipad {
    flex-wrap: wrap;
    justify-content: space-between;
  }
}
.profile_ipad > * {
  margin-top: 1em;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .profile_ipad > * {
    width: 50.3018108652%;
  }
}

.ipadapn {
  font-weight: bold;
}
.ipadapn th {
  text-align: right;
}

.sim_size {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
  margin-top: 13.3333333333px;
  margin-bottom: 13.3333333333px;
  padding: 10px;
  font-weight: bold;
  background: #eceff1;
}
@media screen and (max-width: 767px) {
  .sim_size {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .sim_size {
    margin-top: 20px;
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .sim_size {
    padding: 20px;
  }
}
.sim_size li {
  padding: 10px;
}
.sim_size li:not(:first-child) {
  border-top: 2px solid #fff;
  padding-bottom: 0;
}
.sim_size .sim_size_image {
  background: #fff;
  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.26);
  border-radius: 7px;
  padding: 15px 20px;
  margin: auto;
}

.charge_content {
  margin: 0 15px;
}

input.chkLarge {
  transform: scale(2, 2);
  margin-top: -5px;
}

.pcdepo_toparea {
  border: 5px solid #f9b500;
  padding: 5px;
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .pcdepo_toparea {
    padding: 10px;
  }
}
@media screen and (max-width: 767px) {
  .pcdepo_toparea {
    flex-direction: column;
  }
}
.pcdepo_toparea img {
  width: 160px;
  margin-right: 10px;
}

.shop_serachBlock {
  background: #fff;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .shop_serachBlock {
    padding: 20px;
  }
}
.shop_serachBlock > *:not(:first-child) {
  margin-top: 0.5333333333em;
}
@media screen and (min-width: 768px) {
  .shop_serachBlock > *:not(:first-child) {
    margin-top: 0.8em;
  }
}
.shop_serachBlock_checkbox {
  display: flex;
  flex-wrap: nowrap;
  justify-content: center;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .shop_serachBlock_checkbox {
    flex-direction: column;
  }
}

select::-ms-expand {
  display: none;
}

.shop_pref_select {
  position: relative;
  width: 240px;
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  padding: 10px;
  border: 1px solid #D6D6D6;
  box-shadow: inset 0 1px 3px 0 rgba(0, 0, 0, 0.5);
  border-radius: 10px;
  font-size: 18px;
}

.select_box {
  position: relative;
}
.select_box::after {
  display: block;
  content: " ";
  position: absolute;
  top: 0;
  right: 12px;
  width: 12px;
  height: 28px;
  background: url(../sb/images/sankaku_select.svg) 0 0 no-repeat;
  background-size: 12px;
  pointer-events: none;
}

.width_q10 {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .width_q10 {
    width: 32.1%;
  }
}

@media screen and (max-width: 767px) {
  .safari {
    width: 45%;
  }
}

.app_downloadbtn img {
  padding: 3%;
}
@media screen and (min-width: 768px) {
  .app_downloadbtn img {
    max-width: 210px;
  }
}

.sbpre_charge_box {
  padding: 10px;
  background: #eceff1;
}
.sbpre_charge_box > *:not(:first-child) {
  margin-top: 0.5333333333em;
}
@media screen and (min-width: 768px) {
  .sbpre_charge_box > *:not(:first-child) {
    margin-top: 0.8em;
  }
}
@media screen and (min-width: 768px) {
  .sbpre_charge_box {
    padding: 20px;
  }
}
.sbpre_charge_box img {
  display: block;
  margin: auto;
}
.sbpre_charge_box h4 {
  padding-bottom: 10px;
  border-bottom: 3px solid currentColor;
  margin-bottom: 10px;
  text-align: center;
  color: #e50113;
}

.plan_voiceBox, .plan_voiceBox_sub {
  text-align: center;
  background: #EFF2F3;
  padding: 10px;
}
@media screen and (min-width: 768px) {
  .plan_voiceBox, .plan_voiceBox_sub {
    padding: 20px;
  }
}
.plan_voiceBox > *:not(:first-child), .plan_voiceBox_sub > *:not(:first-child) {
  margin-top: 0.4em;
}
@media screen and (min-width: 768px) {
  .plan_voiceBox > *:not(:first-child), .plan_voiceBox_sub > *:not(:first-child) {
    margin-top: 0.6em;
  }
}
.plan_voiceBox h4, .plan_voiceBox_sub h4 {
  color: #004DA0;
  font-size: 18px;
}
.plan_voiceBox .note, .plan_voiceBox_sub .note {
  text-align: left;
  font-size: 14px;
}

.plan_voiceBox_sub {
  background: #FFE6E9;
}
.plan_voiceBox_sub h5 {
  color: #455A64;
}

.pluskigou {
  margin-top: 0.6666666667em;
  margin-bottom: 0.6666666667em;
  text-align: center;
}
.pluskigou::before {
  font-weight: inherit;
  content: "\f067";
  font-family: FontAwesome;
  line-height: 1;
  font-size: 1.5em;
  color: inherit;
  display: inline-block;
  margin-right: 0.3em;
  margin-left: 0.3em;
}
@media screen and (min-width: 768px) {
  .pluskigou {
    margin-top: 1em;
    margin-bottom: 1em;
  }
}

.caption_image,
.caption_image-reverse {
  display: flex;
  align-items: center;
  font-weight: normal;
  align-items: center;
}
@media screen and (max-width: 767px) {
  .caption_image,
  .caption_image-reverse {
    flex-direction: row;
  }
}
.caption_image img + *,
.caption_image-reverse img + * {
  margin-left: 10px;
}
.caption_image p,
.caption_image-reverse p {
  margin-left: 10px;
  margin-bottom: 0 !important;
}

@media screen and (max-width: 767px) {
  .caption_image-reverse {
    flex-direction: row-reverse;
  }
}

.header_logoMenu {
  background: #26A69A;
}

.header_30gb {
  background: #291c12;
}

.header_inner {
  height: 45px;
}
@media screen and (min-width: 768px) {
  .header_inner {
    height: 65px;
    margin-right: calc(50% - 50vw);
    margin-left: calc(50% - 50vw);
    padding-right: calc(50vw - 50%);
    padding-left: calc(50vw - 50%);
  }
}

.header_logo_white img {
  width: 130px;
}
@media screen and (min-width: 768px) {
  .header_logo_white img {
    width: 175px;
  }
}

.pre7gb_bg {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  background: #00489D;
}

.pre7gb_title {
  text-align: center;
  color: #fff;
  font-weight: normal;
  font-size: 28px;
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .pre7gb_title {
    padding: 40px;
  }
}

.pre7gb_content {
  max-width: 740px;
  margin: 0 auto;
  padding-bottom: 60px;
}
@media screen and (max-width: 767px) {
  .pre7gb_content {
    padding-right: 10px;
    padding-left: 10px;
  }
}

.pre7gb_block {
  background: #eceff1;
  text-align: center;
  padding: 0 15px 15px 15px;
  border-radius: 5px;
}
.pre7gb_block > *:not(:first-child) {
  margin-top: 8.6666666667px;
}
@media screen and (min-width: 768px) {
  .pre7gb_block > *:not(:first-child) {
    margin-top: 13px;
  }
}
.pre7gb_block h5 {
  font-size: 24px;
  line-height: 1.4;
}

.pre7gb_mainmenu,
.pre10gb_mainmenu,
.pre10gb_mainmenu {
  background: #fff;
  border-bottom: 3px solid #707070;
  top: -108px;
  transition: 0.7s;
}

.pre10gb_bg {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  background: #291868;
}

.pre30gb_hero_bg {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  height: 500px;
  background: left/cover no-repeat url("../30gbbiz/images/svg_bg_anime.svg"), linear-gradient(121deg, #544139 18%, #3c220e 82%);
}
@media screen and (max-width: 767px) {
  .pre30gb_hero_bg {
    height: 100vh;
  }
}

.pre30gb_hero_imgleft {
  padding: 10px;
  width: 100%;
}
@media screen and (min-width: 768px) {
  .pre30gb_hero_imgleft {
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .pre30gb_hero_imgleft {
    margin-top: auto !important;
  }
}
@media screen and (min-width: 768px) {
  .pre30gb_hero_imgleft {
    margin: auto 0;
    width: 50%;
  }
}

.pre30gb_hero_imgright {
  padding: 10px;
  width: 50%;
}
@media screen and (min-width: 768px) {
  .pre30gb_hero_imgright {
    padding: 20px;
  }
}
@media screen and (max-width: 767px) {
  .pre30gb_hero_imgright {
    margin-bottom: auto !important;
  }
}
@media screen and (min-width: 768px) {
  .pre30gb_hero_imgright {
    margin: auto 0;
    width: 20%;
  }
}

.pre30gb_bg {
  margin-right: calc(50% - 50vw);
  margin-left: calc(50% - 50vw);
  padding-right: calc(50vw - 50%);
  padding-left: calc(50vw - 50%);
  background: linear-gradient(121deg, #544139 18%, #3c220e 82%);
}

.pre10gb_title,
.pre30gb_title {
  text-align: center;
  color: #fff;
  font-weight: normal;
  font-size: 28px;
  padding: 20px;
}
@media screen and (min-width: 768px) {
  .pre10gb_title,
  .pre30gb_title {
    padding: 40px;
  }
}

.pre10gb_content,
.pre30gb_content {
  max-width: 740px;
  margin: auto;
}
@media screen and (max-width: 767px) {
  .pre10gb_content,
  .pre30gb_content {
    padding-right: 10px;
    padding-left: 10px;
  }
}

.pre30gb_content_img {
  max-width: 350px;
  padding: 20px;
}

.pre30gb_content_copy {
  max-width: 350px;
  padding: 20px;
  color: #fff;
  line-height: 1.9 !important;
  font-size: 131%;
  line-height: 1.552;
}
@media screen and (min-width: 768px) {
  .pre30gb_content_copy {
    font-size: 150%;
  }
}

@media screen and (min-width: 768px) {
  .flex_reverse_pc {
    flex-direction: row-reverse;
  }
}

.pre10gb_block {
  display: flex;
  flex-direction: column;
  align-items: center;
  padding: 0 15px 15px 15px;
  background: #eceff1;
  border-radius: 5px;
}
.pre10gb_block > *:not(:first-child) {
  margin-top: 0.5333333333em;
}
@media screen and (min-width: 768px) {
  .pre10gb_block > *:not(:first-child) {
    margin-top: 0.8em;
  }
}
@media screen and (min-width: 768px) {
  .pre10gb_block {
    width: 340px;
  }
}
.pre10gb_block h4 {
  width: 180px;
}
.pre10gb_block h5 {
  text-align: center;
  font-size: 24px;
  font-weight: normal;
  line-height: 1.4;
}

.pre10gb_lpfigure {
  height: 170px;
  max-width: 260px;
}
.pre10gb_lpfigure > img {
  height: 100%;
}

.title_jf {
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
  font-size: 20px;
  color: #455A64;
}
@media screen and (min-width: 768px) {
  .title_jf {
    margin-top: 30px;
    margin-bottom: 30px;
  }
}

.just_bgblue_gra {
  background: linear-gradient(to bottom, #004DA1 0%, #034389 100%);
  height: 60px;
}

.app_store div a {
  border-bottom: none;
}

.voiceOptionTab {
  display: flex;
  justify-content: center;
  border-bottom: 3px solid #F9D400;
}
@media screen and (min-width: 768px) {
  .voiceOptionTab {
    display: none;
  }
}
@media screen and (max-width: 767px) {
  .voiceOptionTab {
    flex-direction: row;
  }
}
.voiceOptionTab > *:not(:first-child) {
  margin-left: 20px;
}
.voiceOptionTab li {
  font-weight: bold;
  text-align: center;
  cursor: pointer;
  background: #eceff1;
  border-radius: 10px 10px 0 0/10px 10px 0 0;
  width: 46%;
  padding: 10px;
}
.voiceOptionTabSB, .voiceOptionTitleSB {
  background: #F9D400 !important;
}
.voiceOptionTabDC, .voiceOptionTitleDC {
  background: #de0019 !important;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .voiceOptionContent {
    display: flex;
    flex-wrap: nowrap;
    justify-content: center;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .voiceOptionContent {
    flex-direction: column;
  }
}
@media screen and (min-width: 768px) {
  .voiceOptionContent > * {
    flex: 1;
  }
  .voiceOptionContent > * > p, .voiceOptionContent > * > li {
    text-align: left;
  }
}
@media screen and (min-width: 768px) {
  .voiceOptionContent p {
    text-align: left;
  }
}
@media screen and (min-width: 768px) and (max-width: 767px) {
  .voiceOptionContent > *:not(:first-child) {
    margin-top: 40px;
  }
}
@media screen and (min-width: 768px) and (min-width: 768px) {
  .voiceOptionContent > *:not(:first-child) {
    margin-left: 40px;
  }
}
.voiceOptionContent > div > div {
  margin-bottom: 13.3333333333px;
  padding: 10px;
  background: #eceff1;
}
@media screen and (min-width: 768px) {
  .voiceOptionContent > div > div {
    margin-bottom: 20px;
  }
}
@media screen and (min-width: 768px) {
  .voiceOptionContent > div > div {
    padding: 20px;
  }
}
.voiceOptionTitleSB, .voiceOptionTitleDC {
  text-align: center;
  padding: 20px;
}
@media screen and (max-width: 767px) {
  .voiceOptionTitleSB, .voiceOptionTitleDC {
    display: none;
  }
}

.note_list {
  margin-left: 20px;
  font-size: 90%;
}
.note_list > li {
  margin-bottom: 0.5em;
  list-style-type: disc;
}
@keyframes fade {}
@keyframes pointer1 {
  0% {
    transform: translate(0, 0);
  }
  100% {
    transform: translate(50vw, 0);
  }
}
@keyframes pointer2 {
  0% {
    transform: scale(1);
    opacity: 1;
  }
  100% {
    transform: scale(2);
    opacity: 0;
  }
}
.anime1_pointer {
  position: absolute;
  animation: pointer1 2s ease-in-out 1s;
  animation-fill-mode: both;
}
.anime1_pointer-2 {
  animation: pointer2 1s ease-out 3s infinite;
  animation-fill-mode: both;
  animation-iteration-count: infinite;
}