@charset "UTF-8";
/* CSS Document */

/* ==========================================================
   基本設定
========================================================== */

body {
	margin: 0;
	padding: 0;
	font-family:
		"ヒラギノ角ゴ Pro W3",
		"Hiragino Kaku Gothic Pro",
		"メイリオ",
		Meiryo,
		Osaka,
		"ＭＳ Ｐゴシック",
		"MS PGothic",
		sans-serif;
}


/* clearfix */

.cf::before,
.cf::after {
	content: "";
	display: table;
}

.cf::after {
	clear: both;
}

.cf {
	*zoom: 1;
}


/* リスト */

ul,
li {
	margin: 0;
	padding: 0;
	list-style: none;
}


/* 画像 */

img {
	max-width: 100%;
	height: auto;
	border: none;
	padding-left: 0;
}

a img {
	border: none;
}


/* その他 */

.clear {
	clear: both;
}

p {
	margin: 0;
	padding: 0;
	line-height: 28px;
}

.red {
	color: #EA0A02;
}



/* ==========================================================
   スマートフォン
   768px以下
========================================================== */

@media only screen and (max-width: 768px) {


	/* ======================================================
	   基本
	====================================================== */

	html,
	body {
		width: 100%;
		max-width: 100%;
		overflow-x: hidden;
		box-sizing: border-box;
	}


	*,
	*::before,
	*::after {
		box-sizing: border-box;
	}


	.mobile {
		display: block;
	}


	/*
	   旧サイトでPC専用要素を非表示にするための指定。
	   新TOPのスライドには .pc を付けないこと。
	*/
	.pc {
		display: none;
	}

	.mobile_line {
		width: 80px;
		font-size: 40px;
		margin-left: 60px;
		  color: #249846;
	}

	/* ======================================================
	   旧ヘッダー
	   新ヘッダー .nh-header には適用しない
	====================================================== */

	header:not(.nh-header) {
		width: 100%;

		position: fixed;
		top: 0;
		left: 0;

		z-index: 2;

		background-image: url(../images/bg_03.jpg);
		background-repeat: repeat-x;

		transition: all 0.3s;

		border-top: 5px solid rgba(88,174,101,1);
	}


	header:not(.nh-header) .header-in,
	header:not(.nh-header) .header-in-box {
		width: 99%;

		margin-left: auto;
		margin-right: auto;

		transition: all 0.3s;
	}


	/* 旧サイトロゴ */

	header:not(.nh-header) #site-logo {
		width: 49%;

		float: left;

		text-align: center;

		transition: all 0.3s;
	}


	/* 旧問い合わせ */

	header:not(.nh-header) #contact {
		width: 49%;

		float: right;

		text-align: center;

		transition: all 0.3s;
	}


	header:not(.nh-header) #contact-tx {
		display: none;
	}


	/* 旧グローバルメニュー */

	header:not(.nh-header) #gr-menu {
		width: 99%;
		height: 50px;

		margin-left: auto;
		margin-right: auto;

		transition: all 0.3s;
	}


	/* 旧縮小ヘッダー */

	header:not(.nh-header).smaller {
		max-height: 83px;

		background-color: rgba(255,255,255,0.95);
		background-image: none;

		box-shadow: 0 9px 12px -15px #222;
	}


	header:not(.nh-header).smaller #gr-menu {
		display: none;
	}



	/* ======================================================
	   旧メインビジュアル
	   TOPテストは top.css 側で上書き
	====================================================== */

	.header_2 {
		width: 100%;
		height: auto;

		margin: 0;

		position: relative;

		z-index: 1;
	}


	.header_2_in {
		width: 100%;
		min-height: 0;

		margin-left: auto;
		margin-right: auto;
	}


	.mv-bg {
		width: 100%;
		max-width: none;

		margin-left: auto;
		margin-right: auto;

		background-repeat: no-repeat;
		background-position: center center;
	}



	/* ======================================================
	   CONTENT
	====================================================== */

	.content {
		width: 100%;
		height: auto;

		padding-bottom: 10px;
	}


	.main {
		width: 100%;

		margin-left: auto;
		margin-right: auto;
	}


	.main_in {
		width: 100%;
	}



	/* ======================================================
	   LEFT / RIGHT
	====================================================== */

	.main_left,
	.main_right {
		width: 99%;

		margin-left: auto;
		margin-right: auto;

		float: none;
	}



	/* ======================================================
	   CATEGORY
	====================================================== */

	.category1 {
		width: 90%;

		margin-left: auto;
		margin-right: auto;
		margin-bottom: 20px;

		padding-bottom: 20px;

		background-color: rgba(224,240,227,1);

		border-radius: 5px;
	}


	.category2 {
		width: 100%;

		margin-bottom: 20px;

		padding-top: 20px;
		padding-bottom: 20px;

		background-color: rgba(224,240,227,1);
	}


	.category1_title {
		width: 100%;
		min-height: 55px;

		padding-top: 15px;

		background-image: url(../images/left_bg_18.png);
		background-repeat: no-repeat;
		background-position: center top;

		color: #fff;

		font-size: 1.06em;
		font-weight: bold;

		text-align: center;

		word-spacing: 5px;
	}


	.category1_in {
		width: 100%;

		margin-left: auto;
		margin-right: auto;

		font-size: 0.88em;
	}


	.category1_m a {
		display: inline-block;

		margin-left: 30px;

		padding:
			5px
			10px;

		background-color: rgba(241,201,8,1);

		color: #fff;

		font-size: 0.75em;

		text-align: center;
		text-decoration: none;

		border-radius: 50px;
	}


	.category1_m a:hover {
		background-color: rgba(214,178,7,1);

		color: #fff;
	}



	/* ======================================================
	   BLOG / NEWS
	====================================================== */

	.news_box {
		width: 96%;

		margin-left: auto;
		margin-right: auto;

		padding-top: 8px;
		padding-bottom: 8px;

		background-image: url(../images/blog_sen_59.png);
		background-repeat: no-repeat;
		background-position: left bottom;

		border-bottom: 0.1rem solid #6EB878;

		text-align: left;
	}


	.news_box_title {
		width: 50%;
		min-height: 35px;

		float: left;

		padding-top: 5px;
		padding-left: 50px;

		background-image: url(../images/icon_23.png);
		background-repeat: no-repeat;
		background-position: left top;

		font-size: 1.12em;
	}


	.news_box_more {
		width: 20%;

		float: right;

		padding-top: 5px;
		padding-bottom: 5px;
		padding-left: 4%;

		background-image: url(../images/icon_26.png);
		background-repeat: no-repeat;
		background-position: left center;

		font-size: 0.75em;
	}


	.news_box_more a {
		color: #3E3C3C;
		text-decoration: none;
	}


	.news_box_more a:hover {
		color: #6EB878;
	}


	.news-list {
		width: 96%;

		margin-left: auto;
		margin-right: auto;

		padding-top: 2px;
		padding-bottom: 25px;
	}


	.news-list li {
		height: auto;

		padding-top: 13px;
		padding-bottom: 13px;

		border-bottom: 1px dotted #808080;

		font-size: 0.81em;

		text-align: left;
	}


	.news-list a {
		color: #474747;
		text-decoration: none;
	}



	/* ======================================================
	   PICKUP
	====================================================== */

	.picup-list {
		width: 90%;

		margin-left: auto;
		margin-right: auto;

		padding-top: 10px;
		padding-bottom: 10px;

		border-bottom: 1px dotted #C1C1C1;

		font-size: 0.81em;
	}


	.picup-list_left {
		width: 20%;
		float: left;
	}


	.picup-list_right {
		width: 75%;
		float: right;
	}



	/* ======================================================
	   BANNER
	====================================================== */

	.banner_box {
		width: 96%;

		margin-left: auto;
		margin-right: auto;
	}


	.banner_box_in {
		width: 32%;

		float: left;

		margin-left: 1%;
	}


	.b-date-bl {
		min-width: 90px;

		float: left;

		margin-right: 5px;

		color: #6EB878;
	}



	/* ======================================================
	   HOME BACK
	====================================================== */

	.homeback {
		width: 90%;

		margin-left: auto;
		margin-right: auto;
		margin-bottom: 30px;

		padding-top: 8px;
		padding-bottom: 5px;

		border: 1px dotted #58AE65;
		border-radius: 4px;
	}


	.homeback-in {
		width: 60%;

		margin-left: auto;
		margin-right: auto;

		padding-left: 7%;

		background-image: url(../images/icon_26.png);
		background-repeat: no-repeat;
		background-position: left center;

		font-size: 0.81em;
	}


	.homeback-in a {
		color: #58AE65;
		text-decoration: none;
	}


	.homeback-in a:hover {
		color: #77BD82;
	}



	/* ======================================================
	   FOOTER
	====================================================== */

	.footer {
		width: 100%;
		min-height: 600px;

		background-color: #fff;
	}


	.footer_in {
		width: 100%;

		margin-left: auto;
		margin-right: auto;

		padding-top: 0;
	}


	.footer_in_left {
		width: 96%;

		margin-left: auto;
		margin-right: auto;

		padding-bottom: 20px;
	}



	/* ======================================================
	   FOOTER MENU
	====================================================== */

	#footer-menu {
		width: 94%;

		margin: 0 auto;
		padding: 0;
	}


	#footer-menu a {
		display: block;

		padding: 10px;

		color: #414141;

		line-height: 1;

		text-decoration: none;
	}


	#footer-menu label {
		display: block;

		margin:
			0
			0
			3px;

		padding:
			12px
			12px
			12px
			15px;

		background-color: #E4F2E6;

		color: #3D7E47;

		font-size: 1em;

		line-height: 1;

		border-radius: 5px;

		cursor: pointer;
	}


	#footer-menu input {
		display: none;
	}


	#footer-menu ul {
		margin: 0;
		padding: 0;

		list-style: none;
	}


	#footer-menu li {
		max-height: 0;

		overflow-y: hidden;

		transition: all 0.8s;
	}


	#menu_bar01:checked ~ #links01 li,
	#menu_bar02:checked ~ #links02 li,
	#menu_bar03:checked ~ #links03 li,
	#menu_bar04:checked ~ #links04 li,
	#menu_bar05:checked ~ #links05 li,
	#menu_bar06:checked ~ #links06 li{
		max-height: 46px;

		opacity: 1;
	}



	/* ======================================================
	   FOOTER CONTENT
	====================================================== */

	.footer_in a {
		color: #151515;

		font-size: 0.81em;

		text-decoration: none;
	}


	.footer_in a:hover {
		color: #438A4D;
	}


	.footer_in_right {
		width: 96%;

		margin-left: auto;
		margin-right: auto;
	}


	.footer_in_map {
		width: 90%;
		min-height: 150px;

		margin:
			0
			auto
			10px;

		padding: 1%;

		background-color: #fff;

		border: 1px solid #CCE6CF;
	}


	.footer_in_right_lmap {
		width: 95%;

		padding-bottom: 20px;
	}


	.footer_in_logo {
		width: 100%;

		clear: both;

		padding-top: 20px;

		background-color: #068667;

		text-align: center;
	}


	.footer_copy {
		width: 100%;

		clear: both;

		margin-bottom: 0;

		padding-top: 25px;
		padding-bottom: 65px;

		background-color: #068667;

		color: #fff;

		font-size: 11px;

		text-align: center;
	}



	/* ======================================================
	   スマホ下部固定メニュー
	   電話 / 地図 / PAGE TOP
	====================================================== */

	.floatingwrap {
		display: block;

		position: fixed;

		left: 0;
		right: 0;
		bottom: 0;

		width: 100%;

		margin: 0;
		padding: 0;

		z-index: 99999;

		background-color: #CEE2AF;
	}


	/*
	   3列の幅はここで管理する。
	   内側の floating_left 等には幅を持たせない。
	*/

	.floating {
		display: grid !important;

		grid-template-columns:
			43%
			38%
			19%;

		width: 100% !important;
		height: 50px;

		margin: 0 !important;
		padding: 0 !important;

		background-color: #CEE2AF;

		line-height: normal;

		box-sizing: border-box;
	}


	/*
	   HTMLが
	   .floating > a > .floating_left
	   でも
	   .floating > .floating_left
	   でも対応
	*/

	.floating > * {
		min-width: 0;
		height: 50px;

		margin: 0;
		padding: 0;

		box-sizing: border-box;
	}


	.floating > a {
		display: block;

		width: 100%;
		height: 50px;

		color: inherit;

		text-decoration: none;
	}



	/* 電話・地図・PAGE TOP 共通 */

	.floating_left,
	.floating_right,
	.floating_pagetop {
		width: 100% !important;
		height: 50px;

		float: none !important;

		display: flex;

		align-items: center;
		justify-content: center;

		margin: 0;
		padding: 0 8px;

		text-align: center;

		white-space: nowrap;

		box-sizing: border-box;
	}



	/* 電話 */

	.floating_left {
		background-color: #57AE65;

		border-top: 1px solid #fff;
		border-right: 1px solid #fff;

		color: #fff;
	}



	/* 地図 */

	.floating_right {
		background-color: #018767;

		border-top: 1px solid #fff;
		border-right: 1px solid #fff;

		color: #fff;
	}



	/* PAGE TOP */

	.floating_pagetop {
		background-color: #CEE2AF;

		border-top: 1px solid #fff;

		color: #018767;
	}



	/* リンク共通 */

	.floating_left a,
	.floating_right a,
	.floating_pagetop a {
		display: flex;

		align-items: center;
		justify-content: center;

		width: 100%;
		height: 100%;

		margin: 0;
		padding: 0;

		font-size: 16px;

		line-height: 1;

		text-decoration: none;

		white-space: nowrap;
	}


	.floating_left a,
	.floating_right a {
		color: #fff;
	}


	.floating_pagetop a {
		color: #018767;
	}



	/* floatingの外側aに文字が入っている場合 */

	.floating > a {
		font-size: 16px;

		line-height: 1;

		white-space: nowrap;
	}



	/* アイコン */

	.floating_left i,
	.floating_right i {
		margin-right: 6px;
	}


	.floating_pagetop i {
		margin: 0;
	}



	/* hover */

	.floating_left a:hover,
	.floating_right a:hover {
		color: #fff;

		opacity: 0.85;
	}


	.floating_pagetop a:hover {
		color: #018767;

		opacity: 0.75;
	}



	/* 固定メニューで本文が隠れないようにする */

	body {
		padding-bottom: 50px;
	}


}



/* ==========================================================
   PC
   下部固定メニュー非表示
========================================================== */

@media screen and (min-width: 769px) {

	.floatingwrap {
		display: none !important;
	}

}
