@charset "utf-8";

/* 共通　*/
html {
  font-size: 62.5%;
}
a {
  text-decoration: none;
}
body {
  margin: 0;
  font-family: "Zen Maru Gothic", "Shuei MaruGo L", "YuGothic", "游ゴシック",
    "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic ProN", sans-serif;
  color: #626262;
}
.container {
  width: 106.4rem;
  margin: 0 auto;
}
.container_w {
  width: 120rem;
  margin: 0 auto;
}

/* メイン　の柄　*/
.gara1{
  right: -13%;
  position: absolute;
  top:8%;
}

.gara2{
  position: absolute;
  left: -10%;
}

.gara3{
  position: absolute;
  right: -13%;
  top:3%;
  z-index: 20;
}

.gara4{
  position: absolute;
  left: -10%;
  z-index: 10;
}
.gara5 {
  position: absolute;
  left: -10%;
}
.gara6{
 right: -10%;
 position: absolute;
}
@media screen and (max-width: 1100px) {
  .container {
    width: 95vw;
  }
  .container_w {
    width: 95vw;
  }
}


@media screen and (max-width: 785px) {
  .container {
    width: 100%;
    box-sizing: border-box;
    padding: 0 10%;
    margin: 0;
  }
  .container_w {
    width: 100%;
    box-sizing: border-box;
    padding: 0 10%;
    margin: 0;
  }
}

/* ヘッダー */
header {
  margin: 0;
  padding: 0;
  height: 11.5rem;
  position: fixed;
  z-index: 100;
  background-color: white;
  width:100vw;
  display: flex;
  align-items: center;
}

header .mobile {
  display: none;
}
header .container {
  width: 100%;
  padding: 1rem 2rem;
  max-width: 1400px;
  display: flex;
  align-items: center;
}

.header_logo img {
  width: 300px;
}



@media screen and (max-width: 785px) {
  header {
    height: 5.5rem;
  }
  header .pc img {
    height: auto;
  }
  header .container {
    padding: 0 1rem;
  }
}


/*グローバルナビ*/
header .navi {
  flex: 1;
}
header .navi ul {
  display: flex;
  list-style: none;
  margin: 0 2rem;
  padding: 0;
  justify-content: space-evenly;
}
header .navi .navi-list li a {
  text-decoration: none;
  display: block;
  font-size: 1.4rem;
  color: #626262;
  font-weight: 600;
  text-align: center;
  padding: 3rem 0;
  display: flex;
  flex-direction: column;
}


header .navi .navi-list li a img {
 visibility: hidden;
 opacity: 0;
 display: inline-block;
 margin: 1rem auto;
 transition: 0.5s;
}

header .header_contact_mobile {
  display: none;
}
header .navi .header_contact_mobile  {
  width: 80%;
  text-align: center;
  margin-top: 10%;
}
header .navi .header_contact_mobile .contact_mobile {
  background-color: #f0f3b3;
  padding: 1rem 0;
  border-radius: 1rem;
  color: #626262;
  margin-top: 10%;
}
header .navi .header_contact_mobile .contact_mobile img {
  height: 7rem;
  margin-right: 2rem;
}
header .navi .header_contact_mobile a {
  font-size: 2rem;
  font-weight: 600;
  color:#094;
  letter-spacing: 0.3rem;
}
header .navi .header_contact_mobile .contact_mobile .contact_mobile_detail {
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem 0;
}
header .navi .header_contact_mobile .contact_mobile .contact_mobile_detail span {
  font-size: 1.6rem;
  font-weight: 600;
}
header .navi .header_contact_mobile .contact_mobile a {
  display: block;
  color: #626262;
}
@media screen and (min-width: 1200px) {
  header .navi .navi-list li a {
    font-size: 1.6rem;
  }
}
@media screen and (max-width: 785px) {
    header .navi ul {
    flex-direction: column;
    justify-content: flex-start;
    margin: 0;
  }
  header .container {
    display: flex;
    align-items: start;
  }
  header .container .navi .navi-list li a {
    margin: 0;
    padding: 2rem 1rem;
    display: flex;
    flex-direction: row-reverse;
    align-items: center;
    font-size: 1.4rem;
  }
  header .navi .navi-list li {
    border-bottom: 1px dashed #626262;
    width: 80%;
  }
  header .navi .navi-list li a img {
    margin: 0 0 0 auto;
    opacity: 1;
    visibility: visible;
  }
  header .navi {
    top:-300%;
    position: fixed;
    z-index: 999;
    width: 100%;
    padding: 10% ;
    transition: 0.5s;
    background-image: url("../images/page_name_back.jpg");
    background-repeat: repeat;
  }
  header .header_contact_mobile {
    display: block;
  }
}

@media screen and (max-width: 1100px) {
  header .container .header_logo{
    width: 20rem;
    background-color: none;
  }
  header .container .header_logo .pc img{
    width: 18rem;
  }
  .header_contact img{
    width: 70%;
  }
  .header_contact .header_contact_method span {
    font-size: 2rem;
  }
  header .navi ul {
    margin: 0.5rem;
  }
}

@media screen and (max-width: 849px) {
  .container .navi .navi-list li a {
    font-size:1.2rem ;
  }
}

/*ヘッダーアイコン*/
header .container #news .navi-list #gn-news img,
header .container #childrens_cafeteria .navi-list #gn-childrens_cafeteria img,
header .container #study_support .navi-list #gn-study_support img,
header .container #outdoor .navi-list #gn-outdoor img,
header .container #consultation_support .navi-list #gn-consultation_support img,
header .container #food_bank .navi-list #gn-food_bank img,
header .container #sponsor .navi-list #gn-sponsor img {
  visibility: visible;
  opacity: 1;
}
header .container .navi .navi-list li a:hover img {
  visibility: visible;
  opacity: 1;
}

/* ヘッダーの右側　コンタクト */
.header_contact {
  display: flex;
  /* font-size: 1.1rem; */
  font-size: 13px;
  color: #094;
  align-items: center;
}
.header_contact_method {
  margin-left: 0.5rem;
  line-height: 2rem;
}
.header_contact span {
  display: flex;
  /* font-size: 2.8rem; */
  font-size: 20px;
  font-weight: 600;
  letter-spacing: 0.5rem;
}
.header_contact img {
  width: 30px;
}

.header_contact .hamburger {
  display: none;
}
@media screen and (max-width: 785px) {
  .header_contact .tel_icon,
  .header_contact .header_contact_method {
    display: none;
  }
  .header_contact .hamburger {
    display: block;
    margin-top: 1rem;
  }
}
  .container .support_button {
    right: 1.5rem;
    opacity: 0.8;
  }
  .support_button img {
    width: 100px;
  }

/* ハンバーガー　ここから */
.container .panelactive {
  top: 0;
}
@media screen and (max-width: 785px) {
  header .container .panelactive  {
    height: 100vh;
    overflow: auto;
    -webkit-overflow-scrolling: touch;
  }
}
.openbtn{
position:fixed;
  z-index: 9999;
  top: 0.3rem;
  right: 1rem;
  cursor: pointer;
  width: 5rem;
  height:5rem;
  background-color: #f0f3b3;
  border-radius: 5rem;
}

.openbtn span{
  display: inline-block;
  transition: all .4s;
  position: absolute;
  left: 14px;
  height: 3px;
  border-radius: 2px;
  background-color: #626262;
  width: 45%;
}
.openbtn span:nth-of-type(1) {
top:15px;
}
.openbtn span:nth-of-type(2) {
top:23px;
}
.openbtn span:nth-of-type(3) {
top:31px;
}
.openbtn.active span:nth-of-type(1) {
  top: 18px;
  left: 18px;
  transform: translateY(6px) rotate(-45deg);
  width: 30%;
}
.openbtn.active span:nth-of-type(2) {
opacity: 0;
}
.openbtn.active span:nth-of-type(3){
  top: 30px;
  left: 18px;
  transform: translateY(-6px) rotate(45deg);
  width: 30%;
}
/* ハンバーガー　ここまで */

/*寄付アイコン*/
.support_button {
  position: fixed;
  top: 13rem;
  right: 3rem;
  z-index: 100;
}
.support_button img {
  transition: 0.5s;
}
.support_button img:hover {
  transform: scale(1.05);
  opacity: 0.9;
}
@media screen and (max-width: 785px) {
  .support_button {
    display: none;
  }
}


/* サブページ用　ページ名 */
.kara {
  padding-top: 11.5rem;
}
.contents_page_heading {
  background-image: url("../images/page_name_back.jpg");
  background-position: center;
  background-repeat: repeat-x;
  height: 20rem;
  text-align: center;
}
#cal_sns .container {
  padding: 18rem 0 0 0;
}
h1 {
  font-size: 4.8rem;
  color: #51b8a2;
  margin: 0;
  padding-top: 4.5rem;
  font-weight: 500;
}
.contents_page_title_EN {
  font-size: 1.6rem;
  color: #a7b400;
  margin: 0;
  padding: 0;
}
@media screen and (max-width: 785px) {
  .kara {
   padding-top: 5rem;
  }
  .contents_page_heading {
    height: 9.5rem;
  }
  #cal_sns .container {
    padding: 8rem 10% 0 10%;
  }
  h1 {
    padding-top: 2.4rem;
    font-size: 2.2rem;
  }
  .contents_page_title_EN {
    font-size: 1.2rem;
  }
}

/* パンくずリスト */
#page_pan {
  font-size: 1.2rem;
  height: 6rem;
  line-height: 6rem;
}
#page_pan .list_pan {
  margin: 0;
}
#page_pan .page_url {
  color: #a7b400;
}
#page_pan a {
  color: #a7b400;
}
#page_pan a:hover {
  opacity: 50%;
}
@media screen and (max-width: 749px) {
  #page_pan {
    font-size: 1.2rem;
    height: 3rem;
    line-height: 3rem;
  }
}

/* 各ページ共通内容 */
main {
  width: 100%;
  margin: 0 auto;
}
.activity {
  padding: 11rem 0 7rem 0;
  background-color: #f7f9d9;
  text-align: center;
}
.contents_title {
  text-align: center;
}
.contents_title h2 {
  font-size: 4.8rem;
  color: #acbb0f;
  margin: 0;
  letter-spacing: 0.15rem;
  font-weight: 500;
}
.contents_policy h3 {
  padding: 5.3rem 0 1rem 0;
  font-size: 4rem;
  margin: 0;
  font-weight: 300;
}
.contents_title h3 {
  padding: 5rem 0 0 0;
  font-size: 2.5rem;
  margin: 0;
  letter-spacing: 0.025rem;
}
.contents_title .contents_title_EN {
  padding: 0;
  font-size: 1.6rem;
  color: #acbb0f;
  margin: 2rem 0 0 0;
  letter-spacing: 0.016rem;
}
.contents_explanation {
  padding: 3rem 0 2rem 0;
  font-size: 1.6rem;
  margin: 0;
  letter-spacing: 0.016rem;
}
.activity .about1 {
	height: 44.0rem;
	padding: 5.0rem 3.0rem 0 3.0rem;
}
.activity .about1 img {
	float: left;
	margin-top: 1.0rem;
}
.activity .about1_writing {
	width: 52.0rem;
	padding: 1.0rem 0;
	margin: auto 1.0rem;
	float: right;
	text-align: left;
}
.activity .about1 h4, .activity .about2 h4 {
	padding: 0 0 1.0rem 0;
	font-size: 3.6rem;
	color: #acbb0f;
	margin: 0;
	letter-spacing: 0.025rem;
	font-weight: 300;
}
.activity .about1_text, .activity .about2_text {
	font-size: 1.6rem;
	padding: 1.5rem 0 0 0;
	margin: 0;
	line-height: 2.8rem;
}
.activity .about2 {
	height: 44.0rem;
	padding: 5.0rem 3.0rem 0 3.0rem;
}
.activity .about2 img{
	float: right;
	margin-top: 1.0rem;
}
.activity .about2_writing {
	width: 52.0rem;
	padding: 1.0rem 0;
	margin: auto 1.0rem;
	float: left;
	text-align: left;
}

@media screen and (max-width:1200px) {
  .activity .about1, .activity .about2 {
    height: 40.0rem;
    padding: 4rem 1rem 0 1rem;
  }
  .activity .about1 img, .activity .about2 img {
    width: 48%;
  }
  .activity .about1_writing, .activity .about2_writing {
    width: 48%;
  }
}

@media screen and (max-width:898px) {
  .activity {
    padding: 8rem 0 8rem 0;
  }
  .activity .about1 {
    height: initial;
    padding: 4rem 0 2rem 0;
  }
  .activity .about1 img, .activity .about2 img {
    width: 90%;
    float: none;
  }
  .activity .about1_writing {
    width: 90%;
    padding: 2rem 0 0 3.5rem;
    float: none;
  }
  .activity .about2 {
    height: initial;
    padding: 4rem 0 2rem 0;
  }
  .activity .about2_writing {
    width: 90%;
    padding: 2rem 0 0 3.5rem;
    float: none;
  }
}

@media screen and (max-width: 749px) {
  .activity {
    padding: 4rem 0 5rem 0;
  }
  .contents_title h2 {
    margin-top: 1rem;
    font-size: 2rem;
  }
  .activity .contents_title h2 {
    font-size: 2.4rem;
  }
  .contents_title .contents_title_EN {
    font-size: 1.2rem;
    letter-spacing: 0;
    margin: 0.5rem 0 0 0;
  }
  .contents_policy h3 {
    font-size: 2rem;
    padding: 2.3rem 0 0 0;
  }
  .contents_explanation {
    font-size: 1.4rem;
    padding: 2rem 0 0 0;
    letter-spacing: 0;
  }
  .baner_recruitment .contents_explanation {
    text-align: left;
  }
  .baner_recruitment .contents_explanation br {
    display: none;
   }
  .baner_recruitment .contents_title {
    padding-bottom: 2rem;
  }
  .activity .about1 {
    height: initial;
    padding: 4rem 0 2rem 0;
    margin: 0;
  }
  .activity .about1 img, .activity .about2 img {
    width: 100%;
    margin: 0;
    padding: 0;
    float: none;
  }
  .activity .about1_writing {
    width: 100%;
    padding: 1.5rem 0;
    margin: 0;
    float: none;
  }
  .activity .about1 h4, .activity .about2 h4 {
    padding: 0;
    font-size: 1.8rem;
    margin: 0;
    letter-spacing: 0;
  }
  .activity .about1_text, .activity .about2_text {
    font-size: 1.4rem;
    padding: 1rem 0 0 0;
    line-height: 2.5rem;
  }
  .activity .about2 {
    height: initial;
    padding: 1rem 0 1.5rem 0;
    margin: 0;
  }
  .activity .about2_writing {
    width: 100%;
    padding: 1.5rem 0 0 0;
    margin: 0;
    float: none;
  }
}

/*カレンダーからフェイスブックアイコン*/
#cal_sns {
  display:none;  /*ご要望により、一時的に非表示*/
  background-image: url("../images/calendar_back.png");
  background-position: center top;
  background-repeat: repeat-x;
  text-align: center;
  padding: 0 0 10rem 0;
  margin-top: -3rem;
  position: relative;
}
#cal_sns .calendar {
  padding: 6rem 0 0 0;
}
#cal_sns iframe {
  width: 90%;
  max-width: 85.2rem;
}
#cal_sns .sns {
  display: flex;
  margin: 7.5rem 0 0 0;
  align-items: center;
  justify-content: center;
}
#cal_sns .sns a {
  margin: 0 3rem;
}
#cal_sns .sns img {
  transition: 0.5s;
  width: 70%;
}
#cal_sns .sns a img:hover {
  transform: scale(1.1);
  opacity: 0.7;
}
@media (max-width: 749px) {
  #cal_sns {
    padding: 0 0 4rem 0;
  }
  #cal_sns .calendar {
    padding: 2rem 0 0 0;
  }
}
@media (max-width: 749px) {
  #cal_sns iframe {
    width: 100%;
  }
}
@media screen and (max-width: 749px) {
  #cal_sns .sns {
   flex-direction: column;
   margin: 2rem 0 0 0;
  }
}
@media screen and (max-width: 749px) {
  #cal_sns .sns a {
   margin: 0;
  }
}
@media screen and (max-width: 749px) {
  #cal_sns .sns img {
    width: 90%;
   padding-bottom: 1rem;
  }
}

@media screen and (max-width:1100px){
	#cal_sns .sns img {
		width: 80%;
	  }
    #cal_sns iframe {
      margin: auto;
    }
}


/*サポーター*/
#supporter {
  width: 100%;
  padding: 8.5rem 0 0 0;
}
#supporter .contents_title h2 {
  display: inline-block;
  vertical-align: middle;
  margin: 0 -0.5rem 0 0;
  padding: 0;
}
#supporter .contents_title .title_decoration {
  vertical-align: middle;
}
#supporter .contents_title .decoration_left {
  padding-right: 0.5rem;
}
@media screen and (max-width: 749px) {
  #supporter .contents_title .decoration_left,
  #supporter .contents_title .decoration_right {
   display: none;
  }
}

@media screen and (max-width: 1100px) {
	#supporter .contents_title .decoration_left,
	#supporter .contents_title .decoration_right {
	 display: none;
	}
  #supporter .contents_title h2 {
    margin: 0;
}
.header_contact span {

  letter-spacing: 0.2rem;
}
}


/*バナー*/
#supporter .baner .supporter_list {
  display: block;
  list-style: none;
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: space-evenly;
  margin: 6rem 0 0 0;
  padding: 0 2rem;
}

#supporter .baner .supporter_list li {
  width: 30%;
  margin: 1rem 0.5rem;
}

#supporter .baner .supporter_list a  {
  color: #0F9243;
  padding-bottom: 1rem;
  background:
    linear-gradient(currentColor 0 0) bottom 0   left  0 /var(--d, 0) 0.3rem no-repeat,
    linear-gradient(currentColor 0 0) bottom 0.6rem right 0 /var(--d, 0) 0.3rem no-repeat;
  transition: 0.6s;
}
#supporter .baner .supporter_list img  {
  width: 100%;
}
#supporter .baner .supporter_list a:hover  {
  --d: 100%;
  opacity: 0.7;
}
@media screen and (max-width: 749px) {
  #supporter .baner .supporter_list {
    padding: 0;
    justify-content: center;
  }
  #supporter .baner .container .supporter_list li {
    padding: 1rem 0;
    width:50%;
  }
}

@media screen and (max-width: 1100px){
	#supporter .baner .supporter_list {
		justify-content: center;
	}
	  #supporter .baner .supporter_list li {
		padding: 2rem;
		width:40%;
	}
}


/*広告募集*/
#supporter .baner .baner_recruitment {
  padding: 9rem 0 0 0;
}
#supporter .baner .baner_recruitment .baner_rules  {
  text-align: center;
}
#supporter .baner .baner_recruitment .baner_rules h3 {
  font-size: 2.5rem;
  letter-spacing: 0.01rem;
  margin: 5rem 0 0 0;
}
#supporter .baner .baner_recruitment .baner_rules .baner_caution {
  padding: 0;
  display: flex;
  list-style: none;
}
#supporter .baner .baner_recruitment .baner_rules .baner_caution li {
  background-color: #f7f9d9;
  width: 40rem;
  margin: 3rem auto 0 auto;
  padding: 2rem 0 1rem 0;
  border-radius: 3rem;
}
#supporter .baner .baner_recruitment .baner_rules .baner_caution li ul {
  list-style: none;
  padding: 0;
}
#supporter .baner .baner_recruitment .baner_rules .baner_caution li h4 {
  font-size: 1.6rem;
  padding: 0;
  margin: 0 0 2rem 0;
  letter-spacing: 0.016rem;
}
#supporter .baner .baner_recruitment .baner_rules .baner_caution li ul li {
  font-size: 1.6rem;
  padding: 0;
  margin: 0.5rem 0;
  letter-spacing: 0.016rem;
  text-align: center;
}
#supporter .baner .baner_recruitment .baner_rules .baner_caution li ul li a {
  text-decoration: none;
  color: #acbb0f;
  font-weight: 600;
  margin: 0 auto;
  background:
  linear-gradient(currentColor 0 0)
  100% 100% /var(--d, 0) 3px
  no-repeat;
  transition:0.5s;
}
#supporter .baner .baner_recruitment .baner_rules .baner_caution li ul li a:hover {
  --d: 100%;
  color: #626262;
}
@media screen and (max-width: 749px) {
  #supporter .baner .baner_recruitment {
    padding: 2rem 0 0 0;
  }
}
@media screen and (max-width: 749px) {
  #supporter .baner .baner_recruitment .baner_rules h3 {
    font-size: 1.6rem;
    margin: 0;
  }
  #supporter .baner .baner_recruitment .baner_rules .contents_explanation {
    padding: 2rem 0;
  }
}
@media screen and (max-width: 749px) {
  #supporter .baner .baner_recruitment .baner_rules .baner_caution {
    flex-direction: column;
    margin: 0;
  }
}
@media screen and (max-width: 749px) {
  #supporter .baner .baner_recruitment .baner_rules .baner_caution li {
    width: 100%;
  }
}
@media screen and (max-width: 749px) {
  #supporter .baner .baner_recruitment .baner_rules .baner_caution li ul li  {
    font-size: 1.4rem;
  }
}

@media screen and (max-width: 1100px) {
	#supporter .baner .baner_recruitment .baner_rules .baner_caution {
	  flex-direction: column;
	  margin: 0;
	}
}


/*QRコード*/
#qr-code{
  margin:10rem 0 5rem 0;
}
#qr-code img{
  display: block;
  margin: 0 auto;
  max-width: 160px;
  width: 100%;
  height: auto;
}


/*お問い合わせ*/
#contact {
  padding: 5rem 0 0 0;
}
.contact_icons {
  padding: 6.5rem 0 0 0;
}
.contact_icons ul {
  display: flex;
  list-style: none;
}
.contact_icons ul li {
  list-style: none;
  text-align: center;
  border: none;
  border-radius: 5rem;
  width: 39rem;
  height: 9.7rem;
  margin: 0 5rem;
  position: relative;
}
.contact_icons ul .contact_icon_left {
  background-color: #f0f3b3;
  line-height: 9.7rem;
  transition: .5s;
}
.contact_icons .contact_icon_left h4 {
  font-size: 1.6rem;
  padding: 0;
  margin: 0;
}
.contact_icons ul .contact_icon_left a {
  text-decoration: none;
  color: #626262;
}
.contact_icons ul .contact_icon_left::after {
  content: '';
  position: absolute;
  top: calc(50% - 0.1rem);
  right: -2rem;
  display: block;
  width: 4rem;
  height: 0;
  border-top: solid 0.2rem #B1BD11;
  transition: all .5s ease-out;
}
.contact_icons ul .contact_icon_left:hover {
  background-color: #dddf93;
}
.contact_icons ul .contact_icon_left:hover::after {
  width: 0;
}
.contact_icons ul .contact_icon_right {
  background-color: #c6e7dd;
}
.contact_icons .contact_icon_right h4 {
  font-size: 2.5rem;
  color: #218762;
  padding: 0;
  margin: 0;
}
.contact_icons .contact_icon_right div {
  display: flex;
  flex-flow: column;
  justify-content: center;
  height: 9.7rem;
}
.contact_icons .contact_icon_right div p {
  padding: 0;
}
.contact_icons ul .contact_icon_right::after {
  content: '';
  position: absolute;
  top: calc(50% - 0.1rem);
  right: -2rem;
  display: block;
  width: 4rem;
  height: 0;
  border-top: solid 0.2rem #228964;
}
@media screen and (max-width: 749px) {
  #contact {
    padding: 5rem 0 0 0;
  }
  .contact_icons {
    padding: 0;
  }
  .contact_icons ul {
    flex-direction: column;
    align-items: center;
    padding: 0;
  }
  .contact_icons ul li {
    min-width: 28rem;
    margin: 1rem 0;
  }
  .contact_icons ul .contact_icon_left::after,
  .contact_icons ul .contact_icon_right::after {
    right: -1.5rem;
    width: 3rem;
  }
}

@media screen and (max-width: 1100px){
  .contact_icons ul {
    flex-direction: column;
  align-items: center;
  }
  .contact_icons ul li {
  width: 60%;
  margin: 1rem 0;
  }
}


/* フッター */
footer {
  padding: 8rem 0 0 0;
  text-align: center;
}
footer p {
  font-size: 1.2rem;
}
footer .footer_icon {
  text-align: center;
}
footer .footer_icon img {
  padding-bottom: 1rem;
}
footer .dotted {
  height: 1rem;
  width: 15rem;
  margin: 0 auto;
  position: relative;
}
footer .dotted::before {
  content: "";
  background-image: linear-gradient(to right, #626262, #626262 0.3rem, transparent 0.4rem, transparent 0.8rem);
  background-size: 0.8rem 0.3rem;
  background-repeat: repeat-x;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
}
footer .footer_contact {
  text-align: center;
  padding: 4rem 0 0 0;
}
footer .footer_contact p {
  padding: 0;
}
footer .footer_contact p a {
  color: #218762;
}
footer .footer_contact p span {
  font-size: 2.5rem;
  padding: 0;
  margin: 0 0 2rem 0;
  letter-spacing: 0.016rem;
  color: #218762;
}
footer .agree_activitys {
  padding: 6rem 0 0 0;
  display: flex;
  justify-content: center;
  align-items: flex-start;
}
footer .agree_activitys .agree_SDGs,
footer .agree_activitys .agree_orange_ribbon {
  margin: 0 2rem;
  display: flex;
  align-items: flex-start;
}
footer .agree_activitys .agree_SDGs p,
footer .agree_activitys .agree_orange_ribbon p {
  margin: 0 1rem 0 0;
  font-size: 1.6rem;
}
footer .map  {
  margin: 4rem 0 0 0;
  height: 50rem;
  text-align: center;
}
footer .map iframe {
  width: 100%;
  height: 100%;
}
footer {
  position: relative;
}
footer::before {
  content: "";
  position: absolute;
  top: 15rem;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: -1;
  display: block;
  background-image: url("../images/page_name_back.jpg");
  background-repeat: repeat;
  background-position: center top;
}
footer .copylight {
  padding: 1rem;
  background-color: white;
  font-size: 1.6rem;
}
@media screen and (max-width: 749px) {
  footer .footer_icon img {
    width: 100%;
  }
  footer .agree_activitys .agree_SDGs,
  footer .agree_activitys .agree_orange_ribbon {
    flex-direction: column;
    align-items: center;
    padding-top: 2rem
  }
  footer .agree_activitys .agree_SDGs p,
  footer .agree_activitys .agree_orange_ribbon p {
    margin: 1rem auto;
  }
  footer .agree_activitys .agree_orange_ribbon .blank {
    display: none;
  }
  footer::before {
    top: 15rem;
    left: 0;
  }
  footer .agree_activitys {
    flex-direction: column;
    align-items: center;
    padding: 2rem 0 0 0;
  }
}

@media screen and (max-width: 1100px){
	footer .agree_activitys .agree_SDGs {
	  flex-direction: column;
	  align-items: center;
	  padding-top: 2rem;
	}
	footer .agree_activitys .agree_SDGs p,
	footer .agree_activitys .agree_orange_ribbon p {
	  margin: 1rem auto;
	}
	footer::before {
	  top: 15rem;
	  left: 0;
	}
	footer .agree_activitys {
	  flex-direction: column;
	  align-items: center;
	  padding: 2rem 0 0 0;
	}
	footer .agree_activitys,
	footer .agree_orange_ribbon{
		padding-top: 4rem;
	}
}


/* 柄用 */
.container {
  position: relative;
}

#contact .contents_explanation {
 position: relative;
}


@media screen and (max-width: 749px) {
  .gara1, .gara2, .gara3, .gara4, .gara5, .gara6 {
    display: none;
    border-style: none;
  }
}

@media screen and (max-width: 1100px) {
    .gara1, .gara2, .gara3, .gara4, .gara5, .gara6 {
      display: none;
      border-style: none;
    }
}

/* 240325 カレンダー */
#calendar{
  margin:0;
  padding:32px;
  font-size:16px;
  background-color:#fff;
  padding: 60px 40px;
  border: 1px solid #cbbdba;
  border-radius: 15px;
}
#calendar form{
  margin-bottom:32px;
}
#calendar table{
  margin:0 auto;
  padding:0;
  border-collapse: collapse;
  width:100%;
}
#calendar td{
  margin:0;
  padding:0;
  width:100px;
}
.marker{
  display:inline-block;
  margin:0 5px;
  padding:0;
  width:15px;
  height:15px;
  border-radius:50%;
  border:solid 1px #333;
}
.marker_explain_area{
  display:flex;
  margin:10px 0 0 0;
  padding:0;
}
.marker-wrap{
  margin:0;
  padding:0 0 0 10px;
  display: flex;
  align-items: center;
}
.schedule{
  height:30px;
}
@media screen and (max-width:768px){
  .marker_explain_area{
    flex-direction:column;
    align-items:start;
    margin:0;
    padding:0;
  }
  .marker-wrap{
    margin:5px 0 0 0;
    padding:0;
  }
  .shedule{
    height:auto;
  }
}
.btn01_to{
    border-radius: 3px;
    background-color: #452420;
    color: #fff;
    font-size: 14px;
}
