/*
Template:ystandard
Theme Name:ystandard-child
Theme URI: https://wp-ystandard.com
Author: yosiakatsuki
Author URI: https://yosiakatsuki.net
Version: 4.0.0
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned with others.
*/

/* インスタセクションを一時非表示 */
.temp-display-none {
	display: none !important;
}
.entry-content h2 {
	margin-top: 1em;
}


.fs-lg {
	font-size: 40px !important;
}
@media (max-width: 599px) {
	.fs-lg {
		font-size: 24px !important;
	}
}
.site-content {
	background-image: linear-gradient(315deg, rgba(250, 209, 249, 0.9) 2%, var(--content-bg, #fff) 5% 95%, rgba(250, 209, 249, 0.9) 98%);
	margin-top: 0 !important;
	margin-bottom: 0!important;
}
.content__main {
	background-color: inherit;
}
.back-to-top__content {
	color: #ffffff;
	background-image: linear-gradient(to top, #71d2c9, #0068a9);
	box-shadow: 0 3px 15px rgba(189, 195, 199, .7);
}

/* 見出し */
.great-vibes-regular,
h2.wp-block-heading {
	font-family: "Great Vibes", cursive, var(--font-family);
	font-weight: 400;
	font-style: normal;
	font-size: 60px;
	background-image: linear-gradient(to top, #71d2c9, #0068a9);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
}
h2.wp-block-heading#access,
.blog-section h2.wp-block-heading,
.system-section h2.wp-block-heading {
	color: #fff;
}
.singular-header.entry-header,
.archive__page-title.page-title {
	background-image: linear-gradient(to top, #71d2c9, #0068a9);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	text-align: center;
	margin-bottom: 2em;
}
/* ヘッダー */
@media (min-width: 769px) {
	.header-type--row1 .site-branding {
		padding: .5em 0;
	}
  }

@media (min-width: 769px) {
    .site-header {
        background-image: linear-gradient(330deg, #71d2c9aa 1%, #fff 3% 97%, #71d2c9aa 99%);
    }
}

@media (max-width: 768px) {
    .site-header {
        background-image: linear-gradient(330deg, #71d2c9aa 5%, #fff 15% 85%, #71d2c9aa 95%);
    }
}
.global-nav {
	background-color: inherit;
}
.global-nav__menu>.menu-item>a,
.primary-btn>a {
  font-size: 1.125em;
  padding: .5em 0;
}
.global-nav__menu>.menu-item>a::after {
  display: none;
}
.global-nav__menu>.menu-item:last-of-type a,
.primary-btn a {
  border-radius: 1em;
  background-image: linear-gradient(to top, #71d2c9, #0068a9);
  box-shadow: 0 3px 15px rgba(189, 195, 199, .7);
  color: #ffffff;
  padding: 0 1em;
}
.global-nav__menu>.menu-item a:hover,
.global-nav__menu>.menu-item:last-of-type a:hover,
.primary-btn:hover {
  transform: scale(1.1);
}
.global-nav__menu>.menu-item:last-of-type a:hover {
  transform: scale(1.1);
}

.primary-btn {
	position: relative;
	line-height: 1.3;
	text-align: center;
	transition: all .3s;
}
.primary-btn > a {
	padding: .5em 1em;
	text-decoration: none;
}

/* スマホで管理者ヘッダー非表示 */
/* @media screen and (max-width: 782px) {
    html {
        margin-top: 0px !important;
    }
		#wpadminbar {
		display: none;
	}
} */

@media (max-width: 768px) {
	.site-branding {
		z-index: 11;
	}
	.global-nav__toggle::after {
		display: none;
	}
	.global-nav__toggle,
	.global-nav__toggle.is-open,
	.site-header button {
		color: #0068a9;
	}
	.global-nav__toggle svg {
		width: 30px;
		height: 30px;
	}
	.global-nav {
		background-image: linear-gradient(315deg, rgba(250, 209, 249, 0.9) 1%, var(--content-bg, #fff) 3% 97%, rgba(250, 209, 249, 0.9) 99%);
		padding: 0;
	}
	.global-nav__container {
		display: flex;
		height: 100vh;
		flex-direction: column;
		justify-content: center;
	}
	.global-nav__menu.is-open {
		display: flex;
		flex-direction: column;
		height: 60vh;
		justify-content: space-around;
	}
	.global-nav__menu > .menu-item {
		text-align: center;
	}
	.global-nav__container a {
		color: var(--header-text);
		padding-top: .5em;
		padding-bottom: .5em;
	}
	.global-nav__menu>.menu-item:last-of-type a {
		padding-top: .5em;
		padding-bottom: .5em;
	}
}


/* トップページ - pcコンテンツ幅設定、レスポンシブ等 */
@media (min-width: 1025px) {
  .content__main {
      max-width: 1024px;
  }
}
@media (min-width: 769px) and (max-width: 1024px) {
	.global-nav__menu > .menu-item > a {
		font-size: 1em;
	}
}
@media (max-width: 599px) {
	.wp-block-spacer {
		height: 40px !important;
		flex-basis: 40px !important;
	}
	.footer-sub {
		padding-top: 40px;
		padding-bottom: 40px;
	}
}


/* メインビジュアル */
.wp-custom-header img {
	height: 80vh;
	object-fit: cover;
	object-position: center center;
}
.wp-custom-header {
	position: relative;
}

/* PC/モバイル用画像の切り替え */
/* PC用画像（デスクトップ表示） */
img.header-image-desktop {
	display: block;
}
/* モバイル用画像（モバイル表示） */
img.header-image-mobile {
	display: none;
}

/* モバイル表示（768px以下） */
@media (max-width: 768px) {
	img.header-image-desktop {
		display: none;
	}
	img.header-image-mobile {
		display: block;
	}
}

/* ヘッダースライダー */
.header-slider {
	position: relative;
	width: 100%;
	height: 80vh;
}

.header-swiper {
	width: 100%;
	height: 100%;
}

.header-swiper .swiper-slide {
	position: relative;
	width: 100%;
	height: 100%;
}

/* ズームアウトアニメーション定義 */
@keyframes zoomOut {
	from {
		transform: scale(1.15);
	}
	to {
		transform: scale(1);
	}
}

.header-swiper .swiper-slide img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center center;
	transform: scale(1.15);
	transition: transform 0.3s ease-out;
}

/* アクティブなスライドの画像にズームアウトアニメーションを適用 */
.header-swiper .swiper-slide-active img {
	animation: zoomOut 5s ease-out forwards;
}

/* 非アクティブなスライドの画像は即座にscale(1)にリセット */
.header-swiper .swiper-slide:not(.swiper-slide-active) img {
	transform: scale(1);
	animation: none;
}

/* スライダー内のPC/モバイル画像切り替え */
.header-swiper .swiper-slide img.header-image-desktop {
	display: block;
}

.header-swiper .swiper-slide img.header-image-mobile {
	display: none;
}

@media (max-width: 768px) {
	.header-swiper .swiper-slide img.header-image-desktop {
		display: none;
	}
	.header-swiper .swiper-slide img.header-image-mobile {
		display: block;
	}
}

/* スライダーページネーション */
.header-swiper .swiper-pagination {
	bottom: 20px;
}

.header-swiper .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: rgba(255, 255, 255, 0.5);
	opacity: 1;
}

.header-swiper .swiper-pagination-bullet-active {
	background: #fff;
}

/* スライダーナビゲーションボタン */
.header-swiper .swiper-button-next,
.header-swiper .swiper-button-prev {
	display: none;
	color: #fff;
	width: 44px;
	height: 44px;
	background: rgba(0, 0, 0, 0.3);
	border-radius: 50%;
	transition: all 0.3s ease;
}

.header-swiper .swiper-button-next:hover,
.header-swiper .swiper-button-prev:hover {
	background: rgba(0, 0, 0, 0.5);
}

.header-swiper .swiper-button-next::after,
.header-swiper .swiper-button-prev::after {
	font-size: 20px;
	font-weight: bold;
}

@media (max-width: 768px) {
	.header-swiper .swiper-button-next,
	.header-swiper .swiper-button-prev {
		width: 36px;
		height: 36px;
	}
	
	.header-swiper .swiper-button-next::after,
	.header-swiper .swiper-button-prev::after {
		font-size: 16px;
	}
}
/* フェードインアニメーション定義 */
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

.wp-custom-header::before {
	content: "GIRLS BAR";
	color: #fff;
	font-size: 20px;
	font-family: serif;
	font-weight: 400;
	display: block;
	position: absolute;
	top: calc(50% - 60px);
	left: calc(50% + 64px);
	transform: translate(-50%, -50%);
	width: fit-content;
	text-shadow: 4px 2px 8px #333;
	/* z-index: 1111; */
	opacity: 0;
	animation: fadeIn 1s ease-in-out 0.3s forwards;
}
.wp-custom-header::after {
	content: "Philia";
	color: #fff;
	font-size: 100px;
	font-family: "Great Vibes", cursive, var(--font-family);
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	text-align: center;
	text-shadow: 4px 2px 8px #333;
	/* z-index: 1111; */
	opacity: 0;
	animation: fadeIn 1s ease-in-out 0.6s forwards;
}

/* スライダー内の疑似要素にもアニメーションを適用 */
.header-swiper .swiper-slide::before {
	content: "GIRLS BAR";
	color: #fff;
	font-size: 20px;
	font-family: serif;
	font-weight: 400;
	display: block;
	position: absolute;
	top: calc(50% - 60px);
	left: calc(50% + 64px);
	transform: translate(-50%, -50%);
	width: fit-content;
	text-shadow: 4px 2px 8px #333;
	z-index: 1111;
	opacity: 0;
	animation: fadeIn 1s ease-in-out 0.3s forwards;
}
.header-swiper .swiper-slide::after {
	content: "Philia";
	color: #fff;
	font-size: 100px;
	font-family: "Great Vibes", cursive, var(--font-family);
	display: block;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	text-align: center;
	text-shadow: 4px 2px 8px #333;
	z-index: 1111;
	opacity: 0;
	animation: fadeIn 1s ease-in-out 0.6s forwards;
}

/* スライダーのスライドがアクティブになったときにアニメーションを再実行 */
.header-swiper .swiper-slide-active::before,
.header-swiper .swiper-slide-active::after {
	animation: fadeIn 1s ease-in-out forwards;
}
.header-swiper .swiper-slide-active::before {
	animation-delay: 0.3s;
}
.header-swiper .swiper-slide-active::after {
	animation-delay: 0.6s;
}
/* イベント */
.event-posts {
	display: none;
}
.instagram-media,
blockquote,
iframe {
	margin-left: auto !important;
	margin-right: auto !important;
}
.wp-block-latest-posts.wp-block-latest-posts__list .wp-block-latest-posts__featured-image {
	margin-top: 0;
}
/* .wp-block-latest-posts.wp-block-latest-posts__list {
    justify-content: center;
} */

/* トップページ - ブログ一覧 */
.wp-block-latest-posts__list .wp-block-latest-posts__featured-image img {
	aspect-ratio: 1/1;
	width: 100%;
	object-fit: cover;
}
.wp-block-latest-posts__post-title,
.wp-block-latest-posts.wp-block-latest-posts__list.is-grid a {
	color: #0068a9;
	font-size: 1.125em;
	text-align: left;
}
.wp-block-latest-posts__post-author, .wp-block-latest-posts__post-date {
	color: var(--font-gray);
	text-align: right;
}
.wp-block-latest-posts.wp-block-latest-posts__list .wp-block-latest-posts__post-excerpt {
	margin-top: .5em;
	text-align: left;
}
.wp-block-latest-posts__list.wp-block-latest-posts__list li {
  background-color: #fff;
  border-radius: 16px;
  box-shadow: 0 3px 15px rgba(189, 195, 199, .7);
  padding: 1em;
}
.wp-block-latest-posts.is-grid li {
  margin: 0 0 1.5em 0;
}
.primary-btn.primary-btn__p2 a {
	background-image: linear-gradient(to top, rgba(250, 209, 249, 1), var(--content-bg));
	color: #0068a9;
}

@media (max-width: 599px) {
	.blog .wp-block-latest-posts li {
		display: grid;
		grid-template-columns: 1fr 2fr;
		grid-template-rows: auto;
		column-gap: .5em;
	}
	.wp-block-latest-posts .wp-block-latest-posts__featured-image {
		grid-column: 1;
		grid-row: 1 / 4;
		align-content: center;
	}
	.wp-block-latest-posts .wp-block-latest-posts__post-title {
		grid-column: 2;
		grid-row: 1;
	}
	.wp-block-latest-posts .wp-block-latest-pots__post-date {
		grid-column: 2;
		grid-row: 2;
	}
	.wp-block-latest-posts .wp-block-latest-posts__post-excerpt {
		grid-column: 2;
		grid-row: 3;
		margin-bottom: 0;
		max-height: calc(1em * 1.5 * 2);
		display: -webkit-box;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
		line-clamp: 2;
		text-overflow: ellipsis;
	}
}
@media (min-width: 600px) {
	.wp-block-latest-posts.columns-3 li {
      width: calc(33.33333% - 1em);
	}
	.wp-block-latest-posts.is-grid li {
  		/* margin: 0 1.5em 1.5em 0; */
	}
}
.wp-block-latest-posts.is-grid {
	justify-content: center;
	gap: 1.5em;
}
.blog-section,
.system-section {
	background-image: linear-gradient(to top, #71d2c9, #0068a9);
}
.archive__container .archive__item {
	background-color: #fff;
	padding: 1em;
	border-radius: 1em;
	box-shadow: 0 3px 15px rgba(189, 195, 199, .7);
}
/* 投稿詳細ページ - 次の投稿、前の投稿 */
.site-header-thumbnail img {
	display: none;
}
.site-header-thumbnail::before {
	content: "ブログ一覧";
	display: block;
	font-size: 2em;
	line-height: 2;
	color: #fff;
	text-align: center;
	background-image: linear-gradient(to top, #71d2c9, #0068a9);
}
.single-post .site-content,
.blog .site-content {
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 80px;
}
.single-post .content__wrap {
    background: #fff;
    max-width: fit-content;
    margin: 0 auto 4em;
}
.paging__container,
.archive__container {
	margin-bottom: 80px;
}
@media (max-width: 599px) {
	.paging__container,
	.archive__container {
		margin-bottom: 40px;
	}
}
.paging__item {
  border-radius: 16px;
  background-color: #fff;
  box-shadow: 0 3px 15px rgba(189, 195, 199, .7);
  padding-top: 16px;
  padding-bottom: 16px;
}
.paging__item.is-prev {
  padding-left: 0px;
  padding-right: 16px;
}
.paging__item.is-next {
  padding-left: 16px;
  padding-right: 32px;
}
.paging__item .ys-icon {
  color: #00a6b1;
}
.paging__item.is-prev .paging__image {
  margin-left: 32px;
}
.paging__item .ys-icon svg {
  width: 48px;
  height: 48px;
}

/* インスタフィード */
#sb_instagram {
/*	display: none;*/
}
#sb_instagram #sbi_images .sbi_item .sbi_photo_wrap {
	border-radius: 16px;
	overflow: hidden;
	box-shadow: 0 3px 15px rgba(189, 195, 199, .7);
}
#sb_instagram #sbi_images .sbi_item .sbi_photo_wrap img {
	transition: all .3s;
}
#sb_instagram #sbi_images .sbi_item .sbi_photo_wrap:hover img {
	transform: scale(1.1);
}
.primary-btn {
	width: fit-content;
	margin-left: auto;
	margin-right: auto;
}
.primary-btn svg {
	position: relative;
	top: .25em;
	width: 1em;
	margin-right: .5em;
}

.Embed .Header {
	display: none;
}

/* 料金システム */
.system-contents,
.system-contents .is-layout-flex {
	flex-wrap: nowrap;
}
.system-contents .wp-block-heading {
	color: #0068a9;
}
.price-txt {
	font-size: 40px;
	font-weight: bold;
/* 	background-image: linear-gradient(to top, #71d2c9, #0068a9);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent; */
	color: rgba(225, 159, 199, 1);
}
@media (max-width: 599px) {
	.system-contents {
		flex-direction: column;
	}
	.sp-mb-40 {
		margin-block-end: 40px !important;
		margin-bottom: 40px !important;
	}
}
/* ギャラリー */
.gallery-wrapper.wp-block-gallery.wp-block-gallery-4 {
	border-radius: 16px;
	box-shadow: 0 3px 15px rgba(189, 195, 199, .7);
	overflow: hidden;
	gap: 0;
}

/* アクセス */
.access-contents-wrapper {
	height: 100%;	
}
.access-contents {
	background-color: #ffffff;
	border-radius: 16px;
	box-shadow: 0 3px 15px rgba(189, 195, 199, .7);
	padding: 4em 1em;
/* 	justify-content: space-around; */
}
.access-image img {
	width: 100%;
	border-radius: 16px;
	aspect-ratio: 1 / 1.15 !important;
	object-position: -130px 0px !important;
}

.gm-wrapper {
	border-radius: 16px;
	box-shadow: 0 3px 15px rgba(189, 195, 199, .7);
	overflow: hidden;
	height: 600px;
	background-color: #ffffff;
}
.gm-wrapper iframe {
	width: 100%;
}
@media (max-width: 599px) {
	.access-contents-wrapper {
		order: 2;
	}
}
/* フッター */
#footer {
	background-image: linear-gradient(to top, #71d2c9, #0068a9);
}
.footer-sub,
.footer-main {
	background-color: inherit;
}
.footer-nav__menu a {
	display: inline-block;
}
.footer-nav__menu a:hover {
	transform: scale(1.1);
}
#footer-poweredby,
.footer-poweredby {
	display: none;
}

/* --------------------------カルーセル-------------------------- */
/* コンテナ全体 */
.category-carousel {
  position: relative;
	margin-bottom: 1rem;
}

.swiper {
  overflow: visible;
}
.swiper.header-swiper {
	overflow: hidden;
}

/* 各投稿カード */
.category-carousel .swiper-slide {
  /* max-height: 80vh; */
  transition: transform 0.3s ease, opacity 0.3s ease;
  border-radius: 10px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 3px 10px rgba(0,0,0,0.1);
  display: flex;
  flex-direction: column;
}

.category-carousel .swiper-slide .wp-block-latest-posts__featured-image {
  overflow: hidden;
}

.category-carousel .swiper-slide .wp-block-latest-posts__featured-image img {
  width: 100%;
  height: 100%;
  object-fit: cover;
	aspect-ratio: 1/1;
	object-position: top center;
}

/* 抜粋テキストの省略記号 */
.wp-block-latest-posts__post-full-content {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 10; /* 例: 3行で省略。必要に応じて調整してください */
  line-clamp: 10;
}

/* ページネーションの垂直方向の位置調整 */
.swiper-horizontal>.swiper-pagination {
  bottom: -40px; /* デフォルトより少し上に移動 */
}

/* アクティブなスライド（中央）を強調 */
.category-carousel .swiper-slide-active {
  transform: scale(1);
  opacity: 1;
}
.category-carousel .swiper-slide-next,
.category-carousel .swiper-slide-prev {
  transform: scale(0.8);
  opacity: 0.5;
}

/* ナビゲーションボタン */
.category-carousel .swiper-button-next,
.category-carousel .swiper-button-prev {
  color: #333;
  top: 45%;
  transition: opacity 0.2s;
}
.category-carousel .swiper-button-next:hover,
.category-carousel .swiper-button-prev:hover {
  opacity: 0.6;
}

.event-cta-message {
    text-align: center;
    margin-top: 20px; /* Add some space above the message */
    margin-bottom: 20px; /* Add some space below the message */
}