@charset "UTF-8";
@charset "UTF-8";
/*
Theme Name: 池子の森の音楽祭 2026 WordPressテーマ
DESCRIPTION: 池子の森の音楽祭 2026のオリジナルテーマです。（2026年7月制作）
VERSION: 1.0
AUTHOR: .D design Limited
AUTHOR URI: http://www.dotd.co.jp/
*/


/***
    The new CSS reset - version 1.11.3 (last updated 25.08.2024)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/

/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
    all: unset;
    display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Fix mobile Safari increase font-size on landscape mode */
html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
    cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu, summary {
    list-style: none;
}

/* Firefox: solve issue where nested ordered lists continue numbering from parent (https://bugzilla.mozilla.org/show_bug.cgi?id=1881517) */
ol {
    counter-reset: revert;
}

/* For images to not be able to exceed their container */
img {
    max-inline-size: 100%;
    max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
    border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
    -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
    white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
    -webkit-appearance: revert;
    appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
    all: revert;
    box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::placeholder {
    color: unset;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
    display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable="false"])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable="true"]) {
    -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
    all: revert;
    box-sizing: border-box;
}

/* Remove details summary webkit styles */
::-webkit-details-marker {
    display: none;
}



/* CSS Document */

/***
    The new CSS reset - version 1.11.3 (last updated 25.08.2024)
    GitHub page: https://github.com/elad2412/the-new-css-reset
***/

/*
    Remove all the styles of the "User-Agent-Stylesheet", except for the 'display' property
    - The "symbol *" part is to solve Firefox SVG sprite bug
    - The "html" element is excluded, otherwise a bug in Chrome breaks the CSS hyphens property (https://github.com/elad2412/the-new-css-reset/issues/36)
 */
*:where(:not(html, iframe, canvas, img, svg, video, audio):not(svg *, symbol *)) {
    all: unset;
    display: revert;
}

/* Preferred box-sizing value */
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* Fix mobile Safari increase font-size on landscape mode */
html {
    -moz-text-size-adjust: none;
    -webkit-text-size-adjust: none;
    text-size-adjust: none;
}

/* Reapply the pointer cursor for anchor tags */
a, button {
    cursor: revert;
}

/* Remove list styles (bullets/numbers) */
ol, ul, menu, summary {
    list-style: none;
}

/* Firefox: solve issue where nested ordered lists continue numbering from parent (https://bugzilla.mozilla.org/show_bug.cgi?id=1881517) */
ol {
    counter-reset: revert;
}

/* For images to not be able to exceed their container */
img {
    max-inline-size: 100%;
    max-block-size: 100%;
}

/* removes spacing between cells in tables */
table {
    border-collapse: collapse;
}

/* Safari - solving issue when using user-select:none on the <body> text input doesn't working */
input, textarea {
    -webkit-user-select: auto;
}

/* revert the 'white-space' property for textarea elements on Safari */
textarea {
    white-space: revert;
}

/* minimum style to allow to style meter element */
meter {
    -webkit-appearance: revert;
    appearance: revert;
}

/* preformatted text - use only for this feature */
:where(pre) {
    all: revert;
    box-sizing: border-box;
}

/* reset default text opacity of input placeholder */
::placeholder {
    color: unset;
}

/* fix the feature of 'hidden' attribute.
   display:revert; revert to element instead of attribute */
:where([hidden]) {
    display: none;
}

/* revert for bug in Chromium browsers
   - fix for the content editable attribute will work properly.
   - webkit-user-select: auto; added for Safari in case of using user-select:none on wrapper element*/
:where([contenteditable]:not([contenteditable="false"])) {
    -moz-user-modify: read-write;
    -webkit-user-modify: read-write;
    overflow-wrap: break-word;
    -webkit-line-break: after-white-space;
    -webkit-user-select: auto;
}

/* apply back the draggable feature - exist only in Chromium and Safari */
:where([draggable="true"]) {
    -webkit-user-drag: element;
}

/* Revert Modal native behavior */
:where(dialog:modal) {
    all: revert;
    box-sizing: border-box;
}

/* Remove details summary webkit styles */
::-webkit-details-marker {
    display: none;
}

img { vertical-align: bottom; }


/* =====　フォント　===== */
/*
.noto-serif-jp-<uniquifier> {
  font-family: "Noto Serif JP", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
.playfair-display-<uniquifier> {
  font-family: "Playfair Display", serif;
  font-optical-sizing: auto;
  font-weight: <weight>;
  font-style: normal;
}
*/


/* =====　全体　===== */
:root {
  --accent-color: #3fac72;
  --alert-color: #fd2946;
  /* --alert-color: #fe6140; */
  /* --alert-color: #fffa3d; */
	--bg-gray: #ebebeb;
}
html { scroll-behavior: smooth; }
::selection {
	background-color: #333;
	color: white;
}

body {
	font-family: 'Noto Serif JP', serif;
	font-size: 87.5%;
	color: #333;
	background-color: #fff;
}
@keyframes fadeIn {
	0% { opacity: 0; }
	100% { opacity: 1; }
}



/* テキスト */
strong { font-weight: 700; }
.txtB { font-weight: 700; }
.txtBlue { color: #00147E; }
.txtAccent { color: var(--accent-color); }
.txtPink { color: var(--alert-color); }

/* リンク */
a {
	color: #333;
	text-decoration: none;
	transition: all .3s ease;
}
a.txt {
	text-decoration: underline;
	color: #333;
}
a.boxlink {
	font-size: 107.1%;
	display: inline-block;
	background-color: #555;
	color: white;
	padding: 8px 36px 8px 16px;
	position: relative;
	line-height: 1.35;
}
a.boxlink::after {
	content: "";
	display: block;
	width: 21px;
	height: 14px;
	background: url(//ikegomorifes.com/wp/wp-content/themes/ikegomorifes2026/images/icon_link_arrow.svg) right center / contain no-repeat;
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translate(0, -50%);
}



/* SP用記述*/
.br4pc { display: none; }
.forPC { display: none; }



/* ヘッダ */
.header4sp {
	font-size: 85.7%;
	color: black;
	position: fixed;
	width: 150px;
	top: 33px;
	left: 15px;
	z-index: 1000;
	transition: all .4s ease;
}
.header4sp.hide { top: -33px; }

/* ハンバーガーボタン */
.hamburger {
	width: 48px;
	height: 48px;
	position: fixed;
	right: 15px;
	z-index: 1000;
	cursor: pointer;
	animation: btnUp .5s cubic-bezier(.56,.11,.42,1.51) .5s both;
	mix-blend-mode: difference;
	transition: .3s;
}
.hamburger.home { animation-delay: 1.2s; }
@keyframes btnUp {
	0% { top: -72px; }
	100% { top: 15px; }
}
.hamburger .lines {
	height: 48px;
	width: 48px;
	position: absolute;
	top: 0;
	left: 0;
}
.hamburger .lines::before,
.hamburger .lines span,
.hamburger .lines::after {
	display: block;
	width: 27px;
	height: 2px;
	background-color: #ccc;
	border-radius: 1px;
	position: absolute;
	left: 50%;
	transform: translate(-50%, -50%);
	transition: all .3s ease-in-out;
}
.hamburger .lines::before,
.hamburger .lines::after {
	content: "";
}
.hamburger .lines::before { top: 34%; }
.hamburger .lines span { top: 50%; }
.hamburger .lines::after { top: 66%; }

.hamburger.close { mix-blend-mode: normal; }
.hamburger.close .lines::before,
.hamburger.close .lines span,
.hamburger.close .lines::after {
	background-color: var(--accent-color);
	top: 50%; 
}
.hamburger.close .lines::before { transform: translate(-50%, -50%) rotate(45deg); }
.hamburger.close .lines span { transform: translate(-50%, -50%) rotate(45deg); opacity: 0; }
.hamburger.close .lines::after { transform: translate(-50%, -50%) rotate(-45deg); }

/* ドロワー */
.drawer {
	background-color: var(--bg-gray);
	width: 100%;
	height: 100%;
	box-sizing: border-box;
	padding: 80px 8vw 40px;
	position: fixed;
	top: -100vh;
	z-index: 100;
	transition: all .4s ease;
	text-align: center;
	overflow: auto;
}
@media only screen and (min-height:674px) {
	.drawer {
		display: flex;
		justify-content: center;
		align-items: center;
	}
}
.drawer.open { top: 0; }

.datetime {
	display: flex;
	justify-content: center;
	gap: 0 4vw;
}
.datetime li {
	width: 40vw;
	box-sizing: border-box;
	position: relative;
	text-align: center;
	background-color: #fff;
}
.datetime li .inner {
	padding: 10px 0 8px 24px;
}
.datetime li .day {
	font-size: 3.3vw;
	line-height: 1;
	letter-spacing: .15em;
	position: absolute;
	left: 10px;
	top: 50%;
	transform-origin: center top;
	transform: translate(-50%, 0) rotate(-90deg);
	color: var(--accent-color);
}
.datetime li .date_area {
	display: inline-block;
	text-align: left;
}
.datetime li .date {
	font-size: 6.4vw;
	line-height: 1;
}
.datetime li .date span { font-size: 66.6%; }
.datetime li .time {
	margin-top: 5px;
	font-size: 3.6vw;
}

.ticket_area {
	margin-top: 15px;
}
.ticket_area a.ticket {
	display: block;
	background-color: var(--accent-color);
	color: white;
	text-decoration: none;
	text-align: center;
	padding: 3px 18px 4px 5px;
	font-size: 16px;
	font-weight: 700;
	position: relative;
	transition: .3s;
}
.ticket_area a.ticket::after {
	content: "";
	display: block;
	width: 18px;
	height: 12px;
	background: url(//ikegomorifes.com/wp/wp-content/themes/ikegomorifes2026/images/icon_link_arrow.svg) right center / contain no-repeat;
	position: absolute;
	right: 8px;
	top: 50%;
	margin-top: -6px;
}

.drawer .main_nav { margin-top: 44px; }
.drawer .main_nav li {
	margin-top: 27px;
	font-size: 135.5%;
}
.drawer .main_nav li a { color: #333; }
.drawer .main_nav li a.off {
	color: #ccc;
	pointer-events: none;
	text-decoration: line-through;
}
.drawer .sns_nav {
	margin-top: 48px;
	display: flex;
	justify-content: center;
}
.drawer .sns_nav li { margin-right: 20px; }
.drawer .sns_nav li:last-child { margin-right: 0; }
.drawer .sns_nav li a {
	display: block;
	width: 30px;
	height: 30px;
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
}
.drawer .sns_nav li.instagram a { background-image: url(//ikegomorifes.com/wp/wp-content/themes/ikegomorifes2026/images/icon_instagram.svg); }
.drawer .sns_nav li.facebook a { background-image: url(//ikegomorifes.com/wp/wp-content/themes/ikegomorifes2026/images/icon_facebook.svg); }
.drawer .sns_nav li.twitter a {
	background-image: url(//ikegomorifes.com/wp/wp-content/themes/ikegomorifes2026/images/icon_x.svg);
	width: 25px;
}



/* フッタ */
footer {
	background-color: #555;
	padding: 50px 0 12px;
	text-align: center;
	color: white;
}
footer a { color:white; }
footer .fes_tit {
	width: 180px;
	margin: 0 auto;
}
footer .foot_nav { margin: 0 7vw; }
footer .foot_nav .main_nav {
	display: flex;
	flex-wrap: wrap;
	margin-top: 25px;
}
footer .foot_nav .main_nav li {
	width: 50%;
	margin-top: 15px;
	font-size: 108%;
}
footer .foot_nav .main_nav li a { display: block; }
footer .foot_nav .main_nav li a.off {
	color: #777;
	pointer-events: none;
	text-decoration: line-through;
}
footer .foot_nav .sns_nav {
	margin-top: 40px;
	display: flex;
	justify-content: center;
}
footer .foot_nav .sns_nav li { margin-right: 20px; }
footer .foot_nav .sns_nav li:last-child { margin-right: 0; }
footer .foot_nav .sns_nav li a {
	display: block;
	width: 24px;
	height: 24px;
	background-position: center center;
	background-size: contain;
	background-repeat: no-repeat;
}
footer .foot_nav .sns_nav li.instagram a { background-image: url(//ikegomorifes.com/wp/wp-content/themes/ikegomorifes2026/images/icon_instagram_w.svg); }
footer .foot_nav .sns_nav li.facebook a { background-image: url(//ikegomorifes.com/wp/wp-content/themes/ikegomorifes2026/images/icon_facebook_w.svg); }
footer .foot_nav .sns_nav li.twitter a {
	background-image: url(//ikegomorifes.com/wp/wp-content/themes/ikegomorifes2026/images/icon_x_w.svg);
	width: 20px;
}

footer .credit {
	margin: 50px 7vw 0;
	font-size: 12px;
}
footer .credit ul { display: inline-block; }
footer .credit ul li {
	margin-top: 8px;
	line-height: 1.35;
	display: flex;
	text-align: left;
}
footer .credit ul li .ttl { white-space: nowrap; }

footer .anv {
	margin-top: 30px;
	font-size: 13px;
}

footer .copy {
	margin-top: 40px;
	font-size: 11px;
}
/* iPad用 */
@media only screen and (min-width:768px) {
	footer .foot_nav { margin: 0 15px; }
	footer .foot_nav .main_nav {
		justify-content: center;
		margin-top: 20px;
		gap: 0 20px;
	}
	footer .foot_nav .main_nav li {
		width: auto;
		font-size: 115%;
	}
	footer .foot_nav .sns_nav { margin-top: 30px; }
	footer .credit ul li { justify-content: center; }
	footer .credit ul li .br4pc { display: inline; }
	footer .credit ul li .br4sp { display: none; }
}



/* コンテンツ部 */
.wrapper { margin: 0 7vw; }
main { margin-top: 80px; }
.sec_tit {
	font-size: 24px;
	letter-spacing: .1em;
	font-weight: 600;
	line-height: 1;
}
.sec_tit.eng {
	font-size: 27px;
	font-family: "Playfair Display", serif;
}

.sec_cont { padding: 60px 0 80px; }
.sec_cont.bg_gray { background-color: var(--bg-gray); }
.sec_cont .lead {
	margin-top: 20px;
	font-size: 150%;
	line-height: 1.35;
}
.sec_cont_area { margin-top: 30px; }
/* Coming Soon... */
.sec_cont_area .cs {
	min-height: 360px;
	display: flex;
	justify-content: center;
	align-items: center;
}



/* Time Table / Food & Market / Workshop */
.timetable_wrap .date_ttl,
.foodmarket_wrap .date_ttl,
.workshop_wrap .date_ttl {
	border-top: solid 1px #000;
	border-bottom: solid 1px #000;
	padding: 8px 4px 10px;
	display: flex;
	align-items: flex-end;
	position: sticky;
	top: 0;
	background-color: #fff;
}
.timetable_wrap .date_ttl .day,
.foodmarket_wrap .date_ttl .day,
.workshop_wrap .date_ttl .day {
	font-size: 92.8%;
	letter-spacing: .15em;
	color: var(--accent-color);
	padding-bottom: 2px;
	margin-right: 10px;
}
.timetable_wrap .date_ttl .date,
.foodmarket_wrap .date_ttl .date,
.workshop_wrap .date_ttl .date { font-size: 171.4%; }
.timetable_wrap .date_ttl .date span,
.foodmarket_wrap .date_ttl .date span,
.workshop_wrap .date_ttl .date span { font-size: 66.6%; }
.timetable_wrap .date_ttl .note {
	font-size: 85.7%;
	margin-left: auto;
}



/* lity モーダル */
.modal_frm {
	padding: 54px 8vw 8vh;
	overflow: auto;
}

.modal_frm .prof_lead {
	margin: 50px 0 30px;
	font-weight: 700;
	font-size: 16px;
	text-align: center;
	line-height: 1.5;
}
.modal_frm .pc_flex + .pc_flex { margin-top: 50px; }

.modal_frm .pic p { margin-bottom: 10px; }
.modal_frm .prof { margin-top: 25px; }
.modal_frm .prof h1 {
	font-size: 171.4%;
	line-height: 1.25;
}
.modal_frm .prof h1 + h1 { margin-top: 8px; }
.modal_frm .prof h1 span {
	font-size: 60%;
	white-space: nowrap;
}
.modal_frm .prof .lead {
	margin-top: 15px;
	font-size: 92.8%;
	font-weight: 700;
	line-height: 1.35;
}
.modal_frm .prof .txt {
	margin-top: 20px;
	font-size: 92.8%;
	line-height: 1.8;
}

.modal_frm .prof .txt h2 {
	margin-top: 15px;
	font-size: 114.2%;
	line-height: 1.3;
}
.modal_frm .prof .txt h3 {
	margin-top: 4px;
	line-height: 1.3;
}
.modal_frm .prof .txt p + h3 { margin-top: 15px; }
.modal_frm .prof .txt p { margin-top: 8px; }
.modal_frm .prof .txt a { text-decoration: underline; }
.modal_frm .prof .txt a { text-decoration: underline; }

.modal_frm .links { margin-top: 20px; }
.modal_frm .links li {
	margin: 8px 0 0 1.4em;
	font-size: 114.2%;
	line-height: 1.35;
	text-indent: -1.4em;
}
.modal_frm .links li a { text-decoration: underline; }
.modal_frm .links li a::before { content: ">> "; }



/* Workshop */
.workshop_wrap { margin-top: 40px; }
.workshop_wrap.day2 { margin-top: 60px; }
.ws_list_area { margin-top: 30px; }
.ws_list_area .ws_list > li { margin-bottom: 60px; }
.ws_list_area .ws_list > li .name {
	font-size: 128.5%;
	line-height: 1.35;
	font-weight: 700;
}
.ws_list_area .ws_list > li .thumb { margin-top: 10px; }
.ws_list_area .ws_list > li .thumb img {
	width: 100%;
	height: auto;
}
.ws_list_area .ws_list > li .txt {
	margin-top: 15px;
	line-height: 1.8;
}

.ws_list_area .ws_list > li .txt h2 {
	margin-top: 15px;
	font-size: 114.2%;
	line-height: 1.3;
}
.ws_list_area .ws_list > li .txt h3 {
	margin-top: 4px;
	line-height: 1.3;
}
.ws_list_area .ws_list > li .txt p + h3 { margin-top: 15px; }
.ws_list_area .ws_list > li .txt p { margin-top: 8px; }
.ws_list_area .ws_list > li .txt a { text-decoration: underline; }
.ws_list_area .ws_list > li .txt ul li {
	margin-top: 8px;
	line-height: 1.5;
	padding-left: 1em;
	position: relative;
}
.ws_list_area .ws_list > li .txt ul li::before {
	content: "・";
	position: absolute;
	left: 0;
	top: 0;
}



.ws_list_area .ws_list > li dl {
	margin-top: 15px;
	display: flex;
	align-items: flex-start;
}
.ws_list_area .ws_list > li dl dt {
	padding: 3px 5px 4px;
	border: solid 1px black;
	white-space: nowrap;
	font-weight: 700;
}
.ws_list_area .ws_list > li dl dd {
	padding: 2px 0 5px;
	margin-left: 12px;
	line-height: 1.35;
}
.ws_list > li dl dd .note {
	font-size: 85%;
	line-height: 1.35;
	margin: 8px 0 0 1.25em;
	text-indent: -1.25em;
}
.ws_list > li dl dd .note::before { content: "※ "; }

/* iPad用 */
@media only screen and (min-width:768px) {
	.ws_list_area .ws_list {
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.ws_list_area .ws_list > li {
		width: 42.4vw;
	}
}



/* Area Map */
.sec_cont_area.areamap_wrap {
	padding: 0 5vw;
}
.parking_area {
	margin-top: 40px;
	border: dashed 1px #000;
	padding: 20px 10px 10px;
}
.parking_area .lead {
	margin-top: 0;
	text-align: center;
}
.parking_area .map { margin-top: 20px; }
.parking_area .kome_list {
	margin-top: 10px;
	font-size: 13px;
	line-height: 1.4;
	text-indent: -1.3em;
	margin-left: 1.3em;
}

/* Food & Market */
.foodmarket_wrap { margin-top: 40px; }
.foodmarket_wrap .date_ttl { font-size: 95%; }
.foodmarket_wrap.day2 { margin-top: 60px; }
.fm_list_area { margin-top: 30px; }
.fm_list_area .fm_cate {
	display: inline-block;
	font-weight: 700;
	font-size: 142.8%;
	margin-bottom: 20px;
	letter-spacing: .1em;
}
.fm_list_area .fm_list {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.fm_list_area .fm_list li {
	margin-bottom: 20px;
	width: 42.4vw;
}
.fm_list_area .fm_list li a { display: block; }
.fm_list_area .fm_list li .thumb {
	height: 42.4vw;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}
.fm_list_area .fm_list li .name {
	font-size: 107.1%;
	margin-top: 10px;
	line-height: 1.25;
}
.fm_list_area .fm_list li .name span {
	font-size: 85.7%;
	white-space: nowrap;
	display: inline-block;
}



/* Time Table */
.timetable_wrap { margin-top: 40px; }
.timetable_wrap.day2 { margin-top: 80px; }

.timetable_wrap table {
	margin-top: 40px;
	width: 100%;
}
.timetable_wrap table.mf { margin-top: 50px; }
.timetable_wrap table th,
.timetable_wrap table td {
	width: 50%;
	padding: 0 8px;
	box-sizing: border-box;
}
.timetable_wrap table th {
	text-align: left;
	font-weight: 700;
	letter-spacing: .2em;
	padding-bottom: 20px;
	font-size: 107.1%;
}
.timetable_wrap table td .inner {
	border-top: solid 1px black;
	border-bottom: solid 1px black;
	padding: 8px 0;
}
.timetable_wrap table td .inner.nobdr {
	border-top: none;
}
.timetable_wrap table td .inner .time {
	font-size: 12px;
	color: var(--accent-color);
	margin-bottom: 4px;
}
.timetable_wrap table td .inner .time span.start {
	font-size: 13px;
	font-weight: 700;
}
.timetable_wrap table td .inner .artist { font-size: 114.2%; }
.timetable_wrap table td .inner .artist.nolink { padding-top: 3px; }
.timetable_wrap table td .inner .artist a {
	display: block;
	line-height: 1.25;
	padding: 3px 20px 3px 0;
	background: url(//ikegomorifes.com/wp/wp-content/themes/ikegomorifes2026/images/icon_link_arrow_black.svg) right center / 20px auto no-repeat;
}
.timetable_wrap table td .artist a span {
	margin-left: .2em;
	font-size: 85.7%;
	display: inline-block;
}

.timetable_wrap .tt_note {
	margin-top: 50px;
	font-size: 85.7%;
}



/* Access */
.sec_cont_area.accs_cont .map {
	height: 86vw;
	background-color: #ccc;
}
.sec_cont_area.accs_cont .accs_list > dt {
	margin-top: 30px;
	font-weight: 700;
	font-size: 107.1%;
	display: inline-block;
	padding: 0 3px 4px;
	border-bottom: solid 1px black;
}
.sec_cont_area.accs_cont .accs_list > dd {
	margin-top: 15px;
	line-height: 1.6;
}
.sec_cont_area.accs_cont .accs_list > dd .cap {
	white-space: nowrap;
	font-size: 90%;
}
.sec_cont_area.accs_cont .accs_list > dd dl.sub_list dt {
	font-size: 92.8%;
	font-weight: 700;
	display: inline-block;
	border: solid 1px black;
	padding: 1px 5px;
}
.sec_cont_area.accs_cont .accs_list > dd dl.sub_list dt:nth-child(3) { margin-top: 15px; }
.sec_cont_area.accs_cont .accs_list > dd dl.sub_list dd { margin-top: 12px; }
.sec_cont_area.accs_cont .accs_list > dd dl.sub_list dd p { margin-top: 8px; }
.sec_cont_area.accs_cont .accs_list > dd ul.note {
	margin-top: 12px;
	font-size: 90%;
	line-height: 1.35;
}
.sec_cont_area.accs_cont .accs_list > dd ul.note li {
	text-indent: -1em;
	margin: 8px 0 0 1em;
}
.sec_cont_area.accs_cont .accs_list > dd ul.accs_note li {
	line-height: 1.5;
	margin-top: 12px;
}



/* Volunteer */
.sec_cont_area.vlntr_cont .lead {
	margin-top: 30px;
	font-size: 164%;
}
.sec_cont_area.vlntr_cont .lead span { white-space: nowrap; }
.sec_cont_area.vlntr_cont .table_list { margin-top: 30px; }

.table_list { border-top: solid 1px #555; }
.table_list dt {
	font-weight: 700;
	margin-top: 18px;
	padding: 0 8px;
}
.table_list dd {
	padding: 12px 8px 18px;
	border-bottom: solid 1px #555;
	line-height: 1.6;
}
.table_list dd .note {
	margin: 12px 0 0 .9em;
	font-size: 90%;
	line-height: 1.5;
	text-indent: -.9em;
}

.sec_cont_area.vlntr_cont .vlntr_link {
	margin-top: 30px;
	text-align: right;
}
.sec_cont_area.vlntr_cont .vlntr_link a.boxlink { font-size: 128.5%; }
.sec_cont_area.vlntr_cont .vlntr_link a.boxlink span { white-space: nowrap; }



/* Artists */
.sec_cont_area.artists_cont .artists {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.sec_cont_area.artists_cont .artists li {
	margin-bottom: 20px;
	width: 42.4vw;
	position: relative;
	overflow: hidden;
}

.sec_cont_area.artists_cont .artists li.new::after {
	content: "NEW";
	color: #fff;
	width: 33px;
	height: 33px;
	background-color: var(--accent-color);
	line-height: 1;
	position: absolute;
	right: 0;
	top: 0;
	pointer-events: none;
	font-size: 11px;
	font-weight: 700;
	display: flex;
	justify-content: center;
	align-items: center;
}

.sec_cont_area.artists_cont .artists li a { display: block; }
.sec_cont_area.artists_cont .artists li .thumb {
	height: 42.4vw;
	background-position: center center;
	background-size: cover;
	background-repeat: no-repeat;
}

/* 2024対応 */
.sec_cont_area.artists_cont .artists li:first-child .thumb { background-position: 50% 15%; }

.sec_cont_area.artists_cont .artists li .name {
	font-size: 107.1%;
	margin-top: 10px;
	line-height: 1.25;
}
.sec_cont_area.artists_cont .artists li .name span {
	font-size: 85.7%;
/*
	white-space: nowrap;
	display: inline-block;
*/
}



/* About */
.sec_cont_area.about_cont .txt {
	line-height: 2;
	font-size: 107.1%;
}
.sec_cont_area.about_cont .flyer { margin-top: 30px; }
.sec_cont_area.notice_cont .info_list dt,
.sec_cont_area.howto_cont .info_list dt {
	margin-top: 20px;
	font-weight: 700;
	font-size: 107.1%;
	display: inline-block;
	padding: 0 3px 4px;
	border-bottom: solid 1px black;
}
.sec_cont_area.notice_cont .info_list dd,
.sec_cont_area.howto_cont .info_list dd {
	margin-top: 10px;
	line-height: 1.6;
}

.sec_cont_area.notice_cont .info_rule li {
	line-height: 1.5;
	text-indent: -1.2em;
	margin: 8px 0 0 1.2em;
	font-size: 95%;
}
.sec_cont_area.notice_cont .boxtit {
	margin: 40px 0 5px;
	font-size: 132%;
	display: inline-block;
	border: double 1px #555;
	padding: 6px 8px;
}
.sec_cont_area.notice_cont .entry_area .boxtit { margin-top: 10px; }
.sec_cont_area.howto_cont .info_list dd .info_rule { margin-bottom: 8px; }
.sec_cont_area.howto_cont .info_list dd .info_rule li { margin-top: 5px; }
.sec_cont_area.howto_cont .box_note {
	padding: 5px;
	line-height: 1.5;
	border: solid 1px #462C00;
	font-size: 90%;
	margin-top: 15px;
}
.sec_cont_area.howto_cont .rules_area { margin-top: 30px; }
.sec_cont_area.howto_cont .info_rule li {
	line-height: 1.25;
	text-indent: -1em;
	margin: 8px 0 0 1em;
	font-size: 90%;
}
.sec_cont_area.howto_cont p.rule_lead {
	line-height: 1.5;
	margin-top: 60px;
}
.sec_cont_area.howto_cont ul.rules_list > li {
	font-size: 90%;
	line-height: 1.5;
	text-indent: -1.25em;
	margin: 8px 0 0 1.25em;
}
.sec_cont_area.howto_cont ul.sublist > li {
	line-height: 1.5;
	text-indent: -1em;
	margin: 5px 0 0 1em;
}
.sec_cont_area.howto_cont .btn_area {
	margin-top: 20px;
	text-align: right;
}
.sec_cont_area ul.zaf_logos {
	display: flex;
	flex-wrap: wrap;
}
.sec_cont_area ul.zaf_logos li {
	width: 50%;
	padding: 0 18px;
	box-sizing: border-box;
}
.sec_cont_area ul.zaf_logos li a { display: block; }
.sec_cont_area ul.zaf_logos li.zaf a {
	height: 84px;
	background: url(//ikegomorifes.com/wp/wp-content/themes/ikegomorifes2026/images/logo_zaf2026.png) center center / contain no-repeat;
}
.sec_cont_area ul.zaf_logos li.bunka a {
	height: 84px;
	background: url(//ikegomorifes.com/wp/wp-content/themes/ikegomorifes2026/images/logo_bunkacho.svg) center center / contain no-repeat;
}
.sec_cont_area ul.zaf_logos li .cap {
	margin-top: 8px;
	font-size: 11px;
	line-height: 1.3;
	text-align: center;
}

.sec_cont_area ul.ifmf_logos {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 24px 0;
}
.sec_cont_area ul.ifmf_logos li {
	box-sizing: border-box;
	width: 50%;
	padding: 0 18px;
}
.sec_cont_area ul.ifmf_logos li a {
	display: block;
	text-align: center;
}
.sec_cont_area ul.ifmf_logos li p.kv {
	margin: 0 auto;
	width: 96px;
	box-shadow: 0 0 4px rgba(0, 0, 0, .3);
}
.sec_cont_area ul.ifmf_logos li p.arch2019 {
	width: 122px;
	box-shadow: none;
}
.sec_cont_area ul.ifmf_logos li p.arch2021_pic {
	width: 120px;
	box-shadow: none;
}
.sec_cont_area ul.ifmf_logos li p.arch_year {
	margin-top: 8px;
	font-size: 15px;
	font-weight: 600;
}



/* iPad用 */
@media only screen and (min-width:768px) {
	.sec_cont_area ul.zaf_logos {
		flex-wrap: nowrap;
		justify-content: flex-start;
	}
	.sec_cont_area ul.zaf_logos li { width: 180px; }
	.sec_cont_area ul.ifmf_logos li { width: auto; }
}



/* トップ */
p.cover {
	position: fixed;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
	background-color: #fff;
	z-index: 2000;
	animation: coverDisapr 2s .5s ease both;
}
@keyframes coverDisapr {
	0% { opacity: 1; }
	99% { opacity: 0;transform: translate(0, 0); }
	100% { opacity: 0;transform: translate(0, -100%); }
}


main.home { margin-top: 0; }
.main_visual {
	background-color: var(--bg-gray);
}
/* iPad用 */
@media only screen and (min-width:768px) {
	.main_visual { padding-top: 30px; }
}
.main_visual .visual_wrap {
	max-width: 690px;
	margin: 0 auto;
}

.main_info {
	background-color: var(--bg-gray);
	padding: 40px 0;
}

.main_info .info {
	margin: 40px 10px 0;
	text-align: center;
	line-height: 1.35;
}
.main_info .info > li { margin-top: 30px; }
.main_info .info > li .tit { font-size: 114.2%; }
.main_info .info > li .cap {
	margin-top: 5px;
	font-size: 78.5%;
	line-height: 1.5;
}

.main_info .info > li ul.entrance {
	font-size: 92.8%;
	line-height: 1.6;
}
.main_info .info > li ul.entrance li { margin-top: 12px; }
.main_info .info > li ul.entrance li:first-child { margin-top: 8px; }
.main_info .info > li ul.entrance li .cate { font-weight: 700; }
.main_info .info > li ul.entrance li .price { margin-top: 4px; }
.main_info .info > li ul.entrance li .price span { font-size: 84.6%; }
.main_info .info > li ul.entrance li .price .note {
	margin-top: 3px;
	font-size: 84.6%;
}

.main_cont { padding: 60px 0; }
.main_cont .statement { text-align: center; }
.main_cont .statement .txt {
	line-height: 2.4;
	font-size: 16px;
}
.main_cont .statement .txt span { white-space: nowrap; }
.main_cont .mov_link {
	margin-top: 30px;
	text-align: right;
	font-size: 87.5%;
}

p.btn_area {
	margin-top: 20px;
	text-align: center;
}
div.grecaptcha-badge {
	z-index: 10;
	transform: translate(80px, 0);
}

/* News */
.news_list {
	line-height: 1.6;
}
.news_list dt {
	margin-top: 25px;
	font-weight: 700;
}
.news_list dd {
	margin-top: 5px;
	font-size: 15px;
	position: relative;
	padding-left: 2.5em;
}
.news_list dd.new::after {
	font-family: "Playfair Display", serif;
	content: "NEW";
	color: var(--alert-color);
	font-weight: 700;
	font-size: 13px;
	position: absolute;
	left: 0;
	top: .2em;
}
.news_list dd a { text-decoration: underline; }
.news_list dd .cap {
	margin-top: 3px;
	font-size: 13px;
}

/* フォーム */
input[type="text"],
input[type="email"],
textarea {
	background-color: #eee;
	border: none;
	border-radius: 0;
	width: 100%;
	padding: 6px 8px;
	box-sizing: border-box;
	font-size: 105%;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
textarea {
	font-size: 124%;
	height: 180px;
	line-height: 1.6;
}
input[type="submit"] {
	font-family: 'Noto Serif JP', serif;
	border: none;
	border-radius: 0;
	background-color: #555;
	color: white;
	font-size: 132%;
	padding: 6px 30px;
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}
input[type="text"]:focus,
input[type="email"]:focus,
input[type="submit"]:focus,
textarea:focus { outline: none; }

/* Contact Form 7 */
div.wpcf7 form.wpcf7-form .wpcf7-not-valid-tip {
	color: var(--alert-color);
	margin-top: 5px;
}
div.wpcf7 form.wpcf7-form .wpcf7-response-output,
div.wpcf7 form.wpcf7-form.invalid .wpcf7-response-output {
	color: var(--alert-color);
	line-height: 1.35;
	margin: 20px 0 0;
	padding: 8px;
	border: 1px solid var(--alert-color);
	text-align: center;
}
#contact .wpcf7 .wpcf7-spinner { display: none; }





@media only screen and (min-width:960px) {
	
	/* リンク */
	a.txt:hover { color: var(--accent-color); }
	a.pic:hover { opacity: .6; }
	a.boxlink {
		display: inline-block;
		padding: 15px 48px 12px 20px;
	}
	a.boxlink::after { right: 16px; }
	a.boxlink:hover { background-color: var(--accent-color); }
	
	
	
	/* PC用記述 */
	.br4pc { display: inline; }
	.br4sp { display: none; }
	.forPC { display: block; }
	.forSP { display: none; }
	
	.pc_flex { display: flex; }
	
	
	
	/* ヘッダ */
	.header4sp { left: 30px; }
	.header4sp a:hover { color: var(--accent-color); }
	
	/* ハンバーガーボタン */
	.hamburger {
		right: 30px;
		mix-blend-mode: normal;
	}
	@keyframes btnUp {
		0% { top: -72px; }
		100% { top: 20px; }
	}
	.hamburger .lines::before,
	.hamburger .lines span,
	.hamburger .lines::after {
		background-color: #555;
		transition: .3s;
	}
	.hamburger:hover .lines::before,
	.hamburger:hover .lines span,
	.hamburger:hover .lines::after { background-color: var(--accent-color); }
	.hamburger.close:hover .lines::before,
	.hamburger.close:hover .lines span,
	.hamburger.close:hover .lines::after { background-color: var(--alert-color); }
	
	/* ドロワー */
	.drawer {
		width: auto;
		min-width: 38vw;
		padding: 60px 40px 48px;
		top: 0;
		right: 0;
		transform: translate(100%, 0);
	}
	.drawer.open { transform: translate(0, 0); }

	.datetime { gap: 0 40px; }
	.datetime li { width: 210px; }
	.datetime li .inner { padding: 12px 10px 10px 36px; }
	.datetime li .day {
		font-size: 16px;
		left: 12px;
	}
	.datetime li .date {
		padding-top: 2px;
		font-size: 36px;
	}
	.datetime li .time {
		margin-top: 4px;
		font-size: 18px;
	}	

	.ticket_area {
		margin: 20px auto;
		max-width: 460px;
	}
	.ticket_area a.ticket:hover { background-color: var(--alert-color); }
	.drawer .main_nav li a:hover { color: var(--accent-color); }

	/* フッタ */
	footer { padding: 50px 20px 20px; }
	footer a:hover { color: var(--accent-color); }
	footer .fes_tit { display: inline-block; }
	
	footer .credit { margin: 50px 0 0; }
	

	/* コンテンツ部 */
	.wrapper {
		max-width: 1080px;
		padding: 0 20px;
		margin: 0 auto;
	}
	.wrapper.cont_wrap { max-width: 840px; }

	main {
		margin-top: 60px;
		position: relative;
	}
	.sec_tit { font-size: 32px; }
	.sec_tit.eng { font-size: 32px; }
	.sec_cont { padding: 80px 0 100px; }
	
	/* lity モーダル */
	.modal_frm {
		width: 840px;
		padding: 40px 20px;
	}
	.modal_frm .pc_flex { justify-content: space-between; }
	.modal_frm .prof_lead {
		margin: 60px 0 40px;
		font-size: 18px;
	}
	.modal_frm .pc_flex + .pc_flex { margin-top: 60px; }
	.modal_frm .pic { width: 300px; }
	.modal_frm .prof {
		margin-top: 0;
		width: 460px;
	}
	.modal_frm .links li a:hover { color: var(--accent-color); }
	
	/* Workshop */
	.ws_list_area .ws_list {
		justify-content: flex-start;
	}
	.ws_list_area .ws_list > li {
		width: 32%;
		margin-right: 2%;
	}
	.ws_list_area .ws_list li:nth-child(3n) { margin-right: 0; }
	
	/* Area Map */
	.sec_cont_area.areamap_wrap {
		max-width: 1080px;
		padding: 0 20px;
		margin-left: auto;
		margin-right: auto;
	}
	.parking_area {
		margin: 60px auto 0;
		max-width: 680px;
		padding: 30px 60px 20px;
	}
	.parking_area .kome_list {
		font-size: 14px;
		text-align: center;
	}

	/* Food & Market */
	.foodmarket_wrap .date_ttl { font-size: 100%; }
	.foodmarket_wrap .fm_pc_flex {
		display: flex;
		justify-content: space-between;
	}
	.foodmarket_wrap .fm_pc_flex .fm_list_area {
		margin-top: 40px;
		width: 48.4%;
	}
	.fm_list_area .fm_cate { font-size: 150%; }
	.fm_list_area .fm_list { justify-content: flex-start; }
	.fm_list_area .fm_list li {
		margin: 0 0.8% 50px 0;
		width: 24.4%;
	}
	.fm_list_area .fm_list li:nth-child(4n) { margin-right: 0; }
	.fm_list_area .fm_list li .thumb { height: 240px; }
	.fm_list_area .fm_list li .name { font-size: 114.2%; }
	
	/* Time Table */
	.tt_wrapper {
		max-width: 1280px;
		padding: 0 4%;
	}
	.tt_flex { justify-content: space-between; }

	.timetable_wrap { width: 48%; }
	.timetable_wrap.day2 { width: 48%; margin-top: 40px; }
/*
	.timetable_wrap { width: 57%; }
	.timetable_wrap.day2 { width: 38%; margin-top: 40px; }
	
	.timetable_wrap .tt_wrap {
		display: flex;
		align-items: flex-start;
	}
	.timetable_wrap .tt_wrap table { width: 66.6%; }
*/
	.timetable_wrap table th { padding: 0 12px 20px; }
	.timetable_wrap table td { padding: 0 12px; }
	
/*
	.timetable_wrap .tt_wrap table.mf {
		margin-top: 40px;
		width: 33.3%;
	}
	.timetable_wrap .tt_wrap table.mf th,
	.timetable_wrap .tt_wrap table.mf td { width: 100%; }
*/
	
	.timetable_wrap table td .inner .artist.nolink { padding: 5px 8px; }
	.timetable_wrap table td .inner .btwn { padding: 0 8px; }
	.timetable_wrap table td .inner .artist a {
		padding: 5px 30px 5px 8px;
		background: url(//ikegomorifes.com/wp/wp-content/themes/ikegomorifes2026/images/icon_link_arrow_black.svg) 96% 50% / 20px auto no-repeat;
	}
	.timetable_wrap table td .inner .artist a:hover {
		opacity: .7;
		background-position: 100%;
	}
	
	.timetable_wrap table td .inner { padding: 12px 0; }
	.timetable_wrap table td .time {
		font-size: 107.1%;
		padding: 3px 2px 1px
	}
	.timetable_wrap table td .inner .artist {
		margin: 8px 0;
		font-size: 128%;
	}
	
	/* Access */
	.sec_cont_area.accs_cont {
		display: flex;
		justify-content: space-between;
	}
	.sec_cont_area.accs_cont .map {
		width: 50.9%;
		height: 420px;
	}
	.sec_cont_area.accs_cont .info_area { width: 45.2%; }
	.sec_cont_area.accs_cont .accs_list > dt { margin-top: 50px; }
	.sec_cont_area.accs_cont .accs_list > dt:first-child { margin-top: 0; }
	.sec_cont_area.accs_cont .accs_list > dd dl.sub_list dd { margin: -21px 0 0 100px; }
	.sec_cont_area.accs_cont .accs_list > dd ul.note { margin-top: 20px; }
	
	/* Volunteer */
	.table_list {
		border-top: none;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
	}
	.table_list dt {
		margin-top: 0;
		padding: 24px 8px 0;
		width: 19.7%;
		box-sizing: border-box;
		text-align: center;
		border-bottom: solid 1px #555;
	}
	.table_list dt:first-child { border-top: solid 1px #555; }
	.table_list dd {
		padding: 15px 10px;
		width: 78.3%;
		box-sizing: border-box;
	}
	.table_list dd:nth-child(2) { border-top: solid 1px #555; }
	
	/* Artists */
	.sec_cont_area.artists_cont .artists { justify-content: flex-start; }
	.sec_cont_area.artists_cont .artists li {
		margin-bottom: 50px;
		width: 24.1%;
		margin-right: 1.2%;
	}
	.sec_cont_area.artists_cont .artists li:nth-child(4n) { margin-right: 0; }
	.sec_cont_area.artists_cont .artists li .thumb { height: 240px; }
	.sec_cont_area.artists_cont .artists li .name { font-size: 114.2%; }
	
	/* About */
	main.about { margin-top: 100px; }
	.sec_cont_area.about_cont {
		display: flex;
		justify-content: space-between;
	}
	.sec_cont_area.about_cont .txt {
		width: 48%;
		font-size: 114.2%;
	}
	.sec_cont_area.about_cont .flyer {
		margin-top: 0;
		width: 50%;
	}
	.sec_cont_area.notice_cont,
	.sec_cont_area.howto_cont {
		display: flex;
		justify-content: space-between;
	}
	.sec_cont_area.notice_cont > section,
	.sec_cont_area.howto_cont > section { width: 45.2%; }
	.sec_cont_area.notice_cont .boxtit { margin-top: 0; }
	.sec_cont_area.notice_cont .entry_area .boxtit { margin-top: 0; }
	.sec_cont_area.howto_cont .rules_area { margin-top: 0; }
	.sec_cont_area.howto_cont > section .lead { margin-top: 0; }
	.sec_cont_area.howto_cont .info_list { margin-top: 20px; }
	.sec_cont_area.howto_cont .box_note {
		padding: 10px;
		margin-top: 20px;
	}
	
	/* トップ */
	.main_info { padding: 50px 0 80px; }
	.main_info .info {
		font-size: 140%;
		margin-top: 50px;
	}
	.main_info .info > li { margin-top: 40px; }
	
	.main_info .info > li ul.entrance li {
		margin-top: 18px;
		display: flex;
		justify-content: center;
	}
	.main_info .info > li ul.entrance li:first-child { margin-top: 18px; }
	.main_info .info > li ul.entrance li .price {
		margin-top: 0;
		font-size: 96%;
		text-align: left;
		display: flex;
		align-items: flex-end;
	}
	.main_info .info > li ul.entrance li .price .note { margin: 0px 0 0 .5em; }
	
	.main_cont .statement { margin-top: 20px; }
	.main_cont .statement .txt { font-size: 18px; }

	/* News */
	.news_list dd {
		display: flex;
		gap: 0 20px;
	}
	.news_list dd a:hover { color: var(--accent-color); }

	#contact .sec_cont_area { margin-top: 50px; }
	p.btn_area { margin-top: 30px; }
	
	/* フォーム */
	input[type="text"],
	input[type="email"],
	textarea {
		width: 75%;
		padding: 8px 8px;
	}
	textarea {
		width: 100%;
		height: 240px;
	}
	input[type="submit"] {
		padding: 8px 72px;
		cursor: pointer;
		transition: all .3s ease;
	}
	input[type="submit"]:hover { background-color: var(--accent-color); }
	
	
	
}