/* -------------------- */
/* ▼ レイアウト*/
/* -------------------- */
body {
  background: #efefef;
  min-height: 100vh;
  display: flex;
  flex-direction: column;
}
@media (max-width: 768px) {
  .box {
    padding: 5px;
  }
  .ddmenu li {
    width: 70%; /* モバイル画面でメニューを全幅表示 */
  }
  .flex-containerB div,
  .flex-containerA div,
  .flex-container div {
    width: 100%; /* 各セクションを全幅にする */
    margin-bottom: 20px;
    padding-top: 20px;
  }
  img {
    width: 100%;
    height: auto;
  }
}

.content {
  max-width: 1500px;
  margin: auto;
  padding: px;
}

.box {
  max-width: 1000px;
  box-sizing: border-box; /* paddingやborderを含めて幅を計算 */
  margin: 0 auto;
  background: white;
  border: 1px solid #ccc;
  padding: 15px;
  text-align: left;
  font-size: 15px;
}
.box1 {
  max-width: 825px;
  margin: 0 auto;
  background: white;
  border: 1px solid #ccc;
  padding: 15px;
  text-align: left;
}
.box2 {
  max-width: 825px;
  margin: 0 auto;
  background: #efefef; 
  border: 0px solid #ccc;
  padding: px;
  text-align: center;
  font-size: 16px;
}
.box3 {
  max-width: 825px;
  margin: 0 auto;
  background: #efefef; 
  border: 0px solid #ccc;
  padding: 15px;
  text-align: left;
  font-size: 16px;
}

.box4 {
  text-align: center;
}
.boxwh{
    max-width: 1200px; 
    height: auto;
}

.box4 img{
  max-width: 700px;
  margin: 0 auto;
  background: #efefef; 
  border: 0px solid #ccc;
  padding: 5px;
  text-align: center;
  font-size: 16px;
}
.box-log {
  max-width: 825px;
  margin: 0 auto;
  background: white;
  border: 1px solid #ccc;
  padding: 15px;
  text-align: center;
　font-size: 16px;
}
.box-log2 {
  max-width: 825px;
  margin: 0 auto;
  background: white;
  border: 1px solid #ccc;
  padding: 15px;
  text-align: center;
　font-size: 16px;
}
.box-blog {
  width: 900px;
  margin: 0 auto;
  background: white; 
  border: 0px solid #ccc;
  padding: 5px;
  text-align: left;
  font-size: 16px;
}
.box-blogA {
  width: 500px;
  margin: 0 auto;
  background: white; 
  border: 0px solid #ccc;
  padding: 5px;
  text-align: left;
  font-size: 16px;
}

.menu-toggle {
  display: none;
  font-size: 24px;
  cursor: pointer;
  padding: 10px;
  background: #38761d;
  color: white;
}

.ddmenu {
  list-style: none;
  display: flex;
  justify-content: space-around;
  padding: 0;
  margin: 0;
  background: #38761d;
}

@media (max-width: 768px) {
  .menu-toggle {
    display: block;
  }
  .ddmenu {
    display: none;
    flex-direction: column;
  }
  .ddmenu.open {
    display: grid;
  }
}

}
 table{
	table-layout: auto; 
	font-size: 18px; 
	text-align: center;
}

.flex-container {
 max-width: 932px;
 margin: auto;
 display: flex;
 justify-content: center; /* 中央揃え */
 align-items: center; /* 縦方向中央揃え */
 flex-direction: column;
}

.flex-containerA {
 max-width: 932px;
 height: auto;
 margin: auto;
 display: flex;
 justify-content: center; /* 中央揃え */
 align-items: center; /* 縦方向中央揃え */
    text-align: center;
}

.flex-containerB {
　max-width: 932px;
 margin: auto;
 display: flex;
 justify-content: center; /* 中央揃え */
 align-items: center; /* 縦方向中央揃え */
 height: auto;
}
	
.container {
  max-width: 1000px;
  grid-template-columns: repeat(2, 1fr); }/* 2つの列に均等分割 */

li.maru{
	list-style-type: none;
	text-align: left;
}

<!-.iro{
max-width: 932px;
background-color: #38761d;
text-align: center;
align-items: center;
color: white;
margin-top: 30px;
}-->

.center{
    text-align: center;
}
/* -------------------- */
/* ▼ スライドショーの設定*/
/* -------------------- */
/*.slide-container {
    width: 925px;
    margin: 50px auto;
    display: flex;
    align-items: center;
    overflow: hidden;
	background-color: #efefef;
}*/
/*.slide-wrapper {
	margin: 0;
  display: flex;
  animation: slide-flow 60s infinite linear 1s both;
  background-color: #efefef;
}*/
/*.slide{
	padding-left: 10px;
  width: 400px;
  object-fit:cover;
  border: 1px solid #ddd;
}*/
/*@keyframes slide-flow {
     0% {transform: translateX(0);}
 100% {transform: translateX(-100%);}
}*/

.slide-container {
            max-width: 932px;
            margin: 2rem auto;
            position: relative;
            overflow: hidden;
            border-radius: 10px;
            box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);
        }
        .slide-wrapper {
            display: flex;
            transition: transform 1s ease-in-out;
        }
        .slide {
            flex-shrink: 0;
            width: 100%;
            aspect-ratio: 16 / 9; /* 16:9のアスペクト比を維持 */
            object-fit: cover;
        }
        .controls {
            position: absolute;
            top: 50%;
            width: 100%;
            display: flex;
            justify-content: space-between;
            transform: translateY(-50%);
        }
        .control {
            background: rgba(0, 0, 0, 0.5);
            color: white;
            border: none;
            cursor: pointer;
            padding: 0.5rem 1rem;
            font-size: 1.5rem;
            border-radius: 50%;
        }
        .control:hover {
            background: rgba(0, 0, 0, 0.8);
        }
/* -------------------- */
/* ▼ 文字の設定*/
/* -------------------- */
.text-red {
  color: red;
}
.text-blue{
    color: blue;
}
.text-black{
    color: black;
}

.text-Vivid{
     color: #0067C0;
    }

.text-999{
	color: #999;
    margin: 0 20px 0 0;
}
.text-9999{
	color: #999;
}
h1{
    text-align: center;
}
/* -------------------- */
/* ▼メニューバーの装飾 */
/* -------------------- */
ul.ddmenu {
   margin: 0px;               /* メニューバー外側の余白(ゼロ) */
   padding: 0px 0px 0px 15px; /* メニューバー内側の余白(左に15px) */
   background-color: #38761d; /* バーの背景色(緑色) */
   padding-left:auto;
   padding-right:auto;
   text-align: center;
}

/* -------------------------- */
/* ▼メインメニュー項目の装飾 */
/* -------------------------- */
ul.ddmenu li {
   width: 125px;          /* メニュー項目の横幅(125px) */
   display: inline-block; /* ★横並びに配置する */
   list-style-type: none; /* ★リストの先頭記号を消す */
   position: relative;    /* ★サブメニュー表示の基準位置にする */
   text-align: center;
   align-content: center;
}
ul.ddmenu a {
   background-color: #38761d; /* メニュー項目の背景色(緑色) */
   color: white;              /* メニュー項目の文字色(白色) */
   line-height: 40px;         /* メニュー項目のリンクの高さ(40px)*/
   text-align: center;        /* メインメニューの文字列の配置(中央寄せ) */
   text-decoration: none;     /* メニュー項目の装飾(下線を消す) */
   font-weight: bold;         /* 太字にする */
   display: block;            /* ★項目内全域をリンク可能にする */
}
ul.ddmenu a:hover {
   background-color: #66cdaa; /* メニュー項目にマウスが載ったときの背景色(淡いピンク) */
   color: #008000;            /* メニュー項目にマウスが載ったときの文字色(緑色) */
}

/* ---------------------------------- */
/* ▼サブメニューがある場合に開く処理 */   /* ※サブメニューが1階層しか存在しない場合の記述 */
/* ---------------------------------- */
ul.ddmenu li:hover ul {
   display: block;      /* ★マウスポインタが載っている項目の内部にあるリストを表示する */
}

/* -------------------- */
/* ▼サブメニューの装飾 */
/* -------------------- */
ul.ddmenu ul {
   margin: 0px;         /* ★サブメニュー外側の余白(ゼロ) */
   padding: 0px;        /* ★サブメニュー内側の余白(ゼロ) */
   display: none;       /* ★標準では非表示にする */
   position: absolute;  /* ★絶対配置にする */
}

/* ------------------------ */
/* ▼サブメニュー項目の装飾 */
/* ------------------------ */
ul.ddmenu ul li {
   width: 120px;               /* サブメニュー1項目の横幅(135px) */
   border-top: 1px solid pink; /* 項目上側の枠線(ピンク色で1pxの実線) */
}
ul.ddmenu ul li a {
   line-height: 35px;     /* サブメニュー1項目の高さ(35px) */
   text-align: left;      /* 文字列の配置(左寄せ) */
   padding-left: 5px;     /* 文字列前方の余白(5px) */
   font-weight: normal;   /* 太字にはしない */
}
ul.ddmenu ul li a:hover {
   background-color: #66cdaa; /* サブメニュー項目にマウスが載ったときの背景色(淡い黄色) */
   color: #005500;            /* サブメニュー項目にマウスが載ったときの文字色(濃い緑色) */
}


.breadcrumb {
    list-style: none;
    display: flex;
    flex-wrap: wrap;
    padding: 0;
    margin: 0;
    font-size: 14px;
    text-align: left;
}

.breadcrumb li {
    margin-right: 5px;
}

.breadcrumb li a {
    text-decoration: none;
    color: #38761d;
}

.breadcrumb li a:hover {
    text-decoration: underline;
}

.breadcrumb li::after {
    content: "›"; /* 矢印や区切りの記号 */
    margin-left: 5px;
    color: #666;
}

.breadcrumb li:last-child::after {
    content: ""; /* 最後の要素には区切りを表示しない */
}

box-breadcrumb{
  margin: 0 auto;
  background: #efefef; 
  border: 0px solid #ccc;
  padding: 10px;
  text-align: left;
  font-size: 14px;
    
}

@media (max-width: 768px) {
    iframe {
        height: 300px;
    }
}

.no-scroll {
    overflow: hidden;
}

@media (min-width: 768px) and (max-width: 1024px) {
.box-blog{
        width: 600px;
    }

}

p {
  line-height: 1.7;        /* 行間 */
　margin-bottom: 1em; /* 段落間の余白 */
  word-break: break-word;   /* 長文も折り返す */
  overflow-wrap: break-word;
}

.nowrap {
  white-space: nowrap;      /* 括弧ごと文字列を折り返さない */
}

@media (max-width: 768px) {
  p {
    padding-left: em;   /* スマホは少し狭く */
    line-height: 1.6;
    margin-bottom: 1.2em;
  }
}

.page-nav {
  display: flex;
  justify-content: space-between;
  align-items: center;
  max-width: 900px;
  margin: 40px auto;
  padding: 0 20px;
}

.page-nav a {
  display: inline-block;
  background-color: #004aad;
  color: #fff;
  text-decoration: none;
  padding: 10px 20px;
  border-radius: 6px;
  transition: background-color 0.3s;
}

.page-nav a:hover {
  background-color: #003080;
}

@media (max-width: 600px) {
  .page-nav {
    flex-direction: column;
    gap: 15px;
  }
  .page-nav a {
    width: 100%;
    text-align: center;
  }
}

.slide-container { position: relative; max-width: 800px; margin: 40px auto; overflow: hidden; border-radius: 10px; }
.slide-wrapper { display: flex; transition: transform 0.5s ease-in-out; }
.slide { min-width: 100%; position: relative; text-align: center; }
.slide img { width: 100%; display: block; border-radius: 10px 10px 0 0; }
.caption { background: rgba(0,0,0,0.6); color: #fff; padding: 8px; font-size: 16px; position: absolute; bottom: 0; left:0; right:0; border-radius:0 0 10px 10px; }
.controls { position: absolute; top:50%; width:100%; display:flex; justify-content:space-between; transform:translateY(-50%); }
.control { background: rgba(0,0,0,0.4); color:white; border:none; font-size:24px; padding:8px 14px; cursor:pointer; border-radius:50%; transition: background 0.3s; }
.control:hover { background: rgba(0,0,0,0.7); }