@charset "utf-8";
/* CSS Document */

@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: normal;
  font-weight: 400;
  src:url(../font/NotoSansCJKjp-Regular.otf) format('opentype'),
    url(../font/NotoSansCJKjp-Regular.ttf)  format('truetype'),
    url(../font/NotoSansCJKjp-Regular.woff) format('woff'),
    url(../font/NotoSansCJKjp-Regular.eot) format('eot');
}
@font-face {
  font-family: 'Noto Sans Japanese';
  font-style: bold;
  font-weight: 700;
  src:url(../font/NotoSansCJKjp-Bold.otf) format('opentype'),
    url(../font/NotoSansCJKjp-Bold.ttf)  format('truetype'),
    url(../font/NotoSansCJKjp-Bold.woff) format('woff'),
    url(../font/NotoSansCJKjp-Bold.eot) format('eot');
}
body{
  font-family:'Noto Sans Japanese';
  line-height: 1.5;/*android用*/
  -webkit-text-size-adjust: 100%;
}
body.open{
  height: 100%;
  overflow: hidden;
}
a{
  text-decoration: none;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}

.brt_wrap{
  width: 1312px;
  margin: auto;
  padding: 0 16px;
}
.brt_innerwrap{
  max-width: 1092px;
  margin: auto;
  padding: 0 16px;
}
.brt_br{display: block;}
input{-webkit-tap-highlight-color:rgba(0,0,0,0);}
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
  -webkit-appearance: none;
  margin: 0;
  border-radius: 0;
}
input[type="number"] {-moz-appearance:textfield;}
input,
button,
select,
textarea{
  font-family: "Noto Sans Japanese", "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック", "MS PGothic", "sans-serif";
  font-size: 1rem;
  -webkit-tap-highlight-color:rgba(0,0,0,0);
}
a:focus,
input:focus,
button:focus,
textarea:focus,
select:focus{
  -webkit-tap-highlight-color:rgba(0,0,0,0);
  outline: 0;
}

@keyframes bganim{
  0%{background-color: #3B7BCA;}
  15%{background-color: #3B7BCA;}
  20%{background-color: #E9635D;}
  35%{background-color: #E9635D;}
  40%{background-color: #68A13A;}
  55%{background-color: #68A13A;}
  60%{background-color: #E8C82F;}
  75%{background-color: #E8C82F;}
  80%{background-color: #01A2C2;}
  95%{background-color: #01A2C2;}
  100%{background-color: #3B7BCA;}
}
@keyframes txtanim{
  0%{color: #3B7BCA;}
  15%{color: #3B7BCA;}
  20%{color: #E9635D;}
  35%{color: #E9635D;}
  40%{color: #68A13A;}
  55%{color: #68A13A;}
  60%{color: #E8C82F;}
  75%{color: #E8C82F;}
  80%{color: #01A2C2;}
  95%{color: #01A2C2;}
  100%{color: #3B7BCA;}
}
@keyframes bodranim{
  0%{border-color: #3B7BCA;}
  15%{border-color: #3B7BCA;}
  20%{border-color: #E9635D;}
  35%{border-color: #E9635D;}
  40%{border-color: #68A13A;}
  55%{border-color: #68A13A;}
  60%{border-color: #E8C82F;}
  75%{border-color: #E8C82F;}
  80%{border-color: #01A2C2;}
  95%{border-color: #01A2C2;}
  100%{border-color: #3B7BCA;}
}

.brt_bganim{animation: bganim 20s linear infinite;}
.brt_txtanim{animation: txtanim 20s linear infinite;}
.brt_bordranim{animation: bodranim 20s linear infinite;}


.brt_maskanim{position: relative;}
.brt_maskanim::after{
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 100%;
  right: 0;
  top: 0;
  background-color: #FFFFFF;
  transition: all 0.3s cubic-bezier(.65,.05,.36,1);
}
.brt_maskanim.active::after{width: 0;}

.brt_fadeanim{
  transition: all 1s ease-out;
  transform: translateY(10px);
  opacity: 0;
}
.brt_fadeanim.active{
  transform: none;
  opacity: 1;
}

/*---------------------*/
/*-------------------------------------------------------*/

/*header*/
.brt_header{
  position: fixed;
  display: flex;
  align-items: center;
  width: 100%;
  height: 100px;
  left: 0;
  top: 0;
  background-color: rgba(255,255,255,0.5);
  z-index: 100;
  transition: all 0.25s linear;
}
.brt_header .brt_wrap{
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.brt_header p a,
.brt_header h1 a{transition: all 0.1s linear;}
.brt_header p a img:nth-of-type(2){display: none;}
.brt_sp{display: none;}
.brt_header .brt_wrap ul{display: flex;}
.brt_header .brt_wrap ul li a{
  display: inline-block;
  padding: 5px 16px;
  font-family: 'Oswald';
  color: #212121;
  transition:  all 0.25s linear;
}

.brt_spmenubtn{
  display: none;
  align-items: center;
  justify-content: center;
  width: 50px;
  height: 50px;
  text-align: center;
  font-size: 0.625rem;
  color: #1C295D;
  border-radius: 100%;
  border: 1px solid #1C295D;
}
.brt_spmenubtn::before{
  content: "Menu";
  display: block;
}
.brt_spmenubtn.active::before{content: "Close";}

.brt_spmenu{
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 100%;
  padding: 110px 0 40px;
  background-color: #FFFFFF;
  opacity: 0;
  visibility: hidden;
  transition: all 0.25s linear;
  z-index: 90;
}
.brt_spmenu.active{
  left: 0;
  opacity: 1;
  visibility: visible;
}
.brt_spmenu ul{padding: 0 18px;}
.brt_spmenu ul li{margin-bottom: 24px;}
.brt_spmenu ul li a{
  display: block;
  font-family: Oswald;
  font-weight: bold;
  font-size: 1.5rem;
  color: #1C295D;
  opacity: 0;
  transform-origin: bottom;
  transform: rotateX(45deg) translateY(24px);
}
.brt_spmenu ul li a span{
  display: inline-block;
  margin-left: 8px;
  font-size: 0.625rem;
  vertical-align: baseline;
}
.brt_spmenu.active ul li a{
  opacity: 1;
  transform-origin: top;
  transform: rotateX(0) translateY(0);
}
.brt_spmenu.active ul li:nth-of-type(1) a{transition: all 0.5s ease-in-out 0.25s;}
.brt_spmenu.active ul li:nth-of-type(2) a{transition: all 0.5s ease-in-out 0.27s;}
.brt_spmenu.active ul li:nth-of-type(3) a{transition: all 0.5s ease-in-out 0.31s;}
.brt_spmenu.active ul li:nth-of-type(4) a{transition: all 0.5s ease-in-out 0.33s;}
.brt_spmenu.active ul li:nth-of-type(5) a{transition: all 0.5s ease-in-out 0.35s;}
.brt_spmenu.active ul li:nth-of-type(6) a{transition: all 0.5s ease-in-out 0.37s;}
.brt_slideanim{
  height: 78px;
  background-color: #EBEBEB;
  overflow: hidden;
}
.brt_slideanim div{
  width: 1068px;
  animation: moveleft 10s linear infinite;
}
@keyframes moveleft{
  0%{transform: translateX(0);}
  100%{transform: translateX(-534px);}
}
.brt_slideanim p{
  width: 534px;
  font-family: Oswald;
  font-weight: bold;
  font-size: 4.25rem;
  color: transparent;
  color: #EBEBEB;
  text-shadow: 1px 1px 0 #FFFFFF, 0 1px 0 #FFFFFF, -1px 1px 0 #FFFFFF, -1px 0 0 #FFFFFF, -1px -1px 0 #FFFFFF, 0 -1px 0 #FFFFFF, 1px -1px 0 #FFFFFF, 1px 0 0 #FFFFFF;
  float: left;
  transform: translateY(-8px);
}
.brt_spmncom{padding: 28px 18px 0;}
.brt_spmncom h2{
  margin-bottom: 10px;
  font-size: 1.375rem;
  font-weight: bold;
  color: #212121;
  opacity: 0;
  transform-origin: bottom;
  transform: rotateX(45deg) translateY(24px);
}
.brt_spmncom p{
  font-size: 0.75rem;
  color: #212121;
  opacity: 0;
  transform-origin: bottom;
  transform: rotateX(45deg) translateY(24px);
}
.brt_spmenu.active .brt_spmncom h2{
  opacity: 1;
  transform-origin: top;
  transform: rotateX(0) translateY(0);
  transition: all 0.5s ease-in-out 0.4s;
}
.brt_spmenu.active .brt_spmncom p{
  opacity: 1;
  transform-origin: top;
  transform: rotateX(0) translateY(0);
  transition: all 0.5s ease-in-out 0.42s;
}
.brt_spmncom p a{color: #212121;}





/*body*/
.brt_top{padding: 180px 0 120px;}
.brt_top p{
  margin-bottom: 8px;
  font-family: Oswald;
  font-weight: bold;
  font-size: 5rem;
  color: #212121;
}
.brt_top h1{
  font-size: 1.25rem;
  font-weight: bold;
  color: #212121;
}


.brt_contacthead{height: 48px;}
.brt_contacthead.brt_maskanim::after{transition: all 0.3s cubic-bezier(.65,.05,.36,1);}

.brt_contactbox{
  padding: 40px 0 40px;
  text-align: center;
}

.brt_pmark{
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: left;
}
.brt_pmark img{margin-right: 32px;}
.brt_pmark span{
  font-size: 0.875rem;
  color: #333333;
}



.brt_gotop{
  position: fixed;
  display: none;
  right: 35px;
  bottom: 35px;
  z-index: 1000;
}
.brt_gotop a{
  position: relative;
  display: block;
  width: 50px;
  height: 50px;
  border-radius: 100%;
  background-color: rgba(0,0,0,.5);
  box-shadow: 2px 2px 4px 0 rgba(0,0,0,0.5);
  transition: all 0.2s linear;
}
.brt_gotop a span{
  position: absolute;
  display: block;
  width: 15px;
  height: 15px;
  top: 20px;
  left: 18px;
  border-top: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  transform: rotate(-45deg);
}





.brt_404txt{
  display: block;
  margin: 40px 0;
}
.brt_404txt a{
  display: block;
  width: 400px;
  margin: 24px 0;
}





/*footer*/
.brt_footer{
  padding: 56px 0 72px;
  background-color: #181818;
}
.brt_footer .brt_innerwrap{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.brt_footer .brt_innerwrap:first-of-type{
  padding-bottom: 36px;
  margin-bottom: 20px;
  border-bottom: 1px solid #FAFAFA;
}
.brt_comname{
  font-size: 1.375rem;
  font-weight: bold;
  color: #FAFAFA;
}
.brt_comname p{margin-bottom: 12px;}
.brt_comname span{
  display: block;
  font-size: 0.75rem;
}
.brt_footernavi{display: flex;}
.brt_footernavi p{margin-bottom: 24px;}
.brt_footernavi p a{
  display: inline-block;
  padding: 3px;
  font-family: 'Oswald';
  font-weight: bold;
  font-size: 1.125rem;
  color: #FAFAFA;
  transition: all 0.25s linear;
}
.brt_footernavi ul{
  padding-left: 12px;
  padding-right: 50px;
  border-left: 1px solid #FAFAFA;
}
.brt_footernavi ul li{margin-bottom: 12px;}
.brt_footernavi ul li:last-of-type{margin-bottom: 0;}
.brt_footernavi ul li a{
  font-size: 0.875rem;
  color: #FAFAFA;
  transition: all 0.25s linear;
}

.brt_cprt{
  font-size: 0.75rem;
  font-weight: bold;
  color: #FAFAFA;
}








/*ホバーエフェクト*/
@media screen and (min-width:821px){
  .brt_header p a:hover,
  .brt_header h1 a:hover{opacity: 0.5;}
  .brt_header .brt_wrap ul li a:hover{color: #3B7BCA;}

  .brt_gotop a:hover{
    box-shadow: 4px 4px 8px 0 rgba(0,0,0,.5);
    transform: scale(1.05);
  }
  .brt_404txt a:hover{text-decoration: underline;}

  .brt_footernavi p a:hover,
  .brt_footernavi ul li a:hover{color: #3B7BCA;}
}









@media screen and (min-width:1600px){
  .brt_wrap{width: 1520px;}
  .brt_innerwrap{width: 1280px;}
}



@media screen and (max-width:1330px){/*1312+17(スクロールバー)*/
  .brt_br1280{display: block;}
  .brt_wrap{width: 1160px;}
}
@media screen and (max-width:1177px){/*1160+17(スクロールバー)*/
  .brt_wrap{width: 100%;}
}
@media screen and (max-width:1077px){/*1060+17(スクロールバー)*/
  .brt_innerwrap{width: 100%;}
}





/*-----------------------------------------*/
/*--------------レスポンシブ-------------*/
/*-----------------------------------------*/
@media screen and (max-width:820px){
  .brt_spbr{display: block;}
  .brt_br{display: inline;}

  .brt_header{
    padding: 30px 0;
    height: auto;
  }
  .brt_header.active{padding: 12px 0;}
  .brt_pc{display: none;}
  .brt_sp{display: block;}
  .brt_header .brt_wrap nav,
  .brt_header .brt_wrap ul{display: none;}
  .brt_spmenubtn{display: flex;}

  .brt_top{padding: 120px 0 88px;}
  .brt_top p{font-size: 2.375rem;}
  .brt_top h1{font-size: 0.875rem;}
  .brt_contactbox{padding: 70px 18px;}

  .brt_footer{padding: 56px 0 48px;}
  .brt_footer .brt_innerwrap{display: block;}
  .brt_comname{margin-bottom: 56px;}
  .brt_comname img{margin-bottom: 8px;}
  .brt_comname p{margin-bottom: 20px;}
  .brt_comname a{color: #FFFFFF;}
  .brt_footernavi{display: block;}
  .brt_footernavi>div:nth-last-of-type(n+2){
    display: flex;
    margin-bottom: 48px;
  }
  .brt_footernavi p{width: 112px;}
  .brt_footernavi ul{
    width: calc(100% - 112px);
    padding-top: 5px;
    padding-right: 0;
    border-left: none;
  }
  .brt_cprt{font-size: 0.625rem;}
}

