* {
	box-sizing: border-box;
}

/* clearfix
---------------------------------------------------------*/

.clearfix:after {
  content: " "; 
  display: block; 
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*¥*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/* clearfix
---------------------------------------------------------*/

.pc_none {
	display :none;
}

@media screen and (max-width: 768px) {
.pc_none {
	display :initial;
}
.sp_none {
	display :none;
}
}



.attn_left .h1_01 {
	position: absolute;
	top: -0.6em;
	font-size: 4vw;
	border-left: #edac06 8px solid;
	padding: 0 0 0 0.5em;
	opacity: 0.5;
}

.attn_right .h1_01 {
	position: absolute;
	top: -0.6em;
	right : 0;
	font-size: 4vw;
	border-right: #edac06 8px solid;
	padding: 0 0.5em 0 0 ;
	opacity: 0.5;
}

.h1_01:first-letter {
	color: #f00;
}

@media screen and (max-width: 768px) {
.attn_left .h1_01 ,
.attn_right .h1_01 {
	font-size: 6.5vw;
}
}

.h2_01 {
	position: relative;
	padding-top: 50px;
	padding-bottom: 50px;
	font-size: 26px;
	text-align: center;
	overflow: hidden;
}

.h2_01 span {
	position: relative;
	z-index: 2;
}

.h2_01::before {
	content: attr(data-en);
	position: absolute;
	top: -20px;
	left: 50%;
	transform: translateX(-50%);
	color: rgba(237,172,6,0.3);
	font-size: 80px;
	font-style: italic;
}

.h2_02 {
  position: relative;
  line-height: 1.4;
  padding:0.25em 1em;
  display: inline-block;
  top:0;
  text-align :center;
}

.h2_02:before, .h2_02:after { 
  position: absolute;
  top: 0;
  content:'';
  width: 8px;
  height: 100%;
  display: inline-block;
}
.h2_02:before {
  border-left: solid 1px #333;
  border-top: solid 1px #333;
  border-bottom: solid 1px #333;
  left: 0;
}
.h2_02:after {
  content: '';
  border-top: solid 1px #333;
  border-right: solid 1px #333;
  border-bottom: solid 1px #333;
  right: 0;
}

.h2_03 {
	position: relative;
	display: inline-block;
	padding: 0.5em 1em;
	font-weight: normal;
	background: #edac06;
	color: #fff;
	margin: -2em 0 0 0;
}
.h2_03_br:after {
	content: "\A" ;
	white-space: pre;
}
.h2_03_se {
	display: block;
	font-size: 60%;
	text-decoration: overline;
}

.h2_04 {
	position: relative;
	display: inline-block;
	padding: 0.5em 1em;
	color :#edac06;
}

.h2_04_br {
	font-size: 170%;
}

.h2_04_br:after {
	content: "\A" ;
	white-space: pre;
}
.h2_04_se {
	display: block;
	font-size: 60%;
	text-decoration: overline;
}

.h2_05_mr {
	position : relative;
	color: #edac06;
	font-size: 300%;
	text-align: right;
	margin: 0.5em 15% 0 0;
	border-bottom: #edac06 3px solid;
}

.h2_05_ml {
	position : relative;
	color: #edac06;
	font-size: 300%;
	margin: 0.5em 0 0 15%;
	border-bottom: #edac06 3px solid;
}

.h3_01 {
    padding: 1rem 2rem;
    border-top: 6px double #1d6f40;
    border-bottom: 6px double #1d6f40;
    background: #fdff81;
    text-align: center;
}
.h3_02 {
	text-align: center;
	max-width: 90%;
	margin: 1em auto;
	font-size: 150%;
	font-weight: 400;
	max-width: 500px;
	border-bottom: #edac06 1px dashed;
}

.color-white {
	color :#fff;
}

.color-black {
	color :#000;
}

.text-center {
	text-align :center;
}

.block-center {
	display :block;
	margin : 0 auto;
	max-width: fit-content;
}

.text-right {
	text-align :right;
}

.text-left {
	text-align :left;
}

.text-big {
	font-size :130%;
}

.of-hidden {
	overflow: hidden;
}

.btn01 {
    display: inline-block;
    text-align: center;
    padding: 0.2em 1em;
    text-decoration: none;
    color: #fff;
    background: #1d6f40;
    border: solid 1px #fff;
    font-size: 35px;
    border-radius: 100px;
    transition: .4s;
}

.btn01:hover {
	background: #edac06;
	color: white;
}

@media screen and (max-width: 960px) {
	.btn01  {
		font-size: 3.5vw;
	}
}

.btn02 {
	display: inline-block;
	text-align: center;
	padding: 1em 2em;
	text-decoration: none;
	color: #333;
	border: solid 1px #333;
	border-radius: 3px;
	transition: .4s;
}

.btn02:hover {
	background: #edac06;
	border: solid 1px #fff;
	color: white;
}

.bg_grey {
	background-color : #e6e6e6!important;
}

.bg_green {
	background-color : #5e8c79!important;
	color: #fff;
}

.bg_grayish_white {
	background-color : #f2f2f2!important;
}

.bg_blue {
	background-color: #edac06!important;
}

.bg_blue_trans {
	background: rgba(40,86,144,0.8)!important;
	color :#fff;
}

.bg_white {
	background-color: #fff!important;
}

.bg_white_trans {
	background: rgba(255,255,255,0.8)!important;
}


.bg_pale {

	background: #fffceb;

}

/* memo
---------------------------------------------- */

.memo01 {
    background: #fff0dc;
    padding: 1em;
    border: 3px solid #42210b;
    border-radius: 20px;
    margin: 0.5em;
}

.memo01 p {
    font-size: larger;
    padding: 0 1em;
}

/* 水平線
---------------------------------------------- */

.hr_dotted {
	border-bottom : #ccc 1px dotted;
}

/* 当分divここから ▽▽
---------------------------------------------- */

.divide_wrap {
	display :table;
	position :relative;
	width: 100%;
	max-width :1200px;
	margin :0 auto 0 auto;
	table-layout: fixed;
}

.divide02,.divide03,.divide04,.divide05,.divide06,.divide07,
.divide_sv_wrap ,
.divide_sv04 {
	display :table-cell;
	vertical-align:top;
}

.divide02 {
	width : 50% ; 
}

.divide03 {
	width : 33.33333% ; 
}

.divide04 {
	width : 25% ; 
}

.divide05 {
	width : 20% ; 
}

.divide06 {
	width : 16.66666% ; 
}

.divide07 {
	width : 14.28571% ; 
}

@media screen and (max-width: 768px) {
.divide02,.divide03,.divide04,.divide05,.divide06,.divide07 {
	display :block;
	width :100%;
}
}

.divide_sv_wrap {
	width : 50%;
}

.divide_sv04 {
	width : 25% ; 
}

@media screen and (max-width: 768px) {
.divide_sv_wrap {
	display :block;
	width : 100%;
}
.divide_sv04 {
	width : 50% ; 
}
}

/* 当分divここまで △△
---------------------------------------------- */

.f-right {
	float : right!important;
	width : 40%;
	padding :1em;
}

@media screen and (max-width: 600px) {
	.f-right {
		float : none!important;
		width :100%;
	}
}

.pad01 {
	padding :1em;
}

.pad_tb01 {
	padding :1em 0;
}

.pad_tb02 {
	padding :2em 0;
}

.pad_tb03 {
	padding :3em 0;
}


.site-logo {
	padding: 0px 0 0 30px;
	filter: brightness(0) invert(1);
}

@media screen and (max-width: 768px) {
	.site-logo {
		padding: 0;
		width :60%;
	}
}


/* content-home-header ▽▽
---------------------------------------------- */


.home-news {
    max-width: 600px;
    padding: 1em;
    margin: 2em auto;
    list-style: none;
}

.home-news-title {
    text-align: center;
    margin-bottom: 1em;
    font-size: 130%;
}

.home-news-text {
    border-bottom: #ccc 1px dotted;
    padding: 0.5em;
}

.home-news li a {
	color :#333;
	font-size: smaller;
	text-decoration: none;
}

.home-news-cat {
    background: #666;
    color: #fff;
    padding: 0.5em;
    margin: 1em;
    font-size: smaller;
}


.catch-copy {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    font-size: 4vw;
    color: #fff;
    width: fit-content;
}

.catch-img {
	position: absolute;
	top: -48%;
	left: 0;
}

@media screen and (max-width: 768px) {
.catch-copy {
	top :50%;
	left :50%;
	transform: translate(-50%, -50%);
	bottom : auto;
	right : auto;
}
}


.top-news {
    background: #eee;
    padding: 1em;
}

.top-news_wrap {
    max-width: 768px;
    margin: 1em auto;
    padding-bottom: 1em;
    background: rgba(255,255,255,0.8);
}

.top-catch {
	position :relative;
	background :url(../images/catch_bg01.jpg) center center no-repeat;
	background-size: cover;
	background-attachment: fixed;
	padding: 10vh 1em;
	color : #111;
	text-align : center;
}

.top-catch h1 {
    max-width: 450px;
    margin: 0 auto;
    padding: 0 1em;
}

.top-catch h2 {
	font-size :150%;
}

.top-catch_description {
	font-size :110%;
	max-width: 440px;
	margin: 0 auto;
}

.top-catch .btn01 {
	text-shadow: 0 0 10px #000, 0 0 10px #000;
}

.top-catch .btn01:hover {
	text-shadow: none;
}

@media screen and (max-width: 896px) {
	.top-catch {
		background-attachment: initial;
		padding: 1em;
	}
}

.sec_wrap {
	max-width :1400px;
	margin : 0 auto;
}

.attn {
	width :100%;
	position :relative;
}

.attn01 {
	background : url(../images/attn_bg01.jpg) center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.attn02 {
	background : url(../images/attn_bg02.jpg) center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.attn03 {
	background : url(../images/attn_bg03.jpg) center center;
	background-repeat: no-repeat;
	background-size: cover;
}

.attn_left {
	width: 70%;
	padding: 3em 0;
	margin : 5em 0;
}

.attn_right {
	width: 70%;
	margin: 0 0 0 auto;
	padding: 3em 0;
}

.attn_left .attn_content {
	width: 70%;
	padding: 1em 2em;
	margin: 0 -43% 0 auto;
}

.attn_content {
	max-width :560px;
}

.attn_right .attn_content {
	width: 70%;
	padding: 1em 2em;
	margin: 0 auto 0 -43%;
}

.attn_content figure {
	max-width: 400px;
	margin: 0 auto;
}

@media screen and (max-width: 768px) {
	.attn_left {
		width: 100%;
		margin :0;
	}
	
	.attn_right {
		width: 100%;
		margin: 0;
	}
	.attn_left .attn_content {
		width : 90%;
		margin: 1em auto;
	}
	
	.attn_right .attn_content {
		width : 90%;
		margin: 1em auto;
	}
}

.page-wrap {
	margin-top :7.5%;
}

.content01 {
    padding-bottom: 3em;
    max-width: 960px;
    margin: 0 auto;
    background: #fff;
}

.content02 {
    position: relative;
    max-width: 980px;
    margin: 0 auto;
    padding: 3em 1em;
}

.content03 {
    position: relative;
    max-width: 980px;
    margin: 0 auto;
}

.content04 {
	max-width :1200px;
	margin :0 auto;
	padding: 3em 0;
	overflow :hidden;
}

.c-bnr {
	width: fit-content;
	max-width :768px;
	padding : 1em;
	margin : 0 auto;
}

.c-bnr a:hover {
	opacity :0.8;
}

/* --------------------------link_list-------------------------- */

.link-list01 {
    max-width: 600px;
    margin: 1em auto;
    padding: 1em;
    list-style: none;
    border: #ccc 1px solid;
}

.link-list01 li {
    border-bottom: #ccc 1px dashed;
    margin-bottom : 0.5em;
}

.link-list01 li .children li {
    border-bottom: none;
}


/* --------------------------float_list-------------------------- */

.text_list01 {
	list-style :none;
}

.text_list01 li {
	margin :1em 1em 1em 2em;
}

.text_list01 .tl_title {
	font-size: 130%;
	font-weight: 500;
	margin : 1em;
}

.table_text_list01 {
	list-style :none;
	margin: 1em;
}

.table_text_list01 li {
	padding-left : 1em;
	white-space: nowrap;
}

.table_text_list01 .ttl_title {
	padding-left :0;
	font-weight: 600;
}


.float_list02 {
	list-style: none;
	max-width: 1200px;
	margin: 0 auto;
}

.float_list02 li {
	width: 50%;
	float: left;
	padding: 1em;
}

.float_list02 li figure {
	position: relative;
	text-align :center;
}

.float_list02 li figcaption {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 1em;
    color: #333;
    background: rgba(255,255,255,0.8);
}

.float_list03 {
	list-style: none;
	max-width: 1200px;
	margin: 0 auto;
}

.float_list03 li {
	width: 33.3%;
	float: left;
	padding: 1em;
}

.float_list03 li figure {
	position: relative;
	text-align :center;
}

.float_list03 li figcaption {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 1em;
    color: #333;
    background: rgba(255,255,255,0.8);
}

@media screen and (max-width: 768px) {
	.float_list03 li {
		width: 50%;
		padding: 0.5em;
	}
	.float_list03 li figcaption {
		padding: 0.5em 0;
	}
}

.float_list04 {
	list-style: none;
	max-width: 1200px;
	margin: 0 auto;
}

.float_list04 li {
	width: 25%;
	float: left;
	padding: 1em;
}

.float_list04 li figure {
	position: relative;
	text-align :center;
}

.float_list04 li figcaption {
    position: absolute;
    bottom: 0;
    width: 100%;
    padding: 1em;
    color: #fff;
    background: rgba(0,0,0,0.8);
}

@media screen and (max-width: 768px) {
	.float_list04 li {
		width: 50%;
		padding: 0.5em;
	}
	.float_list04 li figcaption {
		padding: 0.5em 0;
	}
}


.float_list06 {
	list-style: none;
	max-width: 1200px;
	margin: 0 auto;
}

.float_list06 li {
	width: 16.6%;
	float: left;
	padding: 1em;
}

.float_list06 li figure {
	position: relative;
	text-align :center;
}

.float_list06 li figcaption {
	position: absolute;
	bottom: 0;
	width: 100%;
	padding: 1em;
	color: #fff;
	background: rgba(0,0,0,0.8);
}

@media screen and (max-width: 768px) {
	.float_list06 li {
		width: 25%;
		padding: 0.5em;
	}
	.float_list06 li figcaption {
		padding: 0.5em 0;
	}
}

/* --------------------------flex_list-------------------------- */

.flex_list06 {
	display : flex;
	flex-wrap: wrap;
	list-style: none;
	max-width: 1200px;
	margin: 0 auto;
}

.flex_list06 li {
	display: flex;
	width: 16.6%;
	padding: 1em;
	text-align: center;
}

@media screen and (max-width: 768px) {
	.flex_list06 li {
		width: 33.3%;
	}
	.flex_list06 li {
		padding: 0.5em;
	}
}

.round-list {
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
@media screen and (min-width: 768px) {
  .round-list {
    flex-wrap: wrap;
  }
}
.round-list_item {
  display: flex;
  justify-content: center;
  align-items: center;
  background: #edac06;
  border-radius: 50%;
  color: #fff;
  line-height: 1.4;
  font-weight: bold;
  text-align: center;
}
@media screen and (min-width: 768px) {
	.round-list_item {
	    flex-shrink: 0;
	    width: 200px;
	    height: 200px;
	    margin: 0 10px;
	    font-size: 1.5em;
	}
}
@media screen and (max-width: 767px) {
  .round-list_item {
    width: 97px;
    height: 97px;
    margin: 0 1.33333%;
    font-size: 1.3rem;
  }
}

/* --------------------------definition_list-------------------------- */

.definition_list01 {
	padding :2em 1em 1em 1em;
}

.definition_list01 dt {
	display: inline-block;
	width: 8em;
	text-align: center;
	color: #fff;
	font-weight: 500;
	background: #295690;
	padding: 0.2em 1em;
	border-radius: 50px;
	float: left;
	margin-top: -1em;
}

.definition_list01 dd {
	background :#fff;
	padding: 1em 1em 1em 8em;
	border: #ccc 1px solid;
}

@media screen and (max-width: 500px) {
.definition_list01 dt {
    width: 100%;
    border-radius: unset;
    float: none;
    margin-top: 0;
}
.definition_list01 dd {
    padding: 1em;
    margin :0;
    border: none;
}
}

.definition_list02 {
	padding :2em 1em 1em 1em;
}

.definition_list02 dt {
	width: 35%;
	text-align: right;
	float: left;
	padding: 0.5em 1em 0.5em 0.5em;
	margin: 0;
}

.definition_list02 dd {
	padding: 0.5em 0.5em 0.5em 35%;
	margin: 0;
}

.definition_list03 {
	display: inline-block;
	padding: 1em;
	width: 49%;
}

.definition_list03 dt {
	font-size :130%;
	font-weight: 500;
}

.definition_list03 .text-right {
	margin-right: 2em;
}

@media screen and (max-width: 768px) {
	.definition_list03 {
		display :block;
		width: 100%;
	}
}

.definition_memo01 {
	width: 80%;
	margin: 1em auto;
	border: #edac06 2px solid;
}

.definition_memo01 dt {
	background: #edac06;
	color: #fff;
	text-align: center;
	padding: 0.5em;
}

/* --------------------------コンテンツ-------------------------- */

.site-main {
	padding :1em;
}

.icon-wrap {
	width: 100%;
	border : #fff 2px solid;
	border-radius : 2px;
	color : #fff;
	padding: 2em 1em 0 1em;
}

.icon-wrap i {
	font-size : 150%;
}

.icon-wrap:hover {
	color : #edac06;
	background :#fff;
}

@media screen and (max-width: 768px) {
	.icon-wrap {
		font-size: smaller;
		padding: 2em 0.5em 0 0.5em;
	}
}

.menu li:last-child a {
    padding: 0 1em!important;
    border: 1px #fff solid;
    border-radius: 30px;
    background: rgba(0,0,0,0.3);
}

.menu li:last-child a:hover {
    background: #fff;
    border: 1px #8cc640 solid;
}

.main-header-clone .menu li:last-child a {
    background: #8cc640;
    color: #fff;
}

.main-header-clone .menu li:last-child a:hover {
    background: #fff;
    color: #8cc640;
}

.news-list {
	border-bottom: #666 2px dotted;
	margin-bottom: 1em;
}

.post-link {
	color : #666;
}

.news-list-title {
	margin : 0;
}

.news-list-tn {
	max-width: 200px;
	max-height: 120px;
	overflow: hidden;
	float: left;
	padding: 1em 1em 0 1em;
	margin-bottom: 1em;
}

.news-list-tn img {
	display : block;
}


/* --------------------------SNSアイコン用-------------------------- */

.sns-list {
    margin: 1em auto;
    width: fit-content;
}

.sns-list li {
    display: table-cell;
    padding: 5%;
    list-style: none;
    font-size: 200%;
}

.sns-list li a {
    color: #444;
}

/* --------------------------投稿内容-------------------------- */

.entry-content h2{
	position:relative;
	padding:5px 20px;
	font:bold 28px/1.6 Arial, Helvetica, sans-serif;
	color:#1d6f40;
	background:#fff292;
	text-shadow:
		1px 1px 0 #fff,
		2px 2px 0 #1d6f40;
	border-top:#1d6f40 solid 3px;
	border-bottom:#1d6f40 solid 3px;
    background-image: -webkit-gradient(linear, left top, right bottom,
			from(			rgba(255, 255, 255, 0.0)), 
			color-stop(0.4, rgba(255, 255, 255, 0.0)), 
			color-stop(0.4, rgba(0, 0, 0, 0.1)), 
			color-stop(0.6, rgba(0, 0, 0, 0.1)), 
			color-stop(0.6, rgba(255, 255, 255, 0.0)),
			to(				rgba(255, 255, 255, 0.0))
			);
	background-image: -webkit-linear-gradient(top -45deg,
			transparent 40%,
            rgba(0, 0, 0, 0.1) 40%,
            rgba(0, 0, 0, 0.1) 60%,
            transparent 60%
			);
	background-image: -moz-linear-gradient(top -45deg,
			transparent 40%,
            rgba(0, 0, 0, 0.1) 40%,
            rgba(0, 0, 0, 0.1) 60%,
            transparent 60%
			);
	background-image: -o-linear-gradient(top -45deg,
			transparent 40%,
            rgba(0, 0, 0, 0.1) 40%,
            rgba(0, 0, 0, 0.1) 60%,
            transparent 60%
			);
	background-image: linear-gradient(to bottom -45deg,
			transparent 40%,
            rgba(0, 0, 0, 0.1) 40%,
            rgba(0, 0, 0, 0.1) 60%,
            transparent 60%
			);
	background-size:4px 4px;
	clear: both;
}
.entry-content h2:before{
	content:" ";
	position:absolute;
	top:100%;
	left:24px;
	width:0;
	height:0;
	border-width:12px;
	border-style:solid;
	border-color:transparent;
	border-top-color:#1d6f40;
}
.entry-content h2:after{
	content:" ";
	position:absolute;
	top:100%;
	left:28px;
	width:0;
	height:0;
	border-width:8px;
	border-style:solid;
	border-color:transparent;
	border-top-color:#ffee6e;
	z-index:1;
}

.entry-content h3 {
	display: flow-root;
	background: #1d6f40;
	color: #fff;
	font-weight: 400;
	padding: 0.5em 1em;
	margin:1em;
	border-radius: 5px;
	clear: both;
}

.entry-content h4 {
	display: flex;
	font-weight: 500;
	padding: 0.5em 1em;
	margin: 0 1.5em;
	background: #ccc;
	border-radius: 5px;
}

.entry-content p {
    margin: 0.5em 2em;
}

.post-list {
    border-bottom: 1px #ccc solid;
    margin-bottom: 2em;
}

.site-content {
    margin-top: 0!important;
}

/* --------------------------フッターデザイン-------------------------- */

.footer_mark figure img {
	display: block;
	width: 50%;
	margin: 1em 1em 1em auto;
}

.footer-list {
    list-style: none;
    padding: 1em;
}

.footer-list li:before {
    font-family: 'FontAwesome';
    content: "\f061";
    margin-right: 0.5em;
}

.footer-list li a {
    color: #1d6f40;
}

/* --------------------------フォームデザイン-------------------------- */

.contact_form_bg {
	background : url(../images/form_bg01.jpg) center center no-repeat;
	background-size :cover;
	padding: 2em 0.5em;
	min-height: 100vh;
}

.contact_form_wrap {
    max-width: 500px;
    background: rgba(255,255,255,0.8);
    border: #ccc 1px solid;
    border-radius: 10px;
    margin: 0 auto;
    padding: 1em;
}

form.sent p{
display:none;
}


/* --------------------------検索結果-------------------------- */

.search-wrap {
	max-width: 768px;
	padding: 2em;
	margin: 2em auto;
	border: #ccc 1px solid;
}

.btm-contact {
	position :fixed;
	bottom :0;
	width: 100%;
	background :#f0f0f0;
}

.btm-contact-wrap {
    display: table;
    max-width: 1000px;
    margin: 0 auto;
}

.btm-contact-content {
    display: table-cell;
    /* max-width: 1000px; */
    /* margin: 0 auto; */
}

.site-footer {
    margin-bottom: 163px;
}

@media screen and (max-width: 1000px) {
	.site-footer {
		margin-bottom: 17%;
	}
}

.abs-content {
    position: relative;
}

.abs-tel {
    position: absolute;
    top: 43%;
    left: 25%;
}

.abs-tel-memo {
    position: absolute;
    top: 63%;
    left: 25%;
    font-size: 28px;
}

@media screen and (max-width: 960px) {
	.abs-tel-memo {
		font-size: 3vw;
	}
}

.abs-web {
    position: absolute;
    top: 42%;
    left: 60%;
}

.abs-content .arrow {
    padding: 0 0 8px 0;
    width: 35px;
}

@media screen and (max-width: 960px) {
	.abs-content .arrow {
		width: 3.5vw;
	}
}


.wpcf7 form.sent .wpcf7-response-output {
    border-color: #fcb900;
    background: #fcb900;
    color: #333;
    font-weight: 600;
}

.slider {
    margin: 0;
}
