@charset "UTF-8";

/* 変数は CSS ファイル内でのみ参照 */
:root {
  --link-text-color: #2e7fd5;
  --blue-background-color: #2d7fd6;
  --blue-background-thin-color: #f7fafc;
  --border-color: #f2f5f9;
  --gray-text-color: #6c7a8c;
  --gray-background-color: rgba(45, 127, 214, 0.03); /* rgba(--blue-background-color, 0.03) */
  --gray-border-color: #e7ecf1;
  --red-text-color: #f2445e;
  --red-background-color: rgb(254, 238, 238);
  --red-border-color: rgba(251, 64, 84, 0.2);
}

/*
 * ====================
 * simple
 * ====================
 */
.simple_page {
  background: #f7fafc;
}
.simple_page .flash_message {
  padding: 0;
}
.simple_page .flash_message .alert {
  border-radius: 0;
}
.simple_page .flash_message .alert h4 {
  line-height: 1.7;
}
.simple_page h1 {
  font-size: 20px;
  margin: 0 0 40px;
  text-align: center;
}
.simple_page h2 {
  margin: 50px 0 30px;
  font-size: 18px;
  text-align: center;
}
.simple_page .twitter_profile_icon {
  float: left;
  margin-right: 10px;
}
.simple_page .twitter_profile_icon > img {
  border-radius: 9999px;
}
.simple_page_container {
  margin: 7% auto;
  max-width: 360px;
}
.simple_page_container h1 a {
  color: #333;
}
.simple_page_container.wide {
  max-width: 980px;
  padding: 0 20px;
}
.simple_page_footer {
  margin: 30px 0;
  text-align: center;
}
.simple_page_footer a {
  color: #555;
}
.btn-twitter {
  background: #55acee;
  color: #fff;
}
.btn-twitter:focus,
.btn-twitter:hover {
  color: #fff;
  background-color: #83c3f3;
}
.simple_page.login_page {
  background-image: linear-gradient(59deg, #54c2f9, #1e88f5);
  background-repeat: no-repeat;
  background-position: center center;
  background-attachment: fixed;
  background-size: cover;
}
.login_page {
  padding: 0 15px;
}
.login_page .simple_page_container {
  border-radius: 10px;
  background-color: #fff;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.05);
  margin: 7% auto 30px;
  max-width: 380px;
}
@media only screen and (max-width: 767px) {
  .login_page .simple_page_container {
    margin: 50px auto 16px;
  }
}
.login_page .simple_page_container h1 {
  padding: 43px 0 41px;
  margin: 0;
}
@media only screen and (max-width: 767px) {
  .login_page .simple_page_container h1 {
    padding: 43px 0 30px;
  }
}
.login_page .simple_page_container h1 img {
  width: 200px;
}
.login_page .simple_page_footer {
  color: #fff;
  font-size: 14px;
}
@media only screen and (max-width: 767px) {
  .login_page .simple_page_footer {
    margin: 16px 0 0;
  }
}
.login_page .simple_page_footer a {
  color: #fff;
}
.login {
  margin: 0 auto;
  padding: 0 15px;
}
.login h2 {
  margin: 0 0 15px;
}
#register_header {
  font-weight: 700;
  font-size: 16px;
  text-align: center;
  margin: 0 0 20px;
}
.login_notice {
  margin: 20px -25px 0;
  font-size: 14px;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .login_notice {
    margin: 12px -15px 0;
  }
}
.login_link {
  margin: 20px;
  font-size: 12px;
  text-align: center;
}
.login_link a {
  margin: 0 5px;
}
.simple-content {
  max-width: 300px;
  margin: 0 auto;
}
.simple-content h2 {
  font-size: 18px;
  margin: 0 0 15px;
}
@media only screen and (max-width: 767px) {
  .simple-content h2 {
    font-size: 20px;
  }
}
.simple-content .forgot-password-text {
  font-size: 12px;
  color: #2e7fd5;
  text-align: right;
  display: block;
}
@media only screen and (max-width: 767px) {
  .simple-content .forgot-password-text {
    font-size: 14px;
  }
}
.simple-content .form-group {
  margin-bottom: 11px;
}
.simple-content .form-group button {
  margin: 26px 0 9px;
}
.simple-content .form-group input {
  border: none;
  border-bottom: 1px solid rgba(37, 44, 47, 0.1);
  font-size: 12px;
  padding: 6px 0 6px 35px;
}
@media only screen and (max-width: 767px) {
  .simple-content .form-group input {
    font-size: 15px;
  }
}
.simple-content .form-group .form-control-feedback {
  left: 0;
  line-height: 30px;
  color: #a3aebf;
}
.simple-content .btn {
  line-height: 40px;
  height: 40px;
  font-size: 16px;
  transition: background-color 0.2s ease;
  border: none;
  padding: 0 20px;
}
.simple-content .btn:focus {
  outline: 0;
}
.simple-content .btn:focus:not(:disabled) {
  /* BOX_SHADOW.FOCUS_BLUE */
  box-shadow: 0 0 0 3px #c2d8f1;
}
.simple-content .btn-primary {
  margin-bottom: 0;
  border-radius: 42px;
  background-color: #2d7fd6;
}
.simple-content .btn-primary:hover {
  color: #fff;
  background-color: #5899de;
}
.simple-content .social-auth-links {
  text-align: center;
}
.simple-content .social-auth-links p {
  font-size: 14px;
  color: #a3aebf;
  line-height: normal;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  .simple-content .social-auth-links p {
    font-size: 16px;
  }
}
.simple-content .social-auth-links a i,
.simple-content .social-auth-links form i {
  font-size: 18px;
  margin-right: 2px;
}
@media only screen and (max-width: 767px) {
  .simple-content .social-auth-links a i,
  .simple-content .social-auth-links form i {
    font-size: 16px;
  }
}
.simple-content.no-footer {
  padding-bottom: 33px;
}
@media only screen and (max-width: 767px) {
  .simple-content.no-footer {
    padding-bottom: 23px;
  }
}
.simple-footer {
  border-top: 1px solid rgba(37, 44, 47, 0.1);
  height: 50px;
  text-align: center;
  margin-top: 43px;
}
@media only screen and (max-width: 767px) {
  .simple-footer {
    margin-top: 23px;
    height: 48px;
  }
}
.simple-footer a {
  color: #2e7fd5;
  font-size: 14px;
  padding: 15px 0;
  display: block;
}
@media only screen and (max-width: 767px) {
  .simple-footer a {
    font-size: 15px;
    padding: 12px 0;
  }
}
.forgot-password-description {
  font-size: 13px;
  line-height: 1.7;
}
@media only screen and (min-width: 768px) {
  .forgot-password-description {
    padding: 10px 0;
  }
}
@media only screen and (max-width: 767px) {
  .forgot-password-description {
    padding: 0 10px;
  }
}
.g-recaptcha {
  transform: scale(0.8);
  -webkit-transform: scale(0.8);
  transform-origin: 0 0;
  -webkit-transform-origin: 0 0;
}
.tos_body {
  font-size: 16px;
  line-height: 1.8;
}
.tos_body .languages {
  text-align: right;
  margin: 10px 0 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #f2f5f9;
}
.tos_body .languages a {
  margin-right: 10px;
  text-decoration: none;
}
.tos_body .languages a.active {
  font-weight: 700;
}
.tos_body .notice {
  border: 1px solid #f2f5f9;
  border-radius: 5px;
  padding: 20px;
  margin: 20px 0;
}
.tos_body li {
  margin: 5px 0;
}
.tos_body a {
  text-decoration: underline;
}
@media only screen and (max-width: 767px) {
  .tos_body {
    font-size: 12px;
  }
  .tos_body h4 {
    font-size: 14px;
  }
  .tos_body ul {
    padding-left: 20px;
  }
}

/*
 * ====================
 * user_list
 * ====================
 */

 /*
 * 右サイドバー
 */
section.user_list_sidebar {
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 5;
  background: #fff;
  display: none;
}
@media only screen and (min-width: 768px) {
  section.user_list_sidebar {
    border-left: 1px solid #e5e5e5;
  }
}
@media only screen and (max-width: 767px) {
  section.user_list_sidebar {
    left: 0;
    width: 100%;
  }
}

/*
 * ユーザープロパティ
 */
section#user_list_sidebar_user hr {
  margin-left: 20px;
  margin-right: 20px;
}
section#user_list_sidebar_user .user_list_sidebar_user_no_focus {
  padding: 15px;
  text-align: center;
  color: var(--gray-text-color);
}
section#user_list_sidebar_user .user_list_sidebar_user_no_focus h3 {
  font-size: 100%;
  margin: 10px 0 20px;
  line-height: 1.7;
}
section#user_list_sidebar_user .user_list_sidebar_user_profile {
  margin: 30px 20px 20px;
}
section#user_list_sidebar_user
  .user_list_sidebar_user_profile
  .user_list_sidebar_user_profile_icon {
  float: left;
  margin-right: 15px;
}
section#user_list_sidebar_user
  .user_list_sidebar_user_profile
  .user_list_sidebar_user_profile_icon
  img {
  width: 48px;
  height: 48px;
  border-radius: 24px;
}
section#user_list_sidebar_user
  .user_list_sidebar_user_profile
  .user_list_sidebar_user_profile_description {
  clear: both;
  padding: 8px 0 0;
  color: #8c8c8c;
  font-size: 14px;
  word-break: break-word;
  overflow-wrap: break-word;
}
section#user_list_sidebar_user
  .user_list_sidebar_user_profile
  .user_list_sidebar_user_info {
  margin: 25px 0 18px 0;
}
section#user_list_sidebar_user
  .user_list_sidebar_user_profile
  .user_list_sidebar_user_profile_get_date_time,
section#user_list_sidebar_user
  .user_list_sidebar_user_profile
  .user_list_sidebar_user_profile_location,
section#user_list_sidebar_user
  .user_list_sidebar_user_profile
  .user_list_sidebar_user_profile_url {
  font-size: 13px;
  margin: 10px 0;
  word-break: break-word;
  overflow-wrap: break-word;
  color: #8c8c8c;
}
section#user_list_sidebar_user
  .user_list_sidebar_user_profile
  .user_list_sidebar_user_profile_get_date_time
  [data-icon],
section#user_list_sidebar_user
  .user_list_sidebar_user_profile
  .user_list_sidebar_user_profile_location
  [data-icon],
section#user_list_sidebar_user
  .user_list_sidebar_user_profile
  .user_list_sidebar_user_profile_url
  [data-icon] {
  margin-right: 5px;
}
section#user_list_sidebar_user #user_list_sidebar_user_timeline {
  list-style: none;
  padding: 0;
  margin: 0 20px;
  color: #6c7a8c;
  font-size: 13px;
  line-height: 1.42;
  word-break: break-word;
  overflow-wrap: break-word;
}
section#user_list_sidebar_user #user_list_sidebar_user_timeline li {
  margin: 20px 0;
}
section#user_list_sidebar_user
  #user_list_sidebar_user_timeline
  .user_list_sidebar_user_timeline_media {
  margin: 10px 0;
}
section#user_list_sidebar_user
  #user_list_sidebar_user_timeline
  .user_list_sidebar_user_timeline_media
  img {
  max-height: 400px;
  max-width: 100%;
}
section#user_list_sidebar_user
  #user_list_sidebar_user_timeline
  .user_list_sidebar_user_timeline_time {
  font-size: 90%;
  color: #999;
  text-align: right;
}
section#user_list_sidebar_user
  #user_list_sidebar_user_timeline
  .user_list_sidebar_user_timeline_time
  a {
  color: #6c7a8c;
}
section#user_list_sidebar_user .user_list_sidebar_user_updates {
  width: 100%;
  display: flex;
  justify-content: space-between;
}
section#user_list_sidebar_user .user_list_sidebar_user_updates td:first-child {
  padding: 5px 10px 5px 20px;
}
section#user_list_sidebar_user .user_list_sidebar_user_updates td:last-child {
  padding: 5px 20px 5px 0;
}
section#user_list_sidebar_user
  .user_list_sidebar_user_updates
  .user_list_sidebar_user_updates_time {
  font-size: 90%;
  color: #999;
  text-align: right;
}
section#user_list_sidebar_user
  .user_list_sidebar_user_info
  .user_list_sidebar_user_info_item {
  width: 33.3%;
  margin: 0;
  float: left;
  text-align: left;
  height: 55px;
  padding-left: 10px;
}
section#user_list_sidebar_user
  .user_list_sidebar_user_info
  .user_list_sidebar_user_info_item
  .user_list_sidebar_user_info_item_header {
  font-size: 12px;
  color: #6c7a8c;
}
section#user_list_sidebar_user
  .user_list_sidebar_user_info
  .user_list_sidebar_user_info_item
  .user_list_sidebar_user_info_item_value {
  margin: 5px 0 0 0;
  font-size: 17px;
  font-weight: 700;
  height: 1em;
  color: var(--link-text-color);
}
section#user_list_sidebar_user
  #user_list_sidebar_user_detail
  .user_list_sidebar_user_detail_action {
  padding: 10px 0;
}
section#user_list_sidebar_user
  #user_list_sidebar_user_detail
  .user_list_sidebar_user_detail_action
  .user_list_sidebar_user_action_item {
  color: #2f3f54;
  display: block;
  position: relative;
  line-height: 40px;
  padding: 0 18px;
  font-size: 15px;
}
section#user_list_sidebar_user
  #user_list_sidebar_user_detail
  .user_list_sidebar_user_detail_action
  .user_list_sidebar_user_action_item:hover {
  background: #f7fafc;
}
section#user_list_sidebar_user
  #user_list_sidebar_user_detail
  .user_list_sidebar_user_detail_action
  .user_list_sidebar_user_action_item
  [data-icon='arrow-up-right-from-square'] {
  position: absolute;
  right: 16px;
  top: 13px;
}
section#user_list_sidebar_user
  #user_list_sidebar_user_detail
  .user_list_sidebar_user_info {
  padding: 20px;
}
section#user_list_sidebar_user
  #user_list_sidebar_user_detail
  .user_list_sidebar_user_info_detail {
  padding: 20px 20px;
  clear: both;
}
section#user_list_sidebar_user
  #user_list_sidebar_user_detail
  .user_list_sidebar_user_info_detail
  .user_list_sidebar_user_info_item {
  overflow: hidden;
  position: relative;
}
section#user_list_sidebar_user
  #user_list_sidebar_user_detail
  .user_list_sidebar_user_info_detail
  .user_list_sidebar_user_info_item
  .user_list_sidebar_user_info_item_header {
  font-size: 14px;
  color: #949daa;
  width: 140px;
  float: left;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
}

/*
 * テーブル
 */
section.user_list_container table.dataTable {
  width: 100%;
  clear: none;
}
/* ローディング時にテーブルに大きさを持たせておく */
.user_list_box {
  position: relative;
  min-height: 450px;
}
.user_list_box .table_loading {
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  text-align: center;
  background: rgba(255, 255, 255, 0.8);
  padding: 200px 0;
  z-index: 1;
}
.user_list_box .user_list_loading {
  animation-duration: 0.6s;
  animation-fill-mode: forwards;
  animation-iteration-count: infinite;
  animation-name: loading_animation;
  animation-timing-function: linear;
  background-image: -webkit-linear-gradient(
    left,
    #f5f7fb 0,
    #eee 20%,
    #f5f7fb 40%,
    #f5f7fb 100%
  );
}
.user_list_box .user_list_loading .user_list_loading_content {
  width: 100%;
  max-width: 120px;
  height: 120px;
  margin: 0 auto;
  background-color: #fff;
  border-radius: 6px;
  box-shadow: 0 4px 10px 0 rgba(0, 0, 0, 0.15);
  display: flex;
  flex-direction: column;
  justify-content: center;
}
.user_list_box .user_list_loading .user_list_loading_content .react_loading {
  padding: 0;
}
.user_list_box .user_list_loading .user_list_loading_percent {
  display: block;
  margin: 16px 0 0;
}
@keyframes loading_animation {
  0% {
    background-position: -30vw 0;
  }
  100% {
    background-position: 30vw 0;
  }
}
/* loadingのposition: absoluteの基準にする */
.user_list_container {
  border-top: 1px solid var(--gray-border-color);
  position: relative;
}
table.user_list {
  margin: 0 !important;
  background: #fff;
  width: 100%;
}
table.user_list td,
table.user_list th {
  vertical-align: top;
}
table.user_list th {
  font-size: 80%;
}
table.user_list td {
  font-size: 90%;
}

/*
 * detail
 */
.detail .user_list td,
.detail .user_list th {
  padding: 5px;
  text-align: center;
}
.detail .user_list .name {
  width: 200px;
  text-align: left;
}
.detail .user_list .name .icon {
  float: left;
  margin-right: 5px;
}
.detail .user_list .numeric {
  width: 40px;
}
.detail .user_list .date {
  width: 60px;
}
.detail .user_list .description {
  width: 200px;
  text-align: left;
  word-break: break-word;
  overflow-wrap: break-word;
}
.detail .user_list .location {
  width: 110px;
}
.detail .user_list .flag {
  width: 10px;
  text-align: center;
  vertical-align: middle;
}
.dashboard .user_list thead,
.inbox .user_list thead,
.list .user_list thead,
.simple .user_list thead {
  display: none;
}
.dashboard .user_list .reply_tweets,
.inbox .user_list .reply_tweets,
.list .user_list .reply_tweets,
.simple .user_list .reply_tweets {
  border-top: 1px solid #eee;
  margin: 20px 0 -16px;
}
.dashboard .user_list .reply_tweets .reply_tweet_more,
.inbox .user_list .reply_tweets .reply_tweet_more,
.list .user_list .reply_tweets .reply_tweet_more,
.simple .user_list .reply_tweets .reply_tweet_more {
  padding: 10px 0;
  border-bottom: 1px solid #eee;
  text-align: center;
  cursor: pointer;
  background: #fafafa;
  color: #72afd2;
}
.dashboard .user_list .reply_tweets .reply_tweet_more:hover,
.inbox .user_list .reply_tweets .reply_tweet_more:hover,
.list .user_list .reply_tweets .reply_tweet_more:hover,
.simple .user_list .reply_tweets .reply_tweet_more:hover {
  background: #e9e9e9;
}
.dashboard .user_list .reply_tweets .reply_tweet,
.inbox .user_list .reply_tweets .reply_tweet,
.list .user_list .reply_tweets .reply_tweet,
.simple .user_list .reply_tweets .reply_tweet {
  clear: both;
  padding: 10px 0;
  border-bottom: 1px solid #eee;
  overflow: hidden;
}
.dashboard .user_list .reply_tweets .reply_tweet .reply_tweet_info,
.inbox .user_list .reply_tweets .reply_tweet .reply_tweet_info,
.list .user_list .reply_tweets .reply_tweet .reply_tweet_info,
.simple .user_list .reply_tweets .reply_tweet .reply_tweet_info {
  margin: 0 0 5px;
}
.dashboard
  .user_list
  .reply_tweets
  .reply_tweet
  .reply_tweet_info
  .reply_tweet_name,
.inbox
  .user_list
  .reply_tweets
  .reply_tweet
  .reply_tweet_info
  .reply_tweet_name,
.list .user_list .reply_tweets .reply_tweet .reply_tweet_info .reply_tweet_name,
.simple
  .user_list
  .reply_tweets
  .reply_tweet
  .reply_tweet_info
  .reply_tweet_name {
  font-weight: 700;
  margin-right: 6px;
}
.dashboard
  .user_list
  .reply_tweets
  .reply_tweet
  .reply_tweet_info
  .reply_tweet_screen_name,
.inbox
  .user_list
  .reply_tweets
  .reply_tweet
  .reply_tweet_info
  .reply_tweet_screen_name,
.list
  .user_list
  .reply_tweets
  .reply_tweet
  .reply_tweet_info
  .reply_tweet_screen_name,
.simple
  .user_list
  .reply_tweets
  .reply_tweet
  .reply_tweet_info
  .reply_tweet_screen_name {
  color: #95a5a6;
  font-size: 90%;
}
.dashboard .user_list .reply_tweets .reply_tweet .reply_tweet_icon,
.inbox .user_list .reply_tweets .reply_tweet .reply_tweet_icon,
.list .user_list .reply_tweets .reply_tweet .reply_tweet_icon,
.simple .user_list .reply_tweets .reply_tweet .reply_tweet_icon {
  float: left;
  margin-right: 10px;
}
.dashboard .user_list .reply_tweets .reply_tweet .reply_tweet_icon img,
.inbox .user_list .reply_tweets .reply_tweet .reply_tweet_icon img,
.list .user_list .reply_tweets .reply_tweet .reply_tweet_icon img,
.simple .user_list .reply_tweets .reply_tweet .reply_tweet_icon img {
  width: 30px;
  height: 30px;
}
.dashboard .user_list .reply_tweets .reply_tweet .reply_tweet_created_at,
.inbox .user_list .reply_tweets .reply_tweet .reply_tweet_created_at,
.list .user_list .reply_tweets .reply_tweet .reply_tweet_created_at,
.simple .user_list .reply_tweets .reply_tweet .reply_tweet_created_at {
  color: #666;
  float: right;
  margin: 0 0 0 10px;
}
.dashboard .user_list .reply_form,
.inbox .user_list .reply_form,
.list .user_list .reply_form,
.simple .user_list .reply_form {
  position: relative;
}
.dashboard .user_list .reply_form .reply_form_icon,
.inbox .user_list .reply_form .reply_form_icon,
.list .user_list .reply_form .reply_form_icon,
.simple .user_list .reply_form .reply_form_icon {
  width: 30px;
  height: 30px;
  margin-right: 10px;
  float: left;
  border-radius: 15px;
}
.dashboard .user_list .reply_form form,
.inbox .user_list .reply_form form,
.list .user_list .reply_form form,
.simple .user_list .reply_form form {
  margin: 30px 0 15px;
}
.dashboard .user_list .reply_form textarea,
.inbox .user_list .reply_form textarea,
.list .user_list .reply_form textarea,
.simple .user_list .reply_form textarea {
  width: 100%;
}
.dashboard .user_list .reply_form .tweet_character_count,
.inbox .user_list .reply_form .tweet_character_count,
.list .user_list .reply_form .tweet_character_count,
.simple .user_list .reply_form .tweet_character_count {
  float: right;
  line-height: 35px;
  margin-right: 15px;
  color: #999;
}
.dashboard .user_list .reply_form button[type='submit'],
.inbox .user_list .reply_form button[type='submit'],
.list .user_list .reply_form button[type='submit'],
.simple .user_list .reply_form button[type='submit'] {
  float: right;
}
.dashboard .user_list .reply_form button.close,
.inbox .user_list .reply_form button.close,
.list .user_list .reply_form button.close,
.simple .user_list .reply_form button.close {
  position: absolute;
  top: 0;
  right: -30px;
  z-index: 1;
}
/* ページネーション */
.dashboard div.dataTables_wrapper .p,
.inbox div.dataTables_wrapper .p,
.list div.dataTables_wrapper .p,
.simple div.dataTables_wrapper .p {
  margin: 40px 20px 50px;
}
@media only screen and (max-width: 767px) {
  .dashboard div.dataTables_wrapper .p,
  .inbox div.dataTables_wrapper .p,
  .list div.dataTables_wrapper .p,
  .simple div.dataTables_wrapper .p {
    margin: 40px 0 40px;
  }
}
.dashboard .user_list .description,
.dashboard .user_list .info,
.dashboard .user_list .tweet,
.dashboard .user_list .url {
  display: none;
}

/*
 * テーブルがないとき / システムエラー
 */
.user_list_empty_description,
.user_list_error_description {
  text-align: center;
  padding: 100px 15px;
  color: var(--gray-text-color);
  text-shadow: 0 1px 0 rgba(255, 255, 255, 0.5);
}
@media only screen and (max-width: 767px) {
  .user_list_empty_description,
  .user_list_error_description {
    padding: 50px 15px;
  }
}
.user_list_empty_description .image,
.user_list_error_description .image {
  font-size: 350%;
}
.user_list_empty_description h3,
.user_list_error_description h3 {
  font-size: 160%;
  margin: 30px 0 20px;
  line-height: 1.7;
}
.user_list_empty_description p,
.user_list_error_description p {
  line-height: 1.7;
}

/*
 * ====================
 * object/project/start
 * ====================
 */
.p-start-header-progress {
  padding: 21px;
  font-size: 16px;
  background: var(--blue-background-thin-color);
  display: flex;
  justify-content: space-between;
}
@media only screen and (max-width: 767px) {
  .p-start-header-progress {
    padding: 17px 15px;
    min-height: 56px;
  }
}
@media only screen and (max-width: 767px) {
  .p-start-header-progress__no-skip {
    position: relative;
    justify-content: start;
  }
}
@media only screen and (max-width: 767px) {
  .p-start-header-progress__no-skip .p-start-header-progress-bar {
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
  }
}
@media only screen and (min-width: 768px) {
  .p-start-header-progress-prev,
  .p-start-header-progress-skip {
    width: 100px;
  }
  .p-start-header-progress-prev__link,
  .p-start-header-progress-skip__link {
    color: #b5b9bd;
    font-size: 15px;
  }
  .p-start-header-progress-prev__link:active,
  .p-start-header-progress-prev__link:focus,
  .p-start-header-progress-prev__link:hover,
  .p-start-header-progress-skip__link:active,
  .p-start-header-progress-skip__link:focus,
  .p-start-header-progress-skip__link:hover {
    color: #b5b9bd;
    text-decoration: none;
    opacity: 0.8;
  }
  .p-start-header-progress-prev__link__icon,
  .p-start-header-progress-skip__link__icon {
    margin: 0 10px;
  }
}
@media only screen and (max-width: 767px) {
  .p-start-header-progress-prev__link,
  .p-start-header-progress-skip__link {
    color: #b5b9bd;
    font-size: 16px;
  }
  .p-start-header-progress-prev__link__icon,
  .p-start-header-progress-skip__link__icon {
    font-size: 18px;
    top: 2px;
  }
}
.p-start-header-progress-skip {
  right: 22px;
}
.p-start-header-progress-prev {
  left: 22px;
}
.p-start-header-progress-bar {
  text-align: center;
}
.p-start-header-progress-bar__circle {
  width: 14px;
  height: 14px;
}
@media only screen and (max-width: 767px) {
  .p-start-header-progress-bar__circle {
    width: 10px;
    height: 10px;
  }
}
.p-start-header-progress-bar__line {
  width: 14px;
  height: 2px;
}
@media only screen and (max-width: 767px) {
  .p-start-header-progress-bar__line {
    width: 10px;
    height: 2px;
  }
}
@media only screen and (min-width: 768px) {
  .p-start-main {
    width: 480px;
    margin: 0 auto;
  }
}
@media only screen and (max-width: 767px) {
  .p-start-main-body {
    margin-bottom: 100px;
  }
}
.p-start-main--wide {
  max-width: 1000px;
  width: 100%;
}
.p-start-main--full {
  max-width: auto;
  width: auto;
}
/* destroy_friendship と create_friendship */
.p-start-main--multi {
  max-width: 1116px;
  width: 100%;
  margin: 0 auto;
}
@media only screen and (min-width: 768px) {
  .p-start-main--multi .p-start-main-header {
    width: 360px;
    float: left;
    margin: 0 36px 0 0;
  }
}
@media only screen and (min-width: 768px) {
  .p-start-main--multi .p-start-main-body {
    margin: 0 0 0 396px;
  }
}

/*
 * SP用フッター
 */
.p-start-main--multi .p-start-main-footer {
  box-shadow: 0 -2px 6px 0 rgba(0, 0, 0, 0.08);
  padding: 12px 0;
  background: #fff;
  width: 100%;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 100;
}
.p-start-main--multi .p-start-main-footer .p-start__next-button {
  margin: 0;
}
.p-start-main--multi .p-start-header-progress-skip__link {
  margin: 0 0 0 30px;
  float: right;
}
.p-start-main__title {
  font-size: 32px;
  font-weight: 700;
  line-height: 1.5;
  margin-bottom: 30px;
}
@media only screen and (max-width: 767px) {
  .p-start-main__title {
    font-size: 20px;
    margin-bottom: 20px;
  }
}
.p-start-main__text-label {
  font-size: 16px;
  font-weight: 700;
  margin-bottom: 13px;
}
.p-start-main .alert [data-icon] {
  margin-right: 4px;
}
@media only screen and (max-width: 767px) {
  .p-start-main__completed {
    height: 60vh;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
  }
  .p-start-main__completed .p-start-main-body {
    margin-bottom: 0;
    box-shadow: none;
  }
}
.p-start__grey-attention-text {
  color: #97aac3;
  font-size: 18px;
  line-height: 1.7;
}
.p-start-keywords-item {
  margin: 0 0 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
.p-start-keywords-item:last-child {
  margin: 0;
}
.p-start-keywords-item__icon-remove {
  font-size: 18px;
  color: #1a74f8;
  background-color: #fff;
  border-radius: 50%;
  cursor: pointer;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .p-start-create-friendship .user_list_box,
  .p-start-destroy-friendship .user_list_box {
    padding: 0 0 84px 0;
  }
}
@media only screen and (min-width: 768px) {
  .p-start-create-friendship .user_list_box,
  .p-start-destroy-friendship .user_list_box {
    padding: 0 0 60px 0;
  }
}
.p-start-destroy-friendship .simple_column2 .friendship_button_container {
  margin-right: 20px;
}
.p-start-main-footer-move-buttons {
  margin-top: 60px;
  position: relative;
}
@media only screen and (min-width: 768px) {
  .p-start-main-footer-move-buttons {
    text-align: center;
  }
}
.p-start-main-footer-move-buttons .p-start-header-progress-prev__link {
  position: absolute;
  left: 0;
}
@media only screen and (max-width: 767px) {
  .p-start-main-footer-move-buttons .p-start-header-progress-skip__link {
    position: absolute;
    right: 0;
  }
}
#start__create_friendship .p-start-main-footer-move-buttons,
#start__destroy_friendship .p-start-main-footer-move-buttons {
  margin: 0;
}
@media only screen and (max-width: 767px) {
  #start__create_friendship .p-start-header-progress-skip__link,
  #start__destroy_friendship .p-start-header-progress-skip__link {
    float: left;
    padding-top: 13px;
  }
  #start__create_friendship
    .p-start-main-footer-move-buttons
    .p-start-header-progress-prev__link,
  #start__destroy_friendship
    .p-start-main-footer-move-buttons
    .p-start-header-progress-prev__link {
    top: -32px;
    font-size: 15px;
  }
  #start__create_friendship
    .p-start-main-footer-move-buttons
    .p-start-header-progress-skip__link,
  #start__destroy_friendship
    .p-start-main-footer-move-buttons
    .p-start-header-progress-skip__link {
    top: -32px;
    padding: 0;
    font-size: 15px;
  }
}
@media only screen and (max-width: 767px) {
  .p-start-main-footer {
    box-shadow: 0 -2px 6px 0 rgba(0, 0, 0, 0.08);
    padding: 12px 12px;
    background: #fff;
    width: 100%;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    z-index: 100;
  }
  .p-start-main-footer.p-start-main-footer__completed {
    position: static;
    box-shadow: none;
  }
  .p-start-main-footer .p-start__next-button {
    margin: 0;
  }
  .p-start-main-footer .p-start-main-footer-move-buttons {
    margin: 0;
  }
  .p-start-main-footer
    .p-start-main-footer-move-buttons
    .p-start-header-progress-prev__link {
    top: -30px;
    font-size: 15px;
  }
  .p-start-main-footer
    .p-start-main-footer-move-buttons
    .p-start-header-progress-prev__link
    span {
    top: -1px;
    left: 6px;
    position: relative;
  }
  .p-start-main-footer
    .p-start-main-footer-move-buttons
    .p-start-header-progress-skip__link {
    top: -30px;
    padding: 0;
    font-size: 15px;
  }
  .p-start-main-footer
    .p-start-main-footer-move-buttons
    .p-start-header-progress-skip__link
    span {
    top: -1px;
    right: 6px;
    position: relative;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  #start__thanks .p-start-main-footer {
    display: none;
  }
}

/*
 * ====================
 * general
 * ====================
 */

 /*
  * 読み込み中
  */
.loading_icon_wrapper {
  display: flex;
  justify-content: center;
}
.loading_icon {
  width: 24px;
  height: 24px;
  border: 3px solid #bcd4f0;
  border-top-color: #2e7fd5;
  border-radius: 50%;
  animation: loading 0.6s linear infinite;
}
@keyframes loading {
  from {
    transform: rotate(0);
  }
  to {
    transform: rotate(360deg);
  }
}
.react_container--loading {
  display: flex;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.react_container--loading--failed {
  display: none;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 24px;
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
.react_container--loading--failed__content {
  width: 320px;
  text-align: center;
}
.react_container--loading--failed__paragraph {
  margin: 0 0 16px 0;
}

/*
 * bootstrap 要素の書き換え
 */

 /* ドロップダウンメニュー */
.dropdown-menu {
  border-radius: 5px;
  background-color: #fff;
  box-shadow: 0 8px 12px 0 rgba(0, 0, 0, 0.1);
  border: solid 1px #e9eaeb;
}
@media only screen and (max-width: 767px) {
  .dropdown-menu {
    min-width: 200px;
  }
}
.dropdown-menu > li > a,
.dropdown-menu > li > div.note {
  color: var(--gray-text-color);
}
@media only screen and (max-width: 767px) {
  .dropdown-menu > li > a,
  .dropdown-menu > li > div.note {
    padding: 10px 20px;
    font-size: 14px;
  }
}
@media only screen and (max-width: 767px) and (max-height: 650px) {
  .dropdown-menu > li > a,
  .dropdown-menu > li > div.note {
    padding: 5px 15px;
    font-size: 14px;
  }
}
@media only screen and (min-width: 768px) {
  .dropdown-menu > li > a,
  .dropdown-menu > li > div.note {
    padding: 6px 20px;
    font-size: 15px;
  }
}
.dropdown-menu > li > a > span,
.dropdown-menu > li > div.note > span {
  display: inline-block;
  width: 17px;
}
.dropdown-menu > li > a:hover {
  background: var(--blue-background-color);
  color: #fff;
}
.dropdown-menu > li .divider {
  margin: 3px 0;
  background-color: rgba(37, 44, 47, 0.1);
}
.dropdown-menu > li.indent > a {
  padding: 6px 20px 6px 40px;
}
.dropdown-menu > li.disabled > a,
.dropdown-menu > li.disabled > a:hover {
  /* lighten(--gray-text-color, 30%) */
  color: #c1c8d0;
}
.dropdown-menu > li:not(.divider):hover {
  background: var(--blue-background-color);
  color: #fff;
}
.dropdown-menu > li:not(.divider):hover a {
  color: #fff;
}
.dropdown-menu a {
  cursor: pointer;
}
.dropdown-menu.select li a {
  padding-left: 30px;
}
.dropdown-menu.select li.selected {
  display: flex;
  align-items: center;
  padding-left: 10px;
}
.dropdown-menu.select li.selected a {
  padding-left: 10px;
}
.alert h2 {
  font-size: 18px;
  font-weight: 700;
  margin: 0 0 10px;
}
.alert-danger {
  color: var(--red-text-color);
  background: var(--red-background-color);
  border-color: var(--red-border-color);
}

/*
 * 汎用要素
 */
.box {
  background-color: #fff;
  padding: 0;
  margin: 0 0 30px;
}
.box.is-dashed {
  border: 1px dashed #ced7df;
}
@media only screen and (min-width: 768px) {
  .box {
    border-radius: 5px;
    border: solid 1px #e7ecf1;
  }
}
.box .box-header .box-header-action {
  padding: 0 20px;
  float: right;
  line-height: 55px;
}
.box .box-header .box-header-action .checkbox {
  float: left;
  margin: 0 10px 0 0;
}
.box .box-header .box-header-action .checkbox input[type='checkbox'] {
  position: static;
  margin: 0 5px 0 0;
}
.box .box-header .box-title {
  color: #2f3f54;
  font-size: 14px;
  font-weight: 700;
  margin: 0;
  padding: 20px;
}
.box .box-header .box-title [data-icon='circle-question'] {
  margin: 0 0 0 8px;
}
.box .box-header:not(.no-border) {
  border-bottom: 1px solid var(--border-color);
}
.box .box-header .box-header-note {
  font-size: 13px;
  color: #888;
  padding: 4px 0 0 20px;
}
.box .box-body {
  padding: 10px 20px;
  word-wrap: break-word;
  overflow-wrap: break-word;
  line-height: 1.7;
}
.box .box-body.no-padding {
  padding: 0;
}
.box .box-body.has_table_first {
  margin: -6px 0;
}
.box .box-body .box-notice {
  background: var(--gray-background-color);
  color: var(--gray-text-color);
  padding: 5px 20px;
}
.box .box-body .qa {
  line-height: 1.8;
}
.box .box-body .qa h2 {
  font-size: 15px;
  font-weight: 700;
  margin: 30px 0 20px;
  line-height: 1.8;
}
.box .box-body .qa ul {
  padding-left: 20px;
}
.box .box-body .qa ul li {
  margin: 10px 0;
}
.box .box-body .big_message {
  background-color: var(--gray-background-color);
  padding: 30px 20px;
}
.box .box-body .big_message .icon {
  font-size: 30px;
  text-align: center;
  color: var(--gray-text-color);
}
.box .box-body .big_message .message {
  color: var(--gray-text-color);
  text-align: center;
  margin: 10px 0 0;
  font-size: 20px;
  line-height: 1.7;
}
.box .box-body .big_message .button {
  margin: 20px 0 0;
  text-align: center;
}
.box .box-body h4 {
  margin: 30px 0 10px;
}
.box .box-body dt {
  margin: 0 10px 10px 0;
}
.box .box-body code {
  margin: 0 4px 0 0;
}
@media only screen and (min-width: 768px) {
  .box .box-body .media_list {
    float: right;
    max-width: 340px;
    overflow: hidden;
  }
}
@media only screen and (max-width: 767px) {
  .box .box-body .media_list {
    padding: 20px 0;
    display: block;
  }
}
.box .box-body .media_list li {
  float: left;
  list-style-type: none;
}
.box .box-body .media_list li .tweet_queue_media_image {
  margin: 0 12px;
  width: 50px;
  height: 50px;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .box .box-body .media_list li .tweet_queue_media_image {
    margin: 0 6px;
  }
}
.box .box-body .alert:first-child {
  margin: 10px 0;
}
.box .box-footer {
  padding: 10px 20px;
  overflow: hidden;
  background: var(--gray-background-color);
  color: var(--gray-text-color);
}
.box .box-action-bar {
  background-color: #f7fafc;
  line-height: 40px;
  height: 40px;
  display: block;
  text-align: center;
  color: #2e7fd5;
  font-weight: 700;
}
.box .box-action-bar:hover {
  background-color: #fafbfc;
  text-decoration: none;
}
.react_loading {
  padding: 46px 0;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .react_loading {
    clear: both;
  }
}

/* フラッシュメッセージ */
.flash_message {
  padding: 15px 15px 0;
}
.flash_message .alert h4 {
  margin: 0;
  font-size: 14px;
}

/*
 * モーダル
 */
.tooltip_display_block.tooltip {
  display: block;
}
.tooltip-container .tooltip-content a {
  color: #ddd;
}
