@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
*/

body {
	font-family: "Zen Old Mincho", serif;
	line-height: 1.7;	
}

.maru {
	font-family: "Zen Maru Gothic", sans-serif;
}

/* =========================================================
   こうやぎファーム 固定レイアウト
   ※ 子テーマ style.css の【末尾】に追記
   ※ ★印のセレクタ・数値は、実機のデザインに合わせて要調整
   ========================================================= */
:root {
	--gy-orange: #d96a4f;   /* ★ブランドのオレンジ（実際の色に合わせる） */
	--gy-text:   #3a3a3a;
	--gy-side-w: 150px;     /* 左固定カラムの幅 */
	--gy-nav-w:  90px;      /* 右縦書きナビ分の余白 */
}

/* --- SWELL標準ヘッダーを非表示（★セレクタは実機で要確認：通常 .l-header） --- */
.l-header { display: none !important; }

/* --- 固定要素の土台（中央コンテンツのクリックを邪魔しない） --- */
.gy-fixed { position: fixed; inset: 0; z-index: 1000; pointer-events: none; }
.gy-fixed > * { position: fixed; pointer-events: auto; }

/* --- 中央コンテンツに左右の余白（★#page は実機で要確認） --- */
#page { padding-left: var(--gy-side-w); padding-right: var(--gy-nav-w); }

/* --- 左上：ロゴ＋ハンバーガー --- */
.gy-fixed__topleft {
	top: 0; left: 0; width: var(--gy-side-w);
	background: #fff; text-align: center; padding: 18px 0;
}
.gy-hamburger {
	background: none; border: 0; cursor: pointer;
	display: inline-flex; flex-direction: column; align-items: center; gap: 5px;
	padding: 6px;
}
.gy-hamburger span { display: block; width: 26px; height: 2px; background: var(--gy-text); }
.gy-hamburger em { font-style: normal; font-size: 10px; letter-spacing: .1em; margin-top: 2px; }
.gy-logo { display: inline-block; margin-top: 14px; }
.gy-logo img { width: 78px; height: auto; }

/* --- 右：縦書きグローバルナビ --- */
.gy-sidenav { top: 28px; right: 22px; }
.gy-sidenav__list {
	list-style: none; margin: 0; padding: 0;
	writing-mode: vertical-rl;     /* 縦書き */
	text-orientation: upright;     /* ABOUT等も縦に積む */
}
.gy-sidenav__list li { display: block; margin-left: 16px; }
.gy-sidenav__list a {
	font-family: "Zen Old Mincho", serif;
	color: var(--gy-text); text-decoration: none;
	letter-spacing: .18em; font-size: 14px;
}

/* --- 左下：SNS＋ONLINE STORE --- */
.gy-fixed__bottomleft { left: 0; bottom: 0; width: var(--gy-side-w); text-align: center; }
.gy-sns { list-style: none; margin: 0 0 14px; padding: 0; }
.gy-sns li { margin: 12px 0; }
.gy-sns a { display: inline-block; }
.gy-sns svg { width: 20px; height: 20px; fill: var(--gy-text); }

.gy-store { display: inline-block; position: relative; text-decoration: none; }
.gy-store__balloon {
	display: block; background: #fff; color: var(--gy-orange);
	font-size: 10px; line-height: 1.3; border-radius: 12px;
	padding: 6px 8px; margin-bottom: 6px; position: relative;
}
.gy-store__balloon::after {
	content: ""; position: absolute; left: 50%; bottom: -5px; transform: translateX(-50%);
	border: 5px solid transparent; border-top-color: #fff;
}
.gy-store__btn {
	display: flex; flex-direction: column; align-items: center; gap: 2px;
	background: var(--gy-orange); color: #fff;
	padding: 12px 8px; border-radius: 14px 14px 0 0;
}
.gy-store__btn svg { width: 26px; height: 26px; fill: #fff; }
.gy-store__btn em { font-style: normal; font-size: 11px; line-height: 1.2; }

/* --- ドロワー（ハンバーガーで開く・オレンジ全画面） --- */
.gy-drawer {
	position: fixed; inset: 0; z-index: 1100;
	background: var(--gy-orange); color: #fff;
	padding: 70px 32px 40px; overflow-y: auto;
	transform: translateX(-100%); opacity: 0; visibility: hidden;
	transition: transform .4s ease, opacity .4s ease, visibility .4s;
}
body.gy-drawer-open { overflow: hidden; }
body.gy-drawer-open .gy-drawer { transform: none; opacity: 1; visibility: visible; }

.gy-drawer__close {
	position: absolute; top: 22px; left: 32px;
	background: none; border: 0; color: #fff; cursor: pointer;
	display: inline-flex; flex-direction: column; align-items: center;
}
.gy-drawer__close-x { font-size: 26px; line-height: 1; }
.gy-drawer__close em { font-style: normal; font-size: 10px; letter-spacing: .1em; }

.gy-drawer__list { list-style: none; margin: 10px 0 30px; padding: 0; }
.gy-drawer__list li { margin: 20px 0; }
.gy-drawer__list a {
	color: #fff; text-decoration: none;
	font-family: "Zen Old Mincho", serif; font-size: 20px; letter-spacing: .1em;
}
.gy-drawer__sns { list-style: none; display: flex; gap: 22px; margin: 0 0 26px; padding: 0; }
.gy-drawer__sns svg { width: 26px; height: 26px; fill: #fff; }
.gy-drawer__base { display: inline-block; }
.gy-drawer__base img { max-width: 300px; width: 100%; height: auto; border-radius: 8px; }

/* =========================================================
   スマホ（max-width:768px）：左右固定をやめ、上部バー＋右下カートへ
   ========================================================= */
@media screen and (max-width: 768px) {
	/* 上部バー：ハンバーガー左・ロゴ右 */
	.gy-fixed__topleft {
		width: 100%;
		display: flex; align-items: center; justify-content: space-between;
		padding: 8px 16px; box-shadow: 0 1px 4px rgba(0,0,0,.06);
	}
	.gy-hamburger { order: 1; }
	.gy-logo { order: 2; margin-top: 0; }
	.gy-logo img { width: 58px; }

	/* 縦書きナビ・左下SNSは隠してドロワーに集約 */
	.gy-sidenav { display: none; }
	.gy-sns { display: none; }
	.gy-store__balloon { display: none; }

	/* カートは右下に追従 */
	.gy-fixed__bottomleft { left: auto; right: 0; bottom: 0; width: auto; }
	.gy-store__btn { border-radius: 14px 0 0 0; }

	/* 中央コンテンツの余白を上部バー分に切り替え */
	#page { padding-left: 0; padding-right: 0; padding-top: 64px; }
}
