/*
Theme Name: Garden Grove Child
Version: 1.0
Description: Child Theme for Garden Grove
Author: CASA CUESTA
Template: gardengrove
*/

/*-------------------------------------------
Common
-------------------------------------------*/
body,z
button,
input,
select,
textarea {
font-family: "Yu Gothic", "YuGothic", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Hiragino Sans", sans-serif;
	letter-spacing: 0.2px;
}

ul, ol {
  padding-left: 15px;
}

.post-entry ul li, .post-entry ol li {
font-size: 13px;
}




@media only screen and (max-width: 480px) {
	    body {
        font-size: 14px;
    }
	body .post-entry {
    padding: 20px 20px 0 20px;
}
	.container {
        width: 90%;
    }

}

/*-------------------------------------------
Link
-------------------------------------------*/
.cat a {
  background: #000;
  color: #fff !important;
  padding: 1px 4px;
  line-height: 100%;
  margin-right: 3px;
	font-size: 9px;
}

/*-------------------------------------------
Headline
-------------------------------------------*/
.page-introduce-title {
  font-size: 24px;
}
.page .post-header h1::after, .page .post-header h2::after {
  width: 60px;
  height: 2px;
  margin: 12px auto;
}
.page-container .post-header h1 {
  text-align: center;
  letter-spacing: 0.05rem;
}

h3.featured-posts-title{
	font-weight:400;
	font-size:20px;
}

h3{
	font-weight:600;
}

.post-header h1::before, .post-header h2::before {
  content: none;
}

/*-------------------------------------------
Header
-------------------------------------------*/
/* 上部グレーのセカンダリーナビを非表示 */
#mobile-social-items a {
	color:#000;
}
.secondary-navigation-wrapper.header-3 {
	display: none !important;
}

/* PC：CONTACTの右横 */
.main-navigation .nav-menu > li.header-menu-social {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-left: 22px;
	padding: 0;
}

.main-navigation .header-menu-social > a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 20px;
	height: 40px;
	padding: 0;
	margin: 0;
	color: #222;
	font-size: 17px;
	line-height: 1;
	text-decoration: none;
}

.main-navigation .header-menu-social > a:hover {
	color: #888;
}

/* 通常メニューの下線装飾を付けない */
.main-navigation .header-menu-social > a::before,
.main-navigation .header-menu-social > a::after,
.main-navigation .header-menu-social::before,
.main-navigation .header-menu-social::after {
	content: none !important;
	display: none !important;
}

.header-menu-social a{
		font-size:30px !important;
	margin-top: 7px !important;
margin-right:17px !important;
	}
	

/* スマホ：ハンバーガーメニュー内 */
@media screen and (max-width: 900px) {

	.main-navigation .nav-menu > li.header-menu-social {
		display: flex !important;
		align-items: center;
		justify-content: flex-start;
		gap: 18px;
		width: 100%;
		margin: 10px 0 0;
		padding: 18px 20px;
		border-top: 1px solid #ddd;
	}


	.main-navigation .header-menu-social > a {
		width: 28px;
		height: 28px;
		padding: 0;
		font-size: 20px;
	}
}


/*
.secondary-navigation-wrapper.header-3{
	display:none;
}
*/
.main-navigation .nav-menu > li.current_page_item > a::after, .main-navigation .nav-menu li.current-menu-item > a::after {
  height: 2px;
}
#main-header.header-3 {
  padding: 20px 0;
}
.header-3 .container-logo {
  width: 17%;
}

.mobile-search-area a i {
    background: none;
    padding: 0px;
}

/*-------------------------------------------
Tablet / SP Header
ロゴ・ハンバーガー・SNS・検索を1列にする
-------------------------------------------*/
@media screen and (max-width: 1024px) {
	
	#sidebar-nav-logo:before {
    content: none;
}
	
	/* タブレット・スマホ：SNS → 検索 → ハンバーガー */
@media screen and (max-width: 1024px) {

	#main-header.header-3 #mobile-social-items {
		order: 1 !important;
	}

	#main-header.header-3 .mobile-search-area {
		order: 2 !important;
	}

	#main-header.header-3 .button-menu-mobile {
		order: 3 !important;
	}
}

	#main-header.header-3 .container-banner {
		position: relative;
		top: 10px;
	}
	    #main-header.header-3 #main-top-wrapper {
        border: 0px;
    }
	
	#logo h1 a.custom-logo-link,#logo h2 a.custom-logo-link{
		    display: none;
	}
	
	#main-header.header-3 #main-top-wrapper img {
    height: auto;
    max-height: none;
    width: 170px;
}

@me
	
	/* ヘッダー */
	#main-header.header-3 {
		padding: 0 !important;
	}

	#main-header.header-3 #main-top-wrapper {
		padding: 0 !important;
	}

	/* ロゴ側とボタン側を横並び */
	#main-header.header-3 #main-top-wrapper > .container {
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		flex-wrap: nowrap !important;

		width: 100% !important;
		min-height: 50px;
		padding: 0 20px !important;
		margin: 0 auto !important;
		        max-width: none;
	}

	/* ロゴ */
	#main-header.header-3 .container-logo {
		display: block !important;
		flex: 0 0 auto !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		text-align: left !important;
	}

	#main-header.header-3 .container-logo #logo,
	#main-header.header-3 .container-logo h1,
	#main-header.header-3 .container-logo h2 {
		display: block !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		line-height: 1 !important;
	}


	/* モバイルロゴを表示 */
	#main-header.header-3 .container-logo .custom-mobile-logo-link {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#main-header.header-3 .container-logo .custom-mobile-logo-link img {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
		width: 155px !important;
		max-width: none !important;
		height: auto !important;
		margin: 0 !important;
	}

	/* 区切り要素を消す */
	#main-header.header-3 .container-separator {
		display: none !important;
	}

	/* ハンバーガー・SNS・検索側 */
	#main-header.header-3 .container-banner {
		flex: 0 0 auto !important;
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
	}

	#main-header.header-3 .main-navigation-wrapper {
		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#main-header.header-3 .main-navigation-wrapper > .clearfix {
		display: flex !important;
		align-items: center !important;
		justify-content: flex-end !important;
		flex-wrap: nowrap !important;
		gap: 14px;
	}

	/* PCメニューは非表示 */
	#main-header.header-3 .main-navigation {
		display: none !important;
	}

	/* ハンバーガー */
	#main-header.header-3 .button-menu-mobile {
		position: static !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		order: 1;

		width: 40px !important;
		height: 40px !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		transform: none !important;
	}

	#main-header.header-3 .button-menu-mobile i {
		font-size: 25px !important;
		line-height: 1 !important;
	}

	/* SNS */
	#main-header.header-3 #mobile-social-items {
		position: static !important;
		display: block !important;
		order: 2;

		width: auto !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		transform: none !important;
	}

	#main-header.header-3 #mobile-social-items .top-social-items-inner {
		display: flex !important;
		align-items: center !important;
		flex-wrap: nowrap !important;
		gap: 12px;
	}

	#main-header.header-3 #mobile-social-items a {
		display: inline-flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 24px !important;
		height: 36px !important;
		margin: 0 !important;
		padding: 0 !important;

		font-size: 20px !important;
		line-height: 1 !important;
	}

	/* 検索 */
	#main-header.header-3 .mobile-search-area {
		position: static !important;
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;
		order: 3;

		width: 40px !important;
		height: 40px !important;
		margin: 0 !important;
		padding: 0 !important;
		float: none !important;
		transform: none !important;
	}

	#main-header.header-3 .mobile-search-area a {
		display: flex !important;
		align-items: center !important;
		justify-content: center !important;

		width: 40px !important;
		height: 40px !important;
		margin: 0 !important;
		padding: 0 !important;
	}

	#main-header.header-3 .mobile-search-area i {
		font-size: 20px !important;
		line-height: 1 !important;
	}
}


/*-------------------------------------------
Smartphone
-------------------------------------------*/
@media screen and (max-width: 767px) {
#main-header.header-3 {
    padding: 0;
}
	
	#main-header.header-3 #main-top-wrapper > .container {
		min-height: 76px;
		padding: 0 14px !important;
	}

	/* スマホロゴ */
	#main-header.header-3 .container-logo .custom-mobile-logo-link img {
		width: 115px !important;
	}

	#main-header.header-3 .main-navigation-wrapper > .clearfix {
		gap: 7px;
	}

	/* ハンバーガー */
	#main-header.header-3 .button-menu-mobile {
		width: 34px !important;
		height: 34px !important;
	}

	#main-header.header-3 .button-menu-mobile i {
		font-size: 23px !important;
	}

	/* SNS */
	#main-header.header-3 #mobile-social-items .top-social-items-inner {
		gap: 6px;
	}

	#main-header.header-3 #mobile-social-items a {
		width: 18px !important;
		height: 30px !important;
		font-size: 16px !important;
	}

	/* 検索 */
	#main-header.header-3 .mobile-search-area,
	#main-header.header-3 .mobile-search-area a {
		width: 34px !important;
		height: 34px !important;
	}

	#main-header.header-3 .mobile-search-area i {
		font-size: 18px !important;
	}
}
/*-------------------------------------------
Footer
-------------------------------------------*/
/* ========================================
   Footer navigation
======================================== */

#footer-copyright .container {
	text-align: center;
}

#footer-copyright #footer-logo {
	margin-bottom: 30px;
}

/* nav全体 */
#footer-copyright .footer-navigation {
	width: 100%;
	margin: 0 auto 30px;
	padding: 0;
}

/* ulのテーマ既存CSSをリセット */
#footer-copyright .footer-navigation__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 12px 28px;

	width: 100%;
	margin: 0;
	padding: 0;

	list-style: none;
	text-align: center;
}

/* 黒丸・余白を完全に削除 */
#footer-copyright .footer-navigation__list li {
	display: block;
	margin: 0;
	padding: 0;
	list-style: none;
}

#footer-copyright .footer-navigation__list li::before,
#footer-copyright .footer-navigation__list li::after {
	display: none;
	content: none;
}

/* リンク */
#footer-copyright .footer-navigation__list a {
	display: block;
	padding: 3px 0;

	color: #111;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.5;
	letter-spacing: 0.04em;
	text-decoration: none;

	transition: opacity 0.3s ease;
}

#footer-copyright .footer-navigation__list a:hover {
	opacity: 0.5;
}

/* SNSとの間隔 */
#footer-copyright #footer-social-items-inner {
	margin-top: 0;
	margin-bottom: 30px;
}

/* コピーライト */
#footer-copyright .container > p:last-child {
	margin: 0;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
}

/* スマホ */
@media screen and (max-width: 767px) {

	#footer-copyright #footer-logo {
		margin-bottom: 24px;
	}

	#footer-copyright .footer-navigation {
		margin-bottom: 26px;
	}

	#footer-copyright .footer-navigation__list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px 16px;
		max-width: 340px;
		margin-right: auto;
		margin-left: auto;
	}

	#footer-copyright .footer-navigation__list a {
		font-size: 12px;
	}

	#footer-copyright #footer-social-items-inner {
		margin-bottom: 24px;
	}
}

.map-embed {
  width: 100%;
  aspect-ratio: 16 / 7;
}

.map-embed iframe {
  width: 100%;
  height: 100%;
  border: 0;
  display: block;
}

.footer-recent-posts__item {
  display: flex;
  gap: 16px;
  padding: 18px 0;
  border-bottom: 1px solid #eee;
}

.footer-recent-posts__thumb {
  width: 80px;
  flex-shrink: 0;
}

.footer-recent-posts__thumb img {
  width: 80px;
  height: 80px;
  object-fit: cover;
  display: block;
}

.footer-recent-posts__body {
  flex: 1;
}

.footer-recent-posts__title {
  font-weight: 700;
  line-height: 1.5;
}

.footer-recent-posts__title a {
  color: inherit;
  text-decoration: none;
}

.footer-recent-posts__date {
  margin-top: 4px;
  color: #777;
  font-size: 14px;
  line-height: 1.4;
}

.footer-recent-posts__category {
  margin-top: 4px;
  font-size: 13px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.footer .footer-recent-posts__category a {
	background: #000;
  color: #fff;
  padding: 0 3px;
  font-size: 8px;
  text-decoration: none;
}
.veu_postList .postList_date {
  color: #666;
  font-size: 12px;
}

.widget .sub-menu a, .widget_pages .page_item ul a {
  font-style: normal;
}

@media screen and (max-width: 767px) {
  .map-embed {
    aspect-ratio: 4 / 5;
  }
}

/*-------------------------------------------
Widget
-------------------------------------------*/
.widget_block h2{
	margin-top:0;
}
#sidebar .widget-title {
  border-bottom: 2px solid #000;

}
#sidebar .widget-title::after {
  content: none;
}
.tribe-common .tribe-common-h--alt {
  font-size: 24px;
  font-weight: 500;
}
/*-------------------------------------------
Top page
-------------------------------------------*/

/* pick up：タグ */
.featured-post-category {
  margin-top: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
	border-top: 1px solid #ddd;
  padding-top: 15px;
}

.featured-post-category a {
  display: inline-block;
  background: #111;
  color: #fff;
  text-decoration: none;
  font-size: 11px;
  line-height: 1;
  letter-spacing: 0.08em;

  text-transform: uppercase;
	padding: 2px 6px;
  line-height: 140%;
  margin-right: 3px;
  font-size: 9px;
}

.featured-post-category a:hover {
  opacity: 0.65;
  color: #fff;
}

/* トップKV：タイトル下のタグ */
.featured-area[data-slider-type="slider"] .slider-tags {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin-top: 22px;
}

.featured-area[data-slider-type="slider"] .slider-tags a {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 20px;
  padding: 0px 13px;
  color: #fff;
  font-size: 13px;
  font-weight: 500;
  line-height: 1;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  text-decoration: none;
/*  backdrop-filter: blur(2px);*/
}

.featured-area[data-slider-type="slider"] .slider-tags a:hover {
  background: #fff;
  color: #000;
  border-color: #fff;
}

/* 白文字をより読みやすく */
.featured-area[data-slider-type="slider"] .slider-item h2 {
  text-shadow: 0 3px 14px rgb(0 0 0 / 55%);
}

.featured-area[data-slider-type="slider"] .slider-tags {
  text-shadow: none;
}

.featured-area[data-slider-type="slider"] .item-header-wrapper {
  background: none;
  width: 100%;
}
.featured-area[data-slider-type="slider"] .slider-item h2{
	max-width:none;
}

.side-item .side-image .side-item-category-inner {
  padding: 2px 12px;
}

/* トップKV 背景画像を暗くして白文字を読みやすくする */
.featured-area[data-slider-type="slider"] .slider-item {
  position: relative;
  overflow: hidden;
}

.featured-area[data-slider-type="slider"] .slider-item::before {
  content: "";
  position: absolute;
  inset: 0;
  background: rgb(0 0 0 / 1%);
  z-index: 1;
  pointer-events: none;
}

.featured-area[data-slider-type="slider"] .slider-item .container {
  position: relative;
  z-index: 2;
}

.featured-area[data-slider-type="slider"] .item-header-wrapper{
	background:none;
}

.slider-item .cat a {
background: #000;
  color: #fff !important;
  font-size: 12px;
	padding: 1px 8px;
}
.featured-area[data-slider-type="slider"] .slider-item h2 a {
  color: #fff;
	width: 100%;
  max-width: none;
font-size: 33px;
  letter-spacing: 0.1px;
}
.featured-area[data-slider-type="slider"] .slider-item h2::after {
  content: none;
}
.masonry-item-footer {
  padding-top: 10px;
}
.featured-posts .featured_post_text {
  text-align: left;
}
.featured-posts .featured_post_text {
  padding: 10px 22px 16px;
}

.grid-layout .post-item .item .date-author {
  text-align: left;
  margin-bottom: 5px;
	font-style:normal;
}
.grid-layout .post-item .item .date {
  font-size: 11px;
	font-style:normal;
	display: none;
}

.grid .post-entry {
  padding: 10px 30px 30px;
}
.featured-posts .post-date {
  font-size: 11px;
  text-align: left;
		font-style:normal;
	margin-bottom: 5px;
	display: none;
}
.grid-layout .post-item .item h2 {
  text-align: left;
}
.featured-posts h4 a {
  font-size: 20px;
	text-align: left;
}

.side-item .side-image .side-item-category {
  text-align: left;
}

.masonry-item-footer .like-comment-buttons a {
  display: none;
}

@media only screen and (max-width: 480px){
	.featured-area[data-slider-type="slider"] .slider-item h2{
		        margin-top: 10px;
	}
	.slider-item .cat a {
    font-size: 8px;
    padding: 2px 8px;
}
	body .featured-area[data-slider-type="slider"] .slider-item {
        height: 500px !important;
}
	.grid .post-entry {
    padding: 10px 30px 0px;
}
	.featured-area[data-slider-type="slider"] .slider-tags {
    gap: 0px;
		margin-top: 7px;
}
	.featured-area[data-slider-type="slider"] .slider-tags a {
    min-height: 18px;
    padding: 0px 13px;
    font-size: 8px;
}
	
.featured-area[data-slider-type="slider"] .slider-item h2 a {
    color: #fff;
    width: 100%;
    max-width: none;
    font-size: 30px;
    letter-spacing: 0.1px;
    line-height: 130%;
}
	
}

/*-------------------------------------------
Works page
-------------------------------------------*/
.post-entry {
  padding: 30px 40px 0;
}
.post-tags{
	font-style:normal;
}
.single .post-header h1 {
  text-align: left;
}
.single .post-header h1 a, .single .post-header h1, .page .post-header h1 a{
  font-size: 32px;
  text-align: left;
	line-height: 150%;
margin:0;
	letter-spacing:0.01rem;
	width: 100%;
}

/*カスタムフィールド*/
.project-meta {
  width: 100%;
  margin: 30px 0;
}

.project-meta-list {
  margin: 0;
  padding: 0;
}

.single .post-header {
  text-align: left;
}

.project-meta-row {
  display: grid;
  grid-template-columns: 120px 1fr;
  column-gap: 80px;
  align-items: baseline;
  padding: 20px 0;
  border-bottom: 1px solid #e5e5e5;
}

.project-meta-row:first-child {
  border-top: 1px solid #e5e5e5;
}

.project-meta dt {
  margin: 0;
  font-size: 14px;
  font-weight: 700;
  line-height: 1;
}

.project-meta dd {
  margin: 0;
  font-size: 14px;
  font-weight: 400;
  line-height: 180%;
  letter-spacing: 0.04em;
}

.project-images {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 0px;
}

.project-image img {
	display: block;
	width: 100%;
	height: auto;
}

/* スマホ：1列 */
@media screen and (max-width: 767px) {
	.project-images {
		grid-template-columns: 1fr;
		gap: 15px;
		margin-top: 30px;
	}
}


.project-images {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20px;
	margin-top: 40px;
}

.project-image {
	min-width: 0;
}

.project-modal-trigger {
	display: block;
	width: 100%;
	padding: 0;
	border: 0;
	background: none;
	cursor: zoom-in;
}

.project-modal-trigger img {
	display: block;
	width: 100%;
	height: auto;
}

/* モーダル */
.project-image-modal {
	position: fixed;
	z-index: 99999;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 40px 80px;
}

.project-image-modal.is-open {
	display: flex;
}

.project-image-modal-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.9);
}

.project-image-modal-content {
	position: relative;
	z-index: 1;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.project-image-modal-image {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

.project-image-modal-image img {
	display: block;
	max-width: 100%;
	max-height: calc(100vh - 100px);
	width: auto;
	height: auto;
	object-fit: contain;
}

.project-image-modal-close {
	position: fixed;
	z-index: 3;
	top: 20px;
	right: 25px;
	width: 48px;
	height: 48px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 42px;
	line-height: 1;
	cursor: pointer;
}

.project-image-modal-prev,
.project-image-modal-next {
	position: fixed;
	z-index: 3;
	top: 50%;
	width: 60px;
	height: 80px;
	padding: 0;
	border: 0;
	background: transparent;
	color: #fff;
	font-size: 70px;
	line-height: 1;
	transform: translateY(-50%);
	cursor: pointer;
}

.project-image-modal-prev {
	left: 20px;
}

.project-image-modal-next {
	right: 20px;
}

.project-image-modal-count {
	position: fixed;
	z-index: 3;
	right: 0;
	bottom: 20px;
	left: 0;
	color: #fff;
	font-size: 14px;
	text-align: center;
}

body.project-modal-open {
	overflow: hidden;
}

/* スマホ */
@media screen and (max-width: 767px) {
	.single .post-header {
    text-align: left;
    margin: 0;
    padding: 20px;
}

	.project-images {
		grid-template-columns: 1fr;
		gap: 15px;
		margin-top: 30px;
	}

	.project-image-modal {
		padding: 60px 15px;
	}

	.project-image-modal-image img {
		max-height: calc(100vh - 120px);
	}

	.project-image-modal-close {
		top: 10px;
		right: 10px;
		width: 44px;
		height: 44px;
		font-size: 38px;
	}

	.project-image-modal-prev,
	.project-image-modal-next {
		width: 45px;
		height: 65px;
		font-size: 54px;
	}

	.project-image-modal-prev {
		left: 0;
	}

	.project-image-modal-next {
		right: 0;
	}
}

/*-------------------------------------------
Event
-------------------------------------------*/
.tribe-common--breakpoint-medium.tribe-events .tribe-common-c-btn.tribe-events-c-search__button {
  background: #111;
  color: #fff !important;
}
.tribe-events-schedule p{
line-height: 1.8;
letter-spacing: .5px;
}

.tribe-common--breakpoint-medium.tribe-events .tribe-events-calendar-month__day-cell--desktop {
background-color: rgba(255,255,255,0.5);
}

.tax_name span.event{background: #ff7e56;}
.tax_name span.exhibition{background:#f06fd0;}
.tax_name span.workshop{background: #4cc6a9;;}

.tax_name span{
background: orange;
padding: 2px 8px;
color: #fff;
border-radius: 2px;
font-size: 72%;
}

a.tribe-events-calendar-month-mobile-events__mobile-event-title-link.tribe-common-anchor,a.tribe-events-calendar-month-mobile-events__mobile-event-title-link.tribe-common-anchor:visited{
text-decoration: underline;
}

a.tribe-events-calendar-month-mobile-events__mobile-event-title-link.tribe-common-anchor:hover{
text-decoration: none;
}

.tribe-events-event-image img{
max-width: 100%;
height: auto;
}

.tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button:hover{
background:#eee;
}

.tribe-common button,.single-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button-icon{
color:#00a8b5 !important;
}

.single-tribe_events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button, .tribe-events .tribe-events-c-subscribe-dropdown .tribe-events-c-subscribe-dropdown__button{
border-color: #00a8b5;
}

div.simplesocialbuttons{
margin-top:50px;
}

.nav-menu li {
text-transform: none;
}

.wpcf7 .wpcf7-submit {
margin: 30px auto;
margin-top: 40px;
font-size: 22px;
border-radius: 4px;
width: 200px;
padding: 15px;
}

.tribe-events-event-meta{
border-bottom: 1px solid var(--tec-color-border-secondary);
}

.tribe-events-schedule h2.calendar_title{
border-bottom: 2px solid #222;
display: inline-block;
margin-bottom: 10px;
font-size:26px;
padding-bottom: 15px;
}

.tribe-events-meta-group .tribe-events-single-section-title{
margin-top:0;
}

.tribe-events-single-event-description h2{
font-size: 19px;
display: inline-block;
background: #00a8b5;
background: #000;
color: #fff;
padding: 5px;
margin-right: 10px;
border-radius: 2px;
font-weight: normal;
}


.tribe-events-schedule h2 span.h2_meta,.tribe-events-meta-group .tribe-events-single-section-title span{
background: #00a8b5;
background: #000;
color: #fff;
font-size: 85%;
padding: 5px;
margin-right: 10px;
border-radius: 2px;
font-weight: normal;
}

.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-previous a,.tribe-events-single .tribe-events-sub-nav .tribe-events-nav-next a{
padding: 10px;
background: #e5e5e5;
}
.event_detail_cont{
display:none;
}
.tribe-events-schedule h2{
text-align:left;
font-size:22px;

margin-bottom: 15px;
margin-top: 10px;
}

.tribe-events-schedule{
display:block;
}

.tribe-events-event-meta,.wpcf7 .wpcf7-submit{
font-size:16px;
}
.tribe-events-meta-group .tribe-events-single-section-title{
font-size:22px;
}
.single-tribe_events .tribe-events .tribe-events-c-subscribe-dropdown__container{
margin: auto;
}
h1.tribe-events-single-event-title::after{
content:none;
}
.single-tribe_events .tribe-events-single .tribe-events-event-meta,.tribe-events-venue-map{
width:100%;
}
.single-tribe_events .tribe-events-single-event-title {
font-size: 32px;
	margin-bottom: 35px;
  padding: 0;
}

.tribe-events-event-image img{
	margin:auto;
}


@media (max-width: 767px){
.tribe-events-schedule h2 span.h2_meta_other{
display: table;
}

.tribe-events-schedule h2.calendar_title {
display: inline-block;
font-size: 22px;
font-weight: 700;
line-height: 140%;
padding-bottom: 10px;
}
.single-tribe_events .tribe-events-single-event-title {
font-size: 28px;
padding: 10px;
line-height: 120%;
}
}

/*-------------------------------------------
Footer
-------------------------------------------*/
/* お問い合わせページ以外ではreCAPTCHAバッジを非表示 */
body:not(.page-id-127) .grecaptcha-badge {
	visibility: hidden;
}

/*Footer logo*/
.footer-logo-area {
  padding: 50px 0;
  width: 100%;
}

.footer-logo-list {
  display: grid;
  grid-template-columns: repeat(8, 1fr);
  align-items: center;
  gap: 32px;
  width: 100%;
  max-width: 1500px;
  margin: 0 auto;
  padding: 0 40px;
  list-style: none;
}

.footer-logo-item {
  display: flex;
  justify-content: center;
  align-items: center;
  min-height: 80px;
}

.footer-logo-item img {
  display: block;
  max-width: 100%;
  max-height: 70px;
  width: auto;
  height: auto;
  object-fit: contain;
}

/* タブレット */
@media screen and (max-width: 1024px) {
  .footer-logo-list {
    grid-template-columns: repeat(4, 1fr);
    gap: 28px 36px;
    padding: 0 32px;
  }
}

/* スマホ */
@media screen and (max-width: 600px) {
	body .goto-top {
    bottom: 23px;
    right: 39px;
}
  .footer-logo-area {
    padding: 36px 0;
  }

  .footer-logo-list {
    grid-template-columns: repeat(2, 1fr);
    gap: 24px 28px;
    padding: 0 24px;
  }

  .footer-logo-item {
    min-height: 64px;
  }

  .footer-logo-item img {
    max-height: 52px;
  }
}

/* //Footer logo*/

.goto-top {
  bottom: 74px;
  right: 79px;
}

.ec-fixed-link {
  position: fixed;
  right: 32px;
  bottom: 120px;
  z-index: 9999;
  width: 140px;
  height: 140px;
  display: block;
  text-decoration: none;
  border-radius: 50%;
  box-shadow: 0 8px 24px rgb(0 0 0 / 18%);
  animation: ecFloat 4s ease-in-out infinite;
  transition: box-shadow 0.25s ease;
}

.ec-fixed-link:hover {
  animation-play-state: paused;
  box-shadow: 0 12px 32px rgb(0 0 0 / 24%);
}

.ec-fixed-link img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: contain;
  border-radius: 50%;
}

/* 画像内に文字があるなら非表示 */
.ec-fixed-link__text {
  display: none;
}

@keyframes ecFloat {
  0%, 100% {
    transform: translateY(0);
  }
  50% {
    transform: translateY(-12px);
  }
}

@media screen and (max-width: 767px) {
  .ec-fixed-link {
    right: 14px;
    bottom: 72px;
    width: 92px;
    height: 92px;
  }
}

/*-------------------------------------------
Total sp
-------------------------------------------*/

/* SP */
@media screen and (max-width: 767px) {
  .project-meta {
    margin: 28px 0;
  }

  .project-meta-row {
    display: block;
    padding: 20px 0;
  }

  .project-meta dt {
    margin-bottom: 6px;
    font-size: 12px;
    color: #777;
  }

  .project-meta dd {
    font-size: 14px;
    line-height: 1.7;
    letter-spacing: 0.03em;
  }
}



/*-------------------------------------------
Artist Detail Layout
-------------------------------------------*/
.artist-sidebar {
  display: block;
}

.artist-sidebar-box {
  background: #fff;
  padding: 48px 40px;
}

.artist-sidebar-box + .artist-sidebar-box {
  margin-top: 36px;
}

.artist-sidebar-title {
  margin: 0 0 28px;
  font-size: 28px;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.artist-sidebar-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.artist-sidebar-list li {
  border-bottom: 1px solid #eee;
}

.artist-sidebar-list a {
  display: block;
  padding: 14px 0;
  color: #222;
  text-decoration: none;
  font-size: 15px;
  letter-spacing: 0.04em;
}

.artist-sidebar-list a:hover {
  opacity: 0.6;
}

.artist-sidebar-list li.is-current a {
  font-weight: bold;
  opacity: 0.45;
  pointer-events: none;
}

.artist-sidebar-category-list a {
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.artist-detail-container {
  display: flex;
  align-items: flex-start;
  gap: 48px;
  max-width: 1200px;
  margin: 0 auto;
}

.artist-detail-container #content {
  flex: 1 1 auto;
  width: auto !important;
  min-width: 0;
  float: none !important;
}

.artist-detail-container .artist-sidebar {
  flex: 0 0 320px;
  width: 320px;
  float: none !important;
  position: static !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  transform: none !important;
  margin: 0;
}

.artist-detail-container .artist-sidebar-box {
  position: static !important;
  top: auto !important;
  transform: none !important;
}

/* SP */
@media screen and (max-width: 900px) {
	  .artist-sidebar-box {
    padding: 36px 24px;
  }

  .artist-sidebar-title {
    font-size: 24px;
  }

  .artist-sidebar-box + .artist-sidebar-box {
    margin-top: 28px;
  }
  .artist-detail-container {
    display: block;
  }

  .artist-detail-container #content {
    width: 100% !important;
  }

  .artist-detail-container .artist-sidebar {
    width: 100%;
    margin-top: 48px;
  }
}

/*-------------------------------------------
Artist page
-------------------------------------------*/
.artist-links {
  margin: 48px 0 56px;
	  text-align: left;
}

.artist-links ul {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 12px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.artist-links li {
  max-width: 100%;
}

.artist-links a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: #222;
  text-decoration: none;
  font-size: 15px;
  line-height: 1.6;
  letter-spacing: 0.03em;
  border: 0;
  padding: 0;
}

.artist-links a:hover {
  opacity: 0.6;
  background: none;
  color: #222;
}

.artist-link-icon,
.artist-link-external {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
}

.artist-link-icon svg,
.artist-link-external svg {
  width: 100%;
  height: 100%;
  fill: currentColor;
  display: block;
}

.artist-link-url {
  word-break: break-all;
}


.wp-block-themeisle-blocks-button-group{
	gap:12px;
}
#wp-block-themeisle-blocks-button-group-8dbe945a .wp-block-themeisle-blocks-button .wp-block-button__link {
  box-shadow: 0px 0px 5px 1px rgba(0,0,0,.2) !important;
}
#wp-block-themeisle-blocks-button-group-8dbe945a .wp-block-themeisle-blocks-button .wp-block-button__link {
  border-radius: 0;
	padding: 8px 12px;
}

@media screen and (max-width: 767px) {
  .artist-links {
    margin: 40px 0 48px;
  }

  .artist-links ul {
    align-items: flex-start;
  }

  .artist-links a {
    font-size: 14px;
  }
}
/*-------------------------------------------
Artistページ
-------------------------------------------*/
.artist-single-category a{
	border:1px solid #333;
	padding:3px 10px;
	font-size:10px;
	margin:0 4px;
}

.artist-single {
  max-width: 980px;
  margin: 0 auto;
}

.artist-header {
  margin-bottom: 40px;
  text-align: center;
}

.artist-title {
  font-size: 32px;
  line-height: 1.4;
  letter-spacing: 0.04em;
}

.artist-works {
  margin-bottom: 50px;
}

.artist-work-main,
.artist-work-image {
  margin: 0;
}

.artist-work-main {
  margin-bottom: 24px;
}

.artist-work-main img,
.artist-work-image img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
}

.artist-work-main img {
  max-height: 480px;
}

.artist-works-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 24px;
}

.artist-modal-trigger {
  width: 100%;
  padding: 0;
  border: 0;
  background: none;
  display: block;
  cursor: pointer;
  overflow: hidden;
}

.artist-modal-trigger img {
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.artist-modal-trigger:hover img {
  transform: scale(1.03);
  opacity: 0.9;
}

.artist-content {
  margin-bottom: 40px;
  line-height: 1.9;
}

.artist-links {
  margin: 40px 0;
  border-top: 1px solid #ddd;
  border-bottom: 1px solid #ddd;
  padding: 40px 0;
}

.artist-links ul {
  display: flex;
  justify-content: center;
  gap: 16px;
  list-style: none;
  padding: 0;
  margin: 0;
}

.artist-links a {
  display: inline-block;
  text-decoration: none;
  color: #222;
  font-size: 14px;
  letter-spacing: 0.05em;
}

.artist-links a:hover {
  background: #222;
  color: #fff;
}


/*-------------------------------------------
Artist YouTube
-------------------------------------------*/

.artist-youtube {
  margin-top: 60px;
}

.artist-section-title {
  margin-bottom: 24px;
  font-size: 22px;
  text-align: center;
  letter-spacing: 0.06em;
}

.artist-youtube-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 24px;
}

.artist-youtube-item iframe {
  width: 100%;
  aspect-ratio: 16 / 9;
  height: auto;
  display: block;
}


/*-------------------------------------------
Artist Modal
-------------------------------------------*/

.artist-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: none;
}

.artist-modal.is-open {
  display: block;
}

.artist-modal-bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.82);
}

.artist-modal-inner {
  position: absolute;
  inset: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.artist-modal-inner img {
  display: block;
  width: auto;
  height: auto;
  max-width: 100%;
  max-height: 100%;
}

.artist-modal-close {
  position: fixed;
  top: 20px;
  right: 24px;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 44px;
  height: 44px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #111;
  font-size: 30px;
  line-height: 1;
  cursor: pointer;
}

.artist-modal-nav {
  position: fixed;
  top: 50%;
  z-index: 10000;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: rgba(255, 255, 255, 0.9);
  color: #111;
  font-size: 0;
  line-height: 1;
  transform: translateY(-50%);
  cursor: pointer;
}

.artist-modal-nav::before {
  content: "";
  display: block;
  width: 11px;
  height: 11px;
  border-top: 3px solid #111;
  border-right: 3px solid #111;
}

.artist-modal-prev {
  left: 24px;
}

.artist-modal-prev::before {
  transform: rotate(-135deg);
  margin-left: 4px;
}

.artist-modal-next {
  right: 24px;
}

.artist-modal-next::before {
  transform: rotate(45deg);
  margin-right: 4px;
}

.artist-modal-nav:hover,
.artist-modal-close:hover {
  background: #fff;
}

body.artist-modal-open {
  overflow: hidden;
}



/*-------------------------------------------
Artist Sidebar
-------------------------------------------*/

.artist-sidebar-box {
  background: #fff;
  padding: 48px 40px;
}

.artist-sidebar-title {
  margin: 0 0 28px;
  font-size: 28px;
  line-height: 1.4;
  letter-spacing: 0.06em;
}

.artist-sidebar-list {
  list-style: none;
  padding: 0;
  margin: 0;
}

.artist-sidebar-list li {
  border-bottom: 1px solid #eee;
}

.artist-sidebar-list a {
  display: block;
  padding: 14px 0;
  color: #222;
  text-decoration: none;
  font-size: 15px;
  letter-spacing: 0.04em;
}

.artist-sidebar-list a:hover {
  opacity: 0.6;
}

.artist-sidebar-list li.is-current a {
  font-weight: bold;
  opacity: 0.45;
  pointer-events: none;
}



/*-------------------------------------------
Artist Archive
-------------------------------------------*/

.artist-archive-container {
  max-width: 1200px;
  margin: 0 auto;
}

.artist-archive-content {
  width: 100%;
}

.artist-archive-header {
  margin-bottom: 48px;
  text-align: center;
}

.artist-archive-title {
  font-size: 34px;
  line-height: 1.4;
  letter-spacing: 0.08em;
}

.artist-archive-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 36px;
}

.artist-archive-card {
  background: #fff;
}

.artist-archive-card-image {
  display: block;
  overflow: hidden;
}

.artist-archive-card-image img {
  width: 100%;
  aspect-ratio: 3 / 2;
  object-fit: cover;
  display: block;
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.artist-archive-card-image:hover img {
  transform: scale(1.03);
  opacity: 0.9;
}

.artist-archive-card-body {
  padding: 20px;
}

.artist-archive-card-title {
  margin: 0;
  font-size: 20px;
  line-height: 1.5;
  letter-spacing: 0.06em;
}

.artist-archive-card-title a {
  color: inherit;
  text-decoration: none;
}

.artist-archive-card-title a:hover {
  opacity: 0.6;
}

.artist-archive-card-category {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}

.artist-archive-card-category a {
  display: inline-block;
  text-decoration: none;
  line-height: 1;
  letter-spacing: 0.08em;
  font-weight: 600;
  text-transform: uppercase;
  line-height: 140%;
  font-size: 9px;
	border: 1px solid #333;
  padding: 1px 10px;
  margin: 0 2px;
  background: #fff;
  color: #000;
}

.artist-archive-card-category a:hover {
  opacity: 0.65;
  color: #fff;
}


/*-------------------------------------------
Artist TAB
-------------------------------------------*/

@media screen and (max-width: 900px) {
  .artist-archive-grid {
    grid-template-columns: repeat(2, 1fr);
    gap: 28px;
  }
}


/*-------------------------------------------
Artist SP
-------------------------------------------*/

@media screen and (max-width: 767px) {
  .artist-archive-title {
    font-size: 28px;
  }

  .artist-archive-grid {
    grid-template-columns: 1fr;
    gap: 32px;
  }

  .artist-sidebar-box {
    padding: 36px 24px;
  }

  .artist-sidebar-title {
    font-size: 24px;
  }

  .artist-single {
    max-width: none;
  }

  .artist-title {
    font-size: 26px;
  }

  .artist-work-main {
    margin-bottom: 16px;
  }

  .artist-work-main img {
    max-height: none;
  }

  .artist-works-grid {
    grid-template-columns: 1fr;
    gap: 16px;
  }

  .artist-links ul {
    flex-direction: column;
    align-items: center;
  }

  .artist-links a {
    min-width: 180px;
    text-align: center;
  }

  .artist-youtube-list {
    grid-template-columns: 1fr;
    gap: 20px;
  }

  .artist-modal-inner {
    inset: 20px;
  }

  .artist-modal-close {
    top: 12px;
    right: 12px;
    width: 42px;
    height: 42px;
    font-size: 28px;
  }

  .artist-modal-nav {
    width: 42px;
    height: 42px;
  }

  .artist-modal-nav::before {
    width: 9px;
    height: 9px;
    border-top: 2px solid #111;
    border-right: 2px solid #111;
  }

  .artist-modal-prev {
    left: 10px;
  }

  .artist-modal-prev::before {
    margin-left: 3px;
  }

  .artist-modal-next {
    right: 10px;
  }

  .artist-modal-next::before {
    margin-right: 3px;
  }
}

/*-------------------------------------------
Company
-------------------------------------------*/
.discography h3{
  font-size: 16px;
  background: #222;
  color: #fff;
  padding: 2px 10px;
  display: table;
  margin-bottom: 0;
}

.discography h4{
  font-size: 15px;
}


/*Contact*/
.wpcf7-list-item {
  margin: 0 1em 0 0;
}