@charset "UTF-8";
/* 文字コード：UTF-8 */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans&display=swap');

@font-face {
    font-family: 'KosugiMaru';
    src: url('/fonts/KosugiMaru-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'KiwiMaru';
    src: url('/fonts/KiwiMaru-Medium.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'Hannari';
    src: url('/fonts/HannariMincho-Regular.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'NotoSansJP';
    src: url('/fonts/NotoSansJP-Medium.otf') format('opentype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'NotoSansJP-Regular';
    src: url('/fonts/NotoSansJP-Regular.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'NotoSansJP-Medium';
    src: url('/fonts/NotoSansJP-Medium.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

@font-face {
    font-family: 'NotoSansJP-SemiBold';
    src: url('/fonts/NotoSansJP-SemiBold.ttf') format('truetype');
    font-weight: normal;
    font-style: normal;
}

/* body */
.jumbotron {
    min-height: 100vh;/* ←コンテンツの高さの最小値＝ブラウザの高さに指定 */
    position: relative;/* ←相対位置 */
    padding-bottom: 80px;/*←footerの高さ*/
    box-sizing: border-box;/*←全て含めてmin-height:100vhに*/
    background-color: #fbfbfb !important;
    /* フォントカラー */
    color:#4d5156;
    font-family: 'NotoSansJP-SemiBold', sans-serif;
    letter-spacing: 0.05em;/* 文字間設定 */
}
/* ログイン画面のメインコンテンツ*/
.screen_box{
    background-color: #f5f5f5;
}

/* header */
#header_box.border-top {
    border-top: 7px solid #28acaf !important;
}

/* 全ページに使っているベースの文字色 */
.baseTextColor{
    color:#4d5156;
}

.baseTextColor:hover{
    opacity: 0.5;
    color:#4d5156;
}

/*タイトル「面談予約システム」のテキストカラー*/
.titleText{
    color: #28acaf;
    font-family: 'NotoSansJP-SemiBold', sans-serif;
    font-size:2.4rem;
}

.titleText:hover{
    color: #28acaf;
    font-family: 'NotoSansJP-SemiBold', sans-serif;
}

/* footer */
footer.footer {
    position: absolute;
    bottom: 0;
    line-height: 35px;
    margin-top: 50px;
    background: #28acaf;
}


/* ナビゲーションバーの押されてない場所の色 */
#navigator_box li.nav-item {
    border-color: #a11b1e;
}

/* ナビゲーションバーの押されている場所 */
#navigator_box li.nav-item.active, #navigator_box li.nav-item:hover, #navigator_box li.nav-item:active {
    opacity: 0.5;
}

#navigator_box li.nav-item {
    transition    : .3s;
    font-size: 1.25rem;
}
#navigator_box li.nav-item > a.nav-link{
    color: #fbfbfb;
}


/* ナビバーリンクの反応範囲の拡張 */
a.nav_click_range{
    display: inline-block;
    width:100%;
    height:100%;
    margin:0;
}


/*以下チェックボックスのデザイン*/

/*Checkboxes styles*/
input[type="checkbox"] { display: none; }

input[type="checkbox"] ~ label {
  display: block;
  position: relative;
  padding-left: 35px;
  margin-bottom: 20px;
  font: 14px/20px 'Open Sans', Arial, sans-serif;
  color: #fbfbfb;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
}

input[type="checkbox"] ~ label:last-child { margin-bottom: 0; }

input[type="checkbox"] ~ label:before {
  content: '';
  display: block;
  width: 20px;
  height: 20px;
  border: 1px solid #6cc0e5;
  position: absolute;
  left: 0;
  top: 0;
  -webkit-transition: all .12s, border-color .08s;
  transition: all .12s, border-color .08s;
}

input[type="checkbox"]:checked ~ label:before {
  width: 10px;
  top: -5px;
  left: 5px;
  border-radius: 0;
  opacity: 1;
  border-top-color: transparent;
  border-left-color: transparent;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
}


/**/


/*radioボタン*/


input[type="radio"]{
    opacity: 0;
    position: absolute;
}
input[type="radio"] + label:last-child { margin-bottom: 0; }

input[type="radio"]:checked + label {
    font-weight: bold;
}

input[type="radio"] + label {
    display: block;
    position: relative;
    color: #fbfbfb;
    padding-left: 20px;
    padding-bottom: 0px;
    margin-bottom: 10px;
    margin-top: 10;
/*        font: 0.9rem/20px 'Open Sans', Arial, serif;*/
    font: 1.1rem/20px 'Roboto', Arial, serif;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
}

input[type="radio"] + label:before {
    content: '';
    background: #f4f4f4;
    border-radius: 100%;
    border: 2px solid #28acafc2;
    display: block;
    width: 1.2em;
    height: 1.2em;
/*       width: 1.4em;
    height: 1.4em;*/
    top: -0.09em;
    left: 0;
    text-align: center;
    cursor: pointer;
    position: absolute;
    -webkit-transition: all .12s, border-color .08s;
    transition: all .12s, border-color .08s;

}

input[type="radio"]:checked + label:before {
    background-color: #28acaf;
    box-shadow: inset 0 0 0 4px #f4f4f4;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
}
/**/

#login_btn_color{
    color: #fff;
    background-color: #28acaf;
    border-color: #28acaf;
}

/* 全ボタン */
.baseGreen_btn_color{
    color: #fff;
    background-color: #28acaf;
    border-color: #28acaf;

    /* bootstrapの「btn」 */
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    /* color: #212529; */
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    /*background-color: transparent;*/
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    border-radius: 0.25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.frameGreen_btn_color{
    color: #28acaf;
        background-color: #fbfbfb;

        /* bootstrapの「btn」 */
        display: inline-block;
        font-weight: 400;
        line-height: 1;
        /* color: #212529; */
        text-align: center;
        text-decoration: none;
        vertical-align: middle;
        cursor: pointer;
        -webkit-user-select: none;
        -moz-user-select: none;
        user-select: none;
        /*background-color: transparent;*/
        border: 2px solid #28acaf;
        padding: 0.375rem 0.75rem;
        border-radius: 0.25rem;
        transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.accordion-button:not(.collapsed) {
    color: #fbfbfb !important;
    background-color: #28acaf !important;
    border: solid 2px #28acaf !important;
    box-shadow: none !important;
}
.accordion-button{
    background-color: #fbfbfb !important;
    color:#28acaf !important;
    border: solid 2px #28acaf !important;
}

.accordion-button:hover{
    background-color: #28acafba !important;
    color:#fbfbfb !important;
    border: solid 2px #28acaf00 !important
}

fa-magnifying-glass{
    color:#28acaf !important;
}

fa-magnifying-glass:hover{
    color:#fbfbfb !important;
}

.form-base-color{
    background-color: #dee2e621;
}


.PaleGreen_label_color{
    color: #333333;
    background-color: #E0F1F2;
    border-color: #E0F1F2;

    /* bootstrapの「btn」 */
    display: inline-block;
    font-weight: 400;
    line-height: 1.1;
    /* color: #212529; */
    text-align: center;
    text-decoration: none;
    vertical-align: middle;

    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    /*background-color: transparent;*/
    border: 1px solid transparent;
    padding: 0.5rem 0.5rem;
    border-radius: 0.2rem;
    font-size:0.8rem;
    width:9rem;
}

.narrowDownForm_fontSize{
    font-size:0.8rem;
}


.baseGreen_btn_color:hover{
    color: #fff;
    background-color: #28acafba;
    border-color: #28acaf;

    /* bootstrapの「btn」 */
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    /* color: #212529; */
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    /*background-color: transparent;*/
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    border-radius: 0.25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

.list .accordion-item:has(.accordion-collapse:not(.show):not(.collapsing)) {
    border: 1px solid #fbfbfb;
    width: 0;
    height: 0;
}

.frameGreen_btn_color:hover{
    color: #fff;
    background-color: #28acafba;
    border-color: #28acaf;

    /* bootstrapの「btn」 */
    font-weight: 400;
    line-height: 1;
    /* color: #212529; */
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    /*background-color: transparent;*/
    border: 2px solid transparent;
    padding: 0.375rem 0.75rem;
    border-radius: 0.25rem;
    transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}

/* ①サブボタン（色が薄い緑） */
.baseGreen_sub_btn_color{
    color: #fff;
    background-color: #28acafc2;
    border-color: #28acafc2;
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    /* color: #212529; */
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    /* background-color: transparent; */
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    border-radius: 0.25rem;
}

.baseGreen_sub_btn_color:hover{
    color: #fff;
    background-color: #28acafc2;
    border-color: #28acafc2;
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    /* color: #212529; */
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    /* background-color: transparent; */
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    border-radius: 0.25rem;
}

/* ②サブボタン（白色） */
.bg-white_textGreen_sub_btn_color{
    color: #28acaf;
    background-color: #ffffff;
    /* border-color: #28acaf; */
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    /* color: #212529; */
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    /* background-color: transparent; */
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    border-radius: 0.25rem;
    border: solid 1px #28acaf;
}

.bg-white_textGreen_sub_btn_color:hover{
    color: #28acaf;
    background-color: #e6e6e614;
    /* border-color: #28acaf; */
    display: inline-block;
    font-weight: 400;
    line-height: 1.5;
    /* color: #212529; */
    text-align: center;
    text-decoration: none;
    vertical-align: middle;
    cursor: pointer;
    -webkit-user-select: none;
    -moz-user-select: none;
    user-select: none;
    /* background-color: transparent; */
    border: 1px solid transparent;
    padding: 0.375rem 0.75rem;
    border-radius: 0.25rem;
    border: solid 1px #28acaf;
}

.btnSize_small{
    font-size: 0.8rem;

}

.btnSize_regular{
    font-size: 1rem;
    width:14rem;
}

.btnSiz_medium{
    font-size:1rem;
    width:
}

.accordion-button:not(.collapsed)::before, .accordion-button:not(.collapsed)::after{
    content: none;
}


.accordion-button::before ,.accordion-button::after{
     display:none;
}

hr{
    height: 0.13rem !important;
}