@charset "UTF-8";
/*top.css（TOPページ）====================================================================*/

/*=======================================================================
↓スライダー=============================================================
======================================================================*/
#slide_pc {
    margin:0 auto;
    position: relative;
    top: -50px;
    height: 594px;
    width: 1044px;
}
#slide_pc ul {
    height: auto;
    width: 100%;
}
#slide_pc ul li {
    position: absolute;
    top: 0;
    left: 0;
}
#slide_pc ul li img {
    height: auto;
    width: 100%;
}
#slide_sp { display: none;}
@media screen and (max-width: 1024px) {
#slide_pc { display: none;}
#slide_sp {
    display: block;
    padding-top: 82px;
    position:relative;
    height: auto;
    width: 100%;
}
#slide_sp img {
    margin: 0 auto;
    height: auto;
    width: 100%;
}
}
@media screen and (max-width: 640px) {
#slide_sp { padding-top:70px;}
}
@media screen and (max-width: 480px) {
#slide_sp { padding-top:60px; }
}
/*=======================================================================
↓デコレーション=========================================================
======================================================================*/
#deco {
      width: 100%;
}
.deco_inner {
      margin:0 auto;
      position: relative;
      width: 1044px;
}
#deco .dog_l {
	display:none;
	position: absolute;
	right: -60px;
	bottom: 5em;
	z-index: 9999;
}
#deco .dog_l img {
     height: 135px;
     width: auto;
}

#deco .fuki{
	position: absolute;
	right: -80px;
	background: url(../img/fukidashi.png) no-repeat center center;
	background-size:  cover;
	width: 330px;
	padding: 30px  0 50px;
	bottom: 18em;
}
#deco .catch{
	max-width:140px;
	display: block;
	margin:10px auto;
}
#deco .fuki a{
	max-width: 227px;
	display: block;
	margin:10px auto;
	
}
#deco .fuki a img,#deco .catch img{
	width:100%;
}
.deco_inner_sp{
		display:none;
	}
@media screen and (max-width: 1200px) {.deco_inner { width: 85%;}}
@media screen and (max-width: 1024px) {
	.deco_inner_sp{
		display: block;
	}

	.deco_inner_sp{
		background: #57b25a;
		text-align: center;
		padding: 20px 0;
	}
	.deco_inner_sp a{
		display: block;
		max-width: 227px;
	}
	.catch-sp{
		max-width: 280px;
		margin: auto;
	}
	.deco_inner_sp a img,.catch-sp img{
	width:100%;
}
	.deco_inner_sp .inner{
		max-width: 480px;
		margin:20px auto 0;
	}
	
}

@media screen and (max-width: 480px) {
	.deco_inner_sp .left,.deco_inner_sp .right{
		float: none;
		margin: auto;
	}
	.deco_inner_sp .left{
		margin-bottom: 10px;
	}
}
/*　足跡　*/
.footp li {
	display: block;
	-webkit-animation:slideIn-w 0.5s ease-in-out 0s backwards;
	-moz-animation:slideIn-m 0.5s ease-in-out 0s backwards;
	animation:slideIn-i 0.5s ease-in-out 0s backwards;
	z-index: 10;
}
#footp01 {
      margin: 0 auto;
      position: relative;
	width: 100%;
}
#footp01 li.footp01 {
	position: absolute;
	right: -2.5em;
	bottom: 14.5em;
}
#footp01 li.footp02 {
	position: absolute;
	right: 0;
	bottom: 11em;
}
#footp01 li.footp03 {
	position: absolute;
	right: 2.5em;
	bottom: 7em;
}
#footp01 li.footp04 {
	position: absolute;
	right: 7em;
	bottom: 4em;
}
#footp_02 {
	position: relative;
	width: 100%;
}
#footp_02 li.footp01 {
	position: absolute;
	left: 5em;
	top: 0;
}
#footp_02 li.footp02 {
	position: absolute;
	left: 6em;
	top: 4em;
}
#footp_02 li.footp03 {
	position: absolute;
	left: 9em;
	top: 8em;
}
#footp_02 li.footp04 {
	position: absolute;
	left: 13em;
	top: 11em;
}
#footp_03 {
	position: relative;
	margin: 0 auto;
	width: 90%;
	z-index: 1;
}
#footp_03 li.footp01 {
	position: absolute;
	right: 0;
	top: -3em;
}
#footp_03 li.footp02 {
	position: absolute;
	right: 5em;
	top: 0;
}
#footp_03 li.footp03 {
	position: absolute;
	right: 10em;
	top: 3em;
}
#footp_03 li.footp04 {
	position: absolute;
	right: 15em;
	top: 5em;
}
#footp_04 {
	position: relative;
	margin: 0 auto;
	width: 90%;
}
#footp_04 li.footp01 {
	position: absolute;
	right: 0;
	top: 0;
}
#footp_04 li.footp02 {
	position: absolute;
	right: 5em;
	top: 3em;
}
#footp_04 li.footp03 {
	position: absolute;
	right: 10em;
	top: 5em;
}
#footp_04 li.footp04 {
	position: absolute;
	right: 15em;
	top: 7em;
}
#footp_05 {
	position: relative;
	margin: 0 auto;
	width: 90%;
}
#footp_05 li.footp01 {
	position: absolute;
	left: 0;
	top: -10em;
}
#footp_05 li.footp02 {
	position: absolute;
	left: 2.5em;
	top: -5em;
}
#footp_05 li.footp03 {
	position: absolute;
	left: 5.5em;
	top: -1em;
}

@-webkit-keyframes slideIn-w {
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
@-moz-keyframes slideIn-m{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
@keyframes slideIn-i{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
/*足跡===============================*/
.mv1 {
	-webkit-animation:slideIn1-w 0.8s ease-in-out 1s backwards;
	-moz-animation:slideIn1-m 0.8s ease-in-out 1s backwards;
	animation:slideIn1-i 0.8s ease-in-out 1s backwards;
}
@-webkit-keyframes slideIn1-w {
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
@-moz-keyframes slideIn1-m {
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
@keyframes slideIn1-i {
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}

.mv2 {
	-webkit-animation:slideIn2-w 0.8s ease-in-out 2s backwards;
	-moz-animation:slideIn2-m 0.8s ease-in-out 2s backwards;
	animation:slideIn2-i 0.8s ease-in-out 2s backwards;
}
@-webkit-keyframes slideIn2-w{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
@-moz-keyframes slideIn2-m{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
@keyframes slideIn2-i{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}

.mv3 {
	-webkit-animation:slideIn3-w 0.8s ease-in-out 3s backwards;
	-moz-animation:slideIn3-m 0.8s ease-in-out 3s backwards;
	animation:slideIn3-i 0.8s ease-in-out 3s backwards;
}
@-webkit-keyframes slideIn3-w {
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
@-moz-keyframes slideIn3-i{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
@keyframes slideIn3-i{
    0%{
        opacity: 0;
        transform: translateX(0px);
    }
    100%{
        opacity: 1;
        transform: translateX(0px);
    }
}

.mv4 {
	-webkit-animation:slideIn4-w 0.8s ease-in-out 4.5s backwards;
	-moz-animation:slideIn4-m 0.8s ease-in-out 4.5s backwards;
	animation:slideIn4-i 0.8s ease-in-out 4.5s backwards;
}
@-webkit-keyframes slideIn4-w {
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
@-moz-keyframes slideIn4-m{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
@keyframes slideIn4-i{
    0%{
        opacity: 0;
    }
    100%{
        opacity: 1;
    }
}
.fadeInDown {
     -webkit-animation-fill-mode:both;
     -ms-animation-fill-mode:both;
     animation-fill-mode:both;
     -webkit-animation-duration: 4s;
     -ms-animation-duration: 4s;
     animation-duration: 4s;
     -webkit-animation-name: fadeInDown;
     animation-name: fadeInDown;
     visibility: visible !important;
     z-index: 900;
}
@-webkit-keyframes fadeInDown {
0% { opacity: 0; }
100% { opacity: 1;}
}
@keyframes fadeInDown {
0% { opacity: 0; }
100% { opacity: 1; }
}
@media screen and (max-width: 1024px) {
#deco { display: none;}	
}

.fadeInDown01 {
     -webkit-animation-fill-mode:both;
     -ms-animation-fill-mode:both;
     animation-fill-mode:both;
     -webkit-animation-duration: 4s;
     -ms-animation-duration: 4s;
     animation-duration: 4s;
     -webkit-animation-name: fadeInDown01;
     animation-name: fadeInDown01;
     visibility: visible !important;
     z-index: 900;
}
@-webkit-keyframes fadeInDown01 {
0% { opacity: 0; -webkit-transform: translateY(-20px); }
100% { opacity: 1; -webkit-transform: translateY(0); }
}
@keyframes fadeInDown01 {
0% { opacity: 0; -webkit-transform: translateY(-20px); -ms-transform: translateY(-20px); transform: translateY(-20px); }
100% { opacity: 1; -webkit-transform: translateY(0); -ms-transform: translateY(0); transform: translateY(0); }
}

@media screen and (max-width: 1024px) {
.footp { display: none;}
}
/*=======================================================================
↓おしらせ===============================================================
======================================================================*/
/*共通*/
#news_info {
	position: relative;
	width: 100%;
}	
#wrap { width: 100%;}
.con {
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    background: #FFF url(../img/dot_green.png) 98% 1em no-repeat;
    border: 1px solid #4aac4d;
    border-radius: 4px;        /* CSS3草案 */  
    -webkit-border-radius: 4px;    /* Safari,Google Chrome用 */  
    -moz-border-radius: 4px;   /* Firefox用 */  
    float: left;
    /*height: 450px;*/
    /*padding: 2em 1.5em;*/
    width: 48%;
}
.con h3 { 
    text-align: center;
    margin-bottom: 2em;
}
.con h3 img {
    height: 40px;
    width: auto;
}
.con_inner { 
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
    box-sizing: border-box;
    padding: 2em 1.5em;
}
.con_dotl { background: url(../img/dot_green.png) 2% 1em no-repeat;}
/*ニュース*/
.news_box { margin: 0 2% 0 0;}
.news_area article { 
       border-bottom: 1px dotted #b6ddb7;
       margin-bottom: 1.5em;
	 padding-bottom: 1em;
}
.news_area article:last-child { 
       border-bottom: 0;
	 margin-bottom: 0;
	 padding-bottom: 0;
}
.news_area .data {
	color: #4aac4d;
	display: inline-block;
	font-size: 132%;
	font-weight: 300;
	line-height: 1.8em;
	vertical-align: top;
	width: 20%;
}
.news_area .news_tit {
	display: inline-block;
	font-size: 132%;
	font-weight: 400;
	line-height: 1.8em;
	vertical-align: top;
	width: 79%;
}
.news_area .news_tit a:link,
.news_area .news_tit a:visited { color: #4aac4d;}
.news_area .news_txt {
	/*height: 50px;*/
	font-size: 120%;
	line-height: 1.8em;
      margin: 0.5em 0;
      overflow:hidden;
	display: -webkit-box;
      -webkit-box-orient: vertical;
      -webkit-line-clamp: 3;
	text-overflow: ellipsis;
	-webkit-text-overflow: ellipsis; /* Safari */
	-o-text-overflow: ellipsis; /* Opera */
	width: 100%;
}
#news .con_inner{
	padding: 2em 3em;
}
/*見出し*/
#news .tit{
	text-align: left !important;
	color: #4aac4d;
	font-size: 1.4em;
	padding-bottom: 16px;
	border-bottom: 1px solid #4aac4d;
	margin-top: 32px;
	margin-bottom: 18px;
}
/*カテゴリーのデザイン*/
#news ul li .news,#news ul li .other,#news ul li .medical,#news ul li .event,#news ul li .prevention,#news ul li .case{
font-size: 1.1em;
	width: 100px;
	display: inline-block;
padding: 6px;
	font-weight: bold;
	text-align: center;
	box-sizing: border-box;
	
	margin-right: 5px;
}
#news ul li .day{
	padding-right: 5px;
}
#news ul li{
	margin-bottom: 16px;
}
#news ul li:last-child{
	margin-bottom: none;
}
#news ul li .news,#news ul li .other,#news ul li .medical,#news ul li .event{
	color: #4aac4d;
	background:#fef52c;
}
#news ul li .prevention,#news ul li .case{
	color: #fff;
	background:#4aac4d;
}
.news-text{font-size: 1.3em;}
.news-text,.news-text a{
	color: #4aac4d !important;
}
/*info*/
.info_box { margin: 0 0 0 2%;}
.info_box .info_tb { 
	font-size: 120%;
	font-weight: 300;
}
.info_box .info_tb th,
.info_box .info_tb td {
      font-weight: 200;
	line-height: 1.8em;
	padding: 0;
      vertical-align: top;
}
.info_box .info_tb th.time_th { width: 90px;}
.info_box .info_tb th.holiday_th { width: 60px;}
.info_box .profile_tb {
    border-right: 1px solid #57b25a;
    border-top: 1px solid #57b25a;
    color: #57b25a;
    line-height: 1em;
    margin-top: 3em;
}
.info_box .profile_tb th {
    background-color: #e9f5e9;
    border-bottom: 1px solid #57b25a;
    border-left: 1px solid #57b25a;
    font-size: 110%;
    font-weight: 300;
    padding: 8px 0;
    text-align: center;
    width: 22%;
}
.info_box .profile_tb th.th_week { width: 11%;}
.info_box .profile_tb td {
    border-bottom: 1px solid #57b25a;
    border-left: 1px solid #57b25a;
    padding: 5px 0;
    text-align: center;
    vertical-align: middle;
}
.info_box .profile_tb td img {
      height: 26px;
	width: auto;
}
.info_box .profile_tb td.td_time {
    font-size: 100%;
    font-weight: 300;
    line-height: 1.2em;
}
.info_box .profile_tb td.td_holiday { font-size: 130%;}
.info_box .profile_tb td .p_time { font-size: 100%;}
.info_box .profile_notice {
	color: #57b25a;
	font-size: 110%;
	text-align: center;
	margin-top: 1em;
}
@media screen and (max-width: 1024px) {
.news_area .data {
	display: block;
	margin-bottom: 0.2em;
	width: 100%;
}
.news_area .news_tit {
	display: block;
	width: 100%;
}
/*info*/
.info_box .profile_tb td img {
      height: 20px;
	width: auto;
}
}
@media screen and (max-width: 768px) {
.con {
    display: block;
    width: 100%;
}
/*ニュース*/
.news_box { margin: 0 0 2% 0;}
/*info*/
.info_box { margin: 0;}
}
@media screen and (max-width: 480px) {
	#news .con_inner{
	padding: 2em 1.5em;
}
	#news ul li .news,#news ul li .other,#news ul li .medical,#news ul li .event,#news ul li .prevention,#news ul li .case{
		display: block;
		margin-bottom: 10px;
	}
	.news-text{line-height: 1.3em;}
.info_box .info_tb th.time_th { 
    display: block;
    width: 100%;
}
.info_box .info_tb td { 
    display: block;
    margin-bottom: 10px;}
.info_box .profile_tb th {
    font-size: 94%;
    width: 9%;
}
.info_box .profile_tb th.th_week { width: 13%;}
.info_box .profile_tb td img {
      height: 16px;
	width: auto;
}

}
/*=======================================================================
↓message================================================================
======================================================================*/
#message {
    background: url("../img/message_bg.png") left top no-repeat;
    background-size: 100% auto;
    -webkit-background-size: 100% auto;
    -o-background-size: 100% auto;
    position: relative;
    width: 100%;
    text-align: center;
    font-weight:400;
    color:#333;
}
#message .contents_inner { 
    padding: 4em 0 12rem;
}
.message_txt {
    font-size: 140%;
    font-weight: 200;
    line-height: 2em;
    text-align: center;
}
.message-wrap {
	margin-top: 4rem;
}
.message-wrap p + p {
	margin-top: 1rem;
}
.message-wrap a {
    border-bottom: solid 2px #57b25a;
    font-weight: 500;
    padding: 4px 0;
}
.message-wrap a:hover { text-decoration: none;}
.btn-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 2rem auto;
	gap:10px 15px;
}

/*.btn-First {
	margin-right: 2rem;
}*/

.message__caption{
	font-size: 120%;
	font-weight: 200;
}

.btn-wrap img{
	max-width:276px;
	height: auto;
}
.message_time {
	margin: 2rem auto;
}
.message_time-item {
	width: 38rem;
}
.green {
	background-color: #4aac4d;
	color: #fff;
	font-size: 1.5rem;
	padding: 1.4rem 2rem;
}
.detail {
	font-size: 1.5rem;
	padding: 1.4rem 2rem;
	background-color: #fff;
}
.two {
	border-top: solid #fff 0.5px;
}
@media screen and (max-width: 768px) {
	.message_txt {
		text-align: left;
		font-weight: 400;
		line-height:1.8;
	}
	.message__caption{
		font-size: 130%;
		font-weight: 300;
		line-height:1.4;
		text-align: left;
	}
	.btn-wrap {
		flex-direction: column;
	}
	.btn-First {
		margin-right: 0;
		margin-bottom: 1.4rem;
	}
	.detail , .green{
		font-size: 1.4rem;
		line-height: 2.2rem;
		padding: 1rem;
	}
	.message_time {
		width: 100%;
	}
}


.message_txt_a {
    color: #4aac4d!important;
    text-decoration: underline!important;
}

#message .contents_tit { 
      padding: 80px 0 30px 0;
}
/*@media screen and (max-width: 1280px) {
#message .contents_tit { padding: 30px 0 40px;}
}
@media screen and (max-width: 1140px) {
#message .contents_tit { padding: 20px 0;}
}*/
@media screen and (max-width: 1280px) {
#message {
    background: url("../img/message_spbg.png") left top no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    -o-background-size: cover;
    margin-top: 4em;
    position: relative;
    padding-top: 0;
    padding-bottom: 4em;
    width: 100%;
}
#message .contents_inner { margin-top: 0;}
.footp_bg { background: url(../img/footp03.png) no-repeat right top;}
}
@media screen and (max-width: 768px) {
#message .contents_inner { padding: 2em 0;}
#message .contents_tit { padding: 20px 0 30px 0;}
}
@media screen and (max-width: 640px) {
#message .contents_tit { padding: 10px 0 30px 0;}
#message { padding-bottom: 3em;}
}
@media screen and (max-width: 480px) {
#message {
    background: url("../img/message_spbg.png") left top no-repeat;
    background-size: cover;
    -webkit-background-size: cover;
    -o-background-size: cover;
    margin-top: 3em;
    padding-bottom: 2.5em;
}
#message .contents_inner { padding: 1.5em 0;}
#message .contents_tit { 
	padding: 10px 0 20px 0;
	}
.message_txt {
/*    font-size: 120%;*/
	font-size: 140%;
/*    line-height: 1.6em;*/
	line-height:1.8;
    text-align: left;
}

}

/*=======================================================================
↓menu===================================================================
======================================================================*/
#menu {
	background: #FFF;
      padding: 2em 0 4.5em 0;
	height: auto;
      width: 100%;
}
.menu_list { margin-right: -1.33%;}
.menu_list li {
	display: inline;
	float: left;
	text-align: center;
	margin-right: 1.33%; /* 32 + 1.33 = 33.33% = 3分の1 */
	width: 32%;
	position: relative;
}
.menu_list li .menu_img {
	margin: 0 auto;
	height: auto;
	width: 90%;
}
.menu_list li .menu_img img {
	height: auto;
	width: 100%;
}
.menu_list li .menu_img img.menu_img_sp { display: none;}
.menu_list li .menu_tit { 
      margin-top: 1em;
	width: 100%;
}
.menu_list li .menu_tit img {
	height: 24px;
	width: auto;
}
@media screen and (max-width: 768px) {
#menu { padding: 3em 0;}
}
@media screen and (max-width: 640px) {
.menu_list li .menu_tit img {
	height: 20px;
	width: auto;
}
}
@media screen and (max-width: 480px) {
.menu_list li {
	display: block;
	margin: 0 0 10% 0;
	width: 50%;
}
.menu_list li:last-child {
	float: none;
	margin: 0 auto;
}
.menu_list li .menu_img {
	margin: 0 auto;
	height: auto;
	width: 80%;
}
.menu_list li .menu_img img.menu_img_pc { display: none;}
.menu_list li .menu_img img.menu_img_sp { display: block;}
.menu_list li .menu_tit { 
      margin: 1em auto 0 auto; 
	width: 90%;
}
}
/*=======================================================================
↓map====================================================================
======================================================================*/
#access {
      background: url("../img/kumo.png") 1em 2em no-repeat;
	background-size: auto 180px;
	position: relative;
	width: 100%;
	/*margin-top:-100px;*/
	display: inline-block;
	vertical-align: top;
}
/*.access { padding-top: 50px; }*/
.map_img img {
	text-align: center;
	height: 241px;
	width: auto;
}
.map_img {
	background:url(../img/map.png) no-repeat 0 0;
	background-size: contain;
      -webkit-background-size: contain;
      -moz-background-size: contain;
      -o-background-size: contain;
	height:0;
	margin: 0 auto;
	padding-top: 20.9%;
	position: relative;
	width: 90%;
}
.map_inner {
    margin: 0 auto;
    width: 1080px;
}
.gmap_link a {
    border-bottom: solid 1px #57b25a;
    color: #57b25a;
    float: right;
    font-size: 140%;
    margin-top: -1em;
    padding: 8px 0;
}
.gmap_link a:hover { text-decoration: none;}
#map_canvas { display: none;}
.access_txt {
    color: #57b25a;
    font-weight: 400;
    line-height: 2em;
    width: 100%;
}
.access_txt p { text-align: center;}
.access_txt a:link,
.access_txt a:visited { color: #57b25a;}
.access_txt .s_font { font-size: 130%;}
.access_txt .access_in { font-size: 150%;}
.access_txt .tel{ 
     font-size: 200%;
     letter-spacing: 0.1em; 
}
.anchorlink {
       position: relative;
       top: -120px;
       display: block;
}
@media screen and (max-width: 1160px) {
.map_inner { width: 90%;}
}
@media screen and (max-width: 1024px) {
#access {
      background: url("../img/kumo.png") 1em 5em no-repeat;
	background-size: auto 120px;
}
}
@media screen and (max-width: 768px) {
#access { background: none;}
.gmap_link a {
    margin-top: 0;
    margin-bottom: 1em;
    padding: 8px 0;
}
}
@media screen and (max-width: 640px) {
#access { margin-top:-70px;}
.access { padding-top: 70px; }
}
@media screen and (max-width: 480px) {
#access {
      background: none;
	margin-top: -60px;
}
.access { padding-top: 60px; }
.map_img { display: none;}
#map_canvas {
	display: block;
	height: 200px;
	width: 100%;
}
.gmap_link { 
    margin: 1em 0 2.5em 0;
    text-align: right;
}
.gmap_link a {
    float: none;
    font-size: 120%;
    padding: 5px 0;
}
.access_txt .s_font { 
    display: block;
    font-size: 110%;
}
.access_txt .access_in { font-size: 120%;}
.access_txt .tel{ font-size: 150%;}

}
