@charset "UTF-8";
/*

	index.html

*/
/*------------------------------------------
	ページreload時
------------------------------------------*/
.topVisualSlider, .nav, .scroll, .newsBox { opacity: 0; }

.topVisualTxt { top: -100%; }
.topVisualTxt .imgTxt { top: -100%;  }

.headerLogo { opacity: 0; left: -100%; position: relative; }

/*------------------------------------------
	footNav
------------------------------------------*/
@media screen and (max-width: 767px) { .footNav .list .item { float: none; width: 100%; } }
/*------------------------------------------
	topVisual
------------------------------------------*/
.topVisual { height: 300px !important; height: 100vh !important; position: relative; }
.topVisual .topVisualSlider li { position: relative; width: 100%; height: 100%; text-align: center; transform: translate3d(0, 0, 0); }
.topVisual .topVisualSlider li img { max-width: inherit; }
.topVisual .scroll { width: 60px; color: #fff; text-align: center; font-size: 12px; position: absolute; z-index: 10; left: 0; right: 0; bottom: 80px; margin: auto; }
.topVisual .scroll:before { content: ""; display: block; background: url(../img/ico/ico_arrow01.png) no-repeat center; background-size: contain; width: 26px; height: 15px; position: absolute; left: 0; right: 0; bottom: -30px; margin: auto; -webkit-animation: move01 2s infinite; animation: move01 2s infinite; }
@-webkit-keyframes move01 { 0% { bottom: -30px; opacity: 0; }
  40% { opacity: 1; }
  90% { bottom: -60px; }
  100% { opacity: 0; } }
@keyframes move01 { 0% { bottom: -30px; opacity: 0; }
  40% { opacity: 1; }
  90% { bottom: -60px; }
  100% { opacity: 0; } }
.topVisual .newsBox { width: 46%; max-width: 850px; position: absolute; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.3); border: 1px solid #fff; border-right: none; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
.topVisual .newsBox .newsBoxIn { display: table; width: 100%; }
.topVisual .newsBox .newsBoxIn > * { color: #fff; display: table-cell; font-size: 14px; vertical-align: middle; padding: 23px 12px; }
.topVisual .newsBox .ttl { min-width: 90px; text-align: center; border-right: 1px solid #fff; }
.topVisual .newsBox .txt { overflow: hidden; }
.topVisual .newsBox .txt .btn { float: right; margin-top: 3px; }
@media screen and (max-width: 767px) { .topVisual .scroll { font-size: 10px; bottom: 120px; }
  .topVisual .scroll:before { width: 13px; height: 8px; }
  @-webkit-keyframes move01 { 0% { bottom: -10px; opacity: 0; }
    40% { opacity: 1; }
    90% { bottom: -25px; }
    100% { opacity: 0; } }
  @keyframes move01 { 0% { bottom: -10px; opacity: 0; }
    40% { opacity: 1; }
    90% { bottom: -25px; }
    100% { opacity: 0; } }
  .topVisual .newsBox { width: 100%; border-left: none; -webkit-transition: all 0.3s ease-in-out; -moz-transition: all 0.3s ease-in-out; -o-transition: all 0.3s ease-in-out; transition: all 0.3s ease-in-out; }
  .topVisual .newsBox .newsBoxIn > * { font-size: 12px; padding: 7px; }
  .topVisual .newsBox .ttl { /*min-width: 100%;*/ width: 70px; }
  .topVisual .newsBox .txt .btn { font-size: 10px !important; margin-top: 1px; } }

/*	topVisualTxt
---------------------------*/
.topVisualTxt { position: absolute; left: 0; width: 100%; height: 100%; background: url(../img/bg/bg_home_mv.png) no-repeat left top; background-size: auto 100%; background-attachment: fixed; }
.topVisualTxt .imgTxt { display: block; position: absolute; left: 0; right: 0; margin: auto; 
  /*max-width: 80%; max-height: 75%;*/
  max-width: 800px;
  width: 60%;
  height: auto;
}
.ipad .topVisualTxt { background-attachment: scroll; }
@media screen and (max-width: 767px) { 
  
  .topVisualTxt .imgTxt { 
    max-width: 80%;
    width: 80%;
  }
  
  
  .topVisualTxt { background-position: center top; background-attachment: scroll; } }

/*------------------------------------------
	homeBox01
------------------------------------------*/
.homeBox01 .logo { text-align: center; margin-bottom: 75px; position: relative; }
.homeBox01 .logo img { width: 700px; height: 189px; }
.homeBox01 .logo:before { content: ""; display: block; width: 100px; height: 2px; background: #0058A2; position: absolute; left: 0; right: 0; margin: auto; bottom: -50px; }
.homeBox01 .txt { text-align: center; font-size: 16px; line-height: 2.4; letter-spacing: 3px; }
@media screen and (max-width: 767px) { .homeBox01 { padding: 30px 0; }
  .homeBox01 .logo img { width: 90%; height: auto; }
  .homeBox01 .logo:before { bottom: -40px; }
  .homeBox01 .txt { line-height: 2; letter-spacing: 1px; } }

/*------------------------------------------
	homeBox02
------------------------------------------*/
.homeBox02 { padding: 45px; }
.homeBox02 .homeBox02In { padding: 40px 0; border: 1px solid #fff; }
.homeBox02 .constructionRecordBoxInner { padding: 0 20px 130px; overflow: hidden; }
.homeBox02 .constructionRecordBox { margin: 0 15px !important; }
.homeBox02 .btn { margin-top: -45px; position: relative; z-index: 100; }
@media screen and (max-width: 767px) { .homeBox02 { padding: 15px; }
  .homeBox02 .homeBox02In { padding: 15px 0; }
  .homeBox02 .constructionRecordBoxInner { padding: 0 0 50px; }
  .homeBox02 .btn { margin-top: 10px; } }

/*------------------------------------------
	homeBox03
------------------------------------------*/
.homeBox03 { border-bottom: 1px solid #C8C8C8; }
.homeBox03 .infoArchiveWrap { margin-bottom: 15px; }
.homeBox03 .infoArchive { width: 49.2%; float: left; }
.homeBox03 .infoArchive:nth-of-type(even) { float: right; }
@media screen and (max-width: 767px) { .homeBox03 .infoArchiveWrap { margin-bottom: 20px; }
  .homeBox03 .infoArchive { width: 100%; float: none !important; } }

/*------------------------------------------
	homeBox04
------------------------------------------*/
.homeBox04 { padding: 45px 15px 50px; }
.homeBox04 .homeBox04In { max-width: 1760px; }
@media screen and (max-width: 767px) { .homeBox04 { padding: 30px 10px; } }

/*	faqArchive
---------------------------*/
.faqArchiveWrap { margin-bottom: 35px; }
@media screen and (max-width: 767px) { .faqArchiveWrap { margin-bottom: 20px; } }

.faqArchive { width: 32%; float: left; margin: 0 2% 0 0; }
.faqArchive:nth-of-type(3n) { margin-right: 0; }
.faqArchive a { display: block; }
.faqArchive .txtBox { margin-bottom: 10px; }
.faqArchive .txtBox .ttl { text-align: center; font-weight: bold; font-size: 20px; }
.faqArchive .txtBox .sub { text-align: center; margin-bottom: 10px; }
.faqArchive .txtBox .txt { font-size: 13px; }
.faqArchive .imgBox { height: 380px; }
@media screen and (max-width: 767px) { .faqArchive { width: 100%; float: none; margin: 0 auto 30px !important; }
  .faqArchive:last-of-type { margin-bottom: 0 !important; }
  .faqArchive .txtBox .ttl { font-size: 18px; }
  .faqArchive .imgBox { height: 280px; height: 45vw; } }

/*# sourceMappingURL=home.css.map */
