/* ロゴ */
.logo-image {
	/* width: min(70vw, 300px);*/
	width: min(70vw, 200px);
}

/* h3を使うと「●」が入るようにする */
/*h3::before {*/
/*    content: "●";*/
/*    color: #EFB217;*/
/*    padding-right: 0.2em;*/
/*}*/

/* モバイル画面などで改行された場合に２行目の先頭に余白を挿入する */
/*h3 {*/
/*    margin-left: 1.2em;*/
/*    text-indent: -1.2em;*/
/*}*/

textarea{
	border-color:var(--bs-primary);
}

.line_breaks {
    margin-left: 1.2rem;
    text-indent: -1.2rem;
}

.line_breaks_nomal {
    margin-left: 1rem;
    text-indent: -1rem;
}

.letter-spacing {
    text-indent: 1em;
}

/* 情報照会で　h4を使うと「●」が入るようにする */
.info_inquiry h4::before {
    content: "■";
    color: #EFB217;
    padding-right: 0.2em;
}

/* 情報照会で　h5を使うと「●」が入るようにする */
.info_inquiry h5::before {
    content: "■";
    color: #EFB217;
    padding-right: 0.2em;
}

/* disableと同じ背景色（gray-200） */
.digi-bg-disable-color {
	background: #e9ecef !important;
}
.digi-tbl-default-color {
	background: white !important;
}

/* 取消/キャンセル系のボタン色 */
.digi-cancel-button-color {
	color: #ffffff;
	background: rgb(255,85,51);
}

/* エラーメッセージの色 */
.digi-error-msg-color {
	color:red;
}


/* 学校 */
.school-grade-class { /* 学年クラス */
	font-size: 1.5em;
}

/* ptc:保護者面談 */
.ptc-student-name { /* 面談日程：児童生徒名 */
	color:red;
	font-weight: bold;
}

.ptc-brother { /* 兄弟有 */
	color:red;
}

.ptc-subtitle { /* サブタイトル */
	font-size: 1.5em;
}

.ptc-student-list-hilight { /* クラス名簿：時間枠に対応する児童生徒名 */
	color:blue;
}

.ptc-student-list-normal { /* クラス名簿：時間枠に対応する児童生徒名 */
	color:black;
}

/* スクロールでナビゲーションバーに影を追加（custom.jsも参照） */
.navbar-dropshadow {
    box-shadow: 0 0 20px rgba(0, 0, 0, .4);
    transition: .5s all;
}

/* ナビゲーションの各項目のスタイル調整 */
.navbar-nav > .nav-item, .nav-pills > .nav-item {
    transition: .15s ease-in-out;
}

.navbar-nav > .nav-item:hover, .nav-pills > .nav-item:hover {
    opacity: 0.5;
}

#navbarDropdown:hover, #navbarDropdown2:hover, #navbarDropdown3:hover, #navbarDropdown4:hover, #navbarDropdown5:hover{
	opacity: 0.5;
}

.navbar-nav > .nav-item .active {
	/*background: #EFB217;*/
	
}

.nav-pills > .nav-item {
    border-radius: .25rem;
}

/* ナビゲーションバーの位置の微調整 */
/*@media (min-width: 1400px) {
    .collapse {
        margin-right: -0.75rem;
    }
}*/

/* ドロップダウンメニュー周りの調整 */
.paddingForDropdown {
    padding: 0.375rem 0.75rem;
}

/* 日付ピッカーのスタイル */
#datetimepicker input, #datetimepickerforadult input, #rangepicker input {
    background: white;
}
.date-picker-input  {
	background: white !important;
}
.ptc_memo {
	height:2rem;
}


.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7n + 1),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n + 1) {
    color: red;
}

.flatpickr-calendar .flatpickr-innerContainer .flatpickr-weekdays .flatpickr-weekday:nth-child(7),
.flatpickr-calendar .flatpickr-innerContainer .flatpickr-days .flatpickr-day:not(.flatpickr-disabled):not(.prevMonthDay):not(.nextMonthDay):nth-child(7n) {
    color: blue;
}

/* マイページのボタンデザイン */
.common-btns {
    display: flex;
    height: auto;
    align-items: center;
    /*box-shadow: 2px 2px 8px rgba(0, 0, 0, .5);*/
}

.common-btns-icons {
    min-width: 2.5em;
    min-height: 2.5em;
    margin-right: 0.3em;
}

.top_menu{
	display:flex;
	flex-wrap:wrap;
	margin: 0 auto;
	align-items:stretch;
}
.top_menu_item{
	width:calc( calc(100% - 0.75rem) / 4);
}
.top_menu_info{
	display:none;
	margin-left: 1rem;
	margin-top: 0.25rem;
	font-size: 0.875em;
}
.top_menu_item a{
	display:flex;
	flex-direction:column;
	align-items:center;
	text-align:center;
	height:100%;
}
.top_menu_icon{
	display:inline-block;
	width: 3rem;
	height: 3rem;
	margin:0;
}
.top_menu_name{
	flex:1;
	display:flex;
	align-items:center;
	line-height:1.2em;
	min-height:2.4em;
}
@media (min-width: 768px){
	.top_menu_item{
		width:calc( calc(100%  - 4.5rem) / 4);
	}
	.top_menu_item a{
		flex-direction:row;
		text-align:left;
		height:auto;
	}
	.top_menu_icon{
		width: 2.5rem;
		height: 2.5rem;
		margin:0 0.3em 0 0;
	}
	.top_menu_info{
		display:block;
		text-align:left;
	}
	.top_menu_name{
			min-height:1.2em;
	}
}
@media(max-width: 768px){
    .common-btns-icons {
        min-width: 1.8em;
        min-height: 1.8em;
    }
}
/* 操作に関するQ&A アイコン */
.common-btns_q {
    display: flex;
    height: auto;
    align-items: center;
}
.common-btns-icons_q {
    min-width: 1.5em;
    min-height: 1.5em;
	margin-right: 0.2em;
	background-repeat:no-repeat;
	background-size:contain;
}

/*アイコン*/
.icon-information { background: url(../img/information_1.svg) no-repeat; }
.icon-deposit { background: url(../img/deposit_1.svg) no-repeat; }
.icon-nopayment { background: url(../img/nopayment_1.svg) no-repeat; }
.icon-return { background: url(../img/return.svg) no-repeat; }
.icon-order { background: url(../img/record.svg) no-repeat; }
.icon-informationnote { background: url(../img/informationnote_1.svg) no-repeat; }
.icon-events { background: url(../img/events_1.svg) no-repeat; }
.icon-others { background: url(../img/others_1.svg) no-repeat; }
.icon-user { background: url(../img/user.svg) no-repeat; }
.icon-qa { background: url(../img/qa_1.svg) no-repeat; }
.icon-sl { background: url(../img/sl_1.svg) no-repeat; }
.icon-import { background: url(../img/import_1.svg) no-repeat; }
.icon-manage-msg { background: url(../img/manage-msg.svg) no-repeat; }
.icon-child { background: url(../img/child.svg) no-repeat; }
.icon-kids { background: url(../img/kids.svg) no-repeat;}
.icon-mypage{ background: url(../img/user-icon.svg) no-repeat; }
.icon-notice-box { background: url(../img/notice.svg) no-repeat; }
.icon-checklist { background: url(../img/checklist.svg) no-repeat; }
.icon-clock { background: url(../img/clock.svg) no-repeat; }
.icon-password { background: url(../img/password.svg) no-repeat; }
.icon-id { background: url(../img/id.svg) no-repeat; }
.icon-link { background: url(../img/link.svg) no-repeat; }
.icon-enquete { background: url(../img/enquete.svg) no-repeat; }
.icon-photo { background: url(../img/photo.svg) no-repeat; }
.icon-cart { background: url(../img/cart.svg) no-repeat; }
.icon-bought { background: url(../img/bought.svg) no-repeat; }
.icon-absence { background: url(../img/absence.svg) no-repeat; }
.icon-health { background: url(../img/health.svg) no-repeat; }

/* 管理者メニューアイコン　メッセージ通知　通知先管理 */
.icon-manage-msg-user { background: url(../img/manage-msg-user_1.svg) no-repeat; }
.icon-manage-note { background: url(../img/manage-note.svg) no-repeat; }
.icon-users { background: url(../img/management-user_1.svg) no-repeat; }
.icon-mng-account { background: url(../img/manage-account.svg) no-repeat; }
.icon-file-earmark {background: url(../img/file-earmark.svg) no-repeat; }
.icon-npu{ background: url(../img/manage-non-user.svg) no-repeat; }
/* 管理者メニューアイコン　保護者面談日程作成・調整 */
.icon-ptc { background: url(../img/management-ptc_1.svg) no-repeat; }
/* 管理者メニューアイコン　データ出力 */
.icon-export { background: url(../img/export_1.svg) no-repeat; }
/* 管理者メニューアイコン　QRコード作成 */
.icon-qr-code { background: url(../img/qr-code_1.svg) no-repeat; }
/* ログイン、利用者登録ページ等のレイアウト調整 */
.adjustHeight {
    height: 1.5rem;
}

@media (min-width: 576px) {
    .fixed-sm-top {
        position: fixed;
    }
}
.bt-border-secondary {
    color: var(--bs-secondary);
    border-bottom: solid 1px var(--bs-secondary);
}

/* 利用規約 */
.tou pre {
    height: 300px;
    white-space: pre-wrap;
    overflow-x: scroll;
}

/* 必須マークカラー */
.bg-required {
    background-color: #dc3545;
}

/* マイページメニューの高さ */
.menu-info {
    height: 40px;
}

/* メッセージ */
.overflow-list {
    height: 600px;
}

/* footer */
.wrap {
    display: flex;
    flex-direction: column;
    min-height: 100vh;
}
footer {
    margin-top: auto;
    /*width: 90%;*/
}

/* &copy;2022 Japan Software Management Co,Ltd. */
.footer-copyright::before {
    content: '\0a9';
}

.footer-copyright::after {
    content: '2022';
}
/* ※を頭につける */
.kome ul {
    padding: 0.5rem 0.5rem 0rem 1rem;
    list-style: '※ ';
}

/* 保護者面談出席可能・不可能 */
.ptc_meeting-ok-checked, .ptc_meeting-ng-checked {
    color: #eeeeee;
}

.ptc_meeting, :checked + .ptc_meeting-ok-checked {
    color: red;
}

.ptc_meeting, :checked + .ptc_meeting-ng-checked {
    color: blue;
}

.health-record-label {
    color: #eeeeee;
}

.health-record-checked, :checked + .health-record-label {
    color: black;
}

/* 幅 */
.w-30 {
    width: 30%;
    height: auto;
}

.w-35 {
    width: 35%;
    height: auto;
}

.w-35px {
    width: 35px;
    height: auto;
}

/* 取消ボタン */
.btn-cancel {
    color: white;
    background-color: #dc3545;
}

.btn-cancel:hover {
    color: white;
    background-color: #b7282e;
}

.list-style-none {
    list-style-type: none;
}

.text-decoration-wavy {
    text-decoration: wavy underline;
}

.text-decoration-doble {
    border-bottom: double 4px;
}

.list-style-kome {
    list-style: '※';
}

.map {
    width: 90%;
    height: 400px;
    margin: 0 auto;
}
.cursor-pointer{
	cursor:pointer;
}

iframe {
    width: 100%;
    height: 100%;
}

@media (min-width: 768px) {
    .md-width {
        width: 60%;
    }
}

@media (min-width: 992px) {
    .md-width {
        width: 40%;
    }
}

/* 詳細スマホ画面の背景色 */
.bg-detail {
    background-color: #fcf0d1;
}

/* 入力エラー時のデザイン　赤枠・メッセージ */
.error-message {
    color: #ff4500;
    display: none;
}

.input-error {
    border: solid 3px #ff4500;
    box-shadow: 0 0 0 0.25rem rgba(255, 127, 80, 0.25);
}

/* 操作に関するQ＆A */
.border-question {
    background-color: var(--bs-primary);
    color: #ffffff;
    padding: 10px;
}

.border-question-sl {
    background-color: #5A2500;
    color: #ffffff;
    padding: 10px;
}

/* 一覧用のQuestion */
.text-question::before {
    content: 'Q.';
    margin-right: 0.3rem;
    color: var(--bs-primary);
}

.text-question a {
    text-decoration: none;
}

.text-question a:hover {
    text-decoration: underline;
}

/* 単独ページ用のQuestion */
.s-qa {
    background-color: white;
    width: 95%;
    padding: 10px;
}

@media (min-width: 768px) {
    .s-qa {
        width: 80%;
        padding: 20px;
    }
}

@media (min-width: 992px) {
    .s-qa {
        width: 70%;
        padding: 30px;
    }
}

/* Q・A画像の大きさ調整 */
/*@media (max-width: 576px) {*/
    .qa-img-width {
        width: 8%;
        height: auto;
    }
/*}*/

/*@media (min-width: 576px) {
    .qa-img-width {
        width: 8%;
        height: auto;
    }
}*/

@media (min-width: 992px) {
    .qa-img-width {
        width: 5%;
        height: auto;
    }
}

/* Q・A検索結果　画像の大きさ調整 */
@media (max-width: 576px) {
    .qa-r-img-width {
        width: 11%;
        height: auto;
    }
}

@media (min-width: 576px) {
    .qa-r-img-width {
        width: 4%;
        height: auto;
    }
}

@media (min-width: 992px) {
    .qa-r-img-width {
        width: 3%;
        height: auto;
    }
}

/* answerでのボタンの大きさ調整 */
@media (max-width: 576px) {
    .qa-btn-width {
        width: 80%;
        height: auto;
    }
}

@media (min-width: 576px) {
    .qa-btn-width {
        width: 50%;
        height: auto;
    }
}

@media (min-width: 992px) {
    .qa-btn-width {
        width: 35%;
        height: auto;
    }
}

.text-s-question {
    margin-left: 3rem;
    text-indent: -2.5rem;
    font-size: x-large;
}

/* 一覧用のAnswers */
.qa-answer {
    margin: 0.3rem 0.6rem 2rem 0;
    border-top: solid 2px #ccdeed;
    display: none;
}

.text-answer::before {
    content: 'A.';
    font-weight: bold;
    color: #ff4500;
}

/* 単独ページ用のAnswers */
.qa-s-answer {
    margin: 0.5rem 0.5rem 0 0;
    border-top: solid 3px #EADAD0;
}

@media (max-width: 576px) {
    .text-s-question , .text-s-answer::before {
        font-size: large;
    }
}

/* 操作に関するQ＆A　検索結果 */
.search_results {
    background-color: #EADAD0;
}

.qa-result-start {
    border-top: solid 1px #ccdeed;
}

.qa-result {
    padding: 10px 5px 5px 0;
    border-bottom: solid 1px #ccdeed;
}

.result-q {
    margin-left: 3rem;
    text-indent: -2.5rem;
}

.text-result {
    margin-left: 10px;
    color: #adb5bd;
}

.qa-category::before {
    content: '［';
}

.qa-category::after {
    content: '］';
}
/*アンケートフォーム*/
.questionTypeList li a{
	display:block;
	padding:0.5rem 1rem;
	text-align:left;
	text-decoration:none;
	cursor:pointer;
}
.questionTypeList li a:hover{
	background:#eee;
}
.questionTypeList li a i{
	margin-right:0.2rem;
}
.question{
	margin:1rem 0;
	padding:1rem;
	background:#fff;
}
.moveBefore, .moveAfter, .deleteContentButton, .questionMoveBefore, .questionMoveAfter, .deleteQuestionButton{
	appearance:none;
	border:1px solid var(--bs-primary);
	background:#fff;
	color:var(--bs-primary);
	margin-left:2px;
	width:2rem;
	border-radius:5px;
}
.requiredQuestionCheck{
	position:relative;
	margin-right:3rem;
}
.requiredQuestionCheck::after{
	content: "必須";
	position: absolute;
	display: inline-block;
	width: 3rem;
	line-height: 16px;
	left: calc(100% + 4px);
	bottom: 0;
	top: 0;
	margin-top: -2px;
}

/* Bootstrap Icons */
.bi-alarm-fill::before { content: "\f101"; }
.bi-file-earmark::before { content: "\f392"; }
.bi-exclamation-triangle-fill::before { content: "\f33a"; }
.bi-exclamation-triangle::before { content: "\F33B"; }
.bi-chevron-down::before { content: "\f282";  transition:0.3s ease;}
.bi-chevron-up::before { content: "\f286"; }
.bi-chevron-left::before { content: "\F284"; }
.bi-arrow-up-circle-fill::before { content: "\f139"; }
.bi-star-fill::before { content: "\F586"; }
.bi-lock-fill::before{ content:"\F47A"; }
.bi-file-earmark-PDF::before{ content:"\F63E"; }
.bi-arrow-up-right::before{ content:"\F1C5"; }
.bi-telephone-fill::before{ content:"\F5B4"; }
.bi-envelope::before{ content:"\F32F"; }
.bi-exclamation-circle::before{ content:" \F333"; }
.bi-question-circle::before{ content:"\F505"; }
.bi-emoji-dizzy-fill::before{content:"\F318";}
.bi-emoji-flown-fill::before{content:"\F31C";}
.bi-emoji-neutral-fill::before{content:"\F322";}
.bi-emoji-smile-fill::before{content:"\F324";}
.bi-emoji-laughing-fill::before{content:"\F320";}
.bi-info-circle::before{content:"\F431";}
.bi-chat-dots::before{ content:"\F24A"; }
.bi-zoom-in::before{ content:"\F62C"; }
.bi-x::before{ content:"\F62A"; }
.bi-x-lg::before{ content:"\F659"; }
.bi-plus-lg::before{ content:"\F64D"; }
.bi-list::before{ content:"\F479"; }
.bi-arrow-left-right::before{ content:"\F12B"; }
.bi-arrow-left::before{ content:"\F12F"; }
.bi-person-fill::before{ content:"\F4DA"; }
.bi-download::before{ content:"\F30A"; }

/*アンケートフォーム用*/
.bi-record-circle::before{ content:"\F518"; } /*ラジオボタン*/
.bi-chevron-down::before{ content:"\F282"; } /*プルダウン*/
.bi-card-text::before{ content:"\F228"; } /*テキスト*/
.bi-check2-square::before{ content:"\F271"; } /*チェックボックス*/

.bi-123::before{ content:"\F67F"; } /*段階評価*/




/*追記*/
.password_p{
    margin-top: 1rem;
    text-align: center;
}
.sum{
    text-align: center;
    background-color: #fff;
    width: 153px;
    display: block;
    margin: 20px 0.5rem 0 auto;
    padding: 10px 15px; 
    border-bottom: solid 2px var(--bs-primary);
}
.policy{
    width: 100%;
    /*max-width: 980px;*/
    height: 200px;
	overflow: scroll;
	overflow-x:hidden;
    background-color: #fff;
    padding: 30px;
    border: solid 1px #b8b8b8;
    margin: 0 auto;
}
@media(max-width: 980px){
.policy{
    width: 100%;
    height: 130px;
}
}
.policy ul, .policy ol{
    padding: 0;
}
.ECM_CheckboxInput {
    padding: 8px 0;
    display: flex;
    align-items: center;
    cursor: pointer;
    margin-top: 30px;
    justify-content: center;
  }
  .ECM_CheckboxInput-Input {
    margin: 0;
    width: 0;
    opacity: 0;
  }
  .ECM_CheckboxInput:hover{
    background: rgba(0,0,0,.05) !important;
  }
  .ECM_CheckboxInput-Input:focus + .ECM_CheckboxInput-DummyInput{
    border: dashed 2px #333333;
  }
  .ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput {
    background: #333333;
  }
  .ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::before {
    content: "";
    display: block;
    position: absolute;
    top: 40%;
    left: 50%;
    width: 40%;
    height: 4px;
    border-radius: 2px;
    transform: translate(-6px, 5px) rotateZ(-135deg);
    transform-origin: 2px 2px;
    background: #FFFFFF;
  }
  .ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::after {
    content: "";
    display: block;
    position: absolute;
    top: 40%;
    left: 50%;
    width: 76%;
    height: 4px;
    border-radius: 2px;
    transform: translate(-6px, 5px) rotateZ(-45deg);
    transform-origin: 2px 2px;
    background: #FFFFFF;
  }
  .ECM_CheckboxInput-DummyInput {
    position: relative;
    top: 0;
    left: 0;
    display: block;
    width: 25px;
    height: 25px;
    border: solid 2px transparent;
    background: rgba(0,0,0, .1);
    border-radius: 4px;
  }
  .ECM_CheckboxInput-LabelText {
    margin-left: 12px;
    display: block;
    font-size: 18px;
    font-weight: bold;
  }
  .maintenance_title{
    font-size: 2.0rem;
    border-bottom: solid 1px #333;
    padding-bottom: 10px;
  }
  .maintenance_text{
    margin-top: 30px;
    background-color: #f55;
    color: #fff;
    padding: 10px 40px;
    font-size: 2.0rem;
    font-weight: 600;
  }
  @media(max-width: 480px){
    .maintenance_title, .maintenance_text{
     font-size: 1.5rem;
    }
  }

.cautionbox{
    margin: 1em 0;
    background-color: #ffebee;
    border: #ef5350 solid 3px;
    padding: 1em;
}

.cautionbox-title{
    color: #ef5350;
    font-size: 20px;
    font-weight: bold;
}

.cautionbox p{
    margin: 0;
    padding: 0;
}

/* 2023.6 追記 */

/* トップページ(スマホ) */
.td-none a{
	text-decoration:none;
	color:#000;
}
@media (max-width: 767.98px) {
	/* 申込み区分 */
	.category_sp{
		position:absolute;
		margin:0.5rem;
		height:auto;
		pointer-events:none;
		z-index:1; 
		padding: 0px 15px;
		display: block;
		text-align: center;
		font-weight: 600;
	}
	/* new表示 */
	.new_item{
		position:relative;
		background:tranceparent!important;
		width:auto;
		height:auto;
		z-index:0;
		overflow:hidden;
	}
	.new_item::before{
		position: absolute;
   		content: "";
		right: 0;
		top: 0;
		border-top: 2em solid red;
		border-left: 2.5em solid transparent;
	}
	.new_item::after{
		position:absolute;
		color:#fff;
		content:"new";
		font-weight:normal;
		font-size:0.8rem;
		top:0;
		right:0;
		transform: rotate(40deg);
		-moz-transform: rotate(-0deg);
		-webkit-transform: rotate(40deg);
	}
	.info_item::before{
		margin-right:1rem!important;
	}
	
	.sp_apply_info{
		padding-left:4.5rem; 
		display:inline-block;
	}
	.sp_table_border thead, tbody, tr, th, td{
		border-style:none;
	}
	
	/* スマホの時横スクロールバー非表示 */
	.sp_overflow_none{
		overflow-x:visible !important;
	}

}
/*テーブル横幅*/
.teble-fixed{
	table-layout: fixed;
	width:100%;
}

/* 補足説明 */
.footnote{
	font-size:0.8rem;
	display:inline-block;
	background:#deeff7;
	color:#6088a9;
	margin-top:0.3rem;
	margin-bottom:0.5rem;
	padding:0.5rem;
	border-radius:5px;
	position:relative;
}
.footnote span{
	display:inline-block;
	margin-left:1rem;
}
.footnote::before{
	font-family: "bootstrap-icons";
	content:"\F431";
	display:inline-block;
	position:absolute;
}

/* 注意事項 */
.warningnote{
	font-size:0.8rem;
	display:inline-block;
	background:#FFF0F5;
	color:#FF0000;
	margin-top:0.3rem;
	margin-bottom:0.5rem;
	padding:0.5rem;
	border-radius:5px;
	position:relative;
}
.warningnote span{
	display:inline-block;
	margin-left:1rem;
}
.warningnote::before{
	font-family: "bootstrap-icons";
	content:"\F33B";
	display:inline-block;
	position:absolute;
}
/*鳥アイコン*/
.bird{
	min-height:2.5rem;
	background:linear-gradient(transparent 70%, #fce876 30%);
	display: inline;
}

.bird::before{
	content:"";
	width:2rem;
	height:2rem;
	display:inline-block;
	background-image:url("../img/bird.svg");
	background-size:contain;
	background-repeat: no-repeat;
	background-position:center;
	margin-right:0.2rem;
	vertical-align:middle;
}




/* メッセージ通知 */
.new_msg, old_msg{
	background:#fff !important;
}
/*.old_msg{
	background:#eee !important;
}*/
.old_msg .new_old{
	display:none;
}

.new_old{
	display:inline-block;
	border:1px solid #e32d3d;
	color: #e32d3d;
	font-weight: 600;
	padding:0 0.4rem;
	margin-bottom:0.2rem;
	white-space:nowrap;
	border-radius: 0px;
}

/* 通知詳細 */
.msg_file::before{
	content:"";
	display:inline-block;
	width:1.5rem;
	height:1.5rem;
	background-size: contain;
	vertical-align: middle;
	margin:1rem 0.5rem 1rem 0;
	background-image:url(../img/file.svg);
}
/*メッセージ絞込みの背景
#message_sort_back{
	background:#000;
	opacity:0.3;
	position:absolute;
	top:100%;
	display:none;
	height:100vh;
	right:0;
	left:0; 
	bottom:0;
	z-index:80;
}
#message_sort_back.open{
	display:block;
	opacity:0.3;
	animation:appFadeIn 0.5s;
}*/
.message_sort_container{
	display:block;
	position:absolute;
	top:100%;
	right:0;
	left:0;
	background:var(--bs-quaternary);
	z-index:90;
}
/*通知書ボックス*/
.new_or_old{
	padding-left:0.25rem;
	padding-right:0.25rem;
	margin-bottom:0.25rem;
	display:inline-block;
	font-size:0.875em;
}
.new_or_old.old{
	border:1px solid var(--bs-primary);
	color:var(--bs-primary);
}
.new_or_old.new{
	border:1px solid #e32d3d;
	color:#e32d3d;
}

/* アコーディオン中身 */
.payment_ac{
width:100%;
	display:table;
}
.payment_ac th{
display:table-cell;
text-align:left;
}
.payment_ac td{
text-align:right;
display:table-cell;
}

.big_text{
font-size:1.5rem;
display:inline-block;
}
.small_text{
	font-size:0.8rem;
}

.indent{
margin-left:1rem;
}

.pay_open_toggle{
	line-height:1;
	vertical-align:middle;
	font-size:1rem;
}
.pay_open_icon{
	display:inline-block;
	margin-left:0.2rem;
	width:0.8rem;
	height:0.8rem;
	line-height:1;
	position:relative;
}
.pay_open_icon::before, .pay_open_icon::after{
	content:"";
	display:inline-block;
	width:100%;
	height:2px;
	background:#fff;
	position:absolute;
	top:calc(50% - 1px);
	right:0;
	left:0;
	transition:0.3s ease;
}
.pay_open_icon::after{
	transform:rotate(90deg);
}
.pay_open_toggle[aria-expanded="true"] .pay_open_icon::after{
	transform:rotate(0);
}
.pay_open_toggle[aria-expanded="true"] .pay_open_icon::after, .pay_open_toggle[aria-expanded="true"] .pay_open_icon::before{
	background:var(--bs-body-color);
}
.pay_open_toggle[aria-expanded="true"]{
	background:var(--bs-quaternary);
	border-color:var(--bs-quaternary);
	color:var(--bs-body-color);
}
.non_payment .pay_open_toggle[aria-expanded="true"]{
	background:#edd3d3!important;
	border-color:#edd3d3!important;
}

.point::before{
	content:"";
	border-left:solid 3px var(--bs-secondary);
	margin-right:5px;
}

/*利用規約チェックボックス*/
.sp_center{
	justify-content: flex-start;
	text-align:left;
}
@media (max-width: 767.98px) {
	#policy_check{
		display:none;
	}
	.sp_btn{
		background: var(--bs-primary);
		color:#fff;
		padding:10px;
		border-radius: 0.3rem;
		position:relative;
	}
	.sp_btn::before{
		content:"";
		width:1rem;
		height:1rem;
		background:#fff;
		border:solid 1px #fff;
		display:inline-block;
		position:relative;
	}
	#policy_check:checked + .sp_btn::after{
	content: '';
	width: 1rem;
	height: 0.5rem;
	border-left: 3px solid red;
	border-bottom: 3px solid red;
	transform: rotate(-45deg);
	position:absolute;
	top:14px;
	left:10px;
	margin:0 auto;
	z-index:999;
	}
	.sp_center{
		justify-content: center;
		text-align:center;
	}
}

/* 要素の下で改行 */
.br_::after{
	content:"\A" !important;
	white-space:pre !important;
}
.p-rerative{
	position:relative;
}

/* PC・タブレットで非表示 */
.tb_pc_none{
	display:block;
}
@media (min-width: 768px) {
	.tb_pc_none{
		display:none;
	}
}
/*タブレットのみの表示*/
.tb_only{
	display:flex;
	align-items:center;
}
@media screen and (min-width: 1400px){
	.tb_only{
		display:none;
	}
}
@media (max-width: 767.98px) {
	.tb_only{
		display:none!important;
	}
}
/*PCのみの表示*/
.pc_only{
	display:none !important;
}
@media screen and (min-width: 1400px){
	.pc_only{
		display:flex !important;
		align-items:center;
	}
}

/* 横幅をウィンドウサイズに合わせる */
/*body:not(.manage_style)*/ .sp-full-width{
	width:100vw;
}

/* 非表示 */
/*body:not(.manage_style)*/ .sp_tb_none{
	display:none;
}

/* ナビゲーション用コンテナ */
/*body:not(.manage_style)*/ .sp-container-fluid{
	display: flex;
	flex-wrap: inherit;
	align-items: center;
	justify-content: space-between;
	
	width: 100%;
	padding-right: var(--bs-gutter-x, 0.75rem);
	padding-left: var(--bs-gutter-x, 0.75rem);
	margin-right: auto;
	margin-left: auto;
}

/* 横幅をウィンドウサイズに合わせる */
/*body:not(.manage_style)*/ .app-menu-width{
	width:80vw;
	max-width:20rem;
}
/*body:not(.manage_style)*/ .show .app-menu-width{
	max-width: 100%;
}

/*@media screen and (max-width: 1399.98px){
	/* 横幅をウィンドウサイズに合わせる *
	.manage_style .sp-full-width{
		width:100vw;
	}

	/* 非表示 *
	.manage_style .sp_tb_none{
		display:none;
	}

	/* ナビゲーション用コンテナ *
	.manage_style .sp-container-fluid{
		display: flex;
		flex-wrap: inherit;
		align-items: center;
		justify-content: space-between;

		width: 100%;
		padding-right: var(--bs-gutter-x, 0.75rem);
		padding-left: var(--bs-gutter-x, 0.75rem);
		margin-right: auto;
		margin-left: auto;
	}

	/* 横幅をウィンドウサイズに合わせる *
	.manage_style .app-menu-width{
		width:80vw;
		max-width:20rem;
	}
}*/



/*数字フォームのスピン消去*/
.no-spin::-webkit-inner-spin-button,
.no-spin::-webkit-outer-spin-button {
    -webkit-appearance: none;
    -moz-appearance:textfield;
}
/* フォームのエラーメッセージ */
.invalid_form{
	border-color:#e32d3d !important;
}
.form_error_msg{
	display:none;
}
.invalid_form + .form_error_msg{
font-size:0.9rem;
display:block;
color:#e32d3d;
padding:0;
margin:0;
}
/*入力時*/
.realtime-validation:invalid{
	border-color:#e32d3d !important;
}


/*表のスマホ表示　下線*/
@media (max-width: 767.98px) {
		.table_border_bottom tr{
		border-bottom: 1px solid #ccc;
		border-top:0 !important;
	}
	.table_border_bottom tr:last-of-type{
		border-bottom:0 !important;
	}
	.payment_ac tr{
		border:none!important;
	}
}

/* 住所入力フォームの大きさ */
.address_forms{
	max-width:13rem;
}
/* 郵便マーク */
.postmark::before{
	content:"\03012";
}
.postmark input{
	max-width:8rem;
}

/* 画像のリサイズ */
.img_resize{
max-width:100%;
height:auto;
}

/* 上下中央 */
.ai-center{
	display:flex;
	align-items:center;
}

/* 自治体名 */
.municipality{
	font-size:0.9rem;
	display:block;
	text-align:center;
	color:#0058A6;
}
/*利用可能時間・問い合わせ情報(ヘッダー記載)*/
.contact_info{
	display:inline-block;
	font-size:0.8rem;
}
/*利用可能時間・問い合わせ情報(スマホ)*/
.sp_contact_info{
	font-size:0.8rem;
	display:none;
	padding-bottom: 0.5rem;
}


/* PCのみ(幅1400px以上)のデザイン */
@media screen and (min-width: 1400px){
	.pc-right{ margin-left:auto; }
}
sp_none{ display:block; }

/* スマホのみ(幅767px以下)のデザイン */
@media screen and (max-width: 767px){
	.sp_none{
		display:none!important;
	}
	.sp_contact_info{
		display:block;
	}
}

/*メッセージ宛先表示(仮)*/
.address_arrow::before{
	content:"\027a1";
	color:#999;
	margin:0 0.5rem;
}
.address_from::before,.address_to::before{
	color:#999;
	font-size:0.8rem;
	display:inline-block;
	width:3.2em;
}
.address_from::before{
	content:"From:";
}
.address_to::before{
	content:"To:";
}

/*メッセージ・ノートの状態*/
.status{
	display:inline-block;
	border:1px solid;
	padding:0 0.4rem;
	margin-bottom:0.2rem;
	font-size:0.8em;
	white-space:nowrap;
	border-radius: 0px;
}
.status_important{
	border-color: #e32d3d;
	color: #e32d3d;
}
.status_normal{
	border-color: #0062d1;
	color: #0062d1;
}
.status_unimportant{
	border-color: #999;
	color: #999;
}
.status_middle{
	border-color:#0000cd;
	color:#0000cd;
}
.status_remand{
	border-color:#ff00ff;
	color:#ff00ff;
}
.status_complete{
	border-color: #006400;
	color: #006400;
}


/* メニューのボタン */
.btn_grid_container{
	width:100%;
	display:grid;
	gap:0.5rem;
}
/*通常(PC:4列,TB:3列,SP:1列のグリッド)*/
.btn_col{
	grid-template-columns:1fr;
	gap:0.5rem 0.8rem!important;
}
@media (min-width: 768px) {
	.btn_col{
		grid-template-columns:repeat(3, 1fr);
	}
}
@media (min-width: 992px) {
	.btn_col{
		grid-template-columns:repeat(4, 1fr);
	}
}
/*グリッドコンテンツ用(PC:4列,TB:3列,SP:1列のグリッド)*/
.content_col{
	grid-template-columns:1fr;
	gap:0.5rem 0.8rem!important;
}
@media (min-width: 768px) {
	.content_col{
		grid-template-columns:repeat(2, 1fr);
	}
}
@media (min-width: 992px) {
	.content_col{
		grid-template-columns:repeat(3, 1fr);
	}
}



/*2列のグリッド*/
.btn_2col{
	grid-template-columns: repeat(2, 30%);
	grid-template-rows: repeat(2, auto);
}
@media screen and (max-width: 767.98px){
	.btn_grid_container{
		gap:1rem;
	}
	.btn_2col{
	grid-template-columns: repeat(1, 100%);
	grid-template-rows: repeat(2, auto);
	}
}@media (min-width: 768px) {
	/*セルの指定*/
	.grid_col1{ grid-column:1/2; }
	.grid_col2{ grid-column:2/3; }
	.grid_row1{ grid-row:1/2; }
	.grid_row2{ grid-row:2/3; }
}




/*input type="number"のデザイン*/

/** input/スピンボタンのラップ要素 **/
.number-spinner-wrap{
    position: relative;
    display: block;
    width: 150px !important;
    height: 2rem;
}
/** デフォルトのスピンボタンを隠す **/
.number-spinner-wrap input::-webkit-outer-spin-button,
.number-spinner-wrap input::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
}
/** input要素 **/
.number-spinner-wrap input{
  width: 100%; height: 100%;
  padding-left: 3rem;
  padding-right: 3rem;
  text-align: center;
}
/** スピンボタン要素 **/
.number-spinner-wrap .spinner{
  position: absolute;
  top: 50%;
  width: 1.2rem;
  transform: translate(0, -50%);
  font-size: 1rem;
  padding: 2px .5rem;
  text-align: center;
  background: lightgray;
  cursor: pointer;
  user-select: none;
}
/** 減算のスピンボタン要素 **/
.number-spinner-wrap .spinner-down{
  left: 2px;
  border-right: 1px solid lightgray;
}
/** 加算のスピンボタン要素 **/
.number-spinner-wrap .spinner-up{
  right: 2px;
  border-left: 1px solid lightgray;
}

/*フォーム横幅の最小値*/
.min-email-form{
	min-width:20rem;
}
.min-name-form{
	min-width:15rem;
}
.min-tell-form{
	min-width:13rem;
}
@media screen and (max-width: 767.98px){
	.min-email-form, .min-name-form, .min-tell-form{
		min-width:100%;
	}
}

/*フォーム横幅*/
.address-form{ width:25rem; }
.email-form{ width:20rem; }
.name-form{ width:15rem; }
.tell-form{ width:13rem; }
.short-form{ width:5rem; }
.year-form{ width:7rem; }
@media screen and (max-width: 767.98px){
	.address-form, .email-form, .name-form, .tell-form{ width:100%!important; }
}

/* ナビゲーションメニュー */
.gnav_menu{
	top:0;
	left:0;
	background:var(--bs-quaternary);
	position:fixed;
	overflow-y: auto;

	-webkit-overflow-scrolling: touch;
	overflow-x: hidden;
	max-width:20rem;

}
/*@media screen and (min-width: 1400px){
	.manage_style .gnav_menu{
		max-width:100%;
	}
}*/



/*.nav-item .active img{
	opacity:0;
}
.dropdown .active img{
	opacity:0;
}*/
.nav-link{position:relative;}

/*.manage_style .pc-nav-active{
	display:none;
}
@media screen and (min-width: 1400px){
	.manage_style .active .pc-nav-active{
		display:flex;
		align-items:center;
		justify-content: center;
		height:auto;
		position:absolute;
		top:0;
		bottom:0;
		right:0;
		left:0;
		text-align:center;
		white-space:normal;
	}
}*/

/*.manage_style .navbar-nav > .dropdown .active {
background: #EFB217;
}*/
/*
@media screen and (min-width: 1400px){
	.manage_style .gnav_menu{
	position:static;
	overflow:visible;
	}
}*/

/*　ナビゲーションバーのコンテンツ　横幅調整 */
.nav_logo_width{
	max-width:200px;
	/*width:50%;*/
}
@media screen and (max-width: 767px){
	.nav_logo_width{
		max-width:50%;
		width:150px;
    }
}
/*
@media (min-width: 1400px) {
	.manage_style .header_login_info a{
		color:var(--bs-primary);
	}
}*/

.nav_account_width{
	max-width:20%;
}

.clear_float{
clear:both;
}

/*お気に入り*/
.fav-label:active{
	scale:1.3;
}
.fav-label{
	color:#ccc;
	transition:all 0.2s ease;
}
.fav-true .fav-label{
	color:#EFB217 !important;
}

.favorite-check{
	appearance:none;
}@media screen and (max-width: 767px){
	.sp-favorite{
		padding:0;
		display:inline-block;
		position:absolute;
		border:solid 1px transparent;
		vertical-align: baseline;
		line-height: 1;
	}
}
/*カレンダーの複数選択切り替え*/
.calendarChange input{
	display:none;
}
.calendarChange label{
	text-decoration:underline;
	color:var(--app-link);
}

/*改行表示*/
.break-all{
	word-break: break-all;
}
/*メニューボタン*/
.menu-btn{
  color: #fff;
  background-color: var(--bs-primary);
	border-color: var(--bs-primary);
	/*box-shadow: 0px 2px 2px 0px rgba(0, 0, 0, 0.5);*/
	text-align:left !important;
}
.menu-btn:hover{
  color: #fff;
  /*background-color: #004b8d;
  border-color: #004685;*/
	filter: brightness(120%) ;
}
.menu-btn:focus{
  color: #fff;
  /*background-color: #004b8d;
  border-color: #004685;*/
	filter: brightness(120%) ;
  /*box-shadow: 0 0 0 0.25rem rgba(38, 113, 179, 0.5);*/
}
.menu-btn.active{
  color: #fff;
  /*background-color: #004685;
  border-color: #00427d;*/
	filter: brightness(80%) saturate(120%);
}
.menu-btn:disabled, .menu-btn.disabled {
  color: #fff;
 /* background-color: var(--bs-primary);
  border-color: var(--bs-primary);*/
	filter: grayscale(80%) brightness(110%);
}
/*健康観察ボタン*/
/*.health_radio_group{
	max-width:500px;
}*/
.health_radio_group input{
	display:none;
}
.health_radio_group label{
	margin-right:0.5rem;
	text-align:center;
	line-height:1.2;
	min-width:3rem;
	flex:1;
	display:flex;
	flex-direction:column;
	background:var(--bs-white);
	padding:0.5rem;
	border-radius:5px;
	position:relative;
	border:2px solid var(--bs-white);
	box-sizing:border-box;
	cursor:pointer;
}
.health_radio_group label span{
	display:flex;
	flex:1;
	align-items:center;
	margin:auto;
}
.health_radio_group label img{
	filter:grayscale(100%);
	width:100%;
	max-width:60px;
}
.health_radio_group label:last-of-type{
	margin-right:0;
}
.health_radio_group i{
	display:block;
	line-height:1;
	font-size:2rem;
	border-radius:50%;
}
.health_radio_group input:checked + label {
	font-weight:bold;
	border:2px solid var(--bs-secondary);
}
.health_radio_group input:checked + label img{
	filter:none!important;
}
.health_radio_group input:checked + label::after{
	content:"";
	display:inline-block;
	width:0.5rem;
	height:0.5rem;
	border-radius:50%;
	background:var(--bs-secondary);
	position:absolute;
	top:0.2rem;
	right:0.2rem;
}
.beforeSelect img{
	filter:none!important;
}

/*Q&A トップの質問*/
.qa_top_question{
	list-style:none;
	padding:0;
	width:100%;
	max-width:800px;
	margin-right:auto;
	margin-left:auto;
}
.qa_top_question > li{
	border-bottom:solid 1px #aaa;
	background:#fff;
	list-style:none;
	padding:0.5rem 1rem;
}
.qa_top_question > li:last-of-type{
	border-bottom:none;
}
.qa_top_question a{
	text-decoration:none;
	color:var(--bs-body-color);
}
.qa_top_question a:hover{
    text-decoration: underline;
}
.qa_question a{
	display:block;
	text-decoration:none;
}
.qa_question a:hover{
	text-decoration:underline;
}
.qa_question a::before{
	content:"Q.";
}
.qa_top_question > li::before{
	content: '';
	width:1.5rem;
	height:1.5rem;
	background-image:url(../img/question.svg);
	background-size:cover;
	display:inline-block;
	vertical-align:middle;
	margin-right:0.5rem;
}
/*パスワード入力フォーム　edgeの目ボタン削除*/
#password::-ms-reveal{
	visibility:hidden;
}
/*パスワード表示切り替え目ボタン*/
.pass_view_btn{
	position:absolute;
	color:var(--bs-quinary);
	right:0.5rem;
	font-size:1.5rem;
}
/*オンライン申請 取消済表示*/
#applied_title.canceled::before{
	content:"取消済み";
	border:2px solid #e32d3d ;
	font-size:0.6em;
	color:#e32d3d;
	display:inline-block;
	padding:0.2rem 0.4rem;
	margin-right:0.2rem;
	vertical-align:0.2em;
	/*border-radius:5px;*/
}
#requireItemDtoList.canceled{
	color:#888;
}
.canceled .table, .canceled .table-light{
	color:#888!important;
}
/*申請履歴　確認用チェックボックス(操作不可)*/
.confirm_checkbox{
	opacity:1;
	background-color:#ddd;
}
.form-check-input.confirm_checkbox:checked {
	opacity:1;
	background-color: #888;
	border-color: #888;
}
/*==========連絡ノート関連==========*/
#input_note{
	width:calc(100% - 5rem);
	resize:none;
	height:2.5rem;
}
#contact_note_container{
	min-height:5rem;
	max-height:100vh;
	z-index:999;
}
#chat_container{
	display:flex;
	flex-direction: column;
	overflow:scroll;
	overflow-x:hidden;
	top:0;
	bottom:0;
	position:relative;
	background:#ededed;
}
#input_note_container{
	background:#ededed;
}
#contact_note_container #chat_name{
	display:block;
	color:var(--bs-body-color);
	background:#ededed;
	border-bottom:1px solid var(--bs-body-color);
	margin:0;
	padding:0.5rem 1rem;
}
#chat_container .chatnote{
	max-width:80%;
	margin-bottom:0.2rem;
	display:inline-block;
	margin-top:0.5rem;
}
#chat_container .chatnote .message{
	padding:0.5rem;
	border-top-left-radius: 10px;
	border-top-right-radius: 10px;
	word-break: break-all;
	white-space:pre-wrap;
	position:relative;
	display:inline-block;
}
.send_time{
	font-size:0.9rem;
	white-space:nowrap;
}
.send_time:has(+ .someone){
	margin-left:1.5rem;
	margin-right:auto;
}
.send_time:has(+ .myself){
	margin-right:1.5rem;
	margin-left:auto;
}

.chatnote .message::after{
	content:"";
	width:0.5rem;
	height:0.5rem;
	display:inline-block;
	position:absolute;
	bottom:0;
}
.someone {
	margin-right: auto;
	margin-left:1.5rem;
	text-align:left;
}
.someone .message{
	border-bottom-right-radius: 10px;
	background:#fff;
	right:0;
}.someone .message::after{
	left:-0.5rem;
	border-bottom:0.5rem solid #fff;
	border-left:0.5rem solid transparent;
}
.someone::before{
	left:0;
}
.myself{
	margin-left: auto;
	margin-right:1.5rem;
	text-align:right;
}
.myself .message{
	border-bottom-left-radius: 10px;
	background:#dadada;
	text-align:left;
}
.myself .message::after{
	right:-0.5rem;
	border-bottom:0.5rem solid #dadada;
	border-right:0.5rem solid transparent;
}
.myself::before{
	right:0;
}
#send_note{
	border-top-left-radius:0!important;
	border-bottom-left-radius:0!important;
	border-top-right-radius:5px!important;
	border-bottom-right-radius:5px!important;
}
@media screen and (min-width: 1400px){
	#chat_container .chatnote{
		max-width:90%;
	}
}
/*お知らせ欄*/
.info_box{
	/*background:#fff;
	border-radius:5px;*/
	width:100%;
	/*max-width:600px;*/
}
.info_box .info_title{
	padding:0.4rem 1rem;
	border-bottom:1px solid var(--bs-primary);
	color:var(--bs-primary);
	font-size:1.1rem;
	border-top-left-radius:5px;
	border-top-right-radius:5px;
}
.info_box .information{
	padding:1rem;
}
.info_box .information td + td{
	padding-left:1rem;
}
.info_box .information td{
	vertical-align:top;
	padding:0;
}
/*==========お問い合わせフォーム==========*/
.contactFormTable{
	width:100%;
}

.contactFormTable th, .contactFormTable td{
	display:block;
}
.contactFormTable th::after{
	content:"：";
}
.contactFormTable tr + tr th{
	margin-top:1rem;
}
#contact_main_text{
	min-height:5rem;
}
/*PC・TB*/
@media (min-width: 768px){
	.contactFormTable{
		width:100%;
		background:#fff;
		border:1px solid #ddd;
	}
	.contactFormTable th, .contactFormTable td{
		display:table-cell;
		padding:0 1rem;
	}
	.contactFormTable th{
		background:#ddd;
		color:#000;
		font-weight:normal;
		width:5rem;
	}
	.contactFormTable td{
		padding:1rem;
	}
	.contactFormTable th::after{
		content:"";
	}
	.contactFormTable tr + tr th{
		margin-top:0;
		border-top:1px solid #fff;
	}
	.contactFormTable tr + tr td{
		border-top:1px solid #ddd;
	}

}
/*==========写真販売==========*/
/*写真一覧のコンテナ*/
.photo_list{
	margin:1rem 0;
	display:grid;
	gap:0.5rem;
	grid-template-columns:repeat(1, 1fr);
}
@media (min-width: 768px) {
	.photo_list{
		grid-template-columns:repeat(3, 1fr);
	}
}
@media (min-width: 992px) {
	.photo_list{
		grid-template-columns:repeat(4, 1fr);
	}
}
/*写真画像*/
.photo_list img{
	max-width:100%;
	max-height:100%;
}
/*写真選択ボタン*/
.photoSelectBtn{
	appearance:none;
	border:none;
	margin:0;
	padding:0;
	box-sizing:content-box;
	width:100%;
	height:100%;
	min-height:100px;
}
/*写真*/
.photo_list .photo{
	position:relative;
	padding-bottom:2.4rem;
}
/*写真選択のチェック*/
.photo_list input[type="checkbox"]{
	position:absolute;
	margin-left:0.25em;
}
/*拡大表示ボタン*/
.photo_list .zoomBtn{
	position:absolute;
	top:0;
	right:0;
	margin-right:0.25rem;
	margin-top:0.25rem;
	appearance:none;
	border:1px solid #fff;
	background:#999;
	border-radius:0.25rem;
	color:#fff;
}

input[type=checkbox]:checked ~ .photoSelectBtn{
	box-shadow: 0px 0px 0px 2px var(--bs-secondary);
}

/*スピンボタン付きの数値入力*/
.photo_list .photoNumContainer{
	display:none;
}
input[type=checkbox]:checked ~ .photoNumContainer{
	display:inline-block;
	position:absolute;
	bottom:0;
	height:2rem;
	right:0;
}

.photo_list .photoPrice{
	display:inline-block;
	position:absolute;
	bottom:0;
	left:0;
	line-height:2rem;
	vertical-align:top;
	margin-left:0.2rem;
	font-size:1.2rem;
}
.photoPrice::after{
	content:'円';
	font-size:1rem;
}
/*枚数指定*/
.photoNum{
	position:relative;
	width:6rem;
	height:2rem;
	display:inline-block;
	box-sizing:border-box;
	margin-right:1.2rem;
}
.photoNum::after{
	content:"枚";
	position:absolute;
	top:0;
	bottom:0;
	left:calc(100% + 0.2rem);
	line-height:2rem;
}
.photoNum .spin-up, .photoNum .spin-down{
	appearance:none;
	border:none;
	padding:0;
	margin:0;
	position:absolute;
	height:1.4rem;
	width:1.4rem;
	display:inline-block;
	cursor:pointer;
	top:50%;
	margin-top:-0.7rem;
	background:#ced4da;
}
.photoNum .spin-up{
	right:0.3rem;
}
.photoNum .spin-down{
	left:0.3rem;
}

.photoNum input{
	position:absolute;
	border:1px solid #ced4da;
	top:0;
	bottom:0;
	left:0;
	right:0;
	display:inline-block;
	border-radius:0.25rem;
	margin:0;
	padding:0.2rem 2rem;
	font-size:1rem;
}
/*スピンボタン非表示*/
/*input[type="number"]::-webkit-inner-spin-button,*/
/*input[type="number"]::-webkit-outer-spin-button {*/
/*	-webkit-appearance: none;*/
/*	margin: 0;*/
/*}*/
input[type="number"] {
	-moz-appearance: textfield;
}
#thumbnail_list{
	display:flex;
	flex-wrap:wrap;
	justify-content:start;
	gap:0.5rem;
}
.photo_thumbnail{
	width:100px;
	height:100px;
	position:relative;
	margin-bottom:1.5rem;
	background:#eee;
	display:flex;
	align-items:center;
}
.photo_thumbnail img{
	max-width:100px;
	max-height:100px;
	display:block;
	margin:auto;
}
.photo_thumbnail .photoNumber{
	position:absolute;
	top:100%;
	left:0;
	right:0;
	text-align:right;
	padding-right:0.5rem;
}
.photo_thumbnail .photoPrice{
	position:absolute;
	top:100%;
	left:0;
	right:0;
	text-align:left;
	padding-right:0.5rem;
}
.photo_thumbnail .photoNumber::after{
	content:'円';
}
.photo_thumbnail .photoNumber::after{
	content:'枚';
}

.selectCancelBtn{
	position:absolute;
	top:0;
	right:0;
	margin-right:0.25rem;
	margin-top:0.25rem;
	appearance:none;
	border:1px solid #fff;
	background:#999;
	border-radius:0.25rem;
	color:#fff;
	padding:0.1rem;
	line-height:1rem;
}
/*カート画面*/
.buy_item{
	width:100%;
	display:flex;
	border-bottom:1px dotted var(--bs-primary);
}
.buy_item:last-of-type{
	border-bottom:none;
}
.buy_item_thumbnail{
	width:80px;
	height:80px;
	display:flex;
	align-items:center;
	justify-content:center;
	background:#eee;
}
.buy_item_thumbnail img{
	max-width:100%;
	max-height:100%;
}
.buy_item_info{
	flex:1;
	padding:0 1rem;
	display:block;
	text-align:right;
}
@media (min-width: 768px) {
	.buy_item_info{
		display:flex;
		align-items:center;
		justify-content:space-between;
	}
}
/*購入手続き画面*/
#newAddress, #newCard{
	height:0;
	overflow:hidden;
	transition:0.2s ease;
}
.address_item, .payment_item{
	border:1px solid #ddd;
}
.selected_item{
	border:2px solid var(--bs-secondary);
}
/*td{ display:block; }
table{ width:100%; }

@media (min-width: 768px) {
	td{ display:table-cell; }
	table{ width:auto; }
}*/

/*==========休暇申請カレンダー==========*/
.year_calendar{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:1rem 10px;
}
.leave_month_calendar{
	text-align:center;
}
@media (min-width: 768px){
	.year_calendar{
		grid-template-columns:1fr 1fr 1fr;
	}
}
.leave_month_calendar .month{
	background:var(--bs-primary);
	color:#fff;
	font-weight:bold;
}
.leave_month_calendar th, .leave_month_calendar td{
	border:1px solid #666;
}
.leave_month_calendar th{
	width:4rem;
}
.leave_month_calendar th{
	background:#eee;
	font-weight:normal;
}
.leave_month_calendar td{
	background:#fff;
	text-align:left;
	padding:0 0.5rem;
	word-break: break-all;
}
.leave_month_calendar td a{
	word-break: break-all;
}
.leave_month_calendar td a:has( + a){
	margin-right:1rem;
}
.leave_month_calendar .sun th{
	color:#e32d3d;
	background:#ffcccc;
}
.leave_month_calendar .sun + tr th, .leave_month_calendar .sun + tr td{
	border-top:2px solid #666;
}
.leave_month_calendar .sat th{
	color:var(--bs-primary);
	background:#bae1ff;
}
.leave_month_calendar .sun td{
	background:#ffeeee;
}
.leave_month_calendar .sat td{
	background:#e8f5ff;
}

/*学校検索モーダル*/
.form_clear_btn{
	appearance:none;
	background:transparent;
	vertical-align:top;
	display:inline-block;
	line-height:1;
	height:auto;
	border:none;
}
#searchSchoolModal .modal-dialog{
	width:800px;
	max-width:calc(100% - 2rem)!important;
	height:calc(100% - 4rem)!important;
}
#searchSchoolModal .modal-content{
	max-height:100%!important;
	overflow-y:auto;
	display:inline-block;
}
#searchSchoolModal .modal-header, #searchSchoolModal .modal-footer{
	position:sticky;
	left:0;
	right:0;
	background:#fff;
}
#searchSchoolModal .modal-header{
	top:0;
	z-index:9999;
}
#searchSchoolModal .modal-footer{
	bottom:0;
}
#searchSchoolModal .search_select{
	text-decoration:underline;
	color:var(--bs-primary);
	cursor:pointer;
}
/*flatpickr カレンダー注意書き*/
.attention_day::after{
	position: absolute;
	width: 10px;
	height: 10px;
	border-radius: 150px;
	bottom:calc(50% - 5px);
	left: calc(50% - 5px);
	content: "※";
	display: block;
	color: red;
}
.calendar_note{
	color:red;
	margin-top:0.2rem;
	padding:0.2rem;
	border-top:1px dotted #ccc;
}
/*アイコンメニューの新着バッジ*/
.app-btn.news_badge .iconBtn{
	position:relative;
}
.app-btn.news_badge .iconBtn::after{
	content:'';
	position:absolute;
	display:block;
	height:0.8rem;
	width:0.8rem;
	background:var(--bs-attention);
	right:0.2rem;
	top:0.2rem;
	border-radius:50%;
}
@media(min-width:768px){
	.app-btn.news_badge .iconBtn::after{
		content:none;
	}
	.app-btn.news_badge .top_menu_name{
		position:relative;
	}
	.app-btn.news_badge .top_menu_name::after{
		content:'';
		position:absolute;
		display:block;
		height:0.6rem;
		width:0.6rem;
		background:var(--bs-attention);
		right:-0.4rem;
		top:-0.4rem;
		border-radius:50%;
	}
}
/*数字入りの新着バッジ*/
.news_badge_num{
	display:inline-block;
	position:relative;
}
.news_badge_num::before{
	content:attr(data-badge-num);
	display:inline-block;
	position:absolute;
	background:var(--bs-attention);
	top:-0.2rem;
	right:-0.2rem;
	width:1rem;
	height:1rem;
	line-height:1rem;
	font-size:0.8rem;
	vertical-align:middle;
	text-align:center;
	border-radius:100%;
	color:var(--bs-white);
}
/* ======================= アプリ化用追加スタイル=======================  */
.app-bg-body{
	background:var(--bs-tertiary)!important;
}
.app-bg-primary{ background:var(--bs-primary); }
.app-bg-secondary{ background:var(--bs-secondary); }


/*テーブル*/
.app-table{
	background:var(--bs-white);
	display:table;
	width:100%;
	color:var(--bs-body-color);
	text-align:left;
}
.app-table td, .app-table th{
	border:none;
	padding:0;
}
.app-table td{
	display:block;
}
/*.app-table tr + tr {
	border-top:1px dotted var(--bs-primary);
}*/
/*丸い点線*/
.app-table tr + tr{
	position:relative;
}
.app-table tr:not(.d-table-row) + tr::after {
	content:"";
	display:block;
	width:100%;
	height:4px; /*background-sizeと同じ*/
	position:absolute;
	top:-2px;/*heightの半分*/
	right:0;
	left:0;
	background-size: 4px 4px;
	background-repeat: repeat-x;
	background-image: radial-gradient(circle farthest-side, var(--bs-primary), var(--bs-primary) 45%, transparent 45%, transparent); /*円形のグラデーション*/
}

@media(min-width:768px){
	.app-table tr + tr::after {
		content:none;
	}
}

/*.app-table .app-table-link button{
	display:none;
}*/

.app-table tr{
	display:block;
	padding:1rem 2rem;
	position:relative;
}
.app-table .read-status{
	position:absolute;
	top:0.5rem;
	left:0.5rem;
}
.app-table-fav{
	display:inline-block;
	position:absolute;
	top:1rem;
	right:0.5rem;
}

.app-table .app-table-link button{
	display:block;
	position:absolute;
	top:0;
	bottom:0;
	left:0;
	right:0;
	width:100%;
	height:100%;
	border-radius:0;
	opacity:0;
	padding: 0.25rem 1rem;
	text-decoration:none;
	font-family:var(--app-font-marugo);
}


/*未読既読表示*/
.app-table .read-status[data-unread="true"]::before{
	content:"";
	position:absolute;
	display:inline-block;
	width:0.6rem;
	height:0.6rem;
	border-radius:50%;
	background:var(--bs-attention);
}
/*.app-table span[data-unread="true"]::after{
	content:"未";
	display:inline-block;
	text-align:center;
	width:1.2rem;
	height:1.2rem;
	font-size:0.8rem;
	font-weight:normal!important;
	border:1px solid var(--bs-attention);
	color:var(--bs-attention);
	border-radius:100%;
	line-height:calc(1.2rem - 1px);
	vertical-align:middle;
	
}*/
tr:has(*[data-unread=true]){
	font-weight:bold;
}
tr:has(*[data-unread=true]) .fw-bold{
	font-weight:bold!important;
}
tr:has(*[data-unread=false]){
	background:var(--bs-quaternary);
	color:#68605d;
}

/*未読既読表示*/
/*.app-table .read-status[data-unread="true"]::before{
	content:"";
	position:absolute;
	display:inline-block;
	width:0.6rem;
	height:0.6rem;
	border-radius:50%;
	background:var(--bs-attention);
}
tr:has(*[data-unread=true]){
	font-weight:bold;
}
tr:has(*[data-unread=true]) .fw-bold{
	font-weight:bold!important;
}
tr:has(*[data-unread=false]){
	background:var(--bs-quaternary);
	color:#68605d;
}*/
@media(min-width:768px){
	.app-table{
		text-align:center;
	}
	.app-table td, .app-table th{
		border:1px solid var(--bs-quinary);
		display:table-cell;
		padding:0.2rem 0.5rem;
	}
	.app-table .app-table-link button{
		display:inline-block;
		position:static;
		opacity:1;
		border-radius:100vh;
		width:auto;
	}
	.app-table tr + tr{
		border-top:none;
	}
	.app-table tr{
		display:table-row;
		padding:1rem 2rem;
		position:relative;
	}
	.app-table .read-status{
		position:static;
		top:0;
		left:0;
	}
	.app-table .read-status[data-unread="true"]::before{
		content:none;
	}
	.app-table-fav{
		display:table-cell;
		position:static;
	}
	.app-table .app-table-link button:hover{
		opacity:0.6;
		transition: all 0.3s ease;
	}
	.app-table th{
		text-align:center;
		border-bottom:2px solid var(--bs-primary);
	}
}

.app-table > :not(caption) > * > * {
  padding: 0.5rem 0.5rem;
  background-color: var(--bs-table-bg);
  border-bottom-width: 1px;
  box-shadow: inset 0 0 0 9999px var(--bs-table-accent-bg);
}

.fav-label{
	z-index:999;
}
input[type="checkbox"]:checked + .fav-label, .fav-label.fav-check-true{
	color:#EFB217 !important;
}
/*レスポンシブのテーブル*/
.responsive-table{
	color:var(--bs-body-color);
	display:block;
}
.responsive-table th,.responsive-table td{
	border:none;
	display:block;
}
.responsive-table th{
	padding: 0.5rem 1rem 0 1rem;
}
.responsive-table td{
	padding: 0 2rem 0.5rem 2rem;
}
@media(min-width:768px){
	.responsive-table{
		display:table;
		width:100%;
	}
	.responsive-table th, .responsive-table td{
		border:1px solid;
		border-color:inherit;
		display:table-cell;
		padding:0.5rem;
	}
	.responsive-table th{
		background:var(--bs-quaternary);
	}
}

/*スマホでも表の形を保つテーブル*/
.border-table{
	display:table;
}
.border-table td, .border-table th{
	border:1px solid var(--bs-primary);
	padding:0.5rem;
	display:table-cell;
}
.border-table th{
	text-align:center;
	background:var(--bs-quaternary);
}
.border-table thead th{
	border-bottom-width:2px;
}

/*スマホ用日付補足*/
.app-table .apply_deadline, .app-table .applied_date, .app-table .enquete_deadline, .app-table .answered_date,.app-table .last_contant_note,
.app-table .notify_datetime{
	padding-left:1rem;
	text-align:left!important;
}
.app-table .apply_deadline::before, .app-table .applied_date::before, .app-table .enquete_deadline::before, .app-table .answered_date::before,
.app-table .notify_datetime::before{
	display:block;
	white-space:pre !important;
}
/*オンライン申請締切*/
.app-table .apply_deadline::before{
	content:"受付終了日：";
}
/*オンライン申請日*/
.app-table .applied_date::before{
	content:"申請日：";
}
/*アンケート回答期間*/
.app-table .enquete_deadline::before{
	content:"回答期間：";
}
/*回答日*/
.app-table .answered_date::before{
	content:"回答日：";
}
/*連絡ノートの最終連絡日時*/
.app-table .last_contant_note::before{
	content:"最終連絡日時：";
}
/*通知日時*/
.app-table .notify_datetime::before{
	content:"通知日時：";
}
@media (min-width: 768px){
	.app-table .apply_deadline, .app-table .applied_date, .app-table .enquete_deadline, .app-table .answered_date,.app-table .last_contant_note,
	.app-table .notify_datetime{
		text-align:right!important;
	}
	.app-table .apply_deadline::before, .app-table .applied_date::before, .app-table .enquete_deadline::before, .app-table .answered_date::before,
	.app-table .notify_datetime::before{
		content:none;
	}
	
}




/*END テーブル*/
/*タグ・ラベル*/
.app-tag{
	display:inline-block!important;
	color:var(--bs-white);
	line-height:1rem;
	padding:0.2rem 0.4rem;
	border-radius:5px;
	background:#ccc;
	font-weight:normal;
}
.app-tag.important{
	background:var(--bs-attention)!important;
}
.app-tag.other{
	background:var(--bs-secondary)!important;
}
/*@media (min-width: 768px){
	.app-tag{
		color:#ccc;
		padding:0;
		font-size:1em;
		border-radius:0;
		margin-top:0;
		
	}
	.app-tag.important{
		color:var(--bs-attention)!important;
		background:transparent!important;
	}
	.app-tag.other{
		color:var(--bs-secondary)!important;
		background:transparent!important;
	}
}*/
/*マーク付き横並びリスト*/
.enumeration{
	clear:left;
	padding:0;
	margin:0;
	display:inline-block;
}
.enumeration li{
	float:left;
	list-style-position:inside;
	list-style-type:disc;
	padding-left:0.8rem;
}
/*括弧風*/
.brackets{
	display:block;
	padding:0.2rem 0.5rem;
	border:1.8px solid var(--bs-primary);
	border-top:1px solid transparent;
	border-bottom:1px solid transparent;
	border-radius:16px;
}

/*ボタン*/
.app-btn{
	padding: 0.25rem 1rem;
	border-radius:0;
	transition: all 0.3s ease;
	text-decoration:none;
	font-family:var(--app-font-marugo);
}
.app-btn:hover{
	opacity:0.6;
}
/*.app-btn-primary{
	background:var(--bs-primary);
	color:var(--bs-white);
	border:none;
}
.app-btn-secondary{
	background:var(--bs-secondary);
	color:var(--bs-white);
	border:none;
}
.app-btn-tertiary{
	background:var(--bs-white);
	color:var(--bs-primary);
	border:2px solid var(--bs-primary);
}*/
.nav-link.active, .navbar-nav > .dropdown .active{
	color:var(--bs-secondary)!important;
}
/*コンテンツの見出し*/
.content_title{
	color:var(--app-dark-brown);
	font-family:var(--app-font-marugo);
	font-weight:bold;
}
.content_title img{
	height:1.8em;
	width:auto;
	margin-right:0.5em;
}
/*丸ゴシック*/
.f-marugo{
	font-family:var(--app-font-marugo);
	font-weight:bold;
}

/*ホーム画面アイコンメニュー*/
.top_menu_item{
	display:flex;
	flex-direction:column;
	text-align:center;
	align-items:center;
}
.top_menu_item .app-btn .iconBtn{
	background:#fff;
	border-radius:0;
	padding:0.8rem;
	border-radius:100vh;
	margin-bottom:0.2em;
}
.top_menu_item .app-btn .iconBtn img{
	max-width:100%;
	height:auto;
}

.top_menu_item .app-btn{
	color:var(--bs-primary);
	line-height:a;
	padding:0.2rem 0;
	font-size:0.8em;
}
/*無効時の処理*/
.top_menu_item .app-btn.pe-none .iconBtn img{
	filter:grayscale(80%);
	opacity:0.5;
}
.top_menu_item .app-btn.pe-none .iconBtn{
	background:#ddd;
}
.top_menu_item .app-btn.pe-none{
	color:#a0968d;
}


@media (min-width: 768px){
	.top_menu_item{
		display:block;
	}
	.top_menu_item .app-btn .iconBtn{
		background:transparent;
		padding:0 0.5rem 0 0;
		margin-bottom:0;
	}
	.top_menu_item .app-btn{
		background:var(--bs-white);
		border:2px solid var(--bs-primary);
		padding: 0.25rem 1rem;
		border-radius:100vh;
	}
	/*無効時の処理*/
	.top_menu_item .app-btn.pe-none{
		background:#ddd;
		border:2px solid #bfbab5;
		padding: 0.25rem 1rem;
		border-radius:100vh;
		color:#a0968d;
	}
}

/*ハンバーガーメニュー用背景*/
@keyframes appFadeIn{
	0%{
		display:none;
		opacity:0;
	}
	1%{
		display:block;
		opacity:0;
	}
	100%{
		display:block;
		opacity:0.3;
	}
}
.app-menu-back{
	background:#000;
	width:100vw;
	height:100vh;
	position:fixed;
	z-index:99;
	display:none;
	opacity:0.3;
}
.app-menu-back.menu-open{
	display:block;
	opacity:0.3;
	animation:appFadeIn 0.5s;
}
/*ナビバー*/
#navbar{
	background:var(--bs-secondary);
}



.navbar-nav > .nav-item .active, .navbar-nav > .dropdown .dropdown-toggle.active{
	position:relative;
}
.navbar-nav > .nav-item .active::before, .navbar-nav > .dropdown .dropdown-toggle.active::before{
	content:"";
	background:var(--bs-secondary);
	height:80%;
	width:0.3rem;
	position:absolute;
	display:block;
	top:10%;
	bottom:10%;
	left:0.2rem;
	right:0;
}

/*ハンバーガーメニュー　ボタン*/
.app-hamburger-icon{
	display:inline-block;
	width:auto;
	height:1rem;
	position:relative;
}
.app-hamburger-icon span{
	content:'';
	display:inline-block;
	height:3px;
	width:1.5rem;
	position:absolute;
	left:0;
	right:0;
	transition:all 0.5s ease;
	background:#fff;
	top:0;
	bottom:0;
	margin:auto;
}
.app-hamburger-icon::after{
	content:"MENU";
	position:static;
	display:block;
	font-size:10px;
	color:#fff;
	margin-top:1.3rem;
}
.app-hamburger-icon span:nth-child(1){ transform:translateY(-0.4rem); }
.app-hamburger-icon span:nth-child(3){ transform:translateY(0.4rem); }
.navbar-toggler[aria-expanded="true"] .app-hamburger-icon span:nth-child(1){ transform:translateY(0) rotate(-45deg); }
.navbar-toggler[aria-expanded="true"] .app-hamburger-icon span:nth-child(2){ opacity:0; }
.navbar-toggler[aria-expanded="true"] .app-hamburger-icon span:nth-child(3){ transform:translateY(0) rotate(45deg); }



/*ハンバーガーメニューデザイン*/
.menu_ul li{
	text-align: left;
	background:var(--bs-white);
	color:var(--bs-body-color)!important;
}
.menu_ul li + li{
	border-top:1px dotted var(--bs-primary);
}
/*非活性時*/
.menu_ul li.pe-none{
	background:#ddd;
}
.menu_ul li.pe-none a{
	color:#a0968d!important;
}
.menu_ul li.pe-none .nav_menu_text::before{
	filter:grayscale(80%);
	opacity:0.8;
}
/*グローバルナビアイコン設定*/
.nav_menu_text::before{
	content:"";
	display:inline-block;
	width:2rem;
	height:2rem;
	background-size: contain;
	vertical-align: middle;
	/*margin:1rem 1rem 1rem 0;*/
	margin:0.5rem 0.5rem 0.5rem 0;

}
.popup_info{
	display:block;
	background:var(--bs-white);
	color:var(--bs-body-color);
	border-radius:5px;
	position:absolute;
	top:100%;
	right:0;
	width:calc(100% - 2rem);
	margin:1rem;
	box-sizing:border-box;

}
.popup_info::before{
	content:"";
	display:block;
	width:1.5rem;
	height:1.4rem;
	top:-1.4rem;
	right:3rem;
	position:absolute;
	border-bottom:1.4rem solid #fff;
	border-left:1.5rem solid transparent;
}
.popup_info .close_btn{
	background:transparent;
	border:none;
	cursor:pointer;
	position:absolute;
	top:0;
	right:0;
	color:#999;
	font-size:2rem;
	line-height:2rem;
}

/*3カラムのヘッダー*/
.header_grid{
	width:100%;
	display:grid;
	grid-auto-flow:column;
	grid-template-columns:1fr 1fr 1fr;
}
.header_grid > *{
	display:flex;
	align-items:center;
	justify-content:center;
	text-align:center;
}
.header_grid > *:first-child{
	justify-content:start;
	text-align:left;
	padding:0 0.5rem;
}
.header_grid > *:last-child{
	justify-content:end;
	text-align:right;
	padding:0 0.5rem;
}
.header_grid .userIcon{
	width:1.2rem;
	display:inline;
}
.header_grid a{
	text-decoration:none;
	color:var(--bs-white);
}

.navbar_page_title{
	flex:1;
	text-align:center;
}


#setup_menu{
	background:var(--bs-quaternary);
	position:absolute;
	top:100%;
	right:0;
	text-align:left;
	color:var(--bs-body-color);
	max-width:20rem;
}
#setup_menu  div{
	overflow-y:auto;
}

#setup_menu li{
	list-style:none;
	background:var(--bs-white);
	border-bottom:1px dotted var(--bs-primary);
}

#setup_menu a{
	color:var(--bs-body-color);
	text-decoration:none;
	display:block;
	padding:1rem;
}
#setup_menu a:hover{
	opacity:0.6;
}
.text-gray{
	color:var(--app-gray);
}
.text-darkgray{
	color:var(--bs-gray-500);
}
.app-border-bottom{
	border-bottom:1px dotted var(--bs-primary);
}


input[type="file"]::file-selector-button{
	background:var(--bs-primary);
	color:var(--bs-white);
}
input[type="file"]:hover::file-selector-button {background:var(--bs-primary)!important; color: #fff; filter: brightness(120%) ; }
input[type="file"]:focus::file-selector-button { background:var(--bs-primary)!important; color: #fff; filter: brightness(120%) ; }

/*タグ色*/
.tag-color01{ background:#90c9f4; }
.tag-color02{ background:#b08ef9; }
.tag-color03{ background:#f794bd; }

/*ヘッダーPCデザイン*/
/*@media(min-width: 1400px){
	.manage_style .nav_menu_text::before{
		display:block;
		width:2.5rem;
		height:2.5rem;
		margin:0 auto 0.2rem auto;
	}
	.manage_style .nav_menu_text{
		font-size:0.8em;
	}

	.manage_style .nav-link{
		text-align:center;
		width:6.5rem;
		padding:0.5rem!important;
		line-height:1.1;
		height:100%;
		margin-bottom:0.2rem;
	}
	.manage_style navbar-nav > li + li{
		border-left:1px solid red!important;
	}
	.manage_style #navbar{
		background:var(--bs-white);
	}
	.manage_style .navbar-nav > .nav-item .active::before, .manage_style .navbar-nav > .dropdown .dropdown-toggle.active::before {
		height:0.3rem;
		width:80%;
		top:auto;
		bottom:0.2rem;
		left:10%;
		right:10%;
	}
	.manage_style .app-menu-back{
		display:none !important;
	}
	.manage_style .menu_ul li + li{
		border-top:none;
	}
	.manage_style .page_title_text{
		display:none;
	}
}*/

/*アレルギー関連*/
.allergen .allergen_icon::before{
	font-size:3rem;
	vertical-align:middle;
}
/*アレルギー申請*/
.allergen{
	display:flex;
	align-items:center;
}
input[name="allergen_check"]:checked + label{
	font-weight:bold!important;
	color:var(--bs-attention)!important;
}
input[name="allergen_check"]:checked + label .allergen_icon{
	color:var(--bs-attention)!important;
}
.allergen_checklist{
	display:grid;
	grid-template-columns: 1fr 1fr;
	gap:1rem 0;
	margin-bottom:1rem;
}

@media(min-width: 768px){
	.allergen_checklist{
		grid-template-columns: 1fr 1fr 1fr 1fr;
	}
}
@media(min-width: 1400px){
	.allergen_checklist{
		grid-template-columns: 1fr 1fr 1fr 1fr 1fr;
	}
}
/*アレルギー申請履歴の表*/
.applied-allergy-table{
	display:block;
	width:100%;
	background:var(--bs-white);
}

.applied-allergy-table tbody{
	display:block;
	width:100%;
}
.applied-allergy-table tr{
	display:block;
	width:100%;
}

.applied-allergy-table th, .applied-allergy-table td{
	border:none;
	display:inline-block;
	/*padding:0.8rem 1.6rem;*/
}
.applied-allergy-table tr{
	padding:0.8rem 1rem;
}
.applied-allergy-table .status, .apply-table .status{
	font-size:1rem!important;
	border-width:2px;
	/*border-radius:5px;*/
	width:4rem;
	text-align:center;
	margin-left:1rem;
}
/*丸い点線*/
.applied-allergy-table tr + tr{
	position:relative;
}
.applied-allergy-table tr + tr::after {
	content:"";
	display:block;
	width:100%;
	height:4px; /*background-sizeと同じ*/
	position:absolute;
	top:-2px;/*heightの半分*/
	right:0;
	left:0;
	background-size: 4px 4px;
	background-repeat: repeat-x;
	background-image: radial-gradient(circle farthest-side, var(--bs-primary), var(--bs-primary) 45%, transparent 45%, transparent); /*円形のグラデーション*/
}

@media screen and (min-width: 768px){
	.applied-allergy-table{
		display:table;
	}
	.applied-allergy-table th, .applied-allergy-table td{
		border:1px solid var(--bs-primary);
		display:table-cell;
		padding:0.2rem;
	}
	.applied-allergy-table tbody{
		display:table-row-group;
	}
	.applied-allergy-table tr{
		display:table-row;
	}
	.app-table tr + tr::after {
		content:none;
	}
	.applied-allergy-table .status, .apply-table .status{
		margin-left:0;
	}
}

/****アレルギー申請関連*****/
/*アレルギー共通ヘッダー*/
#allergy_header{
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding:0.5rem 1rem;
	background:#eee;
	position:sticky;
	top:0;
	z-index:89;
	border-bottom:1px solid #ccc;
}
/*献立カレンダー*/
.lunch_calendar{
	background:var(--bs-white);
	width:100%;
	display:table;
}
.lunch_calendar tr{
	width:100%;
	display:table-row;
}
.lunch_calendar th, .lunch_calendar td{
	width:100%;
	display:table-cell;
	width:calc(100% / 7);
}
.lunch_calendar th{
	border-right:1px solid var(--bs-white);
	border-top:1px solid var(--bs-primary);
	border-bottom:2px solid var(--bs-primary);
	background:var(--bs-secondary);
	color:var(--bs-white);
	font-family:var(--app-font-marugo);
}
/*日曜*/
.lunch_calendar th:first-of-type{
	border-left:1px solid var(--bs-primary);
	background:var(--app-red);
}
/*土曜*/
.lunch_calendar th:last-of-type{
	border-right:1px solid var(--bs-primary);
	background:var(--app-blue);
}

.lunch_calendar td{
	border:1px solid var(--bs-quinary);
	height:4.2rem;
	vertical-align:top;
}

.lunch_calendar a{
	text-decoration:none;
	display:block;
	cursor:pointer;
	height:100%;
	color:var(--bs-body-color);
}
.lunch_calendar a:hover{
	background:var(--bs-tertiary);
}
.lunch_calendar td[data-lunch="false"]{
	background:var(--bs-quaternary);
	color:#999;
}

.selectCalendarBtn{
	appearance:none;
	background:transparent;
	border:none;
}
#selectYearList li, #selectMonthList li{
	text-align:center;
	padding:0.2rem 0.5rem;
	cursor:pointer;
}
#selectYearList li:hover, #selectMonthList li:hover{
	background:var(--bs-secondary);
}
#thisMonth{
	font-weight:bold;
	font-size:1.3rem;
}
.lunch_calendar .date{
	display:inline-block;
	width:2rem;
	height:2rem;
	line-height:2rem;
	vertical-align:middle;
	border-radius:100%;
}
.lunch_calendar td[data-allergy="true"] .date{
	background:var(--bs-primary);
	color:var(--bs-white);
}
/*申請状況のマーク*/
/* 申請ステータス(data-status) ■未登録：0 ■一時保存：1 ■登録済み：2 ■申請中：3 ■差戻し：4 ■学校確認完了：5 ■アレルギーマッチなし：-  */

/*.calendar_mark{
	font-size:1.4rem;
}*/
.calendar_mark::before{
	font-size:0.63rem;
	color:var(--bs-white);
	display:inline-block!important;
	line-height:1rem;
	padding:0.1rem 0.2rem;
	border-radius:5px;
	background:#ccc;
	font-weight:normal;
	margin:0.5em 0.1em;
	font-family:var(--app-font-marugo);
	vertical-align:middle;
}


/*未登録*/
[data-status="UNSETTLED"] .calendar_mark::before{
	/*content:"\F332";
	color:#ff0000;*/
	content:"未登録";
	background:#ff0000;
}
/*新規一時保存*/
[data-status="NEW_TEMP_SAVED"] .calendar_mark::before{
	/*content:"\F4CB";
	color:#ec6800;*/
	content:"登録済";
	background:#ec6800;
}
/*一時保存*/
[data-status="TEMPORARILY_SAVED"] .calendar_mark::before{
	/*content:"\F4CB";
	color:#ec6800;*/
	content:"登録済";
	background:#ec6800;
}
/*登録済み*/
[data-status="REGISTERED"] .calendar_mark::before{
	/*content:"\F332";
	color:#ff0000;*/
	content:"登録済";
	background:#ec6800;
}
/*申請中*/
[data-status="APPLYING"] .calendar_mark::before{
	/*content:"\F5D4";
	color:#0000cd;*/
	content:"申請中";
	background:#0000cd;
}
/*差戻し*/
[data-status="REMAND"] .calendar_mark::before{
	content:"差戻";
	background:#ff00ff;
}
/*学校確認完了*/
[data-status="COMPLETED"] .calendar_mark::before{
	/*content:"\F270";
	color:#006400;*/
	content:"完了";
	background:#006400;
}

/*アレルギーマッチ日　背景色*/
td[data-status="1"], tr[data-status="UNSETTLED"]{ background:#ffe5e5; }/*未登録*/
td[data-status="2"], tr[data-status="NEW_TEMP_SAVED"]{ background:#ffffcc; }/*一時保存*/
td[data-status="2"], tr[data-status="TEMPORARILY_SAVED"]{ background:#ffffcc; }/*一時保存*/
td[data-status="3"], tr[data-status="REGISTERED"]{ background:#ededff; }/*登録済み*/
td[data-status="4"], tr[data-status="APPLYING"]{ background:#dbffff; }/*申請中*/
td[data-status="5"], tr[data-status="REMAND"]{ background:#ffe0ff; }/*差戻し*/
td[data-status="6"], tr[data-status="COMPLETED"]{ background:#e0ffe0; }/*学校確認完了*/


/*献立アレルギー対応*/
.lunch_menu_name{
	background:transparent;
	display:flex;
	width:100%;
	line-height:24px;
	vertical-align:bottom;
	color:var(--bs-body-color);
	margin-top:1rem;
	padding:0.5rem 0;
	align-items:center;
	justify-content:flex-start;
	text-align:left;
}
.lunch_menu_type{
	font-size:0.8rem;
	line-height:20px;
	vertical-align:middle;
	display:inline-block;
	background:var(--bs-body-color);
	padding:0 0.4em;
	border-radius:5px;
	color:var(--bs-white);
	margin-right:0.2rem;
}
.allergen_alert .lunch_menu_type{
	background:var(--bs-attention);
}

.material_open{
	appearance:none;
	border:none;
	background:var(--bs-white);
	border-radius:100vh;
	padding:0 0.5rem;
	color:var(--bs-primary);
	white-space:nowrap;
	font-family:var(app-font-marugo);
	border:1px solid var(--bs-primary);
	margin-left:0.5rem;
}
.lunch_menu_material{
	padding:0.5rem;
	margin:0.2rem;
	background:#fff;
	text-align:left;
}
.lunch_menu_material ul{
	margin:0;
}
.lunch_menu_list .allergen_alert{
	font-weight:bold;
	color:var(--bs-attention);
}
.eliminatable_allergen{
	font-weight:bold;
	color:var(--bs-attention);
}
.lunch_menu_list .allergen_alert::after{
    display: inline-block;
    font-display: block;
    font-family: bootstrap-icons !important;
    font-style: normal;
    font-variant: normal;
    text-transform: none;
    line-height: 1;
    vertical-align: -0.125em;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
	content:" \F33B";
	margin-left:0.1rem;
}

.returnCommentAlert{
	display:inline-block;
	vertical-align:middle;
	color:#0d6efd;
	font-weight:bold;
	border:2px solid #0d6efd;
	margin:0.25rem;
	padding:0 0.25rem;
	background:rgba(255,255,255,0.5);
}
.returnCommentAlert::before{
	content: " \F33B";
	display:inline;
	font-family:BootStrap-icons;
	vertical-align:top;
	margin-right:0.25rem;
}

/*申請状況一覧*/
.lunch_status_list{
	background:#fff;
	width:100%;
}
.lunch_status_list th{
	border-bottom:2px solid var(--bs-primary);
}
.lunch_status_list td{
	border-bottom:1px solid var(--bs-primary);
	display:table-cell;
	height:3rem;
	vertical-align:middle;
}
.lunch_status_list tr:last-of-type td{
	border-bottom:none;
	
}
.lunch_status_list tbody tr{
	cursor:pointer;
}
.lunch_status_list tr[data-lunch="false"]{
	background:#ededed;
	cursor:auto;
}
.lunch_status_list .date{
	font-size:1.2rem;
	display:inline-block;
	width:2rem;
	height:2rem;
	line-height:2rem;
	border-radius:100vh;
	margin-right:0.2rem;
	text-align:center;
}
/*
.lunch_status_list .day_status{
	position:relative;
	padding-left:1.6rem;
	text-align:left;
	width:6rem;
}
*/
/*文字バージョン*/
.lunch_status_list .day_status_tag{
	position:relative;
	padding-left:3.4rem;
	text-align:left;
	width:7.8rem;
}
/**/

.lunch_status_list tr[data-allergy="true"] .date{
	background:var(--bs-primary);
	color:var(--bs-white);
}
.lunch_status_list *{
	vertical-align:middle;
}

.lunch_status_list .day_status::before{
	font-family: "bootstrap-icons";
	font-size:1.2rem;
	display:inline-block;
	height:2rem;
	line-height:2rem;
	width:1.6rem;
	text-align:center;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
	font-weight:normal!important;
}

/*文字バージョン*/
.lunch_status_list .day_status_tag::before{
	font-size:0.8rem;
	display:inline-block;
	height:1.4rem;
	line-height:1.4rem;
	width:3rem;
	text-align:center;
	position:absolute;
	left:0.2rem;
	top:0;
	bottom:0;
	margin:auto 0;
	font-weight:normal!important;
	color:#fff;
	/*border-radius:5px;*/
	font-family:var(--app-font-marugo);
	vertical-align:-1em;
}
.apply_allergy_caution {
	color:red;
}

.lunch_status_list *[data-status="UNSETTLED"] .day_status_tag::before{ content:"未登録"; background:#ff0000; }
.lunch_status_list *[data-status="NEW_TEMP_SAVED"] .day_status_tag::before{ content:"登録済"; background:#ec6800; }
.lunch_status_list *[data-status="TEMPORARILY_SAVED"] .day_status_tag::before{ content:"登録済"; background:#ec6800; }
.lunch_status_list *[data-status="REGISTERED"] .day_status_tag::before{ content:"登録済"; background:#6c5bad; }
.lunch_status_list *[data-status="APPLYING"] .day_status_tag::before{ content:"申請中"; background:#0000cd; }
.lunch_status_list *[data-status="REMAND"] .day_status_tag::before{content:"差戻"; background:#ff00ff;  }
.lunch_status_list *[data-status="COMPLETED"] .day_status_tag::before{ content:"完了"; background:#006400; }

/*管理者用*/
.lunch_status_list *[data-status="!"] .day_status_tag::before{ content:"要対応"; background:var(--bs-secondary); }
/**/
/*
.lunch_status_list tr[data-status="UNSETTLED"] .day_status::before{ content:"\F332"; color:#ff0000;}
.lunch_status_list tr[data-status="NEW_TEMP_SAVED"] .day_status::before{ content:"\F4CB"; color:#ec6800;}
.lunch_status_list tr[data-status="TEMPORARILY_SAVED"] .day_status::before{ content:"\F4CB"; color:#ec6800;}
.lunch_status_list tr[data-status="REGISTERED"] .day_status::before{ content:"\F5D4"; color:#0000cd;}
.lunch_status_list tr[data-status="APPLYING"] .day_status::before{ content:"\F270"; color:#006400;}

*[data-status="UNSETTLED"] .app-tag{background:#ff0000;}
*[data-status="NEW_TEMP_SAVED"] .app-tag{background:#ec6800;}
*[data-status="TEMPORARILY_SAVED"] .app-tag{background:#ec6800;}
*[data-status="REGISTERED"] .app-tag{background:#0000cd;}
*[data-status="APPLYING"] .app-tag{background:#006400;}

*/
/*管理者画面献立詳細*/
.lunch_menu{
	text-align:left;
	margin-top:1.6rem;
}
.lunch_menu .menu_type{
	background:var(--bs-secondary);
	color:var(--bs-white);
	border-radius:5px;
	padding:0.2rem 0.4rem;
	font-size:0.8rem;
	margin-right:0.4rem;
}
.lunch_menu .menu_material{
	background:var(--bs-white);
	margin-top:0.4rem;
	/*margin:0.4rem 1rem;*/
}
.lunch_menu .menu_material ul{
	margin:0 1rem;
	list-style-position: outside;
}
.lunch_menu .menu_material ul li:last-of-type{
	padding-bottom:0.6rem;
}

/*ステップバー*/
.step_bar{
	list-style:none;
	margin:0;
	padding:0;
	display:flex;
	justify-content:space-between;
	position:relative;
}
.step_bar li {
	counter-increment: steps;
	display:inline-block;
	text-align:center;
	position:relative;
	padding:1.8rem 0.5rem 0 0.5rem;
	flex:1;
	color:#666;
	font-size:0.8rem;
	line-height:1rem;
}
.step_bar li.active{
	font-weight:bold;
}
.step_bar li.complete, .step_bar li.active{
	color:var(--bs-body-color);
}
.step_bar li::after{
	content:counter(steps);
	display:inline-block;
	position:absolute;
	width:1.4rem;
	height:1.4rem;
	background:var(--app-gray);
	top:0;
	right:0;
	left:0;
	margin:auto;
	border-radius:100vh;
	font-size:1rem;
	line-height:1.4rem;
	vertical-align:middle;
}
.step_bar li::before{
	content:"";
	position:absolute;
	height:0.2rem;
	width:100%;
	background:#ccc;
	top:0.6rem;
	bottom:0;
	left:-50%;
	z-index:-1;
}
.step_bar li:first-of-type::before{
	content:none;
}
.step_bar .complete::after, .step_bar .active::after{
	background:var(--bs-secondary);
	color:var(--bs-white);
}
.step_bar .complete::before, .step_bar .active::before{
	background:var(--bs-secondary);
}
.step_bar .complete::after{
	content:"\F26E";
	font-family:"bootstrap-icons"!important;
}

/*表のセル背景強調表示(薄ピンク)*/
td.td-bg-attention{
	background:#ffe5e5!important;
}
/*表の行背景強調表示(薄ピンク)*/
tr:has(> td.tr-bg-attention) td{
	background:#ffe5e5!important;
}



/*管理者用アレルギー申請ステータス
0=申請中、1=差戻し済み、2=承認済み*/
.status_mark::before{ font-family: "bootstrap-icons"; }
*[data-apply-status="0"] .status_mark::before{ content:"\F332"; color:#ff0000; }
*[data-apply-status="1"] .status_mark::before{ content:"\F132"; color:#0000cd; }
*[data-apply-status="2"] .status_mark::before{ content:"\F270"; color:#006400; }



.lunch_status_list .app-tag{ font-size:1rem!important; background:rgba(0,0,0,0.4); }

/*献立編集*/
.material_list li{
	position:relative;
	margin-right:1.6rem;
}
.delete_material{
	width:1.4rem;
	height:1.4rem;
	display:inline-block;
	position:absolute;
	border-radius:5px;
	line-height:1.4rem;
	text-align:center;
	padding:0!important;
	top:0;
	bottom:0;
	right:0;
	margin:auto -1.6rem auto auto;
}
.material_list .bi{
	padding:0;
	margin:0;
}

/* 献立承認（週ごと）表示用 */
.horizontal-container {
	display: flex; /* Flexboxを使用して横並び */
	flex-wrap: wrap; /* 横に収まりきらない場合に折り返し */
	/*gap: 5px;  要素間の余白 */
}

.day-container {
	display: inline-block; /* 各要素を横並びにする */
	width: calc(100% / 5);
	border: 1px solid #ddd; /* デザインのための枠線 */
	padding: 6px;
	margin: 2px 0;
	/*background-color: beige;*/
	background-color:#fff; /*変更*/
}
.lunch_menu_material_space{
	background-color:var(--bs-tertiary);
}
.out_of_current_month_space{
	background-color:var(--bs-tertiary);
}
.remandCommentButton{
	margin:0.25rem 0;
	line-height:1.25;
	width:100%;
}
.remandCommentButton::after{
	content:"";
	font-family:bootstrap-icons;
	vertical-align:middle;
}
.remandCommentButton.done{
	background-color:var(--bs-attention);
	border-color:var(--bs-attention);
}
.remandCommentButton.done::after{
	content:" \F26E";
}

/*ヘッダー下固定表示*/
#sticky-second{
	position:sticky;
	top:0;
	z-index:90;
}

/*アプリ化_フッターメニュー*/
#footerMenu{
	display:flex;
	background:#fff;
	position:fixed;
	bottom:0;
	right:0;
	left:0;
	width:100%;
	min-height:3rem;
	align-items:center;
	border-top:1px solid #ccc;
	z-index:1000;
	width:100%;
}
.fotterMenuItem{
	flex:1;
	text-align:center;
	font-family:var(--app-font-marugo);
	line-height:2rem;
	vertical-align:middle;
	color:var(--bs-secondary);
	text-decoration:none;
}
.fotterMenuItem + .fotterMenuItem{
	border-left:1px solid #ccc;
}
.footerMenuIcon{
	width:2rem;
	height:2rem;
}
.bg-subContent{
	background:#efefef;
}

/*ウォークスルー*/
/*鳥アイコン*/
.bird-mark::before{
	content:"";
	width:3rem;
	height:3rem;
	display:inline-block;
	background-image:url("../img/bird.svg");
	background-size:contain;
	background-repeat: no-repeat;
	background-position:center;
	margin-right:0.2rem;
}
#walkthrough_footer{
	background:var(--bs-tertiary);
	display:block;
	position:fixed;
	bottom:0;
	padding:0.2rem;
	left:0;
	right:0;
}
.walkthrough_step{
	width:auto;
	padding:0;
	margin:0;
	text-align:center;
}
.walkthrough_step li{
	list-style:none;
	display:inline-block;
	width:0.6rem;
	height:0.6rem;
	background:var(--bs-tertiary);
	border:1px solid var(--bs-primary);
	border-radius:50%;
}
.walkthrough_step li a{
	display:block;
	width:100%;
	height:100%;
}
.walkthrough_step li.active{
	background:var(--bs-primary);
}

/*戻るボタンアイコン*/
.back-btn-icon{
	/*content:"";*/
	display:inline-block;
	width:0.7em;
	height:0.7em;
	border-top:2px solid #888888;
	border-left:2px solid #888888;
	transform:rotate(-45deg);
	transform-origin: 50% 30%;
}
/*次へボタンアイコン*/
.next-btn-icon{
	/*content:"";*/
	display:inline-block;
	width:0.7em;
	height:0.7em;
	border-top:2px solid #888888;
	border-right:2px solid #888888;
	transform:rotate(45deg);
	transform-origin: 50% 30%;
}
/*.back-btn-icon{
	display:inline-block;
	width:100%;
	height:100%;
	transform:rotate(0);
	position:relative;
	padding:0 0.15em;
}*/
/*閉じるボタンアイコン*/
.close-btn-icon{
	display:inline-block;
	width:1em;
	height:1em;
	position:relative;
	transform:rotate(-45deg);
	transform-origin: 60% 60%;
}
.close-btn-icon::before{
	content:"";
	border-top:2px solid #888888;
	position:absolute;
	top:calc(50% - 1px);
	left:0;
	right:0;
}
.close-btn-icon::after{
	content:"";
	border-left:2px solid #888888;
	position:absolute;
	left:calc(50% - 1px);
	top:0;
	bottom:0;
}
.border-link{
	border-color:var(--app-link);
}

/*アコーディオン開閉ボタン*/
.btn-ac-toggle{
	vertical-align:middle;
	border-width:2px;
}
.ac-open-icon{
	display:inline-block;
	margin-left:0.2rem;
	width:1em;
	height:1em;
	line-height:1;
	position:relative;
	transition:0.3s ease;
	vertical-align:middle;
}
.ac-open-icon::before{
	content:"";
	display:inline-block;
	width:0.6em;
	height:0.6em;
	position:absolute;
	right:0;
	left:0;
	top:0;
	bottom:0;
	margin:auto;
	border-bottom:0.15em solid var(--bs-primary);
	border-right:0.15em solid var(--bs-primary);
	transform:rotate(45deg) translateY(-0.1em) translateX(-0.1em);
}
.btn-ac-toggle[aria-expanded="true"] .ac-open-icon{
	transform:rotate(-180deg);
}

.btn-ac-toggle[aria-expanded="true"]{
	background:var(--bs-quaternary);
	border-color:var(--bs-primary);
	color:var(--bs-primary);
}


.btn-tertiary.btn-ac-toggle:hover {
  color: #b2967c;
  background-color: #f9f2ea;
  border-color: #b2967c;
}
.btn-tertiary.btn-ac-toggle:hover .ac-open-icon::before{
	border-color: #b2967c;
}
.manage_style .btn-tertiary.btn-ac-toggle:hover {
	color: #7b9caf;
	background-color: #e8f7f6;
	border-color: #7b9caf;
}
.btn-tertiary.btn-ac-toggle:focus {
  color: #b2967c;
  background-color: #f9f2ea;
  border-color: #b2967c;
}
.btn-tertiary.btn-ac-toggle:focus .ac-open-icon::before{
	border-color: #b2967c;
}
.btn-tertiary.btn-ac-toggle:active{
  color: #826c59;
  background-color: #ddd;
  border-color: #826c59;
}
.btn-tertiary.btn-ac-toggle:active .ac-open-icon::before{
	border-color: #826c59;
}
.btn-tertiary.btn-ac-toggle:focus{
}
.btn-tertiary.btn-ac-toggle:disabled, .btn-tertiary.btn-ac-toggle.disabled {
  color: #826c59;
  background-color: #ddd;
  border-color: #826c59;
}


/*チェック付切替ボタン*/
.btn-toggle{
	vertical-align:middle;
}
.btn-toggle[data-toggle="true"]{
	background:var(--bs-white);
	color:var(--bs-secondary);
	border-color:var(--bs-secondary);
}
.btn-toggle .toggle-check-icon{
	display:inline-block;
	background:#fff;
	width:0.9em;
	height:0.9em;
	vertical-align:middle;
	margin-top:-0.2em;

	position:relative;
	border:1px solid var(--bs-primary);
	border-radius:2px;
}
.btn-toggle .toggle-check-icon::before{
	content:"";
	position:absolute;
	display:inline-block;
	width:0.5em;
	height:0.8em;
	top:0;
	left:0;
	bottom:0;
	right:0;
	margin:auto;
	border-right:2px solid;
	border-bottom:2px solid;
	border-color:transparent;
	transition:0.2s ease;
	transform:rotate(45deg) translateY(-0.1em) translateX(-0.1em);
}
.btn-toggle[data-toggle="true"] .toggle-check-icon::before{
	border-color:var(--bs-attention);
}

.btn-toggle[data-toggle="true"]:hover {
  color: #ffb16d;
  background-color: #f9f2ea;
  border-color: #ffb16d;
}
.btn-toggle[data-toggle="true"]:focus {
  color: #ffb16d;
  background-color: #f9f2ea;
  border-color: #ffb16d;
}
.btn-toggle[data-toggle="true"]:active{
  color: #f98a34;
  background-color: #ddd;
  border-color: #f98a34;
}
.btn-toggle:disabled, .btn-toggle.disabled {
  color: #826c59;
  background-color: #ddd;
  border-color: #826c59;
}

/*ページネーション*/
.pagenation{
	background:var(--bs-white);
	display:flex;
	border:1px solid var(--bs-quinary);
	border-radius:100vh;
	color:var(--bs-primary);
	overflow:hidden;
}
.pagenation .btn-tertiary{
	color:var(--bs-primary);
	border:0;
	color:var(--bs-quinary);
}
.pagenation > span{
	display:flex;
	align-items:center;
	gap:0.5rem;
}
.pagenation > *{
	border-left:1px solid var(--bs-quaternary)!important;
	border-radius:0!important;
	text-align:center;
}
.pagenation > *:first-child{
	border-left:none!important;
}

/* ON/OFの切替ボタン */
.switchArea {
    line-height    : 38px;
    letter-spacing : 0;
    text-align     : center;
    font-size      : 16px;
    position       : relative;
    margin         : auto;
    width          : 74px;
    background     : #fff;
}
.switchArea input[type="checkbox"] {
    display: none;
}
.switchArea label {
    display: block;
    box-sizing: border-box;
    height: 38px;
    border: 2px solid #999999;
    border-radius: 19px;
}
.switchArea input[type="checkbox"]:checked +label {
    border-color: #007fff;
}

.switchArea label span:after{
    content: "OFF";
    padding: 0 0 0 22px;
    color: #999999;
}
.switchArea  input[type="checkbox"]:checked + label span:after{
    content: "ON";
    padding: 0 22px 0 0;
    color: #007fff;
}
.switchArea #swImg {
    position: absolute;
    width: 30px;
    height: 30px;
    background: #999999;
    top: 4px;
    left: 4px;
    border-radius: 15px;
    transition: .2s;
}
.switchArea input[type="checkbox"]:checked ~ #swImg {
    transform: translateX(36px);
    background: #007fff;
}

/*利用規約のボックス*/
.terms-box{
	overflow-y:auto;
	max-height:100%;
	/*max-height:calc(100vh - 280px);*/
}
.terms-box ul, .terms-box ol{
	padding:0;
}

/*ポップアップ*/
.popup-container{
	width:80%;
	max-height:80vh;
	color:var(--bs-body-color);
	background:var(--bs-white);
	border-radius:10px;
	display:none;
	position:fixed;
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	z-index:1002;
	flex-direction:column;
	filter:drop-shadow(1px 1px 10px #666);
	opacity:0;
	animation-name: fadein;
	animation-duration: 0.3s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}
.popup{
	z-index:1000;
	position:fixed;
	display:none;
	top:0;
	bottom:0;
	right:0;
	left:0;

}
.popup.open{
	position:fixed;
	display:block;
}
.popup-back{
	z-index:1001;
	position:absolute;
	top:0;
	bottom:0;
	right:0;
	left:0;
	background:rgb(0, 0, 0, 0.3);
}
.popup.open .popup-container{
	display:flex!important;
}
.popup-header{
	width:100%;
	border-bottom:1px solid #ccc;
	padding:1rem;
	padding-bottom:0.5rem;
}
.popup-body{
	flex:1;
	padding:1rem;
	overflow-y:auto;
}
.popup-footer{
	width:100%;
	border-top:1px solid #ccc;
	padding:1rem;
	padding-top:0.5rem;
	text-align:right;
}
@keyframes fadein {
  0% {
     opacity: 0;
     transform: translateY(-20px);
  }
  100% {
     opacity: 1;
     transform: translateY(0);
  }
}
/* PDFファイルPC表示時 (幅が1024px以上の場合) */
@media screen and (min-width: 1024px) {
    .pdf-container {
        width: 80%;  /* 横幅の80% */
        height: 800px;  /* 固定の高さ */
        margin: 0 auto;  /* センタリング */
    }

    #pdf-viewer {
        width: 100%;
        height: 100%;
        border: none;
    }
}

/* PDFファイルスマートフォン表示時 (幅が1024px未満の場合) */
@media screen and (max-width: 1023px) {
    .pdf-container {
        width: 100%;  /* 全幅 */
        height: 500px;  /* 固定の高さを少し小さく */
    }

    #pdf-viewer {
        width: 100%;
        height: 100%;
        border: none;
    }
}
.file-list-container {
	display: flex;
	align-items: flex-start;
}
.file-names {
	display: flex;
	flex-direction: column;
}

/* HTML2PDFで画面をPDFに変換する際に意図しないページ分割を抑止するための要素 */
.avoid-break {
    page-break-inside: avoid;
}

/* ======================= スマホのナビゲーションメニュー　アイコン指定=======================  */
/*@media screen and (min-width: 1400px){
	.nav_menu_text{ display:none; }
}*/


/* マイページ */
#menu_mypage .nav_menu_text::before{ background-image: url(../img/app-icon/icon_home.png); }
/* メッセージ通知履歴 */
#menu_message .nav_menu_text::before{ background-image: url(../img/app-icon/icon_message.png); }
/* 通知書ボックス */
#menu_notice .nav_menu_text::before{ background-image: url(../img/app-icon/icon_fileBox.png); }
/* 各種履歴 */
#menu_history .nav_menu_text::before{ background-image: url(../img/app-icon/icon_payment.png); }
/* 年間行事
#menu_schedule .nav_menu_text::before{ background-image: url(../img/icon_schedule_sp.png); }*/
/* 操作に関するQ＆A */
#menu_QandA .nav_menu_text::before{ background-image: url(../img/app-icon/icon_qa.png); }
/* 個人情報 */
#menu_personalInfo .nav_menu_text::before{ background-image: url(../img/app-icon/icon_setup.png); }
/* 各種オンライン申請 */
#menu_apply .nav_menu_text::before{ background-image: url(../img/app-icon/icon_apply.png); }
/* オンライン申請（ver2.0） */
#menu_apply_v2 .nav_menu_text::before{ background-image: url(../img/app-icon/icon_apply.png); }
/* 献立アレルギーチェック */
#menu_schoolLunch .nav_menu_text::before{ background-image: url(../img/app-icon/icon_allergy.png); }
/* ラーケーション欠食申請 */
#menu_skipping_meal .nav_menu_text::before{ background-image: url(../img/app-icon/icon_skippingMeal.png); }
/* ログアウト */
#menu_logout .nav_menu_text::before{ background-image: url(../img/app-icon/icon_logout.png); }

/*==== アプリ追加 ====*/
/* アンケート */
#menu_enquete .nav_menu_text::before{ background-image: url(../img/app-icon/icon_enquete.png); }
/* 連絡帳 */
#menu_note .nav_menu_text::before{ background-image: url(../img/app-icon/icon_note.png); }
/* 出欠連絡 */
#menu_absence .nav_menu_text::before{ background-image: url(../img/app-icon/icon_absence.png); }
/* 健康観察 */
#menu_health .nav_menu_text::before{ background-image: url(../img/app-icon/icon_health.png); }
/* 販売 */
#menu_shop .nav_menu_text::before{ background-image: url(../img/app-icon/icon_shop.png); }
/* やること */
#menu_todo .nav_menu_text::before{ background-image: url(../img/app-icon/icon_todo.png); }

/*管理者メニュー*/
/* 管理者ホーム */
#menu_mng_top .nav_menu_text::before{ background-image: url(../img/icon_mypage_sp.png); }
/* 利用登録のお願い発行 */
#menu_mng_regist .nav_menu_text::before{ background-image: url(../img/mng/icon_regist_sp.png); }
/* メッセージ通知 */
#menu_mng_message .nav_menu_text::before{ background-image: url(../img/icon_message_sp.png); }
/* オンライン申請管理 */
#menu_mng_application .nav_menu_text::before{ background-image: url(../img/mng/icon_application_sp.png); }
/* オンライン申請管理ver2.0 */
#menu_mng_application_v2 .nav_menu_text::before{ background-image: url(../img/mng/icon_application_sp.png); }
/* ユーザ管理 */
#menu_mng_user .nav_menu_text::before{ background-image: url(../img/mng/icon_user_sp.png); }
/* データ出力 */
#menu_mng_export .nav_menu_text::before{ background-image: url(../img/mng/icon_export_sp.png); }
/* データ取込 */
#menu_mng_import .nav_menu_text::before{ background-image: url(../img/mng/icon_import_sp.png); }
/* アカウント情報 */
#menu_mng_account .nav_menu_text::before{ background-image: url(../img/mng/icon_account_sp.png); }


/*欠食申請受付*/
#menu_mng_skipping_meal .nav_menu_text::before{ background-image: url(../img/icon_sl_sp.png); }
/*写真販売*/
#menu_mng_photo .nav_menu_text::before{ background-image: url(../img/icon_photo_sp.png); }


/*アレルギーチェック*/
#menu_mng_allergy .nav_menu_text::before{ background-image: url(../img/icon_sl_sp.png); }


/*アンケート*/
#menu_mng_enquete .nav_menu_text::before{ background-image: url(../img/icon_enquete_sp.png); }
/*出欠・欠食連絡*/
#menu_mng_absence .nav_menu_text::before{ background-image: url(../img/icon_absence_sp.png); }
/*健康観察*/
#menu_mng_health .nav_menu_text::before{ background-image: url(../img/icon_health_sp.png); }


/* ログアウト */
#menu_mng_logout .nav_menu_text::before{ background-image: url(../img/icon_logout_sp.png); }

/* active時アイコン非表示
 .active .nav_menu_text::before{
	background-image:none!important;
} */

/* アレルギー対応決定通知 */
.allergyFlag::before,.resultActionPattern::before{
	color:#999;
	font-size:0.8rem;
	width:3.2em;
}
.allergyFlag::before{
	content:"申請内容:";
}
.resultActionPattern::before{
	content:"対応結果:";
}

.hiddenDropdownIcon::-webkit-calendar-picker-indicator {
    display: none !important;
}

/*アイコンメニューの新着バッジ*/
.news-badge{
	position:relative;
}
.news-badge::after{
	content:'';
	position:absolute;
	display:block;
	height:0.6rem;
	width:0.6rem;
	background:var(--bs-attention);
	right:0.6rem;
	top:0.6rem;
	border-radius:50%;
}

input[type="password"].no-password-icon::-ms-reveal, /* Edge */
input[type="password"].no-password-icon::-webkit-textfield-decoration-container { /* Chrome, Safari */
    display: none;
}