/* =========================
   表示切り替え用（PC / SP）
========================= */

/* スマホ専用：PCでは非表示 */
.sp_only {
	display: none;
}

/* PC専用：PCでは表示 */
.pc_only {
	display: block;
}


/* =========================
   ヘッダー全体
========================= */

/* header全体の最大幅と中央寄せ */
header {
	max-width: 1200px;
	margin: auto;
	width: 100%;
}

/* ヘッダー内のレイアウト */
.header_inner {
	max-width: 1200px;
	margin: auto;
	width: 100%;

	/* ロゴとナビを横並び */
	display: flex;
	align-items: center;

	margin: 0;
    margin-top: 40px;
	padding: 0;
}


/* =========================
   ナビゲーション
========================= */

/* ナビゲーションのリストを横並び */
.nav {
	flex: 1;          /* 左右を除いた中央エリア */
	min-width: 0;     /* はみ出し防止 */
}

.nav_list {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 24px;
}

/* ナビリンクの見た目 */
nav > ul > li > a {
	text-decoration: none;
	color: #2D2300;
}

/* liのデフォルト装飾をリセット */
ul li {
	list-style: none;
	padding: 0;
	margin: 0;
}

/* 各ナビ項目の間隔 */
.nav_item {
	margin-left: 20px;
}


/* =========================
   右向き矢印（疑似要素）
========================= */

/* 矢印を付けたい要素 */
.right_arrow {
	position: relative;
	display: inline-block;
}

/* 疑似要素で矢印を作成 */
.right_arrow::after {
	content: '';
	width: 8px;
	height: 8px;

	/* 右上だけ線を引いて矢印にする */
	border-top: solid 1px #555;
	border-right: solid 1px #555;

	position: absolute;
	top: 50%;
	transform: rotate(45deg) translateY(-50%);
}


/* =========================
   ロゴ関連
========================= */

/* サイトロゴ */
.logo {
	flex: 0 0 auto;
}

.web_logo {
	width: 180px;
	height: auto;
}

/* X（旧Twitter）ロゴ */
.snslogo {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	gap: 42px;
}

.x_logo {
	width: 40px;
}

.Booth_logo {
	width: 100px;
	margin-right: 30px;
}

/* =========================
   TOPへ戻るボタン
========================= */

.top_back {
	position: fixed;
	bottom: 10%;
	right: 5%;
	z-index: 100;

	background-color: #ffadade3;
	padding: 10px;
	border-radius: 50px;
	color: #a39d9d;
}


/* =========================
   スマホ用（768px以下）
========================= */

@media only screen and (max-width: 768px) {

	/* スマホではSP用を表示 */
	.sp_only {
		display: block;
	}

	/* スマホではPC用を非表示 */
	.pc_only {
		display: none;
	}

	/* -------------------------
	   スライドメニュー本体
	------------------------- */
	.nav {
		position: fixed;
		right: -320px;        /* 初期状態では画面外 */
		top: 0;
		width: 300px;
		height: 100vh;

		padding-top: 60px;
		background-color: #fff;

		transition: all .6s;
		z-index: 200;

		/* メニューが長い場合スクロール */
		overflow-y: auto;
	}

	/* スマホ用の矢印位置調整 */
	.right_arrow::after {
		right: 5px;
	}

	/* -------------------------
	   ハンバーガーメニュー
	------------------------- */
	.hamburger {
		position: absolute;
		right: 20px;
		top: 8px;

		width: 40px;
		height: 40px;

		cursor: pointer;
		z-index: 300;
	}

	/* スマホでは縦並び */
	.nav_list {
		display: block;
		margin: 0;
		padding: 0;
	}

	/* ナビ項目 */
	.nav_item {
		text-align: center;
		padding: 0 14px;
	}

	.nav_item a {
		display: block;
		padding: 8px 0;

		border-bottom: 1px solid #eee;
		text-decoration: none;
		color: #333;
	}

	.nav_item a:hover {
		background-color: #eee;
	}

	/* -------------------------
	   ハンバーガーの線
	------------------------- */
	.hamburger_border {
		position: absolute;
		left: 11px;

		width: 24px;
		height: 2px;

		background-color: #333;
		transition: all .6s;
	}

	.hamburger_border_top {
		top: 14px;
	}

	.hamburger_border_center {
		top: 20px;
	}

	.hamburger_border_bottom {
		top: 26px;
	}

	/* -------------------------
	   背景の黒オーバーレイ
	------------------------- */
	.black_bg {
		position: fixed;
		left: 0;
		top: 0;

		width: 100vw;
		height: 100vh;

		z-index: 100;
		background-color: #333;

		opacity: 0;
		visibility: hidden;
		transition: all .6s;
		cursor: pointer;
	}

	/* -------------------------
	   メニューが開いた状態
	------------------------- */

	/* ナビを表示 */
	.nav-open {
		right: 0 !important;
	}

	/* 背景を表示 */
	.nav-open .black_bg {
		opacity: .8;
		visibility: visible;
	}

	/* ×マークに変形 */
	.nav-open .hamburger_border_top {
		transform: rotate(45deg);
		top: 20px;
	}

	.nav-open .hamburger_border_center {
		width: 0;
		left: 50%;
	}

	.nav-open .hamburger_border_bottom {
		transform: rotate(-45deg);
		top: 20px;
	}
}

/* -------------------------
	下線
------------------------- */

hr {
    border: none;           /* デフォルトのボーダーを消す */
    border-bottom: 2px solid #3d3d3d;  /* 下線として表示 */
}