@charset "utf-8";

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */
body{
	 font-family: "Zen Maru Gothic", sans-serif;
	 font-weight: 400;
	 font-style: normal;
}
h1, h2, h3 {
	font-family: "Zen Maru Gothic", sans-serif;
	font-weight: 700;
	font-style: normal;
}

/*top-英文箇所*/
.simple-box {
    text-align: center;
    margin-top: 50px;
    background-color: #EBE3D7;
    padding-top: 15px;
    padding-bottom: 15px;
}

.main-color {
	color: #0f623f;
}

.table-bg-color{
	background-color: #eef4e9;
}

.bg-main {
  background-color: #0f623f;
}

    .top-images {
      display: flex;
      flex-wrap: wrap;
    }

    .image-block {
      position: relative;
      width: 50%;
    }

    .image-block img {
      width: 100%;
      height: auto;
      display: block;
	  border-radius: 0 !important;      
    }

    .catch-copy {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      color: #0f623f;
      background: rgba(255, 255, 255, 0.5);
      padding: 1.2em 1.6em;
      font-size: 1.5rem;
      font-weight: bold;
     /* border-radius: 1.5em;*/
      text-shadow: 1px 1px 2px rgba(80, 100, 80, 0.5);
      text-align: center;
      max-width: 85%;
      box-shadow: 0 4px 8px rgba(0,0,0,0.1);
    }

    /* モバイル対応 */
    @media (max-width: 768px) {
      .image-block {
        width: 100%;
      }

      .catch-copy {
        font-size: 1.2rem;
        padding: 1em;
      }
    }
    
.image-wrapper {
  background-color: #0f623f;
  padding: 30px;
  text-align: center;
}

.image-wrapper img {
  max-width: 100%;
  height: auto;
}

footer {
  background: url('../images/footer-bg.jpg') no-repeat center center;
  background-size: cover;
  color: white;
  position: relative;
}

  footer a,
  footer a:hover {
    color: white; /* 必要なら色指定 */
    text-decoration: none;
  }

.footer-overlay {
/*  background-color: rgba(0, 0, 0, 0.5); *//* 黒の半透明背景 */
background-color: rgba(255, 255, 255, 0.6); /* 60%の白 */  padding: 40px 20px;
  color: #333; /* 文字色を濃いグレーに変更して視認性アップ */
}

.footer-logo {
/*  height: 80%; */
  margin-bottom: 15px;
  max-width:50%;
}
    
/* モバイル対応 */
@media (max-width: 768px) {
.list-inline-item {
    font-size: 70%;
 }
}    


.btn-camp {
    color: #fff;
    background-color: #82ae46;
    border-color: #82ae46;
    font-weight: bold;

}

.btn-camp:hover {
    color: #555555;
}  

.btn-kominka {
    color: #fff;
    background-color: #eaa937;
    border-color: #eaa937;
    font-weight: bold;
}

.btn-kominka:hover {
    color: #333333;
}  

    
    .subpage-header {
      /*background-image: url('../images/rental_space_header-bg.jpg'); *//* 背景に自然や古民家の写真を使用 */
      background-size: cover;
      background-position: 50% 80%;
      padding: 80px 20px;
      color: #fff;
      text-align: center;
      position: relative;
    }

    .subpage-header::after {
      content: "";
      position: absolute;
      top: 0; left: 0; right: 0; bottom: 0;
      background: rgba(30, 50, 30, 0.4); /* 自然を感じさせるグリーン系のオーバーレイ */
      z-index: 1;
    }

    .subpage-header h1 {
      position: relative;
      z-index: 2;
      font-family: "Zen Maru Gothic", sans-serif;
      font-weight: 700;
      font-style: normal;
      margin-bottom: 0.5em;
    }

    .subpage-header p {
      position: relative;
      z-index: 2;
      font-size: 1rem;
      color: #f0f0f0;
    }

    @media (max-width: 768px) {
      .subpage-header {
        padding: 50px 10px;
      }
      .subpage-header h1 {
        font-size: 1.6rem;
      }
      .subpage-header p {
        font-size: 0.9rem;
      }
    }

	/* ページ別背景画像 */
	.page-rental .subpage-header {
  		background-image: url('../images/rental_space_header-bg.jpg');
	}

	.page-campsite .subpage-header {
  		background-image: url('../images/campsite_header-bg.jpg');
	}
	
	.page-access .subpage-header {
  		background-image: url('../images/access_header-bg.jpg');
	}
	
	.page-faq .subpage-header {
  		background-image: url('../images/faq_header-bg.jpg');
	}
	
		
    .btn-more {
      background: linear-gradient(45deg, #d8c8b0, #cbb79a);
      color: #4d3a26; /* 文字色をブラウン系に変更 */
      border: none;
      border-radius: 50px;
      padding: 12px 40px;
      font-weight: 600;
      font-size: 1rem;
      box-shadow: 0 4px 8px rgba(170, 150, 120, 0.4);
      transition: all 0.3s ease;
    }
    
    .btn-more:hover {
      transform: translateY(-3px);
      box-shadow: 0 6px 12px rgba(170, 150, 120, 0.5);
      text-decoration: none;
    }
        	
    .faq-section {
      padding: 50px 20px;
    }
    
    .faq-title {
      font-size: 1.5rem;
      font-weight: 600;
      color: #5c4b37;
      margin: 40px 0 20px;
      border-bottom: 1px solid #d8d0c0;
      padding-bottom: 10px;
    }
    
    .faq-box {
      background-color: #fcfbf9;
      border: 1px solid #e0d8c8;
      border-radius: 10px;
      padding: 25px 30px;
      margin-bottom: 20px;
      box-shadow: 0 4px 8px rgba(0,0,0,0.05);
    }
    
    .faq-question {
      font-weight: 600;
      color: #5a5142;
      margin-bottom: 10px;
    }
    
    .faq-answer {
      color: #5a5142;
      font-size: 0.95rem;
    }

    .info-card {
      box-shadow: 0 0 8px rgba(0,0,0,0.1);
      border-radius: 10px;
      padding: 15px;
      margin-bottom: 10px;
      height: 100%;
    }
    .facility-name {
      font-weight: bold;
      font-size: 1.1rem;
    }
    .facility-address {
      font-size: 0.9rem;
      color: #555;
    }

    .facility-distance {
      font-size: 0.9rem;
      color: #555;
    }    
    
    .common-address {
      border: 2px solid #ccc;
      background: #f9f9f9;
      padding: 25px;
      border-radius: 10px;
      max-width: 600px;
      margin: 0 auto;/* 40px */
      text-align: center;
      box-shadow: 0 0 8px rgba(0,0,0,0.05);
    }    
    
	.faq-nav .btn {
      margin: 10px;
      width: 200px;
    }          
/* TEST */ 
    
    section {
      margin-bottom: 2em;
      background: #fff;
      border-radius: 8px;
      /*box-shadow: 0 2px 6px rgba(0,0,0,0.05);*/
      padding: 1.5em;
    }
    
    @media (max-width: 768px) {
     section {
            padding-top: 1em;
            padding-left:0;
            padding-right:0;
            padding-bottom:1em;
    }
    }     

    .subpage h2 {
      color: #4b5e30;
      border-left: 5px solid #c2d6b4;
      padding-left: 0.5em;
      font-size: 1.4em;
    }

    img {
      max-width: 100%;
      border-radius: 6px;
    }

    table {
      width: 100%;
      border-collapse: collapse;
      margin-top: 1em;
    }

    th, td {
      border: 1px solid #ccc;
      padding: 0.8em;
      text-align: left;
    }

    th {
      background-color: #eef4e9;
    }

    @media (max-width: 768px) {
      body {
        font-size: 0.95em;
      }

      h2 {
        font-size: 1.2em;
      }
    }    