@charset "utf-8";



* {
	padding: 0;
	margin: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

html {
  height: 100%;
}

body {
	background-color: #F2F6F7;
/*	font-family: 'Karla', 'Noto Sans JP', '游ゴシック', YuGothic, 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3', "メイリオ", Meiryo, Osaka, 'MS Pゴシック', 'MS PGothic', sans-serif;
*//*	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
*/	word-wrap: break-word;
	height: 100%;
/*	line-height: 2.2;
*/	font-size: 16px;
  line-height: 2.0em;
/*  color: #4d4d4d;
*/  -webkit-text-size-adjust: 100%;
  font-family: "Noto Sans Japanese";
	color: #3f3f3f;
    font-size: 14px;
}

h1 {font-size:140%;
}
.font_mincho {
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
}


.waku01{
	border:#F0F0F0 8px solid;
	width: 80%;
	margin: 0 10% 3% 10%;
	padding: 2% 0;
	background-color: #F0F1DD;
}

.rinen{
	color: rgba(12,43,6,1.00);
	font-size:200%;
	line-height:200%;
	font-weight: 800;
	text-align: center;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;

}
.s_rinen{
	margin: 3%;
	font-size:110%;
	text-align: center;
font-weight: bold;
}
section,
article {
	display: block;
}

img {
	vertical-align: top;
}

a img {
	border-top-style: none;
	border-right-style: none;
	border-bottom-style: none;
	border-left-style: none;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

a:hover img {
	filter: brightness(120%);
}

li {
	list-style-type: none;
}

a {
	color: #2FC686;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
a:hover {
	color: #2FC686;
	text-decoration: none;
}

table {
	border-collapse: collapse;
}
table td {
	border-collapse: collapse;
}

.clfix:after{
  content: "."; 
  display: block; 
  height: 0; 
  font-size:0;	
  clear: both; 
  visibility:hidden;
}

/*
ヘッダー
-------------------------------------------*/
header {
	width: 100%;
	position: fixed;
	z-index: 300;
	transition: all 0.3s ease;
    -webkit-transition: all 0.3s ease;
    -moz-transition: all 0.3s ease;
    -o-transition: all 0.3s ease;
}

header.fixed {
	background-color: #111;
	background-color: rgba(242,246,247,0.9);
}


header h1 a img {
	display: block;
	position: absolute;
}

#g_navi ul li a.ac_menu {
	cursor: pointer;
	overflow: hidden;
}

.pankuzu {
	background-color: rgba(0,102,0,0.8);
	font-size: 14px;
	line-height: 30px;
	color: #EEE;
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
}

.pankuzu ul {
	width: 96%;
	max-width: 1100px;
	margin-right: auto;
	margin-left: auto;
}

.pankuzu li {
	display: inline-block;
}

.pankuzu li a {
	text-decoration: none;
	color: #DDD;
}

.pankuzu li a::after {
	content: ">";
	padding-left: 10px;
	padding-right: 10px;
}

.pankuzu li a:hover {
	color: #FFF;
}

.pankuzu li i {
	padding-right: 5px;
}


/*
メインコンテンツ
-------------------------------------------*/
.content {
	width: 100%;
	background-color: #F2F6F7;
	color: #111;
	padding-top: 50px;
	padding-bottom: 50px;
}
.cont_wrap {
	max-width: 1200px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
}
.cont_wrapA {
	max-width: 1200px;
	width: 100%;
	margin-right: auto;
	margin-left: auto;
	background-color: blue;
}
.cont_wrapA img  {
	border-radius: 3%;
}

#sub_top {
/*  background-color: #555;*/
	background-repeat: no-repeat;
	background-position: top;
	background-attachment: fixed;
	height: 340px;
	line-height: 30px;
	padding-top: 180px;
	width: 100%;
	background-size: 100%;
	text-align: center;
	font-weight: bold;
	color: #FFF;
	font-size: 160%;
	letter-spacing: 0.1em;
	-moz-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.9);
	-webkit-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.5);
	-ms-text-shadow: 0px 0px 5px rgba(0, 0, 0, 0.8);
	text-shadow: 2px 2px 5px rgba(0, 0, 0, 1.5);

}



#index_top {
	height: 100%;
	width: 100%;
	position: relative;
	overflow: hidden;
}


#index_top #top_catch {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 10;
	width: 560px;
	height: 500px;
	margin-top: -250px;
	margin-left: -280px;
	color: #FFF;
	background-color: #2FC686;
/*	background-color: rgba(0,102,0,0.8);
*/		background-color: rgba(0,102,0,0.8);
	
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-flow: column;
	flex-flow: column;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}

#index_top #top_catch h2 {
	font-size: 50px;
	letter-spacing: 1px;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;
	font-weight: normal;
	line-height: 1.5;
	margin-bottom: 20px;


}
#index_top #top_catch p {
	font-size: 15px;
	font-weight: bold;
	letter-spacing: 1px;
	line-height: 2.4;
}

.content h2 {
	font-size: 200%;
	line-height: 1.8;
	margin-bottom:30px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #15394A;
	font-weight: normal;
	letter-spacing: 1px;
	color: #111;
	text-align: center;
/*	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "Sawarabi Mincho", "HG明朝E",  "ＭＳ Ｐ明朝", "MS PMincho", serif;*/
	font-family: "DNPShueiMGoStd-B","Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
	padding-top: 30px;
	padding-right: 10px;
	padding-bottom:10px;
	padding-left: 10px;
	clear: both;
}

.content h2 i {
	padding: 10px;
	color: #71F0BD;
	color: #308231;
	
	
}

.content h2 span {
font-family: 'Sawarabi Mincho', sans-serif;
	font-size: 20px;
    	color:#308231;
text-align: center;
    letter-spacing: 0.1em;
	font-weight: bold;
}


.cont_wrap h2 {
	   font-family: 'Sawarabi Mincho', sans-serif;
	
}
	
	

.cont_wrap h2 span {
    letter-spacing: 0.5em;
    font-size: 16px;
	font-family: 'Sawarabi Mincho', sans-serif;
	color: #009A00;
	padding-bottom:10px;
}

.content h2 span.small {
	font-size: 18px;
	font-weight: normal;
	color: #555;
	
}

.content h3 {
	font-size: 140%;;
	line-height: 30px;
	margin-bottom: 20px;
	position: relative;
	margin-top: 30px;
	padding-top: 15px;
	padding-right: 10px;
	padding-bottom: 15px;
	padding-left: 44px;
/*    font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
*/	color:#308231;
	font-family: Arial, "Hiragino Sans", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic ProN", "游ゴシック", YuGothic, "メイリオ", Meiryo, sans-serif;
	letter-spacing: 0.05em;
	
	
}

.content h3::after {
	display: block;
	width: 2px;
	height: 20px;
	position: absolute;
	top: 20px;
	left: 20px;
	background-color:#2FC686;
	content: '';
		font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
}

.content h3 span {
	font-size: 15px;
	color: #555;
	font-family: "游ゴシック", "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, Osaka, "ＭＳ ゴシック", "MS Gothic", sans-serif;
	padding-left: 15px;
}
.content h4 {
	font-size:130%;
    font-family: 'Sawarabi Mincho', Helvetica, Arial, sans-serif;
    border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color:#C1D099;
	color:#72592C;
	letter-spacing: 0.1em;
	padding: 10px;
   clear: both;
	margin-top: 10px;
	margin-right: 30px;
	margin-bottom:10px;
	margin-left: 30px;/*border-bottom: 3px solid #A6EACD;*/
	/*font-size: 100%; background: linear-gradient(transparent 50%, #A6EACD 50%);*/
}


.content p {
	font-size: 16px;
	padding: 10px;
	margin-bottom: 30px;
	margin-top: 20px;
	margin-right: 30px;
	margin-left: 30px;
	font-family: 'Noto Sans JP', sans-serif;
}

.content .ul_news li {
	font-size: 16px;
}
.content .ul_news li a span.date {
	padding-right: 20px;
	color: #888;
}

.content .ul_news li span.i_con {
	display: inline-block;
	padding-left: 5px;
	padding-right: 5px;
	background-color: #F90;
	color: #FFF;
	margin-right: 5px;
}
.content .ul_news li span.i_con.cl2 {
	background-color: #36BEAD;
}

.content .ul_news li a {
	display: block;
	color: #333;
	line-height: 30px;
	padding: 20px;
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #999;
	text-decoration: none;
}

.content .ul_news li a:hover {
	color: #000;
	background-color: #FFF;
}

.title_title1 {
  width: 100%;
  margin-bottom: min(30px,30vw/1180*100);
  font-size: min(58px,58vw/1180*100);
  line-height: 1em;
}
.josefin {
  font-family: 'Josefin Sans', sans-serif;
  font-weight: 400;
  letter-spacing: 0.1em;
}

.josefinB {
  font-family: 'Josefin Sans', sans-serif;
	font-size:250%;
	
}

.content .ul_news li span.i_con.new {
    background: rgba(132, 31, 32, 1.00);
    color: #FFF;
}


.content h2 span 
.img_center {
	display: block;
	margin-left: auto;
	margin-right: auto;
	position: relative;
}

.img_center span {
	position: absolute;
	background-color: #333;
	background-color: rgba(0,0,0,0.8);
	color: #FFF;
	letter-spacing: 0.1em;
	padding: 10px;
	left: 0;
	top: 0;
}

.img_center div {
	position: absolute;
	background-color: #333;
	background-color: rgba(0,0,0,0.8);
	color: #FFF;
	letter-spacing: 0.1em;
	padding: 50px;
	right: 0;
	bottom: 0;
}


.img_left {
	float: left;
	padding-top: 20px;
	padding-right: 50px;
	padding-left: 30px;
	padding-bottom: 20px;
	max-width: 50%;
}
.img_right {
	float: right;
	padding-top: 20px;
	padding-right: 30px;
	padding-left: 50px;
	padding-bottom: 20px;
	max-width: 50%;
}


.img_rightB {
	float: right;
	padding:5px;
	max-width: 50%;
	margin:10px 0;
}


.img_leftB {
	float: left;
	padding:5px;
	max-width: 50%;
	margin:10px 0;
}

.img_left img,
.img_right img,
.img_center img {
	width: 100%;
}

.shiro{
	background-color: rgba(255,255,255,0.8);
	border-radius: 10px;
	padding: 1%;
	margin-bottom: 3%;
}

.shiro p{
	font-family: 'Noto Sans JP', sans-serif;
	color: rgba(34,66,31,1.00);
}
.img_rightB img{
	width: 80%;
	margin:0 10% 0 20%;
	
}
.img_leftB img{
	width: 80%;
	margin:0 10% 0 10%;
}
.content .img_left p,
.content .img_right p,
.content .img_rightB p{
	font-size: 14px;
	margin: 0px;
	text-align: center;
	letter-spacing: 0.1em;
	color: #455E65;
}

.colbox{
	font-size: 16px;
    padding: 10px;
    margin-bottom: 30px;
    margin-top: 20px;
    margin-right: 30px;
    margin-left: 30px;
    font-family: 'Noto Sans JP', sans-serif;
	
}
.colbox ul {
    padding:0 0 0 20px  ;
}
.colbox ul li{
	list-style:disc;
	list-style-position:outside;
	
}


@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP');

.shiro h4 {
     font-family: 'Noto Sans JP', sans-serif;
}
.content .img_leftB p{
	font-size: 14px;
	margin: 0px;
	text-align: center;
	letter-spacing: 0.1em;
	color: #455E65;
}
.content p.check {
	color: #FF3333;
}
.content p.p_st {
	font-size: 20px;
	color: #CA28B1;
}

.content .cont_wrap .txt_box {
	background-color: #E6EDEE;
	padding: 20px;
	margin: 20px;
}


.cont_wrapA {
	background-color: #E6EDEE;
	padding: 20px;
	margin: 20px;
}


.content .cont_wrap .txt_box h3 {
	margin-top: 0px;
	margin-bottom: 0px;
	text-align: center;
	padding-right: 0px;
	padding-left: 0px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #B6CACD;
	border-radius: 0px;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	color: #333;
}

.content .cont_wrapA .txt_box h3::after {
	display: none;
}

.content .cont_wrapA .txt_box h3 {
	margin-top: 0px;
	margin-bottom: 0px;
	text-align: center;
	padding-right: 0px;
	padding-left: 0px;
	border-bottom-width: 1px;
	border-bottom-style: solid;
	border-bottom-color: #B6CACD;
	border-radius: 0px;
	-webkit-border-radius: 0px;
	-moz-border-radius: 0px;
	color: #333;
}

.content .cont_wrap .txt_box h3::after {
	display: none;
}

.cont_wrapA .txt_box h3::after {
	display: none;
}
a.ap {
	padding-top: 50px;
	margin-top: -50px;
}

/*
コンテンツ大ボタン
-------------------------------------------*/
.btn_cnt a {
	font-size: 16px;
	color: #FFF;
	text-align: center;
	text-decoration: none;
	display: block;
	width: 240px;
	background-color: #2FC686;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
	line-height: 22px;
	padding-top: 10px;
	padding-bottom: 10px;
	clear: both;
/*	font-weight: bold;*/
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}
.btn_cnt a i {
	padding-right: 10px;
}
.btn_cnt a:hover {
	color: #2FC686;
	background-color: #FFF;
	border: #2FC686 1px solid;
}

.btn_cnt.rt a {
	float: right;
	max-width: 220px;
	margin-right: 10px;
}


.btn_cntB a {
	font-size: 16px;
	color: #FFF;
	text-align: center;
	text-decoration: none;
	display: block;
	width: 240px;
	background-color: #2FC686;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
	line-height: 22px;
	padding-top: 10px;
	padding-bottom: 10px;
	clear: both;
/*	font-weight: bold;*/
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}
.btn_cntB a i {
	padding-right: 10px;
}
.btn_cntB a:hover {
	color: #2FC686;
	background-color: #FFF;
	border: #2FC686 1px solid;
}

.btn_cntB.rt a {
	float: right;
	max-width: 220px;
	margin-right: 10px;
}


/*
トップへ戻るボタン
-------------------------------------------*/
.to_top {
	position: fixed;
	bottom: 0px;
	right: 0px;
	z-index: 800;
}
.to_top a {
	text-decoration: none;
	text-align: center;
	display: block;
	width: 60px;
	height: 60px;
	background-color: #DCE7E9;
	color: #333;
	text-align: center;
	font-size: 32px;
	line-height: 60px
}
.to_top a:hover {
	background-color: #2FC686;
	color: #FFF;
}

/*
フッター
-------------------------------------------*/

footer {
	background-color: #DCE7E9;
/*	color: #345;
*/	color: #345;
	clear: both;
	width: 100%;
	display: block;
	padding-top: 20px;
	border-bottom-width: 20px;
	border-bottom-style: solid;
	border-bottom-color: #D2E1E3;
	background-color: #D2E1E3;
	margin-top:50px; 
}

footer .cont_wrap {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

footer .cont_wrapA {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}


footer .cont_wrap .f_box {
	width: 20%;
	padding: 10px;
}

footer .cont_wrap .f_box.lg {
	width: 60%;
}

footer .cont_wrap p {
	font-size: 13px;
}

footer .cont_wrap ul {
	padding: 20px;
}

footer .cont_wrap ul li a {
	display: block;
	text-decoration: none;
	font-size: 13px;
	color: #555;
}

footer .cont_wrap ul li.contact a {
	text-align: center;
	color: #FFF;
	background-color: #2FC686;
	font-size: 14px;
	padding: 2px;
	margin-top: 5px;
}

footer .cont_wrap ul li.contact a:hover {
	color: #2FC686;
}
footer .cont_wrap ul li.contact a::before {
	display: none;
}

footer .cont_wrap ul li a::before {
	content: "・ ";
	color: #999;
}

footer .cont_wrap ul li a:hover {
	color: #111;
	background-color: #FFF;
}

footer .cont_wrapA .f_box {
	width: 20%;
	padding: 10px;
}

footer .cont_wrapA .f_box.lg {
	width: 60%;
}

footer .cont_wrapA p {
	font-size: 13px;
}

footer .cont_wrapA ul {
	padding: 20px;
}

footer .cont_wrapA ul li a {
	display: block;
	text-decoration: none;
	font-size: 13px;
	color: #555;
}

footer .cont_wrapA ul li.contact a {
	text-align: center;
	color: #FFF;
	background-color: #2FC686;
	font-size: 14px;
	padding: 2px;
	margin-top: 5px;
}

footer .cont_wrapA ul li.contact a:hover {
	color: #2FC686;
}
footer .cont_wrapA ul li.contact a::before {
	display: none;
}

footer .cont_wrap ul li a::before {
	content: "・ ";
	color: #999;
}

footer .cont_wrapA ul li a:hover {
	color: #111;
	background-color: #FFF;
}

address {
	clear: both;
	font-size: 12px;
	font-style: normal;
	padding: 20px;
	text-align: center;
	letter-spacing: 1px;
	background-color: rgb(48,130,49);
color: #fff;}

footer .box_pr {
	clear: both;
	width: 100%;
	display: block;
	text-align: center;
	font-size: 10px;
	color: #55838A;
	letter-spacing: 1px;
	background-color: #D2E1E3;
	padding-top: 18px;
	line-height: 22px;
}

.box_pr ul li {
	display: inline;
	padding: 5px;
}

.box_pr ul li a {
	color: #55838A;
}


/*
各種テーブル
-------------------------------------------*/
.content table.table_01 {
	width: 96%;
	margin-top: 20px;
	margin-right: auto;
	margin-bottom: 30px;
	margin-left: auto;
}
.content table.table_01 th,
.content table.table_01 td {
	border-bottom-width: 1px;
	border-bottom-style: dotted;
	border-bottom-color: #888;
	padding: 20px;
}
.content table.table_01 th {
	font-size: 16px;
	white-space: nowrap;
	font-weight: normal;
	letter-spacing: 1px;
	width: 33%;
}
.content table.table_01 td {
	font-size: 14px;
	line-height: 30px;
	background-color: #FFF;
}

.small {
	font-size: smaller;
	color: #666;
}
.chui {
	color: #F03600;
	font-size: 30%;
}


.table_01 caption {
	font-size: 14px;
	line-height: 30px;
	background-color: #E5E5E5;
	color: #111;
	letter-spacing: 1px;
	padding-top: 5px;
	padding-bottom: 5px;
	border: 1px solid #FFF;
	box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
	-webkit-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
	-moz-box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2px 0px;
}
.table_01 th span {
	font-size: 12px;
	color: #CCC;
}


/*
トップ下部ピックアップ
-------------------------------------------*/
.pick_up {
	width: 100%;
}


.pick_up ul {
	margin-left: auto;
	margin-right: auto;
	width: 100%;
	max-width: 1400px;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.pick_up ul li {
	width: 32%;
	position: relative;
}
.pick_up ul li a {
	display: block;
	overflow: hidden;
	position: relative;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
.pick_up ul li a img {
	width: auto;
	max-width: 100%;
	z-index: 0;
	border-radius: 3%;
}
.pick_up ul li a:hover img {
	-webkit-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-o-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	border-radius: 3%;
}

.pick_up ul li a::before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background-color: rgba(92,189,202,0.2);
	z-index: 5;
	position: absolute;
	top: 0;
	left: 0;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	border-radius: 3%;
}

.pick_up ul li a:hover::before {
	background-color: rgba(0,102,0,0.8);
	border-radius: 3%;
	color: #FFF;
}


.pick_up ul li a div {
	color: #FFF;
	
    text-shadow: 2px 4px 3px rgba(0,0,0,0.8);
	font-family: "DNPShueiMGoStd-B","Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
   /* transform: scaleY(0.95);*/
	font-size: 32px;
	font-weight: bold;
	line-height: 1.2em;
	text-decoration: none;
	text-align: center;
	display: block;
	width: 80%;
	margin-top: -20px;
	margin-left: -40%;
	position: absolute;
	left: 50%;
	top: 47%;
	font-weight: bold;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
	z-index: 10;
}
.pick_up ul li a div span {
	font-size: 16px;
	letter-spacing: 2px;
}


/*
コンテンツボックス
-------------------------------------------*/

.box_cont {
	width: 100%;
	max-width: 1200px;
	margin: auto;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	padding-top: 20px;
	padding-right: 20px;
	padding-left: 20px;
}

.box_cont .box_c_in {
	width: 48%;
	min-height: 200px;
	padding: 10px;
	border: 1px solid #CFDEE0;
	margin-bottom: 30px;
}

.box_cont .box_c_in:hover {
	background-color: #FFF;
	border-top-color: #2FC686;
	border-right-color: #2FC686;
	border-bottom-color: #2FC686;
	border-left-color: #2FC686;
}

.box_cont .box_c_in img {
	max-width: 100%;
	padding: 20px;
}

.content .box_cont .box_c_in h2 {
	padding-bottom: 10px;
	font-size: 24px;
	border-bottom-width: 1px;
	border-bottom-color: #CCC;
	padding-top: 10px;
}


/*
背景
-------------------------------------------*/

.obi_green {
	background-color:#236123;
	text-align: center;
	padding-top: 5%;
	padding-right: 20px;
	padding-bottom: 5%;
	padding-left: 20px;
	background-size: cover;
	background-attachment: fixed;
	background-position: center bottom;
	color: #FFF;
	margin-top: 50px;
	margin-bottom: 50px;
	
}
.obi_green p{
	font-size: 200%;
}

.btn-b-2{
  display: block;
  text-decoration: none;
  max-width: 800px;
  width: 100%;
  margin: 20px auto;
  padding: 21px 5px;
  color: #fff;
  font-weight: bold;
  font-size: 21px;
  text-align: center;
  background-color: #236123;
  border: 2px solid #fff;
  border-radius: 30px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.1);
 
	
}
.btn-b-2:hover{
  background-color: #236123;
	 background-color: #fff;
	border: 2px solid #236123;
	color: #236123;
}
.btn-b-2 span{
  margin-left: 12px;
}


.btn-b-4{
  display: block;
  text-decoration: none;
  max-width: 800px;
  width: 100%;
  margin: 20px auto;
  padding: 21px 5px;
  color: #236123;
  font-weight: bold;
  font-size: 21px;
  text-align: center;
  background-color:#fff ;
  border: 2px solid #236123;
  border-radius: 10px;
  box-shadow: 0 3px 6px rgba(0,0,0,0.1);
 
	
}
.btn-b-4:hover{
  background-color: #236123;
	 background-color: #236123;
	border: 2px solid #236123;
	color: #fff;
}
.btn-b-4 span{
  margin-left: 12px;
}


/*
背景入り帯
-------------------------------------------*/

.obi_001 {
	background-image: url(../img/obi_001.jpg);
	background-repeat: no-repeat;
	text-align: center;
	padding-top: 15%;
	padding-right: 20px;
	padding-bottom: 15%;
	padding-left: 20px;
	background-size: cover;
	background-attachment: fixed;
	background-position: center bottom;
	color: #FFF;
	margin-bottom: 50px;
}

.content .obi_001 h2 {
	color: #FFF;
	border-bottom: none;
	padding-bottom: 0px;
}
.obi_001 p {
	line-height: 2.4;
}


/*.obi_002 {
	width: 100%;
	height: auto;
	background-image: url(../img/obi_002.jpg);
	background-image: url("../img/sample.jpg");	
	background-repeat: no-repeat;
	background-size: cover;
	background-size: auto;
	padding: 0 0 50%;
	position: relative;
}*/

.contentA{
	 width: 100%;
     background-image: url(../img/obi_002.jpg); 
		background-size: cover;
	background-size: auto;
	text-align: center;
	background-color: rgba(46,102,63,0.8);
}
.obi_002 {
    width: 100%;
    /* background-image: url(../img/sample.jpg); */
    background-repeat: no-repeat;
    background-size: cover;
    background-size: auto;
    padding: 0 0 50%;
    position: relative;
    background-color: #F2F6F7;
}

.obi_002 .box_in {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-flow: column;
	flex-flow: column;
	position: absolute;
	color: #FFF;
	background-color: rgba(46,102,63,0.8);
}

.obi_002 h2 {
	font-size: 36px;
}
.obi_002 p {
	line-height: 2;
	/*font-weight: bold;*/
}


.sub_obi{
	width: 100%;
    background-image: url("../img/bk01.png");
	background-repeat: repeat-x;
	margin-bottom: 20px;
	
}

.sample03 {
　position: relative;
　width: 240px;
　height: 240px;
	background-image: url("../img/bk01.png");
}
.sample03:before {
　position: absolute;
　content: '';
　left: 0;
　top: 0;
　width: 100%;
　height: 100%;
　background-color: rgba(0,0,255,.5);
}





.obi_003 {
	width: 100%;
	height: auto;
	background-image: url("../img/bk01.png");
	background-repeat: no-repeat;
	background-size: cover;
	padding: 3%;
	position: relative;

background-blend-mode:hard-light;
}

.obi_003 .box_in {
	width: 100%;
	height: 100%;
	display: -webkit-box;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-webkit-align-items: center;
	align-items: center;
	-webkit-justify-content: center;
	justify-content: center;
	-webkit-flex-flow: column;
	flex-flow: column;
	position: absolute;
	color: #FFF;
	background-color: rgba(46,102,63,0.8);
}

.obi_003 h2 {
	font-size: 36px;
}
.obi_003 p {
	line-height: 2;
}




.obi_003B {
	width: 100%;
	height: auto;
	background-repeat: no-repeat;
	position: relative;
	background-size:auto;
	padding:5% 0;
	background-blend-mode: multiply;
	background-color: rgba(2,46,20,0.80);
    background-image:url("../img/obi_003b.jpg");

}



.txtbox{
    width: 100%;
/*    height: 100%;
*/    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-flex-flow: column;
    flex-flow: column;
    position: absolute;
    color: #FFF;
	
}



.txtbox p{	
		margin: 1%;
	text-align: center;
}


.p1 img{
	margin: 1%;
}


.telB{
	font-size: 250%;
		font-family: "DNPShueiMGoStd-B","Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", sans-serif;
	background-color:#FF7F00;
	padding: 3%;
	border-radius:5px;
	width: 100%;

}




.btn,
a.btn,
button.btn {
  font-size: 2.5rem;
  font-weight: 700;
  line-height: 1.5;
  position: relative;
  display: inline-block;
  padding: 0.5rem 4rem;
  cursor: pointer;
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
  text-align: center;
  vertical-align: middle;
  text-decoration: none;
  /*letter-spacing: 0.1em;*/
  color: #212529;
  border-radius: 0.5rem;
font-family: 'Karla', 'Noto Sans JP', '游ゴシック', YuGothic, 'Hiragino Kaku Gothic Pro','ヒラギノ角ゴ Pro W3', "メイリオ", Meiryo, Osaka, 'MS Pゴシック', 'MS PGothic', sans-serif;}

.btn--orange,
a.btn--orange {
  color: #fff;
/*  background-color: #FF7F00;
*/}

.btn--orange:hover,
a.btn--orange:hover {
  color: #FF7F00;
  /*background: #f56500;*/
}

.fa-position-left {
  position: absolute;
  top: calc(50% - 0.5em);
  left: 1rem;
}




/*.obi_003B:before {
　position: absolute;
　content: '';
　left: 0;
　top: 0;
　width: 100%;
　height: 100%;
　background-color: rgba(0,0,255,.5);
}

*/




.obi_003B h2 {
	font-size: 200%;
}
.obi_003B p {
	line-height: 2;
}






@media screen and (min-width:960px){
body {
	font-size: 16px;
}

/*
ヘッダー
-------------------------------------------*/
header {
	height: 90px;
}


header h1 a img {
	top: 10px;
	left: 10px;
	height: 44px;
}

.menu_btn,
.btn_close {
	display: none;
}

/*
PCグローバルナビ
-------------------------------------------*/
#g_navi {

	position: absolute;
    right: 10px;
    top: 21px;
    width:auto;
    margin-left: 250px;
    display: block !important;
    z-index: 1000;
    font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.7rem;
    font-weight: bold;


}

#g_navi ul li{
	display: inline;
	
}

#g_navi li a {
	width: auto;
	padding: 10px;
	line-height: 30px;
	display: block;
	color: #111;
	text-decoration: none;
	text-align: center;
	position: relative;
	float: left;
	letter-spacing: 1px;
	font-size: 14px;
	font-weight: bold;
}

#g_navi li a::before {
	display: block;
	height: 2px;
	position: absolute;
	top: 2px;
	width: 80%;
	left: 10%;
	background-color: rgba(17,187,221,0);
	content: '';
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

#g_navi li a:hover::before {
	background-color: #2FC686;
	top:0px;
	width: 80%;
	left: 10%;
}

#g_navi li a:hover {
	color: #2FC686 !important;
}

#g_navi.txt_w li a {
	color: #FFF;
}

header.fixed #g_navi.txt_w li a {
	color: #111;
}

#g_navi li.contact a {
	background-color: #2FC686;
	color: #FFF !important;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: 10px;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
}
#g_navi li.contact a:hover {
	background-color: #FFF;
	color: #2FC686 !important;
}
#g_navi li.contact a::before {
	display: none;
}


/*
ヘッダー
-------------------------------------------*/

#index_top {
	min-height: 850px;
}

#sub_top.sample {
	background-image: url(../img/sub_top_sample.jpg);
}
#sub_top.faq {
	background-image: url(../img/sub_top_faq.jpg);
}
#sub_top.contact {
	background-image: url(../img/sub_top_contact.jpg);
}
#sub_top.news {
	background-image: url(../img/sub_top_news.jpg);
}
#sub_top.concept {
	background-image: url(../img/sub_top_concept.jpg);
}
#sub_top.works {
	background-image: url(../img/sub_top_works.jpg);
}
#sub_top.about {
	background-image: url(../about/img/sub_top_about.jpg);
}
#sub_top.staff {
	background-image: url(../img/sub_top_staff.jpg);
}

#sub_top.company {
	background-image: url(../img/sub_top_company.jpg);
}
#sub_top.about:before {
　position: absolute;
　content: '';
　left: 0;
　top: 0;
　width: 100%;
　height: 100%;
　background-color: rgba(0,0,255,.5);
	}
	
#sub_top.service {
	background-image: url(../service/img/sub_top.jpg);
}

.no_pc {
	display: none !important;
}

}
/*-- /960px～ --*/

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

header h1 a img {
	left: 50%;
	margin-left: -590px;
}

header #g_navi {
    right: 743px;
    margin-right: -590px;
}

}

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

body {
	font-size: 16px;
}

body.fixed {
	overflow: hidden;
}

img {
	max-width: 100% !important;
	height: auto;
	width /***/:auto;
	margin-left:auto;
	margin-right:auto;
}

.content h4 {
	margin-right: 10px;
	margin-left: 10px;
}


/*
メニューボタン
-------------------------------------------*/

.menu_btn {
	display: block;
	height: 40px;
	width: 40px;
	text-align: center;
	padding-top: 5px;
	padding-bottom: 5px;
	position: fixed;
	z-index: 5000;
	top: 5px;
	right: 5px;
	border-radius: 3px;
	-webkit-border-radius: 3px;
	-moz-border-radius: 3px;
	cursor: pointer;
}
.menu_btn:hover {
	cursor: pointer;
}

.menu_btn span {
	width: 28px;
	height: 2px;
	display: block;
	position: absolute;
	left: 50%;
	top: 50%;
	margin-left: -14px;
	background-color: #2FC686;
}
.menu_btn span {
    transition: all 0.3s;
    transform: rotate(0deg);
	-webkit-transform: rotate(0deg);  
    -moz-transform: rotate(0deg);    
  }
.menu_btn span.top {
    transform: translateY(-8px);
	-webkit-transform: translateY(-8px);  
    -moz-transform: translateY(-8px);    
  }
.menu_btn span.bottom {
    transform: translateY(8px);
	-webkit-transform: translateY(8px);  
    -moz-transform: translateY(8px);    
}


.menu_btn:hover span.top {
    transform: translateY(-10px);
	-webkit-transform: translateY(-10px);  
    -moz-transform: translateY(-10px);    
}
.menu_btn:hover span.bottom {
    transform: translateY(10px);
	-webkit-transform: translateY(10px);  
    -moz-transform: translateY(10px);    
}

.menu_btn.opened span {
	background-color: #7BC;
}

.menu_btn.opened span.middle {
    background: rgba(255, 255, 255, 0);
	 transform: translateX(30px);
	 -webkit-transform: translateX(30px);  
    -moz-transform: translateX(30px);    
}
.menu_btn.opened span.top {
    transform: rotate(-45deg) translateY(0px);
	-webkit-transform: rotate(-45deg) translateY(0px);  
    -moz-transform: rotate(-45deg) translateY(0px);    
}
.menu_btn.opened span.bottom {
    transform: rotate(45deg) translateY(0px);
	-webkit-transform: rotate(45deg) translateY(0px);  
    -moz-transform: rotate(45deg) translateY(0px);    
}

/*
グローバルナビ
-------------------------------------------*/
#g_navi {
	position: fixed;
	width: 90%;
	height: 100%;
	top: 0px;
	overflow: auto;
	z-index: 3000;
	background-color: #F2F6F7;
	background-color: rgba(242,246,247,0.85);
	display: none;
	padding-left: 5%;
	padding-right: 5%;
	
}
#g_navi ul {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-flow: column;
    flex-flow: column;
    -webkit-justify-content: center;
    justify-content: center;
   /* min-height: 100%;*/
}


#g_navi ul li a {
	color: #111;
	text-decoration: none;
	display: block;
	padding: 10px;
	line-height: 22px;
	font-size: 14px;
	font-weight: bold;
	letter-spacing: 1px;
	border-bottom: #2FC686 1px solid;
}
#g_navi ul li a:hover {
	color: #2FC686;
}

#g_navi ul li.contact a {
	text-align: center;
	background-color: #2FC686;
	color: #FFF;
	width: 90%;
}

#g_navi ul li.contact a:hover {
	background-color: #FFF;
	color: #2FC686;
}


/*
メニューシャドウ
-------------------------------------------*/
.bg_bl {
	background-color: #FFF;
	height: 100%;
	width: 100%;
	opacity: 0.80;
	filter: alpha(opacity=80);
	-ms-filter: "alpha( opacity=80 )";
	display: block;
	position: fixed;
	z-index: 2000;
}


/*
ヘッダー
-------------------------------------------*/

header {
	height: 52px;
}

header h1 a img {
	top: 10px;
	left: 10px;
	height: 36px;
}

header .h_menu {
	display: none;
}

header #info {
	display: none;
}


#sub_top.sample {
	background-image: url(../img/sub_top_sample_sp.jpg);
}
#sub_top.faq {
	background-image: url(../img/sub_top_faq_sp.jpg);
}
#sub_top.contact {
	background-image: url(../img/sub_top_contact_sp.jpg);
}
#sub_top.news {
	background-image: url(../img/sub_top_news_sp.jpg);
}
#sub_top.concept {
	background-image: url(../img/sub_top_concept_sp.jpg);
}
#sub_top.works {
	background-image: url(../img/sub_top_works_sp.jpg);
}
#sub_top.about {
	background-image: url(../about/img/sub_top_about_sp.jpg);
}
#sub_top.service {
	background-image: url(../service/img/sub_top_sp.jpg);
}
#sub_top.works {
	background-image: url(../img/sub_top_works_sp.jpg);
}
#sub_top.about {
	background-image: url(../img/sub_top_about_sp.jpg);
}
#sub_top.staff {
	background-image: url(../img/sub_top_staff_sp.jpg);
}
#sub_top.company {
	background-image: url(../img/sub_top_company_sp.jpg);
}
/*
フッター
-------------------------------------------*/
footer {
	border-bottom-width: 60px;
}

footer .cont_wrap .f_box {
	width: 50%;
	text-align: center;
}
footer .cont_wrap .f_box.lg {
	width: 100%;
}

footer .cont_wrapA{
	width: 50%;
	text-align: center;
}
footer .cont_wrapA {
	width: 100%;
}

.no_sp {
	display: none;
}

}
/*-- /～960px --*/



/*
無限ループ
-------------------------------------------*/
.loop_wrap_base {
	width: 100%;
	height: auto;
	overflow: hidden;
	background-color: #F2F6F7;
	padding-top: 30px;
	padding-bottom: 30px;
}


.loop_wrap_base h2 {
	font-weight: normal;
	color: #111;
	text-align: center;
	line-height: 1.2;
	padding: 10px;
	font-size: 24px;
}
.loop_wrap_base h2 span {
	letter-spacing: 0.2em;
	font-size: 14px;
	color: #555;
}

.loop_wrap {
  display: flex;
  width: 220%;
  height: auto;
}

.loop_wrap ul {
  width: 100%;
  height: auto;
  display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.loop_wrap ul li {
	width:25%;
	font-weight: bold;
}

.loop_wrap ul li a {
	display: block;
	text-decoration: none;
	color: #555;
	text-align: center;
	line-height: 1.6;
	font-size: 14px;
	position: relative;
}
.loop_wrap ul li a img {
	width: 100%;
	display: block;
	margin-bottom: 5px;
}

.loop_wrap ul li a span {
	display: inline-block;
	background-color: #36BEAD;
	color: #FFF;
	font-size: 12px;
	position: absolute;
	top: 0;
	left: 0;
	padding: 5px;
	letter-spacing: 1px;
	z-index: 10;
}

.loop_wrap ul li a span.cl_2 {
	background-color: #333;
}

.loop_wrap ul li a span.cl_3 {
	background-color: #FF9900;
}

span.cl_3 {
	background-color: #FF9900;
}

@keyframes loop {
  0% {
    transform: translateX(100%);
  }
  to {
    transform: translateX(-100%);
  }
}

@keyframes loop2 {
  0% {
    transform: translateX(0);
  }
  to {
    transform: translateX(-200%);
  }
}

.loop_wrap ul:first-child {
  animation: loop 50s -25s linear infinite;
}

.loop_wrap ul:last-child {
  animation: loop2 50s linear infinite;
}

.loop_wrap:hover ul {
  animation-play-state: paused;
}



/*
SNSボタン
-------------------------------------------*/

.h_sns {
	padding: 5px;
	position: fixed;
	top: 130px;
	right: 0px;
	background-color: rgba(0,102,0,0.8);
	border-radius: 8px 0px 0px 8px;
	-webkit-border-radius: 8px 0px 0px 8px;
	-moz-border-radius: 8px 0px 0px 8px;
}
.h_sns li a {
	display: block;
	padding: 10px;
	color: #FFF;
	line-height: 30px;
	width: 50px;
	text-align: center;
	text-decoration: none;
	font-size: 18px;
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}

.h_sns li a:hover {
	background-color: #FFF;
	color: #2FC686;
}


@media screen and (max-width:640px){
.h_sns {
	width: 100%;
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
	top: auto;
	bottom: 0;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	border-radius: 0px;
    -webkit-border-radius: 0px;
    -moz-border-radius: 0px;
	padding-right: 60px;
}

.h_sns li {
	width: 25%;
}
.h_sns li a {
	width: 100%;
	text-align: center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}
	
#index_top #top_catch {
	top: 25%;
	left: 5%;
	width: 90%;
	height: 50%;
	margin-top: 0px;
	margin-left: 0px;
}


#index_top #top_catch h2 {
	font-size: 40px;
}

#index_top #top_catch p {
	font-size: 12px;
}

#sub_top {
	height: 180px;
	padding-top: 100px;
}

.content {
	padding-top: 20px;
	padding-bottom: 20px;
}

.content p {
	margin-bottom: 20px;
	margin-top: 10px;
	margin-right: 10px;
	margin-left: 10px;
}

.img_left,
.img_right {
	float: none;
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	max-width: 100%;
}


	
/*.img_left,
.img_right,
.img_rightB,
.img_leftB {
	float: none;
	display: block;
	margin-left: auto;
	margin-right: auto;
	padding-left: 10px;
	padding-right: 10px;
	padding-bottom: 10px;
	max-width: 100%;
}*/
	.img_rightB  img{
		width: 80%;
		margin: 10%;
	}

	.img_leftB  img{
		width: 80%;
		margin: 10%;
	}


	
.pick_up ul li {
	width:80%;
	text-align: center;
}

.content .ul_news li span.date {
	padding-right: 0px;
	display: block;
}

.obi_001 {
	background-image: url(../img/obi_001_sp.jpg);
	padding-left: 10px;
	padding-right: 10px;
}

.obi_001 p {
	text-align: left;
	margin-left: 15px;
	margin-right: 15px;
	font-size: 14px;
}

.obi_002 {
	background-image: url(../img/obi_002_sp.jpg);
	padding: 0 0 100%;
}
.obi_003 {
	background-image: url("../img/bk01.png");
/*	padding: 0 0 100%;*/
}
	
.obi_003B {
    background-image:url("../img/obi_003b.jpg");
    padding-left: 10px;
    padding-right: 10px;
	
	background-color:rgba(6,42,2,0.8)

	}
	
	
.loop_wrap {
  width: 400%;
}

.box_cont {
	padding-right: 10px;
	padding-left: 10px;
}

.box_cont .box_c_in {
	width: 100%;
	padding: 5px;
}

.content .cont_wrap .txt_box {
	margin-left: 0px;
	margin-right: 0px;
}

.content .cont_wrapA .txt_box {
	margin-left: 0px;
	margin-right: 0px;
}	
}

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

input,
textarea {
	max-width: 300px !important;
}

.content table.table_01 th,
.content table.table_01 td {
	width: 100% !important;
	display: block;
}

.content table.table_01 th {
	background-color: #F6F6F6;
}


#index_top #top_catch h2 {
	font-size: 30px;
}

#sub_top {
	font-size: 24px;
}

.content h2 {
	font-size: 24px;
}

.content .obi_001 h2 {
	font-size: 22px;
}
	
	.pick_up ul li a div {
	font-size: 100%;
	font-weight: bold;
	text-decoration: none;
	text-align: center;
	display: block;

}
	.pick_up ul li {
	text-align: center;
	width: 80%;
	margin:0 10%;
}
}

/*
エフェクト
-------------------------------------------*/
.effect {
	opacity: 0;
	filter: alpha(opacity=0);
	-ms-filter: "alpha( opacity=0 )";
	transform: translateY(20px);
	-webkit-transform: translateY(20px);  
    -moz-transform: translateY(20px); 
	-webkit-transition: 1.0s ease-out;
	-moz-transition: 1.0s ease-out;
	transition: 1.0s ease-out;
	

}

.effect.d_02 {
transition-delay:0.2s;
-webkit-transition-delay:0.2s;
}



.effect d_02 a:hover{
}
.effect.d_04 {
transition-delay:0.4s;
-webkit-transition-delay:0.4s;
}
.effect.d_06 {
transition-delay:0.6s;
-webkit-transition-delay:0.6s;
}
.effect.d_08 {
transition-delay:0.8s;
-webkit-transition-delay:0.8s;
}
.effect.start {
	opacity: 1;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
	transform: translateY(0px);
	-webkit-transform: translateY(0px);  
    -moz-transform: translateY(0px);    
}
.box01{
	background-color: #D2E1E3;

}

.box02{
	background-color: #D2E1E3;
	background-image: url("../img/test02.png");
	background-repeat: no-repeat;

}
/*------------------------------*/

 
.obi_002 .box_in p a.tel {
	font-size: 24px;
	color: #FFF;
	text-decoration: none;
	line-height: 1.2;
}
.obi_002 .box_in p a.tel strong {
	padding-left: 10px;
	font-size: 150%;
}


 
.obi_003 .box_in p a.tel {
	font-size: 24px;
	color: #FFF;
	text-decoration: none;
	line-height: 1.2;
}
.obi_003 .box_in p a.tel strong {
	padding-left: 10px;
	font-size: 150%;
}

.obi_003B .box_in p a.tel {
	font-size: 24px;
	color: #FFF;
	text-decoration: none;
	line-height: 1.2;
}
.obi_003B .box_in p a.tel strong {
	padding-left: 10px;
	font-size: 150%;
}


a.telC{
	color: #000;
}

a.telC :link{
	text-decoration: none;
}















@charset "utf-8";
/*
  CSS のみの多段階階層ドロップダウン&ハンバーガーメニュー Ver. 2.01
  Copyright Rectus Inc, 2020
  https://www.rectus.co.jp/
  Released under the MIT license
 */

/* 基本CSS */
ul,
div,
img {
  margin: 0px;
  padding: 0px;
  list-style: none;
  font-weight: normal;
}
.companylogo
{
top: 10px;
	left: 10px;
	height: 44px;
}
/* 本文をメニューの高さ分下げる */
#main {
  margin-top: 60px;
}

#navi {
/*  background-color: #FFF;
*/  position: fixed;
  top: 0;
  left: 0;
  height: 60px;
  width: 100%;
	 font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.7rem;
    font-weight: bold;

}

#navi i {
color: rgba(48,130,49,1.00);

}
/* チェックボックスを非表示 */
#navi input {
  display: none;
}
/* 左上ロゴ */
.menu-left {
  float: left;
  line-height: 50px;
}
.menu-left img {
  vertical-align: middle;
  margin-left: 10px;
		top: 10px;
	left: 10px;
	height: 44px;

}
/* 上部メニュー */
#menu {
  float: right;
  margin-right: 10px;
}
#menu li {
  position: relative;
  white-space: nowrap;
}
#menu li a {
  display: block;
}
#menu > li {
  float: left;
  margin: 0 15px;
  line-height: 60px;
  font-size: 17px;
  font-weight: bold;
}
/* パソコンでは V を非表示 */
#menu > li .pd {
  display: none;
}

#menu-navibtn {
  display: none;
  cursor: pointer;
  cursor: hand;
}

/* スマホ用 */
@media screen and (max-width: 620px) {
  /* 基本非表示 */
  #menu {
    display: none;
	  
  }
		
  #menu li {
    height: auto;
    width: 100%;
    padding: 0px 20px;
    border-bottom: 1px solid #DDD;
    white-space: nowrap;
  }
  #menu > li {
    margin-right: -20px;
  }
  /* V を表示 */
  #menu > li .pd {
    display: inline-block;
    width: 100%;
  }
  #menu li a {
    display: inline-block;
  }
  #menu li:first-child {
    border-top: 1px solid #DDD;
  }
  #menu li i {
    padding: 0px 6px;
  }
  /* メニューを移動させないため */
  #menu-navibtn:checked ~ #navi {
    position: fixed;
    overflow-y: scroll;
    overflow-x: hidden;
    height: 100%;
  }
}



/* ドロップダウンメニュー */
#menu li ul {
  position: absolute;
}
/* 子メニュー */
#menu > li > ul li {
  font-size: 14px;
  display: none;
  padding: 0px 15px;
  background-color: #FFF;

	/* border-bottom: 1px solid #2FC686;*/
 /* border-left: 1px solid #000;
  border-right: 1px solid #000;
  border-bottom: 1px solid #DDD;*/
	
}

#menu li ul li a{
  color: #fff;
	font-weight: normal;
}

#menu li ul li a :hover{
	background-color: #094F06;
}


#menu li ul li:first-child {
  border-top: 1px solid #2FC686;
}
#menu li ul li:last-child {
  border-bottom: 1px solid #2FC686;
}
#menu li ul li ul {
  top: -1px;
  left: 100%;
}
#menu li ul li ul li ul,
#menu li:nth-child(n+3) ul li ul {
  left: inherit;
  right: 100%;
}
#menu > li > ul {
  margin-left: -20px;
  width: auto;
}

/* パソコン用 */
@media screen and (min-width: 620px) {
	#navi {
		    height: 60px;
margin-top: 10px;

}
  #menu li:hover {
  /*  background: #EEE;*/
	  	  
  }
  #menu > li:hover > ul > li,
  #menu li ul li:hover > ul > li {
    display: block;
	  background-color:#578551;
	  background-color: #094F06;
	  color: #fff;
	  
  }
	
#menu li ul li ul:link{
	  color: #fff;
  }
	#menu li ul li ul:hover{
    display: block;
	  background-color:#578551;
	  color: #fff!important;
	  
  }	#menu li ul li ul a{
	  color: #fff!important;
	  
  }
	
  /* 階層がある場合の誘導の印 */
  #menu li ul li ul:before,
  #menu li ul li ul li ul:before,
  #menu li:nth-child(n+3) ul li ul:before {
    position: absolute;
    top: 28px;
    content: "";
    border: 5px solid transparent;
    display: block;
	  
  }
  /* 通常タイプ */
  #menu li ul li ul:before {
    left: -10px;
    border-left-color: #666;
  }
  /* 右側タイプ */
  #menu li ul li ul li ul:before,
  #menu li:nth-child(n+3) ul li ul:before {
    right: -10px;
    border-right-color: #666;
  }
}
/* スマホ用 */
@media screen and (max-width: 620px) {
  /* ハンバーガーメニューがクリックされた時 */
  #menu-navibtn:checked ~ * #menu {
    display: block;
  }
  #menu-navibtn:checked ~ * #menu > li {
    max-height: inherit;
    overflow-y: visible;
  }
	
	
#navi {
  background-color: #FFF;

}
  #menu > li ul {
    line-height: 50px;
  }
  #menu > li > label:hover {
    cursor: pointer;
    cursor: hand;
  }
  #menu li ul {
    position: static;
  }
  /* 子メニュー */
  #menu > li > ul {
    margin-left: initial;
    position: relative;
  }
  #menu li ul li:first-child {
    border-top: 1px solid #DDD;
  }
  #menu ul li:last-child {
    border-bottom: none;
  }
  #menu > li > ul li {
    border-left: 1px solid #FFF;
    border-right: 1px solid #FFF;
  }
  #menu li ul li ul {
    top: inherit;
    left: 0;
  }
  #menu li ul li:last-child {
    border-bottom: none;
  }
  /* 子メニューがクリックされた時 */
  #menu input[type="checkbox"]:checked ~ label ~ ul > li {
    max-height: inherit;
    overflow-y: visible;
    display: block;

  }
  .angletoggle:before {
    content: "\f107";
  }
  #navi input[type="checkbox"]:checked ~ label .pd .angletoggle:before {
    content: "\f106";
  }
	
	#navi li.contact {
    background-color:none;
    padding-left: 0px;
    padding-right:1px;
    margin-top: 3px;
    color: rgb(255, 255, 255) !important;
    border-radius: 4px;
}
}

/* ハンバーガー */
#navi #navibtn {
  display: none;
}
@media screen and (max-width: 620px) {
  #navi #navibtn {
    display: block;
    position: absolute;
    top: 10px;
    right: 10px;
  }
	
  #navibtn span {
    display: block;
    width: 40px;
    height: 40px;
    background-color: #333;
  }
  #navibtn span span {
    display: block;
    overflow: hidden;
    width: 1px;
    height: 1px;
  }
  #navibtn span span::before,
  #navibtn span span::after,
  #navibtn span::after {
    position: absolute;
    left:10px;
    content:"";
    width: 20px;
    height: 3px;
    background-color: #FFF;
  }
  /* 上の棒 */
  #navibtn span span::before {
    top:10px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::before {
    top:19px;
    transform: rotate(-45deg);
    -webkit-transform: rotate(-45deg);
  }
  /* 下の棒 */
  #navibtn span::after {
    bottom:10px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn > span::after {
    bottom:18px;
    transform: rotate(-135deg);
    -webkit-transform: rotate(-135deg);
  }
  /* 中の棒 */
  #navibtn span span::after {
    top:18px;
  }
  #menu-navibtn:checked ~ #navi label#navibtn span span::after {
    display: none;
  }
}



#navi {

	font-family: 'Noto Sans JP', sans-serif;
    font-size: 1.7rem;
    font-weight: bold;


}


#navi li a {
	color: #111;
	text-decoration: none;
	text-align: center;
	letter-spacing: 1px;
	font-size: 14px;
	font-weight: bold;
}

  #navi li a::before {
	display: block;
	height: 2px;
	position: absolute;
	top: 2px;
	width: 80%;
	left: 10%;
/*	background-color: rgba(17,187,221,0);*/
	content: '';
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}

  #navi li a:hover::before {
	background-color: #2FC686;
	top:0px;
	width: 80%;
	left: 10%;
}

  #navi li a:hover {
	color: #2FC686 !important;
	  font-weight: bold;

	  

}


#navi.txt_w li a {
	color: #FFF;	  

}

header.fixed #g_navi.txt_w li a {
	color: #111;
}

#navi li.contact a {
	background-color: #2FC686;
	color: #FFF !important;
	padding-left: 20px;
	padding-right: 20px;
	margin-left: 10px;
	border-radius: 4px;
	-webkit-border-radius: 4px;
	-moz-border-radius: 4px;
	margin-top: 3px;
}
#navi li.contact a:hover {
	background-color: #FFF;
	color: #2FC686 !important;
}
#navi li.contact a::before {
	display: none;
}


/*
Facebook
-------------------------------------------*/

.content .cont_wrap .box_left {
	width: 50%;
	float: left;
	padding: 10px;
}
.content .cont_wrap .box_right {
	width: 50%;
	float: right;
	text-align: center;
	padding-right: 10px;
	padding-bottom: 20px;
	padding-left: 10px;
}




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

.content .cont_wrap .box_left {
	width: 100%;
	float: none;
}
.content .cont_wrap .box_right {
	width: 100%;
	float: none;
	overflow: hidden;
}

.content .cont_wrap .box_right .fb-page {
	width: 100% !important;
}

.works_list li {
	width: 33.33%;
}

.g_list li {
	width: 33.33%;
}

	
#menu li ul li a {
 color:  #2FC686;
	
}

}



/*
ページャー
-------------------------------------------*/

.pager {
	padding-top: 50px;
	padding-bottom: 50px;
	clear: both;
}

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

.pager .pagination li {
	display: inline;
	margin: 0 2px;
	padding: 0;
	display: inline-block;
	width: 36px;
	height: 36px;
	text-align: center;
	position: relative;
}


.pager .pagination li a{
	vertical-align: middle;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-align: center;
	display: table;
	color: #FFF;
	text-decoration: none;
	background-color: #333333;
}

.pager .pagination li a span{
  display:table-cell;
  vertical-align:middle;
}

.pager .pagination li a:hover,
.pager .pagination li a.active{
	color: #000;
	background-color: #F9F9F9;
}

@media only screen and (max-width: 767px){
.pager {
	padding-top: 20px;
	padding-bottom: 20px;
}
  .pager .pagination li{
    display: none;
  }

  .pager .pagination li.pre,
  .pager .pagination li.next{
    display: inline-block;
    width: 40%;
    height: 40px;
    text-align: center;
  }

  .pager .pagination li.pre a,
  .pager .pagination li.next a{
    width: 100%;
    text-align: center;
  }

  .pager .pagination li.pre span::after{
    content: "　前の10件へ";
  }

  .pager .pagination li.next span::before{
    content: "次の10件へ　";
  }
    
  .works_list li {
	width: 50%;
	padding: 10px;
}
}



/*
事例一覧＆ギャラリー
-------------------------------------------*/

.works_list li {
	display: block;
	float: left;
	width: 25%;
	padding: 10px;
}

.works_list li a {
	display: block;
	text-decoration: none;
	width: 100%;
	padding: 10px;
	border: 1px solid #F2F6F7;
	position: relative;
}

.works_list li a:hover {
	background-color: #FFF;
	border: 1px solid #DDE7EA;
}

.works_list li a span {
	display: block;
	color: #FFF;
	font-size: 12px;
	background-color: #36BEAD;
	position: absolute;
	top: 5px;
	left: 5px;
	z-index: 10;
	padding-top: 2px;
	padding-right: 5px;
	padding-bottom: 2px;
	padding-left: 5px;
}

.works_list li a span.cl_2 {
	background-color: #333333;
}

.works_list li a span.cl_3 {
	background-color: #FF9900;
}

.works_list li a img {
	width: 100%;
	height: 180px;
	object-fit: cover;
}

.works_list li a p {
	color: #111;
	text-align: center;
	margin: 0px;
}

.g_list li {
	display: block;
	float: left;
	width: 20%;
	padding: 20px;
}

.g_list li a {
	display: block;
	width: 100%;
	height: 150px;
	overflow: hidden;
}


@media screen and (max-width: 768px) {
    .g_list li  {
        width: 100%;
		height: auto!important;
    }
	
.works_list li {
    display: block;
    float: left;
    width: 50%;
    padding: 10px;
}
	
}

.g_list li a img {
	width: 100%;
	height: 150px;
	object-fit: cover;
}

.g_list li a img:hover {
	-webkit-transform: scale(1.05);
	-moz-transform: scale(1.05);
	-o-transform: scale(1.05);
	-ms-transform: scale(1.05);
	transform: scale(1.05);
}
.s_box{
	margin: 0 0 50px 0;
}

.ol li{
	margin:1% 5%;
	padding-left: 1%;
	display: list-item;/*list-item 単独の値を指定*/
	list-style-type: decimal;
}


/*
ご依頼から施工までの流れ
-------------------------------------------*/



.flow_design03 {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-left: 20px;
}

.flow_design03 ul {
  padding: 0;
}

.flow_design03 li {
  list-style-type: none;
}

.flow_design03 dd {
  margin-left: 0;
}

.flow03 {
  position: relative;
}

.flow03::before {
  content: "";
  width: 15px;
  height: 100%;
  background: #eee;
  margin-left: -129px;
  display: block;
  position: absolute;
  top: 0;
  left: 120px;
  border-radius: 20px;
}

.flow03 > li {
  position: relative;
}

.flow03 > li:not(:last-child) {
  margin-bottom: 60px;
}

.flow03 > li .icon03 {
  font-size: 0.8em;
  width: 2em;
  height: 2em;
  line-height: 2;
  text-align: center;
  font-weight: bold;
  border-radius: 100vh;
  color: #fff;
  background: #236123;
  display: inline-block;
  margin-right: 0.3em;
}

.flow03 > li dl {
  padding-left: 70px;
  position: relative;
}

.flow03 > li dl::before,
.flow03 > li dl::after {
  content: "";
  display: block;
  position: absolute;
  top: 15px;
}

.flow03 > li dl::before {
  width: 7px;
  height: 7px;
  margin-top: -3px;
  background:#236123;
  border-radius: 50%;
  left: -4px;
}

.flow03 > li dl::after {
  width: 50px;
  border-bottom: 1px dashed #999;
  position: absolute;
  left: 5px;
}

.flow03 > li dl dt {
  font-size: 1.3em;
  font-weight: 600;
  color: #236123;
  margin-bottom: 0.5em;
  display: flex;
  align-items: center;
}



/* ここから下がボタンのCSS　*/
.btn-border {
  display: inline-block;
  width: 80%;
  text-align: left;
  border: 2px solid #9ec34b;
  font-size: 16px;
  color: #9ec34b;
  text-decoration: none;
  font-weight: bold;
  padding: 8px 16px;
  border-radius: 4px;
  transition: .4s;
}

.btn-border:hover {
  background-color: #9ec34b;
  border-color: #cbe585;
  color: #FFF;
}




/*
帯（サービス・スタッフ）部分
-------------------------------------------*/



.content002 {
	width: 100%;
	padding-top: 10px;
	padding-bottom: 10px;
}
.content002 p {
	margin-right: 20px;
	margin-left: 20px;
}

.content .news {
	margin-right: 10px;
	margin-left: 10px;
}

.cont_list {
	padding-top: 10px;
	padding-right: 10px;
	padding-left: 10px;
}

.obi {
	/*background-color: #002744;*/
/*	background-color: rgba(0, 102, 0, 0.8);*/
	background-color: rgba(0,39,68, 0.8);
	background-repeat: no-repeat;	

	padding-top: 20px;
	padding-bottom: 50px;
	margin-top: 20px;
	margin: 20px 5% 20px 5%;
width: 90%;
/*	background-image: url(../img2/obi.png);
*/	background-repeat: no-repeat;
	background-position: center 2px;
	border-radius: 30px;
}


.obi h2 {
	text-align: center;
	color: #fff;
	margin-bottom: 30px;
	background-repeat: no-repeat;
	background-position: center 59px;
	padding-bottom: 15px;
	
}
.service ul,
.staff ul {
	display: -webkit-box;
	display: -moz-box;
	display: -webkit-flexbox;
	display: -moz-flexbox;
	display: -ms-flexbox;
	display: -webkit-flex;
	display: -moz-flex;
	display: flex;
	-webkit-box-lines: multiple;
	-moz-box-lines: multiple;
	-webkit-flex-wrap: wrap;
	-moz-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-webkit-justify-content: space-between;
	justify-content: space-between;
}

.service ul li,
.staff ul li {
	display: block;
	width: 33%;
	text-align: center;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
	padding: 20px;
	color: #FFF;
}

.service ul li p,
.staff ul li p {
	font-size: 12px;
	margin: 10px;
}
.service ul li a,
.staff ul li a {
	text-decoration: none;
	color: #FFF;
}
.service ul li p strong,
.staff ul li p strong {
	font-size: 18px;
	font-weight: normal;
	font-family: "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "游明朝", YuMincho, "HG明朝E", "Sawarabi Mincho", "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.service ul li p .rubi,
.staff ul li p .rubi {
	font-size: 10px;
	letter-spacing: 2px;
}
.service ul li a .mask,
.staff ul li a .mask {
	width: 300px;
	height: 300px;
	display: block;
	margin-left: auto;
	margin-right: auto;
	border-radius: 50%;
	-webkit-border-radius: 50%;
	-moz-border-radius: 50%;
	margin-top: 10px;
	overflow: hidden;
	position: relative;
	-webkit-transition: 0.2s linear;
	-moz-transition: 0.2s linear;
	transition: 0.2s linear;
}
.service ul li a img,
.staff ul li a img {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	display: block;
}
.service ul li a:hover img {
	width: 120%;
	max-width: 120% !important;
	top: -10%;
	left: -10%;
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}
.staff ul li a:hover .mask {
	border-radius: 5%;
	-webkit-border-radius: 5%;
	-moz-border-radius: 5%;
}
.staff ul li a:hover img {
	opacity: 1.0;
	filter: alpha(opacity=100);
	-ms-filter: "alpha( opacity=100 )";
}





	@media screen and (max-width: 1100px) {
  .service ul li, .staff ul li {
    display: block;
    width: 100%;
    text-align: center;
    -webkit-box-sizing: border-box;
    -moz-box-sizing: border-box;
    box-sizing: border-box;
    padding: 20px;
    color: #FFF;
}
		
		
}



.line01 {
	border-bottom: rgba(175,191,176,1.00) dashed 1px;
	margin: 0 10% 3% 10%;
	width: 80%;
	
}

a.btn_more {
	display: block;
	width: 80%;
	margin-left: auto;
	margin-right: auto;
	padding-top: 5px;
	padding-bottom: 5px;
	border: 1px solid #FFF;
	position: relative;
	font-size: 14px;
	line-height: 30px;
}

a.btn_more::before {
	display: block;
	position: absolute;
	width: 20px;
	height: 30px;
	font-size: 12px;
	content: ">";
	left: 5px;
	top: 5px;
}
a.btn_more:hover::before {
	left: 8px;
}

a.btn_more:hover {
	color: #002744;
	background-color: #FFF;
	border-top-color: #001F35;
	border-right-color: #001F35;
	border-bottom-color: #001F35;
	border-left-color: #001F35;
}

.list_box a.btn_more {
	text-align: center;
	text-decoration: none;
	color: #FFF;
	background-color: #002744;
	margin-bottom: 20px;
}
.list_box a.btn_more:hover {
	color: #002744;
	background-color: #FFF;
	border-top-color: #001F35;
	border-right-color: #001F35;
	border-bottom-color: #001F35;
	border-left-color: #001F35;
}




@media(min-width: 768px){
  a[href^="tel:"]{
    pointer-events: none;
  }
}


.table_01 td a {
	color: #000!important;
	text-decoration: none;
	
}
.button-55 {
    display: flex;
    justify-content: center;
    padding: .6em 1em;
    border: none;
    border-radius: 3px;
    background-color: #2fc686;
    color: #fff;
    font-weight: 600;
    font-size: 1em;
	margin-top: 3px;
}

.button-55::after {
    width: 1.25em;
    height: 1.25em;
    margin-left: 8px;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M10 6V8H5V19H16V14H18V20C18 20.5523 17.5523 21 17 21H4C3.44772 21 3 20.5523 3 20V7C3 6.44772 3.44772 6 4 6H10ZM21 3V11H19L18.9999 6.413L11.2071 14.2071L9.79289 12.7929L17.5849 5H13V3H21Z' fill='%23fff'%3E%3C/path%3E%3C/svg%3E");
    content: '';
}

.button-55:hover {
    background-color: #1fb676;
}
.mt20{
	margin-top: 20px;
}





/* カードレイアウト部分をラッピングし、
Flexboxを指定"space-between"で各アイテムを均等に配置し、
最初と最後のアイテムを端に寄せます。*/
#cardlayout-wrap {
    position: relative;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -ms-flex-pack: justify;
    margin: 2em 5%;
    max-width:90%;
    width: 100%;
    -ms-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-box-pack: justify;
    justify-content: space-between;
}

/* リンクテキストの下線を非表示 */
a.card-link {
    text-decoration: none;
}

/* カードレイアウト内の画像を幅いっぱいに表示 */
#cardlayout-wrap img {
    display: block;
    max-width: 100%;
    height: auto;
}

.card-figure {
    margin: 0;
    padding: 0;
}

/* カードレイアウトのタイトル部分 */
.card-title {
    margin: 0.6em 0 0;
    color: #333;
    text-align: center;
    font-size: 1.8em;
}

/* カードレイアウトの説明文部分 */
.card-text-tax {
    margin: 0;
    padding: 1em;
      color: #333;
}


/* カードレイアウトを1カラムで配置 */
.card-list {
    margin: 0.5em auto;
    padding: 0;
    width: 100%;
    background: #fff;
	border:#2fc686 dotted 0.5px;
    /*box-shadow: 0 4px 8px rgba(0, 0, 0, 0.08);*/
}

/* 画面幅768px以上の場合カードレイアウトを2カラムで配置 */
@media all and (min-width: 768px) {
    .card-list {
        margin: 0.5em 0;
        width: calc(100% / 2); /* 100%幅を2で割るという指定 */
    }
}

/* 画面幅992px以上の場合カードレイアウトを3カラムで配置 */
@media all and (min-width: 992px) {
    .card-list {
        width: calc(100% / 3); /* 100%幅を3で割るという指定 */
    }
    
/* 最後の行が3列より少ない場合左寄せにレイアウトさせる */
    #cardlayout-wrap::after{
        content: "";
        display: block;
        width: calc(100% / 3);
    }
}







/* 4カラム */
*, *:before, *:after {
	box-sizing: border-box;
}
.col_4{
	width: 100%;
	display: flex;
	display: -ms-flexbox; /* IE10 */
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /* IE10 */
background-color: #005693; /* 背景の色 */
color: #FFF; /* 文字の色 */
text-align: center; /* 内容は中央配置 */
}


.col_4 > div{
	width: 25%;
	padding: 10px;
}
@media screen and (max-width: 1090px) {
	.col_4 > div{
		width: 33.33333%;
	}
	.col_4 img{
	width: 50%;	
}

}
@media screen and (max-width: 480px) {
	.col_4 > div{
		width: 50%;
	}
	.col_4 img{
	width: 100%;	
}


		.works_list li {
    display: block;
    float: left;
    width: 100%;
    padding: 10px;
}
}









/******　新着情報　******/


.news-list{
  list-style: none outside;
  margin: 0;
  padding: 0;
}
.news-list .item a{
  display: flex;
  flex-wrap: wrap;
  flex-wrap: nowrap;
  text-decoration: none;
  color: #333;
  border-bottom: 1px solid #CCC;
  padding: 20px 20px;
}
.news-list .item:first-child a{
  border-bottom: 1px solid #CCC;
}
.news-list .item .date{
  margin: 0;
  min-width: 140px;
  font-size: 16px;
  color: #999;
  padding: 0 20px 0 0;
}
.news-list .item .category{
  margin: 0;
  min-width: 140px;
  padding: 0 20px 0 0;
}
.news-list .item .category span{
  background:rgba(132,31,32,1.00);
  color: #FFF;
  text-align: center;
  display: inline-block;
  padding: 5px 20px;
  font-size: 12px;
  line-height: 1;
}
.news-list .item .title{
  margin: 0;
  width: 100%;
}
.news-list .item a:hover .title{
  /*color: #00F;*/
}

@media screen and (max-width: 767px){
.news-list .item a{
  flex-wrap: wrap;
}
.news-list .item .date{
  min-width: 100px;
}
.news-list .item .title{
  margin-top: 10px;
}
}



.right01{
	text-align: right;
	padding-right: 3%;
	font-family: "UD デジタル 教科書体 NP-B";
	font-family: "UD デジタル 教科書体 N-B";
	font-size: 110%;
	margin-bottom: 3%;
}











