@charset "UTF-8";

/*reset*/
/*-------------------------------------------------------*/
article,aside,figure,figcaption,footer,header,nav,section,main{ display: block; }
small{ font-size: inherit; line-height: inherit; }
body,p,h1,h2,h3,h4,h5,h6,dl,dt,dd,div,figure,figcaption{ margin: 0; padding: 0; font-size: 100%; line-height: 1.5; }
ul,li,ol{ list-style: none; margin: 0; padding: 0; }
button{ background-color: transparent; border: none; cursor: pointer; outline: none; padding: 0; appearance: none; }
a img{ border: none; }
a{ transition: all 0.25s linear; color: #3388cb; }
a:hover{ opacity: 0.7; text-decoration: none; }
img{ vertical-align: top; max-width: 100%; height: auto; }
html,body,p,div{
	color: #000000;
	font-family: 'YakuHanJP', Lato, "游ゴシック", YuGothic, "Hiragino Kaku Gothic ProN", "メイリオ", sans-serif;
	font-size: 16px; line-height: 1.7; font-weight: 500;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
@media screen and (max-width: 640px) {
	html,body,p,div{ font-size: 14px; }
}

.spt5{ margin-top: 5px; }
.spt10{ margin-top: 10px; }
.spt15{ margin-top: 15px; }
.spt20{ margin-top: 20px; }
.spt25{ margin-top: 25px; }
.spt30{ margin-top: 30px; }
.spt35{ margin-top: 35px; }
.spt40{ margin-top: 40px; }
.spt45{ margin-top: 45px; }
.spt50{ margin-top: 50px; }
.spt60{ margin-top: 60px; }
.spt70{ margin-top: 70px; }
.spt80{ margin-top: 80px; }
.spt90{ margin-top: 90px; }
.spt100{ margin-top: 100px; }
.spt110{ margin-top: 110px; }
.spt120{ margin-top: 120px; }
.spt130{ margin-top: 130px; }
.spt140{ margin-top: 140px; }
.spt150{ margin-top: 150px; }
.txt-left{ text-align: left; }
.txt-center{ text-align: center; }
.txt-right{ text-align: right; }
.sw-elm .pc,.sw-elm .sp{ display: none; }
.sw-elm .pc{ display: block; }
.sw-elm img.pc{ display: inline; }
.s-size{ font-size: 80%; }

@media screen and (max-width: 767.5px) {
	.spt5{ margin-top: 0.65%; }
	.spt10{ margin-top: 1.3%; }
	.spt15{ margin-top: 1.95%; }
	.spt20{ margin-top: 2.6%; }
	.spt25{ margin-top: 3.26%; }
	.spt30{ margin-top: 3.91%; }
	.spt35{ margin-top: 4.56%; }
	.spt40{ margin-top: 5.21%; }
	.spt45{ margin-top: 5.86%; }
	.spt50{ margin-top: 6.51%; }
	.spt60{ margin-top: 7.81%; }
	.spt70{ margin-top: 9.11%; }
	.spt80{ margin-top: 10.42%; }
	.spt90{ margin-top: 11.72%; }
	.spt100{ margin-top: 13.02%; }
	.spt110{ margin-top: 14.32%; }
	.spt120{ margin-top: 15.63%; }
	.spt130{ margin-top: 16.93%; }
	.spt140{ margin-top: 18.23%; }
	.spt150{ margin-top: 19.53%; }
	.sw-elm .pc,.sw-elm img.pc{ display: none; }
	.sw-elm .sp{ display: block; }
	.sw-elm img.sp{ display: inline; }
}




/*initialize*/
/*-------------------------------------------------------*/
#wrapper .defs{ height: 0; overflow: hidden; }
#wrapper{ border-top: 1px solid transparent; background-color: #ffffff; overflow: hidden; }
#header{ max-width: 1800px; width: 100%; margin: 0 auto; padding: 60px 5%; display: flex; display: -ms-flex; justify-content: space-between; align-items: center; box-sizing: border-box; }
#header .logo{ max-width: 381px; width: 100%; }
#header .menu-body{ flex: 1; }
#header .primary-navi{ display: flex; display: -ms-flex; flex-wrap: wrap; justify-content: flex-end; }
#header .primary-navi .navi{ margin: 5px; }
#header .primary-navi .navi02{ display: none; }
#header .primary-navi .navi a{ font-size: 20px; line-height: 1.5; color: #e50012; text-decoration: none; border: 2px solid #e50012; background-color: #ffffff; padding: 0 10px; display: block; border-radius: 10px; font-weight: bold; }
#header .primary-navi .navi a .inner-body{ height: 50px; display: flex; display: -ms-flex; align-items: center; justify-content: center; }
#header .primary-navi .navi a .icon{ display: inline-block; vertical-align: middle; line-height: 0; }
#header .primary-navi .navi a .word{ display: inline-block; vertical-align: middle; }
#header .primary-navi .navi a .sw-br{ display: none; }
#footer{ padding-top: 170px; position: relative; }
#footer .footer-navi{ background-color: #000000; padding: 18px 0; }
#footer .footer-navi .navi-list{ display: -ms-flex; display: flex; justify-content: center; flex-wrap: wrap; margin: 0 auto; }
#footer .footer-navi .navi-list .navi{ margin: 0 1em; }
#footer .footer-navi .navi-list .navi a{ color: #ffffff; text-decoration: none; display: block; position: relative;padding-left: 1.5em; }
#footer .footer-navi .navi-list .navi a::before{ content: ''; position: absolute; left: 0; top: 50%; width: 7px; height: 7px; border: solid #ffffff; border-width: 1px 1px 0 0; transform: rotate(45deg) translateY(-50%); }
#footer .kintetsu-logo{ margin-top: 20px; text-align: center; }
#footer .kintetsu-logo a{ display: block; max-width: 155px; margin: 0 auto; }
#footer .copyright{ font-size: 12px; margin: 0 auto; padding: 10px 0 60px; color: #666666; text-align: center; }

@media screen and (max-width: 1500px) {
	#header{ padding: 30px 5%; }
}
@media screen and (max-width: 1200px) {
	#header .logo{ width: 31.75%; }
	#header .primary-navi .navi a{ font-size: 16px; }
}
@media screen and (max-width: 900px) {
	#header{ position: relative; display: block; padding: 3% 5%; z-index: 1000; }
	#header .logo{ width: 50%; }
	#header .menu-btn{ position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 8%; padding-top: 8%; background: url(../image/common/menu.png) center 0 no-repeat; background-size: 100% auto; margin-right: 5%; cursor: pointer; }
	#header .menu-btn.active{ background-position: center bottom; }
	#header .menu-body{ display: block; position: absolute; right: 0; top: 100%; background-color: #f9e5e5; width: 100%; opacity: 0; pointer-events: none; transition: opacity 0.5s; }
	#header .menu-btn.active~.menu-body{ opacity: 1; pointer-events: auto; }
	#header .primary-navi{ display: block; padding: 3% 5%; box-sizing: border-box; }
	#header .primary-navi .navi{ margin: 0; }
	#header .primary-navi .navi02{ display: block; }
	#header .primary-navi .navi:nth-child(n+2){ margin-top: 2%; }
	#header .primary-navi .navi a{ font-size: 3.4vw; border-radius: 2vw; padding: 2% 0; }
	#header .primary-navi .navi a .inner-body{ height: auto; display: block; text-align: center; }
	#header .primary-navi .navi a .icon{ max-width: 8.9902vw; }
	#header .primary-navi .navi a .icon{ max-width: 15.2442vw; }
	#header .primary-navi .navi a .icon{ max-width: 7.4267vw; }
}
@media screen and (max-width: 767.5px) {
	#header .logo{ width: 60%; }
	#header .menu-btn{ width: 10%; padding-top: 10%; }
	#footer{ padding-top: 15%; }
	#footer .footer-navi{ padding: 0; margin-top: 5%; }
	#footer .footer-navi .navi-list{ flex-wrap: wrap; width: auto; justify-content: flex-start; }
	#footer .footer-navi .navi-list .navi{ width: 50%; }
	#footer .footer-navi .navi-list .navi:nth-child(n){ margin: 0; }
	#footer .footer-navi .navi-list .navi:nth-child(even){ border-left: 1px solid #ffffff; margin-left: -1px; }
	#footer .footer-navi .navi-list .navi:nth-child(n+3){ margin-top: -1px; border-top: 1px solid #ffffff; }
	#footer .footer-navi .navi-list .navi a{ padding: 10px 15px 10px 10px; }
	#footer .footer-navi .navi-list .navi a::before{ left: auto; right: 10px; }
	#footer .copyright{ width: auto; padding: 5%; }
}






.js-inview{ opacity: 0; }
.js-inview.show{ opacity: 1; transition: ease-in 1s; }




