@charset "UTF-8";

:root{
  --BaseFontColor:#333333;
  --BaseColor:#3d7818;
  --LinkColor:#3d85c6;
  --Esinout:ease-in-out;
  --Baseeasing:cubic-bezier(0.2, 0.5, 0.4, 1);
}
    
html{
	line-height: 1.7;
	font-family: 'Meiryo', 'Hiragino Kaku Gothic Pro', 'Gothic', 'Mincho', 'MS Gothic', 'MS PGothic', 'Hiragino Mincho Pro', 'MS Mincho', 'MS PMincho', 'Comic Sans MS', 'Courier New', monospace, sans-serif;
}
body{
	background:url('../img/top/back.jpg')no-repeat top center;
}
img{
	max-width: 100%;
}
.row{
	/* margin-left:0;
	margin-right:0; */
}
h3.bar-title{
	border-left: 13px solid #3981c6;
	padding: 16px 10px;
	background: linear-gradient(0deg, #ebebeb, #f2f2f2);
	color: rgb(20, 55, 86);
	border-radius: 5px;
  font-family: "Kosugi", sans-serif;
	box-shadow: 0px 1px #ddd;
	margin-bottom: 30px;
}
figcaption{
	font-size:13px;
}
.fs-12{
	font-size:12px;
}
.fs-13{
	font-size:13px;
}
.fs-14{
	font-size:13px;
}
.fs-22{
	font-size:22px;
}
.text-red{
	color:#f00;
}
.text-bgreen{
	color: rgb(0, 128, 128);
}
.text-green{
	color:var(--BaseColor);
}

@media (max-width: 768px) {
	ol,ul{
		padding-left: 1rem;
	}
}

/*--- ボタン ---*/
.btn-orange{
	width: 480px;
	color:#fff;
	font-weight: bold;
	background:linear-gradient(0,#e46612,#f18338);
	box-shadow: 0 4px #b34f0d;
}
.btn-green{
	width: 480px;
	color:#fff;
	font-weight: bold;
	background:linear-gradient(to bottom,  #40bf60 0%,#3fab5a 100%);
	box-shadow: 0 4px #357545;
}
.btn-gray{
	width: 480px;
	color:#fff;
	font-weight: bold;
	background:linear-gradient(to bottom,  #c5c5c5 0%,#a1a1a1 100%);
	box-shadow: 0 4px #616161;
}

@media (max-width: 768px) {
	.btn-orange,
	.btn-green,
	.btn-gray{
		width: 100%;
	}
}
/*--- PDF ---*/
a.pdf{
	display: flex;
	align-items: center;
}
a.pdf:before{
	content:url("../img/common/pdf-trance.png");
	margin-right:8px;
}

figcaption{
	margin-bottom:10px;
}

/*--- テーブル ---*/
table{
	width:100%;
}
table th,
table td{
	padding: 10px;
	border: solid 1px #000;
}

.dotline-list{
	list-style: none;
	padding-left:0;
}
.dotline-list li{
	padding:10px 0;
	display: flex;
	align-items: center;
	border-bottom:1px dotted #333333;
}

@media (max-width: 768px) {
	.dotline-list li{
		flex-direction: column;
		align-items: flex-start;
	}
}
/*--- スライドショー ---*/
.carousel {
	margin-bottom: 150px;
}

.carousel-indicators {
	bottom: -50px;
}

/* インジケーターのサイズを変更 */
.carousel-indicators [data-bs-target] {
	width: 150px;
}
/*---- ヘッダー ----*/
header{
	margin-bottom:30px;
}
header h1 a{
	font-size:24px;
	color:#22496A;
	text-decoration: none;
  font-family: "Kosugi", sans-serif;
}
.header-upper{
	padding:39px 0 18px;
	position: relative;
	color:#22496A;
  font-family: "Kosugi", sans-serif;
}
.header-upper .header-message{
	position: absolute;
	top:2px;
	left:0;
}
#gn_menu li{
	position: relative;
}
header nav > ul.nav{
	height: 52px;
  font-family: "Kosugi", sans-serif;
	text-align: center;
	background: linear-gradient(0deg, #e6f4fe, #f6faff);
}
header nav > ul.nav > li{
	height: 100%;
	background:url("../img/common/h_menu_icon.png")no-repeat top center;
	background-position-y: 5px;
	position: relative;
}
header nav > ul.nav > li:before{
	content:"";
	position: absolute;
	left:0;
	top:16px;
	height:calc(100% - 32px);
	border-right:1px solid #d4d5d6;
}
header nav > ul.nav > li:first-child:before{
	display: none;
}
header nav > ul.nav > li a{
	width: 100%;
	height: 100%;
	padding: 0.9em 0 !important;
	color:#505050 !important;
}
header nav > ul.nav > li:hover{
	background-image:url("../img/common/h_menu_icon-on.png");
}
header nav > ul.nav > li:hover:after{
	content:"";
	position:absolute;
	left:50%;
	bottom:4px;
	transform:translateX(-50%);
	border-top:3px solid #38a5eb;
	width:calc(100% - 20px);
	height:1px;
}
header nav > ul.nav > li:hover a{
	color:#004c66 !important;
}

.dropdown-menu{
	background:#74b1f0;
	border-radius:0;
	padding:0;
}
.dropdown-menu li{
	border-bottom:1px solid #4196eb;
	padding:0 7px;
}
.dropdown-menu li:focus,
.dropdown-menu li:hover{
	background:#4196eb;
	border-bottom:1px solid #1672cb;
}
header nav > ul.nav .dropdown-menu li a.dropdown-item,
header nav > ul.nav .dropdown-menu li a.dropdown-item:focus,
header nav > ul.nav .dropdown-menu li a.dropdown-item:hover{
	color:#fff !important;
}
.dropdown-item:focus, .dropdown-item:hover{
	background:none;
}

.header-menu { position: fixed; top: .25rem; right: .5rem; pointer-events: auto; z-index: 100; }
.menu-btn { width: 70px; max-width: 120px; display: block; padding: 1em 0.5em 0.5em !important; background: #5ab5ff; border-radius: 25%; aspect-ratio: 1 / 1; transition:0.8s opacity ease;}
.menu-btn:hover, .smart-header .menu-btn:focus { background: var(--bs-primary);opacity:0.8;}
.dropdown-menu { margin-top: .5rem; }

/*---- フッター ----*/
.footer-menu-wrap{
	background:#b8e884;
}
.footer-menu li{
	padding:0 8px;
	border-right:1px solid #2d4833;
}
.footer-menu li:first-child{
	border-left:1px solid #2d4833;
}
.footer-menu li a{
	font-size:12px;
	color:#2d4833;
	text-decoration: none;
}
.footer-logo h2 a{
	color:#333333;
	text-decoration: none;
}
.footer-sub-menu{
	list-style:none;
	line-height: 2em;
}
.footer-sub-menu li:before{
	content:"";
	width:5px;
	height:5px;
	border-top:1px solid #333333;
	border-right:1px solid #333333;
	display: inline-block;
	margin-right: 6px;
	transform:translateY(-2px) rotate(45deg);
}

/*---- サイド ----*/
@media (max-width: 768px) {
	main{
		width: 100% !important;
	}
	side{
		display: none;
	}
	.header-upper{
		padding:39px 1em 18px;
	}
	.header-upper .header-message {
		left: 1em;
		right: 1em;
		width: auto;
	}
	.footer-menu{
		display: none !important;
	}
	footer .d-flex{
		flex-direction: column;
	}
	.footer-sub-menu{
		padding-left:0;
	}
}
.side-menu{
	background: #fefefe;
	list-style: none;
	padding: 1px 1px 5px 1px;
	border: 3px solid #e1e1e1;
	border-radius: 3px;
}
.side-menu:before{
	content:"";
	height:10px;
	background: #71af2c;
	display: block;
	border-radius: 3px 3px 0 0;
}
.side-menu li{
	background:url("../img/common/s_menu_icon.png")no-repeat center right;
	background-position-x:calc(100% - 5px);
	border-bottom: 1px solid #e1e1e1;
}
.side-menu li:hover{
	background-color:#f5fae8;
	border-bottom: 1px solid #c0d69f;
}
.side-menu li a{
	color:#333;
	padding: 15px 10px;
	display: block;
}
.side-menu li a:hover{
	color:#274e13;
}
side img{
	max-width: 100%;
}
side a:focus,
side a:hover{
	opacity:0.8;
}
side p{
	font-size:14px;
}

/*----  ----*/
.p-scroll-top{
	position: fixed;
	bottom:20px;
	right:20px;
	z-index:100;
	border-radius: 10px;
}

/*---- TOP ----*/
/*---- トップコンテナ ----*/
.top-container{
	height:400px;
	background:url("../img/top/top.png")no-repeat center;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom:160px;
}
.top-container h2{
	color:#fff;
  font-family: "Kosugi", sans-serif;
	line-height:1.9;
}
@media (max-width: 768px) {
	.top-container{
		background:url("../img/top/top-sp.png")no-repeat center;
		background-size: auto 100%;
	}
	.top-container h2{
		font-size: 1.1em;
	}
}
/*---- メッセージ ----*/
.t-title{
	line-height:1.7;
	color:var(--BaseColor);
  font-family: "Kosugi", sans-serif;
}
.t-text{
	line-height: 2;
}
/*---- お知らせ ----*/
.item-info dl{
	border-bottom:1px dotted #333333;
}
.item-info dl dt:before{
	content: "▲";
	width: 1em;
	height: 1em;
	border-radius: 1em;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #ddd;
	transform: translateY(2px) rotate(90deg);
	font-size: 0.6em;
	padding: 1em;
}

/*--- サブページ ---*/
.sub_page{
	background:rgba(255,255,255,0.8);
}
.sub_page main section > h2{
	border-left: 4px solid #3981c6;
    color: rgb(20, 55, 86);
    font-family: "Kosugi", sans-serif;
    padding-left: 22px;
	font-size:38px;
}
@media (max-width: 768px) {
	.sub_page main section > h2{
		font-size:32px;
	}
}
/*--- パンくずリスト ---*/
.brumb-list{
	list-style:none;
	padding-left:0;
	font-size:14px;
}
.brumb-list li{
	margin-right:5px;
}
.brumb-list li:after{
	content:">";
	margin-left: 5px;
}

.brumb-list li:first-child:before{
	content:url("../img/common/brumb-icon.png");
	margin-right:2px;
}

.brumb-list li:last-child:after{
	display: none;
}

@media (max-width: 768px) {
	.brumb-list{
		display: none !important;
	}
}
/*--- 理念 ---*/
.bg-rinen1,
.bg-rinen2,
.bg-rinen3,
.bg-rinen4{
	padding:10px;
	font-weight:bold;
}
.bg-rinen1 p,
.bg-rinen2 p,
.bg-rinen3 p,
.bg-rinen4 p,
.bg-rinen1 ol,
.bg-rinen2 ol,
.bg-rinen3 ol,
.bg-rinen4 ol{
	margin-bottom:0;
}
.bg-rinen1{
	background-color: rgb(153, 204, 255);
}
.bg-rinen2{
	background-color: rgb(153, 255, 153);
}
.bg-rinen3{
	background-color: rgb(255, 204, 255);
}
.bg-rinen4{
	background-color: rgb(250, 250, 150);
}

/*--- 事業所 ---*/
.item-jigyou-list .item{
	background:#fff;
	border:1px solid #e7e7e7;
	padding: 0;
}
.item-jigyou-list .item a{
	color: #333;
	text-decoration: none;
}
.item-jigyou-list .item b{
    padding: 0 10px;
}
.item-jigyou-list .item p{
    padding: 10px;
}
.item-jigyou-list .item .p-link-text{
	  display: block;
    background: #e7e7e7;
    padding: 10px;
    color: #333333;
    text-decoration: none;
		text-align: right;
}
.item-jigyou-list .item .p-link-text:before{
	  content:"▲";
    transform:rotate(90deg);
		display: inline-block;
		margin-right:3px;
		font-size: 13px;
}

.p-shisetsu .fs-5{
	font-size:1.1rem !important;
}

/*--- お問い合わせフォーム ---*/
div.form-box .form-item-box {
    width: 100%;
}
div.form-box .form-item-box dl{
		margin-bottom: 0;
}
div.form-box:not(.survey-form) dt, div.form-box:not(.survey-form) dd {
    display: table-cell;
    border: 1px solid #fff;
    padding: 12px 10px;
    vertical-align: middle;
    color: #555;
}
div.form-box dl .cell1 {
    font-weight: bold;
    background: #ddd;
    border-right: 2px solid #fff;
}
div.form-box:not(.survey-form) dl .cell2 {
    background: #eee;
		margin-bottom: 0;
}
div.form-box dl .cell2 input[type=radio] {
    margin-right: 5px;
    margin-left: 0px;
}
div.form-box dl .cell2 input[type=text]:first-child {
    margin-right: 7px;
    margin-left: 0px;
}

div.form-box dl .cell2 input,
div.form-box dl .cell2 textarea{
    max-width: 100%;
}

div.form-box .text-red{
    white-space: nowrap;font-size:80%;font-weight:normal;
}
.comment,
.caution{
	display: block;
}

.map-link{
	background:rgba(204, 204, 204, 0.5);
	margin-bottom:1em;
	font-weight: bold;
}
.map-sub-link{
	padding-left:1em;
}
.map-sub-link:before{
	content:"▲";
	display: inline-block;
	transform:scaleX(0.8) rotate(90deg);
	font-size: 0.6em;
	color:#696969;
}
@media (min-width: 1400px) {
	.container{
		max-width:1020px;
	}
	.h2, h2 {
		font-size: 1.5rem;
	}
}
@media (min-width: 1200px) {
	.container{
		max-width:1020px;
	}
	.h2, h2 {
		font-size: 1.5rem;
	}
}
.cursor-pointer{
	cursor: pointer;
	text-align: center;
}
/* .picture .cursor-pointer img{
	width: auto;
	height: 100%;
} */