@charset "utf-8";

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 リセット 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

*, *:before, *:after { box-sizing: border-box; }

h1, h2, h3, h4, h5, h6 { font-weight: inherit; margin-top: 0; margin-bottom: 0; }

ol, ul { list-style: none; padding-left: 0; margin-top: 0; margin-bottom: 0; }
dl { margin-top: 0; margin-bottom: 0; }
dd { margin-left: 0; }

p { margin-top: 0; margin-bottom: 0; }
img { width: 100%; height: auto; vertical-align: top; }
a:link { outline: 0; }

table { border-collapse: collapse; }
table tr th { text-align: left; vertical-align: top; padding: 0; }
table tr td { vertical-align: top; padding: 0; }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 基礎スタイル 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
/*
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Poppins:ital,wght@0,100;0,200;0,300;0,400;0,500;0,600;0,700;0,800;0,900;1,100;1,200;1,300;1,400;1,500;1,600;1,700;1,800;1,900&display=swap');
*/

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/NotoSansJP-Regular.woff") format("woff");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/NotoSansJP-Medium.woff") format("woff");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/NotoSansJP-SemiBold.woff") format("woff");
}

@font-face {
  font-family: "Noto Sans JP";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/NotoSansJP-Bold.woff") format("woff");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 400;
  src: url("../fonts/Poppins-Regular.woff") format("woff");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 500;
  src: url("../fonts/Poppins-Medium.woff") format("woff");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 600;
  src: url("../fonts/Poppins-SemiBold.woff") format("woff");
}

@font-face {
  font-family: "Poppins";
  font-style: normal;
  font-weight: 700;
  src: url("../fonts/Poppins-Bold.woff") format("woff");
}


html { overflow: hidden; overflow-y: scroll; font-size: 62.5%; line-height: 1; color: #333333; font-weight: 400; }
a { color: #333333; text-decoration: none; }


/* ――――――――――――――――――――――――――――――
［ アニメーション[fadeIn]の時間調整 ］
―――――――――――――――――――――――――――――― */

body { animation: fadeIn 1s ease 0s 1 normal; }

@keyframes fadeIn {
	0% { opacity: 0 }
	100% { opacity: 1 }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 headerWrap 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

#headerWrap { position: fixed; width: 100%; height: 94px; background-color: rgba(255,255,255,0.95); box-shadow: 0 0 6px 0 rgba(0,0,0,0.15); padding-right: calc( 50 / 1300 * 100% ); padding-left: calc( 50 / 1300 * 100% ); z-index: 100; }
#headerWrap #headerInner { position: relative; max-width: 1200px; margin-right: auto; margin-left: auto; }
#headerWrap #headerLogo { position: absolute; top: 35px; left: 0; }
#headerWrap #headerLogo a { overflow: hidden; display: block; width: 126px; height: 23px; background: url(/cms/cmj/jimtof2026/common/images/citizen_logo1.svg) no-repeat left top; text-indent: 100%; white-space: nowrap; }
#headerWrap #headerOpen { position: absolute; top: 0; right: 0; text-indent: 100%; white-space: nowrap; overflow: hidden; width: 70px; height: 60px; z-index: 20000; }
#headerWrap #headerOpen div { position: relative; display: block; width: 30px; height: 24px; margin: 18px auto 0; }
#headerWrap #headerOpen div:before,
#headerWrap #headerOpen div:after,
#headerWrap #headerOpen span { position: absolute; display: block; width: 100%; height: 4px; background-color: #000000; content: ""; }
#headerWrap #headerOpen div:before { top: 0; transition: 0.5s ease 0s; }
#headerWrap #headerOpen div:after { bottom: 0; transition: 0.5s ease 0s; }
#headerWrap #headerOpen span { overflow: hidden; top: 0; bottom: 0; text-indent: 100%; white-space: nowrap; margin-top: auto; margin-bottom: auto; }
	#headerWrap #headerInner.active #headerOpen div { height: 24px; margin-top: 16px; }
	#headerWrap #headerInner.active #headerOpen div:before { transform: translateY(12px) translateX(0) rotate(-45deg); }
	#headerWrap #headerInner.active #headerOpen div:after { transform: translateY(-8px) translateX(0) rotate(45deg); }
	#headerWrap #headerInner.active #headerOpen span { opacity: 0; }
#headerWrap #headerMenu { position: relative; }
#headerWrap #headerLink { position: absolute; top: 45px; right: 0; font-size: 0; line-height: 0; font-feature-settings: "palt"; }
#headerWrap #headerLink a { position: relative; display: inline-block; font-size: 1.6rem; line-height: 1; font-weight: 500; padding: 12px 10px; }
#headerWrap #headerLink div { position: relative; display: inline-block; font-size: 1.6rem; line-height: 1; font-weight: 500; padding: 12px 10px; opacity: 0.25; }
#headerWrap #headerLink a::after { position: absolute; bottom: 0; right: 0; left: 0; display: block; width: 100%; height: 2px; background-color: #333333; content: ""; transform: scale(0,1); transform-origin: center top; transition: transform 0.3s; }
#headerWrap #headerLink a span.linkOut { position: relative; padding-left: 18px; }
#headerWrap #headerLink a span.linkOut::before,
#headerWrap #headerLink a span.linkOut::after { position: absolute; display: block; content: ""; }
#headerWrap #headerLink a span.linkOut::before { top: 5px; left: 3px; width: 10px; height: 8px; border: solid 1px #cccccc; }
#headerWrap #headerLink a span.linkOut::after { top: 11px; left: 0; width: 7px; height: 5px; border-bottom: solid 1px #cccccc; border-left: solid 1px #cccccc; }
#headerWrap #headerLanguage { position: absolute; top: 20px; right: 0; font-size: 0; line-height: 0; display: none; }
#headerWrap #headerLanguage a { display: inline-block; width: 100px; border: solid 1px #333333; font-size: 1.4rem; line-height: 1; font-weight: 500; text-align: center; padding: 4px 10px 3px; }
#headerWrap #headerLanguage a:not(:last-child) { margin-right: 10px; }

@media screen and (max-width: 1000px) {
	#headerWrap #headerLogo { top: 22px; }
	#headerWrap #headerLogo a { width: 110px; height: 20px; }
	#headerWrap #headerLink { top: 48px; left: 0; text-align: center; }
	#headerWrap #headerLink a { font-size: 1.5rem; }
}

@media screen and (min-width: 769px) {
	#headerWrap #headerLink a:hover::after { transform: scale(1,1); }
	#headerWrap #headerLanguage a { transition: 0.3s ease; }
	#headerWrap #headerLanguage a:hover { background-color: #333333; color: #ffffff; }
}

@media screen and (min-width: 768px) {
	#headerWrap #headerOpen { display: none; }
	#headerWrap #headerMenu { display: block !important; }
		body#categoryHome       #headerWrap #headerLink a:nth-child(1)::after,
		body#categoryExhibition #headerWrap #headerLink a:nth-child(2)::after,
		body#categoryFaf        #headerWrap #headerLink a:nth-child(4)::after,
		body#categoryAlkapply   #headerWrap #headerLink a:nth-child(5)::after { transform: scale(1,1); }
}

@media screen and (max-width: 767px) {
	#headerWrap { position: static; height: 60px; padding-right: 0; padding-left: 0; }
	#headerWrap #headerLogo { top: 19px; left: 20px; }
	#headerMenu { position: absolute; top: 60px; overflow: hidden; display: none; width: 100%; z-index: 10000; padding-bottom: 20px; }
	#headerMenu #menuInner { background-color: rgba(0,0,0,0.9); padding: 20px calc( 20 / 320 * 100% ) 40px; }
	#headerWrap #headerLink { position: static; border-top: solid 1px #333333; margin-bottom: 20px; }
	#headerWrap #headerLink a { display: block; border-bottom: solid 1px #333333; color: #ffffff; text-align: center; padding: 15px; }
	#headerWrap #headerLink div { display: block; border-bottom: solid 1px #333333; color: #666; text-align: center; padding: 15px; opacity: 1; }
	#headerWrap #headerLink a span.linkOut::before { top: 4px; border-color: #ffffff; }
	#headerWrap #headerLink a span.linkOut::after { top: 10px; border-color: #ffffff; }
	#headerWrap #headerLanguage { position: static; width: 280px; margin-right: auto; margin-left: auto; }
	#headerWrap #headerLanguage a { width: 130px; border-color: #ffffff; font-size: 1.4rem; color: #ffffff; padding: 10px; }
	#headerWrap #headerLanguage a:not(:last-child) { margin-right: 20px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 main 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

main { font-size: 1.8rem; line-height: 3.8rem; padding-top: 94px; padding-bottom: 200px; }
main .mainInner { padding-right: calc( 50 / 1300 * 100% ); padding-left: calc( 50 / 1300 * 100% ); }

@media screen and (max-width: 767px) {
	main { font-size: 1.6rem; line-height: 3rem; padding-top: 0; padding-bottom: 150px; }
	main .mainInner { padding-right: calc( 20 / 320 * 100% ); padding-left: calc( 20 / 320 * 100% ); }
}



/* ――――――――――――――――――――――――――――――
［ contentsArea ］
―――――――――――――――――――――――――――――― */

.contents960 { max-width: 960px; margin-right: auto; margin-left: auto; }
.contents1200 { max-width: 1200px; margin-right: auto; margin-left: auto; }
.contents960430 { max-width: 960px; margin-right: auto; margin-left: auto; }

@media screen and (max-width: 767px) {
	.contents960,
	.contents1200 { max-width: 500px; }
	.contents960430 { max-width: 430px; }

}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 footerWrap 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

#footerWrap { position: relative; background-color: #000000; padding-right: calc( 50 / 1300 * 100% ); padding-left: calc( 50 / 1300 * 100% ); }
#footerWrap #pageTop { position: fixed; z-index: 10000; right: calc( 50 / 1200 * 100% ); overflow: hidden; width: 50px; height: 50px; border-radius: 50%; }
#footerWrap #pageTop a { position: relative; display: block; width: 50px; height: 50px; background-color: #000000; font-size: 0; line-height: 0; }
#footerWrap #pageTop a::before { position: absolute; top: 0; right: 0; bottom: 0; left: 0; display: block; width: 24px; height: 13px; background: url(/cms/cmj/jimtof2026/common/images/pagetop_arr.svg) no-repeat left top; background-size: cover; content: ""; margin: auto; }
#footerWrap #footerInner { overflow: hidden; max-width: 1200px; padding-top: 50px; padding-bottom: 40px; margin-right: auto; margin-left: auto; }
#footerWrap #footerLogo { width: 160px; margin: 0 auto 35px; }
#footerWrap #footerLogo a { overflow: hidden; display: block; aspect-ratio: 126/23; min-width: 0; width: 100%; background: url(/cms/cmj/jimtof2026/common/images/citizen_logo2.svg) no-repeat center/contain; text-indent: 100%; white-space: nowrap; }
#footerWrap #footerLink { text-align: center; margin-bottom: 20px; }
#footerWrap #footerLink a { position: relative; display: inline-block; font-size: 1.6rem; line-height: 2.3rem; color: #ffffff; padding-left: 28px; }
#footerWrap #footerLink a:not(:last-child) { margin-right: 50px; }
#footerWrap #footerLink a::before,
#footerWrap #footerLink a::after { position: absolute; display: block; content: ""; }
#footerWrap #footerLink a::before { top: 5px; left: 3px; width: 14px; height: 10px; border: solid 1px #ffffff; }
#footerWrap #footerLink a::after { top: 12px; left: 0; width: 8px; height: 6px; border-bottom: solid 1px #ffffff; border-left: solid 1px #ffffff; }
#footerWrap #footerCopy { font-size: 1.3rem; line-height: 2.3rem; color: #ffffff; text-align: center; }

.footerSns { display: flex; flex-wrap: wrap; gap: 30px 30px; justify-content: center; align-items: center; margin-bottom: 35px; }
.footerSnsYt { aspect-ratio: 74/52 ; min-width: 0; height: 28px; display: block; }
.footerSnsIs { aspect-ratio: 1/1; min-width: 0; height: 35px; display: block; }


@media screen and (min-width: 769px) {
	#footerWrap #pageTop a { transition: 0.3s ease; }
	#footerWrap #pageTop a:hover { background-color: #ccc; }
	#footerWrap #footerLink a:hover { text-decoration: underline; }
}

@media screen and (max-width: 767px) {
	#footerWrap { padding-right: calc( 20 / 320 * 100% ); padding-left: calc( 20 / 320 * 100% ); }
	#footerWrap #pageTop { position: absolute !important; right: calc( 20 / 320 * 100% ); width: 50px; margin-top: -70px; }
	#footerWrap #footerInner { max-width: 500px; padding-top: 35px; padding-bottom: 25px; }
	#footerWrap #footerLogo { margin-bottom: 28px; width: 140px; }
	#footerWrap #footerLogo a { margin-right: auto; margin-left: auto; }
	#footerWrap #footerLink { order: 1; text-align: left; margin: 0 auto 30px; text-align: center; display: flex; flex-wrap: wrap; flex-direction: column; justify-content: center; align-items: center; }
	#footerWrap #footerLink a { font-size: 1.5rem; line-height: 2.3rem; font-feature-settings: "palt"; padding-left: 24px; }
	#footerWrap #footerLink a:not(:last-child) { margin-bottom: 10px; margin-right: 0; }
	#footerWrap #footerCopy { order: 3; margin-right: auto; margin-left: auto; }
	.footerSns { margin-bottom: 25px; }
	.footerSnsYt { height: 25px; }
	.footerSnsIs { height: 30px; }
}
