@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;
}
section{
	text-align:center;
}

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

body{
  color: #000;
  line-height: 1.5;
  font-size: 20px;
  font-family:"ＭＳ ゴシック", "MS Gothic", "Osaka－等幅", Osaka-mono, monospace;
}
@media screen and (max-width: 900px) {
body{
  font-size: 18px;
}
}
@media screen and (max-width: 600px) {
body{
  font-size: 16px;
}
}
@media screen and (max-width: 480px) {
body{
  font-size: 15px;
}
}
main{
	margin-top: 120px;
}


img{
  border: 0;
  max-width: 100%;
  height: auto;
	transition: 0.5s;
}

dt,dd{
	text-align:left;
}
ul,ol{
  list-style-type: none;
}

table {
  border-collapse: collapse; 
  border-spacing: 0;
}

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

a {
  color: #111;
  transition: 0.5s;
  text-decoration:none;
}
a:hover {
  color: #333;
}

p{
	line-height:2;
	transition: 0.5s;
	text-align: left;
}

ol {
	counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin: 0;
}
ol li{
    list-style-type: none;
    position: relative;
    padding-left: 0.9em;
	line-height: 1.5;
	padding-bottom:5px;
	text-align:left;
}
ol li:before {
    border-radius: 50%;
    width: 8px;
    height: 8px;
    display: block;
    position: absolute;
    left: 0;
    top: 0.6em;
    content: "";
    background: #e95283;
}

ol.number {
  counter-reset: my-counter;
  list-style: none;
  padding: 0;
  margin: 0;
}
ol.number li {
  line-height: 1.5;
  padding-left: 35px;
	padding-bottom: 5px;
  position: relative;
	text-align:left;
}
ol.number li:before {
  content: counter(my-counter);
  counter-increment: my-counter;
  background-color: #e95283;
  border: 1px solid;
  border-radius: 50%;
  box-sizing: border-box;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 28px;
  width: 28px;
  color: #ffffff;
  font-size: 85%;
  line-height: 1;
  position: absolute;
  top: 0;
  left: 0;
  font-family: 'Kosugi Maru', sans-serif;
}


@media screen and (max-width: 480px) {
main{
	margin-top: 70px;
}
}


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


.inner{
	margin: 1rem auto;
	overflow:hidden;
	max-width:1200px;
}

.inner:after {
	  content: "";
	  clear: both;
	  display: block;
}
@media screen and (max-width:1700px) {
.inner{
	margin: 0 15%;
}
}
@media screen and (max-width:1350px) {
.inner{
	  margin: 0 17% 0 5%;
}
}

@media screen and (max-width:880px) {
.inner{
	margin: 0 5% 0 5%;
}
}
@media screen and (max-width:600px) {
.inner{
	margin: 0 5%;
}
}
@media screen and (max-width:600px) {
.inner{
	margin: 0 3%;
}
}

#top_contents{
	background: url(../img/top_bg_left.png) no-repeat,url(../img/top_bg_right.png) no-repeat;
	background-size: 15%,15%;
	background-position: left top ,right 0 top 300px;
	padding-top: 3rem;
}
@media screen and (max-width:900px) {
#top_contents{
		background-size: 25%,25%;
}
}
@media screen and (max-width:600px) {
#top_contents{
		background-size: 35%,35%;
	padding-top:1.5rem;
}
}


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

/*header
--------------------*/

h1{
	left:50px;
	top: 13px;
	position:
	absolute;
	width: 260px;
	transition: 0.5s;
}

h2{
	letter-spacing: 1px;
	font-size:180%;
	margin: 2.5rem auto;
	font-family: 'Kosugi Maru', sans-serif;
	background: linear-gradient(transparent 60%, #fbf592 60%);
	display: inline-block;
	padding: 0 1%;
}
h3{
	font-size: 150%;
	letter-spacing: 1px;
	font-family: 'Kosugi Maru', sans-serif;
}
h3 img{
	margin-right:15px;
}
h4{
	font-size: 120%;
	text-align:left;
	font-family: 'Kosugi Maru', sans-serif;
	transition: 0.5s;
	padding-bottom:1rem;
	line-height: 1.8;
}
.green{
	color:#fff;
	position: relative;
	padding: 0.3rem 10% 0.3rem 5%;
	background: #4ea834;
	text-align: center;
	font-weight: 600;
}
.green:after {
  position: absolute;
  bottom: -15px;
  left:49%;
  width: 0;
  height: 0;
  content: '';
  border-width: 15px 15px 0 15px;
  border-style: solid;
  border-color: #4ea834 transparent transparent transparent;
}
.blue{
	color:#fff;
	position: relative;
	padding: 0.3rem 10% 0.3rem 5%;
	background: #6ec6e6;
	text-align: center;
}
.blue:after {
  position: absolute;
  bottom: -15px;
  left: 49%;
  width: 0;
  height: 0;
  content: '';
  border-width: 15px 15px 0 15px;
  border-style: solid;
  border-color: #6ec6e6 transparent transparent transparent;
}

.h3orange{
	color:#fff;
	position: relative;
	padding: 1rem 10%;
	background: #fbbf00;
	text-align: center;
	font-weight: 600;
}
.h3orange:after {
  position: absolute;
  bottom: -15px;
  left:49%;
  width: 0;
  height: 0;
  content: '';
  border-width: 15px 15px 0 15px;
  border-style: solid;
  border-color: #fbbf00 transparent transparent transparent;
}
@media screen and (max-width:1350px) {
.h3orange{
	  padding: 1rem 17% 1rem 5%;
}
.h3orange:after {
  left: 42.5%;
}
}

@media screen and (max-width:880px) {
.h3orange{
	padding: 1rem 5%;
}
.h3orange:after {
  left: 48%;
}
}
@media screen and (max-width:600px) {
.h3orange{
	padding:1rem 5%;
}
}
@media screen and (max-width:480px) {
.blue,.green{
	min-height:43px;
	padding: 0.6rem 3% 0 0;
}
.green:after,.blue:after{
  left:46%;
}
}


.orange{
	background:#fbbf00;
}
.pink{
	background:#e95283;
}

.ribbon{
  display: inline-block;
  position: relative;
  height: 50px;/*リボンの高さ*/
  line-height: 50px;/*リボンの高さ*/
  text-align: center;
  padding: 0 30px 0 35px;/*横の大きさ*/
  font-size: 100%;/*文字の大きさ*/
	letter-spacing:0.2em;
  color: #FFF;/*文字色*/
  box-sizing: border-box;
	margin:0;
}

.ribbon:before, .ribbon:after {
  position: absolute;
  content: '';
  width: 0px;
  height: 0px;
  z-index: 1;
}

.ribbon:before {
  top: 0;
  left: 0;
  border-width: 25px 0px 25px 15px;
  border-color: transparent transparent transparent #fff;
  border-style: solid;
}

.ribbon:after {
  top: 0;
  right: 0;
  border-width: 25px 15px 25px 0px;
  border-color: transparent #fff transparent transparent;
  border-style: solid;
}

@media screen and (max-width: 1200px) {
h1{
	left: 15px;
}
h2{
	font-size:160%;
	margin: 1.5rem auto;
}
h3{
	font-size: 130%;
}
h4{
	font-size: 110%;
}
}

@media screen and (max-width: 900px) {
h1 img{
	width: 220px;
	margin-top:10px;
}
}

@media screen and (max-width: 600px) {
h3 img{
	width:43px;
}
.target h3 img{
	width:83px;
}
}
@media screen and (max-width: 480px) {

h3 img{
	width:33px;
	margin-right: 5px;
}
.target h3 img{
	width:63px;
}
.ribbon{
  font-size: 110%;/*文字の大きさ*/
    height: 40px;
    line-height: 40px;
	padding: 0 20px 0 20px;
}
.ribbon:before {
  border-width: 20px 0px 25px 10px;
}
.ribbon:after {
  border-width: 20px 15px 20px 0px;
}
.logo_origin .ribbon:after {
  border-color: transparent #ebeccb transparent transparent;
}
}


/*
=========================================
  header
=========================================
*/
  
#top-head {
	top: -80px;
	position: absolute;
	width: 100%;
	margin: 80px auto 0;
	padding: 0;
	line-height: 1;
	/* background-color: #000; */
}
#top-head {
	  text-decoration: none;
	  background-color: rgba(255,255,255, 0.9);

}
#global-nav{
	  float: right;
	  height:80px;
	  top:0;
	  left:0;
} 
.tel{
	float:right;
	margin:16px 0 0 0;
	border:2px solid #4ea834;
	border-radius:5px;
	background: #4ea834;
	transition: 0.5s;
}
.tel img{
	margin:15px;
}
.tel span{
	background:#fff;
	padding: 5px 10px;
	float:right;
	display:block;
	font-size:85%;
	border-radius:0 3px 3px 0 ;
}
.tel strong{
	color:#ea5d8b;
	font-size:190%;
	font-weight:bold;
	padding-bottom:5px;
	display:block;
	font-family: 'Kosugi Maru', sans-serif;
}

.mail{
	float:right;
	margin:16px 50px 18px 15px;
	transition: 0.5s;
}
.mail a{
	color:#fff;
	padding: 23px 18px;
	line-height:0.5;
	background: #4ea834;
	border-radius:5px;
	display: block;
}
.mail a i{
	margin-right:5px;
}
.mail img{
	max-width: 30px;
}
.mail span{
	padding:0 0 0 40px;
	font-size:14px;
}
.tel:hover,
.mail:hover{
      text-decoration: none;
      opacity: 0.7;
}


#global-nav ul {
	  list-style: none;
	  overflow:hidden;
}
  #global-nav ul li {
	  float: left;
	  margin-top: 30px;
	  margin-left: 10px;
	 }

@media screen and (max-width: 1200px) { 
.mail{
	margin:16px 30px 16px 16px;
}
}
@media screen and (max-width: 900px) { 
.mail{
	margin:16px 100px 16px 16px;
}
.tel span{
	padding: 7px 10px;
}
}
@media screen and (max-width: 650px) { 
.tel span{
	display:none;
}
}
@media screen and (max-width: 480px) { 
.tel{
	margin:13px 0 0 0;
}
.tel img{
	margin:9px;
	width:20px;
}
.mail{
	margin:13px 60px 13px 5px;
}
.mail img{
	width:20px;
}
.mail a{
	padding: 13.5px 11px;
}
}




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

.globalMenuSp{
	width: 11%;
	position:
	fixed;
	top: 150px;
	right:0;
	margin-right: 1%;
	z-index:10;
}
@media screen and (max-width:1350px) {
.globalMenuSp{
	width: 11%;
	margin-right:2%;
}
}
.globalMenuSp li{
	padding:10px 0;
	font-family: 'Kosugi Maru', sans-serif;
}

.globalMenuSp ul li a{
	  padding: 0 5px;
	  font-size: 90%;
	  display:
	  block;
	  position: relative;
	  display: inline-block;
	  text-decoration: none;
}

.globalMenuSp ul li a::after {
  position: absolute;
  bottom: -4px;
  left: 0;
  content: '';
  width: 100%;
  height: 2px;
  background: #333;
  transform: scale(0, 1);
  transform-origin: left top;
  transition: transform .3s;
}
.globalMenuSp ul li a:hover::after {
  transform: scale(1, 1);
}




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

.globalMenuSp ul li a::after {
	display:none;
}

/*　ハンバーガーボタン　*/
.hamburger{
	background:#4ea834;
	cursor: pointer;
	border-radius: 5px;
  display : block;
  position: fixed;
  z-index: 100;
  right : 15px;
  top   : 16px;
  width : 68px;
  height: 68px;
  text-align: center;
}

.hamburger span:nth-of-type(3)::after {
	content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
	position: absolute;
	top:8px;
	left:5px;
	color: #fff;
	font-size: 0.9rem;
	text-transform: uppercase;
}
.hamburger.active span:nth-of-type(3)::after {
	content:"Close";/*3つ目の要素のafterにClose表示を指定*/
    transform: translateY(0) rotate(-45deg);
	top:10px;
	left:24px;
}

.hamburger span {
  display : block;
  position: absolute;
  width   : 42px;
  height  : 3px ;
  left    : 13px;
  background : #fff;
  -webkit-transition: 0.3s ease-in-out;
  -moz-transition   : 0.3s ease-in-out;
  transition        : 0.3s ease-in-out;
}
.hamburger span:nth-child(1) {
  top: 10px;
}
.hamburger span:nth-child(2) {
  top: 22px;
}
.hamburger span:nth-child(3) {
  top: 34px;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
	top:25px;
	left:12px;
  -webkit-transform: rotate(-45deg);
  -moz-transform   : rotate(-45deg);
  transform        : rotate(-45deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 25px;
  -webkit-transform: rotate(45deg);
  -moz-transform   : rotate(45deg);
  transform        : rotate(45deg);
}

nav.globalMenuSp {
  position: fixed;
  z-index : 20;
  top  : 100px;
  left : 0;
  color: #000;
  background: #fff;
  text-align: center;
  transform: translateX(100%);
  transition: all 0.6s;
  width: 100%;
}

nav.globalMenuSp ul {
  background: #ccc;
  margin: 0 auto;
  padding: 0;
  width: 100%;
}

nav.globalMenuSp ul li {
  list-style-type: none;
  padding: 0;
  width: 100%;
  border-bottom: 1px solid #fff;
}
nav.globalMenuSp ul li:last-child {
  padding-bottom: 0;
  border-bottom: none;
}
nav.globalMenuSp ul li:hover{
  background :#ddd;
}

nav.globalMenuSp ul li a {
  display: block;
  color: #000;
  padding: 1em 0;
  text-decoration :none;
}

/* このクラスを、jQueryで付与・削除する */
nav.globalMenuSp.active {
  transform: translateX(0%);
}
}	 


@media screen and (max-width: 480px) {
/*　ハンバーガーボタン　*/
.hamburger{
	top:13px;
  width : 40px;
  height: 42px;
}
.hamburger span:nth-of-type(3)::after {
	top:3px;
	left:-2px;
	font-size: 0.7rem;
}
.hamburger.active span:nth-of-type(3)::after {
	top:4px;
	left:7px;
}
.hamburger span {
  width   : 20px;
  height  : 2px;
  left    : 10px;
}
.hamburger span:nth-child(1) {
  top: 8px;
}
.hamburger span:nth-child(2) {
  top: 15px;
}
.hamburger span:nth-child(3) {
  top: 22px;
}
/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
	top:15px;
	left:10px;
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 15px;
}
nav.globalMenuSp {
  top  : 70px;
}
}	  



  
/*---------------------------------------
  共通
---------------------------------------*/
.waku{
	border: 2px solid #e4e4e4;
	padding:2rem 8%;
	overflow:hidden;
	background:#fff;
	text-align: center;
	margin-bottom: 4rem;
}
.waku2,.waku6{
	overflow:hidden;
	background:#fcf9df;
	text-align: center;
	margin-bottom: 5rem;
}
.waku2{
	padding: 3rem 8%;
}
.waku6{
	padding: 3rem 0;
}
.bg_flower{
	background:	url(../img/bg_flower.jpg) no-repeat right top #fff ;
}
.waku3{
	margin-bottom:4rem;
}
.waku4{
	padding: 3rem 8%;
	overflow:hidden;
	background:#ebf4f7;
	text-align: center;
	margin-bottom:4rem;
}

.waku4 a{
	display:block;
	background:#4ea834;
	color:#fff;
	width:96%;
	margin:1%;
	float:left;
	padding:1%;
	border-radius:10px;
	box-shadow: 3px 3px 3px 3px rgba(180,200,210,1) ;
}
.waku4 a:hover{
	background:#1f8900;
}


@media screen and (max-width: 900px) { 
.waku,.waku2,.waku4{
	padding:2rem 5%;
}
.waku6{
	padding:2rem 0 0 0;
}
.bg_flower{
	background-size:60%;
}
}
@media screen and (max-width: 600px) { 
.waku,.waku2,.waku3,.waku4{
	margin-bottom: 2rem;
}
}
@media screen and (max-width: 480px) { 
.waku,.waku2,.waku4{
	margin-bottom: 1.5rem;
	padding: 1.5rem 5% 1rem 5%;
}
.waku3{
	margin-bottom: 1rem;
}
.waku6{
	margin-bottom:3rem;
}
}



/*
=========================================
  footer
=========================================
*/

#footer{
	border-top:1px solid #e4e4e4;
	text-align:center;
	padding:3rem;
	margin-top:5rem;
}

#footer .copyright{
	font-size:90%;
	color:#888;
	text-align:center;
}



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


}
@media screen and (max-width: 600px) {
#footer{
	padding:1.2rem 5%;
	margin-top:2rem;
}
#footer .copyright{
	text-align:left;
}

}


#global-nav ul li a {
	  padding: 10px 10px;

}
#global-nav ul li a:hover {
	  color: #ba8528;	
}
  
  #global-nav .btn a{
	  padding: 18px 25px;
	  margin-top: 20px;
	  letter-spacing:0.2rem;
	  color: #fff;
	  background:#ba8528;
	  position: relative;
  }
  #global-nav .btn a:hover {
	  color: #fff;
	  background:#b25c07;
  }

  

  /* Fixed */
 #top-head.fixed {
  	z-index:10;
  	margin-top: 0;
  	top: 0;
  	position: fixed;
  	height: 100px;
  	transition: top 0.65s ease-in;
  	box-shadow: 0 2px 4px rgba(0,0,0,0.2);
  	-webkit-transition: top 0.65s ease-in;
  	-moz-transition: top 0.65s ease-in;
  }

@media screen and (max-width: 480px) {
 #top-head.fixed {
  	height: 70px;
  }	
}


  #top-head.fixed .btn a {
  	padding:10px 15px;
	 }
  #top-head.fixed .btn a:hover{
	  color: #fff;　
	  background:#b25c07 !important;
  }
  #top-head.fixed .btn a:after{
	  display:none;
  }
   
  /* Toggle Button */
  #nav-toggle {
	  display: none;
	  position: absolute;
	  right: 12px;
	  top: 14px;
	  width: 34px;
	  height: 36px;
	  cursor: pointer;
	  z-index: 101;
  }
  #nav-toggle div {
	  position: relative;
  }
  .open #nav-toggle span {
	  background: #fff;
  }
  #nav-toggle div:after{
  content: "MENU";
  position: absolute;
  top: 35px;
  font-size:12px;
  color: #3f9543;
}
  #nav-toggle span {
	  display: block;
	  position: absolute;
	  height: 4px;
	  width: 100%;
	  background: #3f9543;
	  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: 11px;
  }
  #nav-toggle span:nth-child(3) {
	  top: 22px;
  }
  
 @media screen and (max-width: 1000px) {
  #global-nav ul li {
	  margin-right:0;
	 }  
  }

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

  #global-nav .btn a {
	  filter:none;
	  color:#fff;
  }

  #global-nav ul li {
	  margin-top:0;
	  margin-right:0;
	  padding:10px;
	 }
	  
	  #top-head{
	  	width:100%;
	  	padding-top:0;
		z-index:25;
	  }

	  #top-head {
		  top: 0;
		  position: fixed;
		  margin-top: 0;
		  background:#fff;
		 }
	  /* Fixed reset */
	  #top-head.fixed {
		  padding-top: 0;
		  background:#fff;
		 }
	  /*#mobile-head {
		  width: 100%;
		  height: 76px;
		  z-index: 1;
		 }   */
	  
	  #global-nav {
		  position: absolute;
		  /* 開いてないときは画面外に配置 */
		  top: -557px;
		  background: #3f9543;
		  width: 100%;
		  text-align: center;
		  padding: 10px 0;
		  -webkit-transition: .5s ease-in-out;
		  -moz-transition: .5s ease-in-out;
		  transition: .5s ease-in-out;
		  height:400px;
		 }
	  #global-nav ul {
		  list-style: none;
		  position: static;
		  right: 0;
		  bottom: 0;
	  }
	  #global-nav ul li {
		  float: none;
		  position: static;
		  font-size:16px;
	  }
#top-head.fixed ul li {
    margin-top: 0;
}

	  
	  #top-head #global-nav ul li a,
	  #top-head.fixed #global-nav ul li a {
		  width: 100%;
		  display: block;
		  color: #fff;
		  padding: 15px 0;
		  background:none;
		 }
		#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);
	  }
	  
}
  
@media screen and (max-width: 480px) {
	  #top-head .logo {
	  	top: 0;
	  	width: 170px;
	  }

}





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

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

#pageTop a {
      display: block;
      z-index: 999;
      padding-top: 12px;
      width: 70px;
      height: 58px;
      border-radius: 50%;
      background-color: #f0d794;
      color: #fff;
      font-weight: bold;
      text-decoration: none;
      text-align: center;
}

#pageTop a:hover {
      text-decoration: none;
      opacity: 0.7;
}


  .pc{
	  display:block;
  }
  .sp{
	  display:none;
  }

@media screen and (max-width: 600px) {
#pageTop {
      bottom: 8px;
      right: 8px;
}
#pageTop a {
      width: 50px;
      padding-top: 8px;
      height: 42px;
}




  .pc{
	  display:none;
  }
  .sp{
	  display:block;
  }

}


.anc{
	margin-top:-100px;
	padding-top:100px;
}
	