/***************************************
Color Scheme
07913A		main
E7F3EB		sub
F09192		accent
FFF1EB		background
***************************************/

* {margin: 0; padding: 0; box-sizing: border-box;}

body {
font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", sans-serif;
font-size: 90%;
line-height: 1.6;
color: #333;
}

/***************************************
Tag Level
***************************************/
section {margin-bottom: 50px;}

h1, h2, h3, h4, h5, h6 {line-height: 1.6;}

h1 {
	padding: 27px 20px 25px 20px;
    margin-bottom: 30px;
    background-color: #F3A7A8;
    color: #FFF;
    font-size: 120%;
    border-bottom: 4px solid #FFF;
    border-radius: 4px 4px 0 0;
    -webkit-border-radius: 4px 4px 0 0;
	-moz-border-radius: 4px 4px 0 0;
}

h2 {
	position: relative;
	padding: 17px 20px 15px 20px;
	margin-bottom: 30px;
	background-color: #F3A7A8;
	color: #fff; font-size: 115%;
	border-radius: 4px 4px 4px 4px;
	-webkit-border-radius: 4px 4px 4px 4px;
	-moz-border-radius: 4px 4px 4px 4px;
}

h3 {
	padding: 10px 10px 10px 10px;
	margin-bottom: 30px;
	font-size: 110%;
	border-bottom: 2px solid #F3A7A8;
}
h4 {
	font-size: 105%;
	margin-bottom: 30px;
}
h4::before {
content: "";
display: inline-block;
position: relative;
top: -1px;
left: 0;
width: 15px;
height: 15px;
vertical-align: middle;
background-color: #F3A7A8;
margin-right: 10px;
color: #07913A;
}

h5 {
	font-size: 100%;
	margin-bottom: 30px;
}

h6 {
	font-size: 100%;
	margin-bottom: 30px;
}

p {margin-bottom: 10px;}

ul,ol,dl{margin-bottom: 30px;}
dl ul,dl ol{margin-bottom: 0;}

ul {margin-left: 24px;}
li {margin-bottom: 15px; line-height: 1;}
li:last-child {margin-bottom: 0px;}

ul.none {margin-left: 0px;}
ul.none li {list-style-type: none;}

ol li {margin-left: 24px;}

dl {
width: 100%;
border-bottom: 1px dotted #ccc;
padding-bottom: 30px;
margin-bottom: 30px;
}

dt {
font-weight: bold;
display: inline-block;
width: 100%;
margin-bottom: 20px;
}
dd {
display: inline-block;
width: 96%;
margin-left: 4%;
box-sizing: border-box;
}

table {
	border-collapse: collapse;
	text-align: left;
	width: 100%;
	margin: 10px;
	font-size: 90%;
}

caption {
	caption-side:top;
	color: inherit;
	padding-top:0;
   padding-bottom:10px;
}

table th {
	padding: 12px;
	font-weight: bold;
	vertical-align: top;
	text-align: left;
	border: 1px solid #ccc;
	background-color: #FFF1EB;
	box-sizing: border-box;
}

table td {
	padding: 12px;
	vertical-align: top;
	text-align: left;
	border: 1px solid #ccc;
	box-sizing: border-box;
}

table.schedule tr:first-child th,
table.schedule tr:first-child td {text-align: center;}
table.schedule th:nth-child(1) {width: 40%;}
table.schedule th:nth-child(2) {width: 30%;}
table.schedule th:nth-child(3) {width: 30%;}
table.schedule td {text-align: center;}

a:link {color:#F09192; text-decoration: none;}
a:visited {color: #F09192;}
a:hover {color: #F09192; text-decoration: underline;}
a:active {color: #F09192;}

i {margin-right: 10px;}

hr {border: none; border-bottom: 1px dotted #ccc; margin: 30px 0;}


form {}

fieldset {
font-size: 100%;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
padding: 20px;
margin-bottom: 30px;
}

legend {
	font-size: 100%;
	width: auto;
	font-weight: bold;
	padding:0 20px;
	margin: 0;
}

.required-mark {color: #F09192;}

legend span.required-mark {
font-size: 80%;
font-weight: normal;
color: #fff;
background-color: #F09192;
padding: 4px 10px;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
box-sizing: border-box;
margin-left: 10px;
}

fieldset ul {margin: 0;}
fieldset ul li {list-style-type: none; display: inline; margin-right: 20px; white-space: nowrap; word-wrap: break-word; word-break: keep-all;}
fieldset ul li input {margin-right: 5px;}

input[type="text"],
input[type="url"],
input[type="email"],
input[type="password"],
input[type="search"],
input[type="number"],
input[type="tel"],
input[type="color"] {
width: 100%;
font-size: 100%;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
padding: 10px;
outline: 0;
-webkit-transition: 50ms border-color ease-in-out;
transition: 50ms border-color ease-in-out;
/*margin-bottom: 10px;*/
    height: calc(2.00rem + 2px);
}

textarea {
width: 100%;
font-size: 100%;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
padding: 10px;
box-sizing: border-box;
height: 6em;
}

select {
width: 100%;
font-size: 100%;
border: 1px solid #ccc;
border-radius: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
padding: 5px 3px;
outline: 0;
-webkit-transition: 50ms border-color ease-in-out;
transition: 50ms border-color ease-in-out;
box-sizing: border-box;
margin-bottom: 5px;
    height: calc(2.00rem + 2px);
}

option { padding: 10px;}

button,
input[type=submit] {
display: block;
cursor: pointer;
outline: none;
color: #fff;
font-size: 90%;
font-weight: bold;
text-align: center;
box-sizing: border-box;
border-radius: 6px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
border: none;
border-bottom: 4px solid #F3A7A8;
background-color: #F09192;
padding: 20px 10px;
width: 80%;
margin:0 auto 10px;
}

a img:hover,
button:hover,
input[type=submit]:hover {
filter: alpha(opacity=80);
-moz-opacity:0.8;
opacity:0.8;
}

ul.li-block li {display: block}
iframe {margin-bottom:30px; display: block;}


/***************************************
Parts
***************************************/
.flex {
display: flex;
justify-content: flex-start;
/*margin-bottom: 30px;*/
}

.flex.wrap {flex-wrap: wrap;}

.flex.space-between {justify-content: space-between;}
.flex.space-around {justify-content: space-around;}
.flex.row {flex-direction: row;}
.flex.wrap {flex-wrap: wrap;}

.half {width: 49%;}
.box,
.linkbox a {
border: 3px solid #F09192;
border-radius: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
box-sizing: border-box;
padding: 20px 20px 20px 20px;
margin-bottom: 10px;
font-size: 90%;
}

.box p:last-child,
.box ul:last-child,
.box ol:last-child,
.box li:last-child,
.box dl:last-child {margin-bottom: 0;}

ul.linkbox li {width: 49%;}
ul.linkbox li a {text-align: center; display: block; text-decoration: none;}
ul.linkbox li a:link {color: #F09192;}
ul.linkbox li a:visited {color: #F09192;}
ul.linkbox li a:hover {background-color: #FFF1EB; text-decoration:underline; font-weight: bold;}
ul.linkbox li a:active {color: #F09192;}
ul.linkbox li a span {font-size: 80%;}

ul.linkbox li:nth-child(odd) {margin-right: 1%;}
ul.linkbox li:nth-child(even) {margin-left: 1%;}

.whitebox {
background-color: #fff;
box-sizing: border-box;
border-radius: 6px;
-webkit-border-radius: 6px;
-moz-border-radius: 6px;
padding: 20px 20px;
margin: 0 auto 30px;
}

.buttonbox div {margin-bottom: 20px;}

.buttonbox {width: 100%;}
.buttonbox div:first-child {width: 49%; margin-right: 1%;}
.buttonbox div:last-child {width: 49%; margin-left: 1%;}

.buttonbox div p {font-size:90%; margin-bottom: 30px;}
.buttonbox div button {width: 100%; margin-bottom: 0;}

.buttonbox.column-2 div {width: 49%;}
.buttonbox.column-2 div:first-child {margin-right: 1%;}
.buttonbox.column-2 div:last-child {margin-left: 1%;}

.buttonbox.column-3 div {width: 32%; margin-right: 2%;}
.buttonbox.column-3 div:last-child {margin-right: 0%;}

.notes {padding-left:1.3em; text-indent:-1.3em; font-size: 90%; color: #666;}
.notes:before {	content: "※ ";}

ul.notes {margin-left: 0; padding-left:0em; text-indent:0em;}
ul.notes:before {content:none;}
ul.notes li {list-style-type: none;}
ul.notes li:before {content: "※ ";}
ul.notes li {padding-left:1.3em; text-indent:-1.3em;}


.inner {width: 1000px; margin: 0 auto; }

.pc-none {display: none;}
.sp-none {display: inline;}

.small {font-size: 90%;}
.center {text-align: center;}
.middle {vertical-align: middle;}
.right {text-align: right;}
.left {text-align: left;}

.coution {
color: #F09192;
font-weight: bold;
padding: 20px;
box-sizing:border-box;
border: 3px solid #F09192;
border-radius: 4px;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
margin-bottom: 30px;
}
.mb0 {margin-bottom: 0px;}
.mb10 {margin-bottom: 10px;}
.mb20 {margin-bottom: 20px;}
.mb30 {margin-bottom: 30px;}

ul.label-list {margin-left: 0;}
ul.label-list li {
background-color: #E7F3EB;
color: #07913A;
text-align: center;
font-size: 80%;
padding: 8px 12px;
border-radius: 3px;
-webkit-border-radius: 3px;
-moz-border-radius: 3px;
box-sizing: border-box;
list-style-type: none;
display: inline-block;
margin-right: 10px;
width:auto;
}

/***************************************
Layout
***************************************/
#wapper {
width: 1000px;
margin: 0 auto;
}

/***************************************
Header
***************************************/
header {width: 1000px; margin: 0 auto; padding-top: 10px;}
header.flex {margin-bottom: 10px;}
header #logo {width: 600px; margin:0 0 0px 0;}
header #logo img {width: 246.56px; height: 60px;}
header #tagline {font-size: 60%; margin:10px 0 0 0;}
header div#action-info {width: 400px; text-align: right; font-size: 90%;}
header div#action-info ul {margin: 0;}
header div#action-info ul li {list-style-type: none; display: inline-block;}
header div#action-info ul li:nth-child(1) {width: 34%; margin-right: 2%;}
header div#action-info ul li:nth-child(2) {width: 30%; margin-right: 2%;}
header div#action-info ul li:nth-child(3) {width: 32%; margin-right: 0%;}
header div#action-info ul li button {width: 100%; padding: 10px 6px; line-height: 1; margin: 0; font-weight: normal;}
header div#action-info #translate-area { padding: 5px; background-color: #ddd; text-align: center; margin-bottom: 5px;}
header div#action-info #search-area form.flex {margin-bottom: 0;}
header div#action-info #search-area input[type=search] {width: 68%; margin-right: 2%; padding: 15px 10px; border: 2px solid #ddd; margin-bottom: 0;}
header div#action-info #search-area button[type=submit] {width: 30%; padding: 5px 10px; font-weight: normal; margin-bottom: 0;}

header div#header_phone ul li p {margin-bottom: 5px;}
header div#header_phone ul li:nth-child(1) {width: 60%; margin-right: 2%;margin-bottom: 5px; font-size: 160%;color: #F09192;}
header div#header_phone ul li:nth-child(2) {width: 34%; margin-right: 2%;margin-bottom: 5px;  font-size: 90%;color: #000000;}

/***************************************
Navigation
***************************************/
nav {
	/*background-color: #E7F3EB; */
	/*margin-bottom: 30px; */
	padding: 0px 0;}
nav ul{width: 1000px; margin: 0 auto;
border-bottom: 3px solid #F09192;
}
nav ul li {display: inline; text-align: center;}
nav ul li a {
	display: inline-block;
	border-left:1px dotted #fff;
	box-sizing:border-box;
	text-decoration: none;
}

nav.nologin ul li:nth-child(1) a {width: 160px;}
nav.nologin ul li:nth-child(2) a {width: 160px;}
nav.nologin ul li:nth-child(3) a {width: 160px;}
nav.nologin ul li:nth-child(4) a {width: 160px;}
nav.nologin ul li:nth-child(5) a {width: 160px;}
nav.nologin ul li:nth-child(6) a {width: 160px;}
nav.nologin ul li:nth-child(7) a {width: 160px;}

nav.admin_login ul li:nth-child(1) a {width: 160px;}
nav.admin_login ul li:nth-child(2) a {width: 160px;}
nav.admin_login ul li:nth-child(3) a {width: 160px;}
nav.admin_login ul li:nth-child(4) a {width: 160px;}
nav.admin_login ul li:nth-child(5) a {width: 160px;}
nav.admin_login ul li:nth-child(6) a {width: 160px;}
nav.admin_login ul li:nth-child(7) a {width: 160px;}

nav ul li:nth-child(1) a {width: 120px;}
nav ul li:nth-child(2) a {width: 250px;}
nav ul li:nth-child(3) a {width: 210px;}
nav ul li:nth-child(4) a {width: 210px;}
nav ul li:nth-child(5) a {width: 210px;}

nav ul li a:link {
	color:#000000;
	/*color: #07913A;*/
}
nav ul li a:visited {
	color:#000000;
	/*color: #07913A;*/
}
nav ul li a:hover {
	color: #F09192;
	/*background-color: #07913A; */
	text-decoration: none;
}
nav ul li a:active {
	color: #F09192;
}
nav ul li a:last-child {border-right:1px dotted #fff;}
nav ul li a i.nav {display: block; font-size: 200%; margin:0 0px 10px 0;}




.budget{
	width:700px;
	font-size: 80%;
	background-color: #FFF1EB;
	padding: 15px 20px;
	margin: 0 auto 10px auto;
	border-radius: 4px 4px 4px 4px;
	-webkit-border-radius: 4px 4px 4px 4px;
	-moz-border-radius: 4px 4px 4px 4px;
}
.budget ol {
	margin-bottom: 0px;
}
.budget ol li {
	margin: 0 15px 0 0;
	display: inline;
	list-style-type: none;
	white-space: nowrap;
}

.budget ol li:after {
	font-family: "FontAwesome";
	content: '\f101';
	margin-left: 15px;
}

.budget ol li:last-child:after {content:  "";}

.lock {overflow:hidden;}

p.close_top,
p.close_bottom{
margin: 10px;
}

p.close_top .modal-close,
p.close_bottom .modal-close {
color: #333;
border:1px solid #ccc;
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
box-sizing: border-box;
padding: 10px 10px;
font-size: 90%;
font-weight: bold;
background-color: #fffff;
}

.modal-content > ul{
overflow: hidden;
margin:0;
padding:0;
}

.modal-content > ul li.label{
padding:0 4%;
margin-bottom: 0;
}

ul.nav_box{
margin:0;
padding:0;
overflow: hidden;
}

ul.nav_box li {
width: 100%;
list-style-type: disc;
list-style-type: none;
margin-bottom: 0;
font-weight: bold;
}

ul.nav_box li ul {margin: 0 0 0 0;}
ul.nav_box li li {font-weight: normal;}
ul.nav_box li li a {margin-left: 20px; padding-left:1.3em; text-indent:-1.3em;}
ul.nav_box li li a:before {content: "├ "; }
ul.nav_box li li:last-child a:before {content: "└ "; }
li.label a{
display: block;
padding: 10px 10px;
box-sizing: border-box;
border-bottom: 1px dotted #ccc;
}

li.label a:hover {background-color: #E7F3EB; color:#07913A; }

p.close_bottom{
overflow: hidden;
text-align: center;
}

p.close_bottom a{
display: block;
color:#a5a4a4;
background-color: #fff;
padding:10px 30px;
font-size: 1.4em;
}

/***************************************
Main Contents
***************************************/
main#column1{width: 100%;padding-left: 240px;}
main#column2{ width:auto;padding-left: 240px;}
main#message{ width:700px;margin: 0 10;}

/***************************************
ASide
***************************************/
aside { width:280px; margin-bottom: 30px;}

aside .ad-area {margin-bottom: 20px;}
aside .ad-area a {display: block; text-align: center;}
aside .ad-area a img { width: 100%; max-width: 300px;}

aside .aside-box {margin-bottom: 0px;}
aside .aside-box a.flex {display: block; padding: 10px; margin: 0;}
aside .aside-box a.flex:hover {background-color: #E8F5ED; text-decoration: none;}
aside .aside-box a.flex div {display: inline-block; width: 30%; margin-right: 7%; vertical-align: top;}
aside .aside-box a.flex div img {width: 80px;}
aside .aside-box a.flex p {display: inline-block; width: 60%; margin: 0; font-size: 90%;}

/***************************************
Footer
***************************************/
footer {font-size: 90%; text-align: center;

}

 footer p#go-to-top {margin-bottom: 0;}
 footer p#go-to-top a {
padding: 20px 0 20px 0;
background-color: #E7F3EB;
color: #07913A;
display: block;
text-decoration: none;
font-weight: bold;
 }

footer p#go-to-top a:hover {
filter: alpha(opacity=60);
-moz-opacity:0.6;
opacity:0.6;
}

footer #links {
background-color: #f9f9f9;
color: #fff;
padding: 50px;
box-sizing: border-box;
flex-flow: row;
}

footer #links h4:before {
	background-color:#fff;
}
footer #links h4 {color: #222;}
footer ul {margin-left: 0;}
footer ul li {display: inline; margin-right: 30px;}
footer ul li:last-child {margin-right: 0px;}

footer #links {text-align: left; font-size: 100%;}
footer #links ul {margin:0 0 30px 20px; padding-bottom: 14px; border-right: 1px solid #ccc;}
footer #links ul li {display: inline-block; margin:0 30px 15px 0; white-space: nowrap; line-height: 1.8;}
footer #links ul li:last-child {margin-right: 0px;}

footer a:link {color: #444;}
footer ul li a:link {color:#444; text-decoration: none;}
footer ul li a:visited {color: #444;}
footer ul li a:hover {color: #444; text-decoration: underline;}
footer ul li a:active {color: #444;}

footer #links a:before {
	font-family: "FontAwesome";
	content: '\f105';
	margin-right: 10px;
}

footer #links a:before:hover {text-decoration: none;}
footer #links a:hover:before {text-decoration: none;}

footer #secretariat {
padding: 50px 0;
box-sizing: border-box;
text-align: left;
}

footer #secretariat a:link {color:#F09192; text-decoration: none;}
footer #secretariat a:visited {color: #F09192;}
footer #secretariat a:hover {color: #F09192; text-decoration: underline;}
footer #secretariat a:active {color: #F09192;}

footer #secretariat.flex div:first-child {}
footer #secretariat.flex div:first-child h4,
footer #secretariat.flex div:first-child h5,
footer #secretariat.flex div:first-child p {margin-bottom: 12px;}
footer #secretariat.flex div:first-child i {font-size: 140%;}

footer #secretariat.flex div:last-child {text-align: right;}
footer #secretariat.flex div:last-child p {margin-bottom: 10px;}
footer #secretariat.flex div:last-child img {text-align: right; width: 80%; height: auto;}

footer address.copyright {
	position: fixed; /* フッターを固定する */
background-color: #444;
color: #fff;
padding: 5px 0px;
margin-bottom: 0;
font-style: normal;
font-size: 80%;
    width: 100%;
    bottom: 0;
}

footer #footer-menu {display: none;}


/***************************************
Accordion List.
***************************************/
.title{
	pointer-events: all;
	cursor: pointer;
	padding-left:1.6em; text-indent:-1.6em;
	/*border-bottom: 2px solid #07913A;*/
	padding-bottom: 10px;
	text-align: left;
	font-size: 110%;
	margin-bottom: 10px;
}

.ac {
border-bottom: none;
padding-bottom: 0px;
margin-bottom: 20px;
}



.title:after {	content: "\f0dd "; font-family: FontAwesome; margin-right: 10px; font-size: 110%; color:#bbb;}
.title.active:after {	content: "\f0de "; font-family: FontAwesome; margin-right: 10px; font-size: 110%; color:#bbb; }
.toggle {display: none;margin-bottom: 20px;}

/*News
ul#news {padding-bottom: 0; border: none; margin-left: 10px;}
ul#news li {list-style-type: none;}
ul#news li span:first-child {margin-right: 15px;}
ul#news li span:last-child {}

iframe.googlemap{width: 1000px; height: 480px;}
div.map {text-align: center; margin: 0 auto 20px auto;}
div.map img {width:100%; max-width: 350px; border: 3px solid #07913A; box-sizing: border-box;}

/***************************************
Tab Menu
***************************************/
.tab-menu {margin-bottom: 30px;}
.tab-nav{margin: 0; padding: 0; font-size: 90%;}

.tab-nav li{display: inline;}
.tab-nav li a{
    display: inline-block;
    background: #ddd;
    color: #000;
    padding: 10px;
    border-radius: 5px 5px 0 0;
    text-decoration: none;
    margin-bottom: -1px;
    margin-right: 10px;
}

.tab-nav li:last-child a {margin-right: 0px;}

.tab-nav li a:hover {
    background: #E7F3EB;
    color: #333;
}

.tab-nav li a.active{
    background: #07913A;
    color: #fff;
}
.tab-content {
padding: 20px;
border: 1px solid #ddd;
}

/***************************************
Home (Top Page)
***************************************/

.flex.wrap.element-column3 { margin-bottom: 0;}
.flex.wrap.element-column3 div:nth-child(1),
.flex.wrap.element-column3 div:nth-child(2),
.flex.wrap.element-column3 div:nth-child(4),
.flex.wrap.element-column3 div:nth-child(5) {width: 220px; margin-right: 20px;}

.flex.wrap.element-column3 div:nth-child(3),
.flex.wrap.element-column3 div:nth-child(6) {width: 220px;}

.flex.wrap.element-column3 div div:first-child {text-align: center;}
.flex.wrap.element-column3 div div img {width: 220px; height: auto; margin-bottom: 10px; border: 5px solid #FFF1EB;}
.flex.wrap.element-column3 div div a {display: block;}
.flex.wrap.element-column3 div p {font-size: 90%;}
.flex.wrap.element-column3 div div img:hover {border: 5px solid #F09192;}

/***************************************
Feature
***************************************/
section.feature-box {margin-bottom: 0;}
/*section.feature-box h2.flex {margin-bottom: 30px;}*/
section.feature-box h2.flex {margin-bottom: 10px;overflow: hidden;text-overflow: ellipsis;
white-space: nowrap;}
section.feature-box h2 div:first-child {}
section.feature-box h2 div:last-child {font-size:80%;font-weight: normal;}
section.feature-box h2 div:last-child a {color: #fff;}
section.feature-box h2 div:last-child:after {
	font-family: "FontAwesome";
	content: '\f101';
	margin-left: 10px;
}
section.feature-box p {margin-bottom: 10px;}
section.feature-box h3 {margin-bottom: 10px;overflow: hidden;text-overflow: ellipsis;
white-space: nowrap;}
section.feature-box h4 {margin-bottom: 10px;overflow: hidden;text-overflow: ellipsis;
white-space: nowrap;}
section.feature-box ul, ol, dl {margin-bottom: 10px;}
section.feature-box hr {margin: 10px 0;}

section.feature-box .photo-text-area {margin-bottom: 10px;}
section.feature-box .photo-text-area div:first-child {width: 240px;}
section.feature-box .photo-text-area div:first-child img {width: 240px; margin-bottom: 10px; border: 5px solid #FFF1EB;}
section.feature-box .photo-text-area div img:hover {border: 5px solid #F09192;}
section.feature-box .photo-text-area div:first-child a {}
section.feature-box .photo-text-area div:last-child {width: 440px;}

/***************************************
新規登録フォーム
***************************************/
div.register {
	display: -webkit-flex;
	display: flex;
	flex-style:row;
	 -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    padding: 30px;
}
div.register ul{ 
	margin: 10px 10px;
	list-style: none;
	min-width: 400px;
	-webkit-flex-basis: 200px;
    flex-basis: 200px;
}
div.register form button{
	font-size: 150%;
}

div.default-flex-center {
	display: -webkit-flex;
	display: flex;
	flex-style:row;
	 -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    padding: 30px;
}
div.default-flex-center ul{ 
	margin: 10px 10px;
	list-style: none;
	min-width: 400px;
	-webkit-flex-basis: 200px;
    flex-basis: 200px;
}
div.default-flex-center ul li{ 
	display: flex;
}
div.default-flex-center ul li p{ 
	    align-self: center;
}
div.default-flex-center ul li select{ 
	    width: 100%;
	    height: 40px;
    font-size: 100%;
    border: 1px solid #ccc;
    border-radius: 4px;
    padding: 10px;
    margin-bottom: 10px;
        background-color: #fff;
}

div.default-flex-center button{
	font-size: 150%;
}
p.message-info{
	padding: 5px;
	border-radius: 5px;
}


.pageheader {text-align: center; font-size: 200%; color: #fff; background-color: #f09192; padding: 15px 10px;}
.pageheader2 {text-align: center; font-size: 200%; color: #fff; background-color: #337ab7; padding: 15px 10px;}

p.reservation{
	width: 100%;
	padding: 15px 10px;
	    border: 1px solid #ccc;
    border-radius: 4px;
}

div.service_list {
	display: -webkit-flex;
	display: flex;
	flex-style:row;
/*	 -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;*/
    padding: 30px;
}
div.service_list ul{ 
	margin: 10px 10px;
	list-style: none;
	min-width: 300px;
	-webkit-flex-basis: 200px;
    flex-basis: 200px;
    border: 1px solid #ccc;
    padding: 20px;
}
div.service_list ul li{ 

	display: block;
}

div.service_list ul li p{ 
	    align-self: center;
}
div.service_list ul li button{ 
	    border-bottom: 4px solid #776f6f;
    background-color: #b9b6b6;
    margin: 20px;
}

p.service_title{
	font-size: 110%;
}

p.service_value{
	font-size: 90%;
	color: green;
}

input:disabled{
	background-color: #999;
}

div.default-flex-center form.schedule{ 
	width: 100%;
}

aside.admin_menubar{
    position: fixed;
    width: 240px;
    height: 100%;
}
aside.admin_menubar a{

	color: #FFF;
}
aside.admin_menubar ul{ 
	height: 100%;
	margin: 0px;
	list-style: none;
	min-width: 200px;
	-webkit-flex-basis: 200px;
    flex-basis: 200px;
    border: 1px solid #ccc;
    padding: 20px;
    background-color: #406080;
    
    overflow-y: auto;
    
}
aside.admin_menubar ul li{ 

	display: block;
}
.line-1 {
	overflow: hidden;
  	text-overflow: ellipsis;
  	height: 1.6em;
  	margin-bottom: 0px;
}
div.card-header button {
    margin-right: 0;
}
.vc_toggle_content{
	display:none;
}
.flex.searcharea{
	margin-bottom: 0px;
}
h2.search-detail{
	position: relative;
	padding: 6px 12px;
	text-align: center;
	margin-bottom: 10px;
	background-color: #F09192;
	color: #fff; font-size: 100%;
	border-radius: 4px 4px 4px 4px;
	-webkit-border-radius: 4px 4px 4px 4px;
	-moz-border-radius: 4px 4px 4px 4px;
}

 .modal_helper_change { 
 	display: none;
	position: absolute;
  	top: 50%;
  	left: 50%;
  	transform: translate(-50%, -50%);
  	width: 500px;
  	height: 400px;
  	z-index: 5000;
 } 
.modal_helper_change div.modal-dialog {
    position: relative;
    width: 500px;
    margin: .5rem;
    pointer-events: none;
}

.manage-right-buttons{
	display: flex;
	justify-content: flex-end;
	padding: 0px;
}
.card-header p{
	font-size: 150%;
	font-style: bold;
}
.search_toggle_content{
	display:none;
}
button.tabulator-page{
	width:initial;
}
div.searcharea input{
	margin-bottom: 0;
}
.card-header {
    padding: .5rem 1.0rem;
    /*display: table;*/
}
.card-body {
    padding: 1rem;
}
.card-header span.titles{
    font-size: 150%;
}
.card-header span.dates{
    font-size: 80%;
    float: right;
}
div.bluebox{
    background-color: #FFFFFF;
    border: 3px solid #66dddd;
    border-radius: 2.5rem;
    padding: 10px;
    margin-bottom: 10px;
}
div.bluebox.manager{
    background-color: #edf9fd;
}

label.typetitle{
	font-size: 120%;
}
div.tablearea{
	margin-bottom: 10px;
}

.message-area .from-other {
	position: relative;
	display: inline-block;
 	margin: 1.5em 0 1.5em 30px;
	padding: 7px 10px;
	min-width: 120px;
 	width: 80%;
 	color: #555;
	font-size: 16px;
 	
    background: #DDEEEE;
    border-radius: 15px;
}


.message-area .from-other:before{
	
		content: "";
	position: absolute;
	top: 50%;
	left: -30px;
 	margin-top: -15px;
	border: 15px solid transparent;
	border-right: 15px solid #DDEEEE;
	
}

.message-area .from-other p{
	margin: 5px;
	padding: 5px;
}

/*.from-self{
	text-align: left;
	background-color: #DDEEEE;
}*/
.message-area .from-self {
	 	position: relative;
    display: inline-block;
    margin: 1em 1px 1em 0;
    padding: 7px 10px;
    min-width: 120px;
    width: 80%;
    color: #555;
    font-size: 16px;
    
    margin-left: 15%;
	background: #FFFFFF;
	border-radius: 15px;

}

.message-area .from-self:before{
content: "";
	position: absolute;
	top: 50%;
	left: 100%;
 	margin-top: -15px;
	border: 15px solid transparent;
	border-left: 15px solid #FFFFFF;
}

.message-area .from-self p{
	margin: 5px;
	padding: 5px;
}



button.trash-box{
	height: 30px;
	width: 30px;
	padding: 0px;
	margin: 0px;
	background-color: rgba(255,255,255,0);
	border-bottom: none;
	color: #000000;
}
.message-area p.date{
	font-size: 80%;
	margin-bottom: 0px;
	margin-top: 0px;
	color:#888888
}

.message-area{
	background-color: #7f9cca;
	margin: 30px;
	word-wrap: break-word;
}
.message-title{
	align-items: center;
    display: flex;
}
div.side-menu2{
    margin-right: 30px;
}

.flex.space-between.two div {width: 49%;}

.admin_menubar ul hr{
	margin: 10px;
}
p.categoly{
	color: #FFFFFF;
	background-color: #f09192;
	padding: 5px;
}

div.nominate{
	background-color: #ebebff;
}
.invalid-feedback {
    display: none;
    width: 100%;
    margin-top: .25rem;
    font-size: 100%;
    color: #dc3545;
}

.mce-btn button {
    display: inline;
}

.font-middle
{
	font-size: 1rem !important;
}
.font-large 
{
	font-size: 1.2rem !important;
}
.dashboard-title
{
	font-size: 16px !important;
}

.dashboard_wrap:visited,.dashboard_wrap:link
{
	color: #333333;
}
.dashboard_wrap:hover
{
	color: #F09192;
}
.dashboard_wrap .pink
{
	color: #f09192;
}

/**
* 事業所検索用モーダル
*/
input:read-only.nursing_office{
    background-color: #FFFFFF;
}
#nursing_office_clear{
	font-size: 18px;
	cursor: pointer;
}
.nursing_office_modal{
    display: none;
    position: fixed;
    z-index: 1;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    overflow: auto;
    background-color: rgb(0,0,0);
    background-color: rgba(0,0,0,0.4);
    padding-top: 60px;
}
.nursing_office_modal .modal-content{
    background-color: #fefefe;
    margin: 5% auto;
    padding: 20px;
    border: 1px solid #888;
    width: 60%;
    border-radius: 15px;
    cursor: pointer;
}
.nursing_office_wrap{
    text-align: left;
}
.nursing_office_wrap .nursing_office_title{
    font-size: 24px;
    font-weight: bold;
}
.nursing_office_wrap .flex_between{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.nursing_office_wrap #nursing_office_close{
    background-image: url(/images2/icon/close.svg);
    background-repeat: no-repeat;
    background-position: center;
    width: 56px;
    height: 56px;
}
.nursing_office_prefecture_wrap, .nursing_office_municipality_wrap{
    display: flex;
    flex-direction: column;
}
.nursing_office_prefecture_wrap label,.nursing_office_municipality_wrap label, .nursing_office_name_wrap p{
    font-size: 18px;
    font-weight: bold;
    margin-bottom: 10px;
}
.nursing_office_prefecture_wrap select, .nursing_office_municipality_wrap select{
    width: 80% !important;
	height: auto !important;
    padding: 0.75rem !important;
    margin-bottom: 15px;
}
#nursing_office_name {
	list-style: none;
}
.nursing_office_name_wrap li{
    border: 1px solid #DDDDDD;
    padding: 0.75rem;
    font-weight: bold;
	margin-bottom: 0;
}
.nursing_office_name_wrap li .nursing_office_address{
    font-size: 14px;
    font-weight: normal;
    margin-top: 10px;
    margin-bottom: 0;
}
.nursing_office_search{
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 10px;
}
.nursing_office_search input{
    width: 80% !important;
	height: auto !important;
    padding: 0.75rem !important;
}
.nursing_office_search p{
    width: 20%;
    padding: 0.75rem;
    background: #F87076;
    border-radius: 16px;
    text-align: center;
    color: #FFF;
    margin-left: 10px;
    box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
}
.nursing_office_search p:hover{
    box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
}


/* ライブラリ「select2」　タグ検索 */
.select2-container--default .select2-selection--single .select2-selection__clear {
    display: none !important;
}

.select2-container--default .select2-results>.select2-results__options{
    max-height: 350px !important;
}

.select2-results__option{
	margin-bottom: 5px !important;
}

/* 領収書 */
div.receipt{
	width:720px;
	margin: 0 auto;
}
div.receipt-row{
	display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    justify-content: space-between;
    margin-bottom: 0px;
}
/* モーダル（使いまわし用）*/
.modal-overlay{
    display: none;
    position: fixed;
    z-index: 1000;
    left: 0;
    top: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.5);
    overflow: auto;
}
.modal-overlay.active {
    display: block;
}
.modal-content {
    background-color: #ffffff;
    margin: 5% auto;
    padding: 1rem 2rem;
    border: 1px solid #ccc;
    width: 80%;
    max-width: 600px;
    border-radius: 10px;
    box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.2);
    /* transition: transform 0.3s ease-in-out, opacity 0.3s ease-in-out;
    transform: scale(0.8); */
}
.modal-content.active {
    transform: scale(1);
    opacity: 1;
}
.modal-content.confirm {
    padding: 3rem;
    width: auto;
}
.modal-content .modal-header {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 1rem;
}
.modal-content .modal-body {
    width: 100%;
}
.modal-content .modal-header .modal-title, .modal-content .modal-header .modal-close-btn {
	width: auto;
    font-size: 2rem;
    font-weight: bold;
	color: #000;
    font-size: auto;
    text-align: center;
    box-sizing: border-box;
    border: none;
	margin: 0;
    padding: 0;
	background: none;
}
.modal-content .modal-body .modal-section {
    display: flex;
    flex-direction: column;
    margin-bottom: 1rem;
}
.modal-content .modal-body .modal-section .modal-section-title {
    font-size: 1rem;
    font-weight: bold;
    background-color: #F3F3F3;
    padding: 1rem;
    margin-bottom: 0.5rem;
}
.modal-content .modal-body .modal-section .required {
    font-size: 0.8rem;
    background-color: #F87076;
    border-radius: 18px;
    color: #FFF;
    padding: 0.2rem 0.5rem;
}
.modal-content .modal-body .modal-section input {
    width: 90%;
    padding: 0.8rem 1rem;
    margin: 0.5rem 0 0.5rem 1rem;
}
.modal-content .modal-body .modal-section input[type=tel] {
    width: 30%;
}
.modal-content .modal-body .modal-section .address{
    margin-bottom: 1rem;
}
.modal-content .modal-body .modal-section .address p{
    font-weight: bold;
    margin-left: 1rem;
    margin-bottom: 0.5rem;
}
.modal-content .modal-body .modal-section .error-message {
    display: none;
    color: #F87076;
    font-size: 0.8rem;
    font-weight: bold;
    margin-left: 1rem;
}
.modal-content .modal-btn-area {
    text-align: center;
}
.modal-content .modal-btn-area button {
    width: 400px;
    height: 50px;
    background-color: #F87076;
    border: none;
    border-radius: 20px;
    color: #FFF;
    padding: 0.5rem 1rem;
    margin: 0.5rem;
    cursor: pointer;
}

.error-input {
    border: 2px solid red;  /* 枠を赤くする */
    background-color: #ffe6e6;  /* 背景を淡い赤にして視覚的に分かりやすく */
}