@charset "utf-8";
/*
=======================================
  Reset CSS
=======================================
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure, 
footer, header, main, menu, nav, section, summary,
time, mark, audio, video{
  margin:0;
  padding:0;
}

article,aside,details,figcaption,figure,
footer,header,main,menu,nav,section{
  display:block;
}

html{
  -webkit-text-size-adjust: 100%;
	    scroll-behavior: smooth;
}

body{
	line-height: 1.5;
	font-size: 16px;
	color:#000;
}
@media screen and (max-width: 900px) {
body{
	font-size: 14px;
}
}

img{
  border: 0;
  max-width: 100%;
  height: auto;
  display: block;
}

ul,ol{
  list-style-type: none;
}

table {
  border-spacing: 0;
  width:100%;
}
table th{
	background: #f6f6f6;
	padding: 15px 20px;
	border-bottom: 1px solid #ededed;
	text-align: left;
	font-weight: normal;
}
.single table th{
	width:25%;
}
.group table th{
	width:50%;
}

table td{
	background: #fff;
	border-bottom: 1px solid #ededed;
	padding: 15px 20px;
}

table td:nth-child(2){
	border-right: 1px solid #ededed;
}

@media screen and (max-width: 900px) {
table th{
	padding: 10px;
}
table td{
	padding: 10px;
}
}
@media screen and (max-width: 600px) {
table th{
	padding: 7px;
}
table td{
	padding: 7px;
}
}

table td.on{
	color: #57b0d9;
}
table td span{
	display: block;
	font-size: 75%;
}

img, input, select, textarea { 
  vertical-align: middle;
}

a{
	color:#000;
	text-decoration:none;
}

p{
	line-height:2;
}




/*
=========================================
  Base Layout
=========================================
*/




  




/*
=========================================
  Modules（Block）
=========================================
*/

/*header
--------------------*/
h1{
	top: 15px;
	left: 20px;
	position: absolute;
}
h1 img{
	width: 130px;
}
h2{
	font-size: 220%;
	margin-bottom: 2rem;
	font-weight: bold;
}
h2 span{
	color:#e97e00;
	font-size:50%;
	font-weight:normal;
	margin-left:20px;
}
h3{
	font-size: 200%;
	margin:2rem 0 0.5rem;
}

@media screen and (max-width: 1000px) {
h1 img{
	width: 100px;
}
h2{
	font-size: 180%;
}
}
@media screen and (max-width: 600px) {
h2{
	font-size: 150%;
}
h3{
	font-size: 150%;
	margin:1rem 0 0.5rem;
}
}



.l_txt{
	font-size:120%;
}
@media screen and (max-width: 600px) {
.l_txt{
	font-size:110%;
}
}

.red{
	color: red;
	font-size: 120%;
}
@media screen and (max-width: 900px) {
.red{
	font-size: 100%;
}
}

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


/* ボタンのスタイル */
a.btn {
  position: relative;
  display: block;
  width: 90%;
  padding: 15px 5%;
  background-color: #e97e00;
  border-radius: 5px;
  color: #fff;
  text-decoration: none;
  margin-top: 1rem;
}
@media screen and (max-width: 600px) {
a.btn {
  width: 180px;
}
}

/* アイコンのスタイル */
a.btn::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 17px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  transform: rotate(45deg);
  box-sizing: border-box;
}



/*
=========================================
  .anc_navi
=========================================
*/
.anc_navi{
	padding:2rem 0;
}
@media screen and (max-width: 800px) {
.anc_navi{
	padding:2rem 0 0;
}
}
.anc_navi ul{
	overflow: hidden;
}
.anc_navi li{
	width: 40%;
	margin:0 5%;
	float:left;
}
@media screen and (max-width: 700px) {
.anc_navi li{
	width: 48%;
	margin:0 1%;
}
}

/* ボタンのスタイル */
.anc_navi li a {
  position: relative;
  display: block;
  width:100%;
  padding: 15px 0;
  background-color: #54773d;
  border-radius: 50px;
  color: #fff;
  text-decoration: none;
  text-align: center;
}
/* アイコンのスタイル */
.anc_navi li a::after {
  content: '';
  position: absolute;
  top: 0;
  bottom: 0;
  right: 17px;
  width: 9px;
  height: 9px;
  margin: auto;
  border-top: 2px solid #fff;
  border-right: 2px solid #fff;
  box-sizing: border-box;
  transform: translateY(-25%) rotate(135deg);
}
@media screen and (max-width: 600px) {
.anc_navi li a {
  padding: 15px 0 30px;
}
.anc_navi li a::after {
  top: 0;
  bottom: -50px;
  right:50%;
}
}

/*
=========================================
  title
=========================================
*/

#title{
	margin-top:75px;
	padding:50px 80px 20px;
	background:#f6f6f6;
}
@media screen and (max-width: 1000px) {
#title{
	margin-top:50px;
	padding:50px 80px 5px;
}
}
@media screen and (max-width: 600px) {
#title{
	padding:50px 30px 5px;
}
}

.pankuzu{
	padding:20px;
}
@media screen and (max-width: 600px) {
.pankuzu{
	padding:15px;
}
}

/*
=========================================
  .point
=========================================
*/

.point{
	border: 5px solid #45b035;
	border-radius: 30px;
	position: relative;
	padding: 1rem 5%;
	min-height:30px;
	margin:3rem 0 3rem 5%;
}
.point p:last-child{
	border-top: 1px dashed #45b035;
	padding-top:0.5rem;
	margin-top:0.5rem;
}
.point img{
	position:absolute;
	top: -25px;
	left: -5%;
	max-width:130px;
}
@media screen and (max-width: 800px) {
.point img{
	max-width:100px;
}
}
@media screen and (max-width: 550px) {
.point img{
	max-width:80px;
}
}

.point p{
	color: #45b035;
	margin-left:70px;
	font-size:150%;
	font-weight:bold;
}
@media screen and (max-width: 800px) {
.point p{
	margin-left:60px;
	font-size:130%;
}
}
@media screen and (max-width: 550px) {
.point p{
	font-size:120%;
	line-height:1.5;
}
}


.heading{
    font-size: 180%;
    color: #71b03e;
    padding: 0.3rem 0;
    margin: 2rem 0 0.5rem 0;
    display:block;
    background: none;
}
@media screen and (max-width: 600px) {
.heading{
    font-size: 130%;
    margin: 1rem 0 0.5rem 0;
}
}

	 
/*
=========================================
  header
=========================================
*/
  

  #top-head {
	  top: -100px;
	  left:0;
	  position:absolute;
	  width: 100%;
	  margin: 100px auto 0;
	  padding: 0;
	  line-height: 1;
	  color:#fff;
	 }
  #top-head {
	  text-decoration: none;
	 }

  #top-head p{
	  color:#000;
	  position:absolute;
	  left: 180px;
	  top:25px;
	  font-size:85%;
	 }
@media screen and (max-width: 1000px) {
  #top-head p{
	  font-size:80%;
	  left:130px;
	  top: 18px;
	 }	
}
@media screen and (max-width: 600px) {
  #top-head p{
	  display:none;
  }
}

p.copy{
	display:none;
}
@media screen and (max-width: 600px) {
p.copy{
	  top:60px;
	  left:0;
	  padding:0.5rem 5%;
	  width:90%;
	  background:#f0fcdc;
	display:block;
  }	
}


  
#global-nav{
	width: 70%;
	float: right;
} 

#global-nav ul{
	  list-style: none;
	  padding-left:20px;
	  float: right;
}
@media screen and (max-width: 1000px) {
#global-nav ul{
	  float: none;
}
}
#global-nav ul li,
.footer_nav ul li{
	  float: left;
	  padding:0 15px;
	  margin: 29px 0;
	  letter-spacing: 0.1rem;
	  text-align: center;
}
@media screen and (max-width: 1000px) {
#global-nav ul li{
	  margin: 0;
}
}
@media screen and (max-width: 600px) {
#global-nav ul li,
.footer_nav ul li{
	  float: left;
	  padding: 0 10px;
	  margin: 10px 0 0;
}
}
@media screen and (max-width: 480px) {
#global-nav ul li,
.footer_nav ul li{
	  padding: 0 5px;
}
}



#global-nav ul li:nth-child(1),
#global-nav ul li:nth-child(2),
#global-nav ul li:nth-child(3),
.footer_nav ul li:nth-child(1),
.footer_nav ul li:nth-child(2),
.footer_nav ul li:nth-child(3){
	border-right:1px solid #ccc;
}
@media screen and (max-width: 1000px) {
#global-nav ul li:nth-child(1),
#global-nav ul li:nth-child(2),
#global-nav ul li:nth-child(3){
	border-right:none;
}
}
@media screen and (max-width: 480px) {
.footer_nav ul li:nth-child(1),
.footer_nav ul li:nth-child(2),
.footer_nav ul li:nth-child(3){
	border-right:none;
}
}
#global-nav ul li,
.footer_nav ul li{
  position: relative;
  color: #fff;
  padding-left: 1.5em;
}


@media screen and (max-width: 1100px) {
#global-nav ul li,
.footer_nav ul li {
	  font-size:90%;

}
}
@media screen and (max-width: 1000px) {
#global-nav ul li::before,
.footer_nav ul li::before{
  content:none;
}
}

#global-nav .tel a,
.footer_nav .tel a{
	color:#e97e00;
	font-weight:bold;
	font-size:120%;	
}
#global-nav .tel img,
.footer_nav .tel img{
	width:25px;
	float:left;
	margin-top:-3px;
	margin-right:3px;
}
#global-nav .mail,
.footer_nav .mail{
	background:#e97e00;
	padding:16px 20px 14px;
	border-radius:50px;
	margin: 13px 20px 0 0;
}
@media screen and (max-width: 1000px) {
#global-nav .mail{
	margin:0;
	padding:0;
	border-radius:0;
	background:#e97e00;
}
}
@media screen and (max-width: 600px) {
#global-nav .mail,
.footer_nav .mail{
	margin:-5px 0 0 0;
}
}
#global-nav .mail a,
.footer_nav .mail a{
	color:#fff;
}
#global-nav .mail img,
.footer_nav .mail img{
	width:21px;
	float:left;
	margin-top:-3px;
	margin-right:8px;
}

footer .footer_btn a{
	display:none;
}

@media screen and (max-width: 480px) {
.footer_nav .tel{
	display:none;
}
.footer_nav .mail{
	display:none;
}
footer .footer_btn a{
	width:40%;
	padding:1rem 0;
	border-radius:50px;
	margin:1rem 5% 0;
	float:left;
	background:#fff;
	display:block;
}	
footer .footer_btn a:last-child{
	background:#e97e00;
}	
footer .footer_btn a img{
	width:30px;
	margin:0 auto;
}
}

.footer_nav{
	display: inline-block;
}
.footer_nav ul{}

@media screen and (max-width: 1260px) {
#global-nav ul li span,
.footer_nav ul li span{
	display:none;
}
#global-nav .mail img,
.footer_nav .mail img{
	margin-right:0;
}
}

@media screen and (max-width: 1000px) {
#global-nav ul li span{
	display:inline;
}
#global-nav .mail img{
	margin-right:8px;
}
}

	







/*
=========================================
  contents
=========================================
*/	




.inner:after {
	  content: "";
	  clear: both;
	  display: block;
}
.inner{
	max-width:1180px;
    width: 90%;
    padding: 3rem 5% 0;
	margin:0 auto;
}
@media screen and (max-width: 600px) {
.inner{
    padding: 1.5rem 5% ;
}
}



/*
=========================================
  ページ上部へ
=========================================
*/

 #pageTop {
      position: fixed;
      bottom: 20px;
      right: 20px;
}

#pageTop i {
      padding-top: 12px;
      font-size:1.5em;
}

#pageTop a {
    height: 50px;
    width: 50px;
    position: fixed;
    right: 15px;
    bottom: 15px;
    background: #fff;
    border: solid 2px #e97e00;
    border-radius: 50%;
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2;
}
.pagetop__arrow {
    height: 10px;
    width: 10px;
    border-top: 3px solid #e97e00;
    border-right: 3px solid #e97e00;
    transform: translateY(20%) rotate(-45deg);
}
@media (hover: hover) and (pointer: fine) {
#pageTop a:hover{
	background: #ffe9cc;
    }	
}


@media screen and (max-width: 600px) {
#pageTop a {
      bottom:10px;
      right:10px;
}
}

  .sp{
	  display:none;
  }
  .tb{
	  display:none;
  }
@media screen and (max-width: 900px) {
  .tb{
	  display:block;
  }
}
@media screen and (max-width: 600px) {
  .pc{
	  display:none;
  }
  .sp{
	  display:block;
  }

}



/*---------------------------------------
  footer
---------------------------------------*/
footer{
	background: #f6f6f6;
	text-align:center;
	margin-top: 8rem;
	overflow: hidden;
	clear:both;
}
@media screen and (max-width: 900px) {
footer{
	margin-top:6rem;
}
}
@media screen and (max-width: 600px) {
footer{
	margin-top:3rem;
}
}
.footer_logo{
	text-align:center;
	display:inline-block;
}
.footer_logo img{
	width:120px;
}
@media screen and (max-width: 480px) {
.footer_logo img{
	width:100px;
}
}
.footer_logo a{
	display:inline-block;
	float:left;
	margin-right:30px;
}
@media screen and (max-width: 600px) {
.footer_logo a{
	display:block;
	float:none;
	margin:0;
}
.footer_logo a img{
	margin: 15px auto 0;
}
}
.footer_logo p{
	display: inline-block;
	line-height:3;	
}
@media screen and (max-width: 600px) {
.footer_logo p{
	display: block;
	padding-top:1rem;
}	
}
footer small{
	display:block;
	background: #f6f6f6;
	padding:15px;
	text-align: center;
	clear:both;
}
@media screen and (max-width: 600px) {
footer small{
	text-align: left;
}
}











/*
=========================================
  global nav
=========================================
*/
 

  /* Fixed */
  #top-head.fixed {
  	background: #fff;
  	width:100%;
  	z-index:10;
  	margin: 0 auto 0 auto;
  	top: 0;
  	position:sticky;
  	height: 75px;
  	transition: top 0.65s ease-in;
  	-webkit-transition: top 0.65s ease-in;
  	-moz-transition: top 0.65s ease-in;
  	opacity: 0.9;
  }

  @media screen and (max-width: 1000px) {
  #top-head.fixed {
  	position:fixed;
  }
  }






   
  /* Toggle Button */
  #nav-toggle {
	  display: none;
	  position: absolute;
	  right: 0;
	  top: 0;
	  width: 36px;
	  height: 30px;
	  cursor: pointer;
	  z-index: 101;
	  background: #e97e00;
	  padding:15px 12px;
	 }
  #nav-toggle div {
	  position: relative;

  }
  .open #nav-toggle span {
	  background: #fff;
  }

  #nav-toggle span {
	  display: block;
	  position: absolute;
	  height: 3px;
	  width: 100%;
	  background: #fff;
	  left: 0;
	  -webkit-transition: .35s ease-in-out;
	  -moz-transition: .35s ease-in-out;
	  transition: .35s ease-in-out;
	 }
  #nav-toggle span:nth-child(1) {
	  top: 0;
  }
  #nav-toggle span:nth-child(2) {
	  top: 12px;
  }
  #nav-toggle span:nth-child(3) {
	  top: 24px;
  }
  


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

#global-nav ul li{
	  margin-top:0;
	  margin-right:0;
	  padding: 0;
	  background: #fff;
	  border-top: 1px solid #ccc;
	  text-align: left;
	 }
	  
	  #top-head{
	  	width:100%;
	  	padding-top:0;
		z-index:25;
	  }
	  #top-head {
		  top: 0;
		  position: fixed;
		  margin-top: 0;
		  background:none;
	  }
#top-head {

  }
  
	  /* Fixed reset */
	  #top-head.fixed {
		  padding-top: 0;
		  background: transparent;
	  }
	  #mobile-head {
		  width: 100%;
		  height: 60px;
		  /*z-index: 999;*/
		  /* position: relative; */
		  background: #fff;
		 }
	  #top-head.fixed .logo,
	  #top-head .logo {
		  position: absolute;
		  left: 10px;
		  top: 12px;
		  font-size: large;
		 }	
  #top-head.fixed .logo {
	  text-align:center;
	  padding-top:0;
  }
  #top-head.fixed .logo span{
	  margin-left:0;
	  margin-top:5px;
  }
	  
	  #global-nav {
		  position: absolute;
		  /* 開いてないときは画面外に配置 */
		  top: -557px;
		  width: 100%;
		  text-align: center;
		  -webkit-transition: .5s ease-in-out;
		  -moz-transition: .5s ease-in-out;
		  transition: .5s ease-in-out;
		  padding-top:60px;
		 }
	  #global-nav ul {
		  list-style: none;
		  position: static;
		  right: 0;
		  bottom: 0;
		  padding-left: 0;
		 }
	  #global-nav ul li,
	  #global-nav ul li:last-child{float: none;position: static;}
	  #top-head.fixed ul li {
	  margin-top: 0;
	  }
	  
	  #top-head #global-nav ul li a,
	  #top_page #top-head.fixed #global-nav ul li a{
		  width: 100%;
		  display:inline-block;
		  padding: 20px;
		 }
		#global-nav .btn a{
			margin-top:0;
		}
	  #nav-toggle {
		  display: block;
	  }
	  /* #nav-toggle 切り替えアニメーション */
	  .open #nav-toggle span:nth-child(1) {
		  top: 11px;
		  -webkit-transform: rotate(315deg);
		  -moz-transform: rotate(315deg);
		  transform: rotate(315deg);
	  }
	  .open #nav-toggle span:nth-child(2) {
		  width: 0;
		  left: 50%;
	  }
	  .open #nav-toggle span:nth-child(3) {
		  top: 11px;
		  -webkit-transform: rotate(-315deg);
		  -moz-transform: rotate(-315deg);
		  transform: rotate(-315deg);
	  }
	  /* #global-nav スライドアニメーション */
	  .open #global-nav {
		  /* #global-nav top + #mobile-head height */
		  -moz-transform: translateY(556px);
		  -webkit-transform: translateY(556px);
		  transform: translateY(556px);
		  z-index: 10;
		 }
  }
 
/*===============================
	reCAPTCHA
=================================*/

.grecaptcha-badge {
	bottom: 85px !important;
}



.bx-wrapper .bx-pager.bx-default-pager a {
  background: #deebc9;
}
.bx-wrapper .bx-pager.bx-default-pager a:hover,
.bx-wrapper .bx-pager.bx-default-pager a.active,
.bx-wrapper .bx-pager.bx-default-pager a:focus {
  background: #72af47;
}