@charset "UTF-8";

/* CSS Document */
#container { padding-top: 80px; }
a.arBt { position: relative; }
a.arBt::before { content: ''; display: block; position: absolute; left: 50%; bottom: 50%; -webkit-transform: translateY(5%); transform: translateY(5%); -webkit-transition: width 0.25s ease; transition: width 0.25s ease; }

/*=============================
main
=============================*/
#main { height: auto !important; }
#main .copyArea { position: relative; height: calc(100vh - 80px - 95px) !important; min-height: 525px !important; width: 100%; overflow: hidden; }
#main .copyArea::before { content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.2); z-index: 1; }
#main .copyArea video.movieBg { position: absolute; top: 50%; left: 50%; min-width: 100%; min-height: 100%; -webkit-transform: translate(-50%, -50%); transform: translate(-50%, -50%); z-index: 0; }
#main .copyArea .inner { width: 100%; position: absolute; top: 50%; z-index: 2; margin-top: -0.4rem; }
@media only screen and (max-height:750px) {
	#main .copyArea .inner { -webkit-transform: translateY(-50%); transform: translateY(-50%); margin-top: 0; }
}
#main .copyArea .inner .copy { text-align: center; font-size: 0.82rem; font-weight: bold; letter-spacing: 0.05em; color: #FFF; margin-bottom: 80px; }
#main .copyArea .inner ul.btArea { -js-display: flex; display: -webkit-flex; display: flex; -webkit-box-pack: center; justify-content: center; margin-bottom: 80px; }
#main .copyArea .inner ul.btArea li { margin: 0 10px; height: 40px; }
#main .copyArea .inner ul.btArea li a { display: block; height: 100%; font-size: 0.2rem; color: #FFF; text-decoration: none; padding: 0 15px; position: relative; }
#main .copyArea .inner ul.btArea li a::before { content: ''; display: block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; border: 2px solid #FFF; -webkit-transition: border 0.1s linear; transition: border 0.1s linear; }
#main .copyArea .inner ul.btArea li a.on::before { border: 5px solid #FFF; -webkit-transition: border 0.1s linear; transition: border 0.1s linear; }
#main .copyArea .inner .logo { width: 155px; margin-left: auto; margin-right: auto; border-bottom: 1px solid #FFF; padding-bottom: 15px; }
#main .copyArea .inner .logo img { display: block; margin-left: auto; margin-right: auto; width: 100%; height: auto; }
#main #news { height: 95px !important; background: #e3e3e3; position: relative; }
#main #news .inner { width: 850px; margin-left: auto; margin-right: auto; position: relative; top: 50%; -webkit-transform: translateY(-50%); transform: translateY(-50%); -js-display: flex; display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; }
#main #news .inner .icon { -ms-flex-preferred-size: 105px; flex-basis: 105px; background: #2ec448; text-align: center; padding: 8px 0; margin-right: 20px; }
#main #news .inner .icon img { height: 13px; width: auto; }
#main #news .newsList { -ms-flex-preferred-size: 640px; flex-basis: 640px; }
#main #news .newsList li:not(:last-child) { margin-bottom: 10px; }
#main #news .newsList li a { color: #2ec448; font-size: 0.15rem; font-weight: bold; -js-display: flex; display: -webkit-flex; display: flex; line-height: 1.5; text-decoration: none; }
#main #news .newsList li a p.data { -ms-flex-preferred-size: 105px; flex-basis: 105px; }
#main #news .newsList li a p.txt { padding-right: 45px; -ms-flex-preferred-size: 515px; flex-basis: 515px; }
#main #news .inner .bt_archive { -ms-flex-preferred-size: 105px; flex-basis: 105px; height: 23px; }
#main #news .inner .bt_archive a { display: block; height: 100%; border: 1px solid #000; position: relative; }
#main #news .inner .bt_archive a.arBt::before { margin-left: 10px; width: 30px; height: 5px; background: url(../img/bt_arrow_b.svg) no-repeat bottom right/auto 100%; }
#main #news .inner .bt_archive a.arBt.on::before { width: 35px; }
#main #news .inner .bt_archive a img { height: 11px; width: auto; margin-left: 10px; }
section .tit span { display: inline-block; border-bottom: 2px solid #000; padding-bottom: 8px; }
section .tit img { height: 16px; width: auto; }

/*=============================
message
=============================*/
#message { width: 1025px; margin-left: auto; margin-right: auto; padding: 55px 0 90px; background: url(../img/top/message_ph01.jpg) no-repeat top 105px left; position: relative; }
#message .txtArea { width: 50%; position: relative; left: 50%; margin-bottom: 190px; }
#message .txtArea .tit { margin-bottom: 75px; }
#message .txtArea .copy { font-size: 0.38rem; letter-spacing: 0.05em; font-weight: bold; margin-bottom: 20px; }
#message .txtArea .txt { font-size: 0.16rem; letter-spacing: 0.1em; line-height: 2.25; margin-bottom: 30px; }
#message .txtArea .bt_more { text-align: right; padding-right: 35px; }
#message .txtArea .bt_more a { display: inline-block; width: 180px; height: 60px; background: #2ec448; position: relative; text-align: left }
#message .txtArea .bt_more a img { height: 12px; width: auto; margin-left: 18px; }
#message .txtArea .bt_more a.arBt::before { margin-left: 35px; width: 35px; height: 10px; background: url(../img/bt_arrow_w.svg) no-repeat bottom right/auto 100%; }
#message .txtArea .bt_more a.arBt.on::before { width: 45px; }
#message #syakun { width: 480px; margin-left: auto; margin-right: auto; -js-display: flex; display: -webkit-flex; display: flex; -webkit-box-align: center; align-items: center; margin-bottom: 65px; }
#message #syakun li:first-child { -ms-flex-preferred-size: 90px; flex-basis: 90px; height: 50px; background: #000; text-align: center; font-size: 0.22rem; color: #FFF; }
#message #syakun li:last-child { padding-left: 15px; font-size: 0.2rem; line-height: 1.35; }
#message .btList { -js-display: flex; display: -webkit-flex; display: flex; -webkit-box-pack: center; justify-content: center; }
#message .btList li { width: 375px; height: 75px; margin: 0 17.5px; }
#message .btList li a { display: block; height: 100%; position: relative; border: 4px solid #000; font-size: 0.32rem; font-weight: bold; color: #000; text-align: center; }
#message .btList li a.arBt::before { margin-left: 105px; width: 55px; height: 8px; background: url(../img/bt_arrow_b.svg) no-repeat bottom right/auto 100%; }
#message .btList li a.arBt.on::before { width: 65px; }

/*=============================
works
=============================*/
#works { width: 1025px; min-height: 450px; margin-left: auto; margin-right: auto; padding: 75px 0 130px; position: relative; margin-bottom: 65px; }
#works .txtArea { width: 50%; position: relative; left: 0; padding-left: 40px; }
#works iframe { position: absolute; top: 104px; right: 0; width: 540px; height: 347px; }
#works .full_btn { position: absolute; top: 470px; right: 0; width: 540px; display: flex; flex-wrap: wrap; justify-content: space-between; }
#works .full_btn a { width: 260px; display: block; border: 4px solid #2dc448; font-size: 16px; text-align: center; padding: 13px 0; font-weight: bold; color: #2dc448; }
#works .txtArea .tit { margin-bottom: 35px; }
#works .txtArea .copy { font-size: 0.38rem; letter-spacing: 0.05em; font-weight: bold; margin-bottom: 20px; }
#works .txtArea .txt { font-size: 0.16rem; letter-spacing: 0.1em; line-height: 2.25; margin-bottom: 30px; }
#works .txtArea .bt_more .flex {
	display:flex ;
}
#works .txtArea .bt_more { text-align: right; padding-right: 75px; }
#works .txtArea .bt_more a { display: inline-block; width: 180px; height: 60px; background: #2ec448; position: relative; text-align: left }
#works .txtArea .bt_more a img { height: 12px; width: auto; margin-left: 18px; }
#works .txtArea .bt_more a.arBt::before { margin-left: 35px; width: 35px; height: 10px; background: url(../img/bt_arrow_w.svg) no-repeat bottom right/auto 100%; }
#works .txtArea .bt_more a.arBt.on::before { width: 45px; }
#works .flex { display: flex; flex-wrap: wrap; justify-content: space-between; }
#works .flex .bt_recruit a { width: 180px; display: block; border: 4px solid #2dc448; font-size: 16px; text-align: center; padding: 18px 0; font-weight: bold; color: #2dc448; }
