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

:root {
	--header-height: 10rem;
	--header-bg-color: #e4f1f4;
	--header-bg-color: var(--bs-light);
	--header-bg-color-rgb: 228,241,244;
	/*--accent-color: #6ad1c8;*/
	--accent-color: var(--tile-border-color);
	--border-color: #246bb1;
	--aspect-nav-menu-item: calc(60% + 1em);
	--text-color: #666;
	--border-color: #246BB1;
	--button-bg-color: #246BB1;
	--button-text-color: white;
	--hilight-text-color: #246BB1;
	--link-text-color: #246BB1;
	--table-header-text-color: white;
	--table-header-bg-color: #86B6E2;
	--tips-bg-color: #e9f4f6;
	--table-border-color: #7f7f7f;
	--table-outer-border-width: 2px;
	--table-inner-border-width: 1px;
	--h4-bg-color: #fef0ec;
	--h5-line-color: #246BB1;
	--header-color: #666;
	--footer-bg-color: #e4f1f4;
	--footer-bg-color: var(--bs-light);
	--footer-color: #666;
	--table-th-bg-color: #246BB1;
	--table-th-color: white;
	--tile-border-color: #246BB1;
	--tile-bg-color: white;

}

@media (min-width: 768px) {
	:root {
		--header-height: 120px;
	}
}

html {
	letter-spacing: 1px;
}

html, body:not(#site-top) {
	background-image: url('../img/bg.png');
	background-repeat: repeat;
	font-family: 'Kosugi Maru', sans-serif;
	font-weight: normal;

/*
	font-size: 14px;
	line-height: 22px;
	margin: 0;
	padding: 0;
	position: relative;
	min-height: calc(100vh - var(--header-height));
	box-sizing: border-box;
	letter-spacing: 2px;
*/
	color: var(--text-color);
	background-color: transparent;
}

body#site-top {
	background-image: url('../img/topbg.jpg');
	background-repeat: no-repeat;
	background-size: cover;
    background-position: center;
	background-color: #ffffff99;
	background-attachment: fixed;
	background-blend-mode:lighten;
}

header .navbar {
	height: var(--header-height);
	background-color: var(--header-bg-color);
	box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.3);
}

.main {
	flex-shrink: 0;
	margin-top: var(--header-height);

}

/*.main > .container {
	padding: var(--header-height) 15px 0;
}*/

.navbar-brand {
/*	width: calc(100% - 3rem);
*/
}

@media (min-width: 768px) {
	header {
		min-height: var(--header-height);
	}

	.navbar-brand {
		background-color: transparent;
	}

	.main {
		margin-top: 0;
	}
	
}

.navbar-toggler {
	padding: .125rem 0;
	border: none;
}

nav:has(.show){
	box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
}

/*----- 移植 ----- */
#header_nav {
	display: none;
}

#navbarCollapse {
	margin-top: var(--header-height);
	position: fixed;
	background: whitesmoke;
	z-index: 10;
}

@media (min-width: 768px) {
	#header_nav {
		display: flex;
		max-width:36rem;
	}
}

/* ----- 移植 ----- */

li > a:has(.bi){
	color: #aaa;
	transition: all .2s;
}

li:hover > a:has(.bi){
	color: var(--hilight-text-color);
}

/*
.bi-facebook {
	color: #1e5dee;
}

.bi-instagram {
	color: white;
}

li > a:has(.bi-instagram){
	background: -webkit-linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	background: linear-gradient(135deg, #427eff 0%, #f13f79 70%) no-repeat;
	overflow: hidden;
	border-radius: .5rem;
	padding: 5px;
	width: 32px;
	height: 32px;
	display: flex;
	text-align: center;
	align-items: center;
	justify-content: center;
}

.bi-twitter-x {
	color: #000;
}

.bi-youtube {
	color: #f20009;
}
*/

/*body#site_top nav#global_menu {
	display: none;
}*/

/*body:not(#site_top) nav#global_menu { */
nav#global_menu {
/*		margin-top: var(--header-height);*/
	border-bottom: 5px solid var(--tile-border-color);
}

nav#global_menu {
	display: none;
}

@media (min-width: 768px) {
	nav#global_menu {
		display: block;
	}
}

ul.nav-icon {
	display: flex;
	justify-content: center;
	gap: 5px;
	flex-wrap: wrap;
	padding: 0;
}

ul.nav-icon li {
	padding: 10px 0 0 0;
	background-color: var(--tile-bg-color);
	margin: 8px 3px;
	min-width: 100px;
	border: 2px solid var(--tile-border-color);
	border-radius: 10px;
	min-height: 40px;
	list-style-type: none;
}

ul.nav-icon a {
	display: block;
/*
	width: 80px;
	background-size: 70%;
*/
	background-size: 55%;
	height: 2em;
	margin: 0 auto;
	padding: 60px 0 0 0;
	background-repeat: no-repeat;
	background-position: center top;
	text-indent: -100em;
	overflow: hidden;
	text-decoration: none;
	box-sizing: content-box;
	color: #4E5869;
}
ul.nav-icon .kaigo a { background-image: url('../img/kaigo.svg'); }
ul.nav-icon .shogai a { background-image: url('../img/shogai.svg'); }
ul.nav-icon .kosodate a { background-image: url('../img/kosodate.svg'); }
ul.nav-icon .kurashi a { background-image: url('../img/kurashi.svg'); }
ul.nav-icon .sasaeai a { background-image: url('../img/sasaeai.svg'); }
ul.nav-icon .volunteer a { background-image: url('../img/volunteer.svg'); }
ul.nav-icon .kyodobokin a {
	background-image: url('../img/kyodobokin.png');
	background-color: #ffffff4b;
	background-blend-mode: lighten
}
ul.nav-icon .aboutus a { background-image: url('../img/aboutus.svg'); }
ul.nav-icon .download a { background-image: url('../img/download.svg'); }
ul.nav-icon .renrakukai a { background-image: url('../img/renrakukai.svg'); }

ul.nav-icon a span {
	display: block;
	font-size: 1.2em;
	text-align: center;
	line-height: 1;
	text-indent: 0;
	margin-top: 5px;
}
/*ボランティアだけ字数が多いので例外扱い*/
ul.nav-icon .volunteer a span { 
	font-size: 1.1em;
	letter-spacing: -1px;
}



/*h1 {
	background-color: #F2EFEA;
	font-size: 17px;
	padding: 12px 20px;
	letter-spacing: 2px;
	border-left: 10px solid #F3981B;
	color: #960;
	box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.3);
	text-align: left;
	clear: both;
}*/

h1 {
	background-image: url('../img/h1bg.png');
    background-position: center;
	font-size: 1.5rem;
	letter-spacing: 2px;
	padding: .5rem 1rem;
	border-radius: .25rem;
	margin-top: 2rem;
}

/*h1 {
	font-size: 1.5rem;
	letter-spacing: 2px;
	padding: 1rem;
	position: relative;
	margin-bottom: 1.5rem;
	margin-top: 3rem;
}

h1::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 7px;
	background: -webkit-repeating-linear-gradient(-45deg, var(--accent-color), var(--accent-color) 2px, #fff 2px, #fff 4px);
	background: repeating-linear-gradient(-45deg, var(--accent-color), var(--accent-color) 2px, #fff 2px, #fff 4px);
}*/

h2:not(.accordion-header) {
	font-size: 1.4rem;
	letter-spacing: 2px;
	position: relative;
	padding: 0.5em 1rem;
	margin-bottom: 1.5rem;

	margin-top: 3rem;
}

h2:not(.accordion-header)::after {
	position: absolute;
	content: '';
	display: block;
	height: 4px;
	background: -webkit-linear-gradient(to right, var(--accent-color), transparent);
	background: linear-gradient(to right, var(--accent-color), transparent);
	left: 0;
	right: 0;
	bottom: 0;
}

h2.single {
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
}

h3 {
	display: inline-block;
	font-size: 1.2rem;
	letter-spacing: 2px;
	border-bottom: 2px dashed var(--accent-color);
	padding: .5rem 1rem;
	margin-top: 1rem;
}

h4 {
	display: inline-block;
	font-size: 1.1rem;
	letter-spacing: 2px;
	border-bottom: 1px solid var(--accent-color);
	padding: .5rem 1rem;
}

h4.card-title {
	display: block;
	font-size: 1.1rem;
	padding: 0;
}

h4.card-title.single {
	padding-top: .5rem;
	padding-bottom: .5rem;
}

.card-body h5 {
	font-size: 1rem;
	font-weight: bolder;
	margin-top: .75rem;
}

dt {
	letter-spacing: 0;
}

#breadcrumb {
	margin-top: .5rem;
}

div.lead {
	text-align: left;
	background-color: var(--tips-bg-color);
	padding: .75em;
	border-radius: 4px;
	font-size: 1.1rem;
}

.emphasis {
/*
	-webkit-text-emphasis: filled circle blue;
	text-emphasis: filled circle blue;
	-webkit-text-emphasis: '・';
	text-emphasis: '・';
*/
	background: top left / 1em .5em repeat-x radial-gradient(circle, var(--text-color) .1em, #00000000 .1em);
	padding-top: .5em;
}

.accordion {
	--bs-accordion-btn-focus-border-color: #86b7fe;
	--bs-accordion-active-bg: var(--header-bg-color);
	--bs-accordion-border-width: var(--bs-border-width);
	margin-bottom: 1rem;
}

.accordion-body {
	padding: 0;
}

.accordion-body > div {
	padding: var(--bs-accordion-body-padding-y) var(--bs-accordion-body-padding-x);
}

.accordion-body > ul {
	margin-bottom: 0;
}

.accordion-footer {
	background-color: rgba(var(--header-bg-color-rgb),.3);
	border-top: var(--bs-accordion-border-width) solid var(--bs-accordion-border-color);
}

.accordion-body h3 {
	margin-top: 0;
	padding: 0;
}

.accordion-footer.authority h3 {
	display: flex;
	align-items: center;
}

.accordion-footer.authority h3::before {
	content: '問合わせ先';
	font-size: .9rem;
	letter-spacing: 0;
	margin-right: .5rem;

}

.accordion-footer.authority > .address {
	display: flex;
}

.accordion-footer.authority > .address > .postal::before {
	content: '〒';
}

.accordion-footer.authority > .phone {
	display: flex;
}

main > .authority {
	border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
	border-radius: var(--bs-border-radius);
	margin-top: 1rem;
	background-color: white;
}

main > .authority dl {
	padding: 1rem;
	margin-bottom: 0;
}

span.phone::before {

	content: '\f095';
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	margin-right: .5rem;
	opacity: .5;
}

span.fax::before {
	content: '\f1ac';
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	margin-left: .5rem;
	margin-right: .5rem;
	opacity: .5;
}

.accordion-footer.authority span::before {
	padding-right: .2em;
	display: inline-block;
	width: 2em;
	opacity: .5;
	text-align: center;
}

h7 {
	font-size: 16px;
/*
	text-align: left;
	padding: 7px 1em;
	border-radius: 4px;
	background-color: #a99b90;
	background-color: #CBC3BC;
	background-color: #867878;
	background-color: #F3981B;
	background-color: #FCFCF0;
	color: #736357;
	background-color: #68A53F;
	color: white;
	font-weight: normal;
	background-color: #F2BF7B;
	box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.16);
	margin-bottom: 20px;
*/
	border: 3px solid skyblue;
	border-top-left-radius: 30px;
	border-bottom-left-radius: 30px;
	font-weight: normal;
	padding: 1rem 1.5rem;
	border-top: none;
	border-right: none;
}

/* こんな風に
	<ul class="list-unstyled">
		<li data-marker='ア'>お米</li>
		<li data-marker='イ'>麺(そば、うどん、パスタ等)</li>
	</ul>
*/
li[data-marker]::before {
	content: '('attr(data-marker)')';
	color: var(--text-color);
	opacity: .8;
	font-size: .8rem;
	margin-right: .25rem;
}

ul.star {
	padding: 0 1rem;
}

ul.star li {
	padding-left: .125rem;
}

ul.star li::marker {
	content: '＊';
}

@counter-style kata {
	system: fixed;
	symbols: ア イ ウ エ オ カ キ ク ケ コ サ シ ス セ ソ タ チ ツ テ ト ナ ニ ヌ ネ ノ ハ ヒ フ ヘ ホ マ ミ ム メ モ ヤ ユ ヨ ワ ヲ ン;
	prefix: '(';
	suffix: ')';
}

.kata {
	list-style: kata;
	padding-left: 2rem;
}

.kata > li {
	padding-left: .25rem;
}

.kata > li::marker {
	color: var(--text-color);
	opacity: .8;
	font-size: .8rem;
	margin-right: .25rem;
}

@counter-style maru {
	system: fixed;
	symbols: ① ② ③ ④ ⑤ ⑥ ⑦ ⑧ ⑨ ⑩ ⑪ ⑫ ⑬ ⑭ ⑮ ⑯ ⑰ ⑱ ⑲ ⑳ ㉑ ㉒ ㉓ ㉔ ㉕ ㉖ ㉗ ㉘ ㉙ ㉚ ㉛ ㉜ ㉝ ㉞ ㉟ ㊱ ㊲ ㊳ ㊴ ㊵ ㊶ ㊷ ㊸ ㊹ ㊺ ㊻ ㊼ ㊽ ㊾ ㊿;
	prefix: '';
	suffix: '';
}

.maru {
	list-style: maru;
	padding-left: 1rem;
}

.maru > li {
	padding-left: .25rem;
}

.maru > li::marker {
	color: var(--text-color);
}

main, aside {
	min-height: 100vh;
}

aside.side-menu > div.side-menu {
	position: sticky;
	top: calc(var(--header-height) + 1rem);
	background-color: #f6f6f6;
	padding-bottom: 1rem;
}

aside.side-menu > h3 {
	padding: 3px;
	background-color: #CCECFF;
	border-radius: 4px;
	margin: 1em;
}

aside.side-menu > .recruit {
	background-color: #faf9c5 !important;
}

/*aside.side-menu div#for-today.holiday > h3::before {
	content: '\3297';
	content: '祝';
	color: #ff000099;
	margin-right: .25rem;

	color: white;
	background-color: red;
	border-radius: 50%;
	font-size: .8rem;
	padding: .2em;
	vertical-align: middle;
}*/

aside.side-menu div#for-today h3 .week[data-week="0"] {
	color: red;
}

aside.side-menu div#for-today h3 .week[data-week="6"] {
	color: blue;
}

aside.side-menu div#for-today.holiday > h3 span.holiday {
	color: red;
}

aside.side-menu div#for-today .noplan {
	padding: 1rem;
	color: #666;
}

aside.side-menu div#for-today dl {
	padding: 1rem;
	margin: 0;
}

aside.side-menu div#for-today dl dt {
	letter-spacing: 1px;
	font-weight: normal;
	text-indent: -3rem;
	margin-left: 3rem;
	line-height: 1.2;
	padding: .25rem;
}
aside.side-menu div#for-today dl dt time {
	font-weight: normal;
	display: inline-block;
	width: 2.5rem;
	text-align: end;
	margin-right: .5rem;
	
}

aside.side-menu div#for-today dl dd {
	font-size: .9rem;
	padding-left: 3rem;
}

aside.side-menu div#for-today dl dd:not(:last-child) {
	padding-bottom: .25rem;
	border-bottom: 1px solid #ddd;
}

aside.side-menu > div > ul {
	padding-left: .5rem;
}

aside.side-menu > div > ul > li {
	list-style-type: circle;
	list-style-position: inside;
	color: #2D78BD;
}

aside.side-menu > div > ul > li > a {
	color: #2D78BD;
	text-decoration: none;
	letter-spacing: 0;
}

aside.side-menu > div > ul > li ul {
	margin-left: 0;
	padding-left: 1rem;
}

aside.side-menu > div > ul > li ul > li,
aside.side-menu > div > ul > li ul > li > a {
	color: #67B4C1;
	text-decoration: none;
	letter-spacing: 0;
	list-style-type: none;
}

aside.side-menu > div > ul > li ul > li::before {
	content: '\f0da';
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;

	display: inline-block;
	width: 1em;	
}

#side-aisatsu h4 {
	display: block;
	border-bottom: none;
	padding: .5rem 0 0 0;
}

#side-aisatsu date {
	font-size: .9rem;
	display: block;
	text-align: end;
}

#side-aisatsu .preface {
/*	width: 100%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis;
	-o-text-overflow: ellipsis;
*/
	width: 100%;
	overflow: hidden;
	display: -webkit-box;
	text-overflow: ellipsis;
	-webkit-box-orient: vertical;
	line-clamp: 3;
	-webkit-line-clamp: 3;
	line-height: 1.2;
}

#aisatsuModal .modal-dialog {
	max-width: 1040px;
	z-index: 15000;
}

#fureaigarModal .modal-dialog {
	max-width: 800px;
	z-index: 15000;
}

#behavioralModal .modal-dialog {
	max-width: 800px;
	z-index: 15000;
}

.modal-dialog.regulations {
	max-width: 1040px;
	z-index: 15000;
}

.modal-dialog.regulations h3 {
	border: none;
}

a[data-bs-toggle="modal"] {
	cursor: pointer;
}

.modal-dialog.regulations .modal-header span {
	font-size: .95rem;
	margin: 1rem;
	line-height: 1.2;
}

.bg-debug {
	background-color: pink;
}
.modal-dialog.regulations .modal-body {
	padding-left: 2rem;
}

.modal-dialog.regulations .chapter {
	margin-top: 1rem;
	margin-bottom: 0;
}

.modal-dialog.regulations .subject {
	margin-top: .75rem;
	font-size: .9rem;
}

.modal-dialog.regulations article span.article {
	font-weight: 400;
	color: #333;
	margin-right: .5em;
}

.modal-dialog.regulations article > ol {
	margin-top: .5em;
	text-indent: -1.3em;
	margin-left: 1.5em;
	padding: 0 1em;
	list-style-type: none;
}

.modal-dialog.regulations article > ol dl {
	margin-left: 1.5em;
}

.modal-dialog.regulations article > dl {
	margin-left: 1.5em;
}

.modal-dialog.regulations .position {
	width: 5rem;
	font-weight: 700;
}

.modal-dialog.regulations .name {
	width: 6rem;
	margin-left: .5rem;
	margin-right: auto;
}

.modal-dialog.regulations .basis {
	width: 100%;
	font-size: .9rem;
	line-height: 1.2;
	color: #666;
}

.modal-dialog.regulations .list-group-numbered > .list-group-item::before {
	width: 2rem;
	text-align: end;
}

.modal-dialog.regulations .divider {
	margin: 0;
	padding: 0;
	height: 6px;
}

.modal-dialog.regulations .divider hr {
	margin: 0;
	padding: 0;
	color: transparent;
}

#councilorModal table {
	table-layout: auto;
}

#councilorModal table th:nth-child(1),
#councilorModal table td:nth-child(1) {
	width: 3rem;
	text-align: center;
}

#councilorModal table .regulations {
}

#councilorModal table .affiliation {
	width: 30%;
}

#councilorModal table .name {
	width: 10rem;
}

footer {
	background-color: var(--footer-bg-color);
}

footer dt {
	color: var(--border-color);
}

footer #contact-info-phone::before {
	content: '\f095';
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	margin-right: .5rem;
	opacity: .3;
}

footer #contact-info-fax::before {
	content: '\f1ac';
	font-weight: 900;
	font-family: "Font Awesome 5 Free";
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	margin-right: .5rem;
	opacity: .3;
}

footer nav ul {
	display: flex;
}

footer nav li {
	list-style-type: none;
	padding: 0 .5rem;
}

footer nav li:not(:first-child) {
	border-left: 2px dotted var(--border-color);
}

a[data-filetype="pdf"]::before {
	content: '\f1c1';
	font-family: 'Font Awesome 5 Free';
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	color: red;
	margin: 0 .25rem;
	font-weight: 400;
	text-decoration-line: none;
}

a[data-filetype="docx"]::before {
	content: '\f1c2';
	font-family: 'Font Awesome 5 Free';
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	color: #2554a5;
	margin: 0 .25rem;
	font-weight: 400;
	text-decoration-line: none;
}

a.phoneto {
	color: #669999;
	text-decoration: none;
}

p.lead strong {
	color: #669999;
	letter-spacing: 2px;
}

a.phoneto::before {
	content: "\f095";
	font-family: 'Font Awesome 5 Free';
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;
	margin: 0 .125rem;

	font-weight: 900;
	padding-right: 6px;
}

#toTop {
	position: fixed;
	z-index: 1024;
	z-index: 256;
	bottom: 20px;
	right: 20px;
	display: none;
	width: 52px;
	height: 52px;
	border: none;
	border-radius: 50%;
	outline: none;
	background-color: var(--accent-color);
	cursor: pointer;
	overflow: hidden;
	transition: all .2s;
}

#toTop::before {
	content: '\f077';
	font-weight: 900;
	font-family: 'Font Awesome 5 Free';
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;

	display: inline-block;
	width: 30px;
	height: 30px;
	text-align: center;
	font-size: 28px;
	padding: 0;
	margin: 10px 7px;
	line-height: 1;

	color: white;
}

#toTop:hover {
	background-color: var(--button-hover-color);
	color: var(--accent-color) !important;
	box-shadow: 0px 2px 3px 0px rgba(0, 0, 0, 0.3);
	transition: all .2s;
}

#toTop:hover::before {
	color: var(--accent-color) !important;
	transition: all .2s;
}

td.num {
	text-align: end;
}

.alert {
	z-index: 512;
}

div.notice {
	padding: .75rem;
	border: var(--bs-border-width) var(--bs-border-style) #999;
	border-radius: var(--bs-border-radius);
	box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
	background-color: #20c99711;
	color: #333;
	font-size: .9rem;
	margin-top: 1rem;
	margin-bottom: 1rem;
}

div.notice > ul {
	margin: 0;
	list-style-type: none;
	padding-left: 1.75rem;
}

ul.notice {
	padding: .75rem;
	border: var(--bs-border-width) var(--bs-border-style) #999;
	border-radius: var(--bs-border-radius);
	box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
	background-color: #20c99711;
	color: #333;
	font-size: .9rem;
	margin-top: 1rem;
	margin-bottom: 1rem;
	list-style-type: none;
	padding-left: 2.5rem;
}

div.notice > ul > li,
ul.notice > li {
/*
	list-style-image: url('test.svg');
	list-style-image: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAxOTIgNTEyIj48IS0tIUZvbnQgQXdlc29tZSBGcmVlIDYuNy4yIGJ5IEBmb250YXdlc29tZSAtIGh0dHBzOi8vZm9udGF3ZXNvbWUuY29tIExpY2Vuc2UgLSBodHRwczovL2ZvbnRhd2Vzb21lLmNvbS9saWNlbnNlL2ZyZWUgQ29weXJpZ2h0IDIwMjUgRm9udGljb25zLCBJbmMuLS0+PHBhdGggZD0iTTIwIDQyNC4yaDIwVjI3OS44SDIwYy0xMSAwLTIwLTktMjAtMjBWMjEyYzAtMTEgOS0yMCAyMC0yMGgxMTJjMTEgMCAyMCA5IDIwIDIwdjIxMi4yaDIwYzExIDAgMjAgOSAyMCAyMFY0OTJjMCAxMS05IDIwLTIwIDIwSDIwYy0xMSAwLTIwLTktMjAtMjB2LTQ3LjhjMC0xMSA5LTIwIDIwLTIwek05NiAwQzU2LjIgMCAyNCAzMi4yIDI0IDcyczMyLjIgNzIgNzIgNzIgNzItMzIuMiA3Mi03MlMxMzUuOCAwIDk2IDB6Ii8+PC9zdmc+");
	<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 192 512"><!--!Font Awesome Free 6.7.2 by @fontawesome - https://fontawesome.com License - https://fontawesome.com/license/free Copyright 2025 Fonticons, Inc.--><path d="M20 424.2h20V279.8H20c-11 0-20-9-20-20V212c0-11 9-20 20-20h112c11 0 20 9 20 20v212.2h20c11 0 20 9 20 20V492c0 11-9 20-20 20H20c-11 0-20-9-20-20v-47.8c0-11 9-20 20-20zM96 0C56.2 0 24 32.2 24 72s32.2 72 72 72 72-32.2 72-72S135.8 0 96 0z"/></svg>
*/
	text-indent: -.75rem;
}

div.notice > ul > li::before,
ul.notice > li::before {
	font-family: 'Font Awesome 5 Free';
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;

	display: inline-block;
	font-weight: 400;
	width: .5rem;
	margin-right: .25rem;
}

div.notice > ul > li::before,
ul.notice > li::before {
	content: '\f0eb';
	content: '\f058';
	color: var(--accent-color);
	font-weight: 900;
}

div.notice > ul > li.notice::before,
ul.notice > li.notice::before {
	content: '\f06a';
	color: #facc2e;
	color: #1d5be2;
	color: #20c997;
	color: brown;
}

div.notice > ul > li.star::before,
ul.notice > li.star::before {
	content: '\f069';
	color: unset;
	opacity: .5;
}

li.notice {
	color: #f33;
}

blockquote {
	padding: 1rem;
	margin: 0 1rem;
	border: var(--bs-border-width) var(--bs-border-style) var(--bs-border-color);
	border-radius: var(--bs-border-radius);
	box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
	background-color: white;
}

blockquote cite {
	display: block;
	text-align: end;
	font-style: normal;
}

#whatsnew .filter {
	flex-wrap: wrap;
}

#whatsnew .filter label {
	display: inline-block;
	width: 8rem;
	margin: .5rem;
}

/*@media (min-width: 768px) {
	#whatsnew .filter label {
		display: inline-block;
		width: 6rem;
	}
}*/

/*
#whatsnew .topics li::before {
	content: '['attr(data-date)']';
}
*/

#whatsnew .topics li {
	border-radius: 0;
	border-left-width: 0;
	border-right-width: 0;
}

#whatsnew .topics li:first-child {
	border-top-width: 0;
}

#whatsnew .topics li:last-child {
	border-bottom-width: 0;
}

/* スマホ版は日付の直後に */
#whatsnew .topics li > time {
	font-style: normal;
	color: #888;
}

#whatsnew .topics li > time::after {
	display: inline-block;
	border-radius: .75rem;
	padding: .125rem;
	color: white;
	font-size: .8rem;
	width: 5rem;
	text-align: center;
	opacity: .75;
	float: inline-end;
}

#whatsnew .topics li.info > time::after {
	content: 'お知らせ';
	background-color: #1d56a1;
}

#whatsnew .topics li.recruit > time::after {
	content: '募集案内';
	background-color: #347c31;
}

#whatsnew .topics li.others > time::after {
	content: 'その他';
	background-color: #aaa;
}

#whatsnew .topics li > i.category::after {
	display: none;
	font-style: normal;
}

@media (min-width: 768px) {
	/* PC版は右端に */
	#whatsnew .topics li > time::after {
		display: none;
	}

	#whatsnew .topics li > i.category::after {
		display: inline-block;
		border-radius: .75rem;
		padding: .125rem;
		color: white;
		font-size: .8rem;
		width: 5rem;
		text-align: center;
		opacity: .75;
	}

	#whatsnew .topics li.info > i.category::after {
		content: 'お知らせ';
		background-color: #1d56a1;
	}

	#whatsnew .topics li.recruit > i.category::after {
		content: '募集案内';
		background-color: #347c31;
	}

	#whatsnew .topics li.others > i.category::after {
		content: 'その他';
		background-color: #aaa;
	}
}

#whatsnew .topics li > div {
	min-height: 3rem;
}

#whatsnew .topics .title {
	display: block;
	font-weight: 500;
	line-height: 1.2;
}

#whatsnew .topics a {
	text-decoration-line: none;
}

#care .notifications ul , 
#care .regulations ul {
	padding-left: 1rem;
}

#care .notifications li , 
#care .regulations li {
	list-style-type: none;
}

#events .calendar {
	background-color: white;
}

#events .calendar .red {
	color: red;
}

#events .calendar .blue {
	color: blue;
}

#events .calendar table .day {
	width: 2rem;
	text-align: center;
}

#events .calendar table .week {
	width: 2rem;
	background-color: #f9f9f9;
	text-align: center;
}

#events .calendar table .time {
	background-color: #f9f9f9;
	text-align: end;
}

#events .calendar .timestamp {
	text-align: end;
}

#tayori .card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background-color: transparent;
	line-height: 1.1;
	border-bottom-style: dashed;
}

#tayori h3.card-title {
	font-size: 1rem;
	margin: 0;
	border: none;
	letter-spacing: 1px;
	padding: .25rem;
}

#tayori h3.card-title::after {
	content: '['attr(data-page)'ページ]';
	color: #999;
	margin-left: .25rem;
}


#tayori .card-header span {
	float: right;
}

.eyecatch {
	text-align: center;
}

#bokin h2::before {
	content: '';
	background: url('../../bokin/images/hane.png') no-repeat;
	background-size: auto;
	background-size: contain;
	width: 2rem;
	height: 2rem;
	display: inline-block;
}

#download span.attr {
	color: #999;
	font-size: .9rem;
	letter-spacing: 1px;
	display: inline-block;
}

#download span.attr::before {
	content: '[';
}

#download span.attr::after {
	content: ']';
}

span.chunk {
	display: inline-block;
}

ul#situations {
	padding: .75rem;
/*
	border: var(--bs-border-width) var(--bs-border-style) #999;
	border-radius: var(--bs-border-radius);
	box-shadow: 0 .125rem .25rem rgba(0,0,0,.075);
*/
	color: #333;
	margin-top: 1rem;
	margin-bottom: 1rem;
	list-style-type: none;
	padding-left: 2.5rem;
	line-height: 1.8;
	font-size: 1.1rem;
}


ul#situations > li {
	text-indent: -.75rem;
	line-height: 1.4;
	padding-bottom: .75rem;
}

ul#situations > li::before {
	content: '\f00c';

	font-family: 'Font Awesome 5 Free';
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
	font-style: normal;
	font-variant: normal;
	text-rendering: auto;

	display: inline-block;
	font-weight: 400;
	width: .5rem;
	margin-right: .25rem;

	color: var(--accent-color);
	font-weight: 900;
}

.alert-dismissible {
	padding-right: 1rem;
}

/*
#result-msg-fail,
#result-msg-success {
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
}
*/

/*
#invite #onegai .card-footer {
	background-image: url('../img/onegai-partial.png');

}

#invite .members .card-footer .notice {
	position: absolute;
	bottom:0;
	background-color: var(--accent-color);
}
*/

.card {
	height: 100%;
}

.card.id-card {
	background-color: #ffc0cb11;
}

.card.tsushin {
	height: 100%;
	background-color: white;
}

.tsushin .card-header {
	display: flex;
	align-items: center;
	justify-content: space-between;

	background-color: transparent;
	line-height: 1.1;
	border-bottom-style: dashed;
	background-color: #ffc0cb11;
}

.tsushin h3.card-title {
	font-size: 1rem;
	margin: 0;
	border: none;
	letter-spacing: 1px;
	padding: .25rem;
}





.dialy .card-header {
	background-color: transparent;
	line-height: 1.1;
	border-bottom-style: dashed;
}

.dialy.card.girl {
	background-color: #ffc0cb11;
}

.dialy.card.boy {
	background-color: #87ceeb11;
}

.dialy .card-body {
	background-color: white;
}

.dialy .card-footer {
	background-color: transparent;
	border-top: 1px dashed var(--bs-card-border-color);
}

h2.card-title,
h3.card-title {
	margin-top: 0;
}

.dialy h3.card-title {
	font-size: 1rem;
	margin: 0;
	border: none;
	letter-spacing: 1px;
	padding: .25rem;
}

.dialy .summary {
	display: flex;
	align-items: center;
/*
	justify-content: space-between;
*/
	padding: 0 var(--bs-card-spacer-x);
	padding: 0 var(--bs-card-cap-padding-x);
	border-bottom: var(--bs-card-border-width) solid var(--bs-card-border-color);
	background-color: rgba(var(--bs-light-rgb), .3);
}

.dialy .summary > i {
	font-style: normal;
	padding: .25rem;
}

.dialy .summary > span {
	padding: .25rem;
	letter-spacing: 2px;
}

.dialy .summary :first-child {
	flex-grow: 1;
}

.dialy .detail {
	margin-top: 1rem;
}

.dialy .detail h4 {
	font-size: 1rem;
	font-weight: 500;
	letter-spacing: 2px;
	border-bottom: 1px solid var(--accent-color);
}

.dialy .detail h4 span {
	display: inline-block;
	letter-spacing: 1px;
	background-color: #20c99733;

	font-variant-numeric: tabular-nums;
	width: 4rem;
	text-align: end;
	margin-right: .5rem;
	padding: .25rem;
	font-weight: normal;
}

/* ----- インライン ----- */

.bd-placeholder-img {
	font-size: 1.125rem;
	text-anchor: middle;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
}

@media (min-width: 768px) {
	.bd-placeholder-img-lg {
		font-size: 3.5rem;
	}

	.w-lg-auto {
		width: auto !important;
	}

	.w-lg-25 {
		width: 25% !important;
	}

	.w-lg-50 {
		width: 50% !important;
	}

	.w-lg-75 {
		width: 75% !important;
	}

	.w-lg-100 {
		width: 100% !important;
	}
}

.b-example-divider {
	width: 100%;
	height: 3rem;
	background-color: rgba(0, 0, 0, .1);
	border: solid rgba(0, 0, 0, .15);
	border-width: 1px 0;
	box-shadow: inset 0 .5em 1.5em rgba(0, 0, 0, .1), inset 0 .125em .5em rgba(0, 0, 0, .15);
}

.b-example-vr {
	flex-shrink: 0;
	width: 1.5rem;
	height: 100vh;
}

.bi {
	vertical-align: -.125em;
	fill: currentColor;
}

.nav-scroller {
	position: relative;
	z-index: 2;
	height: 2.75rem;
	overflow-y: hidden;
}

.nav-scroller .nav {
	display: flex;
	flex-wrap: nowrap;
	padding-bottom: 1rem;
	margin-top: -1px;
	overflow-x: auto;
	text-align: center;
	white-space: nowrap;
	-webkit-overflow-scrolling: touch;
}

.btn-bd-primary {
	--bd-violet-bg: #712cf9;
	--bd-violet-rgb: 112.520718, 44.062154, 249.437846;

	--bs-btn-font-weight: 600;
	--bs-btn-color: var(--bs-white);
	--bs-btn-bg: var(--bd-violet-bg);
	--bs-btn-border-color: var(--bd-violet-bg);
	--bs-btn-hover-color: var(--bs-white);
	--bs-btn-hover-bg: #6528e0;
	--bs-btn-hover-border-color: #6528e0;
	--bs-btn-focus-shadow-rgb: var(--bd-violet-rgb);
	--bs-btn-active-color: var(--bs-btn-hover-color);
	--bs-btn-active-bg: #5a23c8;
	--bs-btn-active-border-color: #5a23c8;
}
.bd-mode-toggle {
	z-index: 1500;
}
