@import url('https://fonts.googleapis.com/css2?family=Barlow:wght@100;500;600;700&family=Inter:wght@200;500;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700&display=swap');

body {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height: 1.7;
	font-size: .925rem;
}

html, body {
  height: 100vh;
  margin: 0;
}

.inter {
	font-family: 'Inter', sans-serif;
}

.barlow {
	font-family: 'Barlow', 'Noto Sans JP', sans-serif;
}

.xs-small {
	font-size:12px!important;
}

h1,h2,h3,h4,h5,h6 {
	font-family: "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック", "Yu Gothic", sans-serif;
	font-family: 'Roboto', 'Noto Sans JP', sans-serif;
	line-height: 140%;
}

.opacity-0 {
  opacity:0!important;
}
.opacity-1 {
  opacity:0.2!important;
}
.opacity-2 {
  opacity:0.4!important;
}
.opacity-3 {
  opacity:0.6!important;
}
.opacity-4 {
  opacity:.8!important;
}
.opacity-5 {
  opacity:1!important;
}

.card-body, .card-header, .card-footer {
    padding: 1.5rem 2rem;
}

a:hover {
	text-decoration: none;
	opacity: .8;
}

.hover:hover {
  opacity: .8;
}

img {
	max-width: 100%;
	height: auto;
}

.transition {
    -webkit-transition: 0.7s;
    -moz-transition: 0.7s;
    -o-transition: 0.7s;
    transition: 0.7s;
}

.transition_s {
    -webkit-transition: 0.3s;
    -moz-transition: 0.3s;
    -o-transition: 0.3s;
    transition: 0.3s;
}

.relative {
	position: relative;
}

.bg_white {
	background: rgba(255,255,255,0.97);
}

.bg_white2 {
	background: rgba(255,255,255,0.92);
}

.bg_gray {
    background:  #eee;
}

.bg_light {
    background:  rgba(250,250,250,0.97);
}

.bg_light2 {
    background:  rgba(250,250,250,0.37);
}

.bg_secondary {
    background:  rgba(240,240,240,0.97);
}

.bg_dark {
    background:  rgba(0,0,0,0.7);
}

.bg_dark2 {
    background:  rgba(0,0,0,0.92);
}

.bg_dark3 {
    background:  rgba(245,245,245,0.7);
}

.bg_teal {
    background-color: rgb(66 166 151);
}

.bg-orange {
  background-color: #feb272;
}

.bg-pink {
  background-color: #e685b5;
}

.bg-red {
  background-color: #ea868f;
}

.bg-teal {
  background-color: #79dfc1;
}

.bg-cyan {
  background-color: #6edff6;
}

.bg-indigo {
  background-color: #a370f7;
}

.bg-blue {
  background-color: #6ea8fe;
}


.toggle_btn {
	font-size:1.3rem;
	cursor: pointer;
}
.toggle_btn:hover {
	opacity: .85;
}

.screen-reader-text {
	display: none;
}

.pointer {
	cursor: pointer;
}

.keep_all {
  word-break: keep-all;
}

.fixed_full {
    height: 100%;
    position: fixed;
    z-index: 9999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
}

.absolute_y {
    position: absolute;
    top: 50%;
    left: 0%;
    transform: translateY(-50%);
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
}

.absolute_x {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.absolute_xy{
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    -webkit-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
}

.btn {
	font-size:.9rem;
	padding:.5rem 1.25rem;
}

.btn-sm {
	padding: .5rem 1rem;
}

.btn-lg {
	padding: .6rem 1.75rem;
}

.btn-primary {
	background-color: #3d8bfd;
	border-color: #3d8bfd;
}

.btn-info {
	background-color: #32a6ae;
	border-color: #32a6ae;
  color: #fff;
}

.btn-info:hover {
	background-color: #22757c;
	border-color: #22757c;
  color: #fff;
}


.page_normal h1 {
    font-weight: bold;
    margin-bottom: 1rem;
    font-size: 2rem;
    padding: 0 0 .5rem;
    line-height: 150%;
}

.page_normal h2 {
	font-weight: bold;
    margin-bottom: 1rem;
    font-size: 1.5rem;
    padding: 3rem 0 .5rem;
    line-height: 150%;

}

.page_normal h3 {
    font-weight: bold;
    margin-bottom: 1.5rem;
    padding: 1rem 0 0;
    font-size: 1.3rem;
    line-height: 150%;
}

.page_normal h4 {
    font-weight: bold;
    margin-bottom: 1.5rem;
    padding: 1rem 0 0;
    font-size: 1.1rem;
    line-height: 150%;
}

.single_content h1 {
    font-weight: bold;
    margin-bottom: 1rem;
    font-size: 2rem;
    padding: 0 0 .5rem;
    line-height: 150%;
}

.single_content h2 {
	font-weight: bold;
    margin-bottom: 1rem;
    font-size: 1.5rem;
    padding: 3rem 0 .5rem;
    line-height: 150%;

}

.single_content h3 {
    font-weight: bold;
    margin-bottom: 1.5rem;
    padding: 1rem 0 0;
    font-size: 1.3rem;
    line-height: 150%;
}

.single_content h4 {
    font-weight: bold;
    margin-bottom: 1.5rem;
    padding: 1rem 0 0;
    font-size: 1.1rem;
    line-height: 150%;
}

.nav-links .page-numbers {
	display: inline-block;
	border:1px solid #aaa;
	padding:.25em .7em;
	margin-right: .25em;
}

.nav-links .prev.page-numbers,
.nav-links .next.page-numbers{
	display: inline-block;
	border:0;
	padding:0;
}

.nav-links .page-numbers.placeholder {
	margin-right: 0;
}

.select2-container {
  width:100%!important;
}

.cell {
  min-width: 100px;
  white-space: initial;
}

.cell_hidden {
  display:none!important;
}

.lightbox-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.9);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 1000;
}
.lightbox-image {
    max-width: 90%;
    max-height: 90vh;
    object-fit: contain;
}
.close-button {
    position: absolute;
    top: 20px;
    right: 20px;
    color: white;
    font-size: 30px;
    cursor: pointer;
}

.fade-enter-active,
.fade-leave-active {
    transition: opacity 0.3s ease;
}

.fade-enter-from,
.fade-leave-to {
    opacity: 0;
}

::placeholder {
    opacity: .3!important;
    font-size: .85rem;
}


.form-label {
  font-size: 1.25rem;
  font-weight: bold;
  margin-bottom: .25rem;
}

.required {
  font-size: 12px;
  font-weight: normal;
  color: #dc3545;
  padding: 0 .25em;
}

.fixed-col {
  position: sticky;
  right: 0;
  background-color: rgba(255,255,255,0.95)!important; /* 固定列の背景色を設定 */
  z-index: 1;
}

.scroll {
  height: 100vh;
  overflow-y: auto;
-webkit-overflow-scrolling: touch;
}

.view_scroll {
  height: 100vh;
  overflow-y: auto;
-webkit-overflow-scrolling: touch;
}

.multiselect-tags .multiselect-tag {
  padding: .4em .25em .4em .75em;
}

.modal-fade-enter-active, .modal-fade-leave-active {
    transition: opacity 0.5s ease;
}
.modal-fade-enter-from, .modal-fade-leave-to {
    opacity: 0;
}
.modal-overlay {

}
.modal-content {
}

.comma-list .comma:not(:last-child)::after {
    content: ",";
}

.marked h1 {
  font-size:2rem;
  font-weight: bold;
  padding-top:2em;
  padding-bottom:2em;
}

.marked h2 {
  font-size:1.75rem;
  font-weight: bold;
  padding-top:1em;
  padding-bottom:1em;
}

.marked h3 {
  font-size:1.5rem;
  padding-top:.5em;
  padding-bottom:.5em;
}

.marked h4 {
  font-size:1.25rem;
}

.marked h5 {
  font-size:1rem;
}

.marked h6 {
  font-size:1rem;
}

.marked ul {
  margin-bottom: 1em;
}

.tox .tox-promotion-link,
.tox-statusbar__branding {
    display: none!important;
}

.mce_content {
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
}
.mce_content table p{
    margin: 0;
}
.mce_content th{
    border:1px solid #ddd;
    background: #eee;
    padding: .5em 1em;
    white-space: nowrap;
}
.mce_content td{
    border:1px solid #ddd;
    padding: .5em 1em;
    white-space: nowrap;
}
.mce_content h3,
.mce_content h4,
.mce_content h5 {
    margin-top:2.5rem;

}
.mce_content h2,
.mce_content h3,
.mce_content h4,
.mce_content h5,
.mce_content table,
.mce_content ul {
    padding-bottom:0;
    margin-bottom:1.5rem;
}
.mce_content h2 {
    border-bottom:1px solid #aaa;
    padding-bottom:1.5rem;
    margin-top:4.5rem;
}
.mce_content hr {
    display: none;
}

.right_bottom_button {
  position: fixed;
  bottom: 1rem;
  right: 1rem;
  z-index: 1000;
}



.ask_talk_textarea {
  resize: none;
  overflow: hidden;
  max-height: 100%;
  height: 56px;
  min-height: 56px;
  padding: 1em 1em 1em 1.5em;
  border-right: 0;
  font-size: 1rem;
}

.ask_talk_textarea:focus {
  box-shadow: none;
  border-color: #ced4da;
}

.ask_talk_submit {
background: transparent;
border: 0;
font-size:1.25rem;
padding: .25em .5em;
color: #555;
}

.ask_talk_box .ask_talk_log {
  width:80%;
  margin-bottom: 2em;
}

.ask_talk_box .ask_talk_log.ask_assistant_talk_log {
  margin-right: auto;
  text-align: left;
}

.ask_talk_box .ask_talk_log.ask_user_talk_log {
  margin-left: auto;
  text-align: right;
}

.ask_talk_log_message {
 display: inline-block;
 padding: 1.25em 2em;
 border-radius: 8px;
 overflow-wrap: anywhere;
 word-break: keep-all;
 text-align: left;
 white-space: pre-line;
}

.ask_talk_log_message p {
margin-bottom: 1rem;
}

.ask_talk_log_message p:last-child  {
margin-bottom: 0;
}

.ask_talk_log_message ul , .ask_talk_log_message ol  {
  padding-left: 1rem;
}
.ask_talk_log_message ul ul ,
.ask_talk_log_message ul ol ,
.ask_talk_log_message ol ul ,
.ask_talk_log_message ol ol {
  padding-left: 0.5rem;
}

.ask_talk_log_message ul li , .ask_talk_log_message ol li  {
margin-bottom: 1rem;
}

.ask_talk_log_message h1,
.ask_talk_log_message h2,
.ask_talk_log_message h3,
.ask_talk_log_message h4,
.ask_talk_log_message h5,
.ask_talk_log_message h6 {
margin: 1rem 0;
}

.ask_talk_log_message h1 {
font-size: 1.5rem;
}

.ask_talk_log_message h2 {
font-size: 1.4rem;
}

.ask_talk_log_message h3 {
font-size: 1.3rem;
}

.ask_talk_log_message h4 {
font-size: 1.2rem;
}

.ask_talk_log_message h5 {
font-size: 1.1rem;
}

.ask_talk_log_message h6 {
font-size: 1rem;
}

.ask_talk_log_message table {
margin-bottom: 1rem;
}

.ask_talk_log_message th {
border: 1px solid #d1d5db;
background: transparent;
padding: .5em .75em;
}

.ask_talk_log_message td {
border: 1px solid #d1d5db;
padding: .5em .75em;
}

.ask_talk_log_message pre {
background-color: #f4f4f4;
padding: 10px;
border: 1px solid #ccc;
overflow: auto;
}

.ask_talk_log_message code {
font-family: 'Courier New', monospace;
font-size: 14px;
}

.ask_talk_box .ask_talk_log.ask_assistant_talk_log .ask_talk_log_message  {
  background: #e6ecee;
}

.ask_talk_box .ask_talk_log.ask_user_talk_log .ask_talk_log_message  {
  background: #EEF0F2;
}

.multiselect_small .multiselect-placeholder {
  font-size: .85rem !important;
}
.multiselect_small .multiselect-option {
  font-size: .85rem !important;
}
.multiselect_small .multiselect-single-label {
  font-size: .85rem !important;
}
.multiselect_small .multiselect-multiple-label {
  font-size: .85rem !important;
}
.multiselect_small .multiselect-tag-wrapper {
  font-size: .75rem !important;
}

.assistant_right_menu .nav-tabs .nav-link.active {
  background-color: #f8f9fa!important;
  border-bottom: 1px solid #f8f9fa!important;
}
.assistant_right_menu .nav-tabs .nav-link {
  color: #000!important;
}

/* > lg */
@media (max-width:991px){

  .card-body, .card-header, .card-footer {
    padding: 1rem 1.25rem;
  }

  .mobile_fixed_full {
    height: 100%;
    position: fixed;
    z-index: 9999;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow-y: scroll;
    -webkit-overflow-scrolling: touch;
  }

  .view_scroll {
    height: auto;
    overflow-y: initial;
    -webkit-overflow-scrolling: initial;
  }

}

/* > md */
@media (max-width:767px){

}

/* > sm */
@media (max-width:575px){

  .ask_talk_log_message {
    padding:1em 1.5em;
  }

  .ask_talk_box .ask_talk_log {
      width:96%;
  }

  .ask_talk_box .ask_talk_log.ask_user_talk_log {
      width:80%;
  }

}
