@charset "utf-8";

/* body {
    margin: 1rem 2rem;
} */
body {
  font-family: "Noto Sans JP", "メイリオ", Meiryo, sans-serif;
  max-width: 1200px;
  margin: 1rem auto 3rem !important;
  background: #fff;
  font-size: 1rem;
  color: #333;
}

/* リストの非活性で透過する対策 */
select:disabled {
  opacity: 1;
}

/* ヘッダー */
.header-logo {
  display: inline;
}
.header-info {
  float: right;
}
.header-account {
  display: inline;
  float: left;
}
.header-item {
  margin: 0 1rem;
}
.header-title {
  clear: both;
}

/* 画面名 */
.screen-name {
  margin-bottom: 10px;
  font-size: 1.7rem;
  text-align: center;
}
/* .screen-name {
  padding: 0.75rem 1.75rem;
  background-color: blue;
  border: 1px solid black;
  color: white;
  font-size: x-large;
} */

/* 入力項目とエラー項目をまとめたユニット */
.items_with_errors_unit {
  display: inline-block;
}

/* エラーメッセージ */
.error-message {
  display: block;
  color: red;
}
.error-message._header {
  background-color: antiquewhite;
  padding: 0.75rem 2rem;
}
.error-message._under {
  font-size: small;
  margin: 0rem;
  background-color: antiquewhite;
}
.error-text {
  background-color: red;
}
.error-checkBox {
  display: inline-block;
  background-color: red;
  height: 1.3rem;
  width: 1.3rem;
}
.error-radio {
  display: inline-block;
  background-color: red;
  height: 1.35rem;
  width: 1.35rem;
}

/* 説明文 */
.main-explanation {
  margin: 0.25rem;
}
.main-explanation._detail {
  margin-left: 2rem;
}
.attention {
  color: red;
}

/* 金額 */
.num-plus {
  color: black;
}
.num-minus {
  color: red;
}

/* タイトル */
.main-title {
  position: relative;
  margin-top: 60px;
  margin-bottom: 25px;
  padding-left: 18px;
  padding-bottom: 7px;
  border-bottom: solid 1px #888;
  font-size: 1.3rem;
  font-weight: 500;
}
.main-title::before {
  content: "";
  position: absolute;
  top: 3.5px;
  left: 0;
  width: 6px;
  height: 26px;
  background-color: #16bb17;
}
#sim_task_detail_regist_form #header_customer::after,
#sim_task_detail_regist_form #header_sim_destination::after,
#sim_task_detail_regist_form #header_sim_camera_info.open::after {
  content: "＋";
  position: absolute;
  right: 20px;
}
#sim_task_detail_regist_form #header_customer.open::after,
#sim_task_detail_regist_form #header_sim_destination.open::after,
#sim_task_detail_regist_form #header_sim_camera_info::after {
  content: "－";
  position: absolute;
  right: 20px;
}
/* .main-title {
  padding: 0.25rem 0.5rem;
  background-color: gold;
  border: 1px solid black;
  font-size: medium;
} */
.main-paragraph {
  padding-left: 2rem;
}

input {
  line-height: 1.75;
}
/* monthにも余白を設定 user-agentと同じ余白を設定 */
input[type="month"] {
  padding: 0.25rem 0.5rem;
}
input[type="number"] {
  text-align: right;
}
select {
  padding: 0.5rem;
}

/* 登録内容の段組み */
.main-input {
  width: 96%;
  margin: 0 auto;
}
/* .main-input {
  width: 100%;
} */
.main-input th {
  width: 15rem;
  padding: 0.25rem 0;
  text-align: left;
  font-weight: normal;
  box-sizing: border-box;
}
/* .main-input th {
  padding: 0.25rem 0;
  width: 19rem;
  text-align: left;
  text-indent: 1em;
  font-weight: normal;
} */
.main-input td {
  padding: 0.2rem 0;
  /* これがなぜ必要なのか不明
    text-indent: 1em;
    */
}
.label-input-unit {
  display: inline-block;
}
/* INPUT項目の必須項目 */
/* input._required,
.input-radiofield._required,
select._required,
label._required,
button._required {
  background-color: antiquewhite;
} */
input._required,
.input-radiofield._required,
select._required,
label._required,
button._required,
.main-input th label,
.input-credit._text,
.input-name._text,
.input-secureCode._label,
select[name="credit_expiration_date_m"],
select[name="credit_expiration_date_y"] {
  margin: 8px 0;
  padding: 8px 10px;
  background-color: #ddedfb;
  border: solid 1px #888;
  border-radius: 5px;
}
.input-radiofield._required {
  border: none;
}
/* 背景色のリセット */
option {
  background-color: Field;
}
/* .input-text {
  width: 38rem;
  padding: 7px 10px;
} */
.input-text {
  width: 38rem;
  margin: 8px 0;
  padding: 7px 10px;
  border-radius: 5px;
  border-width: 1px;
  border-color: #777;
}
/* ラジオボタン */
.input-radiofield {
  display: inline;
  text-indent: 0rem;
  padding-top: 0.75rem;
}
.input-radio,
.input-checkbox {
  padding: 0 0.75rem;
}
/* 姓名 */
.input-name._label {
  padding: 0.75rem;
}
.input-name._text {
  width: 15.5rem;
}
/* .input-name._text {
  width: 15.75rem;
} */
/* 郵便番号 */
.input-zipcode._label {
  padding: 0.75rem;
}
.input-zipcode._text {
  width: 4em;
}
/* 電話番号 */
.input-phone._label {
  padding: 0.5rem;
}
/* .input-phone._text {
  width: 5rem;
} */
.input-phone._text {
  width: 5rem;
  margin: 8px 0;
  padding: 7px 10px;
  border-radius: 5px;
  border-width: 1px;
}
/* クレジットカード */
.input-credit._label {
  padding: 0.75rem;
}
.input-credit._text {
  width: 4rem;
}
/* クレジットカード（有効期限） */
.input-creditExpire._label {
  padding: 10px;
}
/* クレジットカード（セキュリティコード） */
.input-secureCode._label {
  width: 4rem;
}

/* 規約表示ボタン */
/* .button-roleDisplay {
  margin: 0 1rem;
} */
.button-roleDisplay {
  margin-left: 20px;
  padding: 12px 15px 10px;
  background-color: #dcdcdc;
  border-radius: 3px;
  border: none;
}
/* 決定ボタン */
.button-submit {
  text-align: center;
}

/* 画像 */
/* .img-price {
  width: 100%;
  max-width: 60rem;
  padding: 0.5rem;
}
.img-price {
  width: 100%;
  max-width: 60rem;
  padding: 0.5rem;
  box-sizing: border-box;
} */
.img-price {
  width: 100%;
  max-width: 420px;
  padding: 0.5rem;
  box-sizing: border-box;
}

/* テーブル共通 */
.tbl-textLeft {
  text-align: left;
}

/* 契約プラン選択 */
.div_planSelect {
  max-width: 66rem;
}
/* 新規申込 SIM未契約テーブル */
.div_simApplication {
  max-width: 38.5rem;
  margin: 0 auto;
}
.div_tbl-simApplication {
  width: 100%;
  overflow-x: auto;
  overflow-y: scroll;
}
/* .div_tbl-simApplication {
  width: 50rem;
  overflow-x: auto;
  overflow-y: scroll;
} */
/* 契約確認 SIM未契約テーブル */
.div_confirm_simApplication {
  max-width: 51.5rem;
  margin: 0 auto;
}
.div_confirm_tbl-simApplication {
  overflow-x: auto;
  overflow-y: scroll;
}

.tbl-simApplication,
.tblHead-simApplication > tr > th,
.tblBody-simApplication > tr > td {
  border-collapse: collapse;
  border: #000 solid 1px;
  padding: 0.5rem;
}
.tbl-simApplication {
  width: max-content;
  border-spacing: 0;
  margin: 0 auto;
}
.tblHead-simApplication,
.tblBody-simApplication {
  width: max-content;
}
.tblHead-simApplication {
  position: sticky;
  top: 0;
  left: 0;
}
.tblBody-simApplication {
  overflow-x: hidden;
  overflow-y: scroll;
}
/* .tblHead-simApplication > tr > th {
  white-space: nowrap;
  background-color: orange;
} */
/* .tblBody-simApplication > tr:nth-of-type(even) {
  background-color: lightcyan;
} */
.tblBody-simApplication > tr:nth-of-type(even) {
  background-color: #fff9ed;
}

/* 契約済テーブル Body */
/* .div_simContracted {
  max-width: 56rem;
  margin: 0 auto;
} */
.div_simContracted {
  margin: 0 auto;
}
/* .div_tbl-simContracted {
  overflow-x: auto;
  overflow-y: scroll;
} */
.div_tbl-simContracted {
  width: 100% !important;
  overflow-x: auto;
  overflow-y: scroll;
}
.tbl-simContracted,
.tblHead-simContracted > tr > th,
.tblBody-simContracted > tr > td {
  border-collapse: collapse;
  border: #000 solid 1px;
  padding: 0.5rem;
}
.tbl-simContracted {
  width: max-content;
  border-spacing: 0;
  margin: 0 auto;
}
.tblHead-simContracted,
.tblBody-simContracted {
  width: max-content;
}
.tblHead-simContracted {
  position: sticky;
  top: 0;
  left: 0;
}
/* .tblHead-simContracted > tr > th {
  white-space: nowrap;
  background-color: orange;
} */
.tblHead-simContracted > tr > th,
.tblHead-simApplication > tr > th {
  white-space: nowrap;
  background-color: #b2e0d4;
}
.tblBody-simContracted > tr:nth-of-type(even) {
  background-color: lightcyan;
}

.simOtherApplication-clear {
  text-align: center;
}
/* テーブル 操作 */
.tbl-simOperation {
  text-align: center;
  width: 3rem;
}
/* テーブル カメラシリーズ */
.tbl-simCameraSeries {
  width: 12rem;
}
/* テーブル カメラID／S/N */
.tbl-simCameraid {
  width: 14rem;
}
/* テーブル 契約プラン */
.tbl-simContractPlan {
  width: 8rem;
}
/* テーブル 開始希望月 */
.tbl-simDesiredStartMonth {
  width: 8rem;
}
/* テーブル 残容量／契約容量(GB) */
.tbl-simRemainAndLimit {
  width: 10rem;
}
/* テーブル その他申込 */
.tbl-simOtherApplication {
  width: 7rem;
}

/* 新規申込 SDカード録画監視 テーブル */
.div_sdApplication {
  max-width: 64.5rem;
  margin: 0 auto;
}
.div_tbl-sdApplication {
  overflow-x: auto;
  overflow-y: scroll;
}
/* 契約確認 SDカード録画監視 テーブル */
.div_confirm_sdApplication {
  max-width: 51.5rem;
  margin: 0 auto;
}
.div_confirm_tbl-sdApplication {
  overflow-x: auto;
  overflow-y: scroll;
}

.tbl-sdApplication,
.tblHead-sdApplication > tr > th,
.tblBody-sdApplication > tr > td {
  border-collapse: collapse;
  border: #000 solid 1px;
  padding: 0.5rem;
}
.tbl-sdApplication {
  width: max-content;
  border-spacing: 0;
  margin: 0 auto;
}
.tblHead-sdApplication,
.tblBody-sdApplication {
  width: max-content;
}
.tblHead-sdApplication {
  position: sticky;
  top: 0;
  left: 0;
}
.tblBody-sdApplication {
  overflow-x: hidden;
  overflow-y: scroll;
}
/* .tblHead-sdApplication > tr > th {
  white-space: nowrap;
  background-color: orange;
} */
.tblHead-sdApplication > tr > th {
  white-space: nowrap;
  background-color: #ffeb2f;
}
/* .tblBody-sdApplication > tr:nth-of-type(even) {
  background-color: lightcyan;
} */
.tblBody-sdApplication > tr:nth-of-type(even) {
  background-color: #fff9ed;
}

/* テーブル SD 操作 */
.tbl-sdOperation {
  text-align: center;
  width: 3rem;
}
/* テーブル SD カメラID */
.tbl-sdCameraid {
  width: 14rem;
}
/* テーブル SD パスワード */
.tbl-sdPassword {
  width: 12rem;
}
/* テーブル SD 名称 */
.tbl-sdName {
  width: 12rem;
}
/* テーブル SD 開始希望月 */
.tbl-sdDesiredStartMonth {
  width: 8rem;
}
/* テーブル SD 終了希望月 */
.tbl-sdDesiredEndMonth {
  width: 8rem;
}
/* テーブル その他申込 */
.tbl-sdOtherApplication {
  width: 14rem;
}

/* 検索結果 テーブル */
.div_tbl-accountResult {
  overflow-x: auto;
  overflow-y: scroll;
}
.tbl-accountResult,
.tblHead-accountResult > tr > th,
.tblBody-accountResult > tr > td {
  border-collapse: collapse;
  border: #000 solid 1px;
  padding: 0.5rem;
  white-space: nowrap;
}

.tbl-accountResult {
  width: max-content;
  border-spacing: 0;
  margin: 0 auto;
}
.tblHead-accountResult,
.tblBody-accountResult {
  width: max-content;
}
.tblHead-accountResult {
  position: sticky;
  top: 0;
  left: 0;
}
.tblBody-accountResult {
  overflow-x: hidden;
  overflow-y: scroll;
  height: 5.1rem;
}
.tblHead-accountResult > tr > th {
  white-space: nowrap;
  background-color: orange;
}
.tblBody-accountResult > tr:nth-of-type(even) {
  background-color: lightcyan;
}
/* テーブル 操作 */
.tbl-accountOperation {
  text-align: center;
  width: 3rem;
}
/* テーブル お客様コード */
.tbl-accountId {
  width: 8rem;
}
/* テーブル 会社名・屋号 */
.tbl-accountCompanyNm {
  width: 20rem;
}
/* テーブル 部署・所属名 */
.tbl-accountDepartmentNm {
  width: 20rem;
}
/* テーブル 担当者氏名 */
.tbl-accountInChargeNm {
  width: 8rem;
}
/* テーブル メールアドレス */
.tbl-accountMailAddress {
  width: 24rem;
}
/* テーブル 決済手段 */
.tbl-accountPaymentMethod {
  width: 12rem;
}
/* テーブル 住所（郵便番号） */
.tbl-accountPostCode {
  width: 8rem;
}
/* テーブル 住所（都道府県） */
.tbl-accountPrefectures {
  width: 10rem;
}
/* テーブル 住所（市区町村） */
.tbl-accountCity {
  width: 10rem;
}
/* テーブル 住所（町名・番地） */
.tbl-accountTown {
  width: 20rem;
}
/* テーブル 住所（マンション・ビル名） */
.tbl-accountApartment {
  width: 18rem;
}
/* テーブル 電話番号 */
.tbl-accountTel {
  width: 8rem;
}
/* テーブル アカウント状態 */
.tbl-accountStatus {
  width: 8rem;
}
/* テーブル 備考 */
.tbl-accountNote {
  width: 24rem;
}

/* SIMカード処理一覧 テーブル */
.div_tbl-simProcess {
  overflow-x: auto;
  overflow-y: scroll;
  max-width: 98rem;
  height: 32rem;
}
.tbl-simProcess,
.tblHead-simProcess > tr > th,
.tblBody-simProcess > tr > td {
  border-collapse: collapse;
  border: #000 solid 1px;
  padding: 0.5rem;
  white-space: nowrap;
}
.tbl-simProcess {
  width: max-content;
  border-spacing: 0;
  margin: 0 auto;
}
.tblHead-simProcess,
.tblBody-simProcess {
  width: max-content;
}
.tblHead-simProcess {
  position: sticky;
  top: 0;
  left: 0;
}
.tblHead-simProcess > tr > th {
  white-space: nowrap;
  background-color: orange;
}
.tblBody-simProcess > tr:nth-of-type(even) {
  background-color: lightcyan;
}
/* テーブル 操作 */
.tbl-simProcessOperation {
  text-align: center;
  width: 3rem;
}
/* テーブル 選択 */
.tbl-simProcessSelect {
  text-align: center;
  width: 3rem;
}
/* テーブル お客様コード */
.tbl-simProcessId {
  width: 8rem;
}
/* テーブル 会社名・屋号 */
.tbl-simProcessCompanyNm {
  width: 20rem;
}
/* テーブル 担当者氏名 */
.tbl-simProcessInChargeNm {
  width: 8rem;
}
/* テーブル ICCID */
.tbl-simProcessIccId {
  width: 12rem;
}
/* テーブル 開通 */
.tbl-simProcessOpening {
  text-align: center;
  width: 3rem;
}
/* テーブル 休止 */
.tbl-simProcessPause {
  text-align: center;
  width: 3rem;
}
/* テーブル 再開 */
.tbl-simProcessResume {
  text-align: center;
  width: 3rem;
}
/* テーブル 閉塞 */
.tbl-simProcessBlockage {
  text-align: center;
  width: 3rem;
}
/* テーブル SIM発送 */
.tbl-simProcessSendSIM {
  text-align: center;
  width: 3rem;
}
/* テーブル 通知メール */
.tbl-simProcessNotificationMail {
  text-align: center;
  width: 3rem;
}
/* テーブル 決済処理 */
.tbl-simProcessPayment {
  text-align: center;
  width: 3rem;
}

/* SIMカード申込情報 テーブル */
.div_applicationInfo {
  max-width: 51rem;
  margin: 0 auto;
}
.div_tbl-applicationInfo {
  overflow-x: auto;
  overflow-y: scroll;
  height: 13.35rem;
}
.tbl-applicationInfo,
.tblHead-applicationInfo > tr > th,
.tblBody-applicationInfo > tr > td {
  border-collapse: collapse;
  border: #000 solid 1px;
  padding: 0.5rem;
  white-space: nowrap;
}
.tbl-applicationInfo {
  width: max-content;
  border-spacing: 0;
  margin: 0 auto;
}
.tblHead-applicationInfo,
.tblBody-applicationInfo {
  width: max-content;
}
.tblHead-applicationInfo {
  position: sticky;
  top: 0;
  left: 0;
}
.tblHead-applicationInfo > tr > th {
  white-space: nowrap;
  background-color: orange;
}
.tblBody-applicationInfo > tr:nth-of-type(even) {
  background-color: lightcyan;
}
/* テーブル シリーズ */
.tbl-applicationInfoSeries {
  width: 10rem;
}
/* テーブル カメラID/シリアルナンバー */
.tbl-applicationInfoCameraId {
  width: 14rem;
}
/* テーブル 区分 */
.tbl-applicationInfoKbn {
  text-align: center;
  width: 4rem;
}
/* テーブル ICCID */
.tbl-applicationInfoIccId {
  width: 8rem;
}
/* テーブル kioコード */
.tbl-applicationInfoKioCd {
  width: 8rem;
}

/* ボタン */
.btn,
a.btn,
button.btn {
  position: relative;
  display: inline-block;
  padding: 0.5rem 1.5rem;
  border: none;
  border-radius: 3px;
  font-size: 1.1rem;
  font-weight: 500;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  color: #333;
  cursor: pointer;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}
/* .btn,
a.btn,
button.btn {
  font-size: 1.5rem;
  font-weight: 400;
  line-height: 1.25;
  position: relative;
  display: inline-block;
  padding: 0.5rem 1.5rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  color: #212529;
  border-radius: 0.5rem;
} */

.small_btn,
a.small_btn,
button.small_btn {
  font-size: 1rem;
  font-weight: 500;
  line-height: 1.25;
  position: relative;
  display: inline-block;
  padding: 0.5rem 1.5rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  /* color: #212529; */
  /* border-radius: 0.5rem; */
}

/* 決定ボタン */
.btn-decision,
a.btn-decision {
  padding: 10px 30px 9px !important;
  background-color: #1e88e5;
  border-radius: 3px !important;
  color: #fff !important;
}
/* .btn-decision,
a.btn-decision {
  color: #fff;
  background-color: blue;
} */

.btn-decision:hover,
a.btn-decision:hover {
  opacity: 0.6;
}

/* 印刷ボタン */
.btn-print,
a.btn-print {
  color: #fff;
  background-color: green;
}

.btn-print:hover,
a.btn-print:hover {
  opacity: 0.6;
}

/* 戻るボタン */
.btn-return,
a.btn-return {
  color: #000;
  background-color: whitesmoke;
}

.btn-return:hover,
a.btn-return:hover {
  opacity: 0.6;
}

/* ログアウトボタン */
.btn-logout,
a.btn-logout {
  background-color: #f6b62e;
}
/* .btn-logout,
a.btn-logout {
  color: #000;
  background-color: lightsalmon;
} */

.btn-logout:hover,
a.btn-logout:hover {
  opacity: 0.6;
}

/* 一般ボタン */
.btn-common,
a.btn-common,
.btn-return,
a.btn-return,
button.close-modal {
  padding: 11px 30px 10px !important;
  background-color: #dcdcdc;
  border-radius: 3px !important;
  border: none;
}
/* .btn-common,
a.btn-common {
  color: #000;
  background-color: whitesmoke;
} */

.btn-common:hover,
a.btn-common:hover {
  opacity: 0.6;
}

/* ビジネスパートナーボタン */
.btn-bp,
a.btn-bp {
  color: #fff;
  background-color: blue;
  font-size: 1rem;
  line-height: 0.5;
  position: relative;
  display: inline-block;
  padding: 0.5rem 1rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 2rem;
}

/* ボタン */
/* .btn-trialCalc,
a.btn-trialCalc,
.btn-bulkInput,
a.btn-bulkInput {
  font-size: 1rem;
  position: relative;
  display: inline-block;
  padding: 0 1rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  margin: 0 2rem;
} */
.btn-trialCalc,
a.btn-trialCalc,
.btn-bulkInput,
a.btn-bulkInput {
  position: relative;
  display: inline-block;
  margin: 0 2rem;
  padding: 7px 23px 6px;
  background-color: #dcdcdc;
  border: none;
  font-size: 1rem;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  letter-spacing: 0.1em;
  border-radius: 3px;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
/* ボタン（右寄せ） */
.btn-right,
a.btn-right {
  float: right;
}
/* ボタン（ヘッダー） */
.btn-header {
  display: inline;
}
/* 横並びボタンエリア */
.btn-aria {
  display: flex;
  justify-content: space-evenly;
}

/* 各サービスに遷移 */
.box-service {
  margin-top: 25px;
}
/* .box-service {
  margin: 0.25rem 2rem;
  border: 1px solid black;
} */
.service-title {
  padding: 0.75rem 1.25rem;
  padding-bottom: 1.1rem;
  background: #44546a;
  font-size: 1.3rem;
  font-weight: 500;
  color: white;
}
/* .service-title {
  font-size: x-large;
  background: blue;
  padding: 0.75rem 1.25rem;
  color: white;
  font-weight: bold;
  line-height: 2;
} */
.service-title_name {
  display: inline;
}
.service-title_info {
  float: right;
}

.service-screen {
  padding: 1rem 1.25rem 0 1rem;
  margin: 0;
  clear: both;
}
/* .service-screen {
  clear: both;
  padding: 1rem 1.25rem;
  margin: 0px;
  border: #000 solid 1px;
} */

/* マイページ */
.mypage-section {
  display: -webkit-flex;
  display: flex;
  align-items: center;
}
/* .mypage-section {
  display: -webkit-flex;
  display: flex;
} */
.mypage-section._info {
  margin: 0 0.75rem;
  -webkit-flex: 2;
  flex: 2;
}
.mypage-section._button {
  -webkit-flex: 1;
  flex: 1;
  text-align: center;
}

.status-info {
  border: #000 solid 1px;
  width: 100%;
  height: 3rem;
  line-height: 2.5em;
  font-size: 1.1rem;
  font-weight: 500;
  text-indent: 1rem;
}
/* .status-info {
  border: #000 solid 1px;
  width: 100%;
  height: 3rem;
  line-height: 2em;
  font-size: 1.5rem;
  font-weight: 500;
  text-indent: 1rem;
} */

/* モーダルダイアログ 共通 */
.modal {
  position: absolute;
  top: 10%;
  background-color: #fff;
  padding: 20px 0;
  border-radius: 10px;
  width: 48rem;
  height: auto;
  text-align: center;
}
.modal_wide {
  position: absolute;
  top: 5%;
  background-color: #fff;
  padding: 20px 0 40px;
  border-radius: 10px;
  width: 65rem;
  height: auto;
  text-align: center;
}

.btn-batsu {
  display: block;
  position: absolute;
  top: 6px;
  right: 12px;
  width: 30px;
  height: 30px;
}

.btn-batsu::before,
.btn-batsu::after {
  /* 共通設定 */
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 3px; /* 棒の幅（太さ） */
  height: 20px; /* 棒の高さ */
  background: #333;
  border-radius: 2.5px; /* 棒の四隅の丸み*/
}
.btn-batsu::before {
  transform: translate(-50%, -50%) rotate(45deg);
}
.btn-batsu::after {
  transform: translate(-50%, -50%) rotate(-45deg);
}
/* テーブルボタン部コンテナ */
.tbl-btnContainer {
  display: flex;
  justify-content: space-evenly;
  margin-top: 0.5rem;
}

/* モーダルダイアログ 料金試算 */
.modal-rapper._trialCalc {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 100;
  /* display: none;を追加してください */
  display: none;
}

.modal-trialCalc._form {
  margin: 10px 30px;
}
/* .modal-trialCalc._form {
  margin: 10px;
} */

.modal-trialCalc._form h2 {
  color: #5f5d60;
  letter-spacing: 1px;
  margin-bottom: 40px;
}

/* テーブル SIM 料金試算 */
.tbl-trialCalc,
.tbl-trialCalc th,
.tbl-trialCalc td {
  border-collapse: collapse;
  border: #000 solid 1px;
  padding: 0.5rem;
}
.tbl-trialCalc {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 auto;
}
/* .tbl-trialCalc th {
  background-color: orange;
} */
.tbl-trialCalc th {
  background-color: #b2e0d4;
}
/* テーブル タイトル */
.tbl-trialCalc._title {
  width: 10rem;
}
/* テーブル 当月 */
.tbl-trialCalc._currentMonth {
  width: calc(100% / 4);
}
/* テーブル 翌月 */
.tbl-trialCalc._nextMonth {
  width: calc(100% / 4);
}
/* テーブル 翌々月 */
.tbl-trialCalc._twoMonthsLater {
  width: calc(100% / 4);
}

/* モーダルダイアログ カメラ情報一括入力 */
.modal-rapper._bulkInput {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 100;
  /* display: none;を追加してください */
  display: none;
}

.modal-bulkInput._form {
  margin: 10px 30px;
}
/* .modal-bulkInput._form {
  margin: 10px;
} */

.modal-bulkInput._form h2 {
  color: #5f5d60;
  letter-spacing: 1px;
  margin-bottom: 40px;
}

/* モーダルダイアログ 支払ステータス変更 */
.modal-rapper._payamentStatus {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 100;
  /* display: none;を追加してください */
  display: none;
}

.modal-rapper._payamentStatus {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 100;
  /* display: none;を追加してください */
  display: none;
}

.modal-payamentStatus._form {
  margin: 10px;
}

.modal-payamentStatus._form h2 {
  color: #5f5d60;
  letter-spacing: 1px;
  margin-bottom: 40px;
}

.modal-payamentStatus ._info {
  margin: 0 0.75rem;
  -webkit-flex: 2;
  flex: 2;
  text-align: left;
}

/* モーダルダイアログ 決済情報履歴 */
.modal-rapper._payamentHistory {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 100;
  /* display: none;を追加してください */
  display: none;
}

.modal-rapper._payamentHistory {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 100;
  /* display: none;を追加してください */
  display: none;
}

.modal-payamentHistory._form {
  margin: 10px;
}

.modal-payamentHistory._form h2 {
  color: #5f5d60;
  letter-spacing: 1px;
  margin-bottom: 40px;
}

/* テーブル 支払方法履歴 */
.div_tbl-payamentHistory {
  overflow-y: scroll;
  height: 15.45rem;
  width: 39.35rem;
  margin: 0 auto;
}
.tbl-payamentHistory,
.tbl-payamentHistory th,
.tbl-payamentHistory td {
  border-collapse: collapse;
  border: #000 solid 1px;
  padding: 0.5rem;
}
.tbl-payamentHistory {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 auto;
}
.tbl-payamentHistory th {
  background-color: orange;
}
/* テーブル 日時 */
.tbl-payamentHistory._dateTime {
  width: 14rem;
}
/* テーブル 支払ステータス */
.tbl-payamentHistory._statusInfo {
  width: 24rem;
}
.tblHead-payamentHistory > tr > th {
  position: sticky;
  top: 0;
  left: 0;
}

/* 契約情報表示エリア */
#contract-info-area .main-input {
  font-size: 0.9rem;
}

#contract-info-area .main-input th {
  background-color: #e8f4f8;
  padding: 8px;
  text-align: center;
  font-weight: bold;
}

#contract-info-area .main-input td {
  padding: 8px;
  text-align: center;
  border-bottom: 1px solid #ddd;
}

#contract-info-area .box-service {
  border: 1px solid #ddd;
  border-radius: 5px;
  overflow: hidden;
}

#contract-info-area .service-title {
  padding: 10px;
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#contract-info-area .service-title_name {
  font-weight: bold;
  font-size: 1.1rem;
}

/* テーブル 調整金登録 */
.tbl-paymentAdjustment,
.tbl-paymentAdjustment th,
.tbl-paymentAdjustment td {
  border-collapse: collapse;
  border: #000 solid 1px;
  padding: 0.5rem;
}
.tbl-paymentAdjustment {
  border-collapse: collapse;
  border-spacing: 0;
  margin: 0 auto;
}
.tbl-paymentAdjustment > thead > tr > th {
  background-color: orange;
}
.tbl-paymentAdjustment > tbody > tr:nth-of-type(even) {
  background-color: lightcyan;
}
/* テーブル 年月 */
.tbl-paymentAdjustment > .col-yearMonth {
  width: 6rem;
}
.tbl-paymentAdjustment .input-yearMonth {
  width: 4rem;
}
/* テーブル 名目 */
.tbl-paymentAdjustment > .col-nominal {
  width: 24rem;
}
.tbl-paymentAdjustment .input-nominal {
  width: 22rem;
}
/* テーブル 調整額 */
.tbl-paymentAdjustment > .col-adjustment {
  width: 8rem;
}
.tbl-paymentAdjustment .input-adjustment {
  width: 6rem;
  text-align: right;
}

/* 2列✕2列のボタン配置 */
.btnArea_2_2 {
  display: inline-block;
  width: calc(50% - 2.75px);
  text-align: center;
  margin: 0.25rem 0;
}
/* ボタンと説明書き */
.area_btnExplain {
  display: inline-block;
  margin: 0.25rem 0;
  vertical-align: top;
}
/* テーブル ボタン */
.tbl-btn {
  min-width: 120px;
  margin-top: 7px;
  padding: 2px 0;
  background-color: #dcdcdc;
  border: none;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 2rem;
}
/* .tbl-btn {
  padding: 0 1rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  border-radius: 2rem;
} */

/* パスワード マスク解除 */
.password-wrapper {
  display: flex;
  width: 39.5rem;
}
/* .password-wrapper {
  display: flex;
  width: 38.5rem; */
/*
    max-width: 500px;
    border: 1px solid #ddd;
    border-radius: 5px;
*/
/* } */

.password__input {
  flex: 1;
  /*
    outline: none;
    appearance: none;
    padding: 10px 0 10px 10px;
    border: none;
    border-radius: 5px 0 0 5px;
    font-size: 16px;
*/
}

.password__toggle {
  width: 2.5rem;
  /*
    border: none;
*/
  background: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' height='48' width='48'><path d='M24 31.5q3.55 0 6.025-2.475Q32.5 26.55 32.5 23q0-3.55-2.475-6.025Q27.55 14.5 24 14.5q-3.55 0-6.025 2.475Q15.5 19.45 15.5 23q0 3.55 2.475 6.025Q20.45 31.5 24 31.5Zm0-2.9q-2.35 0-3.975-1.625T18.4 23q0-2.35 1.625-3.975T24 17.4q2.35 0 3.975 1.625T29.6 23q0 2.35-1.625 3.975T24 28.6Zm0 9.4q-7.3 0-13.2-4.15Q4.9 29.7 2 23q2.9-6.7 8.8-10.85Q16.7 8 24 8q7.3 0 13.2 4.15Q43.1 16.3 46 23q-2.9 6.7-8.8 10.85Q31.3 38 24 38Zm0-15Zm0 12q6.05 0 11.125-3.275T42.85 23q-2.65-5.45-7.725-8.725Q30.05 11 24 11t-11.125 3.275Q7.8 17.55 5.1 23q2.7 5.45 7.775 8.725Q17.95 35 24 35Z'/></svg>")
    no-repeat center center;
  background-size: 50% auto;
  cursor: pointer;
}

.password__toggle.is-visible {
  background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' height='48' width='48'><path d='m31.45 27.05-2.2-2.2q1.3-3.55-1.35-5.9-2.65-2.35-5.75-1.2l-2.2-2.2q.85-.55 1.9-.8 1.05-.25 2.15-.25 3.55 0 6.025 2.475Q32.5 19.45 32.5 23q0 1.1-.275 2.175-.275 1.075-.775 1.875Zm6.45 6.45-2-2q2.45-1.8 4.275-4.025Q42 25.25 42.85 23q-2.5-5.55-7.5-8.775Q30.35 11 24.5 11q-2.1 0-4.3.4-2.2.4-3.45.95L14.45 10q1.75-.8 4.475-1.4Q21.65 8 24.25 8q7.15 0 13.075 4.075Q43.25 16.15 46 23q-1.3 3.2-3.35 5.85-2.05 2.65-4.75 4.65Zm2.9 11.3-8.4-8.25q-1.75.7-3.95 1.075T24 38q-7.3 0-13.25-4.075T2 23q1-2.6 2.775-5.075T9.1 13.2L2.8 6.9l2.1-2.15L42.75 42.6ZM11.15 15.3q-1.85 1.35-3.575 3.55Q5.85 21.05 5.1 23q2.55 5.55 7.675 8.775Q17.9 35 24.4 35q1.65 0 3.25-.2t2.4-.6l-3.2-3.2q-.55.25-1.35.375T24 31.5q-3.5 0-6-2.45T15.5 23q0-.75.125-1.5T16 20.15Zm15.25 7.1Zm-5.8 2.9Z'/></svg>");
}

@media (any-hover: hover) {
  .password__toggle:hover {
    opacity: 0.7;
  }
}
/* INPUT項目の必須項目 */
._required {
  background-color: antiquewhite;
}

/* re-UI追加 */
.re-UI_btn-entry,
a.re-UI_btn-entry {
  padding: 12px 50px 10px !important;
  background-color: #16bb17;
  border-radius: 3px !important;
  color: #fff !important;
}
.re-UI_sub-title {
  display: inline-block;
  margin: 0;
  padding: 8px 30px;
  border: solid 1px #666;
  font-size: 1rem;
  font-weight: 500;
}
.service-title .re-UI_info-btn {
  /*
  margin-bottom: 30px;
  */
  padding: 5px 30px 3px !important;
  background-color: transparent;
  border: solid 1px #fff;
  border-radius: 3px;
  color: #fff;
}
.service-title .re-UI_info-text {
  /*
  margin-bottom: 25px;
  */
  background-color: transparent;
  color: #fff;
  cursor: none;
}
.re-UI_explanation {
  max-width: 890px;
  margin-top: 20px;
  text-align: right;
}
.re-UI_btn-aria {
  display: block;
  text-align: center;
}
.re-UI_btn-aria .re-UI_btn-entry {
  margin-top: 30px;
}
.re-UI_btn-decision {
  display: block !important;
  margin: auto;
}
.re-UI_btn-decision02,
#login_form #login.re-UI_btn-decision {
  display: inline-block !important;
  margin-right: 20px;
}
.re-UI_main-explanation-block {
  padding: 19px 10px 22px;
  border: solid 3px #ddd;
  text-align: center;
  box-sizing: border-box;
}
.re-UI_mg-t20 {
  margin-top: 20px;
}
.re-UI_bt-250 button {
  min-width: 250px;
}
/* 251020-項目非表示設定 */
.re-UI-hidden {
  display: none;
}
/* 既存cssに追加 */
header,
#header {
  position: sticky;
  top: 0;
  padding-bottom: 1px;
  background-color: #fff;
  z-index: 99;
}
main {
  max-width: 1050px;
  margin: 0 auto;
}
li {
  list-style: none;
}
fieldset#dest_other_input_area {
  margin-top: 15px;
  padding: 20px;
  border: solid 1px #888;
}
input._required:focus,
.input-credit._text:focus,
.input-name._text:focus,
.input-secureCode._label:focus,
select[name="credit_expiration_date_m"]:focus,
select[name="credit_expiration_date_y"]:focus {
  background-color: #fff;
}
label._required {
  display: inline-block;
  margin: 10px 0;
  border: none;
}
h2.main-title {
  display: inline-block;
  margin-top: 40px;
  padding: 8px 30px;
  border: solid 1px #666;
  font-size: 1rem;
}
h2.main-title::before {
  display: none;
}
.div_tbl-sdApplication::-webkit-scrollbar {
  width: 7.5px;
  height: 7.5px;
}
.div_tbl-sdApplication::-webkit-scrollbar-thumb {
  background: #c9c9c9;
  border-radius: 5px;
}
.div_tbl-sdApplication::-webkit-scrollbar-track {
  background: #eee;
  border-radius: 5px;
}
.div_confirm_tbl-simApplication::-webkit-scrollbar,
.div_tbl-simContracted::-webkit-scrollbar,
.div_tbl-simApplication::-webkit-scrollbar {
  width: 7.5px;
  height: 7.5px;
}
.div_confirm_tbl-simApplication::-webkit-scrollbar-thumb,
.div_tbl-simContracted::-webkit-scrollbar-thumb,
.div_tbl-simApplication::-webkit-scrollbar-thumb {
  background: #c9c9c9;
  border-radius: 5px;
}
.div_confirm_tbl-simApplication::-webkit-scrollbar-track,
.div_tbl-simContracted::-webkit-scrollbar-track,
.div_tbl-simApplication::-webkit-scrollbar-track {
  background: #eee;
  border-radius: 5px;
}
.main-input th label {
  display: inline-block;
  margin: 10px 0;
  padding-left: 1.7em;
  text-indent: -1.2em;
  border: none;
}
.modal-trialCalc .screen-name {
  margin-bottom: 25px;
}
.modal-rapper._trialCalc {
  overflow-y: scroll;
}
.modal-rapper._trialCalc::-webkit-scrollbar {
  width: 0;
  height: 0;
}
#sim_task_list_search_form .div_tbl-simProcess {
  width: 90vw;
  max-width: auto;
  margin-left: 50%;
  transform: translateX(-50%);
}
#sim_task_list_search_form .tbl-simProcess {
  width: 100%;
}
.tbl-trialCalc th,
.tbl-trialCalc td {
  text-align: center;
}
/* 250718-項目非表示設定 */
.box-service:has(#downloadManualSd) {
  display: none;
}

/* レスポンシブ対応css追加 */
@media screen and (max-width: 768px) {
  body {
    width: 95%;
  }
  .header-logo img {
    max-width: 200px;
  }
  .screen-name {
    font-size: 1.2rem;
  }
  .main-title {
    font-size: 1.1rem;
  }
  .service-title {
    font-size: 1.1rem;
  }
  .btn,
  a.btn,
  button.btn {
    font-size: 1rem;
  }
  .main-input th {
    padding: 0.3rem 0 0;
  }
  .main-input th,
  .main-input td {
    display: block;
  }
  input._required,
  .input-radiofield._required,
  select._required,
  label._required,
  button._required {
    width: 100%;
    margin: 8px auto;
    box-sizing: border-box;
  }
  .input-radiofield._required,
  label._required {
    display: inline-block;
    width: auto;
  }
  select._required {
    display: inline-block;
    width: 30%;
  }
  .tblBody-simApplication > tr > td select._required {
    width: 100%;
  }
  .items_with_errors_unit {
    display: block;
  }
  .input-text,
  .password-wrapper,
  .input-name._text {
    width: 100%;
    box-sizing: border-box;
  }
  .input-phone._text {
    width: 29%;
  }
  textarea {
    width: 100%;
    box-sizing: border-box;
  }
  fieldset#dest_other_input_area {
    padding: 20px 10px;
  }
  .main-paragraph {
    padding-left: 0;
  }
  .main-explanation._detail {
    margin-left: 0;
  }
  .div_confirm_tbl-simApplication,
  .div_tbl-simApplication,
  .div_tbl-sdApplication {
    width: 100% !important;
    overflow: scroll;
    overflow-y: visible;
  }
  .div_tbl-simContracted {
    overflow-x: scroll;
    overflow-y: visible;
  }
  .div_simContracted {
    max-width: 100%;
  }
  .modal,
  .modal_wide {
    top: 5%;
    left: 50% !important;
    transform: translateX(-50%);
    width: 95%;
  }
  .input-credit._label {
    padding: 0;
  }
  .input-credit._text {
    width: 44%;
  }
  .service-title .re-UI_info-btn,
  .service-title .re-UI_info-text {
    margin-bottom: 0;
  }
}
@media screen and (max-width: 650px) {
  .header-title {
    margin-top: 80px;
  }
  .main-title {
    margin-top: 30px;
  }
  .service-title_info {
    float: none;
    margin-top: 10px;
    text-align: center;
  }
  .service-screen {
    padding: 1.5rem 0 0 0;
    text-align: center;
  }
  .btn-common {
    width: 100%;
    max-width: 350px;
    margin: 10px auto 0;
  }
  .btn-aria {
    display: block;
    max-width: 350px;
    margin: 10px auto;
    text-align: center;
  }
  .modal-rapper._trialCalc {
    overflow-y: scroll;
  }
  .modal-trialCalc._form {
    margin: 10px 15px;
  }
  .modal-rapper._trialCalc::-webkit-scrollbar {
    width: 0;
    height: 0;
  }
  .re-UI_btn-decision,
  .re-UI_btn-decision02,
  #login_form #login.re-UI_btn-decision {
    width: 100%;
    max-width: 350px;
    margin: 10px auto 0;
  }
  .re-UI_bt-250 button {
    min-width: 100%;
  }
}
@media screen and (max-width: 500px) {
  .header-info {
    float: none;
    margin-bottom: 30px;
    text-align: right;
  }
  .header-title {
    margin-top: 20px;
  }
  .header-item {
    margin: 5px 0;
  }
  .input-phone._text {
    width: 26%;
  }
  .label-input-unit {
    width: 100%;
  }
  .input-name._label {
    padding: 2px;
  }
  label._required {
    display: block;
  }
  .button-roleDisplay {
    width: 100%;
    margin-left: 0;
  }
  .mypage-section {
    display: block;
  }
  .btn-decision,
  a.btn-decision {
    width: 100%;
    max-width: 350px;
    margin: 15px auto;
  }
  .mypage-section._info {
    margin: 0;
  }
  .tbl-simContracted {
    margin-left: 0;
  }
  .input-credit._text {
    width: 43%;
  }
  .tbl-trialCalc {
    font-size: 88%;
  }
  .tbl-payamentHistory {
    font-size: 88%;
  }
}
@media screen and (max-width: 420px) {
}

.price_list {
  width: 100%;
  margin: 0px auto 10px;
}
.price_list tr {
  border-bottom: 2px solid #fff;
}
.price_list tr:nth-of-type(2n) {
  background-color: #e6e9e9;
}
.price_list tr:nth-of-type(2n + 1) {
  background-color: #f0f3f3;
}
.price_list tr:first-child {
  background-color: #329998;
}
.price_list th {
  padding: 10px;
  color: #fff;
  text-align: center;
}
.price_list tr td {
  width: 37%;
  padding: 10px;
  text-align: center;
  color: #666;
}
.price_list tr td:first-of-type {
  position: relative;
  width: 12%;
  background-clip: padding-box;
  background-color: #00996f;
  font-size: 18px;
  color: #fff;
}
.price_list tr td:first-of-type::after {
  position: absolute;
  top: 0;
  right: -9px;
  content: " ";
  display: block;
  border-left: 10px solid #00996f;
  border-top: 26px solid transparent;
  border-bottom: 26px solid transparent;
  width: 0px;
  height: 0px;
  margin-top: 0;
}
.price_list tr th:last-of-type,
.price_list tr td:last-of-type {
  width: 24%;
  border-left: 2px solid #fff;
}
.txt_initial_cost,
.ttl_monthly_price_chart {
  font-weight: bold;
}
.txt_initial_cost .letter_l {
  font-size: 150%;
}
.txt_initial_cost {
  margin: 0;
  padding-top: 0 !important;
}
.price_list .ttl_monthly_price th:nth-child(1),
.price_list .ttl_monthly_price th:nth-child(4) {
  background-color: #e6e6e6;
  color: #333;
}
.price_list .ttl_monthly_price th:nth-child(2) {
  background-color: #00996f;
}
.price_list .ttl_monthly_price th:nth-child(3) {
  background-color: #f3981c;
}
.price_list td:nth-child(2),
.price_list td:nth-child(4) {
  background-color: #b2e0d4;
}
.price_list td:nth-child(3) {
  background-color: #fbcd74;
}
.price_list td:nth-child(4) {
  font-weight: bold;
}
.price_list td:not(:nth-child(1)) {
  color: #333;
}
.price_list td small {
  font-size: 80%;
}
p.note_monthly_price {
  color: #ff0000;
  font-size: 15px;
}
.possible_time {
  font-weight: bold;
}
p.price {
  margin: 5px 0 8px;
  font-size: 17px;
  font-weight: bold;
}
p.price mark {
  margin-right: -7px;
  background: linear-gradient(transparent 62%, #ffff66 62%) top -5px center;
  font-size: 130%;
  line-height: 1;
}
.price_list .letter_m {
  font-size: 120%;
  line-height: 1;
}
.price_list .letter_l {
  font-size: 130%;
}
.term_viewing {
  display: inline-block;
  margin-left: 2em;
  color: #333;
  font-weight: normal;
  font-size: 15px;
}
.question {
  background: #cdcdcd !important;
}
.question .question_item {
  position: relative;
  display: block;
  padding: 5px 10px 7px 13px;
  background: #fff;
  border-radius: 5px;
  font-size: 100%;
}
.question .question_item::after {
  position: absolute;
  bottom: -16px;
  left: 50%;
  transform: translateX(-50%);
  content: "▼";
  transform: scale(1, 1.5);
  color: #fff;
}
.question .question_link {
  margin-top: 10px;
  margin-left: 10px;
  text-align: left;
}
.question .question_img {
  max-width: 80px;
}
.adjust {
  background-color: #b2e0d4 !important;
  font-weight: bold;
}
/* 251021-SIMサービスBP価格表追加 */
.price_list-ttl {
  padding-block: 5px;
  background-color: #00996f;
  font-weight: 500;
  text-align: center;
  color: #fff;
}
.BPsim_service {
  margin-bottom: 30px;
}
.BPsim_service .price_list-ttl {
  background-color: #0065b2;
}
.BPsim_service .price_list tr td:first-of-type {
  background-color: #0065b2;
}
.BPsim_service .price_list tr td:first-of-type::after {
  border-left: 10px solid #0065b2;
}
.BPsim_service .price_list .ttl_monthly_price th:nth-child(2) {
  background-color: #0065b2;
}
.BPsim_service .price_list td:nth-child(2),
.BPsim_service .price_list td:nth-child(4) {
  background-color: #c7e1f5;
}
.BPsim_service .adjust {
  background-color: #c7e1f5 !important;
}
.price_list-ttl + .detail_box {
  display: none;
}

@media screen and (max-width: 768px) {
  .price_list tr td:first-of-type {
    font-size: 16px;
  }
}

@media screen and (max-width: 480px) {
  .price_list th,
  .price_list td,
  .price_list tr td:first-of-type {
    font-size: 14px;
  }
  .price_list tr td {
    padding: 7px;
  }
  .price_list tr td:first-of-type {
    position: relative;
  }
  .price_list tr td:first-of-type::after {
    position: absolute;
    top: 50%;
    margin-top: -26px;
  }
  .question .question_link {
    margin-top: 20px;
  }
  .question .question_img {
    margin-top: 10px;
  }
  .question .question_item::after {
    bottom: -16px;
  }
}
