/*
Theme Name: My Custom Theme
Theme URI: http://ito-izu-banana.com/my-custom-theme
Author: Your Name
Author URI: http://ito-izu-banana.com
Description: A custom theme for WordPress.
Version: 1.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: my-custom-theme
*/

@font-face {
    font-family: "Heisei Mincho";
    src: url("fonts/HeiseiMincho.ttf") format("truetype");
    font-weight: normal;
    font-style: normal;
}

body {
	font-family: "Heisei Mincho", serif;
    padding-top: 60px; /* ヘッダーが固定されるため、コンテンツが隠れないように */
}

/* 固定ヘッダースタイル */
.fixed-header {
    position: fixed; /* 固定表示 */
    top: 0;
    left: 0;
    width: 100%;
    z-index: 1000; /* 最前面に表示 */
    background-color: #fff;
    box-shadow: 0 2px 5px rgba(0, 0, 0, 0.2); /* 影を追加 */
    padding: 10px 0; /* 上下のパディング */
}

.global-nav a {
	text-decoration: none;
	color: #000;
}

.global-nav li {
	list-style: none;
	display: inline-block;
	padding: 0px 20px;
}

.global-nav li:hover {
	opacity: 0.6;
}

.global-nav {
	font-size: clamp(12px, 2vw, 16px);
}

.header-area {
    display: flex;
    justify-content: space-between;
    padding-top: 20px;
    align-items: center;
	margin: 0px 20px;
}

.header-logo a {
    text-decoration: none;
    font-size: 24px;
    color: white;
    font-weight: bold;
}

/* 各メニューのリストスタイル */
#main-nav li {
    position: relative;
    float: left;
    text-align: center;
}

#main-nav li a {
    display: block;
    padding: 16px 0;
    font-size: 18px;
    font-weight: bold;
    text-decoration: none;
}

#main-nav li ul {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    width: 130%;
	background-color: #fff;
    padding: 0;
    margin: 0;
    list-style: none;
}

#main-nav li ul a {
    width: 100%;
}

#main-nav li:hover > ul {
    display: block;
}

/* サブメニューを隠す */
.main-nav .sub-menu {
    display: none; /* 初期状態では非表示 */
}

/* 親メニューにホバーしたときにサブメニューを表示 */
.main-nav li:hover > .sub-menu {
    display: block; /* ホバー時に表示 */
	left: -20px;
    display: block; /* ホバー時に表示 */
    z-index: 1000; /* 他の要素の上に表示 */
}

/* サブメニューを表示 */
.slide-menu li.open > .sub-menu {
    display: block; /* 'open' クラスが付与されたときに表示 */
	z-index: 1000; /* 他の要素の上に表示 */
}


/* スライドメニューのスタイル */
.slide-menu {
    background-color: #fff;
    position: fixed;
    top: 65px;
    width: 100%;
    left: -100%; /* 初期状態では画面外に隠す */
    transition: left 0.3s ease;
    z-index: 999;
}

.slide-menu.active {
    left: 0; /* activeクラスがついたら表示 */
}

/* メニューリンクのスタイル */
.slide-menu .main-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.slide-menu .main-menu li {
    margin: 15px 0;
}

.slide-menu .main-menu a {
    color: #e8af05;
    text-decoration: none;
    font-size: 18px;
    display: block; /* リンクをブロック要素にしてクリックしやすく */
    padding: 10px;
}	

.slide-menu .main-menu a:hover {
	color: #fdcf46;
}

main {
	margin-top: 46px;
}
	
/* スマートフォン用のスタイル調整 */
@media (max-width: 768px) {
	.header-area{
		padding: 20px;
		height: 40px;
	}
		/* ハンバーガーメニューアイコン */
	.hamburger {
		width: 40px;
		height: 25px;
		position: relative;
		cursor: pointer;
		transition: transform 0.3s ease; /* クリック時のトランジション */
	}

	.hamburger span {
		position: absolute;
		width: 100%;
		height: 3px; /* 太さを調整 */
		background-color: #e8af05;
		transition: all 0.3s ease; /* スムーズなアニメーション */
	}

	.hamburger span:first-of-type {
		top: 0;
	}

	.hamburger span:nth-of-type(2) {
		top: 50%;
		transform: translateY(-50%);
	}

	.hamburger span:last-of-type {
		top: 100%;
		transform: translateY(-100%);
	}

	.hamburger.active span:first-of-type {
		transform: rotate(45deg);
		top: 50%;
	}

	.hamburger.active span:nth-of-type(2) {
		opacity: 0; /* 中央のバーを非表示に */
	}

	.hamburger.active span:last-of-type {
		transform: rotate(-45deg);
		top: 50%;
	}
    .main-nav {
        display: none; /* デフォルトのメインナビゲーションは非表示 */
    }

    .hamburger {
        display: block; /* スマートフォン画面でハンバーガーメニューを表示 */
    }

    .slide-menu {
        display: none; /* デフォルトで非表示 */
		margin-top: 30px;
    }

    .slide-menu.active {
        display: block; /* activeクラスで表示 */
    }
	
	.slider {
		top: 0px !important;
	}
	
	.wp-block-image.banana img {
		display: none;
	}
	
	h2.post-title2 {
		font-size: 1rem;
	}
	
	.post-date2 {
		font-size: 0.7rem;
	}
}

.sub-menu li {
	list-style: none;
}

ul > li > ul {
    display: none; /* サブメニューも初期状態で非表示 */
}

ul > li > ul.show {
    display: block; /* 表示状態 */
}

.toggle-icon {
	color: #000;
	font-size: 36px;
}

.menu-item-87 .toggle-icon {
	  position: absolute;
	  right: 30px;
	  top: 134px;
}

.slider {
    position: relative;
	top: 45px;
    width: 100%;
    /*height: 300px;*/ /* スライドショーの高さを指定 */
    overflow: hidden; /* コンテナからスライドがはみ出さないように */
}

.slides {
    position: relative;
    width: 100%;
    height: 100%;
}

.slide {
    position: absolute; /* 各スライドを絶対位置に設定 */
    top: 0px;
    left: 0;
    width: 100%;
    opacity: 0; /* 初期状態は透明 */
    transition: opacity 1s ease-in-out; /* フェードイン・アウトのアニメーション */
}

.slide.active {
    opacity: 1; /* アクティブなスライドのみ表示 */
}

.slide img {
    width: 100%;
    height: auto;
    object-fit: contain; /* 画像をコンテナに収める */
}

/* グリッドコンテナ */
.recent-posts-grid {
    display: grid;
    grid-template-columns: 1fr 1fr; /* 2列レイアウト */
    gap: 20px; /* カード間の余白 */
}

/* 各投稿アイテム */
.post-item {
    border: 1px solid #ddd;
    border-radius: 5px;
    text-align: center;
}

.post-item a {
	text-decoration: none;
	color: #000;
}

/* アイキャッチ画像 */
.post-thumbnail img {
    max-width: 100%;
    height: auto;
    border-radius: 5px;
}

/* タイトルのスタイル */
.post-title a {
    display: block;
    margin-top: 10px;
    font-size: 16px;
    font-weight: bold;
    color: #333;
    text-decoration: none;
}

/* 投稿日のスタイル */
.post-date {
    font-size: 14px;
    color: #666;
    margin-top: 5px;
}

.featured-posts-grid {
	width: 50%;
	margin: auto;
}

/* 各投稿アイテム */
.featured-post-item {
    border: 1px solid #ddd;
    padding: 10px;
    border-radius: 5px;
	background-color: #fff;
    text-align: center;
}

.featured-post-item a {
	text-decoration: none;
	color: #000;
}

/* アイキャッチ画像 */
.featured-post-thumbnail img {
    max-width: 100%;
    height: auto;
    border-radius: 5px;
}

/* タイトルのスタイル */
.featured-post-title {
    font-size: 16px;
    font-weight: bold;
    color: #333;
    text-decoration: none;
}

.featured-post-details {
    display: flex;
    align-items: center; /* 縦に中央揃え */
}

.featured-post-date {
    margin-right: 10px; /* タイトルとの間にスペースを追加 */
    font-size: 0.9em; /* 日付のフォントサイズを調整 */
    color: #666; /* 日付の色を調整 */
}

#post-list {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-around; /* アイテム間のスペースを均等に */
}

.post-item2 {
    width: calc(33.33% - 20px); /* 3列にするための幅設定 */
    margin-bottom: 20px; /* 下部のマージン */
    box-sizing: border-box; /* パディングやボーダーを含めた幅計算 */
	border: 1px solid #ddd;
    border-radius: 5px;
    text-align: center;
}

.post-thumbnail2 {
    margin-bottom: 10px;
}

.post-title2 {
    font-size: 1.5em;
    margin: 0;
}

.post-title2 a {
	text-decoration: none;
	color: #000;
}

.post-date2 {
    color: #666;
    font-size: 0.9em;
}

.scroll-to-top {
    display: none;
    position: fixed;
    bottom: 70px;
    right: 20px;
    background-color: #e8af05;
    color: #fff;
    padding: 10px 15px;
    border-radius: 100%;
    text-align: center;
	text-decoration: none;
    font-size: 14px;
    z-index: 1000;
}

.scroll-to-top:hover {
    background-color: #fdcf46;
}

.wp-block-image.banana img {
	transform: translate(-50%, -50%);
}

.wp-block-image.banana2 {
	margin-top: -300px;
}

.wp-block-image.banana3 {
	margin-left: 700px;
}

.wp-block-social-links.aligncenter{
	background-color: #fff1c6;
	padding: 10px 0px 40px 0px
}

.news {
	border-left: solid 2px #000;
}

.kanrinin {
	border: solid 1px #d4a51b;
}

.attachment-thumbnail.size-thumbnail.wp-post-image {
	width: 100%;
	height: 50%;
}

.post-title {
	font-size: 24px;
}

.category-label {
	margin-right: 20px;
}

.page-id-562 h1 {
	text-align: center
}

#wpcf7-f561-p562-o1 {
	text-align: center;
}

.wpcf7-form-control.wpcf7-submit.has-spinner {
	color: #fff;
  border-radius: 9999px;
  box-shadow: none;
  text-decoration: none;
  padding: calc(.667em + 2px) calc(1.333em + 2px);
  font-size: 1.125em;
  background-color: #f1bd22;
	cursor: pointer;
	border: none;
}

#load-more {
	color: #fff;
  border-radius: 9999px;
  box-shadow: none;
  text-decoration: none;
  padding: calc(.667em + 2px) calc(1.333em + 2px);
  font-size: 1.125em;
  background-color: #f1bd22;
	cursor: pointer;
	border: none;
	margin-top: 20px;
}

.button-container {
	margin-top: 30px;
	margin-bottom: 30px;
	text-align: center; /* 中央揃え */
}

.category-select1 {
	text-align: center;
	font-size: 24px;
}

#category-select {
	font-size: 24px;
	border-radius: 40px;
	background-color: #f1bd22;
	color: #fff;
	padding: 10px;
	margin-bottom: 20px;
}

.footer-nav {
    text-align: center;
    margin-bottom: 20px;
}

.footer-menu {
    list-style: none;
    padding: 0;
    margin: 0;
}

.footer-menu li {
    display: inline;
    margin: 0 15px;
}

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

.footer-menu a:hover {
    text-decoration: underline;
}

.copyright {
    color: #fff;
    background-color: #e8af05;
    font-size: 12px;
    letter-spacing: 0.05em;
    line-height: 1.3;
    text-align: center;
    padding: 18px 0;
}