body {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
	font-family: 'klee','Avenir','Segoe UI','ヒラギノ丸ゴ ProN','Hiragino Maru Gothic ProN','メイリオ', Meiryo,'Hiragino Kaku Gothic ProN','ヒラギノ角ゴ ProN W3',"Meiryo UI", "Hiragino Sans", "Yu Gothic UI", "MS PGothic", "Hiragino Kaku Gothic ProN", sans-serif;
}
a {
    text-decoration: none;
    color: #000;
}
li {
    list-style: none;
}
.wrap0 {
    width: 100%;
    overflow: hidden;
}
.page-id-613 under_cta{
	display: none;
}
/*------------------------------------------*/
#header {
    width: 100%;
    background-color: #fff;
    position: relative;
}
nav.navbar {
    width: 100%;
    height: 70px;
    left: 0;
    top: 0;
    display: flex;
    justify-content: space-around;
    align-items: center;
}

nav .logo {
    width: 20%;
}
nav h1 img {
    width: 120%;
}
#menu-globalnavi {
	padding: 0 0 10px 0;
}
ul.w-menu {
	padding: 0;
}
.w-menu li {
    display: inline-block;
	text-align: center;
    list-style: none;
    padding: 5px 10px 5px 10px;
    position: relative;
	font-size: 14px;
}
.w-menu a::after {
  content: attr(data-desc);
	display: block;
	text-align: center;
		font-size: 20px;
	letter-spacing : -0.05em;
	margin-top: -6px;
}
.w-menu li {
    display: inline-block;
    list-style: none;
    padding: 5px;
    position: relative;
}
nav ul li a {
    text-decoration: none;
    color: #000;
    position: relative;
}
.g-navlinks::after {
    content: "";
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%,-50%);
    width: 2.5rem;
    height: 2.5rem;
    background-color: #f8d4d4;
    border-radius: 50%;
    z-index: -1;
}
.circle {
    position: absolute;
    top: 50%;
    right: 50%;
    transform: translate(50%, -50%);
    width: 2.5rem;
    height: 2.5rem;
    border-radius: 50%;
    background-color: #ffffff00;
    z-index: -1;
    transition: .3s;
  }
.menu li a:hover + .circle {
    background-color: #f8d4d4;
  }

nav.sticky {
    position: fixed;
    width: 100%;
    height: 70px;
    left: 0;
    top: 0;
    background-color: white;
    display: flex;
    justify-content: space-around;
    align-items: center;
    transition: 0.4s;
    z-index: 40;
}
.tel {
    display: block;
    margin: 20px 20px;
    border-left: 1px solid #000;
    padding-left: 10px;
    z-index: 40;
}
#mask {
    display: none;
}
.mobilemenu {
    display: none;
}
.bm {
    display: none;
}
.cascade {
    width: 300px;
    position: absolute;
    top: 60px;
    right: -300px;
    background-color: #fff;
    opacity: 0;
}

/*---------------------------------------------
ヘッダーここまで
----------------------------------------------*/

.maincontent {
    width: 100%;
    display: block;
	z-index: 40;
	margin-top: 20px;
}
/*---------------------------------------------
記事内容の部分
----------------------------------------------*/
/*固定ページ*/
.page_content {
	width: 96%;
	margin: 0 auto;
}
.pagewrap {
    width: 98%;
    margin: 0 auto;
}
.classname {
    box-shadow: 4px 4px 1px #ccc;
}
.classA {
box-shadow: 4px 4px 2px #ccc !important;
}
/*公演実績用テンプレート*/
/*枠*/
.single_content ul {
	padding: 0;
}
.stage_box {
	box-shadow: 0 3px 5px rgba(139, 139, 139, 0.22);
	display: flex;
	flex-direction: left;
	height: 160px;
	margin: 0 0 20px 0;
}
   
.stage_box a{
	width: 160px;
	background-color: #fff;
	padding: 0;
}
.stage_box a:hover {
		color: #a2a2a2;
	}
/*テキスト*/
.stage_box_text {
	margin-top: 0;
	padding: 8px;
	font-size: 14px;
	letter-spacing: -0.04em;
	line-height: 1.2rem;
}
/*画像*/
.stage_box_img {
	width: 160px;
	height: 160px;
	margin-top: 0;
	margin-bottom: 0;
}
.stage_box_img  img{
  width: 160px;
height: 160px;
	overflow: hidden;
	object-fit: cover;
	object-position: top;
}
/*------------------------
 *表のヘッダー固定
----------------------------*/
.wp-block-table table {
	overflow: visible;
	width: 100%;
}
.wp-block-table table thead {
	position: sticky!important;
	top: 0;
	height: 40px;
	z-index: 20;
}
/*----------------------
 * お問合せページ
 * ----------------------*/
/*------------------------------------------
 コンタクトフォーム
--------------------------------------------*/
/************************************
** お問い合わせフォームの入力
************************************/
#cf-tbl{
width: 100%;
}

#cf-tbl table{
width: 100%;
border-collapse: collapse;
border: solid #CCC;
border-width: 1px;
color: #444;
}
#cf-tbl table tr th,
#cf-tbl table tr td{
padding: 0.5em;
text-align: left;
vertical-align: top;
border: solid #CCC;
border-width: 1px;
vertical-align: middle;
}
#cf-tbl table tr th{
width: 28%;
}
#cf-tbl table tr th p{
font-size: 14px;
}

.wpcf7-response-output {
	border-color: #F78DA7!important;
}
@media screen and (max-width:768px){
#cf-tbl{
width: 96%;
}

#cf-tbl table,
#cf-tbl table tbody,
#cf-tbl table tr,
#cf-tbl table tr th,
#cf-tbl table tr td{
display: block;
}

#cf-tbl table{
width: 100%;
border-width: 0 0 1px 0;
}

#cf-tbl table tr th,
#cf-tbl table tr td{
width: 100%;
padding: 1% 2%;
}
	#cf-tbl table tr th p {
		margin: 2px 0;
	}
		#cf-tbl table tr td p {
		margin: 2px 0;
	}
	#cf-tbl table tr th {
		border-bottom: none;
}
#cf-tbl table tr td{
border-width: 0px 1px 0px 1px;
}

textarea.wpcf7-form-control.wpcf7-textarea {
	height: 100px;
}
input.wpcf7-submit {
width: 250px;
}
}
/*「必須」文字デザイン*/
.required{
font-size:.6em;
padding: 5px;
background: #F78DA7;
color: #fff;
border-radius: 3px;
margin-right: 5px;
}

/* 入力項目を見やすく */
select.wpcf7-form-control.wpcf7-select, 
textarea.wpcf7-validates-as-required {
	width: 100%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: rgb(146, 227, 197);
}
input.wpcf7-form-control.wpcf7-text,
textarea.wpcf7-form-control.wpcf7-textarea {
	width: 90%;
	padding: 8px 15px;
	margin-right: 10px;
	margin-top: 10px;
	border: 1px solid #d0d5d8;
	border-radius: 3px;
	background-color: #fff7ed;
}
textarea.wpcf7-form-control.wpcf7-textarea {
	height: 200px;
}

/* 「送信する」ボタン */
input.wpcf7-submit {
    display: block;
    padding: 15px;
    width: 200px;
    background: rgb(146, 227, 197);
	border-color: rgb(146, 227, 197);
	color:#fff;
    font-size: 16px;
    font-weight: 400;
    border-radius: 4px;
    margin: 15px auto 0
}

input.wpcf7-submit:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
}
input.wpcf7-confirm {
    display: block;
    padding: 15px;
    width: 200px;
    background: rgb(146, 227, 197);
	border-color: rgb(146, 227, 197);
	color:#fff;
    font-size: 16px;
    font-weight: 400;
    border-radius: 4px;
    margin: 15px auto 0
}

input.wpcf7-confirm:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
}
input.wpcf7-back {
    display: block;
    padding: 15px;
    width: 200px;
    background: rgb(146, 227, 197);
	border-color: rgb(146, 227, 197);
	color:#fff;
    font-size: 16px;
    font-weight: 400;
    border-radius: 4px;
    margin: 15px auto 0
}

input.wpcf7-back:hover {
	box-shadow: 0 15px 30px -5px rgba(0,0,0,.15), 0 0 5px rgba(0,0,0,.1);
	transform: translateY(-4px);
	opacity:0.7;
}
/* エラーメッセージを見やすく */
span.wpcf7-not-valid-tip,
.wpcf7-response-output.wpcf7-validation-errors {
	color: red;
	font-weight: 600;
}
/*----------------------
 投稿ページ
------------------------*/
.singlewrap {
    width: 96%;
    margin: 0 auto;
	display: flex;
}

.widget-sidebar {
	padding: 0;
}
.contentwrap {
	width: 70%;
}
.main_post {
    width: 96%;
    margin: 40px 10px 0 10px;
}
.single_content {
	width: 96%;
	margin: 0 auto;
}
.wp-block-archives-list {
	padding-left: 0;
}
.wp-block-categories-list {
	padding-left: 0;
}
/*-----------パンクズリスト-------------*/
/*固定・投稿ページ共通*/
p.post_time {
	margin-bottom: 0;
}
.bread ol {
    display: flex;
	padding: 0;
	margin-top: 0;
}
.bread ol li {
    font-size: 10px;
}
/*申し込み*/
.cta_area a{
    margin: 10px auto 0 auto;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    letter-spacing: 0;
    transform: translateY(10px);
}
.under_cta {
	position: fixed;
	top: 10vw;
	left: 84vw;
	z-index: 50;
    margin: 0 auto;
    width: 8rem;
    height: 8rem;
    border-radius: 50%;
    background-color: #bce2e8;
    text-align: center;
	font-size: 80%;
	opacity: 0.9;
}
.under_cta img {
	width: 50%;
}
.under_cta a {
	margin-top: -10%;
}
/*---------------------------------------------
カテゴリー　アーカイブ　ページ
----------------------------------------------*/
ul.meta {
	padding: 0;
}
.cpostlist {
    display: flex;
}
.cpostdate {
	font-size: 14px;
}
.cpostthumnail {
	width: 170px;
	height: 170px;
	background-color: #ccc;
	border: solid 0.75px #ccc;
}
.cpostthumnail a img{
	width: 170px;
	height: 170px;
	object-fit: cover;
	object-position: middle;
}
.cposttextarea {
	height: 170px;
	margin-left: 10px;
}
.cpostinfotitle a h2{
	font-size: 20px;
	margin-top: 0;
}
.cposttext {
	font-size: 16px;
	line-height: 1.2em;
	text-align: justify;
}
.readmore {
	width: 100px;
	text-align: center;
	margin-top: 30px;
	border-radius: 3px;
	background-color: #f8d4d4;
}
.readmore a {
	color: #fff;
}
a.readmore {
	width: 100px;
	text-align: center;
	margin-top: 30px;
	border-radius: 3px;
	background-color: #f8d4d4;
	color: #fff;
}

/*ペジネーション*/
.pnavi {
	text-align: center;
}

.pagination .page-numbers{
   display:inline-block;
   margin-right:20px;
   padding:15px 23px;
   color:#333;
   border-radius:3px;
   box-shadow:0 3px 3px #999;
   background:#fff;
}
.pagination .current{
   padding:15px 23px;
   background:#bcaad2;
   color:#fff;
}
.pagination .prev,
.pagination .next{
   background:transparent;
   box-shadow:none;
   color:#bcaad2;
}
.pagination .dots{
   background:transparent;
   box-shadow:none;
}
.pagination{
   margin: 20px 20px;
}
.nextpage {
	display: flex;
	justify-content: space-around;
	margin-bottom: 20px;
}
.nextpage a {
	text-align: center;
	width: 120px;
	background-color: #bcaad2;
	border-radius: 3px;
	color: #fff;
}
/*固定ページ用ページネーション*/
.pnavi {
	text-align: center;
}

.pagenation .page-numbers{
   display:inline-block;
   margin-right:20px;
   padding:15px 23px;
   color:#333;
   border-radius:3px;
   box-shadow:0 3px 3px #999;
   background:#fff;
}
.pagenation .current{
   padding:15px 23px;
   background:#bcaad2;
   color:#fff;
}
.pagenation a.prev,
.pagenation a.next{
   background:transparent;
   box-shadow:none;
}
.pagenation a .dots{
   background:transparent;
   box-shadow:none;
}
.pagenation a{
   margin: 20px 20px;
}
/*--------------------------------------------
ギャラリー用 
----------------------------------------------*/
.gallery-img {
	display: block;
}
.gallery-img ul {
	width: 100%;
	padding:0;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	flex-direction: row;
}
.gallery-img li {
	padding-right: 8px;
}
.gallery-img img {
	width:170px;
	height:170px;
	padding-bottom: 10px;
	object-fit: cover;
}

/*---------------------------------------------
 サイドバー
 ----------------------------------------------*/
.sidebar {
	width: 26%;
}
/*---------------------------------------------
フッター
----------------------------------------------*/
#footer {
	background-color: #f9f9f9;
	border-top: solid 2px #bce2e8;
}
.footer_main {
	display: flex;
    justify-content: center;
	
}
.footer_main_center {
	margin: 40px 30px 0 30px;
}
.footer_main_right {
	flex-grow: 1.1;
}
.copyright {
    text-align: center;
    background-color: #bce2e8;
}
@media screen and (max-width: 800px) {
.footer_main {
	width: 96%;
	margin: 0 auto;
}
ul.widget1 {
	padding-left: 10px;
}
ul.widget2 {
	padding-left: 10px;
}
ul.widget3 {
	padding-left: 10px;
}
/*----------------------------
ここからモバイル用のCSS
-----------------------------*/

@media screen and (max-width: 960px) {
    #mask {
        display: none;
    }
    .mv3 {
        display: none;
    }
    #header {
        width: 100%;
        background-color: #fff;
        position: relative;
    }
		#menu-globalnavi-1 {
		padding-left: 0;
	}
    nav.navbar {
        width: 100%;
        height: 60px;
        display: flex;
        justify-content: space-between;
        align-items: center;
        position: fixed;
        background-color: #fff;
    }
    .logo img {
        padding-left: 10px;
		padding-top: 10px;
        width: 180%;
    }
    .w-menu {
        display: none;
    }
    .tel {
        display: none;
    }
    .mobilemenu {
        display: block;
        display: flex;
        justify-content: end;
        align-items: center;
    }
    .taiken {
        display: block;
        text-align: center;
        font-size: 12px;
        width: 70px;
        height: 60px;
        margin: 0 auto;
        border-left: solid 1px;
    }
    .toiawase {
        display: block;
        text-align: center;
        font-size: 12px;
        width: 70px;
        height: 60px;
        background-color: #000;
        color: #fff;
    }
    .taiken p {
		line-height: 0.9em !important;
		margin: 4px auto;
		text-align: center;
		display: block;
	}
	.taiken p::before {
		content: url("https://katayama-organic-farm.com/wp-content/uploads/2025/10/ninjin.svg");
		display: block;
		margin: 0 auto 4px auto;
		width: 20px;
		height: 20px;
	}
    .toiawase p {
		line-height: 0.9em !important;
		margin: 4px auto;
		text-align: center;
		display: block;
		color: #fff;
	}
	.toiawase p::before {
		content: url("https://katayama-organic-farm.com/wp-content/uploads/2025/10/whitemail.svg");
		display: block;
		margin: 0 auto 4px auto;
		width: 20px;
		height: 20px;
	}
	
    .bm {
        display: block;
        text-align: center;
        width: 70px;
        margin: 0 auto;
        cursor: pointer;
    }
    .bgtitle {
        display: block;
        position: fixed;
        top: 3%;
        right: 10px;
        font-size: 12px;
        color: #3e505a;
        text-align: center;
    }
    .burger {
        display: block;
        position: fixed;
        top: 2.4%; 
    }
    .burger div {
        position: absolute;
        display: block;
        left: 20px;
        width: 28px;
        height: 1.4px;
        background-color: #3e505a;
        transition: all 0.5s;
        border-radius: 4px;
    }
    .burger div:nth-child(1) {
        top: 4px;
    }
    .burger div:nth-child(2) {
        top: 14px;
    }
    .burger div:nth-child(3) {
        bottom: 4px;
    }

    .open .mobilemenu .bm .burger div:nth-child(1) {
        transform: translateY(-4.5px) rotate(-315deg);
    }
    .open .mobilemenu .bm .burger div:nth-child(2) {
        opacity: 0;
    }
    .open .mobilemenu .bm .burger div:nth-child(3) {
        transform: translateY(4.5px) rotate(315deg);
    }
    #mask {
        transition: all 0.5s;
    }
    .open #mask {
        display: block;
        position: absolute;
        background-color: #40db88;
        width: 100%;
        height: 100%;
        top: 60px;
        left: 0;
        position: fixed;
        opacity: 0.6;
        cursor: pointer;
    }
    .open .cascade {
        width: 210px;
        height: 400px;
        position: absolute;
        top: 60px;
        right: 0;
        background-color: #fff;
        opacity: 1;
    }
    ul.c-menu {
        padding-left: 16px;
        padding-right: 16px;
    }
    .c-menu li {
        display: block;
        margin: 0;
        border-bottom: 1px solid #3e505a;
    }
    .c-menu li a {
        display: block;
        color: #3e505a;
        font-weight: 16px;
        transition-duration: 0.2s;
		padding-top: 20px;
    }
	ul#menu-header_menu-1{
		padding-inline-start: 0!important;
	}
		.under_cta {
		display: none;
	}
/*テキスト*/
.stage_box_text {
	line-height: 1rem;
}
.stage_box_text h3 {
	font-size: 1rem;
	}

/*投稿ページ*/
	.maincontent {
		margin-top:80px;
	}
	.single_title_area h1{
		margin-bottom: 0;
	}
.singlewrap {
    width: 96%;
    margin: 0 auto;
	display: block;
}
	.contentwrap {
		width: 100%;
	}
	.single_content {
	width: 100%;
}
	.cpostlist {
		height: 180px;
	}
	.cpostinfotitle a h3 {
		font-size: 90%;
	}
	.cpostthumnail {
	width: 140px;
	height: 140px;
	background-color: #ccc;
	border: solid 0.75px #ccc;
}
.cpostthumnail a img{
	width: 140px;
	height: 140px;
	object-fit: cover;
	object-position: middle;
}
	.cposttextarea {
		height: 140px;
	}
	.cposttext {
		font-size: 80%;
	}
	.readmore {
		margin-top: 10px;
	}

/*----- サイドバー-----------*/
.sidebar {
	width: 100%;
}
/*フッター*/
    .footer_main {
    display: block;
		margin: 0 auto;
    }
	.footer_main_left {
		width: 96%;
		margin: 0 auto;
	}
	ul.widget1 {
		padding: 0 20px 0 20px;
	}
	ul.widget2 {
		padding: 0 20px 0 20px;
	}
	ul.widget3 {
		padding: 0 20px 0 20px;
	}
}