@charset "utf-8";

/* ====================  共通  ==================== */
.hLogo{
  width: 78px;
  padding: 2px 0 0;
}
.hLogo .cmnLogo{display: none;}
.hLogo .cpLogo{display: block;}


.secArea.kvArea{
  margin-bottom: 21px;
}
.secArea.kvArea.top{
  margin-bottom: 0;
}
.kvArea .kvInner{
  position: relative;
}
.kvArea .kvInner img{
  width: 100%;
}
.secArea .secInner{
  position: relative;
  padding: 0 13px;
}
.secArea.kvArea .ttl{
  font-size: 3rem;
  color: #fff601;
  position: absolute;
  top: 20px;
  right: 20px;

  -webkit-font-smoothing: antialiased;
  font-family: "HelveticaNeue-Thin", "Helvetica Neue Thin", "Helvetica Neue", ".HiraKakuInterface-W1";
  font-weight: 100;
}


/* ----------topList---------- */
.topList{}
.topList li{}
.topList li a{
  display: block;
  position: relative;
}
.topList li a img{
  width: 100%;
}
.topList li a .ttl{
  position: absolute;
  left: 50%;
  top: 23px;

  -webkit-transform: translate(-50%,0);
     -moz-transform: translate(-50%,0);
      -ms-transform: translate(-50%,0);
       -o-transform: translate(-50%,0);
          transform: translate(-50%,0);

  width: 100%;
  font-size: 3rem;
  color: #fff601;

  -webkit-font-smoothing: antialiased;
  font-family: "HelveticaNeue-Thin", "Helvetica Neue Thin", "Helvetica Neue", ".HiraKakuInterface-W1";
  font-weight: 100;
}
.topList li a .btn{
  position: absolute;
  left: 50%;
  bottom: 21px;

  -webkit-transform: translate(-50%,0);
     -moz-transform: translate(-50%,0);
      -ms-transform: translate(-50%,0);
       -o-transform: translate(-50%,0);
          transform: translate(-50%,0);

  width: 85.9375%;
  font-size: 1.8rem;
  line-height: 50px;
  color: #fff;
  background: rgba(2,44,88,.8);
}
.topList .other a .btn{
  background: rgba(135,1,29,.8);
}

/**/
.secTtl{
  color: #47458e;
  font-size: 1.7rem;
  text-align: left;
  font-weight: bold;
  padding-bottom: 20px;
}
.box{
  padding-bottom: 30px;
}
.aboutList{
  text-align: left;
}
.aboutList dt{
  color: #221815;
  font-size: 1.5rem;
  font-weight: bold;
  padding-bottom: 13px;
}
.aboutList dd{
  color: #221815;
  font-size: 1.4rem;
  padding-bottom: 13px;
  line-height: 1.4;
}
.vision{
  text-align: left;
  font-size: 1.4rem;
  line-height: 1.8;
}
.vision p{
  margin-bottom: 18px;
}
.philosophy{
  text-align: left;
  padding-bottom: 25px;
}
.philosophy .ttl{
  color: #47458e;
  font-size: 1.8rem;
  margin-bottom: 10px;

  -webkit-font-smoothing: antialiased;
  font-family: "HelveticaNeue-Thin", "Helvetica Neue Thin", "Helvetica Neue", ".HiraKakuInterface-W1";
  font-weight: 100;
}
.philosophy .subTtl{
  color: #208cd0;
  font-size: 1.2rem;
  margin-bottom: 12px;
}
.philosophy .tx{
  color: #404040;
  font-size: 1.2rem;
  line-height: 2;
}

/* ====================  SP  ==================== */
@media screen and (max-width: 767px){

}
/* ====================  PC  ==================== */
@media screen and (min-width: 768px){
  .hLogo{
    width: 178px;
  }
  .secArea{
    max-width: 1280px;
    margin: 0 auto;
  }
  .secArea.kvArea{
    margin-bottom: 100px;
    padding-top: 100px;
  }
  .secArea .secInner{
    max-width: 894px;
    margin: 0 auto;

    -webkit-box-sizing: border-box;
    box-sizing: border-box;
  }
  .secArea.kvArea .ttl{
    font-size: 6rem;
  }

/* ----------topList---------- */
  .topList{
    max-width: 1280px;
    margin: 0 auto;
  }
  .topList li{
    float: left;
    width: 50%;
  }
  .topList li a{
    display: block;
    overflow: hidden;
    text-align: center;
  }
  .topList li a img{
    -webkit-transition: 10s ease;
       -moz-transition: 10s ease;
        -ms-transition: 10s ease;
         -o-transition: 10s ease;
            transition: 10s ease;
  }
  .topList li a:hover img{
    -webkit-transform: scale(1.5);
       -moz-transform: scale(1.5);
        -ms-transform: scale(1.5);
         -o-transform: scale(1.5);
            transform: scale(1.5);
  }
  .topList li a .ttl{
    font-size: 6rem;
  }
  .topList li a .btn{
    font-size: 3.6rem;
    line-height: 100px;
  }

  /**/
  .secTtl{
    font-size: 3rem;
    padding-bottom: 48px;
  }
  .aboutList{
    width: 100%;
    display: table;
  }
  .aboutList dt{
    display: table-cell;
    font-size: 1.8rem;
    padding-bottom: 30px;
    width: 190px;
  }
  .aboutList dd{
    display: table-cell;
    font-size: 1.6rem;
    padding-bottom: 30px;
  }
  .vision{
    font-size: 1.6rem;
    line-height: 2.5;
  }
  .vision p{
    margin-bottom: 0;
  }
  .philosophy{
    text-align: left;
    padding-bottom: 50px;
  }
  .philosophy .ttl{
    font-size: 3.6rem;
    margin-bottom: 22px;
  }
  .philosophy .subTtl{
    font-size: 2.4rem;
    margin-bottom: 28px;
  }
  .philosophy .tx{
    font-size: 1.8rem;
  }

}
@media screen and (min-width: 769px) and (max-width: 1000px){
  /* ----------header---------- */
  .bb-header{
    width: 100%;
    background: #fff;
    text-align: center;
  }
  .bb-header .headInner{
    width: 100%;
    height: 70px;
  }
  .hLogo{
    width: 100px;
    padding: 0;
    margin: 8px;

    -webkit-transition: .3s ease;
       -moz-transition: .3s ease;
        -ms-transition: .3s ease;
         -o-transition: .3s ease;
            transition: .3s ease;
  }
  /* Toggle Button */
  .navObj {
    display: block;
    position: absolute;
    right: 5px;
    top: 10px;
    width: 24px;
    height: 18px;
    padding: 13px 10px;
    cursor: pointer;
    z-index: 101;
  }
  .navObj div {
    position: relative;
  }
  .navObj span {
    display: block;
    position: absolute;
    height: 2px;
    width: 100%;
    background: #000;
    left: 0;
    -webkit-transition: .35s ease-in-out;
    -moz-transition: .35s ease-in-out;
    transition: .35s ease-in-out;
  }
  .navObj span:nth-child(1) {
    top: 0;
  }
  .navObj span:nth-child(2) {
    top: 8px;
  }
  .navObj span:nth-child(3) {
    top: 16px;
  }
  /* .navObj ??????????? */
  .open .navObj span:nth-child(1) {
    top: 11px;
    -webkit-transform: rotate(315deg);
    -moz-transform: rotate(315deg);
    transform: rotate(315deg);
  }
  .open .navObj span:nth-child(2) {
    width: 0;
    left: 50%;
  }
  .open .navObj span:nth-child(3) {
    top: 11px;
    -webkit-transform: rotate(-315deg);
    -moz-transform: rotate(-315deg);
    transform: rotate(-315deg);
  }
  .menuOpen{
    position: fixed;
    width: 100%;
    height: 100%;
  }
  /* gNav */
  .gNav{
    display: none;
    position: absolute;
    top: 70px;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0;
    z-index: 50;
    text-align: left;
    background: rgba(0,0,0,.8);

    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
            box-sizing: border-box;
  }
  .gnavList li{
    border-bottom: #fff 1px solid;
  }
  .gnavList li a{
    padding-bottom: 10px;
    color: #fff;
    font-size: 1.2rem;
    text-decoration: none;
    padding: 0 7px;
    line-height: 44px;
    display: block;
  }
  .open #gNav {
    display: block;
  }

  .secArea.kvArea{
    padding-top: 70px;
  }

}
