@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&family=Poppins:wght@400;500&display=swap');




h3,h2{
   letter-spacing: 0.06em;

}

/*　グローバルメニュー　*/
.glmenu{
　display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  text-align: center;
  width: 100%;
  margin-bottom:60px;
  padding: 0 20px;
}

.glmenu li{
	list-style: none;
	margin-bottom:10px;}

.glmenu li a:hover {
	opacity: 0.7;
}


@media only screen and (max-width: 768px) {
.glmenu{
  margin-bottom:30px;
	
	}
	
.glmenu li{ 
	flex-basis: 30%; 

	}
.glmenu li img{
	width: 100%;
	height: 100%;
	max-width: 166px;
	
}

}
	




/*　ハンバーガーボタン　*/
.hamburger {
  display : block;
  position: fixed;
  z-index : 3;
  right : 10px;
  top   : 9px;
  width : 42px;
  height: 42px;
  cursor: pointer;
  text-align: center;
  background: #333;
}
.hamburger span {
  display : block;
  position: absolute;
  width   : 30px;
  height  : 2px ;
  left    : 6px;
  background : #D7D7D7;
  -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: 8px;
}
.hamburger span:nth-child(2) {
  top: 16px;
}

.hamburger .menu{
  top: 24px;
  font-size: 10px;
  line-height: normal;
  color: #FFF;
}

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

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

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

nav.globalMenuSp ul {
  background: #7EA982;
  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: #fff;
  padding: 1em 0;
  text-decoration :none;
}

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

.header{
	background-color: #0C8319;
	text-align: center;
	padding:36px 0 32px 0;


}


@media only screen and (max-width: 768px) {
.header{
	padding:24px 0 18px 0;
}

}

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

@media only screen and (max-width: 420px) {
.pc { display: none !important; }
.sp { display: block !important; }
}

.row{
	font-family: 'Noto Sans JP', sans-serif;
	letter-spacing: 0.05em;
	line-height: 1.8em;
}

.mainimage{
	padding:80px 0 60px 0;
}

@media only screen and (max-width: 768px) {
.mainimage{
	padding:20px 0 22px 0;
}
	
}


.txt_honbun{
	text-align: justify; /* 両端揃え */
   text-justify: inter-ideograph; /* 両端揃えの種類 */
   letter-spacing: 0.1em;
   line-height: 1.8;
　　font-size: 15px;
}

.txt_26{
	font-size:26px;
}

.txt_24{
	font-size:24px;
}

.txt_bold{
	font-weight: 700;
}

.txt_red{
	background-color: crimson;
	color:#fff;
	padding:0 5px;
	line-height: 2.6rem;
}

.txt_red02{
	color:crimson;
	font-weight: 600;
}


.header_title_sp {
	padding:0 20px;
	
}

.header_title_sp img{
	max-width: 250px;
}

.yosimura_box{
  display: table;
  width: 100%;
  border: 1px solid #69A26F;
  padding:25px 30px 10px;
  border-radius: 10px;
  margin-bottom: 10px;
}

.yosimura_txt{	 
 display: table-cell;
  vertical-align: middle;

}


.ketui_box{
	background: #F9FD68;
	padding:48px 0 28px;
}

.ketui_box h3{
	font-size:2.2rem;
	font-weight: 600;
	color: #0C8319;
	margin-bottom:20px;
	padding:0;
line-height: 1.0em
	
}

.ketui_bt {
  display: inline-block;
  padding: 0.5em 2em;
  margin:10px 0 0;
  text-decoration: none;
  background: #0C8319;/*ボタン色*/
  color: #FFF;
  border-bottom: solid 4px #45714A;
  border-radius: 20px;
}
.ketui_bt:active {
  /*ボタンを押したとき*/
  -webkit-transform: translateY(4px);
  transform: translateY(4px);/*下に動く*/
  border-bottom: none;/*線を消す*/
}

.ketui_bt:hover{
	text-decoration: none;
	color: #E9F1D0;
	
}


@media (max-width: 768px) {
.ketui_box{
	padding:48px 15px 36px;
	margin-top:20px;
	
	}
	

.ketui_box h3{
	font-size:1.8rem;
	margin-top:15px;
	margin-bottom:15px;
}

}




.kaikaku_box{
	background-color: #FAFAED;
	padding-bottom:40px;
	
}

.kaikaku{
    padding:0 30px;
}

.kaikaku h2{
	font-size:2.2rem;
	color:#0C8319;
	font-weight: 600;
	margin:132px 0 36px;	
}

.kaikaku h3{
	font-size:1.8rem;
	font-weight: 600;
	margin:20px 0 16px;
	padding-top:16px;
	background:linear-gradient(transparent 70%, #F9FD68 0%);
	display: inline;
}

.kaikaku h4{
	margin-top:32px;
	
}

.kaikaku .txt_honbun{
	margin-top:15px;
	margin-bottom:15px;
}

.kaikaku .txt_bold{
	background-color:#FBDADA;

}


.kaikaku .txt_large01{
	font-size:1.2rem;
	font-weight: 700;
	color:#F1263A;
	margin-top:10px;
	margin-bottom:40px;
}

@media (min-width: 768px) {
.kaikaku_img .img-fluid{
	padding-top:60px;
	text-align: center;
	max-width: 400px;
}
}

@media (max-width: 768px) {

    .kaikaku h2{
	font-size:1.8rem;
	margin:102px 0 36px;	
	line-height: 1.5em;
	font-weight: 600;

}
	.kaikaku h3{
	font-size:1.5rem;
	line-height: 1.3em!important;
	font-weight: 600;
	margin:20px 0;
}

.kaikaku_img .img-fluid{
	padding-top:0;
	text-align: center;
}

	
}


.ouen{
	width: 100%;
	padding:40px 15px;
	font-size:1.6rem;
	background-color:#2B648D;
	text-align: center;
	color: #fff;
}

.ouen .row{
	margin:0 auto;
		width: 100%;

}

.ouen_bt {
font-size: 1.0rem;
 line-height: 1.2em;
  display: inline-block;
  padding: 1em 1em;
  margin:10px 0 0;
  text-decoration: none;
  background: #F9FD68;/*ボタン色*/
  color: #FFF;
  border-bottom: solid 4px #333;
  border-radius: 20px;
}
.ouen_bt:active {
  /*ボタンを押したとき*/
  -webkit-transform: translateY(4px);
  transform: translateY(4px);/*下に動く*/
  border-bottom: none;/*線を消す*/
}

.ouen_bt a{
	color: #333;
	text-decoration: none;
	
}


.line_yellow {
    background-color: #ff9;
 
}

.line_pink {
    background-color:#F8DBF8;
 
}


ol.ollist{
  counter-reset:list;
  list-style-type:none;
  padding: 10px 20px;
  background: #fff;
}
  
ol.ollist li{
  position:relative;
  margin: 7px 0 7px 32px;
  padding-left: 10px;
  padding-bottom:5px;
  border-bottom:1px solid #D2D6DA;

}
  
ol.ollist li:before{
  counter-increment: list;
  content: counter(list);
  position: absolute;
  line-height: 30px;
  left: -35px;
  width: 30px;
  height: 30px;
  background: #0C8319;
  text-align: center;
  color: #fff;
  top: 16px;
  -moz-transform: translateY(-50%);
  -webkit-transform: translateY(-50%);
  -o-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
}


/* スマホ用 */
@media screen and (max-width: 767px) {
	ol.ollist{
  padding: 10px 15px;

}

}

/* SNS */

.sns{
	padding:54px 0 54px;
	background-color :#ECECEC;
}
/* スマホ用 */
@media screen and (max-width: 767px) {
	.fb-container {
		width: 100%;
		margin-bottom:20px;

	}
}
 
/* PC用 */
@media screen and (min-width: 768px) {
	.fb-container {
		width: 500px;
		height:700px;
	}
}


/* footer */

footer{
	background-image:url("../images/bg_footer.jpg");
	background-size: cover;
	text-align: center;
	color:#FFF;
	padding:48px 0 40px;
}

footer .foot_bn{
	width:540px;
	margin:0 auto 32px auto;
	
}

@media screen and (max-width: 540px) {
	footer .foot_bn{
	width:100%;
	
}
}


footer .copy{
	font-size:14px;
	
}

/* トップへ戻る　*/
.scroll-top {
  position: fixed;
  right: 10px;
  bottom: 10px;
  z-index: 100;
  background-color: #0C8319;
  opacity: .5;
  width: 50px;
  height: 50px;
  border-radius: 50%;
  border: none;
  color: #fff;
}
.scroll-top:hover {
  cursor: pointer;
}



/*　----トップページ以外のページ ----*/

.page{
	background-color: #FAFAED;
	
}

.page_h1{
	width: 100%;
	background-color:#45B157;
	font-size:2.0rem;
	color:#fff;
	text-align: center;
	font-weight: 600;
	padding:72px 0;
	margin: 0;
	letter-spacing: 0.05em;
	box-shadow: 0 3px 6px rgba(0,0,0,0.2);	
}

.page_img img{
	width: 100%;
	height: 100%;
	margin-bottom:40px;
	
}

@media screen and (max-width: 768px) {
	
.page_h1{
	font-size:1.6rem;
	padding:36px 20px;
}
	
.page_img img{
	margin-bottom:15px;
}
}
/*　決意した理由ページ　*/

.ketui{
	line-height: 2.0em!important;
	padding:0 10px;
	
}

.ketui_innerbox{
	padding:15px 40px 20px;
	background-color: #fff;
	margin-bottom: 30px;
	border: 3px solid #EAE6D3;
	
}


.ketui h2{
	font-size:32px;	
	margin:20px 0 24px;
	font-weight: 600;
}


@media screen and (max-width: 768px) {
	
	
	.ketui_innerbox{
	padding:15px 20px 20px;
	margin-bottom: 10px;
	
}

	
	.ketui h2{
	font-size:24px;	
	margin:20px 0 16px;;
}
	
		.ketui .txt_honbun{
		font-size:14px;	
		font-weight: normal;
	
}
}

/*　プロフィール　*/


.profile_box{
	background: #FFF;
	padding:40px 40px 30px 40px;
	margin:0 0 40px 0;
}

.profile ul{
	padding:0;
	
}

.profile li{
	margin-bottom:1em;
	line-height:1.6;
	padding-left:1.5em;
	list-style: none;
}


.profile li:before {
content: "◆";
color:#45B157;
display:inline-block;
width:1.5em;
margin-left:-1.5em;
}

.profile_box h2{
	font-size:2.2rem;
	font-weight: 600;
	padding:10px 0 20px 0;
	color:#0C8319;
}

.profile_box h3{
	font-size:1.6rem;
    font-weight: 600;
	margin-bottom:16px;
	
}


@media (max-width: 768px) {
.profile{
	padding:0 15px;

}	
.profile_box{
	padding:20px 20px;
	margin:0 0 15px 0;}
	
.profile_box h2{
	font-size:1.6rem;
	margin-top:30px;
	padding:0 0 20px 0;
}
	
.profile_box h3{
	font-size:1.2rem;	
}
	}

/*　ボランティアのお願い　*/

.bora{
	padding:0 15px;
	
}



.bora_txt{
  margin: 40px auto 0 auto;
  max-width: 750px;

}

@media screen and (max-width: 480px) {
.bora_txt{
	  width: 100%;
	  margin:30px 15px 0px 15px;
}

	
}


.Form {
  margin: 20px auto 40px auto;
  max-width: 750px;
  background-color:#E3E4D4;
  padding:10px 30px 20px 30px;
  border-radius: 10px;
}

@media screen and (max-width: 768px) {
  .Form {
    margin: 20px auto 30px auto;
	padding:0 10px 20px 10px;
	width: 100%;
	font-size:14px;
  }
}

.Form-Item {
  padding-top: 18px;
  padding-bottom: 18px;
  width: 100%;
  display: flex;
  align-items: center;
}
@media screen and (max-width: 768px) {
  .Form-Item {
    padding-left: 8px;
    padding-right: 8px;
    padding-top: 16px;
    padding-bottom: 8px;
    flex-wrap: wrap;
  }
}

.Form-Item-Label {
  width: 100%;
  max-width: 230px;
  letter-spacing: 0.05em;
  font-weight: bold;
  font-size: 15px;
}
@media screen and (max-width: 768px) {
  .Form-Item-Label {
    max-width: inherit;
    display: flex;
    align-items: center;
    font-size: 15px;
  }
}
.Form-Item-Label.isMsg {
  margin-top: 8px;
  margin-bottom: auto;
}
@media screen and (max-width: 768px) {
  .Form-Item-Label.isMsg {
    margin-top: 0;
  }
}
.Form-Item-Label-Required {
  border-radius: 3px;
  margin-right: 8px;
  padding:4px 6px 6px 6px;
  width: 34px;
  text-align: center;
  background: #0C8319;
  color: #fff;
  font-size: 12px;
}
@media screen and (max-width: 768px) {
  .Form-Item-Label-Required {
    border-radius: 3px;
    padding-top: 0px;
    padding-bottom: 0px;
    width: 38px;
    font-size: 10px;
  }
}
.Form-Item-Input {
  border: 1px solid #ddd;
  border-radius: 6px;
  padding-left: 1em;
  padding-right: 1em;
  height: 48px;
  flex: 1;
  width: 100%;
  max-width: 380px;
  background: #FFFDFD;
  font-size: 18px;
}

.checkbox{
  padding-left: 1em;
}


.checkbox label{
  padding: 0;
	
}

@media screen and (max-width: 768px) {
.checkbox{
  padding-left: 0;
}	
}

.ECM_CheckboxInput {
  padding: 8px 6px;
  margin-right: 10px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.ECM_CheckboxInput-Input {
  margin: 0;
  width: 0;
  opacity: 0;
}

.ECM_CheckboxInput:hover{
  background: rgba(0,0,0,.05) !important;
}

.ECM_CheckboxInput-Input:focus + .ECM_CheckboxInput-DummyInput{
  border: dashed 2px #333333;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput {
  background: #333333;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::before {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 40%;
  height: 4px;
  border-radius: 2px;
  transform: translate(-6px, 5px) rotateZ(-135deg);
  transform-origin: 2px 2px;
  background: #FFFFFF;
}
.ECM_CheckboxInput-Input:checked + .ECM_CheckboxInput-DummyInput::after {
  content: "";
  display: block;
  position: absolute;
  top: 50%;
  left: 50%;
  width: 76%;
  height: 4px;
  border-radius: 2px;
  transform: translate(-6px, 5px) rotateZ(-45deg);
  transform-origin: 2px 2px;
  background: #FFFFFF;
}
.ECM_CheckboxInput-DummyInput {
  position: relative;
  top: 0;
  left: 0;
  width: 22px;
  height: 22px;
  line-height: inherit;
  margin-right: 10px;
  vertical-align: middle;
  border: solid 2px transparent;
  background: rgba(0,0,0, .1);
  border-radius: 4px;
}
.ECM_CheckboxInput-LabelText {
  margin-left: 12px;
  display: block;
  font-size: 18px;
  font-weight: bold;
}



@media screen and (max-width: 768px) {
  .Form-Item-Input {
    margin-left: 0;
    margin-top: 0;
    height: 40px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Item-Textarea {
  border: 1px solid #ddd;
  border-radius: 3px;
  margin-left: 40px;
  padding-left: 1em;
  padding-right: 1em;
  height: 216px;
  flex: 1;
  width: 100%;
  max-width: 410px;
  background: #FFFDFD;
  font-size: 18px;
}
@media screen and (max-width: 768px) {
  .Form-Item-Textarea {
    margin-top: 18px;
    margin-left: 0;
    height: 200px;
    flex: inherit;
    font-size: 15px;
  }
}
.Form-Btn {
  border-radius: 3px;
  margin-top: 32px;
  margin-left: auto;
  margin-right: auto;
  padding-top: 20px;
  padding-bottom: 20px;
  width: 280px;
  display: block;
  letter-spacing: 0.05em;
  background: #0C8319;
  color: #fff;
  font-weight: bold;
  font-size: 20px;
}
@media screen and (max-width: 768px) {
  .Form-Btn {
    margin-top: 24px;
    padding-top: 8px;
    padding-bottom: 8px;
    width: 160px;
    font-size: 15px;
  }
}
