@charset "utf-8";

body {
	font-family: "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "游ゴシック", YuGothic, "メイリオ", "Meiryo", sans-serif;
	font-size: 3.73vw;
	color: #3f3f3f;
	-webkit-text-size-adjust: 100%;
	padding-top: 13vw;
}

img {
	vertical-align: top;
}

a {
	color: #89d237;
}

.wrap {
	padding: 0 3.33vw;
	position: relative;
}

.w100p {
	width: 100%;
	height: auto;
}

#contents {
	padding: 0 0 7.33vw;
}

.tel_num {
  font-family: 'Roboto Condensed', sans-serif;
}

h2 {
  	background-image: -moz-linear-gradient( 90deg, rgb(109,201,1) 0%, rgb(181,228,127) 100%);
  	background-image: -webkit-linear-gradient( 90deg, rgb(109,201,1) 0%, rgb(181,228,127) 100%);
  	background-image: -ms-linear-gradient( 90deg, rgb(109,201,1) 0%, rgb(181,228,127) 100%);
  	border-top: 1px solid #80d022;
  	border-bottom: 1px solid #80d022;
  	color: #fff;
  	font-size: 5.06vw;
  	font-weight: bold;
  	padding: 3.33vw 4vw;
  	position: relative;
  	line-height: 1.3;
	clear: both;
}


h3 {
	background: #f2ffd2;
	border-bottom: 0.40vw solid #77cd13;
    color: #3f3f3f;
  	font-size: 5.06vw;
	font-weight: bold;
	padding: 2.5vw;
	position: relative;
	clear: both;
	line-height: 1.3;
}

h3 span {
	font-weight: bold;
}

h4 {
	color: #3f3f3f;
	border-bottom: 0.8vw solid #77cd13;
	font-size: 4.50vw;
	font-weight: bold;
	position: relative;
	line-height: 1.2;
	clear: both;
	padding: 1.5vw;
}

h5 {
	color: #3f3f3f;
  	font-size: 4.5vw;
  	font-weight: bold;
  	padding: 1.5vw;
  	border-left: 0.8vw solid #77cd13;
  	position: relative;
  	line-height: 1.2;
	clear: both;
}

h6 {
	background: #fdf3d1;
	color: #494949;
	font-size: 4.27vw;
  	font-weight: bold;
  	padding: 3.73vw;
	clear: both;
	line-height: 1.2;
}

#page h2,
#page h3,
#page h4,
#page h5,
#page h6 {
	margin-top: 4vw;
	margin-bottom: 3vw;
}

img.alignright {
    padding: 4px;
    margin: 0 0 0.1em 0.5em;
    display: inline;
    max-width: 50%;
    float: right;
    height: auto;
}
/*----------------------------------------------------
    header
----------------------------------------------------*/

header {
	padding: 1.33vw;
	width: 100%;
	box-sizing: border-box;
	position: relative;
	background: #fff;
}

header.fixed {
	position: fixed;
	z-index: 100;
	top: 0;
}

header h1 {
	display: block;
	float: left;
	width: 80vw;
}

header .btn {
	float: right;
	width: 14.53vw;
	padding: 2vw 1.07vw 0 0;
}

#contents {

}


/*----------------------------------------------------
    #top
----------------------------------------------------*/

#top .bl01 {
	background: url(../img/top/bl01_bg.gif);
	padding: 2.67vw 0;
}

#top .bl01 ul {
	display: flex;
	justify-content: space-between;
}

#top .bl01 ul li {
	width: 21.3vw;
}

#top .bl02 {
	padding: 4vw 0;
}

#top .bl02 .tel_num {
	font-size: 11.73vw;
	color: #ff8400;
	position: absolute;
	top: 18vw;
	left: 20vw;
}

#top .bl03 .btn {
	padding: 6vw 0;
}

#top .bl05 {
	padding-top: 2.67vw;
}

#top .bl05 ul li {
	padding-top: 2.67vw;
}

#top .bl05 .btn {
	padding: 6vw 0;
}

#top .bl06 .wrap {
	padding-top: 4.67vw;
	padding-bottom: 4.67vw;
}

#top .bl07 {
	padding-bottom: 4.67vw; 
}

#top .bl07 ul li {
	padding-top: 4.67vw;
}

#top .bl08{
	margin: 2vw 0 4vw;
}

#top .bl08 .ttl {
	background: #f2ffd2;
	border-bottom: 2px solid #77cd13;
	font-size: 4.53vw;
	font-weight: bold;
	color: #444;
	padding: 2.93vw 4vw;
	margin-top: 4vw;
}

#top .bl08 .in {
	padding-top: 4vw;
}

#top .bl08 .right .date {
    padding: 2vw 0 4vw;
	font-size: 3.5vw;
	color: #cccccc;
}

#top .bl08 .right .title {
    padding: 0 0 4vw;
}

#top .bl08 .right .title a {
	font-size: 4vw;
    line-height: 1.3;
	text-decoration-line: none;
	color: #4c4c4c;
}

#top .bl08 p {
	font-size: 4vw;
	line-height: 1.5;
	padding-top: 4vw;
}

#top .bl08 ul {
	padding-bottom: 4vw;
}

#top .bl09 .in {
	border: 0.40vw solid #7bcd19;
	background: #fff4f4;
	padding: 2.4vw 2.4vw 5.33vw;
	margin-bottom: 4.80vw;
}

#top .bl09 .in ul li a {
	display: block;
	border: 0.27vw solid #7bcd19;
	background: #fff;
	font-size: 4vw;
	font-weight: bold;
	line-height: 1.2;
	padding: 2.67vw 8vw 2.67vw 2.67vw;
	margin-top: 2.67vw;
	color: #444;
	text-decoration: none;
	position: relative;
}

#top .bl09 .in ul li a:after {
	display: block;
	content: '';
	width: 4vw;
	height: 4vw;
	background: url(../img/top/bl09_bg.jpg) no-repeat;
	background-size: cover;
	position: absolute;
	right: 2vw;
	top: 33%;
}

#top .bl09 .in .btn {
	padding-top: 4.67vw;
}

#top .bl10 ul li:not(:last-child) {
	border-bottom: 1px solid #cbcbcb;
}

#top .bl10 ul li  {
	display: flex;
	justify-content: space-between;
	padding: 5.33vw 0;
}

#top .bl10 ul li figure {
	width: 35.73vw;
}

#top .bl10 ul li dl {
	width: 53.33vw;
}

#top .bl10 ul li dl dt {
	color: #77cd13;
	font-size: 4vw;
	font-weight: bold;
	padding-bottom: 2.67vw;
}

#top .bl10 ul li dl dd {
	font-size: 3.47vw;
	line-height: 1.38;
}


#top .bl11 .wrap {
	padding-top: 4vw;
	padding-bottom: 4vw;
}

#top .bl11 .wrap > div:not(:first-child) {
	padding-top: 4vw;
	margin-top: 4vw;
	border-top: 1px solid #bababa;
}

#top .bl11 figure {
	width: 37.6vw;
	float: left;
	padding-right: 2.67vw;
	padding-bottom: 2vw;
}

#top .bl11 dl dt {
	color: #7bcd19;
	font-weight: bold;
}

#top .bl11 dl dd {
	color: #7bcd19;
	font-size: 5.33vw;
	font-weight: bold;
	padding: 3.47vw 0 5.33vw;
}

#top .bl11 p {
	font-size: 4vw;
	line-height: 1.5;
}

#top .bl12 ul li dl dt {
	background: #f2ffd2;
	border-bottom: 2px solid #77cd13;
	font-size: 4.53vw;
	font-weight: bold;
	color: #444;
	padding: 2.93vw 4vw;
	margin-top: 4vw;
	position: relative;
}

#top .bl12 ul li dl dt:after {
	content: '\f107';
	font-family: FontAwesome;
	color: #77cd13;
	font-size: 8vw;
	position: absolute;
	top: 10%;
	right: 4vw;
}

#top .bl12 ul li dl dd {
	padding: 4vw 0;
	display: none;
}

#top .bl12 ul li dl dd figure {
	position: relative;
}

#top .bl12 ul li dl dd figure .tel_num {
	position: absolute;
	top: 14vw;
	left: 15vw;
	font-size: 12.53vw;
}

#top .bl12 ul li dl dd b {
	display: block;
	padding-top: 7.33vw;
	font-size: 4vw;
	font-weight: bold;
}

#top .bl12 ul li dl dd .tel_num {
	line-height: 1;
	color: #7bcd19;
	font-size: 8.27vw;
}

#top .bl12 ul li:nth-child(1) dl dd b {
	color: #676767;
}

#top .bl12 ul li:nth-child(1) dl dd .btn {
	display: block;
	padding-top: 4vw;
}

#top .bl12 ul li:nth-child(2) dl dd b {
	color: #ff0000;
	line-height: 1.45;
}

#top .bl12 ul li dl dd p {
	font-size: 4vw;
	line-height: 1.45;
	padding-top: 4.67vw;
}

#top .bl13 {
	padding-bottom: 8.80vw;
}

#top .bl13 .wrap {
	padding-top: 4vw;
}

#top .bl13 .wrap dl dt {
	padding-top: 4vw;
	font-weight: bold;
}

#top .bl13 .wrap dl dd {
	padding-top: 2.67vw;
	line-height: 1.3;
}

.blct ul li:nth-child(1) {
	padding-top: 2.66vw;
	position:relative;
}

.blct ul li:nth-child(1) a {
	text-decoration: none;
}

.blct ul li:nth-child(1) p {
    position: absolute;
    color: #fff;
    top: 11.5vw;
    left: 13.06vw;
    font-size: 8vw;
}

.blct ul li:nth-child(2) {
	padding: 2.26vw 0 5.33vw;
}

/*----------------------------------------------------
  page
----------------------------------------------------*/
#page {
	font-size: 4.0vw;
	padding: 0 0 8vw;
}

#page p {
	line-height: 1.6;
	padding: 2vw 0 0;
}

#page img {
	height: auto;
	width: 100%;
	
}

#page td img {
	height: auto;
	width: 90% !important;
	padding-right: 5%;
	padding-left: 5%;	
}

#page table {
	word-break : break-all;
	/*table-layout: fixed;*/
	width: 100% !important;
}

#page table td span {
	word-break : break-all;	
}


.page_list {
  border-top: 3px solid #7bcd19;
  margin: 8vw 0 0;
}

.page_list ul li a {
  display: block;
  border-bottom: 1px solid #e2e2e2;
  padding: 4vw;
  color: #4f3e2b;
  text-decoration: none;
}

.page_list ul li a:before {
  content: " \f0da";
  font-family: FontAwesome;
  padding: 0 0.67vw 0 0;
}

.page_list ul li .children li a {
  padding: 4vw 8vw;
}

.page_list ul li .children li .children li a {
  padding: 4vw 12vw;
}

table.line th {
	background-color: #eae8e3;
	border: #d3d3d3 1px solid;
	padding: 10px;
	vertical-align: middle;
	text-align: left;
}

table.line td {
    border: #d3d3d3 1px solid;
    padding: 10px;
    text-align: left;
    vertical-align: middle;
}

.bl_list ul li a {
	display: block;
	text-decoration: none;
	border-bottom: 1px solid #c8c8c8;
	margin: 2vw 0 0;
	color: #434343;
}

.bl_list ul li a dl dt,
.bl_list ul li a dl dd {
	float: left;
	font-size: 2.93vw;
}

.bl_list ul li a dl dt {
	padding: 1.07vw 2.27vw 1.07vw 0;
}

.bl_list ul li a dl dd {
	background: #ff817e;
	color: #fff;
	padding: 1.07vw 4vw;
}

.bl_list ul li a p {
	color: #434343;
	padding: 2vw 0 2.67vw;
}

.bl_list .to_list {
	width: 76.4vw;
	margin: 3.33vw auto 0;
}

.bl_detail dl dt {
	padding: 4vw 0 0;
	font-size: 2.93vw;
}

.bl_detail dl dd {
	padding: 2vw 0 0;
	font-size: 4.53vw;
	font-weight: bold;
	line-height: 1.3;
}

.pagenation {
  border-top: 1px solid #efefef;
  text-align: center;
  margin: 4vw 0 0;
  padding: 4vw 0 0;
  clear: both;
}

.pagenation li {
  display: inline-block;
  padding: 0 0.67vw;
}

.pagenation li a {
  display: block;
  border: 1px solid #f26767;
  padding: 2vw 1.73vw;
  color: #000;
  text-decoration: none;
}

.fixed_btn ul {
	position: fixed;
	width: 100%;
	background: #fff;
	top: 0;
	z-index: 100;
	box-sizing: border-box;
}

.fixed_btn ul  {
	display: flex;
} 

/*----------------------------------------------------
  pagetop
----------------------------------------------------*/

.pagetop {
  position: fixed;
  bottom: 4vw;
  right: 4vw;
  z-index: 100;
}

.pagetop a {
  display: block;
}

.pagetop a img {
	width: 16vw;
	height: auto;
}


/*----------------------------------------------------
  ac_navi
----------------------------------------------------*/

#ac_navi {
	display: none;
	position: fixed;
	top: 17.149vw;
	right: 0;
	width: 80%;
	background: #fff;
	z-index: 100;
}

#ac_navi ul li:first-child a {
	background: #ff7709;
	color: #fff;
}

#ac_navi ul li:first-child a:after {
	color: #fff;
}

#ac_navi ul li a {
	display: block;
	border-bottom: 0.26vw solid #ff7709;
	padding: 5vw;
	color: #434343;
	font-weight: bold;
	text-decoration: none;
	font-size: 4vw;
}

#ac_navi ul li a:after {
	float: right;
	content: "\f054";
	font-family: FontAwesome;
	color: #ff7709;
	font-size: 2.8vw;
}

/*----------------------------------------------------
    footer
----------------------------------------------------*/
footer .search_box {
	background: #fff3e7;
	padding: 4.53vw 0 5.33vw;
}

footer .search_box b {
	display: block;
	font-size: 4.40vw;
	font-weight: bold;
	color: #313131;
	padding: 0 0 4vw;
}

footer .search_box b:before {
	content: '\f002';
	font-family: FontAwesome;
	color: #89d433;
	padding: 0 1.06vw 0 0;
}

footer .search_box input[type="text"] {
	background: #fff;
	width: 75%;
	box-sizing: border-box;
	padding: 0;
	font-size: 4.40vw;
	margin: -1px 0 0;
	height: 9.60vw;
}

footer .search_box input[type="submit"] {
	width: 20%;
	box-sizing: border-box;
	background-image: -moz-linear-gradient( 90deg, rgb(185,185,185) 0%, rgb(233,233,233) 100%);
  	background-image: -webkit-linear-gradient( 90deg, rgb(185,185,185) 0%, rgb(233,233,233) 100%);
  	background-image: -ms-linear-gradient( 90deg, rgb(185,185,185) 0%, rgb(233,233,233) 100%);
  	padding: 0;
	height: 9.60vw;
	font-size: 4.40vw;
	font-weight: bold;
	color: #313131;
	-webkit-appearance: none;
}

footer .inner {
	padding: 1.33vw;
	width: 100%;
	box-sizing: border-box;
	position: relative;
	background: #fff;
	border-top: 1px solid #8f8f8f;
	border-bottom: 1px solid #8f8f8f;
}


footer .inner h1 {
	display: block;
	float: left;
	width: 80vw;
}

footer .inner .btn {
	float: right;
	width: 14.53vw;
	padding: 2vw 1.07vw 0 0;
}



.contents_menu .ac {
	position: relative;
}

.contents_menu .ac b {
	display: block;
	padding: 3.07vw 5.33vw 3.47vw;
	background: #fff;
	color: #f26767;
	font-size: 4.80vw;
	font-weight: bold;
	border: 0.27vw solid #f26767;
}

.contents_menu .ac .accordion_icon {
	top: 2.20vw;
	background: #f26767;

}

.contents_menu .ac .accordion_icon span {
}

.contents_menu .menu-sidebar-container {
	/*display: none;*/
}

.contents_menu > ul  {
}

.contents_menu ul li a {
	display: block;
	border-bottom: 0.13vw solid #fff;
	border-top: none;
	background: #fff;
	text-decoration: none;
	padding: 4vw 8vw 4vw 4vw;
	font-size: 4vw;
	font-weight: bold;
	color: #fff;
	background: #89d433;
	position: relative;
	line-height: 1.2;
}

.contents_menu ul li a:after {
  content: " \f105";
  font-family: FontAwesome;
  color: #fff;
  position: absolute;
  right: 3vw;
  top: 35%;
}

.contents_menu ul .sub-menu {
  display: none;
}

.contents_menu ul .sub-menu li a {
  background: #fff;
  color: #89d433;
  border-left: 0.13vw solid #89d433;
  border-right: 0.13vw solid #89d433;
  border-bottom: 0.13vw solid #89d433;
}

footer .contents_menu ul .sub-menu li a {
	border-left: none;
	border-right: none;
}

.contents_menu ul .sub-menu li a:after {
	color: #89d433;
}

footer .addr {
	padding: 3.47vw 0;
}

footer .addr b {
	display: block;
	font-size: 4.0vw;
	font-weight: bold;
}

footer .addr p {
	font-size: 3.20vw;
	line-height: 1.5;
	padding: 5.07vw 0 0;
}

footer .addrc p span {
	font-size: 3.47vw;
}

footer .desc {
	background: #f7f0f0;
	text-align: center;
}

footer .desc p {
	color: #f26767;
	font-size: 2.93vw;
	padding: 2.93vw 0;
}

footer .copy {
	font-size: 2.13vw;
	text-align: center;
	line-height: 1.8;
	color: #4a4a4a;
}





.accordion_icon,
.accordion_icon span {
	display: inline-block;
	transition: all .4s;
	box-sizing: border-box;
}
.accordion_icon {
	position: absolute;
	width: 30px;
	height: 30px;
	float: right;
	background: #6d4d2c;
	top: 3.20vw;
	right: 3.73vw;
}
.accordion_icon span {
	position: absolute;
    left: 7px;
    width: 50%;
	height: 2px;
    background-color: #fff;

}
.accordion_icon span:nth-of-type(1) {
    top: 4vw;
	transform: rotate(0deg);
    -webkit-transform: rotate(0deg);
	-moz-transform: rotate(0deg);
	-ms-transform: rotate(0deg);
    -o-transform: rotate(0deg);
}
.accordion_icon span:nth-of-type(2) {
    top: 4vw;
	transform: rotate(90deg);
    -webkit-transform: rotate(90deg);
	-moz-transform: rotate(90deg);
	-ms-transform: rotate(90deg);
    -o-transform: rotate(90deg);
}
/*＋、－切り替え*/
.accordion_icon.active span:nth-of-type(1) {
	display:none;
}
.accordion_icon.active span:nth-of-type(2) {
	top: 4vw;
	transform: rotate(180deg);
    -webkit-transform: rotate(180deg);
	-moz-transform: rotate(180deg);
	-ms-transform: rotate(180deg);
    -o-transform: rotate(180deg);
}


h2 .accordion_icon {
	background: #fff;
	top: 2.20vw;
}

h2 .accordion_icon span {
    background-color: #6d4d2c;
}

.pc-switcher {
	/*margin-bottom: 25vw !important;*/
}

/* テーブル対応
---------------------------------------------*/
table , td, th , tr {
	font-size: 		inherit;
	font: 			100%;
	line-height:1.3em
}


table.mainstyle {
	border: 			1px #b9b9b9 solid;
	border-collapse: 	collapse;
	border-spacing: 	0;
	margin: 			15px 10px 24px;
/*	width:				100%; */
}

table.mainstyle th {
	font-weight: 		bold;
	padding: 			10px;
	border: 			1px #b9b9b9 solid;
	background: 		#FFFFCC;
	vertical-align: middle;
}

table.mainstyle td {
	padding: 			10px;
	border: 			1px #b9b9b9 solid;
	background: 		#fff;
	vertical-align: middle;
}
	/* sp */
	@media screen and (max-width: 480px)  {
		table.mainstyle {
			margin: 			7.5px 5px 12px;
		}
		
		table.mainstyle th {
			padding: 			5px;
		}
		
		table.mainstyle td {
			padding: 			5px;
		}

	}

.ptable p {
  margin: 0 !important;
}

.p_zero {
  margin: 0 !important;
}

/* お問い合わせフォーム
---------------------------------------------*/
.wpcf7-textarea{
	width: 90%;
}
.wpcf7-tel{
	width: 90%;
}
.wpcf7-text{
	width: 90%;
}

.anc { display:block; position:relative; margin-top:-30vw; padding-top:30vw; width:0; height:0; z-index:0;}


/* WP STYLE
---------------------------------------------*/

img.centered {
	display: block;
	margin-left: auto;
	margin-right: auto;}

img.alignright {
/*	padding: 4px; */
	margin: 0 0 0.1em 0.5em;
	display: inline;
	
	max-width:		40%;
}

img.alignleft {
/*	padding: 4px; */
	margin: 0 0.5em 0.1em 0;
	display: inline;
	
	max-width:		40%;
}

.alignright {float: right;}
.alignleft {float: left;}
