@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_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.33333%; } }

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

.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.33333%; } }

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

.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.33333%; } }

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

.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.33333%; } }

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

.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-top: 1.25%;
    margin-bottom: 1.25%; }
    @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-top: 1.25%;
    margin-bottom: 1.25%; }
    @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-top: 1.25%;
    margin-bottom: 1.25%; }
    @media screen and (min-width: 768px) {
      .flex_3 > * {
        margin: 1.25%;
        width: 30.83333%; } }

.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-top: 1.25%;
    margin-bottom: 1.25%; }
    @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_blkfit, .content_inner, .content_blk, .content_blkshrink {
  max-width: 1000px;
  margin: 0 auto;
  position: relative; }

.content_all {
  width: 100%; }

img.width_100per {
  width: 100%; }

.content_inner, .content_blk, .content_blkshrink {
  padding-right: 10px;
  padding-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: 0.53333em; }
  @media screen and (min-width: 768px) {
    .children_mg > *:not(:first-child) {
      margin-top: 0.8em; } }

.mg_bs {
  margin-top: 13.33333px;
  margin-bottom: 13.33333px; }
  @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.66667px;
  margin-bottom: 26.66667px; }
  @media screen and (min-width: 768px) {
    .blk_int {
      margin-top: 40px;
      margin-bottom: 40px; } }

.blk_interval {
  margin-top: 66.66667px;
  margin-bottom: 66.66667px; }
  @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; }

.mg_10 {
  margin: 10px; }

.mg_15 {
  margin: 15px; }

.mg_20 {
  margin: 20px; }

.mg_30 {
  margin: 30px; }

.mg_40 {
  margin: 40px; }

.mg_50 {
  margin: 50px; }

.mg_60 {
  margin: 60px; }

.mg_70 {
  margin: 70px; }

.mg_80 {
  margin: 80px; }

.mg_90 {
  margin: 90px; }

.mg_100 {
  margin: 100px; }

.mg_t_5 {
  margin-top: 5px; }

.mg_t_10 {
  margin-top: 10px; }

.mg_t_15 {
  margin-top: 15px; }

.mg_t_20 {
  margin-top: 20px; }

.mg_t_30 {
  margin-top: 30px; }

.mg_t_40 {
  margin-top: 40px; }

.mg_t_50 {
  margin-top: 50px; }

.mg_t_60 {
  margin-top: 60px; }

.mg_t_70 {
  margin-top: 70px; }

.mg_t_80 {
  margin-top: 80px; }

.mg_t_90 {
  margin-top: 90px; }

.mg_t_100 {
  margin-top: 100px; }

.mg_r_5 {
  margin-right: 5px; }

.mg_r_10 {
  margin-right: 10px; }

.mg_r_15 {
  margin-right: 15px; }

.mg_r_20 {
  margin-right: 20px; }

.mg_r_30 {
  margin-right: 30px; }

.mg_r_40 {
  margin-right: 40px; }

.mg_r_50 {
  margin-right: 50px; }

.mg_r_60 {
  margin-right: 60px; }

.mg_r_70 {
  margin-right: 70px; }

.mg_r_80 {
  margin-right: 80px; }

.mg_r_90 {
  margin-right: 90px; }

.mg_r_100 {
  margin-right: 100px; }

.mg_b_5 {
  margin-bottom: 5px; }

.mg_b_10 {
  margin-bottom: 10px; }

.mg_b_15 {
  margin-bottom: 15px; }

.mg_b_20 {
  margin-bottom: 20px; }

.mg_b_30 {
  margin-bottom: 30px; }

.mg_b_40 {
  margin-bottom: 40px; }

.mg_b_50 {
  margin-bottom: 50px; }

.mg_b_60 {
  margin-bottom: 60px; }

.mg_b_70 {
  margin-bottom: 70px; }

.mg_b_80 {
  margin-bottom: 80px; }

.mg_b_90 {
  margin-bottom: 90px; }

.mg_b_100 {
  margin-bottom: 100px; }

.mg_l_5 {
  margin-left: 5px; }

.mg_l_10 {
  margin-left: 10px; }

.mg_l_15 {
  margin-left: 15px; }

.mg_l_20 {
  margin-left: 20px; }

.mg_l_30 {
  margin-left: 30px; }

.mg_l_40 {
  margin-left: 40px; }

.mg_l_50 {
  margin-left: 50px; }

.mg_l_60 {
  margin-left: 60px; }

.mg_l_70 {
  margin-left: 70px; }

.mg_l_80 {
  margin-left: 80px; }

.mg_l_90 {
  margin-left: 90px; }

.mg_l_100 {
  margin-left: 100px; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

.mg_lr_100 {
  margin-left: 100px;
  margin-right: 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; }

/* padding記述 */
.pd_5 {
  padding: 5px; }

.pd_10 {
  padding: 10px; }

.pd_15 {
  padding: 15px; }

.pd_20 {
  padding: 20px; }

.pd_30 {
  padding: 30px; }

.pd_40 {
  padding: 40px; }

.pd_50 {
  padding: 50px; }

.pd_60 {
  padding: 60px; }

.pd_70 {
  padding: 70px; }

.pd_80 {
  padding: 80px; }

.pd_90 {
  padding: 90px; }

.pd_100 {
  padding: 100px; }

.pd_t_5 {
  padding-top: 5px; }

.pd_t_10 {
  padding-top: 10px; }

.pd_t_15 {
  padding-top: 15px; }

.pd_t_20 {
  padding-top: 20px; }

.pd_t_30 {
  padding-top: 30px; }

.pd_t_40 {
  padding-top: 40px; }

.pd_t_50 {
  padding-top: 50px; }

.pd_t_60 {
  padding-top: 60px; }

.pd_t_70 {
  padding-top: 70px; }

.pd_t_80 {
  padding-top: 80px; }

.pd_t_90 {
  padding-top: 90px; }

.pd_t_100 {
  padding-top: 100px; }

.pd_r_5 {
  padding-right: 5px; }

.pd_r_10 {
  padding-right: 10px; }

.pd_r_15 {
  padding-right: 15px; }

.pd_r_20 {
  padding-right: 20px; }

.pd_r_30 {
  padding-right: 30px; }

.pd_r_40 {
  padding-right: 40px; }

.pd_r_50 {
  padding-right: 50px; }

.pd_r_60 {
  padding-right: 60px; }

.pd_r_70 {
  padding-right: 70px; }

.pd_r_80 {
  padding-right: 80px; }

.pd_r_90 {
  padding-right: 90px; }

.pd_r_100 {
  padding-right: 100px; }

.pd_b_5 {
  padding-bottom: 5px; }

.pd_b_10 {
  padding-bottom: 10px; }

.pd_b_15 {
  padding-bottom: 15px; }

.pd_b_20 {
  padding-bottom: 20px; }

.pd_b_30 {
  padding-bottom: 30px; }

.pd_b_40 {
  padding-bottom: 40px; }

.pd_b_50 {
  padding-bottom: 50px; }

.pd_b_60 {
  padding-bottom: 60px; }

.pd_b_70 {
  padding-bottom: 70px; }

.pd_b_80 {
  padding-bottom: 80px; }

.pd_b_90 {
  padding-bottom: 90px; }

.pd_b_100 {
  padding-bottom: 100px; }

.pd_l_5 {
  padding-left: 5px; }

.pd_l_10 {
  padding-left: 10px; }

.pd_l_15 {
  padding-left: 15px; }

.pd_l_20 {
  padding-left: 20px; }

.pd_l_30 {
  padding-left: 30px; }

.pd_l_40 {
  padding-left: 40px; }

.pd_l_50 {
  padding-left: 50px; }

.pd_l_60 {
  padding-left: 60px; }

.pd_l_70 {
  padding-left: 70px; }

.pd_l_80 {
  padding-left: 80px; }

.pd_l_90 {
  padding-left: 90px; }

.pd_l_100 {
  padding-left: 100px; }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

@media screen and (max-width: 767px) {
  .g_5 > *:not(:first-child) {
    margin-top: 5px; } }

@media screen and (min-width: 768px) {
  .g_5 > *:not(:first-child) {
    margin-left: 5px; } }

@media screen and (max-width: 767px) {
  .g_10 > *:not(:first-child) {
    margin-top: 10px; } }

@media screen and (min-width: 768px) {
  .g_10 > *:not(:first-child) {
    margin-left: 10px; } }

@media screen and (max-width: 767px) {
  .g_15 > *:not(:first-child) {
    margin-top: 15px; } }

@media screen and (min-width: 768px) {
  .g_15 > *:not(:first-child) {
    margin-left: 15px; } }

@media screen and (max-width: 767px) {
  .g_20 > *:not(:first-child) {
    margin-top: 20px; } }

@media screen and (min-width: 768px) {
  .g_20 > *:not(:first-child) {
    margin-left: 20px; } }

@media screen and (max-width: 767px) {
  .g_30 > *:not(:first-child) {
    margin-top: 30px; } }

@media screen and (min-width: 768px) {
  .g_30 > *:not(:first-child) {
    margin-left: 30px; } }

@media screen and (max-width: 767px) {
  .g_40 > *:not(:first-child) {
    margin-top: 40px; } }

@media screen and (min-width: 768px) {
  .g_40 > *:not(:first-child) {
    margin-left: 40px; } }

@media screen and (max-width: 767px) {
  .g_50 > *:not(:first-child) {
    margin-top: 50px; } }

@media screen and (min-width: 768px) {
  .g_50 > *:not(:first-child) {
    margin-left: 50px; } }

@media screen and (max-width: 767px) {
  .g_60 > *:not(:first-child) {
    margin-top: 60px; } }

@media screen and (min-width: 768px) {
  .g_60 > *:not(:first-child) {
    margin-left: 60px; } }

@media screen and (max-width: 767px) {
  .g_70 > *:not(:first-child) {
    margin-top: 70px; } }

@media screen and (min-width: 768px) {
  .g_70 > *:not(:first-child) {
    margin-left: 70px; } }

@media screen and (max-width: 767px) {
  .g_80 > *:not(:first-child) {
    margin-top: 80px; } }

@media screen and (min-width: 768px) {
  .g_80 > *:not(:first-child) {
    margin-left: 80px; } }

@media screen and (max-width: 767px) {
  .g_90 > *:not(:first-child) {
    margin-top: 90px; } }

@media screen and (min-width: 768px) {
  .g_90 > *:not(:first-child) {
    margin-left: 90px; } }

@media screen and (max-width: 767px) {
  .g_100 > *:not(:first-child) {
    margin-top: 100px; } }

@media screen and (min-width: 768px) {
  .g_100 > *:not(:first-child) {
    margin-left: 100px; } }

.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; } }

@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%; } }

.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_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 .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 .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; }

/*************** 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.33333px;
  margin-bottom: 13.33333px;
  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.33333px;
  margin-bottom: 13.33333px;
  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: 10px 0 20px 0;
  padding-bottom: 0;
  border-bottom: 1px solid #ccc;
  margin-bottom: 10px; }

.page_title {
  margin-top: 13.33333px;
  margin-bottom: 13.33333px;
  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.33333px;
  margin-bottom: 13.33333px;
  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.33333px;
    margin-bottom: 13.33333px;
    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.33333px;
  margin-bottom: 13.33333px;
  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.33333px;
  margin-bottom: 13.33333px;
  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%; } }

.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.33333px;
  margin-bottom: 13.33333px; }
  @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.33333px;
    margin-bottom: 13.33333px;
    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.53333em; }
      @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_box > *:not(:first-child) {
    margin-top: 0.53333em; }
    @media screen and (min-width: 768px) {
      .profile_box > *:not(:first-child) {
        margin-top: 0.8em; } }

.profile_label_ios {
  background: #fff;
  margin-top: 30px;
  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;
  background: url(../images/ios_off.svg) no-repeat #e6e6e6; }

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

@media screen and (min-width: 768px) {
  #iphonetab,
  #ipadtab,
  #iostab,
  #androidtab {
    height: 70px;
    width: 50%;
    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 {
  background: url(../images/ios_on.svg) center no-repeat #344b5a; }

#androidtab.active {
  background: url(../images/android_on.svg) center no-repeat #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.53333em; }
    @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: 5px;
  text-align: left; }
  @media screen and (min-width: 768px) {
    .border_box {
      padding: 10px; } }

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

.border_box-item_num {
  border: 1px solid #ccc;
  padding: 5px;
  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: 5px;
  text-align: left;
  margin-bottom: 15px; }
  @media screen and (min-width: 768px) {
    .shop_list_box {
      padding: 10px; } }

.shop_prefecture {
  margin-top: 13.33333px;
  margin-bottom: 13.33333px;
  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; } }

.counter_icon, .support_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) {
    .counter_icon, .support_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; }

.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.33333px;
  margin-bottom: 5.33333px; }
  @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.33333px;
  margin-bottom: 13.33333px;
  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: -webkit-sticky;
    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, .product_table, .product_table-left, .table_repair {
  margin-top: 13.33333px;
  margin-bottom: 13.33333px; }
  @media screen and (min-width: 768px) {
    .table_standard, .product_table, .product_table-left, .table_repair {
      margin-top: 20px;
      margin-bottom: 20px; } }
  .table_standard caption, .product_table caption, .product_table-left caption, .table_repair caption {
    text-align: left;
    padding-bottom: 5px;
    font-weight: bold; }
  .table_standard th, .product_table th, .product_table-left th, .table_repair th, .table_standard td, .product_table td, .product_table-left td, .table_repair td {
    padding: 5px;
    text-align: left; }
    @media screen and (min-width: 768px) {
      .table_standard th, .product_table th, .product_table-left th, .table_repair th, .table_standard td, .product_table td, .product_table-left td, .table_repair td {
        padding: 10px; } }
  .table_standard th, .product_table th, .product_table-left th, .table_repair th {
    font-weight: normal;
    background-color: #F4F4F4; }
  @media screen and (max-width: 767px) {
    .table_standard tr, .product_table tr, .product_table-left tr, .table_repair tr {
      border-top: 1px solid #ccc;
      border-left: 1px solid #ccc; }
    .table_standard th, .product_table th, .product_table-left th, .table_repair th, .table_standard td, .product_table td, .product_table-left td, .table_repair td {
      display: block;
      width: 100%;
      border-bottom: 1px solid #ccc;
      border-right: 1px solid #ccc; } }
  @media screen and (min-width: 768px) {
    .table_standard th, .product_table th, .product_table-left th, .table_repair th, .table_standard td, .product_table td, .product_table-left td, .table_repair 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 {
  max-width: 95%;
  border-left: 1px solid #a6a6a6;
  border-top: 1px solid #a6a6a6;
  margin-bottom: 1em; }
  table.standard th,
  table.standard td {
    border-right: 1px solid #a6a6a6;
    border-bottom: 1px solid #a6a6a6;
    padding: 10px; }
  table.standard th {
    min-width: 30%;
    font-weight: bold;
    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; }

.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: .5em; }
      .footer ul li:not(:last-child)::after {
        content: "|";
        padding-left: .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.53333em;
  margin-bottom: 0.53333em; }
  @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.33333px;
  margin-bottom: 13.33333px;
  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.33333px;
    margin-bottom: 3.33333px;
    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.53333em; }
    @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) {
  .article_round,
  .article_round_notab,
  .curved_corner, .shougai {
    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;
    padding-left: 1.3em;
    text-indent: -1.3em; }
    ol.li_order > li + li {
      margin-top: 10px; }

ul.style-disc {
  margin-bottom: 1em; }
  ul.style-disc > li {
    line-height: 1.4;
    padding-left: 1em;
    text-indent: -1em; }
    ul.style-disc > li:not(:last-child) {
      margin-bottom: 8px; }
    ul.style-disc > li:before {
      content: "・ "; }
  ul.style-disc li {
    font-size: 90%; }

ul.style_dot > li {
  line-height: 1.4;
  padding-left: 1em;
  text-indent: -1em; }
  ul.style_dot > li:not(:last-child) {
    margin-bottom: 8px; }
  ul.style_dot > li:before {
    content: "・ "; }

ul.style_kome > li {
  line-height: 1.4;
  padding-left: 1em;
  text-indent: -1em; }
  ul.style_kome > li:not(:last-child) {
    margin-bottom: 8px; }
  ul.style_kome > 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 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; }

.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; }
  .device_settingTable td,
  .table_hikaku td {
    font-size: 0.8rem; }

.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.33333px;
  margin-bottom: 13.33333px;
  font-size: 14px;
  color: #5D5D5D; }
  @media screen and (min-width: 768px) {
    .notice {
      margin-top: 20px;
      margin-bottom: 20px; } }

.note_box {
  margin-top: 13.33333px;
  margin-bottom: 13.33333px;
  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: "・"; }

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-right: 20px;
    padding-left: 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.33333%;
        flex-basis: 32.33333%; } }
    @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;
  flex-wrap: wrap;
  justify-content: flex-start;
  padding: 0.5%;
  background-color: #f2f2f2; }
  @media screen and (max-width: 767px) {
    .start_box {
      flex-direction: row; } }
  .start_box > * {
    flex: 1; }
    .start_box > * > p, .start_box > * > li {
      text-align: left; }
  .start_box p {
    text-align: left; }
  .start_boxitem {
    display: flex;
    flex-direction: column;
    flex-grow: 1;
    margin: 0.5%;
    background: #fff;
    padding: 10px;
    text-align: center;
    cursor: pointer; }
    @media screen and (min-width: 768px) {
      .start_boxitem {
        max-width: 24%;
        flex-basis: 24%; } }
    @media screen and (min-width: 600px) and (max-width: 768px) {
      .start_boxitem {
        max-width: 32.33333%;
        flex-basis: 32.33333%; } }
    .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.33333%;
        flex-basis: 32.33333%; } }
  .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;
    margin-bottom: 15px;
    background: #b1d9cb; }
    .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_tb th, .table_dl th,
.table_tb td,
.table_dl td {
  border-bottom: 1px solid #ccc;
  padding: 10px;
  vertical-align: middle;
  table-layout: fixed;
  word-wrap: break-word;
  overflow-wrap: break-word; }

.table_tb th, .table_dl th {
  width: 30%; }
  @media screen and (min-width: 768px) {
    .table_tb th, .table_dl 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: inline-block;
  background: #690;
  padding: 5px;
  color: #fff;
  width: 200px; }

.faq_qabox {
  margin: 20px 10px; }
  .faq_qabox h5 {
    color: #690;
    margin: 15px 0; }
  .faq_qabox dt {
    font-size: 14px;
    font-weight: bold; }
    .faq_qabox dt::before {
      font-weight: inherit;
      content: "\f059";
      font-family: FontAwesome;
      line-height: 1;
      font-size: 1.3em;
      color: #690;
      display: inline-block;
      margin-right: 0.26em;
      margin-left: 0.26em; }
  .faq_qabox dd {
    font-size: 14px;
    margin: 0 0 20px 25px; }

.submenu_index {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 13.33333px;
  margin-bottom: 13.33333px; }
  @media screen and (max-width: 767px) {
    .submenu_index {
      flex-direction: row; } }
  @media screen and (min-width: 768px) {
    .submenu_index {
      margin-top: 20px;
      margin-bottom: 20px; } }
  .submenu_index > a {
    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%;
    flex: 1;
    flex-direction: column;
    align-items: center;
    justify-content: space-around;
    margin: 1.5% !important;
    max-width: 97%; }
    @media screen and (max-width: 767px) {
      .submenu_index > a {
        margin-right: auto;
        margin-left: auto; } }
    .submenu_index > a + p, .submenu_index > a + div {
      margin-top: 10px; }
    @media screen and (min-width: 768px) {
      .submenu_index > a {
        padding: 16px; } }
  .submenu_index h5 {
    margin-top: 5.33333px;
    margin-bottom: 5.33333px; }
    @media screen and (min-width: 768px) {
      .submenu_index h5 {
        margin-top: 8px;
        margin-bottom: 8px; } }
    .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; }

.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.33333px;
  margin-bottom: 13.33333px;
  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.33333px;
  margin-bottom: 13.33333px;
  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; }

.icontitle {
  font-weight: bold;
  margin-top: 10px; }
  .icontitleimg {
    margin: 0 15px;
    vertical-align: middle; }
  .icontitle-pickup {
    margin-top: 13.33333px;
    margin-bottom: 13.33333px;
    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;
  margin: 30px -10px 20px -10px;
  padding: 10px; }

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

#menu {
  display: none;
  position: absolute;
  z-index: 100;
  top: 110px;
  left: 0;
  width: 330px; }
  @media screen and (min-width: 768px) {
    #menu {
      left: calc(50vw - 480px); } }
  @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 {
  background-color: #46a98b; }
  .g_navi li {
    border-right: 2px solid #fff;
    height: 64px;
    text-align: center;
    cursor: pointer;
    padding-top: 8px;
    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 {
      width: 100%; }
    .g_navi li span {
      color: #fff;
      font-weight: bold; }
      @media screen and (max-width: 767px) {
        .g_navi li span {
          font-size: 14px; } }
    @media screen and (min-width: 768px) {
      .g_navi li {
        height: 45px; } }

.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: #eaf3f2;
  font-size: 18px;
  text-align: center;
  line-height: 35px;
  border-radius: 5px 5px 0 0; }
  .gnavi_simtitle > a {
    color: #6a6a6a; }

.gnavi_product {
  line-height: 1.2;
  padding: 4px 8px;
  border-bottom: 1px dashed #aaa; }
  .gnavi_product:last-child {
    border-bottom: none; }
    .gnavi_product:last-child a {
      margin-top: 2.66667px;
      margin-bottom: 2.66667px;
      display: block;
      font-size: 14px;
      font-weight: normal;
      text-align: right; }
      .gnavi_product:last-child a::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; }
      @media screen and (min-width: 768px) {
        .gnavi_product:last-child a {
          margin-top: 4px;
          margin-bottom: 4px; } }

.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,
.globalmenu_start,
.globalmenu_pad,
.globalmenu_pre,
.globalmenu_sumahod,
.globalmenu_prefix, .globalmenu_telework,
.globalmenu_voice {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center; }
  @media screen and (max-width: 767px) {
    .globalmenu,
    .globalmenu_start,
    .globalmenu_pad,
    .globalmenu_pre,
    .globalmenu_sumahod,
    .globalmenu_prefix, .globalmenu_telework,
    .globalmenu_voice {
      font-size: 80%; } }
  .globalmenu li, .globalmenu_start li, .globalmenu_pad li, .globalmenu_pre li, .globalmenu_sumahod li, .globalmenu_prefix li, .globalmenu_telework li, .globalmenu_voice li {
    flex: 1;
    justify-content: center; }
    .globalmenu li a, .globalmenu_start li a, .globalmenu_pad li a, .globalmenu_pre li a, .globalmenu_sumahod li a, .globalmenu_prefix li a, .globalmenu_telework li a, .globalmenu_voice li a {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 100%; }
    .globalmenu li img, .globalmenu_start li img, .globalmenu_pad li img, .globalmenu_pre li img, .globalmenu_sumahod li img, .globalmenu_prefix li img, .globalmenu_telework li img, .globalmenu_voice li img {
      width: 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.33333px;
  margin-bottom: 13.33333px;
  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;
  flex-wrap: nowrap;
  justify-content: center;
  background: #fff;
  padding: 10px; }
  @media screen and (max-width: 767px) {
    .voiceflow_description {
      flex-direction: column; } }
  .voiceflow_description > * {
    flex: 1; }
    .voiceflow_description > * > p, .voiceflow_description > * > li {
      text-align: left; }
  .voiceflow_description p {
    text-align: left; }
  @media screen and (max-width: 767px) {
    .voiceflow_description > *:not(:first-child) {
      margin-top: 20px; } }
  @media screen and (min-width: 768px) {
    .voiceflow_description > *:not(:first-child) {
      margin-left: 20px; } }
  @media screen and (min-width: 768px) {
    .voiceflow_description {
      padding: 20px; } }
  @media screen and (max-width: 767px) {
    .voiceflow_description {
      flex-direction: column-reverse; } }
  .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.33333px;
  margin-bottom: 13.33333px;
  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.33333px;
  margin-bottom: 13.33333px;
  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.33333px;
  margin-bottom: 13.33333px;
  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.53333em; }
    @media screen and (min-width: 768px) {
      .support_shop_wrap > *:not(:first-child) {
        margin-top: 0.8em; } }

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

.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 .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 {
  position: fixed;
  top: 0 !important;
  width: 100%;
  z-index: 10;
  opacity: 0.95; }

/* 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.33333px;
  margin-bottom: 13.33333px;
  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.33333px;
  margin-bottom: 13.33333px;
  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;
  flex-wrap: nowrap;
  justify-content: center;
  padding: 10px; }
  @media screen and (max-width: 767px) {
    .myb_infobox {
      flex-direction: column; } }
  @media screen and (min-width: 768px) {
    .myb_infobox {
      padding: 20px; } }
  @media screen and (min-width: 768px) {
    .myb_infobox {
      background: #eceff1;
      border-radius: 10px; }
      .myb_infobox div:first-child {
        margin-right: 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.53333em; }
    @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.53333em; }
    @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.53333em; }
    @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: 48.8%; } }

.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.33333px;
  margin-bottom: 13.33333px;
  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.53333em; }
    @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.53333em; }
    @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.66667em;
  margin-bottom: 0.66667em;
  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.66667px; }
    @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: #183082; }

.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,
.pre30gb_block {
  display: flex;
  flex-direction: column;
  align-items: center;
  margin-bottom: 60px;
  padding: 0 15px 15px 15px;
  background: #eceff1;
  border-radius: 5px; }
  .pre10gb_block > *:not(:first-child),
  .pre30gb_block > *:not(:first-child) {
    margin-top: 0.53333em; }
    @media screen and (min-width: 768px) {
      .pre10gb_block > *:not(:first-child),
      .pre30gb_block > *:not(:first-child) {
        margin-top: 0.8em; } }
  @media screen and (min-width: 768px) {
    .pre10gb_block,
    .pre30gb_block {
      width: 340px; } }
  .pre10gb_block h4,
  .pre30gb_block h4 {
    width: 180px; }
  .pre10gb_block .pre10gb_lpfigure,
  .pre10gb_block .pre30gb_lpfigure,
  .pre30gb_block .pre10gb_lpfigure,
  .pre30gb_block .pre30gb_lpfigure {
    height: 170px;
    max-width: 260px; }
    .pre10gb_block .pre10gb_lpfigure > img,
    .pre10gb_block .pre30gb_lpfigure > img,
    .pre30gb_block .pre10gb_lpfigure > img,
    .pre30gb_block .pre30gb_lpfigure > img {
      width: 100%; }
  .pre10gb_block h5,
  .pre30gb_block h5 {
    text-align: center;
    font-size: 24px;
    font-weight: normal;
    line-height: 1.4; }

.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; }
    .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.33333px;
  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; }

@-webkit-keyframes pointer1 {
  0% {
    transform: translate(0, 0); }
  100% {
    transform: translate(50vw, 0); } }

@keyframes pointer1 {
  0% {
    transform: translate(0, 0); }
  100% {
    transform: translate(50vw, 0); } }

@-webkit-keyframes pointer2 {
  0% {
    transform: scale(1);
    opacity: 1; }
  100% {
    transform: scale(2);
    opacity: 0; } }

@keyframes pointer2 {
  0% {
    transform: scale(1);
    opacity: 1; }
  100% {
    transform: scale(2);
    opacity: 0; } }

.anime1_pointer {
  position: absolute;
  -webkit-animation: pointer1 2s ease-in-out 1s;
  animation: pointer1 2s ease-in-out 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both; }
  .anime1_pointer-2 {
    -webkit-animation: pointer2 1s ease-out 3s infinite;
    animation: pointer2 1s ease-out 3s infinite;
    -webkit-animation-fill-mode: both;
    animation-fill-mode: both;
    -webkit-animation-iteration-count: infinite;
            animation-iteration-count: infinite; }
