/*
Theme Name: ENA 2022 Child
Theme URI:
Description: Child theme for ena2022.
Author: hogehoge Inc.
Template: ena2022
Version: 1.0.6
Text Domain: ena2022-child
*/

/* =========================================================
   Cookie banner (.attention)
========================================================= */

.attention {
	right: 0;
	bottom: 0;
	text-align: left;
	position: fixed;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 60px 15px 25px;
	width: 575px;
	border-radius: 15px 0 0 0;
	border: 1px solid #ddd;
	z-index: 10;
}
.attention div:first-of-type {
	width: 72%;
}
.attention div:first-of-type a {
	text-decoration: underline;
}
.attention div:nth-of-type(2) {
	width: 25%;
	text-align: center;
}
.attention div img {
	display: block;
	margin: 0 auto;
}
.attention p {
	font-size: 13px;
	display: block;
}
.attention small {
	font-size: 11px;
}
.attention strong {
	font-size: 19px;
}
.attention .attn_a {
	width: 100px;
	padding: 15px 5px;
	display: inline-block;
	background: #333;
	color: #fff;
	text-decoration: none;
	font-size: 11px;
	text-align: center;
	border: 0;
	cursor: pointer;
	font-family: inherit;
}
.attention .attn_close {
	z-index: 9999;
	position: absolute;
	top: -15px;
	right: 20px;
	cursor: pointer;
	font-size: 19px;
	line-height: 32px;
	color: #fff;
	background: #000;
	width: 32px;
	height: 32px;
	text-align: center;
	letter-spacing: 0;
	border-radius: 50%;
	border: 0;
	padding: 0;
}
@media screen and (max-width: 768px) {
	.attention {
		width: 100%;
	}
	.attention p {
		text-align: justify;
		font-size: 1.1rem;
	}
	.attention .attn_a {
		width: 80px;
	}
}


/* =========================================================
   Front 2026 – Two-column sticky layout
   =========================================================
   変数:
   	--f26-icon-nav-w  : 一番左の既存アイコンナビの幅（要調整）
   	--f26-catch-w     : キャッチコピーパネルの幅
   	--f26-left-total  : メインコンテンツの左マージン合計
========================================================= */

:root {
	--f26-icon-nav-w:  55px;   /* 既存サイトのアイコンナビ幅に合わせて調整 */
	--f26-catch-w:     155px;
	--f26-left-total:  210px;  /* icon-nav-w + catch-w */
	--f26-accent:      #f7941d;
	--f26-c1:          #EF856D;
	--f26-c2:          #B08BBE;
	--f26-c3:          #49BCBD;
	--f26-c4:          #F8B500;
	--f26-c5:          #0068B7;
	--f26-c6:          #8FC31F;
	--color-pink:      #c94989;
	--color-green:     #006600;
}

#pagetop{
	z-index: 9;
}
#pagetop a{
	background: var(--color-green);
}

.sp {
	display: none !important;
}

.color-pink{
	color: var(--color-pink);
}

.color-green{
	color:var(--color-green);
}

/* =========================================================
   フォーカスインジケータ（WCAG 2.4.7基準）
========================================================= */

a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[role="button"]:focus-visible {
	outline: 2px solid var(--f26-accent);
	outline-offset: 2px;
}

.attention .attn_a:focus-visible,
.attention .attn_close:focus-visible,
.f26-swiper-prev:focus-visible,
.f26-swiper-next:focus-visible,
.f26-event__all-btn:focus-visible,
.f26-cal__nav:focus-visible,
a.f26-menu__link--green:focus-visible {
	outline-color: #fff;
}

/* --- スキップリンク --- */
.f26-skip-link:focus {
	position: fixed;
	top: 8px;
	left: 8px;
	z-index: 99999999;
	clip: auto;
	width: auto;
	height: auto;
	padding: 12px 24px;
	background: #000;
	color: #fff;
	font-size: 1.4rem;
	font-weight: 700;
	text-decoration: none;
	border-radius: 4px;
}


/* =========================================================
   ローディングオーバーレイ
========================================================= */

.no-js .loadingOverlay {
	display: none;
}

.loadingOverlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #ffffff; /* 最初は完全な白 */
	z-index: 9999999;
	transform: translateY(0);
	transition: transform 1.2s cubic-bezier(0.22, 1, 0.36, 1);
}

.loadingOverlay.isHidden {
	background: linear-gradient(
		to bottom,
		rgba(255, 255, 255, 0) 0%,
		rgba(255, 255, 255, 0.3) 5%,
		rgba(255, 255, 255, 0.8) 10%,
		#ffffff 15%
	);
	transform: translateY(100%);
}

/* コンテンツの初期状態 */
.pageContent {
	opacity: 0;
	transform: translateY(50px); /* より大きく移動 */
	transition: opacity 1s ease-out, transform 1s ease-out; /* ゆっくりふわっと */
}

.pageContent.isVisible {
	opacity: 1;
	transform: translateY(0);
}

.pageContent {
	opacity: 0;
	transform: translateY(80px); /* さらに大きく */
	transition: opacity 1.5s cubic-bezier(0.19, 1, 0.22, 1),
							transform 1.5s cubic-bezier(0.19, 1, 0.22, 1);
}


/* =========================================================
    ラッパー
========================================================= */

.f26-wrap {
	display: block;
}

/* 下層サイドナビと合わせる */
#TOP {
	width: calc(100% - 110px);
	margin-left: 110px;
}

/* 親テーマの OIH 既定余白をフロントTOP構造で無効化 */
#OIH aside {
	top: 0 !important;
}

#OIH main,
#OIH > main#TOP {
	margin-top: 0 !important;
}

@media print, screen and (min-width: 769px) {
	.header_oih {
		height: 60px !important;
	}
}

#OIH > main#TOP > section:first-of-type {
	padding-top: 0 !important;
}


/* =========================================================
   header
========================================================= */

.header_oih{
	background: none;
	position: absolute;
	height: 60px;
}

/* -------
ハンバーガーメニュー
TOPは1000px以下でハンバーガーを出したい。
親テーマでは768px以下じゃないと見た目が指定されないためここで指定→1000px以下で.spをdisplay:block
------- */
.header_oih #navToggle {
		right: 5%;
}
.header_oih #navToggle span{
	background: var(--color-green);
	border-bottom: 1px solid var(--color-green) !important;
}

.header_oih.openNav #navToggle {
		right: 4%;
}

header nav.nav_oih{
	background: var(--color-green);
}

/* =========================================================
   サイドメニュー（下層スタイル・既存テーマ踏襲）
========================================================= */

aside, aside {
	position: fixed;
	top: 0;
	left: 0;
	width: 110px;
	min-height: 100vh;
	background: #fff;
	z-index: 10;
}
aside .box,
aside .box {
	padding: 15px 10px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-bottom: 1px solid #e5e5e5;
}
aside .box a,
aside .box a {
	position: relative;
	z-index: 1;
}
aside .box--home,
aside .box--home {
	padding: 0;
}
aside .box--home a,
aside .box--home a {
	padding: 15px 10px;
	display: flex;
	align-items: center;
	justify-content: center;
}
aside .box--home a img,
aside .box--home a img {
	width: 20px;
	height: auto;
}
aside .language,
aside .language {
	font-size: 1.3rem;
}
aside .language span,
aside .language span {
	color: #959595;
	padding-right: 5px;
}
aside .language a,
aside .language a {
	font-size: 1.3rem;
	padding-left: 5px;
}
aside .search,
aside .search {
	padding: 20px 10px;
	position: relative;
}
aside .search a,
aside .search a {
	line-height: 1;
}
aside .search:hover::before,
aside .search:hover::before,
aside .search:focus-within::before {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(0, 102, 0, 0.7)!important;
	position: absolute;
	top: 0;
	left: 0;
}
aside .search:hover::after,
aside .search:hover::after,
aside .search:focus-within::after {
	content: "SEARCH";
	font-size: 1rem;
	color: #fff;
	font-weight: bold;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	letter-spacing: 0;
}
aside .search:hover img,
aside .search:hover img,
aside .search:focus-within img {
	opacity: 0.2;
}
aside .search_box,
aside .search_box {
	position: relative;
}
aside .search_box #search_wrapper,
aside .search_box #search_wrapper {
	position: absolute;
	right: -231px;
	top: 50%;
	transform: translate(0, -50%);
	padding: 12px;
	background: rgba(255, 255, 255, 0.8);
}
aside .search_box #search_wrapper .modal_close a::before,
aside .search_box #search_wrapper .modal_close a::after,
aside .search_box #search_wrapper .modal_close a::before,
aside .search_box #search_wrapper .modal_close a::after {
	background: darkgray;
}
aside .df_top,
aside .df_btm,
aside .df_top,
aside .df_btm {
	padding: 0;
}
aside .df_top .map img,
aside .df_top .mail img,
aside .df_btm .map img,
aside .df_btm .mail img,
aside .df_top .map img,
aside .df_top .mail img,
aside .df_btm .map img,
aside .df_btm .mail img {
	margin-bottom: 4px;
}
aside .df_top__lft:hover a img,
aside .df_top__rgt:hover a img,
aside .df_btm__lft:hover a img,
aside .df_btm__rgt:hover a img,
aside .df_top__lft:hover a img,
aside .df_top__rgt:hover a img,
aside .df_btm__lft:hover a img,
aside .df_btm__rgt:hover a img,
aside .df_top__lft:focus-within a img,
aside .df_top__rgt:focus-within a img,
aside .df_btm__lft:focus-within a img,
aside .df_btm__rgt:focus-within a img {
	opacity: 0.2;
}
aside .df_top__lft,
aside .df_btm__lft,
aside .df_top__lft,
aside .df_btm__lft {
	width: 50%;
	padding: 10px 5px;
	border-right: 1px solid #e5e5e5;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
aside .df_top__lft:hover::before,
aside .df_btm__lft:hover::before,
aside .df_top__lft:hover::before,
aside .df_btm__lft:hover::before,
aside .df_top__lft:focus-within::before,
aside .df_btm__lft:focus-within::before {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(0, 102, 0, 0.7)!important;
	position: absolute;
	top: 0;
	left: 0;
}
aside .df_top__lft:hover::after,
aside .df_btm__lft:hover::after,
aside .df_top__lft:hover::after,
aside .df_btm__lft:hover::after,
aside .df_top__lft:focus-within::after,
aside .df_btm__lft:focus-within::after {
	font-size: 1rem;
	color: #fff;
	font-weight: bold;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	letter-spacing: 0;
}
aside .df_top__lft.map:hover::after,
aside .df_btm__lft.map:hover::after,
aside .df_top__lft.map:hover::after,
aside .df_btm__lft.map:hover::after,
aside .df_top__lft.map:focus-within::after,
aside .df_btm__lft.map:focus-within::after {
	content: "ACCESS";
}
aside .df_top__lft.faq:hover::after,
aside .df_btm__lft.faq:hover::after,
aside .df_top__lft.faq:hover::after,
aside .df_btm__lft.faq:hover::after,
aside .df_top__lft.faq:focus-within::after,
aside .df_btm__lft.faq:focus-within::after {
	content: "FAQ";
}
aside .df_top__rgt,
aside .df_btm__rgt,
aside .df_top__rgt,
aside .df_btm__rgt {
	width: 50%;
	padding: 10px 5px;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
}
aside .df_top__rgt:hover::before,
aside .df_btm__rgt:hover::before,
aside .df_top__rgt:hover::before,
aside .df_btm__rgt:hover::before,
aside .df_top__rgt:focus-within::before,
aside .df_btm__rgt:focus-within::before {
	content: "";
	width: 100%;
	height: 100%;
	background: rgba(0, 102, 0, 0.7)!important;
	position: absolute;
	top: 0;
	left: 0;
}
aside .df_top__rgt:hover::after,
aside .df_btm__rgt:hover::after,
aside .df_top__rgt:hover::after,
aside .df_btm__rgt:hover::after,
aside .df_top__rgt:focus-within::after,
aside .df_btm__rgt:focus-within::after {
	font-size: 1rem;
	color: #fff;
	font-weight: bold;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	letter-spacing: 0;
}
aside .df_top__rgt.contact:hover::after,
aside .df_btm__rgt.contact:hover::after,
aside .df_top__rgt.contact:hover::after,
aside .df_btm__rgt.contact:hover::after,
aside .df_top__rgt.contact:focus-within::after,
aside .df_btm__rgt.contact:focus-within::after {
	content: "CONTACT";
}
aside .df_top__rgt.mail:hover::after,
aside .df_btm__rgt.mail:hover::after,
aside .df_top__rgt.mail:hover::after,
aside .df_btm__rgt.mail:hover::after,
aside .df_top__rgt.mail:focus-within::after,
aside .df_btm__rgt.mail:focus-within::after {
	content: "メルマガ";
	width: 100%;
	text-align: center;
}
aside .about,
aside .about {
	background: #e5e5e5;
	padding: 0;
}
aside .about a,
aside .about a {
	font-size: 1.3rem;
	font-weight: bold;
	padding: 10px;
	display: block;
	width: 100%;
	text-align: center;
}
aside .about:hover,
aside .about:hover,
aside .about:focus-within {
	background: #fff;
}
aside .oc,
aside .oc {
	padding: 10px;
}
aside .oc img,
aside .oc img {
	width: 100%;
	height: auto;
}
aside .oc--ose,
aside .oc--ose {
	padding: 0;
}
aside .oc--ose a,
aside .oc--ose a {
	padding: 10px;
	display: block;
}
aside .txt,
aside .txt {
	border-bottom: none;
	-ms-writing-mode: tb-rl;
	writing-mode: vertical-rl;
	width: 100%;
	font-size: 1.2rem;
}
aside .txt span,
aside .txt span {
	text-orientation: sideways;
}

#OIH .df_top__rgt.mail{
	width: 100%;
}


/* =========================================================
   キャッチコピーパネル
========================================================= */

.f26-catch-panel {
	position: fixed;
	top: 0;
	left: var(--f26-icon-nav-w);
	width: var(--f26-catch-w);
	height: 100vh;
	background: #fff;
	border-right: 1px solid #e8e8e8;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 40;
}

.f26-catch-panel__inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 24px;
	padding: 0 20px;
	width: 100%;
}

/* キャッチコピー */
.f26-catch-panel__copy {
	display: flex;
	flex-direction: column;
}

.f26-catch-panel__copy p {
	font-size: 1.45rem;
	font-weight: 700;
	line-height: 1.7;
	color: #1a1a1a;
	letter-spacing: 0.04em;
	margin: 0;
}

/* ロゴ */
.f26-catch-panel__logo img {
	max-width: 105px;
	height: auto;
	display: block;
}

/* ドットナビ */
.f26-catch-panel__dots {
	display: flex;
	flex-direction: row;
	gap: 6px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.f26-dot {
	display: block;
	width: 12px;
	height: 12px;
	border-radius: 50%;
	opacity: 0.3;
	transition: opacity 0.3s, transform 0.3s;
}

.f26-dot.is-active {
	opacity: 1;
	transform: scale(1.25);
}

.f26-dot--c1 { background: var(--f26-c1); }
.f26-dot--c2 { background: var(--f26-c2); }
.f26-dot--c3 { background: var(--f26-c3); }
.f26-dot--c4 { background: var(--f26-c4); }
.f26-dot--c5 { background: var(--f26-c5); }
.f26-dot--c6 { background: var(--f26-c6); }


/* =========================================================
   メインコンテンツ
========================================================= */

.f26-main {
	margin-left: var(--f26-left-total);
}

.f26-sec-wrapper{
	margin: 0 auto;
	padding: 5rem 8rem 20rem ;
}

.f26-sec-inner{
	margin-bottom: 2rem;
}

/* セクション見出し */
.f26-sec-ttl {
	display: flex;
	align-items: center;
	gap: 2rem;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: 0.12em;
	margin: 0 0 36px;
}

.f26-sec-ttl__icon {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 11px;
	flex-shrink: 0;
}

.f26-sec-ttl__icon span {
	display: block;
	width: 6px;
	height: 6px;
	border-radius: 50%;
}

.f26-sec-ttl__icon span:nth-child(1) { background: #EF856D; }
.f26-sec-ttl__icon span:nth-child(2) { background: #B08BBE; }
.f26-sec-ttl__icon span:nth-child(3) { background: #49BCBD; }
.f26-sec-ttl__icon span:nth-child(4) { background: #F8B500; }
.f26-sec-ttl__icon span:nth-child(5) { background: #0068B7; }
.f26-sec-ttl__icon span:nth-child(6) { background: #0068B7; }


/* =========================================================
   1. メインビジュアル
========================================================= */
.f26-mv__fig {
	margin: 0;
	height: 90vh;
	margin-bottom: 2rem;
}

.f26-mv__fig img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.f26-mv__lead {
	font-family: 'Noto Serif JP', serif;
	font-size: 1.9rem;
	font-weight: 700;
	color: #333;
}

.f26-mv {
	background: #fff;
}

/* ヒーロー行：縦書き風テキスト + ロゴ */
.f26-mv__hero {
	display: flex;
	gap:3vw;
}

.f26-mv__txt{
	display: flex;
	flex-direction: column;
	margin-top: 5rem;
	margin-left: 5rem;
	width: 20%;
}

.f26-mv__img{
	width: 80%;
}

.f26-mv__logo{
	margin-bottom: 4rem;
}

/* 縦書きキーワード */
.f26-mv__words {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.f26-mv__word {
	font-size: 4.6rem;
	font-weight: 900;
	letter-spacing: 0.1em;
	color: #1a1a1a;
}

/* フッター行：ドット＋キャッチ＋リード */
.f26-mv__foot {
	padding: 10rem 8rem 10rem;
}

.f26-mv__footCol{
	margin-bottom: 3rem;
}

.f26-mv__p p{
	font-size: 1.6rem;
	margin-bottom: 1rem;
}

.f26-mv__pL{
	font-size: 2rem;
	font-weight: 600;
}

.f26-mv__dots {
	display: flex;
	gap: 14px;
	margin-bottom: 20px;
}

.f26-mv__dot {
	display: block;
	width: 8px;
	height: 8px;
	border-radius: 50%;
}

.f26-mv__dot:nth-child(1) { background: var(--f26-c1); }
.f26-mv__dot:nth-child(2) { background: var(--f26-c2); }
.f26-mv__dot:nth-child(3) { background: var(--f26-c3); }
.f26-mv__dot:nth-child(4) { background: var(--f26-c4); }
.f26-mv__dot:nth-child(5) { background: var(--f26-c5); }
.f26-mv__dot:nth-child(6) { background: var(--f26-c6); }

.f26-mv__catch {
	font-size: 2.8rem;
	font-weight: 700;
	color: #1a1a1a;
	margin: 0 0 16px;
	line-height: 1.6;
}

.f26-mv__2026news{
	margin-top: 4rem;
}

.f26-mv__2026news .f26-menu__link--green{
	margin-top: 1rem;
}


/* =========================================================
   2. インフォメーション
========================================================= */
.f26-info {
	background: #fff;
}

/* セクション共通 inner */
.f26-sec-inner-info {
	display: flex;
	align-items: flex-start;
	gap: 48px;
	margin: 0 auto;
	padding: 60px 48px;
}

.f26-info .f26-sec-ttl {
	flex-shrink: 0;
	margin: 0;
}

.f26-info .f26-info__list {
	flex: 1;
	min-width: 0;
}

.f26-info__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.f26-info__item {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 20px 0;
	border-bottom: 1px solid #ddd;
}

.f26-info__item:first-child{
	padding-top: 0;
}

.f26-info__meta {
	display: flex;
	align-items: center;
	gap: 12px;
	color: #888;
	margin: 0;
}

.f26-info__meta .taxonomies_terms2022 {
	margin: 0;
}

.f26-tag {
	display: inline-block;
	color:#000000;
	background: #D7D7D7;
	border-radius: 20px;
	padding: 2px 12px;
	font-size: 0.875rem;
	white-space: nowrap;
}

.f26-info__link {
	color: #1a1a1a;
	text-decoration: none;
	font-size: 1.8rem;
	line-height: 1.65;
}

.f26-info__link:hover,
.f26-info__link:focus-visible {
	color: var(--color-green);
}

.taxonomies_terms2022 a{
	margin-top: 0;
}


/* =========================================================
  イベント
========================================================= */
.f26-info .f26-sec-inner-event {
	display: flex;
	align-items: flex-start;
	gap: 48px;
}

.f26-sec-inner-event {
	margin: 0 auto;
	padding: 60px 0 60px 48px;
}

.f26-event__body {
	display: flex;
	gap: 2vw;
	align-items: flex-start;
	margin-bottom: 2rem;
}

/* --- カレンダー --- */
.f26-event__cal-wrap {
	flex-shrink: 0;
	width: 30%;
}

.calender2022{
	margin-bottom: 1rem;
}

.calender2022 .em-calendar thead td:first-of-type{
	border-radius: 0!important;
}

.f26-event__cal-wrap .f26-menu__label{
	margin-top: 1rem;
}

.f26-cal-outer {
	border-radius: 6px;
	overflow: hidden;
}

.f26-cal__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #222;
	color: #fff;
	padding: 10px 12px;
}

.f26-cal__month {
	font-size: 1rem;
	font-weight: 700;
}

.f26-cal__nav {
	background: none;
	border: 1px solid #555;
	color: #fff;
	width: 26px;
	height: 26px;
	cursor: pointer;
	border-radius: 3px;
	font-size: 0.65rem;
	line-height: 1;
	padding: 0;
}

.f26-cal {
	width: 100%;
	border-collapse: collapse;
	background: #222;
	color: #ccc;
	font-size: 0.82rem;
}

.f26-cal thead th {
	background: #333;
	padding: 6px 0;
	text-align: center;
	font-weight: 500;
}

.f26-cal__sun { color: #f77; }
.f26-cal__sat { color: #88f; }

.f26-cal tbody td {
	text-align: center;
	padding: 7px 2px;
	border: 1px solid #2e2e2e;
	color: #ccc;
}

.f26-cal__ev {
	color: #f7941d;
	font-weight: 700;
}

.f26-cal__today {
	background: #f7941d;
	color: #fff;
	font-weight: 700;
}

.f26-cal__other {
	color: #444;
}

/* --- スライダー --- */
.f26-event__slider-wrap {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	padding-bottom: 1rem;
}

.f26-event__slider-ctrl {
	display: flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 14px;
}

.f26-swiper-prev,
.f26-swiper-next {
	background: #000000;
	border:0;
	border-radius: 50%;
	width: 32px;
	height: 32px;
	cursor: pointer;
	color: #ffffff;
	font-size: 0.75rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.2s;
	padding: 0;
}

.f26-swiper-prev:hover,
.f26-swiper-next:hover,
.f26-swiper-prev:focus-visible,
.f26-swiper-next:focus-visible {
	color: #000000;
	background: #e8e8e8;
}

.f26-event__all-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: #000000;
	color: #fff;
	padding: 6px 16px;
	border-radius: 20px;
	font-size: 1rem;
	text-decoration: none;
	margin-left: 2rem;
}

.f26-swiper {
	overflow: visible;
	position: relative;
	width: 100%;
}

.f26-swiper .swiper-wrapper {
	list-style: none;
	margin: 0;
	padding: 0;
}

/* Swiper 内では幅を Swiper に委ねる */
.f26-swiper .list2022_ctg {
	width: auto;
	flex-shrink: 0;
	overflow: visible;
}

.f26-swiper .swiper-slide {
	width: 25%;
	height: auto;
	box-sizing: border-box;
	border-radius: 0!important;
	border:1px solid #cccccc;
	box-shadow: none!important;
}

/* イベントカード */
.f26-ev-card {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: #1a1a1a;
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
	height: 100%;
}

.f26-ev-card__fig {
	position: relative;
	margin: 0;
	line-height: 0;
}

.f26-ev-card__fig img {
	width: 100%;
	height: 155px;
	object-fit: cover;
	display: block;
}

.f26-ev-card__new {
	position: absolute;
	top: 8px;
	left: 8px;
	background: #fff;
	color: #f7941d;
	font-size: 0.68rem;
	font-weight: 700;
	padding: 2px 6px;
	border: 1px solid #f7941d;
	letter-spacing: 0.05em;
}

.f26-ev-card__body {
	padding: 12px 12px 4px;
	flex: 1;
}

.f26-ev-card__date {
	font-size: 0.8rem;
	color: #888;
	margin: 0 0 5px;
}

.f26-ev-card__title {
	font-size: 1.2rem;
	line-height: 1.5;
	margin: 0;
}

.f26-ev-card__tags {
	list-style: none;
	margin: 0;
	padding: 6px 12px 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.f26-ev-card__tags li {
	font-size: 1rem;
	background: #f0f0f0;
	border-radius: 2px;
	padding: 2px 8px;
	color: #555;
}

/* list2022_ctg（テンプレートタグ出力）→ f26-ev-card スタイル対応 */
.list2022_ctg {
	width: 25%;
	height: auto;
	box-sizing: border-box;
	box-shadow: 0 0 8px #dedede;
	list-style: none;
	display: flex;
	flex-direction: column;
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
}

.list2022, .list2022_ctg{
	margin-right: 0;
}
.list2022:nth-of-type(3n), .list2022_ctg:nth-of-type(3n){
	margin-right: 0;
}

.list2022_ctg > a {
	display: flex;
	flex-direction: column;
	text-decoration: none;
	color: #1a1a1a;
	flex: 1;
}

.list2022_ctg .img {
	position: relative;
	margin: 0;
	line-height: 0;
}

.list2022_ctg .img img {
	width: 100%;
	height: auto;
	object-fit: cover;
	display: block;
}

/* NEW バッジ */
.list2022_ctg.new::before {
	font-size: 1rem;
	font-weight: 700;
}

.list2022_ctg .txt {
	padding: 12px 12px 4px;
	flex: 1;
}

.list2022_ctg .date2022 {
	font-size: 1.5rem;
	color: #101010;
	margin: 0 0 5px;
}

.list2022_ctg .tile02 {
	font-size: 1.6rem;
	line-height: 1.6;
	margin: 0;
	height: auto !important; /* inline style 上書き */
}

.list2022_ctg .ctg {
	margin: 0;
	padding: 6px 12px 12px;
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
}

.list2022_ctg .ctg a {
	font-size: 1em;
	font-weight: 500;
	background: #f0f0f0;
	border-radius: 2px;
	padding: 2px 8px;
	color: #101010;
	text-decoration: none;
}


/* =========================================================
  メニュー
========================================================= */

.f26-menu {
	background: #fff;
}

.f26-menu .f26-sec-inner {
	display: flex;
	align-items: flex-start;
	gap: 48px;
}

.f26-menu .f26-sec-ttl {
	flex-shrink: 0;
	margin: 0;
}

.f26-menu__list {
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 1px;
}

.f26-mv__foot .f26-menu__list{
	display: flex;
	gap:4rem;
}

.f26-menu__item {
	background: #fff;
}

.f26-menu__item a {
	display: flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding: 2.5rem  4rem;
	text-decoration: none;
	color: #1a1a1a;
	border: 1px solid #ddd;
	gap: 8px;
	transition: background 0.2s;
}

.f26-menu__item a:hover,
.f26-menu__item a:focus-visible {
	background: #fafafa;
}

/* ボタン ピンク */
a.f26-menu__link--green {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	padding: 2.5rem 4rem;
	text-decoration: none;
	gap: 8px;
	transition: background 0.2s;
	background: var(--color-green);
	color: #fff;
}

a.f26-menu__link--green:hover,
a.f26-menu__link--green:focus-visible {
	background: var(--color-green);
}

.f26-menu__link--gray {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 1rem;
	padding: 2.5rem 4rem;
	text-decoration: none;
	gap: 8px;
	transition: background 0.2s;
	background: #cccccc;
	color: #fff;
}


.f26-menu__label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	font-size: 2.3rem;
	font-weight: 700;
}
.f26-event__cal-wrap .f26-menu__label {
	font-size: 1.6rem;
}

.f26-menu__bullet {
	font-size: 0.5rem;
}

.f26-menu__item:nth-child(1) .f26-menu__bullet { color: var(--f26-c1); }
.f26-menu__item:nth-child(2) .f26-menu__bullet { color: var(--f26-c2); }
.f26-menu__item:nth-child(3) .f26-menu__bullet { color: var(--f26-c3); }
.f26-menu__item:nth-child(4) .f26-menu__bullet { color: var(--f26-c4); }
.f26-menu__item:nth-child(5) .f26-menu__bullet { color: var(--f26-c5); }
.f26-menu__item:nth-child(6) .f26-menu__bullet { color: var(--f26-c6); }

.f26-menu__more {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 1.4rem;
	font-weight: 500;
}

.f26-menu__arrow {
	font-size: 1rem;
	font-variation-settings: 'FILL' 0, 'wght' 300, 'GRAD' 0, 'opsz' 24;
	line-height: 1;
}

.circleIcn{
	color: #cccccc;
	background: #000000;
	padding: 5px;
	border-radius: 999px;
}


/* =========================================================
   レスポンシブ（1180px以下でスマホレイアウトに）
========================================================= */

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

	.f26-mv__words{
		top:1.5%;
		gap:0;
	}
	.f26-mv__word{
		font-size: 4.3rem;
	}
	.f26-swiper .swiper-slide,
	.list2022_ctg {
		width: 100%!important;
	}
	.list2022_ctg .img img {
	height: auto;
	}

	.sp {
		display: block !important;
	}

	/* --- サイドナビ非表示 --- */
	aside {
		display: none;
	}

	/* --- TOPエリア：全幅・左マージンリセット --- */
	#TOP {
		width: 100%;
		margin-left: 0;
	}

	/* --- キャッチパネル非表示 --- */
	.f26-catch-panel {
		display: none;
	}

	/* --- メインコンテンツ：左マージンリセット --- */
	.f26-main {
		margin-left: 0;
	}

	/* --- セクション共通 inner：パディング縮小 --- */
	.f26-sec-wrapper{
		padding: 3rem 2rem 8rem;
	}

	.f26-sec-inner {
	}

	/* --- セクション見出し --- */
	.f26-sec-ttl {
		font-size: 1.8rem;
		margin: 0 0 24px;
	}

	/* --- MV：ヒーロー行 --- */
	.f26-mv__hero {
		height: auto;
		flex-direction: column;
		align-items: flex-start;
		margin-bottom: 3rem;
		padding: 3rem 0;
	}

	.f26-mv__fig{
		height: auto;
	}

	.f26-mv__txt{
		margin-left: 0;
		width: 100%;
		align-items: center;
	}

	.f26-mv__words {
		writing-mode: horizontal-tb;
		flex-direction: row;
		position: static;
		margin-top: 1rem;
		gap:2rem;
	}

	.f26-mv__word {
		font-size: 2.8rem;
	}

	.f26-mv__img {
		width: 100%;
		position: static;
		margin: 2rem 0 0;
	}

	.f26-mv__img img {
		width: 100%;
	}

	/* --- MV：フッター行 --- */
	.f26-mv__foot {
		padding: 0 2rem 5rem;
	}

	.f26-mv__catch {
		font-size: 2rem;
	}

	.f26-mv__lead {
		margin-left: 1rem;
	}

	/* --- インフォメーション --- */
	.f26-sec-inner-info {
		flex-direction: column;
		gap: 24px;
		padding: 40px 20px;
	}

	.f26-info__link {
	font-size: 1.6rem;
	}

	.calender2022{
		width: 100vw;
	}

	/* --- イベント --- */
	.f26-sec-inner-event {
		padding: 5rem 2rem;
	}

	.f26-event__body {
		flex-direction: column;
		gap: 15vw;
	}

	.f26-event__cal-wrap {
		width: 100%;
	}

	/* SP: スライダーをページ内に収める */
	.f26-event__slider-wrap {
		max-width: 100%;
	overflow: hidden;
	}

	.f26-swiper {
		overflow: hidden;
	}

	.f26-swiper .swiper-slide,
	.list2022_ctg {
		width: 100%;
		height: auto;
		box-sizing: border-box;
	}

	/* --- メニュー：縦並び・2列グリッド --- */
	.f26-menu .f26-sec-inner {
		flex-direction: column;
		gap: 24px;
	}

	.f26-menu__list {
		grid-template-columns: repeat(2, 1fr);
	}
	.f26-mv__foot .f26-menu__list{
		gap:1rem;
	}
	.f26-mv__foot .f26-menu__list li{
		width: 50%;
	}

	.f26-menu__item a{
		align-items: start;
		flex-direction: column;
		gap:1rem;
	}
	.f26-mv__foot .f26-menu__item a{
		padding:2rem;
		gap:.4rem;
		align-items: center;
		text-align: center;
	}

	.f26-menu__list .f26-menu__link--gray{
		width: 100%;
		flex-direction: column;
		padding: 2rem;
        gap: .4rem;
		border: 1px solid #cccccc;
	}

	.f26-menu__label {
		font-size: 1.6rem;
	}

}


/* =========================================================
   prefers-reduced-motion
========================================================= */

@media (prefers-reduced-motion: reduce) {
	.loadingOverlay {
		transition: none;
	}

	.loadingOverlay.isHidden {
		transform: none;
		opacity: 0;
	}

	.pageContent {
		opacity: 1;
		transform: none;
		transition: none;
	}

	.f26-dot {
		transition: none;
	}

	/* WOW.js が付与する .animated クラスのアニメーションを無効化 */
	.wow,
	.animated {
		animation: none !important;
		opacity: 1 !important;
		transform: none !important;
		visibility: visible !important;
	}

	/* Swiper スライドアニメーション */
	.swiper-wrapper {
		transition-duration: 0ms !important;
	}
}
