@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

body {
	/* background-color: #ffffff; */
	font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ Pro W3", "游ゴシック Medium", "Yu Gothic Medium", 游ゴシック体, "Yu Gothic", YuGothic, "MS PGothic", Osaka, arial, sans-serif;
	color: #2B2B2B !important;
	background-image: url('./../assets/images/body_back.png');
	background-repeat:repeat-x;
  background-position: top;
  background-size: contain;	
}

main {
	margin-bottom: 5rem;
}

/* ハンバーガーメニューのボタンスタイルを調整 */
.hamburger-menu {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-top: 20px;
	padding-bottom: 20px;
}

.hamburger-menu button {
	display: block;
	color: #1e87f0 !important;
	border-color: #1e87f0 !important;
}

/* Off-canvasメニューの位置調整 */
#offcanvas-left .uk-offcanvas-bar {
	/* ヘッダーの高さ分 (必要に応じて調整) */
	margin-top: 80px;
	/* メニューの高さをヘッダー分差し引く */
	height: calc(100vh - 80px);
}

/* Off-canvasメニューの背景色をカスタマイズ */
#offcanvas-left .uk-offcanvas-bar {
	background-color: #03346e;
	/* お好みの背景色 */
	background: linear-gradient(0deg, rgb(40, 44, 145), rgb(3, 52, 110));
	/* テキスト色を変更 */
	color: #f4f4f4;
}

/* メニュー内リンクのカスタマイズ */
#offcanvas-left .uk-nav a {
	color: #f4f4f4;
	/* リンク色 */
}

#offcanvas-left .uk-nav a:hover {
	color: #f4f4f4;
	/* ホバー時の色 (UIkitデフォルトのブルー) */
}

#offcanvas-left li:last-child {
	margin-bottom: 3rem;
}

.uk-background-primary {
	background-color: #dd4d1d !important;
	/* background-color: #f4f4f4 !important; 
	color: #03346e;*/
}

/* .uk-button {
	color: #1e87f0 !important;
	border-color: #1e87f0 !important;
} */
/* カードヘッダ部のボタン */
.uk-button-custom-head {
	margin-bottom: 1rem;
}

a.active {
	background-color: #ffffff57;
	color: #fff;
	border-radius: 5px;
}

.nav-menuitem {
	padding-left: 10px !important;
}

.nav-sub {
	margin-left: 2rem !important;
}

a.sub-active {
	background-color: #ffffff57;
	color: #fff !important;
	border-top-left-radius: 10px;
	border-top-right-radius: 5px;
	border-bottom-left-radius: 10px;
	border-bottom-right-radius: 5px;
}

#offcanvas-left li {
	margin-top: 20px;
}

.nav-bottom {
	position: sticky;
	top: 50vh;
	width: 100%;
}

.nav-reg-icon {
	padding-left: 1rem;
	margin-right: 0px !important;
}

.nav-reg {
	color: #5cc7aa !important;
	font-weight: bold;
}

/* card */
.uk-card-header {
	background-color: #c7dcff;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	padding-top: 15px;
	padding-right: 30px;
	padding-bottom: 0px;
	padding-left: 30px;
}

.uk-card-header-event {
	background-color: #fff;
	border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	padding-top: 15px;
	padding-right: 30px;
	padding-bottom: 0px;
	padding-left: 30px;
}

.page-title {
	color: #03346e;
	font-weight: bold;
}


/* PC Menu のサブメニュー（イベント） */
.button-as-menu-link {
	all: unset;
	text-decoration: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	/* font-size: 1.5rem; 
	color: #007bff;
	font-weight: bold;*/
}

.button-as-menu-link-pc {
	all: unset;
	text-decoration: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	color: #03346e !important;
	padding: 0.3rem;
	/* font-size: 1.5rem; 
	color: #007bff;
	font-weight: bold;*/
}

/* ボタンのサイズ変更 */
/* .uk-button{
	padding-right: 0 15px!important;
} */

/* ------------------------------ */
/* チェックボックスのスイッチ化      */
/* ------------------------------ */
.switch {
	position: relative;
	display: inline-block;
	width: 50px;
	height: 25px;
}

/* チェックボックス（非表示） */
.switch input {
	opacity: 0;
	width: 0;
	height: 0;
}

/* スライダー部分 */
.slider {
	position: absolute;
	cursor: pointer;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: #ccc;
	border-radius: 25px;
	transition: 0.4s;
}

/* スライダー内の円 */
.slider:before {
	position: absolute;
	content: "";
	height: 19px;
	width: 19px;
	left: 3px;
	bottom: 3px;
	background-color: white;
	border-radius: 50%;
	transition: 0.4s;
}

/* チェックが入った場合のスタイル */
input:checked+.slider {
	background-color: #1e87f0;
	/* UIkitのプライマリカラー */
}

input:checked+.slider:before {
	/* スライダーの移動距離 */
	transform: translateX(25px);
}

/* ------------------------------ */
/* フッターのスタイル                */
/* ------------------------------ */
.eventfit-footer {
	background-color: #f4f4f4;
}

/* ------------------------------ */
/* TOPへ のスタイル                */
/* ------------------------------ */
/* ボタンのスタイル */
.scroll-to-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	width: 50px;
	height: 50px;
	background-color: white;
	border-radius: 50%;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: transform 0.3s, opacity 0.3s;
	opacity: 0;
	visibility: hidden;
}

/* ボタンを表示 */
.scroll-to-top.show {
	opacity: 1;
	visibility: visible;
}

/* アイコンのスタイル */
.scroll-to-top-icon {
	font-size: 18px;
	color: #333;
}

/* ホバー時のエフェクト */
.scroll-to-top:hover {
	transform: scale(1.1);
	background-color: #f5f5f5;
}

/* ------------------------------ */

/* ------------------------------ */
/* 最下部へ のスタイル                */
/* ------------------------------ */
.scroll-reg-button {
	position: fixed;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	background-color: #1e87f0;
	color: white;
	border: none;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	font-size: 20px;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0px 4px 6px rgba(0, 0, 0, 0.2);
	transition: background-color 0.3s ease, transform 0.2s ease-in-out;
	display: none;
}

.scroll-reg-button:hover {
	background-color: #105ea0;
	transform: translateY(-50%) scale(1.1);
}

#scroll-reg-bottom.show {
	display: flex;
}

/* ------------------------------ */

/* ------------------------------ */
/* input他部品の共通スタイル        */
/* ------------------------------ */
.uk-grid-small {
	align-items: center;
}

.input-container {
	display: flex;
	align-items: center;
	flex: 1;
	/* テキスト入力エリアを広げる */
}

.responsive-input {
	/* 幅を最大化 */
	width: 100%;
}

.hissu {
	/* 折り返しを防ぐ */
	white-space: nowrap;
	/* テキスト入力との間隔 */
	margin-left: 8px;
	color: red;
	margin-top: 5px;
}

/* .custom-label {
	background-color: #d9edf7 !important; 
	padding: 5px 10px; 
	border-radius: 4px; 
} */

.label-container {
	display: flex;
	background-color: #d9edf7 !important;
	border-radius: 4px;
	padding: 5px 10px;
	/* ラベル部分の固定幅（必要に応じて調整） */
	width: 130px;
	/* ラベルを右寄せに揃える */
	text-align: left;
	/* ラベルと入力フィールドの間の余白 */
	padding-right: 10px;
	/* テキストエリアと同じ高さに */
	height: 100%;
	/* 垂直方向で中央揃え */
	align-items: center;
}

.uk-textarea {
	resize: vertical;
	display: block;
	width: 100%;
	/* テキストエリアを動的に高さ指定 */
	height: 100%;
}

.label-container-textarea {
	min-height: 130px;
}

/* アップローダーのサイズ */
.ixa-uploader {
	width: 100%;
}

.label-container_blank {
	background-color: #fff !important;
	border-radius: 4px;
	padding: 5px 10px;

	width: 130px;
	/* ラベル部分の固定幅（必要に応じて調整） */
	text-align: right;
	/* ラベルを右寄せに揃える */
	padding-right: 10px;
	/* ラベルと入力フィールドの間の余白 */
}

/* ------------------------------ */
/* ローディングモーダルのスタイル */
/* ------------------------------ */
.loading-modal {
	display: flex;
	justify-content: center;
	align-items: center;
	/* 半透明の背景 */
	background-color: rgba(0, 0, 0, 0.4);
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 9999;
	/* 初期状態は非表示 */
	visibility: hidden;
	opacity: 0;
	transition: visibility 0s, opacity 0.3s ease;
}

.loading-modal.active {
	visibility: visible;
	opacity: 1;
}

.loading-spinner {
	color: white;
}

/* ------------------------------ */
/* PCメニュー*/
/* ------------------------------ */
.pc-menu {
	background-color: #f4f4f4;
	/* background-color: #03346e; */
	/* background: linear-gradient(0deg, rgb(40, 44, 145), rgb(3, 52, 110)); */
	padding-left: 2rem;
	padding-right: 2rem;
}

.pc-menu a {
	color: #03346e !important;
}

.uk-pc-active {
	font-weight: bold;
}

/*
.pc-menu a{
	color: black!important;
} */

/* ------------------------------ */
/* ボタンをアンカーリンク風に見せる@メニュー */
/* ------------------------------ */
.button-as-link {
	/* デフォルトのボタンスタイルをリセット */
	all: unset;
	/* アンカーリンク風の色 */
	color: #007bff;
	/* 下線を追加 */
	text-decoration: none;
	/* ポインター表示 */
	cursor: pointer;
	/* フレックスレイアウトを維持 */
	display: flex;
	/* アイコンとテキストを中央揃え */
	align-items: center;

	font-size: 1.5rem;
	font-weight: bold;

}

.button-as-link:hover {
	/* ホバー時の下線表示 */
	text-decoration: underline;
}

input.readonly-style[readonly] {
	background-color: transparent;
	color: #888;
	border-color: transparent;
	/* ポインタを変更 */
	cursor: auto;
}

input.readonly-style[readonly]:focus {
	/* フォーカス時の青い枠を削除 */
	outline: none;
}

/* ------------------------------ */
/* スクロールしてもボタンエリアを最下部に固定 */
/* 本スタイル未使用 */
/* ------------------------------ */
.fixed-bottom {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	/*transparent;*/
	/* 背景色 */
	background-color: #fff;
	padding: 10px 0;
	/* ボタンを中央配置 */
	text-align: center;
	/* 上に影をつける */
	box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.1);
	/* 他の要素より前面に表示 */
	z-index: 1000;
}


/* ------------------------------ */
/* flatpickr */
/* ------------------------------ */
/* 日曜日 (最初の曜日) */
.flatpickr-weekday:nth-child(1) {
	color: red;
	/* 赤色 */
}

/* 土曜日 (最後の曜日) */
.flatpickr-weekday:nth-child(7) {
	color: blue;
	/* 青色 */
}

/* ------------------------------ */
/* 画像の */
/* ------------------------------ */
.image-preview {
	max-width: 200px;
	max-height: 200px;
	display: block;
	margin-top: 10px;
}


.ixa-head {
	/* background-image: url('./../assets/images/header_back.png');
	background-repeat:repeat-x;
  background-position: top;
  background-size: contain;	 */
}

.ixa-text-lead {
	font-size: 1.2rem;
	line-height: 1.5;
	color: #333;
}