@charset "UTF-8";
/*
    Template: swell
    Theme Name: SWELL CHILD
    Theme URI: https://swell-theme.com/
    Description: SWELLの子テーマ
    Version: 1.0.0
    Author: LOOS WEB STUDIO
    Author URI: https://loos-web-studio.com/

    License: GNU General Public License
    License URI: http://www.gnu.org/licenses/gpl.html
*/

/*MVのキャッチ*/
@media (min-width: 600px) {
    .p-mainVisual__slideTitle {
        font-size: 30px;
    }
	.p-mainVisual__slideText {
        font-size: 17px;
    }
}

/*ボディ上部の余白削除*/
.top #content {
    padding-top: 0em;
}

/*ボディ下部の余白削除・固定ページのボディ上部の余白削除*/
.l-content {
    margin: 0 auto 1em;
	padding-top: 1em;
}


/*=========================================
  下層ページのタイトル帯
=========================================*/
#top_title_area {
	background-color: #DED6CB;
}

/* 帯の中の文字色（固定ページのh1・記事タイトル・日付などすべて） */
#top_title_area .l-topTitleArea__body {
	color: #3B332F;
}

/* 固定ページのh1：左寄せ＋文字の左に短い棒 */
#top_title_area .c-pageTitle {
	display: flex;
	align-items: center;
	gap: .8em;
}

#top_title_area .c-pageTitle::before {
	content: "";
	flex: 0 0 40px;
	height: 2px;
	background: #b78f16;
}

#top_title_area .c-pageTitle::after {
	content: none;
}

/* 帯の高さ（題字は縦中央に置かれるので、上下が同じだけ詰まる） */
@media screen and (max-width: 959px) {
	.l-topTitleArea {
		min-height: 70px;
	}
}

@media screen and (min-width: 960px) {
	.l-topTitleArea {
		min-height: 80px;
	}
}

/* 帯とパンくずの間 */
.l-topTitleArea + .p-breadcrumb {
	padding-top: 4px;
}

.l-topTitleArea.c-filterLayer::before,
.l-topTitleArea.c-filterLayer::after {
	display: none;
}

.l-topTitleArea__img {
	display: none;
}


/*=========================================
  トップのスライダー
=========================================*/
.loop-slider {
    display: flex;
    overflow: hidden;
    gap: 0rem; /* 画像間の余白を指定 */
}

/* 中間の階層をすべて潰して、トラックを横並びの直接の子にする */
.loop-slider .wp-block-group,
.loop-slider .wp-block-group__inner-container,
.loop-slider .swell-block-columns {
    display: contents;
}

.loop-slider .swell-block-columns__inner {
    flex-wrap: nowrap;
    animation: infinity-scroll-left 30s infinite linear; /* アニメーションの時間を指定 */
}

.loop-slider .swell-block-column figure {
    width: 600px; /* 画像の横幅を指定（パソコン） */
    position: relative;
}

.loop-slider .swell-block-column figure::before {
    padding-top: 65%; /* 画像の縦横比を指定 */
    display: block;
    content: "";
}

.loop-slider .swell-block-column figure img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
    width: 100% !important;
    height: 100% !important;
    object-fit: cover;
    object-position: center;
}

@media screen and (max-width: 959px) {
    .loop-slider .swell-block-column figure {
        width: 200px; /* 画像の横幅を指定（スマホ） */
    }
}

@keyframes infinity-scroll-left {
    from {
        transform: translateX(0);
    }

    to {
        transform: translateX(-100%);
    }
}


/*お知らせ一覧の区切り線*/
.news-line {
	--color_border: #3B332F;
}


/*フッターの見出しの下線カラー変更*/
.c-widget__title.-footer::before {
	background-color: var(--color_main) !important;
}

/*スマホメニューのMENU見出しの線*/
.c-widget__title.-spmenu::before,
.c-widget__title.-spmenu::after {
	background-color: #b78f16;
}

/*カラバリのswellボタンのアイコンカラー変更*/
.btn-icon svg.__icon {
	fill: #333;
}


/*店舗情報テーブル*/
.shop-table th {
	background-color: #3B332F;
	color: #fff;
}

.shop-table th,
.shop-table td {
	border-color: #8C847D;
}


/*セクション見出しの両脇に細い線（下層ページのみ）*/
#body_wrap:not(.home) .post_content .is-style-section_ttl:not(.has-text-align-left):not(.course-ttl) {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 2em;
}

#body_wrap:not(.home) .post_content .is-style-section_ttl:not(.has-text-align-left):not(.course-ttl)::before,
#body_wrap:not(.home) .post_content .is-style-section_ttl:not(.has-text-align-left):not(.course-ttl)::after {
	content: "";
	position: static;
	inset: auto;
	flex: 1 0 24px;
	width: auto;
	height: 1px;
	background: #b78f16;
}

/*お品書きの価格表*/
.menu-list table,
.menu-list tbody {
	display: block;
	width: 100%;
}

.menu-list tr {
	display: flex;
	align-items: baseline;
	gap: .6em;
}

.menu-list td {
	display: block;
	border: none;
	background: none;
	padding: .5em 0;
}

.menu-list tr::after {
	content: "";
	order: 1;
	flex: 1;
	align-self: center;
	border-bottom: 1px dotted #a89f92;
}

.menu-list td:last-child {
	order: 2;
	flex: 0 0 auto;
	white-space: nowrap;
}

/*ヘッダーの電話・予約ボタン*/
.c-gnav .is-tel,
.c-gnav .is-reserve {
	display: flex;
	align-items: center;
	margin-left: 12px;
}

.c-gnav .is-tel > a,
.c-gnav .is-reserve > a {
	height: auto;
	padding: .55em 1.2em;
	border-radius: 999px;
	line-height: 1.2;
}

.c-gnav .is-tel > a {
	border: 1px solid rgba(255, 255, 255, .55);
	color: #fff;
}

.c-gnav .is-tel > a:hover {
	border-color: #fff;
}

.c-gnav .is-tel .icon-phone {
	margin-right: .45em;
		position: relative;
		top: 1px;
}

.c-gnav .is-reserve > a {
	background-color: #b78f16;
	color: #fff;
	font-weight: 700;
}

.c-gnav .is-reserve > a:hover {
	background-color: #a07d13;
}

/*コース名の見出し*/
.post_content .course-ttl::after {
	content: "";
	display: block;
	width: 40px;
	height: 1px;
	background: #b78f16;
	margin: 12px auto 8px;
}

.post_content .course-ttl + p {
	color: #6b6259;
	letter-spacing: .06em;
	margin-top: 0;
}

/*スマホメニューの電話・予約ボタン*/
#sp_menu .is-tel,
#sp_menu .is-reserve {
	border: none;
}

#sp_menu .is-tel {
	margin-top: 24px;
}

#sp_menu .is-reserve {
	margin-top: 10px;
}

#sp_menu .is-tel > a,
#sp_menu .is-reserve > a {
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 16px;
	padding: 14px 16px;
	border-radius: 999px;
	font-weight: 700;
	border-bottom: none;
}

#sp_menu .is-tel > a::before,
#sp_menu .is-reserve > a::before {
	content: none;
}

#sp_menu .is-tel > a {
	border: 1px solid #3B332F;
	color: #3B332F;
}

#sp_menu .is-reserve > a {
	background-color: #b78f16;
	color: #fff;
}

#sp_menu .is-tel .icon-phone {
	margin-right: .45em;
}

/*スマホ固定フッターの文字とアイコン*/
#fix_bottom_menu,
#fix_bottom_menu a,
#fix_bottom_menu i {
	color: #3B332F;
}

/*投稿ページのh1とリード文間の余白調整*/
@media (min-width: 960px) {
    .pc-py-60 {
        padding-top: 3em !important;
    }
}

@media not all and (min-width: 960px) {
    .sp-py-40 {
        padding-top: 2em !important;
    }
}

/*お知らせ一覧の見出しを下層ページに合わせる*/
.archive .c-pageTitle {
	display: flex;
	align-items: center;
	gap: .8em;
	color: #3B332F;
}

.archive .c-pageTitle::before {
	content: "";
	flex: 0 0 40px;
	height: 2px;
	background: #b78f16;
}

.archive h1.c-pageTitle .c-pageTitle__inner {
	border-bottom: none;
	float: none;
	padding: 0;
}

/*お知らせ一覧*/
.archive .c-pageTitle {
	border-bottom: none;
}

.archive .p-termHead {
	border: none;
}

.archive .p-postList {
	--color_border: #3B332F;
}