@font-face {
  font-family: 'ZenMaruGothic-Black';
  src: url('../Font/ZenMaruGothic-Black.ttf');
}
@font-face {
  font-family: 'ZenMaruGothic-Bold';
  src: url('../Font/ZenMaruGothic-Bold.ttf');
}
@font-face {
  font-family: 'ZenMaruGothic-Light';
  src: url('../Font/ZenMaruGothic-Light.ttf');
}
@font-face {
  font-family: 'ZenMaruGothic-Medium';
  src: url('../Font/ZenMaruGothic-Medium.ttf');
}
@font-face {
  font-family: 'ZenMaruGothic-Regular';
  src: url('../Font/ZenMaruGothic-Regular.ttf');
}


@font-face {
font-family: 'MPLUSRounded1c-Bold';
src: url('../Font/MPLUSRounded1c-Bold.ttf');
}
@font-face {
font-family: 'MPLUSRounded1c-Black';
src: url('../Font/MPLUSRounded1c-Black.ttf');
}
@font-face {
font-family: 'MPLUSRounded1c-ExtraBold';
src: url('../Font/MPLUSRounded1c-ExtraBold.ttf');
}
@font-face {
font-family: 'MPLUSRounded1c-Light';
src: url('../Font/MPLUSRounded1c-Light.ttf');
}
@font-face {
font-family: 'MPLUSRounded1c-Medium';
src: url('../Font/MPLUSRounded1c-Medium.ttf');
}
@font-face {
font-family: 'MPLUSRounded1c-Regular';
src: url('../Font/MPLUSRounded1c-Regular.ttf');
}
@font-face {
font-family: 'MPLUSRounded1c-Thin';
src: url('../Font/MPLUSRounded1c-Thin.ttf');
}

.f1 {
font-family: 'MPLUSRounded1c-Bold', sans-serif;
}
.f2 {
font-family: 'MPLUSRounded1c-Light', sans-serif;
}
.f3 {
font-family: 'MPLUSRounded1c-Thin', sans-serif;
}
.f4 {
font-family: 'MPLUSRounded1c-Black', sans-serif;
}
.f5 {
font-family: 'MPLUSRounded1c-ExtraBold', sans-serif;
}
.f6 {
font-family: 'MPLUSRounded1c-Medium', sans-serif;
}
.f7 {
font-family: 'MPLUSRounded1c-Regular', sans-serif;
}


.menu-toggle {
	font-size: 30px;
	cursor: pointer;
	background: none;
	border: none;
	padding: 10px 15px 9px 14px;
	border-radius: 15px;
	background-color: #fe50ff;
	color: #e6e0e0;
	position: fixed;
	right: 20px; /* 右端からの距離を調整 */
	top: 20px; /* 必要に応じて位置を調整 */
}

/**スマホ画面でのメニュー関係　・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・*/
/* ポップアップ全体のスタイル */
/* ポップアップの全体のスタイル */
.popup {
  display: none;
  position: fixed;
  top: 0; /* ヘッダーと重ならないように位置調整 */
  left: 0;
  width: 100%;
  padding: 20px; /* コンテンツを画面内に収める */
  background-color: rgba(0, 0, 0, 0.7);
  z-index: 9999;
  justify-content: center;
  align-items: flex-start; /* 上部に揃える */
  animation: fadeIn 0.5s ease-in-out;
  height:100vh;
}

.popup-content {
		background: linear-gradient(120deg, #fffb1ed6, #ecf3a0);
		color: white;
		font-family: 'Roboto', sans-serif;
		width: 90%;
		max-width: 400px;
		max-height: 85vh; /* 全体を画面内に収める */
		overflow-y: auto;
		border-radius: 16px;
		box-shadow: 0 10px 20px rgba(0, 0, 0, 0.4);
		padding: 20px;
		margin-top: 20px; /* ヘッダーとの間隔を確保 */
		text-align: center;
		position: relative;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
		.popup-content {
				margin-top: 15px; /* モバイル用の余白 */
		}
}
es fadeIn {
		from {
				opacity: 0;
				transform: translateY(-50%);
		}
		to {
				opacity: 1;
				transform: translateY(0);
		}
}
.popup-content::-webkit-scrollbar {
		width: 8px; /* スクロールバーの幅 */
}

.popup-content::-webkit-scrollbar-thumb {
		background-color: #1e90ff; /* スクロールバーの色 */
		border-radius: 4px; /* 丸みを追加 */
}

.popup-content::-webkit-scrollbar-track {
		background-color: #f5f5f5; /* スクロールバーの背景 */
}

.popup-content::-webkit-scrollbar {
		width: 8px; /* スクロールバーの幅 */
}

.popup-content::-webkit-scrollbar-thumb {
		background-color: #1e90ff; /* スクロールバーの色 */
		border-radius: 4px; /* 丸みを追加 */
}

.popup-content::-webkit-scrollbar-track {
		background-color: #f5f5f5; /* スクロールバーの背景 */
}
@media (max-height: 600px) {
		.popup-content {
				max-height: 80vh; /* 高さをさらに縮小 */
		}
}

/* 閉じるボタン */
.close-btn {
		position: absolute;
		top: 15px; /* メニューより高い位置に配置 */
		right: 15px;
		font-size: 1.8rem;
		width: 40px;
		height: 40px;
		background-color: #ff7f50; /* ボタンの背景色 */
		color: white;
		border-radius: 50%;
		border: 2px solid white;
		box-shadow: 0 4px 10px rgba(0, 0, 0, 0.3);
		display: flex;
		justify-content: center;
		align-items: center;
		cursor: pointer;
		z-index: 10000; /* ボタンを最前面に */
		transition: background-color 0.3s ease, transform 0.3s ease;
}

.close-btn:hover {
		background-color: #e74c3c; /* ホバー時の強調色 */
		transform: scale(1.1); /* 少し拡大 */
}

.close-btn:active {
		transform: scale(0.95); /* クリック時に縮小 */
		background-color: #c0392b; /* クリック時の背景色 */
}

/* メニュー */
.popup-content nav {
		margin-top: 50px; /* 「×」ボタンとの重なりを防ぐための余白 */
}

@media (max-width: 768px) {
		.close-btn {
				top: 10px; /* モバイル画面での高さ調整 */
				right: 10px;
		}

		.popup-content nav {
				margin-top: 10px; /* モバイル用余白 */
		}
}

/* 画像リンクセクションのスタイル */
.image-links {
		display: grid; /* グリッドレイアウトを使用 */
		grid-template-columns: repeat(2, 1fr); /* 2列に設定 */
		gap: 15px; /* 各画像間の間隔 */
		justify-content: center; /* 中央揃え */
		margin: 20px 0; /* 上下に余白を追加 */
}

.image-links a img {
		width: 100%; /* 幅を親要素に合わせる */
		max-width: 120px; /* 最大幅を設定 */
		height: auto; /* アスペクト比を維持 */
		border-radius: 8px; /* 角丸を追加 */
		transition: transform 0.3s ease, opacity 0.3s ease; /* ホバーアニメーション */
}

.image-links a img:hover {
		transform: scale(1.05); /* ホバー時に少し拡大 */
		opacity: 0.8; /* ホバー時に透明度を追加 */
}

/* SNSリンクセクションのスタイル */
.sns-links {
		display: flex; /* フレックスボックスで横並び */
		justify-content: center; /* 中央揃え */
		gap: 15px; /* 各アイコンの間隔 */
		margin-top: 20px; /* 余白を追加 */
}

.sns-links img {
		width: 40px; /* アイコンの幅 */
		height: 40px; /* アイコンの高さ */
		object-fit: cover; /* 比率を維持 */
		transition: transform 0.3s ease, opacity 0.3s ease; /* ホバーエフェクト */
}

.sns-links img:hover {
		transform: scale(1.1); /* ホバー時に拡大 */
		opacity: 0.8; /* ホバー時に透明度を追加 */
}



/* メニュー項目のスタイル */
.popup-content nav ul {
		list-style: none;
		padding: 0;
}

.popup-content nav ul li {
		margin: 10px 0;
}

.popup-content nav ul li a {
		display: flex; /* アイコンとテキストを並べる */
		align-items: center; /* 縦方向に中央揃え */
		gap: 10px; /* アイコンとテキストの間隔 */
		text-decoration: none;
		font-size: 18px;
		color: #500000;
		padding: 10px 15px;
		border-radius: 8px;
		background-color: #f7fff6;
		transition: background-color 0.3s ease, transform 0.3s ease;
		font-size: 14px;
}

.popup-content nav ul li a:hover {
		background-color: #ff7f50; /* ホバー時のアクセントカラー */
		transform: scale(1.05); /* ホバー時に少し拡大 */
}

/* アイコンのスタイル */
.popup-content nav ul li a img {
		width: 28px; /* 統一されたアイコンサイズ */
		height: 28px; /* 統一されたアイコンサイズ */
		object-fit: cover; /* 比率を保持しながらフィット */
		border-radius: 50%; /* アイコンを丸くする */
		margin-right: 10px;
}


/* サブメニューのスタイル */
.submenu3 {
		display: none; /* 初期状態で非表示 */
		margin-top: 10px;
		padding-left: 15px;
		border-left: 2px solid #ddd; /* 視覚的な区切り線 */
		overflow: hidden; /* 隠れる状態 */
		max-height: 0; /* 高さをゼロに */
		transition: max-height 0.3s ease-in-out; /* 開閉アニメーション */
}

.submenu3.open {
		display: block; /* 表示する */
		max-height: 430px; /* 必要な高さ */
		background-color: #5f966ea3;
border-radius: 10px;
padding: 3px;
}

.submenu3 li {
		margin: 5px 0;
}

.submenu3 li a {
		display: block;
		text-decoration: none;
		font-size: 14px;
		color: #333;
		padding: 8px 12px;
		border-radius: 6px;
		transition: background-color 0.3s ease, color 0.3s ease;
}

.submenu3 li a:hover {
		background-color: #74b9ff; /* ホバー効果 */
		color: white;
}

/* レスポンシブ対応 */
@media (max-width: 768px) {
		.popup-content {
				font-size: 1rem; /* フォントサイズを調整 */
				padding: 15px;
		}

		.menu-item3 > a {
				font-size: 16px; /* メニュー項目の文字サイズを調整 */
		}

		.submenu3 {
				position: static; /* スマホ画面で位置固定を解除 */
		}


}
.menu-toggle {
	display: none; /* デフォルトで非表示 */
}

@media (max-width: 767px) {
	.menu-toggle {
		display: block; /* 画面幅が767px以下のとき表示 */
	}
}





.Gh2{
  font-family: 'ZenMaruGothic-Medium', sans-serif;
  font-weight: bold;
  font-size: 18px;
}


.gallery2 {
  columns: 4;
  padding: 0 2px;
  margin: 0;
}

.gallery2 li {
  margin-bottom: 10px;
  list-style: none;
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.gallery2 img {
  width: 100%;
  height: auto;
  vertical-align: bottom;

background-color: #ffffff;
    border-radius: 6px;
}

@media only screen and (max-width: 990px) {
  .gallery2 {
    columns: 2;
  }
}

@media only screen and (max-width: 768px) {
  .gallery2 {
    columns: 2;
  }
}

.news__item2 {
  padding: 3px;
  display: flex;
  justify-content: center;
  align-items: center;
}


 .container4 {
            display: flex;
            flex-wrap: wrap;
            justify-content: space-between;
        }
 .div-item {
           flex: 1 1 calc(50% - 20px); /* Adjusts the size of each item */
           margin: 10px;
           box-shadow: 0 5px 15px rgba(0,0,0,0.3);
           border-radius: 20px;
           background-size: cover;
           background-repeat: no-repeat;
           background-position: center;
       }
       @media (max-width: 768px) {
           .div-item {
               flex: 1 1 100%;
           }
       }


       .fade-in {
         opacity: 0;
         transition: opacity 1.5s ease-in-out;
       }

       .fade-in.visible {
         opacity: 1;
       }


       .animate {
           /*opacity: 0;*/
           transform: translateY(20px);
           transition: opacity 0.5s ease, transform 0.5s ease;
       }
       .text-white {
           color: #000000 !important;
       }
       .bg-info {
           background-color: #40f62e !important;
       }



       .Pnaiyou1 {

         line-height: 1.8;
         color: #6a4e3d;
         background-color: #fffafc;
         padding: 12px;
         border-radius: 12px;
         box-shadow: 0 2px 8px rgba(255, 182, 193, 0.2);
         display: block;
       }
       .Pnaiyou1 {
  font-family: 'ZenMaruGothic-Medium', sans-serif;
  font-size: 16px; /* デフォルト */
}

@media (max-width: 768px) {
  .Pnaiyou1 {
    font-size: 14px;
  }
}

@media (max-width: 480px) {
  .Pnaiyou1 {
    font-size: 12px;
  }
}

       .Gh21 {
         color: #ff6699;
         font-size: 1.6rem;
         text-align: center;
         background-image: linear-gradient(45deg, #fce4ec 25%, transparent 25%, transparent 75%, #fce4ec 75%, #fce4ec),
                           linear-gradient(45deg, #fce4ec 25%, transparent 25%, transparent 75%, #fce4ec 75%, #fce4ec);
         background-size: 40px 40px;
         background-position: 0 0, 20px 20px;
         padding: 0.2em;
         border-radius: 12px;
         box-shadow: 0 4px 12px rgba(255, 182, 193, 0.3);
       }
       .div-item1 {
         background-color: #fff0f6;
         border-radius: 20px;
         padding: 20px;
         box-shadow: 0 8px 20px rgba(255, 153, 204, 0.3);
         margin: 24px auto;
         max-width: 960px;
         font-family: 'Noto Sans JP', sans-serif;
       }
       .gallery131 {
         display: flex;
         flex-wrap: wrap;
         gap: 16px;
         justify-content: center;
         padding: 16px 0;
         list-style: none;
         margin: 0;
       }

       .gallery131 li {
         flex: 1 1 calc(25% - 16px); /* PC：4列 */
         max-width: calc(25% - 16px);
       }

       @media (max-width: 1024px) {
         .gallery131 li {
           flex: 1 1 calc(33.333% - 16px); /* タブレット：3列 */
           max-width: calc(33.333% - 16px);
         }
       }

       @media (max-width: 768px) {
         .gallery131 li {
           flex: 1 1 calc(50% - 16px); /* スマホ：2列 */
           max-width: calc(50% - 16px);
         }
       }


       .gallery131 img {
         width: 100%;
         height: auto;
         border-radius: 12px;
         box-shadow: 0 4px 12px rgba(0,0,0,0.2);
         transition: transform 0.3s ease;
       }


       .gallery131 img:hover {
         transform: scale(1.05);
       }



       .radio-container2 {
         display: flex;
         justify-content: flex-start;
         align-items: center;
       }

       .radio-button2 {
         display: flex;
         align-items: center;
         padding: 10px;
         border: 1px solid #ccc;
         border-radius: 5px;
         cursor: pointer;
       }

       .radio-button2 input {
         display: none;
       }

       .radio-button2 label {
         padding: 5px 10px;
       }

       .radio-button2:hover {
         background-color: #f0f0f0;
       }

       .radio-button2 input:checked + label {
         background-color: #4CAF50 !important;
         color: white;
         border: none;
         box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);  /* Added shadow to emphasize selection */
       }

       .ZeroSchedule {
         display: flex;
         justify-content: space-around;
       }

       .NenchouSchedule {
         display: none;
         justify-content: space-around;
       }




       .G1 {
         display: inline-block;
         padding: 10px 20px;
         margin-top: 30px;
         color: white;
         background-color: #3498db;
         text-align: center;
         text-decoration: none;
         border-radius: 5px;
         transition: background-color 0.3s, transform 0.3s;    font-size: 14px;

       }

       .G1:hover {
         background-color: #251a79;
         transform: scale(1.05);
         color:#fff9f9;
       }


       .breadcrumb {
           z-index: 1;
       position: absolute;
       top: 70px;
       display: flex;
       flex-wrap: wrap;
       list-style: none;
       }

       .breadcrumb li:not(:last-of-type)::after {
       content: "»";
       margin: 0 .6em; /* 記号の左右の余白 */
       color: #777; /* 記号の色 */
       }

       @media (max-width: 768px) {
       	.breadcrumb {
       	    z-index: 1;
       	position: absolute;
       	top: 2px;
       	display: flex;
       	flex-wrap: wrap;
       	list-style: none;
       	}
       }

       @keyframes fadeSlideIn {
         0% {
           opacity: 0;
           transform: translateY(-30px) scale(0.95);
         }
         100% {
           opacity: 1;
           transform: translateY(0) scale(1);
         }
       }
       @keyframes zoomIn {
         0% {
           opacity: 0;
           transform: scale(0.8);
         }
         100% {
           opacity: 1;
           transform: scale(1);
         }
       }

       .animated-header {
         opacity: 0;
         transform: translateY(-30px) scale(0.95);
         transition: opacity 0.3s, transform 0.3s;
       }

       .animated-header.animate {
         animation: zoomIn 1s ease-out;
         opacity: 1;
         transform: translateY(0) scale(1);
       }

       .Gh21 {
         opacity: 0;
         transform: translateY(-30px) scale(0.95);
         transition: opacity 0.3s, transform 0.3s;
       }

       .Gh21.animate {
         animation: fadeSlideIn 1s ease-out;
         opacity: 1;
         transform: translateY(0) scale(1);
       }

       .Midashi {
         opacity: 0;
         transform: translateY(-30px) scale(0.95);
         transition: opacity 0.3s, transform 0.3s;
       }

       .Midashi.animate {
         animation: fadeSlideIn 1s ease-out;
         opacity: 1;
         transform: translateY(0) scale(1);
       }
       .gallery13 {
         columns: 4;
         padding: 0 15px;
         margin: 0;
       }

       .gallery13 li {
         margin-bottom: 10px;
         list-style: none;
       }

       .gallery13 img {
         width: 100%;
         height: auto;
         vertical-align: bottom;
       }

       @media only screen and (max-width: 900px) {
         .gallery13 {
           columns: 3;
         }
       }

       @media only screen and (max-width: 768px) {
         .gallery13 {
           columns: 2;
         }
       }

       .custom-style {
         /* Add your custom styles for the 13th gallery container here */
       }




        .news__item2{
          padding: 5px 1px;
            display: flex;
        }


        .Pnaiyou{
       	 font-size: 13px;
          padding: 4px;
          background-color: #ffffffdb;
          border-radius: 20px;
        }

        .col-md-4{
         border-radius: 15px; /* 角を丸くする */
         padding: 20px; /* 内側の余白を追加 */
         box-shadow: 0 0 15px rgba(0, 0, 0, 0.1); /* ほんのり影を追加 */
         background-color: #f0f8fff0;
        margin: 5px;
        display: grid;



        }
        @media (min-width: 768px) {
            .col-md-4 {
                -ms-flex: 0 0 33.333333%;
                flex: 0 0 31.333333%;
                max-width: 31.333333%;
            }
        }

        .slideshow img {
          width: 100%;
          height: auto;
          position: absolute;
          top: 0;
          left: 0;
          transition: opacity 1s;
        }

        .slideshow {
          position: relative;
          height: auto;
        }

        /* レスポンシブ対応 */
        @media (max-width: 768px) {
          .col-md-4 {
            width: 100%;
            margin-bottom: 20px;
          }
        }


        .row2 {
            display: -ms-flexbox;
            display: flex;
            -ms-flex-wrap: wrap;
            /* flex-wrap: wrap; */
            margin-right: -15px;
            margin-left: -15px;
        }
