@charset "utf-8";

.inliner { display: inline-block; font-size: inherit; line-height: inherit; }

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homeMain 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.homeMain { position: relative; margin-bottom: 65px; }
.homeMain .mainInner { padding: 0; }
.mainVisual { position: relative; width: 100%; height: clamp(390px, calc(50.93vw + -1px), 610px); overflow: hidden; }
.mainVisualLogo { position: absolute; content: ""; inset: 45px clamp(45px, calc(2.08vw + 20px), 60px) auto auto; aspect-ratio: 268/40; min-width: 0; width: clamp(420px, calc(33.33vw + 20px), 660px); z-index: 3; }
.mainVisualBg { position: absolute; content: ""; width: 1920px; left: 50%; transform: translateX(-50%); aspect-ratio: 1920/610; min-width: 0; z-index: 2; }

.mainCopy { max-width: 600px; width: 90%; margin-inline: auto; }

.mainScroll { position: absolute; bottom: 0; right: clamp(30px, calc(8.33vw + -70px), 90px); width: calc( 12 / 1200 * 100% ); z-index: 3; }

@media screen and (max-width: 1200px) {
	.mainVisualLogo { inset: clamp(25px,calc(4.63vw + -11px),45px) clamp(25px,calc(4.63vw + -11px),45px) auto auto; width: 35%; }
	.mainVisualBg { width: 160%; }
}


@media screen and (max-width: 767px) {
	.mainVisual { height: auto; }
	.mainVisualLogo { inset: clamp(25px, calc(5.09vw + 6px), 45px) 0 auto; margin: 0 auto; width: clamp(320px, calc(50.89vw + 129px), 520px); }
	.mainVisualBg { position: static; width: 100%; }
	.homeMain .mainScroll { display: none; }
}



/* ――――――――――――――――――――――――――――――
［ アニメーション ］
―――――――――――――――――――――――――――――― */

.homeMain .mainCopy  { animation-name: mainCopy1; opacity: 0; animation-fill-mode: forwards; animation-duration: 1.5s; animation-delay: .75s; }
.mainVisualLogo { animation-name: mainCopy1; opacity: 0; animation-fill-mode: forwards; animation-duration: 1.5s; animation-delay: .25s; }
@keyframes mainCopy1  { 100% { opacity: 1; } }





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homeNews 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.homeNews { position: relative; padding-right: calc( 50 / 1300 * 100% ); padding-left: calc( 50 / 1300 * 100% ); }
.homeNews .newsInner { display: table; max-width: 960px; width: 100%; background-color: #b3babf; font-size: 1.6rem; line-height: 2.4rem; color: #ffffff; padding: 10px 30px; margin: 0 auto 110px; }
.homeNews .newsTitle { display: table-cell; width: 125px; font-weight: 700; border-right: solid 1px #ffffff; vertical-align: top; padding-top: 2px; }
.homeNews .newsList { display: table-cell; vertical-align: top; padding-top: 2px; padding-left: 30px; }
.homeNews .newsList dl { display: table; }
.homeNews .newsList dl dt { display: table-cell; }
.homeNews .newsList dl dd { display: table-cell; padding-left: 30px; }
.homeNews .newsList div:not(:last-child),
.homeNews .newsList a:not(:last-child) { margin-bottom: 5px; }
.homeNews .newsList a { display: block; color: #ffffff; }

@media screen and (max-width: 1060px) {
	.homeNews .newsInner { display: block; }
	.homeNews .newsTitle { display: block; width: 100%; border-right: none; border-bottom: dashed 1px #ffffff; padding-bottom: 8px; margin-bottom: 8px; }
	.homeNews .newsList { display: block; padding-left: 0; }
}

@media screen and (min-width: 769px) {
	.homeNews .newsList a:hover dl dd { text-decoration: underline; }
}

@media screen and (max-width: 767px) {
	.homeNews { padding-right: calc( 20 / 320 * 100% ); padding-left: calc( 20 / 320 * 100% ); }
	.homeNews .newsInner { max-width: 500px; font-size: 1.5rem; padding-right: 14px; padding-left: 14px; margin-top: 0; margin-bottom: 50px; }
	.homeNews .newsTitle { border-bottom: none; padding-top: 0; padding-bottom: 0; margin-bottom: 5px; }
	.homeNews .newsList dl { display: block; }
	.homeNews .newsList dl dt { display: block; }
	.homeNews .newsList dl dd { display: block; padding-left: 0; }
}






/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homeTitle 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.homeTitle { max-width: 1200px; font-size: 4rem; line-height: 5rem; color: #333; text-align: center; margin: 0 auto 50px; }

@media screen and (max-width: 767px) {
	.homeTitle { max-width: 500px; font-size: 2.2rem; line-height: 3.2rem; margin-bottom: 25px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homeGreeting 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.homeGreeting { padding-right: calc( 50 / 1300 * 100% ); padding-left: calc( 50 / 1300 * 100% ); margin-bottom: 140px; }
.homeGreeting .greetingInner { overflow: hidden; max-width: 1200px; margin-right: auto; margin-left: auto; }
.homeGreeting .greetingIntro { font-size: 2.8rem; line-height: 4.2rem; font-weight: 700; margin-bottom: 50px; text-align: center; }
.homeGreeting .greetingImg { float: left; width: calc( 440 / 1200 * 100% ); padding-top: 8px; }
.homeGreeting .greetingImgName { margin: 20px auto 0; max-width: 225px; }
.homeGreeting .greetingTxt { float: right; width: calc( 660 / 1200 * 100% ); letter-spacing: -0.3px; }
.homeGreeting .greetingTxt p:not(:last-child) { margin-bottom: 35px; }
.homeGreeting .greetingTxtJp { width: calc( 660 / 1200 * 100% ); margin: 0 auto; }
.homeGreeting .greetingTxtJp p:not(:last-child) { margin-bottom: 30px; }
.homeGreeting .greetingLink a { position: relative; display: inline-block; font-size: 1.6rem; line-height: 2.3rem; color: #333; padding-left: 28px; }
.homeGreeting .greetingLink a:not(:last-child) { margin-right: 50px; }
.homeGreeting .greetingLink a::before,
.homeGreeting .greetingLink a::after { position: absolute; display: block; content: ""; }
.homeGreeting .greetingLink a::before { top: 5px; left: 3px; width: 14px; height: 10px; border: solid 1px #333; }
.homeGreeting .greetingLink a::after { top: 12px; left: 0; width: 8px; height: 6px; border-bottom: solid 1px #333; border-left: solid 1px #333; }


@media screen and (max-width: 767px) {
	.homeGreeting { padding-right: calc( 20 / 320 * 100% ); padding-left: calc( 20 / 320 * 100% ); margin-bottom: 100px; }
	.homeGreeting .greetingInner { max-width: 500px; }
	.homeGreeting .greetingIntro { font-size: 1.8rem; line-height: 3.2rem; margin-bottom: 30px; text-align: left; }
	.homeGreeting .greetingImg { float: none; width: 224px; padding-top: 0; margin: 0 auto 30px; }
	.homeGreeting .greetingImgName { margin: 20px auto 0; max-width: 220px; }
	.homeGreeting .greetingTxt { float: none; width: 100%; }
	.homeGreeting .greetingTxt p:not(:last-child) { margin-bottom: 10px; }
	.homeGreeting .greetingTxtJp { width: 100%; }
	.homeGreeting .greetingTxtJp p:not(:last-child) { margin-bottom: 10px; }
	.homeGreeting .greetingLink { padding-top: 20px; }
	.homeGreeting .greetingLink a { display: block; font-size: 1.5rem; line-height: 2.3rem; font-feature-settings: "palt"; padding-left: 24px; }
	.homeGreeting .greetingLink a:not(:last-child) { margin-bottom: 10px; margin-right: 0; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homeGUide 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

/* ――――――――――――――――――――――――――――――
［ homweGuideTitle ］
―――――――――――――――――――――――――――――― */

.homweGuideTitle { width: 100%; background: url(/cms/cmj/jimtof2026/images/home_guide_title_bg.webp) no-repeat center center; background-size: 100% auto; font-size: 5.2rem; line-height: 7rem; color: #ffffff; font-weight: 700; text-align: center; padding: 65px 50px; margin-bottom: 65px; margin-top: 120px; }
.homweGuideTitle span { display: block; font-size: 0.5em; }
@media screen and (max-width: 1400px) {
	.homweGuideTitle { background-size: auto 100%; }
}

@media screen and (max-width: 767px) {
	.homweGuideTitle { background-size: auto 100%; font-size: 3rem; line-height: 4rem; padding: 40px 20px; margin-bottom: 40px; margin-top: 90px; }
}



/* ――――――――――――――――――――――――――――――
［ homeGuide ］
―――――――――――――――――――――――――――――― */

.homeGuide { padding-right: calc( 50 / 1300 * 100% ); padding-left: calc( 50 / 1300 * 100% ); margin-bottom: 180px; }
.homeGuide .guideInner { max-width: 1200px; margin-right: auto; margin-left: auto; }
.homeGuide .guideBtn { text-align: center; margin-bottom: 40px; }
.homeGuide .guideBtn a { display: inline-block; min-width: 210px; border: solid 1px #333333; font-size: 1.8rem; line-height: 1; padding: 13px 20px; }
.homeGuide .guideSlider { max-width: 1050px; margin: 0 auto 110px; }
.homeGuide .guideSlider .sliderImg a { display: block; padding: calc( 25 / 350 * 100% ); }
.homeGuide .guideSlider .sliderImg a span { display: flex; flex-wrap: wrap; align-items: flex-end; }
.guideSlider .slick-track { display: flex; align-items: flex-end; }
.guideSlider .slick-track::before,
.guideSlider .slick-track::after  { display: none; }
.guideSlider .slick-slide { float: none; height: auto; }
.guideSlider .slick-slide a { height: 100%; }

.homeGuide .guideList .listInner { overflow: hidden; }
.homeGuide .guideList .listInner:not(:last-child) { margin-bottom: 150px; }
.homeGuide .guideList .listInner.innerType1 .listImg,
.homeGuide .guideList .listInner.innerType1 .listImg2,
.homeGuide .guideList .listInner.innerType2 .listTxt { float: left; }
.homeGuide .guideList .listInner.innerType2 .listEx { width: 100%; margin-inline: auto; max-width: 800px; }
.homeGuide .guideList .listInner.innerType2 .listImg,
.homeGuide .guideList .listInner.innerType2 .listImg2,
.homeGuide .guideList .listInner.innerType1 .listTxt { float: right; }
.homeGuide .guideList .listImg { width: calc( 590 / 1200 * 100% ); }
.homeGuide .guideList .listImg2 { width: calc( 430 / 1200 * 100% ); margin-right: calc( 160 / 1200 * 100% ); }
.homeGuide .guideList .listTxt { width: calc( 510 / 1200 * 100% ); }
.homeGuide .guideList .txtTitle { margin-bottom: 30px; height: 51px; }
.homeGuide .guideList .txtTitleJ { margin-bottom: 30px; height: 40px; }
.homeGuide .guideList .txtTitle img { display: block; height: 100%; width: auto; }
.homeGuide .guideList .txtMain { margin-bottom: 30px; }
.homeGuide .guideList .txtMain p:not(:last-child) { margin-bottom: 18px; }
.homeGuide .guideList .txtBtn { text-align: left; }
.homeGuide .guideList .txtBtn a { display: inline-block; width: 210px; border: solid 1px #333333; font-size: 1.8rem; line-height: 1; text-align: center; padding: 13px; }

.homeGuide .eventList { overflow: hidden; display: flex; border-top: 1px solid #ccc; padding-top: 70px; margin-inline: auto; max-width: 800px; }
.homeGuide .eventList .eventTitle { font-size: 2.8rem; line-height: 4.2rem; font-weight: 600; color: #6d6e71; margin-bottom: 30px; }
.homeGuide .eventList p { margin-bottom: 25px; }
.homeGuide .eventList dl { overflow: hidden; }
.homeGuide .eventList dt { float: left; width: 60px; font-weight: 700; }
.homeGuide .eventList dd { float: right; width: calc( 100% - 60px ); }

.eventBanner { display: block; max-width: 800px; margin: 90px auto 0; }


@media screen and (min-width: 769px) {
	.homeGuide .guideBtn a,
	.homeGuide .guideList .listTxt .txtBtn a { transition: 0.3s ease; }
	.homeGuide .guideBtn a:hover,
	.homeGuide .guideList .listTxt .txtBtn a:hover  { background-color: #333333; color: #ffffff; }
}
@media (max-width: 1000px) {
	.homeGuide .guideList .txtTitle { height: 35px; margin-bottom: 20px; text-align: center; }
	.homeGuide .guideList .txtTitleJ { height: 28px; margin-bottom: 20px; text-align: center; }
}

@media screen and (max-width: 767px) {
	.homeGuide { padding-right: calc( 20 / 320 * 100% ); padding-left: calc( 20 / 320 * 100% ); margin-bottom: 100px; }
	.homeGuide .guideInner { max-width: 500px; }
	.homeGuide .guideTxt br { display: none; }
	.homeGuide .guideBtn { margin-bottom: 20px; }
	.homeGuide .guideBtn a { font-size: 1.6rem; }
	.homeGuide .guideSlider { margin-bottom: 40px; }
	.homeGuide .guideList .listInner:not(:last-child) { margin-bottom: 80px; }
	.homeGuide .guideList .listInner.innerType1 .listImg,
	.homeGuide .guideList .listInner.innerType2 .listTxt,
	.homeGuide .guideList .listInner.innerType2 .listImg,
	.homeGuide .guideList .listInner.innerType1 .listTxt { float: none; }
	.homeGuide .guideList .listImg { width: 100%; margin-bottom: 30px; }
	.homeGuide .guideList .listImg2 { width: 100%; margin-bottom: 30px; margin-right: 0; }
	.homeGuide .guideList .listTxt { width: 100%; }
	
	.homeGuide .guideList .txtTitle img { display: inline-flex; }
	.homeGuide .guideList .txtMain p:not(:last-child) { margin-bottom: 16px; }
	.homeGuide .guideList .txtBtn { text-align: center; }
	.homeGuide .guideList .txtBtn a { font-size: 1.6rem; }
	
	.homeGuide .eventList { display: block; padding-top: 50px; }
	.homeGuide .eventList .listInner { width: 100%; }
	.homeGuide .eventList .listInner:nth-child(1) { padding-right: 0; }
	.homeGuide .eventList .listInner:nth-child(2) { padding-left: 0; border-left: none; margin-top: 50px; }
	.homeGuide .eventList .eventTitle { font-size: 2.2rem; line-height: 3.2rem; margin-bottom: 20px; }
	.homeGuide .eventList p { margin-bottom: 20px; }
	.homeGuide .eventList dt { float: none; width: 100%; }
	.homeGuide .eventList dd { float: none; width: 100%; }
	
	.eventBanner { max-width: 500px; margin-top: 60px; }
}




/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homeVirtual 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.homeVirtual { background: url(/cms/cmj/jimtof2026/images/home_pre_bg1.webp) no-repeat right bottom #000000; background-size: auto 100%; padding: 100px calc( 50 / 1300 * 100% ) 50px; margin-bottom: 210px; }
.homeVirtual h2 { max-width: 1200px; font-size: 4rem; line-height: 5rem; font-weight: 700; color: #ffffff; text-align: center; margin: 0 auto 30px; }
.homeVirtual h2 span { display: inline-block; }
.homeVirtual p { color: #ffffff; text-align: center; margin-bottom: 50px; margin: 0 auto 50px; }
.homeVirtual p span { display: inline-block; }

.homeVirtual .virtualInner { max-width: 1200px; color: #ffffff; margin-right: auto; margin-left: auto; }
.homeVirtual .virtualInnerMov { position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; }
.homeVirtual .virtualInnerMov iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; }
.homeVirtual .virtualInfo { max-width: 1200px; color: #ffffff; margin-right: auto; margin-left: auto; margin-top: 60px; display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 15px 20px; }
.homeVirtual .virtualInfoItem { display: flex; flex-wrap: wrap; gap: 10px; }
.homeVirtual .virtualInfoIcon { width: 25px; height: 25px; display: flex; flex-wrap: wrap; align-items: center; }
.homeVirtual .virtualInfoTxt { flex: 1; font-size: 1.8rem; line-height: 1.5; }

@media screen and (max-width: 767px) {
	.homeVirtual { background: none; background-color: #000000; padding: 60px 20px 70px; margin-bottom: 100px; }
	.homeVirtual h2 { max-width: 500px; font-size: 2.2rem; line-height: 3.2rem; margin-bottom: 25px; }
	.homeVirtual p { max-width: 500px; text-align: left; font-size: 1.6rem; line-height: 2.8rem; margin-bottom: 25px; }
	.homeVirtual p span { display: inline; }
	.homeVirtual .virtualInner { max-width: 500px; }
	
	.homeVirtual .virtualInfo { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
	.homeVirtual .virtualInfoIcon { width: 18px; height: 18px; }
	.homeVirtual .virtualInfoTxt { font-size: 1.5rem; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homePre 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.homePre { background: url(/cms/cmj/jimtof2026/images/home_pre_bg1.webp) no-repeat right bottom #000000; background-size: auto 100%; padding: 170px calc( 50 / 1300 * 100% ); margin-bottom: 180px; }
.homePre .preInner { max-width: 960px; color: #ffffff; margin-right: auto; margin-left: auto; }
.homePre .preTxt { width: calc( 510 / 960 * 100% ); }
.homePre .preTxt .txtTitle { font-size: 4rem; line-height: 5rem; font-weight: 700; margin-bottom: 25px; }
.homePre .preTxt .txtMain p:not(:last-child) { margin-bottom: 18px; }

@media screen and (max-width: 767px) {
	.homePre { background-image: url(/cms/cmj/jimtof2026/images/home_pre_bg2.webp); background-position: center bottom; background-size: 768px auto; padding: 40px calc( 20 / 320 * 100% ) 220px; margin-bottom: 100px; }
	.homePre .preInner { max-width: 500px; }
	.homePre .preTxt { width: 100%; }
	.homePre .preTxt .txtTitle { font-size: 2.4rem; line-height: 3.6rem; margin-bottom: 15px; }
	.homePre .preTxt .txtMain p:not(:last-child) { margin-bottom: 16px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homeVenue 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.homeVenue { padding-right: calc( 50 / 1300 * 100% ); padding-left: calc( 50 / 1300 * 100% ); margin-bottom: 180px; }
.homeVenue .venueInner { max-width: 960px; margin-right: auto; margin-left: auto; }

@media screen and (max-width: 767px) {
	.homeVenue { padding-right: calc( 20 / 320 * 100% ); padding-left: calc( 20 / 320 * 100% ); margin-bottom: 100px; }
	.homeVenue .venueInner { max-width: 500px; }
}





/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homeAccess 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.homeAccess { padding-right: calc( 50 / 1300 * 100% ); padding-left: calc( 50 / 1300 * 100% ); margin-bottom: 150px; }
.homeAccess .accessInner { max-width: 810px; margin-right: auto; margin-left: auto; }
.homeAccess .accessTxt { text-align: center; margin-bottom: 20px; }
.homeAccess .accessTxt dt { font-weight: 700; }
.homeAccess .accessImg { margin-bottom: 60px; }
.homeAccess .accessBtn { text-align: center; }
.homeAccess .accessBtn a { display: inline-block; width: 210px; border: solid 1px #333333; font-size: 1.8rem; line-height: 1; padding: 13px; }

@media screen and (min-width: 769px) {
	.homeAccess .accessBtn a { transition: 0.3s ease; }
	.homeAccess .accessBtn a:hover  { background-color: #333333; color: #ffffff; }
}

@media screen and (max-width: 767px) {
	.homeAccess { padding-right: calc( 20 / 320 * 100% ); padding-left: calc( 20 / 320 * 100% ); margin-bottom: 100px; }
	.homeAccess .accessInner { max-width: 500px; }
	.homeAccess .accessImg { margin-bottom: 40px; }
	.homeAccess .accessBtn a { font-size: 1.6rem; }
}



/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homeInfo 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */

.homeInfo { padding-right: calc( 50 / 1300 * 100% ); padding-left: calc( 50 / 1300 * 100% ); }
.homeInfo .infoInner { overflow: hidden; max-width: 1200px; margin-right: auto; margin-left: auto; }
.homeInfo .infoInner .infoBlock1 { float: left; width: 530px; }
.homeInfo .infoInner .infoBlock2 { float: right; width: 500px; }
.homeInfo .infoInner .infoBlock3 { max-width: 800px; margin-right: auto; margin-left: auto; }
.homeInfo .infoTitle { font-size: 3.2rem; line-height: 4.2rem; }
.homeInfo .infoBlock2 .infoTitle { margin-bottom: 10px; }
.homeInfo .infoList { line-height: 3rem; }
.homeInfo .infoList dl { border-bottom: solid 1px #333333; padding: 20px 2px; }
.homeInfo .infoList dl dt { margin-bottom: 8px; }
.homeInfo .infoCreation { overflow: hidden; }
.homeInfo .infoCreation .creationImg { float: left; width: 142px; border: solid 1px #dddddd; margin-top: 10px; }
.homeInfo .infoCreation .creationTxt { float: right; width: 330px; }

@media screen and (max-width: 1200px) {
	.homeInfo .infoInner .infoBlock1,
	.homeInfo .infoInner .infoBlock2 { float: none; width: 500px; margin-right: auto; margin-left: auto; }
	.homeInfo .infoInner .infoBlock1 { margin-bottom: 60px; }
}

@media screen and (min-width: 769px) {
	.homeInfo .infoList a:hover dl dd { text-decoration: underline; }
}

@media screen and (max-width: 767px) {
	.homeInfo { padding-right: calc( 20 / 320 * 100% ); padding-left: calc( 20 / 320 * 100% ); }
	.homeInfo .infoInner  { max-width: 500px; }
	.homeInfo .infoInner .infoBlock1,
	.homeInfo .infoInner .infoBlock2 { width: 100%; }
	.homeInfo .infoTitle { font-size: 2.2rem; line-height: 3.2rem; text-align: center; }
	.homeInfo .infoList { line-height: 3rem; }
	.homeInfo .infoCreation .creationImg { float: none; margin: 0 auto 40px; }
	.homeInfo .infoCreation .creationTxt { float: none; width: 100%; }
} 

/* ＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝
【 homeSpondor 】
＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝＝ */
.homeSponsor { margin-bottom: 150px; }
.sponsorList { display: flex; flex-wrap: wrap; align-items: center; gap: 45px 60px; max-width: 1020px; margin-inline: auto; justify-content: center; padding: 0 30px; }
.sponsorItem { height: 60px; aspect-ratio: 280/80; min-width: 0; background: #ccc; display: block; }
.sponsorArea { display: block; }
.sponsorArea[href="#"] { pointer-events: none; }
.logo-cjv { aspect-ratio: 280/80; min-width: 0; }
.logo-smc { aspect-ratio: 160/80; min-width: 0; }
.logo_alps { aspect-ratio: 280/80; min-width: 0; }
.logo-iscar { aspect-ratio: 170/80; min-width: 0; }
.logo-iwata { aspect-ratio: 260/80; min-width: 0; }
.logo-osg { aspect-ratio: 205/80; min-width: 0; }
.logo-suzuki { aspect-ratio: 280/80; min-width: 0; }
.logo-daiyac { aspect-ratio: 123/80; min-width: 0; }
.logo-nakanishi { aspect-ratio: 240/80; min-width: 0; }
.logo-mine { aspect-ratio: 280/80; min-width: 0; }
.logo-kyocera { aspect-ratio: 210/80; min-width: 0; }
.logo-sumitomo { aspect-ratio: 245/80; min-width: 0; }
.logo-nachi { aspect-ratio: 140/80; min-width: 0; }
.logo-acube { aspect-ratio: 280/80; min-width: 0; }



.logo-eneos { aspect-ratio: 100/80; min-width: 0; }
.logo-izushi { aspect-ratio: 110/80; min-width: 0; }
.logo-ntk { aspect-ratio: 110/80; min-width: 0; }
.logo-eagle { aspect-ratio: 145/80; min-width: 0; }
.logo-tanga { aspect-ratio: 130/80; min-width: 0; }
.logo-haima { aspect-ratio: 170/80; min-width: 0; }
.logo-ikura { aspect-ratio: 170/80; min-width: 0; }
.logo-mitsubidhi { aspect-ratio: 280/80; min-width: 0; }
.logo-nishin { aspect-ratio: 175/80; min-width: 0; }


@media screen and (max-width: 767px) {
	.sponsorList { gap: 30px 45px; padding: 0 20px; }
	.sponsorItem { height: 40px; }
} 



	
.j-modal__input { display: none; }
.j-modal__btn { cursor: pointer; }


.nodal-area { position: fixed; content: ""; inset: 0 auto auto 0; width: 100%; height: 100dvh; background: rgba(0,0,0,.5); opacity: 0; pointer-events: none; z-index: 1000; align-items: center; display: flex; flex-wrap: wrap; }
.modal-wrap { width: 100%; background: #fff; margin-inline: auto; max-height: 80dvh; }
.nodal-area.is-active { opacity: 1; pointer-events: all; }
.modal-contents.is-slide-current { color: #c00; }

.modal-inner { position: relative; max-width: 800px; width: calc(80% - 30px); width: 100%; margin-inline: auto; overflow-y: scroll; display: flex; flex-direction: column; justify-content: center; scrollbar-width: none; -ms-overflow-style: none; }
.modal-inner::-webkit-scrollbar { display: none; }
.modal-contents { display: none; padding: 0 60px; background: #fff; }
.js-modal__flag.modal-contents { display: block; }
.modal-btn__back { position: relative; width: 50px; height: 50px; font-size: 0; margin: 0 0 10px auto; cursor: pointer; }
.modal-btn__back::before { position: absolute; content: ""; inset: 0; margin: auto; width: 75%; height: 1px; background: #fff; transform: rotate(45deg); }
.modal-btn__back::after { position: absolute; content: ""; inset: 0; margin: auto; width: 75%; height: 1px; background: #fff; transform: rotate(-45deg); }


.homeMapModalLabel { text-align: center; font-weight: 700; font-size: 2.4rem; padding-top: 60px; }
.homeMapModalBatch { font-size: 1.6rem; margin-top: 5px; text-align: center; font-weight: 700; line-height: 1; color: #595656; }
.homeMapLead { text-align: center; font-size: 1.6rem; margin: 0 auto 40px; padding: 0 20px; line-height: 1.5; }
.homeMapArea { position: relative; max-width: 1200px; margin: 30px auto 0; }
.homeMapAreaLink { position: absolute; content: ""; inset: 0; width: 100%; height: 100%; }
.homeMapAreaImg { margin: 16px clamp(10px, calc(3.57vw + -3px), 40px); border: 1px solid #ccc; }

.homeMapAreaLinkItem { position: absolute; content: ""; width: 100%; height: 100%; cursor: pointer; pointer-events: none; }
.homeMapAreaLinkItem:nth-child(1) { clip-path: polygon(5% 23%, 17% 23%, 17% 42%, 5% 42%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(2) { clip-path: polygon(5% 65%, 17% 65%, 17% 83%, 5% 83%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(4) { clip-path: polygon(25% 23%, 36% 23%, 36% 42%, 25% 42%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(3) { clip-path: polygon(25% 47%, 36% 47%, 36% 65%, 25% 65%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(5) { clip-path: polygon(40% 85%, 49% 85%, 49% 100%, 40% 100%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(6) { clip-path: polygon(54% 85%, 65% 85%, 65% 100%, 54% 100%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(7) { clip-path: polygon(67% 85%, 82% 85%, 82% 100%, 67% 100%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(8) { clip-path: polygon(62% 59%, 71% 59%, 71% 73%, 62% 73%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(9) { clip-path: polygon(47% 57%, 55% 57%, 55% 73%, 47% 73%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(10) { clip-path: polygon(4% 2%, 9% 2%, 9% 11%, 4% 11%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(11) { clip-path: polygon(10% 2%, 16% 2%, 16% 11%, 10% 11%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(12) { clip-path: polygon(16.5% 2%, 22% 2%, 22% 11%, 16.5% 11%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(13) { clip-path: polygon(23% 2%, 28% 2%, 28% 11%, 23% 11%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(14) { clip-path: polygon(29% 2%, 34.5% 2%, 34.5% 11%, 29% 11%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(15) { clip-path: polygon(35.5% 2%, 41% 2%, 38% 9%, 35.5% 11%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(16) { clip-path: polygon(42% 4%, 45% 9%, 39% 16%, 36.5% 11%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(17) { clip-path: polygon(45% 10%, 49% 16%, 40% 20%, 40% 15%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(18) { clip-path: polygon(49% 16%, 53% 23%, 43% 23%, 43% 19%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(19) { clip-path: polygon(54% 24%, 57% 29%, 46% 29%, 46% 24%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(20) { clip-path: polygon(46% 30%, 56% 30%, 53% 35%, 46% 35%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkItem:nth-child(21) { clip-path: polygon(50% 39%, 53% 44%, 51% 47%, 47.75% 42%); cursor: pointer; overflow: hidden; pointer-events: all; }
.homeMapAreaLinkBtn { width: 100%; height: 100%; display: block; }
.t-c { text-align: center; }

.homeMapModalWrap { display: flex; flex-wrap: wrap; gap: 30px 45px; align-items: center; margin-top: 30px; }
.homeMapModalLogo { max-width: 400px; margin: 0 auto 30px; padding-top: 60px; }
.homeMapModalImg { width: 230px; }
.homeMapModalTxt { width: 100%; }
.homeMapModalEx { flex: 1; }

.homeMapModalLink { margin-top: 45px; display: flex; flex-wrap: wrap; gap: 20px; justify-content: center; width: 100%; padding-bottom: 60px; }
.homeMapModalLinkBtn { inline-size: calc((100% - 40px) / 3); max-width: 200px; background: #222; color: #fff; text-align: center; border: 1px solid #222; box-sizing: border-box; height: 55px; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; }
.homeMapModalLinkBtn::before { display: none!important; }
.homeMapModalLinkBtn::after  { display: none!important; }
.featherlight { position: relative; z-index: 10000!important; }

.homeMapAreaLinkSp { display: none; }




@media (max-width: 767px) {
	
	.homeMapLead { font-size: 1.4rem; }
	.modal-contents { padding: 0 30px; }
	.homeMapAreaLinkSpLabel { text-align: center; margin: 15px auto; text-align: center; flex: 0 1 auto; width: 100%; font-size: 1.8rem; }
	.homeMapAreaLinkSp { display: flex; flex-wrap: wrap; gap: 5px; max-width: 500px; inline-size: calc((100% - 40px)); margin-inline: auto; margin-top: 30px; }
	.homeMapAreaLinkSpItem { inline-size: calc((100% - 5px) / 2); }
	.homeMapAreaLinkSpBtn { font-size: 1.5rem; display: block; padding: 0 10px; border: 1px solid #000; height: 50px; display: flex; flex-wrap: wrap; align-items: center; line-height: 1.31; }
	.homeMapModalLogo { max-width: 300px; }
	.homeMapModalImg { width: 230px; margin-inline: auto; }
	.homeMapModalEx { flex: 0 1 auto; }
	.homeMapModalLinkBtn { inline-size: 100%; max-width: 200px; }
}

