@charset "UTF-8";
/******************************* Preface ***************************************/
a:hover { color: #E50012; }

/********************************* body ***************************************/
/********************************* body ***************************************/
body { /******************************** header **************************************/ /***********************************  footer ********************************/ }

body header { position: relative; z-index: 999; }

body header.shadow_none { box-shadow: none !important; }

body header.header_type2 { box-shadow: rgba(0, 0, 0, 0.1) 0px 10px 15px -3px, rgba(0, 0, 0, 0.05) 0px 4px 6px -2px; position: fixed; width: 100%; top: 0; background: #ffffff; }

body header.header_type2.scrolled { background-color: rgba(255, 255, 255, 0.7); transition: all linear .1s; }

body header.header_type2 .inner { position: relative; max-width: 1400px; margin: 0 auto; padding: 1rem 1rem; }

body header.header_type2 .inner .f-warp { display: flex; align-items: center; justify-content: space-between; }

body header.header_type2 .inner .f-warp .logo_area { display: flex; align-items: center; }

body header.header_type2 .inner .f-warp .logo_area .jr_logo { width: 85px; border-right: solid 1px #999; margin-right: 1.7rem; padding-right: 1.8rem; }

body header.header_type2 .inner .f-warp .logo_area .hayabin_logo { width: 105px; }

body header.header_type2 .inner .f-warp .logo_area .header_btn { margin-left: 1.6rem; }

body header.header_type2 .inner .f-warp .logo_area .header_btn a { font-size: .95rem; font-weight: bold; padding-bottom: 3px; /* テキストと下線の間隔 */ background-image: linear-gradient(#E50012, #E50012); background-repeat: no-repeat; background-position: bottom right; background-size: 0 1px; transition: background-size 0.3s; }

body header.header_type2 .inner .f-warp .logo_area .header_btn a:hover { background-position: bottom left; /* 下線のホバー時位置 */ background-size: 100% 1px; /* 下線の横幅を100%にする */ }

body header.header_type2 .inner .f-warp .logo_area .header_btn a.active { color: #E50012; background-size: 100% 1px; /* 下線の横幅を100%にする */ }

body header.header_type2 .inner .funa2_nav { display: flex; }

body header.header_type2 .inner .funa2_nav a { display: block; font-weight: bold; transition: .3s; margin-left: 2rem; padding-bottom: 3px; /* テキストと下線の間隔 */ background-image: linear-gradient(#E50012, #E50012); background-repeat: no-repeat; background-position: bottom right; background-size: 0 1px; transition: background-size 0.3s; }

body header.header_type2 .inner .funa2_nav a:hover { background-position: bottom left; /* 下線のホバー時位置 */ background-size: 100% 1px; /* 下線の横幅を100%にする */ }

body header.header_type2 .inner .menu-wrapper { display: none; }

body footer.footer { background: #222; padding: 1.5rem; }

body footer.footer .inner { max-width: 1400px; margin: 0 auto; display: flex; justify-content: space-between; align-items: center; }

body footer.footer .inner .copyright { font-size: .9rem; color: #fff; letter-spacing: .2rem; }

body footer.footer .inner .left { display: flex; align-items: center; }

body footer.footer .inner .left .jr_logo { max-width: 32%; margin-right: 3rem; }

body footer.footer .inner .left .f-link a { color: #fff; font-size: .9rem; }

body footer.footer.footer-top { padding: 1rem 1.5rem; background: #fff; }

body footer.footer.footer-top .copyright { color: #222; }

body footer.footer.footer-top .footer_news a { font-size: .9rem; font-weight: 500; }

body footer.footer.footer-top .footer_news a .data { margin-right: 1rem; }

body footer.footer.footer-top .footer_news a i { margin-left: 1rem; }

#page-top { display: none; position: fixed; bottom: 50px; right: 50px; transition: opacity 0.5s ease-in-out; }

/*リンクの形状*/
#page-top a { display: flex; justify-content: center; align-items: center; background-color: #ffffff; border-radius: 100rem; width: 65px; height: 65px; text-transform: uppercase; text-decoration: none; font-size: 1.6rem; line-height: 2; transition: all 0.3s; font-weight: bold; padding-bottom: .4rem; border: solid 1px #222; }

#page-top a:hover { background: #E50012; color: #fff; border: solid 1px #E50012; }

/*リンクを右下に固定*/
#page-top { position: fixed; right: 40px; bottom: 80px; z-index: 2; opacity: 0; transform: translateY(100px); }

/*　上に上がる動き　*/
#page-top.UpMove { animation: UpAnime 0.5s forwards; }

@keyframes UpAnime { from { opacity: 0;
				transform: translateY(80px); }
		to { opacity: 1;
				transform: translateY(0); } }

/*　下に下がる動き　*/
#page-top.DownMove { animation: DownAnime 0.5s forwards; }

@keyframes DownAnime { from { opacity: 1;
				transform: translateY(0); }
		to { opacity: 1;
				transform: translateY(100px); } }
