@charset "utf-8";
  img {
    display: block;
    width: 100%;
    height: auto
  }
html { margin:0; padding:0; overflow-x: hidden; }
body {
	background:#fff;
	color:#333;
	font-family: 'Noto Sans JP', sans-serif;
	font-style: normal;
	font-size:14px;
	text-align:left;
	text-indent:0pt;
	letter-spacing:1px;
	line-height:1.8;
	margin:0;
	padding:0px;
	-webkit-text-size-adjust: 100%;
	overflow-x: hidden;
}
body, div, ul {
	transition-property:width, height, left, top, bottom, right, margin, padding, font-size;
}
.start {
	background: #fff;
	position: fixed;
	top: 0;
	left: 0;
	height: 100%;
	width: 100%;
	z-index: 10000;
}
.start p {
	position: fixed;
	left: 50%;
	top: 50%;
	transform: translate(-50%, -50%);
	display: block;
	z-index: 9999;
	width: 350px; text-align:center;
}
@media (max-width: 540px) {
	.start p { width: 260px; }

}
.typo_min{ font-family: "Times New Roman", "YuMincho", "Hiragino Mincho ProN", "Yu Mincho", "MS PMincho", serif !important;}
.typo_en{ font-family: 'Roboto Slab', serif !important;}
.typo_futura{ font-family: "futura-pt", sans-serif; font-weight: 700; font-style: italic; }

table {
    font-size:inherit;
    font:100%;
}
a:link { color: #459417; text-decoration: none;  }
a:visited { color: #459417; text-decoration: none; }
a:active { color: #459417; text-decoration: none; }
a:hover { color: #6ec63b; text-decoration: none; transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; }

h1,h2,h3  {
	font-size:13px;
	font-weight:normal;
	margin:0;
}
ol, ul {
	list-style: none;
}
.typo11px{ font-size:11px !important; line-height:1.2 !important; }
.typo40{ font-size:40% !important;}
.typo60{ font-size:60% !important;}
.typo80{ font-size:80% !important;}
.typo80_red{ color:#cd5a69; font-size:80%; }
.typo90{ font-size:90%; }
.typo110{ font-size:110%; }
.typo120{ font-size:120%; }
.typo130{ font-size:130%; }
.typo150{ font-size:150%; }

.typo120line{ font-size:120%; margin-top:10px; padding-top:10px; border-top:1px solid #333; }

.typo120sp{ font-size:120%; }
.typo150sp{ font-size:150% !important;}
.typo180sp{ font-size:180% !important;}
.typo200sp{ font-size:200% !important;}
.typo200sp_bold{ font-size:200% !important; font-weight:bold;}
.typo230sp{ font-size:230%; }

.typo180{ font-size:180%; }
.typo120_sp{ font-size:110%; }

.l_h10{ line-height:1 !important;}
.l_h13{ line-height:1.3 !important;}
.l_h15{ line-height:1.5 !important;}
.l_h16{ line-height:1.6 !important;}
.l_h18{ line-height:1.8 !important;}
.l_h18sp{ line-height:1.8 !important;}
.l_h20sp{ line-height:2.0 !important;}
.l_h22sp{ line-height:2.2 !important;}
.l_h24sp{ line-height:2.4 !important;}

.letter-s0{ letter-spacing:0 !important;}
.cap{ line-height:1.3; padding-top:8px; }

.typo_black{ color:#333 !important;}
.typo_white{ color:white !important;}
.typo_blown{ color:#a0805c !important;}
.typo_pink{ color:#e4007e !important;}
.typo_blue{ color:#243a73 !important;}
.typo_blue_l{ color:#7097d6 !important;}
.typo_darkpink{ color:#bf6564 !important;}
.typo_orange{ color:#D08523 !important;}
.typo_green{ color:#72805A !important;}
.typo_green2{ color:#719781 !important;}
.typo_green3{ color:#285430 !important;}
.typo_green4{ color:#29482d !important;}

.typo_red0{ color:#ff3333 !important;}
.typo_red{ color:#c62729 !important;}
.typo_red2{ color:#eb5353 !important;}

.typo_blown2{ color:#3F220F !important;}
.typo_blue2{ color:#6687C4 !important;}
.typo_pink2{ color:#995566 !important;}

.blue_line_tit{ text-align:center; color:#243a73; font-size:120%; font-weight:bold; padding-bottom:2px; border-bottom:2px solid #243a73; }


.bg_lightyerrow{ background-color:#fffde3; }
.bg_green{ background-color:#439b23; }
.bg_lightgreen{ background-color:#daf0b6; }
.bg_green_l{ background-color:#017d44; float:left; width:50%; text-align:center; color:white; padding:20px 0px; }
.bg_green_r{ background-color:#034627; float:left; width:50%; text-align:center; color:white; padding:20px 0px; }
.bg_green_r a.button_color { position:relative; max-width:300px; margin: 0 auto; }

.bg_green_illust{
	background: #439b23 url("../images/top/arrow_illust600.svg") top left no-repeat;
	background-size: 40vw auto;
	margin-bottom: 85px;
}
.bg_in{ background-color:#fbf3f4; }
.bg_white{ background-color:white; margin:0; }
.bg_black{ background-color:#000; margin:0; padding:10px 0 }
.bg_white20{ background-color:white; padding:20px; }
.bg_gray{ background-color:#f2f4f6; padding-top:60px; padding-bottom:60px; margin:50px 0; }
.bg_gray20{ background-color:#f2f4f6; padding:20px; }
.bg_l_blue{ background-color:#e8f4fd; margin-bottom:-50px; }
.bg_l_blue00{ background-color:#e8f4fd; }

.pc{ display:block !important;}
.phone{ display:none !important;}

.pc_tb{ display:revert !important;}
.phone_tb{ display:none !important;}

.pc_br{ display:block; }
.sp_br{ display:none; }
.align_sp{ text-align:center !important;}

@media (max-width: 540px) {
	.open_logo{ width:75vw; }
	.pc{ display:none !important;}
	.phone{ display:block !important;}

	.pc_tb{ display:none !important;}
	.phone_tb{ display:revert !important;}

	.pc_br{ display: none; }
	.sp_br{ display: block; }
	.l_h20sp{ line-height:1.6 !important;}
	.l_h22sp{ line-height:1.7 !important;}
	.l_h24sp{ line-height:1.8 !important;}
	.align_sp{ text-align:left !important;}
	.bg_white20{ background-color:white; padding:12px; }
	.bg_gray{ padding-top:20px; padding-bottom:20px; margin:25px 0; }
	.bg_l_blue{ margin-bottom:-20px; }
	.bg_green_l , .bg_green_r{ width:100%; }
	.bg_green_r a.button_color { max-width:240px; }
}
.margbot0 {margin-bottom:0 !important;}
.margbot5 {margin-bottom:5px !important;}
.margbot10 {margin-bottom:10px !important;}
.margbot15 {margin-bottom:15px !important;}
.margbot20 {margin-bottom:20px !important;}
.margbot25 {margin-bottom:25px !important;}
.margbot30 {margin-bottom:30px !important;}
.margbot40 {margin-bottom:40px !important;}
.margbot50 {margin-bottom:50px !important;}
.margbot60 {margin-bottom:60px !important;}
.margbot70 {margin-bottom:70px !important;}
.margbot80 {margin-bottom:80px !important;}
.margbot50sp {margin-bottom:50px !important;}

.margbot-20 {margin-bottom:-20px !important;}
.margbot-25 {margin-bottom:-25px !important;}
.margbot-30 {margin-bottom:-30px !important;}
.margbot-40 {margin-bottom:-40px !important;}

.margtop_sp {margin-top:0px !important;}
.margtop15 {margin-top:15px !important;}
.margtop30 {margin-top:30px !important;}
.margtop50 {margin-top:50px !important;}
.margtop80 {margin-top:80px !important;}
.margtop50sp {margin-top:50px !important;}
.margtop80sp {margin-top:80px !important;}
.margtop-20sp {margin-top:0px !important;}
.margtop-30 {margin-top:-30px !important;}

.pad0 {padding:0 !important;}
.pad5 {padding-left:5px !important; padding-right:5px !important;}
.pad10 {padding-left:10px !important; padding-right:10px !important;}
.pad10all {padding:10px !important;}
.pad15 {padding:15px !important;}
.pad20 {padding:20px !important;}
.pad20sp {padding:20px !important;}
.pad30 {padding:30px !important;}

.padbot0 {padding-bottom:0 !important;}
.padbot10 {padding-bottom:10px !important;}
.padbot20 {padding-bottom:20px !important;}
.padbot30 {padding-bottom:30px !important;}
.padbot40 {padding-bottom:40px !important;}
.padbot50 {padding-bottom:50px !important;}
.padbot60 {padding-bottom:60px !important;}
.padbot70 {padding-bottom:70px !important;}
.padbot80 {padding-bottom:80px !important;}
.padtop10 {padding-top:10px !important;}
.padtop20 {padding-top:20px !important;}
.padtop30 {padding-top:30px !important;}
.padtop40 {padding-top:40px !important;}
.padtop50 {padding-top:50px !important;}

.padbot20sp {padding-bottom:20px !important;}
.padbot30sp {padding-bottom:30px !important;}

.padtop30sp {padding-top:30px !important;}
.padtop40sp {padding-top:40px !important;}
.padtop50sp {padding-top:50px !important;}
.pad_l55sp{ padding-left: 55px !important;}
.pad_30_20sp{ padding:30px 20px !important;}
.padlr10sp{ padding:0px 10px 10px 10px !important;}
.padlr40sp{ padding:0px 40px !important;}
.padlr50sp_l{ padding:15px; padding-left:50px !important;}

hr.dotline {
    border: 0;
    border-bottom: 1px dashed #ccc;
    background: #634825;
}

.border_radius20 {
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
}
.border_radius10 {
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
.border_radius10_shadow {
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	box-shadow:2px 4px 5px rgba(0,0,0,0.3);
}
.border_radius20_shadow {
	border-radius: 20px;
	-webkit-border-radius: 20px;
	-moz-border-radius: 20px;
	box-shadow:2px 4px 5px rgba(0,0,0,0.3);
}
.border_radius5 {
	border-radius: 5px;
	-webkit-border-radius: 5px;
	-moz-border-radius: 5px;
}
.border_line10 {
	border:4px solid #fff;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
}
.border_line10_shadow {
	border:4px solid #fff;
	border-radius: 10px;
	-webkit-border-radius: 10px;
	-moz-border-radius: 10px;
	box-shadow:0 2px 3px rgba(0,0,0,0.1);
}
.center{ text-align:center !important;}
.left{ text-align:left !important;}
.right{ text-align:right !important;}
.cl_align{ text-align:center; }
.cl_align_sp{ text-align:left; }
.letter_1s{ letter-spacing:1px; }
.letter_s{ letter-spacing:2px; }

video {
	width: 100%;
	max-width: 500px;
}
.img100 {
	width: 100%;
}
@media (max-width: 540px) {
	.cl_align{ text-align:left;}
	.letter_1s{ letter-spacing:0px; }
	.letter_s{ letter-spacing:1px; }
	.margtop-20sp {margin-top:-20px !important;}
	.margtop_sp {margin-top:-30px !important;}
	.padtop30sp {padding-top:0px !important;}
	.padtop40sp {padding-top:0px !important;}
	.padtop50sp {padding-top:20px !important;}
	.padbot20sp {padding-bottom:0px !important;}
	.padbot30sp {padding-bottom:0px !important;}
	.pad20sp {padding:10px !important;}

	.pad_l55sp{ padding-left: 0px !important;}
	.pad_30_20sp{ padding:20px 0px !important;}
	.typo120sp{ font-size:110%; }
	.typo150sp{ font-size:120% !important;}
	.typo180sp{ font-size:125% !important;}
	.typo200sp , .typo200sp_bold{ font-size:180% !important;}
	.typo230sp{ font-size:180%; }

	.l_h18sp{ line-height:1.5 !important;}
	.margbot50sp {margin-bottom:25px !important;}
	.margtop50sp {margin-top:10px !important;}
	.margtop80sp {margin-top:30px !important;}
	.padlr40sp{ padding:0px 20px !important;}
	.padlr50sp_l{ padding:5px; padding-left:5px !important;}
	.cl_align_sp{ text-align:center; }
}
.youtube {
  position: relative;
  width: 100%;
  padding-top: 56.25%;
}
.youtube iframe {
  position: absolute;
  top: 0;
  right: 0;
  width: 100% !important;
  height: 100% !important;
}
.cf {
	zoom: 1;
}
.cf:before, .cf:after {
	content: "";
	display: table;
}
.cf:after {
	clear: both;
}
img {
	outline:0;
	vertical-align:top;
	border:0;
	max-width:100.1%;
	height:auto;
	transition: all 0.3s ease-in-out; 
	-webkit-transition: all 0.3s ease-in-out;
}
/*-- opacity --*/
a:hover img,
a:focus img {
	opacity: 0.6;
	filter: alpha(oapcity=60);
}
/* Button 4 */
a.button_color{
	background-color: #01532b;
	color: #fff;
	overflow: hidden;
	padding: 20px 10px;
	cursor: pointer; position:relative;
	font-size: 115%;
	display: block;
	border-bottom: 7px solid #13ae62;
}
a.button_color:active {
	background-color: #01532b;
	color: #fff;
}
a.button_color:before {
	position: absolute;
	height: 100%;
	font-size: 115%;
	line-height: 1.3;
	color: #fff;
	-webkit-transition: all 0.3s;
	-moz-transition: all 0.3s;
	transition: all 0.3s;
}
.btn-4c:before {
	left: 90%;
	opacity: 1;
	top:  33%;
}
.btn-4c:hover:before {
	left: 92%;
	opacity: 1;
}
.icon-arrow-right:before {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f061";
}
a.bot_yerrow{ background-color: #ffa00d; border-bottom: 0px solid #13ae62; }
a.bot_lightgreen{ background-color: #439b23; border-bottom: 0px solid #13ae62; }
a.bot_gray{ background-color: #aaa; border-bottom: 0px solid #13ae62; cursor: not-allowed; }

#scrollUp {
	background: url("../images/pagetop.png") top left no-repeat;
	width:40px;
	height:40px;
	bottom: 40px;
	right: 0px;
}
/*タブ切り替え全体のスタイルJQ*/
#tab_menu {
	display: flex;
	align-items: center;
	width: 100%;
	padding: 0;
	margin: 0 0 1em;
}
#tab_menu li{
	width: 33.333%;
	margin: 0 1px 0 0;
	text-align: center;
	list-style: none;
	background: #eeeeee;
	/*! padding: 15px 5px; */
}
#tab_menu li:last-child { margin-right: 0; }
#tab_menu li.selected { background: #285430; }
#tab_menu li:hover { background: #285430; }
#tab_menu li a {
	display: block;
	color: #285430;
	text-decoration: none;
	font-size: 14px;
	text-align: center;
	padding: 15px 5px;
}
#tab_menu li a:hover  , #tab_menu li:hover { color:#fff; }
#tab_menu li.selected a { color: #fff; }



/*タブ切り替え全体のスタイル*/
.tabs {
  padding-bottom: 40px;
  width: 100%;
  margin: 0 auto;
}

/*タブのスタイル*/
.tab_item {
  width: calc(33.3333% - 10px);
  background-color: #eeeeee;
  line-height: 30px;
  font-size: 14px;
  text-align: center;
  color: #285430;
  display: block;
  float: left;
  text-align: center;
  font-weight: normal;
  transition: all 0.2s ease;
	margin:15px 5px;
	cursor:pointer;
padding: 10px 0;
}
.tab_item:hover {
  opacity: 0.75;
}
/*ラジオボタンを全て消す*/
input[name="tab_item"] {
  display: none;
}
/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  /*! padding: 40px 40px 0; */
  clear: both;
  overflow: hidden;
}
/*選択されているタブのコンテンツのみを表示*/
#all:checked ~ #all_content,
#tab1:checked ~ #tab1_content,
#tab2:checked ~ #tab2_content,
#tab3:checked ~ #tab3_content,
#tab4:checked ~ #tab4_content {
  display: block;
  animation: fade 1s ease;
}
@keyframes fade {
    from {
        opacity: 0;
    }
    to {
        opacity: 1;
    }
}
/*選択されているタブのスタイルを変える*/
.tabs input:checked + .tab_item {
  background-color: #285430;
  color: #fff;
}
@media (max-width: 540px) {
	.tab_item {
	  width: calc(50% - 4px);
		margin:2px 2px;
		padding: 5px 0;
	}
}
/*-------------------------------------------------
  基本設定
-------------------------------------------------*/
#wrapper{
	width:100%;
	margin:0;
	padding:0px;
}
/*-------------------------------------------------
  head
-------------------------------------------------*/
#head{ width:100%; margin-bottom:20px; background: black; position:fixed; top:0; z-index:99;}
.head_in{ margin:0 auto; padding:10px;  }

/*-- toggle_navi --*/
#toggle{ z-index: 9999; }

/* 固定ナビ
------------------------- */
.clone-nav {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 9999;
  width: 100%;
  transition: .3s;
  transform: translateY(-100%); text-align:center;
border-bottom: 3px solid #eee;
}
.is-show {
  transform: translateY(0);
}

a.btn_c{
	background-color:#eb5353;
	color:#fff;
	padding:3px 15px;
	margin:0;
	display:table;
	text-align:center;
	border-radius:10px;
	font-size:100%;
}
a.btn_c:hover{ opacity:0.7; }
@media (max-width: 1070px) {
	a.btn_c{ display:none; }
}
/*-------------------------------------------------
  footer
-------------------------------------------------*/
footer{
	padding-top:15px;
	text-align:center;
	margin: 15px auto;
	background-color: #daf0b6;
	margin: 0;
	font-weight:100;
}
.ft_nav_link{ padding:0 20px; text-align:center; font-size:90%; letter-spacing:0; }
a.ft_nav_link:link { color: #333; text-decoration: none; }
a.ft_nav_link:visited { color: #333; text-decoration: none; }
a.ft_nav_link:hover { color: #4d4d4d; text-decoration: none; }
a.ft_nav_link:active { color: #333; text-decoration: none; }

.c_right{
	margin:0;
	background-color: #000;
	padding:5px;
	text-align:center;
	color:white; font-size:80%;
}
.contact_icon{
	position:absolute;
	top:11px; left:11px;
}

/*-------------------------------------------------
  TOP
-------------------------------------------------*/
.home_main{
	position:relative;
	margin:0 auto;
	padding:0;
	width:100%;
	text-align:center;
}
.main_typo{
	position:absolute;
	left: 0; right:0;
	top: 50%;
	transform: translateY(-50%);
	z-index:1;
}
.main_typo img{ margin:0 auto; width:70%; max-width:570px; }
@media (max-width: 540px) {
	a.btn_c{ padding:3px 5px; font-size:90%; }
	.foot_btn a.ft_btn{ padding: 16px 0 10px 0; }
}
/*-------------------------------------------------
  Inner MAIN
-------------------------------------------------*/
#container{
	position:relative;
	margin:0 auto;
	width:100%;
	font-style: normal;
	font-weight: 200;
}
.main_photo{ width:100%; }

.triangle {
  position: relative;
}
.triangle:after {
  content: "";
  position: absolute;
  top: 100%;
  right: 50%;
  transform: translatex(50%);
  box-sizing: border-box;
  border-right: calc(50vw - 10px) solid transparent;
  border-left: calc(50vw - 10px) solid transparent;
  border-top: 100px solid #439b23;
}


@media (max-width: 540px) {
	.bg_green_illust{ margin-bottom: 40px; }
	.triangle:after {
		  border-right: calc(50vw - 0px) solid transparent;
		  border-left: calc(50vw - 0px) solid transparent;
		  border-top: 40px solid #439b23;
	}
}
.in_container{
	margin:0 auto;
	padding:20px 10px;
	max-width:1060px;
}
.in_container0{
	margin:0 auto;
	padding:0px;
	max-width:1060px;
}
.in_container880{
	margin:0 auto;
	padding:20px 10px;
	max-width:880px;
}
.in_container800{
	margin:0 auto;
	padding:20px 10px;
	max-width:780px;
}
.in_container800_form{
	background-color:#f7f7f7;
	margin:0 auto;
	padding:50px 50px;
	max-width:680px;
	margin-bottom:50px;
}
.in_container700{
	margin:0 auto;
	padding:20px 10px;
	max-width:680px;
}
.in_nextrace{
	margin:0 auto;
	padding:25px 80px;
	border:2px solid #000;
}
.nextrace_tit{
	margin:0 auto;
	padding:10px;
	max-width:680px;
	border:2px solid #000; border-bottom:0px solid #000;
	color:white;
	text-align:center;
	line-height:1.3;
	font-weight:bold;
	font-size:120%; background-color:#000;
}
.in_container630{
	margin:0 auto;
	padding:20px 10px;
	max-width:630px;
}
.in_container540{
	margin:0 auto;
	padding:20px 20px;
	max-width:540px;
}
.in_container430{
	margin:0 auto;
	padding:20px 10px;
	max-width:430px;
}
@media (max-width: 540px) {
	.in_nextrace{ padding:20px 20px; }
	.in_container630{ padding:20px 20px; }
	.in_container800_form{
		margin:10px;
		padding:20px 10px;
		margin-bottom:10px;
	}
}
.base_flex {
-webkit-align-items: top;
align-items: top;
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.base_flex div.flex_c50{
	width: calc(50% - 10px);
	margin: 5px; text-align:center;
}
.base_flex div.flex_c50_0{
	width: calc(50% - 0px);
	margin: 0; background-color:white;
}
.base_flex div.flex_c50_0_typo{
	width: calc(50% - 160px);
	margin: 0; padding:30px 80px;
	background-color:white;
}
.base_flex div.flex_c33info{
	width: calc(33.33333% - 12px);
	margin: 5px; border:1px solid #4d4d4d;
}
.base_flex div.flex_c16{
	width: calc(16.6666666667% - 10px);
	margin: 5px; text-align:center;
}
.base_flex div.flex_about_pic{
	width: calc(55% - 40px);
	margin: 20px;
}
.base_flex div.flex_about_typo{
	width: calc(45% - 40px);
	margin: 20px; color:white;
}
.flex_c33info_thumb{ margin:0; position:relative; }
.info_ctg_icon{
	position:absolute;
	bottom:0; left:0;
	letter-spacing:0;
	padding:2px 4px;
	text-align: center;
	font-size:90%;
	line-height:initial;
	color:#fff;
	background-color: #ff716b;
	min-width:120px;
}
.info_ctg_icon_race{ background-color: #33a5cc; }

.race_close_icon{
	position:absolute;
	bottom:0; left:0;
	letter-spacing:0;
	padding:4px;
	text-align: center;
	font-size:80%;
	line-height:initial;
	color:#fff;
	background-color: #bc1c24;
	line-height:1;
}
.flex_c33info_title{
	margin:0;
	font-size:120%; line-height:1.3;
	min-height:50px;
}
.flex_c33info_title a:link ,
.flex_c33info_title a:visited ,
.flex_c33info_title a:active { color: #000; text-decoration: none; }
.flex_c33info_title a:hover{ color: #4d4d4d; text-decoration: underline; }

.flex_c33info_day{
	padding:8px 0;
	color:#808080;
	font-size:80%;
}
a.line_bot_min{
	margin-top:10px;
	color:#669933;
	text-decoration: underline;
	font-size:100%;
	text-align:right;
}
a.line_bot{
	margin:10px auto;
	color:#669933;
	text-decoration: underline;
	font-size:120%;
	text-align:center;
}
a.line_bot_min:hover , a.line_bot:hover{ color:#8bb758; text-decoration: underline; }


@media (max-width: 991px) {
}
@media (max-width: 540px) {
	.base_flex div.flex_c50{
		width: calc(90% - 0px);
		margin: 5px auto;
	}
	.base_flex div.flex_c50_0{
		width: calc(100% - 0px);
		margin: 0;
	}
	.base_flex div.flex_c50_0_typo{
		width: calc(100% - 30px);
		margin: 0; padding:10px 15px;
	}
	.base_flex div.flex_c33info{
		width: calc(100% - 5px);
		margin: 5px auto; margin-bottom:10px;
	}
	.base_flex div.flex_c16{
		width: calc(33.3333% - 4px);
		margin: 2px;
	}
	.flex_c33info_title{ font-size:110%; }

	.base_flex div.flex_about_pic{
		width: calc(100% - 10px);
		margin: 5px auto;
	}
	.base_flex div.flex_about_typo{
		width: calc(100% - 10px);
		margin: 10px auto;
	}
}
/*-------------------------------------------------
  HOME
-------------------------------------------------*/
.accordion_container {
  width: 100%;
  margin: 0 auto;
}
.accordion_title {
	margin-top: 20px;
	background-color: #dfefb6;
color:#29482d;
  font-size: 170%; font-weight:bold;
  line-height:1.5;
  padding: 20px 15px;
  text-align: center;
  position: relative;
  z-index: +1;
  cursor: pointer;
}
.accordion_title:hover {
  opacity: 0.8;
}
.icon_wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  position: absolute;
  top: 50%;
  right: 10px;
  width: 40px;
  height: 40px;
  margin-top: -20px;
  box-sizing: border-box;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
}
.icon {
  display: block;
  width: 24px;
  height: 24px;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  transform-origin: center center;
  position: relative;
  text-align: center;
  background-color: #29482d;
  border-radius: 50%;
  /*! padding: 10px; */
}
.accordion_title.open 
.icon_wrap {
  -webkit-transform: rotate(-360deg);
  transform: rotate(-360deg);
}
.icon:before, .icon:after {
  display: flex;
  content: '';
  background-color: #fff;
  width: 15px;
  height: 2px;
  position: absolute;
  top: 11px;
  left: 4px;
  -webkit-transform: rotate(0deg);
  transform: rotate(0deg);
  transform-origin: center center;
}
.icon:before {
  width: 2px;
  height: 14px;
  top: 5px;
  left: 11px;
}
.accordion_title.open 
.icon_wrap .icon:before {
  content: none;
}
.accordion_title.open 
.icon_wrap .icon:after {
  -webkit-transform: rotate(-45deg);
  transform: rotate(-45deg);
}
.accordion_inner {
  display: none;
  padding: 10px;
background-color:#f1f1ef;
  box-sizing: border-box;
}
.ac_inner_wraper{
	background-color:#f1f1ef;
	padding:10px;
}

@media screen and (max-width: 600px) {
  .accordion_title { font-size: 150%; }
}
.top_flex {
-webkit-align-items: stretch;
align-items: stretch;
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
	padding:1% 0 1% 1%;
}
.top_flex div.flex_step25{
	width: calc(25% - 2px);
	margin: 0; margin-left:2px;
	background-color:white;  padding-top:10px;
}
.top_flex div.flex_step25end{
	width: calc(24% - 0px);
	margin: 0; margin-left:1%;
	background-color:white;  padding-top:10px;
}
.top_flex div.flex_step20{
	width: calc(18% - 0px);
	margin: 0;
	background-color:white; padding-top:10px;
}
.top_flex div.flex_step_arrow{
	width: calc(2% - 0px);
	margin: 0; text-align:center; display: flex;
}
.top_flex div.flex_step20:last-child{ width: calc(19% - 0px); }

.top_flex div.flex_step_arrow img{ width:96%; }
.flex_step20_stit{
	margin:3px auto;
	background-color:#437647;
	color:white;
	text-align:center;
	padding:2px;
	font-size:115%; font-weight:bold;
}
@media (max-width: 991px) {
	.top_flex div.flex_step20{
		width: calc(18% - 0px);
		margin: 0;
		background-color:white;
	}
	.top_flex div.flex_step_arrow{
		width: calc(2% - 0px);
		margin: 0;
	}
}
@media (max-width: 540px) {
	.top_flex div.flex_step25{
		width: calc(100% - 0px);
		margin: 5px 0;
	}
	.top_flex div.flex_step25end{
		width: calc(100% - 0px);
		margin: 5px 0;
	}
	.top_flex div.flex_step20 , .top_flex div.flex_step20:last-child{
		width: calc(100% - 0px);
		margin: 0;
		background-color:white;
	}
	.top_flex div.flex_step_arrow{
		width: 45px;
		margin: 0 auto;
	}
	.top_flex div.flex_step_arrow img{ width:100%; }
}
.step_bg1{ background-color:#437647; }
.step_bg2{ background-color:#437647; }
.step_bg3{ background-color:#365e3a; }
.step_bg4{ background-color:#29482d; }
.step_bg5{ background-color:#1d3220; }


.section_bg{
  width: 100%;
  height: auto;
  background-image: conic-gradient(#e7e7e7 0deg 90deg, #f7f7f7 90deg 180deg, #e7e7e7 180deg 270deg, #f7f7f7 270deg 360deg);
  background-size: 110px 110px;
  background-repeat: repeat-x;
  min-height: 100px;
  padding: 0;
}
.section_bg_mrgtop{ margin-top: 0px; }

.bg_color1{
	background-color:#003300;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:50px 0;
}
.bg_color2{
	background-color:#030303;
	width:100%;
	height:auto;
	margin:0 auto;
	padding:0;
}
@media (max-width: 991px) {
	.bg_color1{ padding:40px 0; }
}
@media (max-width: 540px) {
	.section_bg{ padding:20px 0; min-height: auto; }
	.bg_color1{ padding:30px 0; }
}
.salao_flex{
-webkit-align-items: center;
align-items: stretch;
  -js-display: flex;
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
}
.salao_flex div.flex_c50{
	width: calc(50% - 20px);
	margin: 10px;
	margin-bottom:20px;
}
.salao_flex div.flex_c50_0{
	width: calc(50% - 0px);
	margin: 0;
}
.salao_flex div.flex_c50_10{
	width: calc(50% - 20px); padding:20px 10px;
	margin: 0px auto; color:white;
}
.salao_flex div.flex_c50_40{
	width: calc(50% - 40px);
	margin: 20px;
}
.salao_flex div.flex_c50cf{
	width: calc(50% - 20px);
	margin: 10px;
	margin-bottom:20px;
}
.salao_flex div.flex_c33{
	width: calc(33.3333% - 40px);
	margin: 20px;
}
.salao_flex div.flex_c33min{
	width: calc(33.3333% - 10px);
	margin: 5px;
}
.salao_flex div.flex_c33min_gray{
	width: calc(33.3333% - 10px);
	margin: 5px; background-color:#f7f7f7;
}
.salao_flex div.flex_c33min_icon{
	width: calc(25% - 50px);
	margin: 5px; padding:20px 20px 10px 20px;
	background-color:#daf0b6;
}


@media (max-width: 991px) {

}
@media (max-width: 540px) {
	.salao_flex div.flex_c50{
		width: calc(90% - 0px);
		margin: 10px auto;
		margin-bottom:20px;
	}
	.salao_flex div.flex_c50_0{
		width: calc(100% - 0px);
		margin: 0 auto;
	}
	.salao_flex div.flex_c50_10{
		width: calc(100% - 20px);
		margin: 0px auto;
	}
	.salao_flex div.flex_c50_40{
		width: calc(100% - 0px);
		margin: 0 auto;
	}
	.salao_flex div.flex_c50cf{
		width: calc(100% - 0px);
		margin: 0px;
		margin-bottom:10px;
	}
	.salao_flex div.flex_c33{
		width: calc(80% - 20px);
		margin: 10px auto;
	}
	.salao_flex div.flex_c33min{
		width: calc(100% - 10px);
		margin: 5px; margin-bottom:10px;
	}
	.salao_flex div.flex_c33min_gray{
		width: calc(100% - 0px);
		margin: 0px; margin-bottom:10px;
	}
	.salao_flex div.flex_c33min_icon{
		width: calc(50% - 24px);
		margin: 2px; margin-bottom:2px;
		padding:10px 10px 0px 10px;
	}
}
.nav_icon_no{
	margin:0 auto;
	margin-top:-58px;
	margin-bottom:-20px;
	width:100%; max-width:80px;
	text-align:center;
}
.top_slick_block{
	position:relative;
	margin:10px 0;
}
.hairSlider img { width: auto; height: 100%; }
.slick-track{ height: 50vh; }
.access_ctg{
	margin-bottom:10px;
	background-color:#669933;
	padding:2px 10px;
	color:white;
}
.access_ctg_cap{
	margin-bottom:10px;
	border-bottom:1px solid #3e4f29;
	padding:5px 10px 10px 10px;
	color:white;
}
.access_logo{ margin:0; width: 100%; max-width: 350px; }


@media (max-width: 540px) {
	.top_slick_block{ margin-bottom:-30px; }
	.access_logo{ margin:0 auto; }
}
.top_blog_line{
	width:100%;
	margin:0 auto;
	margin-bottom:10px;
	padding-top:5px;
	padding-bottom:5px;
	border-bottom:1px solid #3e4f29;
}
.top_blog_tit{
	font-size:110%;
	line-height:1.5;
	text-align:left;
	width: auto;
	padding-top: 7px;
}
.top_blog_tit a:link , .top_blog_typo a:link { color: #fff; text-decoration: none; }
.top_blog_tit a:visited , .top_blog_typo a:visited { color: #fff; text-decoration: none; }
.top_blog_tit a:hover , .top_blog_typo a:hover { color: #a1ce6b; text-decoration: underline; }
.top_blog_tit a:active , .top_blog_typo a:active { color: #fff; text-decoration: none; }

.top_blog_day{
	letter-spacing:0;
	margin-right:8px;
	line-height:1.6;
}
.top_blog_ctg , .archive_blog_ctg{
	letter-spacing:0;
	margin-right:3px;
	padding:2px 4px;
	min-width: 66px;
	text-align: center;
	font-size:90%;
	line-height:initial;
	color:#fff;
	float:left;
	background-color: #669933;
}
.evenet_thumb{
	position:relative; display:block; margin-bottom:10px;
}
.evenet_thumb_ctg{
	position:absolute;
	bottom:0;
	left:0;
}

/*-------------------------------------------------
  page-main
-------------------------------------------------*/
.co_main{
	position: relative;
	background: url("../images/company/main.jpg") center no-repeat;
	background-size: cover;
	position:relative;
	width:100%; max-width:780px;
	height:150px;
	margin:0 auto;
	margin-bottom:0px;
	padding: 30px 0;
}
.sponser_main{ background: url("../images/sponser/main.jpg") center no-repeat; background-size: cover; height:150px; }
.volunteer_main{ background: url("../images/volunteer/main.jpg") center no-repeat; background-size: cover; height:150px; }
.schedule_main{ background: url("../images/schedule/main.jpg") center no-repeat; background-size: cover; height:150px; }
.result_main{ background: url("../images/result/main.jpg") center no-repeat; background-size: cover; height:150px; }

.page_stit{
	color:#285430;
	font-size:120%;
	font-weight:bold;
	text-align:center;
	margin-top:30px;
	margin-bottom:10px;
	padding-bottom:3px;
	border-bottom:1px solid #285430;
}
.green_stit{
	margin:0 auto;
	padding:8px;
	background-color:#285430;
	color:white;
	font-size:120%;
	text-align:center; line-height:1.3;
}
.lgreen_stit{
	margin:0 auto;
	padding:5px;
	background-color:#daf0b6;
	color:#285430;
	font-size:105%;
	text-align:center; line-height:1.3;
}
.gray_stit{
	margin:0 auto;
	padding:8px;
	background-color:#f7f7f7;
	text-align:left; line-height:1.6;
}
.gray_stit2{
	margin:0 auto;
	padding:15px;
	background-color:#f7f7f7;
	text-align:center; line-height:1.5; font-size:110%; font-weight:bold;
}
.lgreen_stit50{
	float:left; width:50%;
	margin-bottom:1px;
	margin-right:1px;
	padding:5px;
	background-color:#daf0b6;
	color:#285430;
	font-size:100%;
	line-height:1.4;
}
.gray_stit50{
	float:left; width:43%;
	margin-bottom:1px;
	margin-right:1px;
	padding:5px;
	background-color:#f7f7f7;
	font-size:100%;
	line-height:1.4;
}
@media (max-width: 540px) {
	.lgreen_stit50{
		width:48%;
		font-size:90%;
	}
	.gray_stit50{
		width:43%;
		font-size:90%;
	}
}
.pankuzu{
	background-color:#f7f7f7;
	color:#808080;
	padding:10px 10px;
	font-size:90%;
	margin-top:100px; margin-bottom:15px;
}
.pankuzu a:link,
.pankuzu a:visited,
.pankuzu a:active { color: #808080; text-decoration: underline; }
.pankuzu a:hover { color: #444343; text-decoration: none; }

@media (max-width: 991px) {
	.pankuzu{ margin-top:60px; }
}
@media (max-width: 540px) {
	.pankuzu{ margin-top:40px; }
	.co_main{ background: url("../images/company/main_sp.jpg") center no-repeat; height:130px; margin-bottom:-20px; }
	.sponser_main{ background: url("../images/sponser/main_sp.jpg") center no-repeat; height:130px; }
	.volunteer_main{ background: url("../images/volunteer/main_sp.jpg") center no-repeat; height:130px; }
	.schedule_main{ background: url("../images/schedule/main_sp.jpg") center no-repeat; height:130px; margin-bottom:-20px; }
	.result_main{ background: url("../images/result/main_sp.jpg") center no-repeat; height:130px; margin-bottom:-20px; }
}
.in_main_tit{
	font-size:300%;
	color:black;
	text-align:center;
	margin-top:30px;
	line-height: 1;
}
@media (max-width: 540px) {
	.in_about_bg{ padding:10px; }
	.contact_main{ background: url("../images/contact/main.jpg") top center no-repeat; }
}
/*-------------------------------------------------
  Q&A
-------------------------------------------------*/
.qa_tit{
	position: relative;
	background-color:#daf0b6;
	border:1px solid #daf0b6;
	font-size:110%; line-height:1.4;
	padding:10px; padding-left: 30px;
	margin:0;
}
.qa_anser{
	position: relative;
	border:1px solid #daf0b6;
	font-size:100%; line-height:1.4;
	padding:10px; padding-left: 30px;
	margin:0; margin-bottom:12px;
}
.qa_tit::before,
.qa_anser::before {
  font-weight: bold;
  position: absolute;
  left: 10px;
  top: 10px;
}
.qa_tit::before { content: 'Q.'; }
.qa_anser::before { content: 'A.'; }


/*-------------------------------------------------
  年間スケジュール
-------------------------------------------------*/
table.schedule_tb{
	border:1px solid #daf0b6;
	margin:0px auto; margin-bottom:15px;
	line-height:1.3;
	border-collapse:collapse;
	width: 100%;
	letter-spacing:0;
}
table.schedule_tb tr.tr_line {
	border-top:1px solid #aaa;
}
table.schedule_tb tr.tr_line0 {
	border-top:0px solid #aaa;
}
table.schedule_tb th{
	background-color:#daf0b6;
	padding:10px;
	text-align:left;
	font-size:110%;
	white-space: nowrap;
}
table.schedule_tb td {
	padding:10px;
}
table.schedule_tb td.kekka { white-space:nowrap; width: 35%; min-width: 280px; }
table.schedule_tb td.sche_icon { white-space:nowrap; width: 10%; }

table.schedule_tb td.kekka_pdf{
	white-space: nowrap;
	width: 115px;
	border-top: 0px solid #daf0b6;
	border-left: 1px solid #daf0b6;
	text-align: center;
}
@media (max-width: 540px) {
	table.schedule_tb th{ white-space: normal; }
	table.schedule_tb td.kekka { white-space:nowrap; width: 100%; min-width: 280px; }
	table.schedule_tb td.kekka_pdf{ width: 100%; border-top: 1px solid #daf0b6; border-left: 0px solid #daf0b6; }
}
.scheicon{
	background-color:#285430;
	padding:2px 6px;
	color:white;
	margin:0; display: block;
	white-space: nowrap;
	text-align: center;
}
.kekka_icon{
	border:1px solid red;
	background-color:#fff;
	padding:5px;
	color:red;
	text-align:center;
	white-space: nowrap;
	margin:0; display: block;
}
.kekka_end{
	border:1px solid #646464;
	background-color:#f0f0f0;
	padding:5px;
	margin:0;
	text-align:center;
	white-space: nowrap;
	display: block;
}
.kekka_icon2{
	border:1px solid #459417;
	background-color:#fff;
	padding:5px;
	color:#459417;
	text-align:center;
	white-space: nowrap;
	margin:0; display: block;
}

/*-------------------------------------------------
  会社概要
-------------------------------------------------*/
table.co_tb{
	margin:0px auto; margin-bottom:20px;
	line-height:1.8;
	border-collapse:collapse;
	width: 100%;
}
table.co_tb th{
	background-color:#daf0b6;
	color:#285430;
	padding:10px 20px;
	text-align:left;
	border-bottom:2px solid #fff;
	border-right:2px solid #fff;
	white-space: nowrap;
}
table.co_tb td {
	background-color:#f7f7f7;
	padding:10px 20px;
	text-align:left;
	border-bottom:2px solid #fff;
}
table.co_tb td.td_co_li{ padding-left:0px; }
ul.co_li{ list-style: disc; list-style-position: outside; }

@media (max-width: 540px) {
	table.co_tb th{
		padding:6px 10px 0px 10px;
		border-right:0px solid #b3b3b3;
		display:block;
	}
	table.co_tb td {
		padding:6px 10px 12px 0px;
		display:block;
	}
}
.privacy_cap_block{
	background-color:#e8f4fd;
	padding:20px;
}
ul.privacy_li0 {padding-left:17px}
ul.privacy_li0 li{list-style: disc; list-style-position:outside; }

ul.privacy_li {padding-left:17px}
ul.privacy_li li{list-style: decimal; list-style-position:outside; }

ul.privacy_li_en {padding-left:17px}
ul.privacy_li_en li{list-style-type: lower-latin; list-style-position:outside; }

ul.list_parentheses{
  padding-left:15px;
  margin:0;
}
ul.list_parentheses li{
  list-style-type:none;
  list-style-position:outside;
  counter-increment: cnt;
  padding-bottom:10px;
}
ul.list_parentheses li:before{
  display: marker;
  content: "(" counter(cnt) ") ";
}
.privacy_cap_block{
	border:1px solid #63421e;
	padding:20px;
	margin:10px 0;
	display:table;
}

/*-------------------------------------------------
  NEWS
-------------------------------------------------*/
.news_block{
	margin:0 auto; margin-top:20px;
}
.news_main{
	width:70%;
	margin:0 auto;
	text-align:left;
	float:left;
	padding:2%;
}
.news_main img{ width: initial !important;}

.news_nav{
	width:20%;
	text-align:left;
	float:right;
	padding:2%;
}
.news_archive{
	border-bottom:1px dotted #969696;
	margin-bottom:20px;
	padding:20px 0;
}
.single_news{
	margin-bottom:20px;
	background-color:white;
	padding:40px;
	border-radius:10px;
}
@media (max-width: 540px) {
	.single_news{ padding:20px; }
}
.news_thumb{
	float:left;
	width:20%;
}
.news_typo{
	float:right;
	width:77%;
}
.news_tit{
	font-size:110%;
	line-height:1.5;
	letter-spacing:0px;
}
.news_tit a:link,
.news_tit a:visited,
.news_tit a:active{ color:#285430; text-decoration: none; }
.news_tit a:hover{ color:#5d9364; text-decoration: under-line; transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; }

.news_tit_single{
	font-size: 130%;
	line-height: 1.5;
	letter-spacing: 0px;
	margin: 10px auto;
	color: #285430;
	border-bottom: 2px solid #285430;
	padding-bottom: 5px;
}
.news_tit_top_base{
	border-bottom:1px dotted #969696;
	padding-bottom:15px;
	margin-bottom:15px;
}
.news_tit_top{
	line-height:1.5;
	float:none; padding-left:0; padding-top:10px;
}
.news_day{
	padding-top:5px;
	font-size:90%;
	line-height:1;
	float:none;
}
.news_day2{ font-size:80%; }

.archive_news_in{
	margin:40px auto;
	padding-bottom:20px;
	border-bottom:3px double #e6dccf;
}
.news_tit_block{
	border-bottom:1px dotted #ac8757;
	padding-bottom:12px;
}
.archive_ctg_icon{
	margin:0; display:table;
	background-color:#deecfd;
	color:#285430;
	padding:2px 10px 4px 10px;
	text-align:center;
	font-size: 80%; letter-spacing:0;
	line-height: 1.2;
	margin-bottom:5px;
}
.ctg_icon{
	margin:0;
	background-color:#fff;
	color:#fff;
	padding:2px 10px 4px 10px;
	text-align:center;
	font-size: 80%; letter-spacing:0;
	line-height: 1.2;
	margin-right: 10px;
	margin-top: 2px;
}
.ctg_icon_info{ background-color:#ff716b; }
.ctg_icon_event{ background-color:#33a5cc; }
.ctg_icon_report{ background-color:#62cc36; }

.news_day_archive{
	margin:5px 0;
	color:#888888;
	font-size:80%;
}
.archive_news_tit{
	font-size:100%;
	line-height:1.3;
	letter-spacing:0px;
}
.archive_news_tit a:link,
.archive_news_tit a:visited,
.archive_news_tit a:active{ color:#285430; text-decoration: none; }
.archive_news_tit a:hover{ color:#deecfd; text-decoration: under-line; transition: all 0.3s ease-in-out; -webkit-transition: all 0.3s ease-in-out; }

.top_ctg_icon{
	position:absolute;
	bottom:0;
	left:0;
	background-color:#969696;
	color:white;
	padding:1px 6px;
	text-align:center;
	font-size: 90%; letter-spacing:0;
}
li.cat-item{ list-style: none; color:white; margin: 0px 0 5px 0; display: inline-block;}
li.cat-item a{
	background-color:#fff;
	padding:5px 15px;
	display:inline-block;
	text-align:center;
	list-style: none; color:#285430;
	border: 1px solid #285430;
}
li.cat-item a:hover{ opacity:0.5; }

@media (max-width: 540px) {
	li.cat-item{ margin: 0px; }
	li.cat-item a{ margin: 0px; padding:5px 10px; }
}
@media (max-width: 950px) {
	.news_main{
		width:96%;
		margin:0 auto;
		text-align:left;
		float:none;
	}
	.news_nav{
		margin-top:20px;
		width:90%;
		text-align:left;
		float:none;
	}
}
@media (max-width: 540px) {
	.news_tit{ font-size:90%; }
	.news_tit_single{ font-size: 110%; }
}
/* Blog nav */
.lasted_nav_tit{
	margin:20px auto;
	padding:5px 5px;
	text-align:center;
	color:#285430;
	background-color:#daf0b6;
	display:inline-block;
	width: 100%;
	max-width: 430px;
}
.blog_nav , .blog_nav2{
	margin-top:0px;
	padding:0;
}
.blog_nav ul , .blog_nav2 ul{
	margin: 0;
	padding: 0;
}

.sns_btn{ margin-top:30px; }
.sns_btn img{ width:20px !important; }



/* __________ SNSボタン __________ */

a.fb-share{
	float:left;
	padding:8px;
	margin:0 5px 5px 0;
	text-align:center;
	display:block;
	text-decoration:none;
	font-weight:bold;
	border-radius:3px;
	background-color:#305097;
	line-height:1;
}
a.fb-share:hover{background-color:#7d96ce;}

a.twitter-tweet{
	float:left;
	padding:8px;
	margin:0 5px 5px 0;
	text-align:center;
	display:block;
	text-decoration:none;
	font-weight:bold;
	border-radius:3px;
	background-color:#333;
	line-height:1;
}
a.twitter-tweet:hover{background-color:#777;color:#fff;}

a.hatenabtn2{
	float:left;
	padding:8px;
	margin:0 5px 5px 0;
	text-align:center;
	display:block;
	text-decoration:none;
	font-weight:bold;
	border-radius:3px;
	background-color:#00a5de;
	line-height:1;
}
a.hatenabtn2:hover{background-color:#87c8dd;}

a.line_btn{
	float:left;
	padding:8px;
	margin:0 5px 5px 0;
	text-align:center;
	display:block;
	text-decoration:none;
	font-weight:bold;
	border-radius:3px;
	background-color:#1dcd00;
	line-height:1;
}
a.line_btn:hover{background-color:#c9f1c3;color:#1dcd00;}

.blog_pan{
	margin-top:60px;
	padding:0;
	text-align: center;
	color:#7097d6;
	letter-spacing:;
}
.blog_pan a:link { color: #669933; text-decoration: none; }
.blog_pan a:visited { color: #669933; text-decoration: none; }
.blog_pan a:active { color: #669933; text-decoration: none; }
.blog_pan a:hover { color: #9ece65; text-decoration: underline; }

a.btn-bloglist {
	margin:0 auto;
	background-color: #285430;
	color: #fff !important;
	padding: 8px 60px;
	cursor: pointer; position:relative;
	display:inline-block; margin-top:-8px;
}
a.btn-bloglist:hover { background-color: #7097d6; text-decoration:none; }

@media (max-width: 540px) {
	a.btn-bloglist { padding: 3px 20px 5px 20px; font-size:90%; }
	.blog_pan{ font-size:90%; }
}

/*Pagenation*/
.pagenation {
    margin: 1em 0; margin-bottom:2em;
}
.pagenation:after, .pagenation ul:after {
    clear: both;
    content: ".";
    display: block;
    height: 0;
    visibility: hidden;
}
.pagenation ul {
    margin: 0; padding:0;
}
.pagenation li {
    float: left;
    list-style: none outside none;
    margin-left: 3px;
font-size:13px;
}
.pagenation li:first-child {
    margin-left: 0;
}
.pagenation li.active {
    background-color: #97b8e8;
    border-radius: 3px;
    color: #FFFFFF;
    cursor: not-allowed;
    padding: 5px 10px;
}
.pagenation li a {
    background: none repeat scroll 0 0 #7097d6;
    border-radius: 3px;
    color: #FFFFFF;
    display: block;
    padding: 5px 10px;
    text-decoration: none;
    text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.2);
}
.pagenation li a:hover {
    background-color: #97b8e8;
    color: #FFFFFF;
    opacity: 0.8;
    transition-duration: 500ms;
    transition-property: all;
    transition-timing-function: ease;
}
.pan_list{ text-align:left; }


/* __________ Contact __________ */

.hissu{ margin-left:0px; padding: 2px 10px; background:red; color:#fff; font-size:90%; float:right; }
.hissu_none{ margin-left:0px; padding: 2px 10px; background:#999999; color:#fff; font-size:90%; float:right; }
table.form_tb{
	margin:0 auto;
	width:100%; max-width:800px;
	line-height:1.3;
}
table.form_tb th {
	width:30%;
	padding:14px 16px 14px 6px;
	text-align:left;
	font-weight:100;
}
table.form_tb td {
	width:60%;
	padding:14px 6px;
	text-align:left;
}
@media (max-width: 540px) {
	.hissu{ float:none; margin-left: 10px; font-size:80%; padding: 2px 4px; }
	.hissu_none{ float:none; margin-left: 10px; font-size:80%; padding: 2px 4px; }
	table.form_tb th{
		padding:6px 10px;
		display:block; width:90%;
	}
	table.form_tb td {
		padding:6px 10px; padding-left:15px;
		display:block; width:90%;
	}
}
/* __________ Contact Form __________ */
textarea,
input[type="text"],
input[type="email"],
input[type="tel"],
input[type="email"]
 {
	width:98%;
	margin:0 0 10px;
	padding: 10px 8px;
	text-transform:none;
	line-height:20px;
	font-size: 14px;
	color: #333333;
	font-style:normal;
	border-radius: 0;
	border:1px solid #fff;
	box-shadow: none;
	transition: border-color 0.3s ease-in-out; 
	-webkit-transition: border-color 0.3s ease-in-out;
}
.form-width50{ width:100px !important;}
textarea {
	overflow:hidden;
	min-height:95px;
	resize: none;
}
textarea,
input[type="text"].last {margin-right:0;}


textarea:focus,
input[type="text"]:focus,
input[type="password"]:focus,
input[type="datetime"]:focus,
input[type="datetime-local"]:focus,
input[type="date"]:focus,
input[type="month"]:focus,
input[type="time"]:focus,
input[type="week"]:focus,
input[type="number"]:focus,
input[type="email"]:focus,
input[type="url"]:focus,
input[type="search"]:focus,
input[type="tel"]:focus,
input[type="color"]:focus {
	outline: 0;
	box-shadow: none;
	color:#333;
	border:1px solid #aaa;
}
.wpcf7-radio{ margin-bottom: 0px; display: block; }

@media screen and (max-width: 540px) ,print{
	textarea,
	input[type="text"],
	input[type="email"],
	input[type="tel"],
	input[type="email"] {width:90%; }

	.wpcf7-radio{ margin-bottom: 30px; }
}


/*親要素に中央揃えを適用し、送信ボタンを真ん中に寄せます*/
.wpcf7-form{
	margin:0 auto;
	text-align:left;
	width:100%;
}
.contact_submit{ text-align:center; }

.form_l{ text-align:left; color:#603E24; }

/*スマホ用ボタン強制*/
input[type="submit"],
input[type="button"] {
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box;
  cursor: pointer;
}
input[type="submit"]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration {
  display: none;
}
input[type="submit"]::focus,
input[type="button"]::focus {
  outline-offset: -2px;
}

/*送信ボタンを相対サイズに。ディフォルトのmarginを取り除く*/
.wpcf7 .wpcf7-submit{
    width:40%;
    margin-right:-60px; margin-top:20px;
	max-width: 220px;
	display:block;
	padding:10px 15px;
	text-align:center;
	font-size:125%;
	color:white;
	margin: 0px auto;
	text-decoration:none;
	position: relative;
	background-color:#000;
	cursor:pointer;
}
/*送信ボタンにマウスカーソルが乗った時の処理*/
.wpcf7-submit:hover {
    background-color:#333;
}
/*エラーの表示を中央寄せ・幅100%表示にします*/
.wpcf7-response-output,
div.wpcf7-validation-errors {
    width:100%;
    text-align:center;
}
/*ロード中画像をブロック要素にして中央に寄せます*/
div.wpcf7 img.ajax-loader{
    display:block;
    margin: 0 auto;
}
/*ディフォルトのエラー文章を非表示にします*/
.wpcf7 span.wpcf7-not-valid-tip {
    display: none;
}
/*エラーの発生したフォームを赤背景にします*/
body .wpcf7 .wpcf7-not-valid {
    background: pink;
}
select option{ font-size:110%; }
select{ border: 1px solid #aaaaaa; padding:20px 10px; font-size:110%; }
.contact_btn {
	display:inline-block;
	cursor:pointer;
	margin: 0 7px 10px 0;
	padding:13px 30px;
	border: 2px solid #242424;
	border-radius: 0;
	box-shadow: 0;
	text-shadow:none;
	text-decoration:none;
	font-weight:900;
	line-height:20px;
	font-size:13px;
	color:#333;
	background: none; 
	transition: all 0.3s ease-in-out;
	-webkit-transition: all 0.3s ease-in-out;
}
.contact_btn.active, .contact_btn:hover {background: none; color:#fff; border-color:#ccc;}

.notification_error {color:#30a67c;}


/*-------------------------------------------------
  404
-------------------------------------------------*/
.not_typo{
	margin:55px auto;
	margin-bottom:25px;
	font-size:130%;
	color:#88725c;
	letter-spacing:2px;
}


.owl-theme .owl-controls .owl-buttons div:before {
	position:absolute;
	left:0;
	top:0;
	width:40px;
	height:40px;
	font-family: FontAwesome;
	text-align:center;
	line-height:40px;
	font-size:20px;
	color:#666;
	transition: all 0.3s ease-in-out; 
	-webkit-transition: all 0.3s ease-in-out;
	    font-family: "Font Awesome 5 Free";
    font-weight: 900;
}



@media screen and (max-width: 810px) ,print{
}
@media screen and (max-width: 540px) ,print{
	.head_logo{
		margin:5px auto;
		margin-bottom:5px;
	}
	.head_logo img{ width:160px; }
	.g_nav{ margin-top:15px; }
}
