/*--------------------------------------------------------------
# layout.css
# 全体レイアウト
--------------------------------------------------------------*/
/*Astraのカラーの追加*/
:root {
  --ast-global-color-9: var(--ast-global-color-0);　/*初期設定*/
 --ast-global-color-10: var(--ast-global-color-0);　/*初期設定*/
}

.ast-article-single > .entry-content > div {
	margin-bottom:50px;
}

.ast-article-single > .entry-content > div:last-child {
	margin-bottom:0;
}

@media screen and (max-width:768px) {
	.ast-article-single > .entry-content > div {
		margin-bottom:30px;
	}
}

/* ページを立ち上げたときの設定 */
body {
  opacity: 0;
}

body.page-loaded {
  opacity: 1;
  transition: opacity 0.3s ease;
}

/*ACF 切替スイッチャーの設定*/
/*左右切替*/
.side-position {
  display: flex;
}
.side-position.is-normal > .e-con-inner {
  flex-direction: row!important;
}
.side-position.is-reverse > .e-con-inner {
  flex-direction: row-reverse!important;
}

/*コンテナの切替表示設定*/
div.elementor-element.side-shift {
    display: none !important;
}
div.elementor-element.side-shift.is-a.current-is-a {
    display: flex !important;
}
div.elementor-element.side-shift.is-b.current-is-b {
    display: flex !important;
}

/*レイアウト表示の切替時の非表示設定*/
.sw-off {
    display: none !important;
}
.elementor-widget-shortcode:has(.sw-off) {
    display: none !important;
}

/*フィールド表示の切替時の非表示設定*/
.acf-switch-off {
    display: none;
}
.acf-switch-wrapper:has(.acf-switch-off) {
    display: none !important;
}
/*要素の非表示の設定*/
.img-show.acf-hide-off {
	display: none !important;
}
.img-show.acfe-hide-on {
	display: block;
}

/*集会内容の画像の設定*/
div.elementor-element.top-icon {
    display: none !important;
}
div.elementor-element.top-icon.mode1.current-mode1 {
    display: block !important;
}
div.elementor-element.top-icon.mode2.current-mode2 {
    display: block !important;
}
div.elementor-element.top-icon.mode3.current-mode3 {
    display: block !important;
}

/*コンテナの表示/非表示設定*/
.mt-group.is-off{
	display:none!important;
}

/*サブフィールドがoff時の親コンテナの非表示の設定*/
.is-sub-off {
    display: none !important;
}
.flex-center {
	display: flex;
	container-type: inline-size;
}
@container(min-width:380px) {
	div.flex-center {
		justify-content: center!important;
	}
	div.flex-center h6 {
		text-align:center;
	}
}

/* ACF ボタン共通スタイル */
/* position */
.custom-acf-btn-wrapper.is-left {
  text-align: left;
}
.custom-acf-btn-wrapper.is-center, .custom-acf-btn-wrapper.is-stretch {
  text-align: center;
}
.custom-acf-btn-wrapper.is-right {
  text-align: right;
}
.custom-acf-btn-wrapper.is-stretch > .custom-design-btn {
  display: block;
  width: 100%;
}

/* ボタン共通設定 */
#custom-design-btn {
    box-sizing: border-box;
    display: inline-block;
    fill: #fff;
    text-align: center;
    transition: all 0.4s ease;
    box-shadow: none;
    text-decoration: none;
    font-weight: 500;
    line-height: 1em;
    font-size: 14px;
    border-style: solid;
    border-width: 1px;
    border-radius: 5px;
    padding: 15px 35px!important;
}

.custom-design-btn:hover{
	filter: brightness(1.15);
}

p, .entry-content p {
    margin-bottom: 0;
}

/* Primary ボタン */
.custom-acf-btn-wrapper.btn-primary #custom-design-btn {
    --acf-default-btn-bg: var(--acf-custom-color, var(--ast-global-color-6));
    --btn-main-color: var(--acf-btn-bg, var(--acf-default-btn-bg));
    background-color: var(--btn-main-color) !important;
    border-color: var(--btn-main-color) !important;
    color: #ffffff !important;
}

.custom-acf-btn-wrapper.btn-primary #custom-design-btn:hover {
    background-color: var(--ast-global-color-4) !important;
    color: var(--btn-main-color) !important;
}

/* Secondary ボタン */
.custom-acf-btn-wrapper.btn-secondary #custom-design-btn {
	--acf-default-btn-bg: var(--acf-custom-color, var(--ast-global-color-0));
    --btn-main-color: var(--acf-btn-bg, var(--acf-default-btn-bg));
    background-color: var(--ast-global-color-4) !important;
    border-color: var(--btn-main-color) !important;
    color: var(--btn-main-color) !important;
}
.custom-acf-btn-wrapper.btn-secondary #custom-design-btn:hover {
    background-color: var(--btn-main-color) !important;
    color: #ffffff !important;
}

/* Tertiary ボタン */
.custom-acf-btn-wrapper.btn-tertiary #custom-design-btn {
	--acf-default-btn-bg: var(--acf-custom-color, var(--ast-global-color-8));
    --btn-main-color: var(--acf-btn-bg, var(--acf-default-btn-bg));
    background-color: var(--acf-default-btn-bg) !important;
    border-color: var(--ast-global-color-4) !important;
    color: var(--ast-global-color-4) !important;
}
.custom-acf-btn-wrapper.btn-tertiary #custom-design-btn:hover {
    background-color: var(--ast-global-color-4) !important;
	border-color: var(--ast-global-color-4) !important;
    color: var(--ast-global-color-2) !important;
}

/* Quaternary ボタン */
.custom-acf-btn-wrapper.btn-quaternary #custom-design-btn {
	--acf-default-btn-bg: var(--acf-custom-color, var(--ast-global-color-2));
    --btn-main-color: var(--acf-btn-bg, var(--acf-default-btn-bg));
    background-color: var(--ast-global-color-4) !important;
    border-color: var(--ast-global-color-4) !important;
    color: var(--btn-main-color) !important;
}
.custom-acf-btn-wrapper.btn-quaternary #custom-design-btn:hover {
    background-color: var(--btn-main-color) !important;
	border-color: var(--btn-main-color) !important;
    color: #ffffff !important;
}

/*アイコンの設定*/
.acf-i i {
	font-size:65px;
}

/*モバイル時flexをblockに戻す設定*/

@media screen and (max-width:768px) {
	.mo-block{
		display: block!important;
		position: static!important;
		margin-bottom: 0!important;
	}
}

/* acfのherfの設定 */
.acf-link-box {
	position:relative!important;
}

.link-overlay {
    position: absolute;
    inset: 0;
    display: block;
    width: 100%;
    height: 100%;
    z-index: 10;
}

.link-overlay a {
	display: block;
    width: 100%;
    height: 100%;
}

/*Topページのマップとカレンダー*/
.top-cm iframe {
	border:none;
	border-radius:5px 0 0 5px;
}

/* Topページ 3p-colのボタン */
.top-3p-btn div {
	background:none;
	padding:0!important;
	color: var(--ast-global-color-3);
	border:0;
	text-decoration: underline;
	font-size:.98em;
}

/*aboutページの歴史の項目のインデント*/
.history-list .elementor-icon-list-text {
	--indent: 65px;
    text-indent: calc(var(--indent) * -1);
    padding-inline-start: var(--indent) !important;
}

/* About-牧師紹介 */
.is-layout-b .about-pastor-title div {
	border-style: none !important;
}

.is-layout-b .about-pastor-title h5{
	font-size:1.9em;
}

/*集会画像のレイアウト*/
.mt-img img, .mt-yt img, .mt-oth img, #sb_instagram img {
	border-radius:5px!important;
	box-shadow: 3px 3px 3px 0px rgba(0, 0, 0, 0.5)!important;
}

/*インスタ画像の設定*/
#sb_instagram .sbi_photo img {
    width: 98%!important;
    height: 98%!important;
}
#sb_instagram .sb_instagram_header h3, .sb_instagram_header h3 {
    font-size: 20px!important;
}
#sb_instagram .sb_instagram_header p, .sb_instagram_header p {
    font-size: 16px!important;
}

@media (min-width: 480px) {
    #sb_instagram .sb_instagram_header.sbi_medium .sbi_header_text .sbi_bio, #sb_instagram .sb_instagram_header.sbi_medium .sbi_header_text .sbi_bio_info, .sb_instagram_header.sbi_medium .sbi_header_text .sbi_bio, .sb_instagram_header.sbi_medium .sbi_header_text .sbi_bio_info {
        font-size: 16px!important;
    }
	#sb_instagram .sb_instagram_header.sbi_medium .sbi_header_text h3, .sb_instagram_header.sbi_medium .sbi_header_text h3 Specificity: (1,3,1) {
        font-size: 25px!important;
	}
}

/*ギャラリー*/
.gcontainer{
    background: rgba(0,0,0,0.85) !important;
}
#bulk-gallery-add-btn{
	margin-left:10px;
}
ul.custom-media-gallery{
	display:flex;
	flex-wrap:wrap;
	gap:25px;
	list-style:none;
	justify-content: flex-start;
}
.custom-media-gallery li {
    width: 31%;
}

.custom-media-gallery li img {
  	width: 100%;
  	height: 100%!important;
	object-fit: cover;
	border-radius: 10px;
}

.gslide-image img {
    max-width: 90vw;
    max-height: 80vh;
}

.ast-page-builder-template .entry-content[data-ast-blocks-layout] > .inherit-container-width > *, .ast-page-builder-template .entry-content[data-ast-blocks-layout] > *:not(.wp-block-group):where(:not(.uagb-is-root-container):not(.spectra-is-root-container)) > *, .entry-content[data-ast-blocks-layout] > .wp-block-cover .wp-block-cover__inner-container {
	margin-left:0;
	margin-right:0;
	text-align: center;
}

@media (min-width: 1025px) {
	ul.custom-media-gallery{
		width:980px;
	}
}
@media (max-width: 1024px) {
	ul.custom-media-gallery{
		width:auto;
		padding:10px;
		justify-content: center;
	}
	.custom-media-gallery li {
		width: calc(30% - 10px);
    }
}
@media (max-width: 767px) {
	ul.custom-media-gallery{
		justify-content: space-between;
	}
	
	.custom-media-gallery li {
		width: calc(48% - 10px);
    }
}

/* mapの大きさ */
@media (max-width: 768px) {
	.acf-embed.acf-embed-map iframe {
		height:350px!important;
	}
}


/* 会員ページ */
/* ヘッダー */
.members-only-page .ast-single-entry-banner {
	background-image: none!important;
	background: #fff;
    text-align: center;
	margin:0;
}

.members-only-page .ast-single-entry-banner h1 {
	color:var(--ast-global-color-3)!important;
	text-shadow:none!important;
}

/*sw_contが非表示時の設定*/
.is-off-cont {
    display: none !important;
}