@charset "UTF-8";
/* ----------------------------------------------------------------
    初期設定
----------------------------------------------------------------- */
:root {
  --bs-body-line-height: 1.6;
  --bs-font-sans-serif: system-ui,-apple-system,"Yu Gothic Medium","Hiragino Kaku Gothic ProN","Hiragino Sans",Arial,sans-serif;
  --color: 38 118 192;
  --color-hover: 34 105 171;
  --fontcolor: 50 50 50;
}

  /* ----------------------------------------------------------------
      共通
  ----------------------------------------------------------------- */
  body:lang(ja) {
    color: rgb(var(--fontcolor));
    word-break: break-word;
  }

  /* ----------------------------------------------------------------
      ヘッダ
  ----------------------------------------------------------------- */
  header {
    margin-top: 1.75rem;
    margin-bottom: 1.75rem;
    margin-inline: auto;
    inline-size: fit-content;
  }

  /* ----------------------------------------------------------------
      フッタ
  ----------------------------------------------------------------- */
  footer {
    display: flex;
    align-items: center;
    margin-top: 3.75rem;
    margin-bottom: 3.75rem;
    margin-inline: auto;
    inline-size: fit-content;
    span {
      padding-left: 1.875rem;
      font-size: .75rem;
    }
  }

  /* ----------------------------------------------------------------
      未整理笑
  ----------------------------------------------------------------- */
  /* MP add start */
  #template-layout {
      border: 1px solid #ff0000;
      padding-top: 2px;
      padding-bottom: 2px;
      width: auto;
  }

  #acting_alert {
      position: absolute;
      left: 0px;
      top: 0px;
      width: 240px;
      margin: 5px;
      z-index: 1000;
      opacity: .60;
      -moz-opacity: .60;
      filter: progid:DXImageTransform.Microsoft.Alpha(opacity=60);
  }

  #acting_alert p.close_alert {
      margin: 0;
      padding: 3px;
      background: #1393c0;
      text-align: right;
      height: 25px;
  }

  #acting_alert p.content {
      padding: 1em;
      margin: 0;
      background: #fff;
      border: 1px solid #1393c0;
      height: 100%;
  }

  #acting_alert span.top,
  #acting_alert span.bottom {
      display: block;
      background: #fff;
  }

  #acting_alert span.top span,
  #acting_alert span.bottom span {
      display: block;
      height: 1px;
      overflow: hidden;
      background: #1393c0;
  }

  #acting_alert span.r1 {
      margin: 0 5px;
  }

  #acting_alert span.r2 {
      margin: 0 3px;
  }

  #acting_alert span.r3 {
      margin: 0 2px;
  }

  #acting_alert span.top span.r4,
  span.bottom span.r4 {
      margin: 0 1px;
      height: 2px;
  }

  #acting_alert span.item {
      font-size: 12px;
  }

  .close_alert a {
      background-image: url(../img/bannerClose.gif);
      display: block;
      width: 23px;
      height: 23px;
  }

  .close_alert a img {
      display: none;
  }

  /*.table th{
      background-color: #F9F9F9\9;  IE8
      *background-color: #F9F9F9;  IE7
      _background-color: #F9F9F9;  IE6
  }*/

  img {
      max-width: 100%;
      -ms-interpolation-mode: bicubic;
      /* IE */
  }

  .ss_contents {
    margin-left: auto;
    margin-right: auto;
    width: 900px;
    --bs-emphasis-color: var(--fontcolor);
    a {
      /* リンクテキスト */
      color: rgb(var(--color));
      text-decoration: none;
      &:hover {
        text-decoration: underline;
      }
    }
    .contact {
      &:has(address > .ss_inqtxt:first-child .ss_inqtxt:empty) {
        display: none;
      }
      /* お問合せ */
      .contact__detail {
        padding: 1.5rem;
        border-radius: 4px;
        background-color: rgb(245 245 245);
        address {
          margin-bottom: 0;
        }
      }
    }
    form {
      /* Webフォーム */
      table {
        margin-bottom: 0;
        td {
          .ss_input + .ss_input {
            padding-left: 1rem;
          }
          @media (max-width: 767px) {
            .ss_input + .ss_input {
              padding: 1rem 0 0;
            }
          }
        }
      }
    }
    h6 {
      /* 見出し */
      font-size: 1.125rem;
    }
    .table {
      /* 表 */
      border-color: var(--bs-gray-200);
      --bs-table-hover-bg: initial;
      tr {
        th {
          font-weight: var(--bs-body-font-weight);
        }
        @media (max-width: 767px) {
          td {
            padding-top: .5rem;
          }
        }
      }
    }
  }

  #ss_header {
      width: 900px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 15px;
      margin-bottom: 15px;
  }

  .modal_win #ss_header {
      width: 100%;
  }

  #ss_footer {
      width: 900px;
      margin-top: 15px;
      margin-left: auto;
      margin-right: auto;
      text-align: right;
      border-top-width: 1px;
      border-top-style: solid;
      border-top-color: #DDD;
      padding-top: 5px;
  }

  .ss_input {
    display: table-cell;
  }

  *:first-child+html .ss_input {
      display: inline;
      float: left;
  }

  * html .ss_input {
      display: inline;
      float: left;
  }

  :is(input, textarea) {
    margin: .5rem 0;
    padding: 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-tertiary-bg);
    background-clip: padding-box;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    &:focus {
      background-color: var(--bs-body-bg);
    }
  }

  select {
    --bs-form-select-bg-img: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3e%3cpath fill='none' stroke='%23343a40' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='m2 5 6 6 6-6'/%3e%3c/svg%3e");
    display: block;
    width: 100%;
    margin: .5rem 0;
    padding: 0.375rem 2.25rem 0.375rem 0.75rem;
    font-size: 1rem;
    font-weight: 400;
    line-height: 1.5;
    color: var(--bs-body-color);
    -webkit-appearance: none;
    -moz-appearance: none;
    appearance: none;
    background-color: var(--bs-tertiary-bg);
    background-image: var(--bs-form-select-bg-img), var(--bs-form-select-bg-icon, none);
    background-repeat: no-repeat;
    background-position: right 0.75rem center;
    background-size: 16px 12px;
    border: var(--bs-border-width) solid var(--bs-border-color);
    border-radius: var(--bs-border-radius);
    transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
    &:focus {
      background-color: var(--bs-body-bg);
    }
  }

  select.ui-datepicker-year {
      display: inline;
  }
  select.ui-datepicker-month {
      display: inline;
  }

  input[type="file"] {
      background-color: inherit;
      border: 0px none;
  }

  :is(input[type="checkbox"], input[type="radio"]) {
    margin-right: .5rem;
    padding: 0;
    font-weight: normal;
    -webkit-appearance: auto;
    -moz-appearance: auto;
    appearance: auto;
  }

  table th,
  table td {
      vertical-align: middle;
  }

  .ss_form :is(table, .table) {
    > :not(caption) > * > * {
      padding: 1rem 0 1rem;
    }
    th {
      width: 34%;
      padding-right: 2rem;
    }
    @media (max-width: 767px) {
      th {
        width: auto;
        border-bottom-width: 0;
        padding: 1rem 0 0 !important;
      }
    }
  }

  .ss_form_matrix table {
      table-layout: fixed;
  }

  .ss_form_matrix table th {
      text-align: center;
  }

  .ss_form_matrix table td {
      vertical-align: top;
  }

  .ss_form_matrix table th.matrix_day {
      width: 10%;
  }

  .ss_form_matrix table .sp_day_line {
      display: none;
  }

  .ss_login table th {
      width: 30%;
      padding-right: 1rem;
  }

  .ss_seminar_preview {
    table {
      > :not(caption) > * > * {
        padding: 1rem 0 1rem;
      }
      th {
        width: 14%;
        padding-right: 2rem;
      }
      @media (max-width: 767px) {
        th {
          width: auto;
          border-bottom-width: 0;
          padding: 1rem 0 0 !important;
        }
      }
      td {
        ul {
          padding-left: 1.8125rem;
          &:last-child {
            margin-bottom: 0;
          }
          li {
            padding: 0 0 .25rem .4375rem;
            &:last-child {
              padding-bottom: 0;
            }
          }
        }
        p:last-child {
          margin-bottom: 0;
        }
        > table {
          thead {
            th {
              background-color: rgb(235 235 235);
            }
          }
          tbody {
            th {
              background-color: rgb(245 245 245);
            }
          }
          :is(th, td) {
            width: auto;
            border: 1px solid rgb(240 240 240);
            padding: 1rem;
          }
          @media (max-width: 767px) {
            :is(th, td) {
              padding: .75rem !important;
            }
          }
        }
      }
    }
  }

  .ss_form_btn {
    width: 520px;
    margin-top: 1rem;
    margin-inline: auto;
    text-align: center;
    &.mb-4:has(button[onclick="location='/public/application/add/430'"]) {
      display: none;
    }
  }

  .ui-datepicker {
      width: 290px !important;
  }

  .ph {
      display: none;
  }

  :is(.ss_upComment, .ss_leftComment, .ss_bottomComment, .ss_rightComment) {
    color: rgb(var(--fontcolor));
    font-size: .75rem;
  }

  .ss_error_msg,
  .errorMsg {
      margin-left: 3px;
      color: red;
      font-weight: bold;
  }

  .ss_privacy {
    height: 160px;
    margin: 2rem 0 1rem;
    border: 3px solid rgb(240 240 240);
    overflow: auto;
    color: rgb(50 50 50);
    font-size: 0.75rem;
    background-color: rgb(255 255 255);
    word-break: break-all;
    &:empty {
      display: none;
    }
  }

  #ss_inq span {
      margin-right: 10px;
  }

  .ss_cam_type1 {
      display: none;
  }

  .ss_login_table th,
  .ss_login_table td {
      background-color: #F9F9F9;
  }

  .ss_btn_bottom_link {
      margin-bottom: 20px;
      text-decoration: none;
      &:has(a[href^="/public/login?"]) {
          display: none;
      }
  }

  .ss_close {
      text-align: center;
      width: 350px;
      margin-left: auto;
      margin-right: auto;
      margin-top: 20px;
      margin-bottom: 20px;
  }

  .ss_close span {
      font-size: 14px;
      margin-left: 3px;
  }

  :root .ss_close span {
      vertical-align: bottom;
  }

  .ss_seminar_preview_detail_img {
      width: 25%;
      margin-left: 10px;
      float: right;
  }

  .ss_seminar_preview_header_img {
      margin-bottom: 2rem;
  }

  .ss_speaker_img img {
      width: 100%;
      border-radius: 50%;
  }

  :is(.ss_profile, .ss_personal_history) {
    margin-block-start: 1rem;
    &:empty {
      display: none;
    }
  }

  .ss_subtitle {
      font-size: 80%;
      padding-top: 3px;
      font-weight: normal;
      line-height: 110%;
  }

  .ss_mypage_nav {
      display: flex;
      font-size: 0.6em;
  }

  .ss_mypage_nav li {
      padding: 10px;
  }

  .ss_mypage_nav li.active {
      font-weight: bold;
  }

  .ss_mypage_nav li:hover {
      opacity: 0.5;
  }

  .ss_mypage_nav li a {
      color: rgb(var(--fontcolor));
  }

  .ss_mypage {
      min-height: 200px;
  }

  .ss_mypage_responsive_icon {
      display: none;
  }

  .ss_cart_responsive_icon {
      display: none;
  }

  .ss_mypage_note {
      margin-top: 0px;
      margin-right: 0px;
      margin-bottom: 0px;
      margin-left: 15px;
      font-size: 85%;
  }

  .ss_mypage_note li {
      line-height: 130%;
      margin-bottom: 5px;
  }

  .ss_mypage_document,
  .ss_mypage_enquete {
      margin-top: 25px;
  }

  .ss_mypage_enquete_btn {
      margin: 0px;
  }

  .ss_mypage_document,
  .ss_mypage_enquete {
      display: none;
  }

  /* 事後アンケート 12/22 追記 */
  .mypage_enquete_add .table-after-enquete td td {
      border: none;
      padding: 0px 5px 0px 0px;
      background-color: inherit !important;
  }

  .ss_mypage_application_document {
      list-style: none;
      margin-left: 10px
  }

  #ss_mypage_tr_pw_now {
      display: none;
  }

  .ss_mypage_table .select_id {
      display: none;
  }

  .ss_mypage_table .tagname,
  .ss_mypage_table .session_title,
  .ss_mypage_table .start_day {
      width: auto;
  }

  .ss_cardTable .ss_cell {
      float: left;
      margin-left: -5px;
      margin-bottom: -10px;
      vertical-align: bottom;
  }

  .ss_cardTable .ss_cell ul:has(input[id="card_number2"],input[id="card_number3"],input[id="card_number4"] ){
      padding-left: 0.35rem;
  }

  .ss_cardTable .ss_cell .ss_input {
      vertical-align: middle;
  }

  .ss_msg {
      margin-top: 5px;
  }

  .recalculation {
      margin: 0px;
      display: none;
  }

  .table td.ss_cart_price,
  .table td.ss_cart_sum,
  .table td.ss_cart_discount,
  .table td.ss_cart_sum_price {
      text-align: right;
  }

  .ss_cart_discount_price {
      color: #bd362f;
  }

  .ss_cart_sum,
  .ss_cart_sum_price {
      font-weight: bold;
  }

  .set_recalculate {
      text-align: center;
      background: #F9F9F9;
      padding: 10px;
      margin-bottom: 10px;
  }

  .ss_form table th.ss_cart_day_th {
      width: 5%;
  }

  .ss_form table th.ss_cart_price_th {
      width: 3%;
  }

  /* cartの人数 */
  .ss_num {
      display: none;
  }

  /* キャンペーン型かつ無料(確認画面) */
  .ss_price_type11 {
      display: none;
  }

  /* キャンペーン型かつキャンペーン課金(確認画面) */
  .ss_price_type12 .label {
      display: none;
  }

  /* サブキャンペーン型かつ無料(確認画面) */
  .ss_price_type21 .ss_price {
      display: none;
  }

  /* キャンペーン型かつ無料(cart) */
  .ss_price_type_cart11 .ss_price,
  .ss_price_type_cart11 .label {
      display: none;
  }

  /* キャンペーン型かつキャンペーン課金(cart) */
  .ss_price_type_cart12 .label {
      display: none;
  }

  /* サブキャンペーン型かつ無料(cart) */
  .ss_price_type_cart21 .ss_price {
      display: none;
  }

  .modal_win .ss_photo {
      max-width: 100%;
  }

  .modal_win .ss_photo img {

  }

  .modal_win .ss_summary {
      overflow: hidden;
      zoom: 1;
  }

  .modal_win .ss_speaker {
      overflow: hidden;
  }

  .ss_speaker {
      margin-bottom: 10px;
  }

  .ss_time2 {
      margin-bottom: 10px;
  }

  .table-bordered td .ss_input td {
      border: none;
      padding: 0px 5px 0px 0px;
      background-color: inherit !important;
  }

  .public_search_table th {
      width: 20%;
  }

  .ss_day {
      width: 18%;
  }

  .ss_place {
      width: 25%;
  }

  .ss_category {
      width: 15%;
  }

  .public_status_icon {
      margin-top: 3px;
  }

  .public_day .btn {
      display: none;
  }

  #ss_public_li ul {
      margin-left: 10px;
  }

  #ss_public_li li {
      list-style: none;
  }

  #ss_public_li li.mr10 {
      margin-right: 10px;
  }

  .ss_public_li_left {
      float: left;
  }

  .ss_public_li_left select {
      width: auto;
  }

  .ss_public_responsive_show {
      display: none;
  }

  #ui-datepicker-div {
      font-size: 95%;
  }

  /* バリデート部分 */
  .formError {
      display: block;
  }

  .formError .formErrorContent {
      font-weight: bold;
      margin-left: 3px;
  }

  /* login_plain. */
  .login_plain .red {
      color: red;
  }

  /* for sponsor */
  .sponsor_keyreset_plain .ss_login_table input,
  .sponsor_plain .ss_login_table input {
      width: 40%;
  }

  .sponsor_csvdownload_plain .btn.btn-primary {
      margin: 0px;
  }

  /*2021_public*/

  .public_title,
  .public_main {
      display: none;
  }

  .public_title.show,
  .public_main.show {
      display: block;
  }

  .navbar {
    display: block;
    padding: 0 0 2rem;
    font-size: 2rem;
  }

  .navbar-inner {
    border-left: .5rem solid rgb(105 118 131);
    padding: 1.5rem;
  }

  .modal_win .navbar {
      font-size: 1.5rem;
  }

  /* .modal_win .navbar .brand .label {
      background-color: rgb(var(--color));
      filter: brightness(80%);
  } */

  .btn-large {
      --bs-btn-padding-y: 0.5rem;
      --bs-btn-padding-x: 1rem;
      --bs-btn-font-size: 1.25rem;
      --bs-btn-border-radius: var(--bs-border-radius-lg);
  }

  .breadcrumb {
      display: none;
  }

  /* .breadcrumb li {
      opacity: 0.4;
  } */
  .breadcrumb li.ss_active {
      opacity: 1;
  }

  .breadcrumb li .divider {
      padding: 0 5px;
  }

  .label {
      padding: 2px 4px;
  }

  .label-warning {
      background-color: red;
      color: white;
      font-size: 0.8rem;
      font-weight: bold;
  }

  table th .ss_notnull {
      margin-left: 5px;
      white-space: nowrap;
  }

  /* color */
  .navbar-inner {
    background-color: rgb(240 240 240);
    /* background-image: -moz-linear-gradient(top, rgb(var(--color) / 0.1),  rgb(var(--color)));
    background-image: -webkit-gradient(linear, 0 0, 0 100%, from(rgb(var(--color) / 0.1)), to( rgb(var(--color))));
    background-image: -webkit-linear-gradient(top, rgb(var(--color) / 0.1),  rgb(var(--color)));
    background-image: -o-linear-gradient(top, rgb(var(--color) / 0.1),  rgb(var(--color)));
    background-image: linear-gradient(to bottom, rgb(var(--color) / 0.1),  rgb(var(--color)));
    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='rgb(var(--color) / 0.1)', endColorstr=' rgb(var(--color))', GradientType=0); */
  }

  .table-striped tbody>tr:nth-child(2n+1)>td,
  .table-striped tbody>tr:nth-child(2n+1)>th {
      background-color: rgb(var(--color) / 0.15);
  }

  .table-striped tbody>tr:nth-child(2n)>th,
  .table-striped tbody>tr:nth-child(2n)>td {
      background-color: rgb(var(--color) / 0.15);
  }

  .ss_login_table th,
  .ss_login_table td {
      background-color: #fff;
  }

  /* border */
  .table-bordered {
      /*border-color: #cccccc;*/
  }

  .table-bordered th,
  .table-bordered td {
      /*border-left-color: #cccccc;*/
  }

  .table th,
  .table td {
      /*border-top-color: #cccccc;*/
  }

  .set_recalculate {
      background-color: rgb(var(--color) / 0.35);
  }

  .warning input,
  .warning select,
  .warning textarea {
      border-color: rgb(var(--color));
  }

  .warning input:focus,
  .warning select:focus,
  .warning textarea:focus {
      border-color: rgb(var(--color));
  }

  .label-warning,
  .badge-warning {
      background-color: red;
  }

  .formErrorContent {
      /* color:  rgb(var(--color)) !important; */
      color: red;
  }

  .ss_error_msg {
      /* color:  rgb(var(--color)) !important; */
      color: red;
  }

  blockquote {
      border-color: rgb(var(--color));
  }

  h5 {
      border-color: rgb(var(--color));
  }

  .navbar .brand {
      color: rgb(var(--fontcolor));
      /* text-shadow: 0 1px 0 #333333; */
  }

  .breadcrumb .ss_active {
      color: black;
      font-weight: bold;
  }

  .breadcrumb li {
      color: black;
      /* color: #c7c7c7; */
      /* text-shadow: 0 1px 0 #000000; */
  }

  /* button */
  .btn {
    width: 30%;
    margin-bottom: 1rem;
    border: 1px solid rgb(var(--color));
	color: rgb(var(--color));
    --bs-btn-padding-y: 1rem;
    --bs-btn-font-size: var(--bs-body-font-size);
    &:hover,
    &:focus,
    &:active,
    &:first-child:active,
    &.active,
    &.disabled,
    &[disabled] {
      border: 1px solid rgb(var(--color));
      color: rgb(var(--color));
	  background-color: rgb(0 0 0 / .1);
    }
    &.btn-next {
      width: 60%;
      border-color: rgb(var(--color));
      color: rgb(var(--fontcolor));
      background-color: rgb(var(--color));
      --fontcolor: var(--bs-white-rgb);
      &[onclick]:not([onclick^="location"]) {
        /* background-color: var(--bs-white-rgb); */
        &:hover {
          color: rgba(244 244 244);
          background-color: rgb(0 0 0 / .1);
        }
      }
    }
  }

  .btn.btn-next:hover,
  .btn.btn-next:focus,
  .btn.btn-next:active,
  .btn.btn-next.active,
  .btn.btn-next.disabled,
  .btn.btn-next[disabled] {
      color: rgb(var(--fontcolor));
      background-color: rgb(var(--color));
      filter: brightness(90%);
  }

  .modal-content {
      height: calc(100vh - 200px);
  }

  .ss_input .label-warning {
      background-color: red;
      color: white;
  }

  .alert-error {
      background-color: #f8d7da;
  }

  /* パスワード表示用 */
  .eye-item {
      position: relative;
  }

  .dispPW {
      vertical-align: middle;
      position: relative;
      right: 25px;
      cursor: pointer;
  }

  ::-ms-reveal {
      display: none;
  }

  .change_password_change .eye-item,
  .admin_change_password_change .eye-item {
      margin-top: 5px;
  }

  /* 残席わずか 近日申込開始 開催未定 受付終了 満席 */
  .ss_icon_few,
  .ss_icon_before,
  .ss_icon_error,
  .ss_icon_finished,
  .ss_icon_limit{
      color: #fff;
      font-size: 12px;
      padding: 3px 6px;
  }

  .ss_icon_few{ background-color: #f89406; }
  .ss_icon_before{ background-color: #3a87ad; }
  .ss_icon_error{ background-color: #363636; }
  .ss_icon_finished{ background-color: #006dcc; }
  .ss_icon_limit{ background-color: #b94a48; }

  @media screen and (max-width: 767px) {
      .eye-item .dispPW {
          position: absolute;
          top: 25%;
          right: 15px;
      }

      .btn-large {
          --bs-btn-font-size: 1rem;
      }

      .ss_close {
          width: 30%;
      }
  }