/* Sticky footer styles
-------------------------------------------------- */
html {
    position: relative;
    min-height: 100%;
}

body {
    /* Margin bottom by footer height */
    margin-bottom: 60px;
    font-family: "Zen Maru Gothic", sans-serif;
    background-color: #f9f5f5;
}

/*
* ログイン後の画面にのみ適用するスタイル
* --------------------------------------------------
*/
/* body タグに `logged-in-page` クラスを付けているページにのみ適用 */
.logged-in-page {
    margin: 0;
    padding: 0;
    height: 100%;
}

/* .logged-in-page を持つ body タグの中の html 要素 */
.main_html {
  position: relative;
  min-height: 100%;
  height: 100%;
}


/* Custom page CSS
-------------------------------------------------- */
/* Not required for template or sticky footer method. */

/*.container {
  width: auto;
  max-width: 680px;
  padding: 0 15px;
}*/
.container .text-muted {
    margin: 20px 0;
}

.table-hover > tbody > tr:hover {
    background-color: #d5d5d5;
}

#loading {
    border: 2px;
    display: none;
    position: fixed;
    left: 50%;
    top: 50%;
    margin-left: -30px;
}

.btn-floating {
    position: fixed;
    bottom: 50px;
    right: 150px;
    z-index: 1;
}

.btn-floating2 {
    position: fixed;
    bottom: 50px;
    right: 205px;
    z-index: 1;
}

.btn-floating3 {
    position: fixed;
    bottom: 50px;
    right: 260px;
    z-index: 1;
}

.btn-floating-over-footer {
    position: fixed;
    bottom: 0px;
    /*right:205px;*/
    left: 90%;
    -webkit-transform: translate(-50%, -0%);
    -moz-transform: translate(-50%, -0%);
    transform: translate(-50%, -0%);
    z-index: 1;
}

.btn-floating-center {
    position: fixed;
    bottom: 50px;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    z-index: 1;
}

.btn-circle {
    width: 30px;
    height: 30px;
    text-align: center;
    padding: 6px 0;
    font-size: 12px;
    line-height: 1.428571429;
    border-radius: 15px;
}

.btn-circle.btn-lg {
    width: 50px;
    height: 50px;
    padding: 10px 16px;
    font-size: 18px;
    line-height: 1.33;
    border-radius: 25px;
}

.btn-circle.btn-xl {
    width: 70px;
    height: 70px;
    padding: 10px 16px;
    font-size: 24px;
    line-height: 1.33;
    border-radius: 35px;
}

/* Balloon */
/*#balloon {
    margin:0 auto;
    padding:5px 0;
    width:100%;
    height:auto;
    background-color: #6699cc;
}
.balloon_Box {
    margin:10px auto;
    width:96%;
    overflow:hidden;
}
.text1,
.text2 {
    position:relative;
    background:#fff;
    border:1px solid #C8C8C8;
    width:80%;
    padding:3%;
    -webkit-border-radius:10px;
    -moz-border-radius:10px;
    border-radius:10px;
    font-size:13px;
}
.text1 {
    float:right;
}
.text2 {
    border:1px solid #99ff99;
    background:#99ff99;
}
.text1:after,
.text1:before,
.text2:after,
.text2:before {
    top:40%;
    border:solid transparent;
    content:" ";
    height:0;
    width:0;
    position:absolute;
    pointer-events:none;
}
.text1:after,
.text1:before {
    right:100%;
}
.text2:after,
.text2:before{
    left:100%;
}
.text1:after,
.text2:after {
    border-width:8px;
    margin-top:-8px;
}
.text1:after {
    border-right-color:#fff;
}
.text2:after {
    border-left-color:#99ff99;
}
.text1:before,
.text2:before {
    border-width:9px;
    margin-top:-9px;
}
.text1:before {
    border-right-color:#C8C8C8;
}
.text2:before {
    border-left-color:#90916C;
}
.left_image {
    float:left;
    width:20%;
}
.right_image {
    float:right;
    width:20%;
}
.left_image img,
.right_image img {
    width:100%
}*/
/*******************************
* 左からの吹き出し
********************************/
.text2 {
    position: relative;
    background: #fff;
    border: 1px solid #777;
    margin: 10px;
    padding: 10px;
    border-radius: 15px;
    margin-right: 20%;
    clear: both;
    max-width: 400px;
    float: left;
}

.text2:after,
.text2:before {
    right: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.text2:after {
    border-color: rgba(255, 255, 255, 0);
    border-right-color: #fff;
    border-width: 7px;
    margin-top: -7px;
}

.text2:before {
    border-color: rgba(0, 0, 0, 0);
    border-right-color: #000;
    border-width: 8px;
    margin-top: -8px;
}

/*******************************
* 右からの吹き出し
********************************/
.text1 {
    position: relative;
    background: #85e249;
    border: 1px solid #777;
    margin: 10px;
    padding: 10px;
    border-radius: 15px;
    margin-left: 20%;
    clear: both;
    max-width: 400px;
    float: right;
}

.text1:after,
.text1:before {
    left: 100%;
    top: 50%;
    border: solid transparent;
    content: " ";
    height: 0;
    width: 0;
    position: absolute;
    pointer-events: none;
}

.text1:after {
    border-color: rgba(133, 226, 73, 0);
    border-left-color: #85e249;
    border-width: 7px;
    margin-top: -7px;
}

.text1:before {
    border-color: rgba(119, 119, 119, 0);
    border-left-color: #777;
    border-width: 8px;
    margin-top: -8px;
}

/*******************************
* 割り込みを解除
********************************/
.clear_balloon {
    clear: both;
}

.selection {
    display: none;
}

#page-1 {
    display: block;
}

/*******************************
* クラス替えテーブル
********************************/
 /* テーブルのヘッダーを固定し、縦スクロールを有効にする */
 .table-fixed-header-container {
    max-height: 50vh; /* 画面の見えている範囲に収まるように調整 */
    min-height: 200px;
    overflow-y: auto;
    width: 100%;
}
#kinderTable {
    border-collapse: separate;
    width: 100%;
}
#kinderTable thead th {
    position: sticky;
    top: 0;
    background: #ffeacc; /* カスタムヘッダー色に合わせる */
    z-index: 2;
}

/*******************************
* クラス替えフッター
********************************/
.classchange-footer {
    position: fixed;
    padding: 1.5rem;
    bottom: 70px;
    right: 0px;
    z-index: 10;
    background: rgba(102, 102, 102, 0.89);
    width: 100%;
}

.pull_box {
    float: right;
    margin-left: 1.5rem;
}

.classchange-div {
    margin-bottom: 300px;
}

/*******************************
* カード色
********************************/
.card-success {
    border-color: #cbe7c7;
}

.card-success > .card-header {
    color: #3d8b40;
    background-color: #d9eeda;
    border-color: #cbe7c7;
}

.card-success > .card-header + .card-collapse > .card-body {
    border-top-color: #cbe7c7;
}

.card-success > .card-header .badge {
    color: #d9eeda;
    background-color: #3d8b40;
}

.card-success > .card-footer + .card-collapse > .card-body {
    border-bottom-color: #cbe7c7;
}

.card-danger {
    border-color: #fddfe2;
}

.card-danger > .card-header {
    color: #ea1c0d;
    background-color: #fff8f7;
    border-color: #fddfe2;
}

.card-danger > .card-header + .card-collapse > .card-body {
    border-top-color: #fddfe2;
}

.card-danger > .card-header .badge {
    color: #fff8f7;
    background-color: #ea1c0d;
}

.card-danger > .card-footer + .card-collapse > .card-body {
    border-bottom-color: #fddfe2;
}

.card-info {
    border-color: #c1ebfc;
}
.card-info > .card-header {
    color: #0c7cd5;
    background-color: #e3f2fd;
    border-color: #c1ebfc;
}
.card-info > .card-header + .card-collapse > .card-body {
    border-top-color: #c1ebfc;
}
.card-info > .card-header .badge {
    color: #e3f2fd;
    background-color: #0c7cd5;
}
.card-info > .card-footer + .card-collapse > .card-body {
    border-bottom-color: #c1ebfc;
}
/*******************************
* 上パディング
********************************/
.padding_ctl {
    padding-top: 1rem;
}

/*******************************
* モーダルフッターボタン位置
********************************/
.modal-footer {
    justify-content: center;
}

/*******************************
* カスタムボタン
********************************/
.btn-danger {
    color: #fff;
    background-color: #f44336;
    border-color: #f33a2c;
}

.btn-danger:focus,
.btn-danger.focus {
    color: #fff;
    background-color: #ea1c0d;
    border-color: #981208;
}

.btn-danger:hover {
    color: #fff;
    background-color: #ea1c0d;
    border-color: #d71a0c;
}

.btn-danger.active,
.btn-danger.active,
.open > .btn-danger.dropdown-toggle {
    color: #fff;
    background-color: #f32c1e;
    border-color: #f21f0f;
}

.btn-danger.active:hover,
.btn-danger.active:focus,
.btn-danger.active.focus,
.btn-danger.active:hover,
.btn-danger.active:focus,
.btn-danger.active.focus,
.open > .btn-danger.dropdown-toggle:hover,
.open > .btn-danger.dropdown-toggle:focus,
.open > .btn-danger.dropdown-toggle.focus {
    color: #fff;
    background-color: #c8180b;
    border-color: #981208;
}

.btn-danger:active,
.btn-danger.active,
.open > .btn-danger.dropdown-toggle {
    background-image: none;
}

.btn-danger.disabled,
.btn-danger.disabled:hover,
.btn-danger.disabled:focus,
.btn-danger.disabled.focus,
.btn-danger.disabled:active,
.btn-danger.disabled.active,
.btn-danger[disabled],
.btn-danger[disabled]:hover,
.btn-danger[disabled]:focus,
.btn-danger[disabled].focus,
.btn-danger[disabled]:active,
.btn-danger[disabled].active,
fieldset[disabled] .btn-danger,
fieldset[disabled] .btn-danger:hover,
fieldset[disabled] .btn-danger:focus,
fieldset[disabled] .btn-danger.focus,
fieldset[disabled] .btn-danger:active,
fieldset[disabled] .btn-danger.active {
    background-color: #f44336;
    border-color: #f33a2c;
}

.btn-danger .badge {
    color: #f44336;
    background-color: #fff;
}

.btn-success {
    color: #fff;
    background-color: #4caf50;
    border-color: #49a84d;
}

.btn-success:focus,
.btn-success.focus {
    color: #fff;
    background-color: #3d8b40;
    border-color: #224f24;
}

.btn-success:hover {
    color: #fff;
    background-color: #3d8b40;
    border-color: #367d39;
}

.btn-success.active,
.btn-success.active,
.open > .btn-success.dropdown-toggle {
    color: #fff;
    background-color: #449d48;
    border-color: #409343;
}

.btn-success.active:hover,
.btn-success.active:focus,
.btn-success.active.focus,
.btn-success.active:hover,
.btn-success.active:focus,
.btn-success.active.focus,
.open > .btn-success.dropdown-toggle:hover,
.open > .btn-success.dropdown-toggle:focus,
.open > .btn-success.dropdown-toggle.focus {
    color: #fff;
    background-color: #327334;
    border-color: #224f24;
}

.btn-success:active,
.btn-success.active,
.open > .btn-success.dropdown-toggle {
    background-image: none;
}

.btn-success.disabled,
.btn-success.disabled:hover,
.btn-success.disabled:focus,
.btn-success.disabled.focus,
.btn-success.disabled:active,
.btn-success.disabled.active,
.btn-success[disabled],
.btn-success[disabled]:hover,
.btn-success[disabled]:focus,
.btn-success[disabled].focus,
.btn-success[disabled]:active,
.btn-success[disabled].active,
fieldset[disabled] .btn-success,
fieldset[disabled] .btn-success:hover,
fieldset[disabled] .btn-success:focus,
fieldset[disabled] .btn-success.focus,
fieldset[disabled] .btn-success:active,
fieldset[disabled] .btn-success.active {
    background-color: #4caf50;
    border-color: #49a84d;
}

.btn-success .badge {
    color: #4caf50;
    background-color: #fff;
}

.btn-primary {
    color: #fff;
    background-color: #2196f3;
    border-color: #1791f2;
}

.btn-primary:focus,
.btn-primary.focus {
    color: #fff;
    background-color: #0c7cd5;
    border-color: #074c83;
}

.btn-primary:hover {
    color: #fff;
    background-color: #0c7cd5;
    border-color: #0a71c2;
}

.btn-primary.active,
.btn-primary.active,
.open > .btn-primary.dropdown-toggle {
    color: #fff;
    background-color: #0d8aee;
    border-color: #0c82df;
}

.btn-primary.active:hover,
.btn-primary.active:focus,
.btn-primary.active.focus,
.btn-primary.active:hover,
.btn-primary.active:focus,
.btn-primary.active.focus,
.open > .btn-primary.dropdown-toggle:hover,
.open > .btn-primary.dropdown-toggle:focus,
.open > .btn-primary.dropdown-toggle.focus {
    color: #fff;
    background-color: #0a68b4;
    border-color: #074c83;
}

.btn-primary:active,
.btn-primary.active,
.open > .btn-primary.dropdown-toggle {
    background-image: none;
}

.btn-primary.disabled,
.btn-primary.disabled:hover,
.btn-primary.disabled:focus,
.btn-primary.disabled.focus,
.btn-primary.disabled:active,
.btn-primary.disabled.active,
.btn-primary[disabled],
.btn-primary[disabled]:hover,
.btn-primary[disabled]:focus,
.btn-primary[disabled].focus,
.btn-primary[disabled]:active,
.btn-primary[disabled].active,
fieldset[disabled] .btn-primary,
fieldset[disabled] .btn-primary:hover,
fieldset[disabled] .btn-primary:focus,
fieldset[disabled] .btn-primary.focus,
fieldset[disabled] .btn-primary:active,
fieldset[disabled] .btn-primary.active {
    background-color: #2196f3;
    border-color: #1791f2;
}

.btn-primary .badge {
    color: #2196f3;
    background-color: #fff;
}

.btn-default {
    border-color: #ccc;
}

.btn-warning {
    color: #fff;
    background-color: #ff9800;
    border-color: #f59200;
}

.btn-warning:focus,
.btn-warning.focus {
    color: #fff;
    background-color: #cc7a00;
    border-color: #754600;
}

.btn-warning:hover {
    color: #fff;
    background-color: #cc7a00;
    border-color: #b86d00;
}

.btn-warning.active,
.btn-warning.active,
.open > .btn-warning.dropdown-toggle {
    color: #fff;
    background-color: #e68900;
    border-color: #d68000;
}

.btn-warning.active:hover,
.btn-warning.active:focus,
.btn-warning.active.focus,
.btn-warning.active:hover,
.btn-warning.active:focus,
.btn-warning.active.focus,
.open > .btn-warning.dropdown-toggle:hover,
.open > .btn-warning.dropdown-toggle:focus,
.open > .btn-warning.dropdown-toggle.focus {
    color: #fff;
    background-color: #a86400;
    border-color: #754600;
}

.btn-warning:active,
.btn-warning.active,
.open > .btn-warning.dropdown-toggle {
    background-image: none;
}

.btn-warning.disabled,
.btn-warning.disabled:hover,
.btn-warning.disabled:focus,
.btn-warning.disabled.focus,
.btn-warning.disabled:active,
.btn-warning.disabled.active,
.btn-warning[disabled],
.btn-warning[disabled]:hover,
.btn-warning[disabled]:focus,
.btn-warning[disabled].focus,
.btn-warning[disabled]:active,
.btn-warning[disabled].active,
fieldset[disabled] .btn-warning,
fieldset[disabled] .btn-warning:hover,
fieldset[disabled] .btn-warning:focus,
fieldset[disabled] .btn-warning.focus,
fieldset[disabled] .btn-warning:active,
fieldset[disabled] .btn-warning.active {
    background-color: #ff9800;
    border-color: #f59200;
}

.btn-warning .badge {
    color: #ff9800;
    background-color: #fff;
}

/*******************************
* カスタムアラート
********************************/
.alert {
    padding: 15px;
    margin-bottom: 22px;
    border: 1px solid transparent;
    border-radius: 2px;
}

.alert h4 {
    margin-top: 0;
    color: inherit;
}

.alert .alert-link {
    font-weight: bold;
}

.alert > p,
.alert > ul {
    margin-bottom: 0;
}

.alert > p + p {
    margin-top: 5px;
}

.alert-dismissable,
.alert-dismissible {
    padding-right: 35px;
}

.alert-dismissable .close,
.alert-dismissible .close {
    position: relative;
    top: -2px;
    right: -21px;
    color: inherit;
}

.alert-success {
    color: #3d8b40;
    background-color: #d9eeda;
    border-color: #cbe7c7;
}

.alert-success hr {
    border-top-color: #badfb5;
}

.alert-success .alert-link {
    color: #2d682f;
}

.alert-info {
    color: #0c7cd5;
    background-color: #e3f2fd;
    border-color: #c1ebfc;
}

.alert-info hr {
    border-top-color: #a8e4fa;
}

.alert-info .alert-link {
    color: #0960a5;
}

.alert-warning {
    color: #cc7a00;
    background-color: #ffeacc;
    border-color: #ffd3b3;
}

.alert-warning hr {
    border-top-color: #ffc599;
}

.alert-warning .alert-link {
    color: #995b00;
}

.alert-danger {
    color: #ea1c0d;
    background-color: #fff8f7;
    border-color: #fddfe2;
}

.alert-danger hr {
    border-top-color: #fcc7cc;
}

.alert-danger .alert-link {
    color: #ba160a;
}

/*******************************
* 画像サイズ
********************************/
.resizeimg {
    width: 100%;
}

/*******************************
* bg
********************************/
.custom-info {
    background-color: #e3f2fd;
}

a.custom-info:hover,
a.custom-info:focus {
    background-color: #b2dbfb;
}

.custom-primary {
    background-color: #2196f3;
}

a.custom-primary:hover,
a.custom-primary:focus {
    background-color: #0c7cd5;
}

.custom-success {
    background-color: #d9eeda;
}

a.custom-success:hover,
a.custom-success:focus {
    background-color: #b5dfb7;
}

.custom-warning {
    background-color: #ffeacc;
}

a.custom-warning:hover,
a.custom-warning:focus {
    background-color: #ffd699;
}

.custom-danger {
    background-color: #fff8f7;
}

a.custom-danger:hover,
a.custom-danger:focus {
    background-color: #fccbc7;
}

.btn-a {
    color: #2196f3;
    text-decoration: none;
}

/*******************************
* カードカラー
********************************/
.card-warning {
    border-color: #ffd3b3;
}

.card-warning > .card-header {
    color: #cc7a00;
    background-color: #ffeacc;
    border-color: #ffd3b3;
}

.card-warning > .card-header + .card-collapse > .card-body {
    border-top-color: #ffd3b3;
}

.card-warning > .card-header .badge {
    color: #ffeacc;
    background-color: #cc7a00;
}

.card-warning > .card-footer + .card-collapse > .card-body {
    border-bottom-color: #ffd3b3;
}

/*******************************
* 文字色
********************************/

.text-warning {
    --bs-text-opacity: 1;
    color: #cc7a00 !important;
}
/*******************************
* bootstrap icon 太さ
********************************/
.bi {
    -webkit-text-stroke: 1px;
}
/*******************************
* フッター
********************************/
.footer {
    background-color: #eca7ac;
    padding-top: 5px;
    padding-bottom: 5px;
    overflow: hidden;
    position: absolute;
    bottom: 0;
    width: 100%;
}

.logged-in-page .footer-padding-area {
    height: 60px;
}

.faq-link {
    color: white;
    padding:5px;
    text-decoration: none;
    transition: color 0.2s;
}

.faq-link:hover {
    color: #555;
}

/*******************************
* クラス替え
********************************/
.class-flow {
    display: flex;
    width: 100%;
}

.cfp-content {
    height: 100%;
}

.class-change-content {
    display: flex;
    width: 100%;
    gap: 20px;
    margin-top: 50px;
}

.left-changes {
    width: 30%;
}

.right-changes {
    width: 75%;
}

.class-message {
    margin-top: 20px;
}

.class-set {
    width: 90%;
}

.class-set-btn {
    width: 40%;
    margin-top: 10px;
    margin-bottom: 10px;
}
/*管理画面*/
.adcontainer {
    max-width: 1420px;
}
