/* Aサイト（https://selva-consulting.jp/assets/css/style.css）の複製。旧トップ・旧ヘッダー用。公開日に assets/css/legacy/ ごと削除する */
.pc {
  display: block !important;
}
.sp {
  display: none !important;
}

/* 共通 */
.sec__inner{
  max-width:1100px;
  margin:0 auto;
}
.modTitle01{
  font-size:13px;
  position:relative;
  margin-bottom: 50px;
}
.modTitle01 img{
  margin-right:15px;
}
.modTitle01:after{
  content:"";
  display:block;
  width:30px;
  height:1px;
  background:#1a2873;
  position:absolute;
  bottom:-20px;
  left:0;
}  
.modTitle02{
  font-size:13px;
  margin-bottom: 40px;
  text-align:center;
}
.modTitle02 span{
  position: relative;
  display: inline-block;
  margin-bottom: 15px;
}
.modTitle02 span:before{
  content:"";
  display:block;
  width:30px;
  height:1px;
  background:#1a2873;
  position:absolute;
  top:50%;
  left:-50px;
}
.modTitle02 span:after{
  content:"";
  display:block;
  width:30px;
  height:1px;
  background:#1a2873;
  position:absolute;
  top:50%;
  right:-50px;
}

.js-fade {
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
  transition: opacity 1s,visibility 1s, transform 1s;
}
.scroll {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

/* mvWrap */
.mvWrap{
  background: linear-gradient(90deg, #fff 0%, #fff 15%, #1a2873 15%, #1a2873 100%);
  height:100vh;
  min-height:693px;
}
.mvWrap2{
  background:url(https://selva-consulting.jp/assets/img/mv_img.jpg) no-repeat left top;
}
header{
  max-width:1100px;
  margin:0 auto;
  padding-top:10px;
}
header .header__top{
  font-size:13px;
  color:#fff;
  font-weight:500;
}
header .header__bottom{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
header .header__bottom nav{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
header .header__bottom nav ul{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
}
header .header__bottom nav ul li{
  padding:0 10px;
}
header .header__bottom nav ul a{
  display:block;
  padding:0 10px;
  font-size:14px;
  line-height:2.0;
  color:#fff;
  font-weight:500;
  position:relative;
}
header .header__bottom nav ul a::after {
position: absolute;
left: 0;
content: '';
width: 100%;
height: 1px;
background: #fff;
bottom: -1px;
transform: scale(0, 1);
transform-origin: center top; 
transition: transform .3s;
}
header .header__bottom nav ul a:hover::after {
transform: scale(1, 1);
}
header .header__bottom nav .hBtn a{
  display:block;
  border:1px solid #fff;
  color:#fff;
  font-size:14px;
  font-weight:500;
  line-height:2.0;
  padding: 0px 25px;
  margin-left:20px;
}
header .header__bottom nav .hBtn a:hover{
  color:#1a2873;
  background:#fff;
  transition:.3s;
}
.mv{
  max-width:1100px;
  margin:0 auto;
  padding:140px 0 120px;
} 
.mv h2{
  text-align:center;
  margin-bottom:70px;
}
.mv .mv__text{
  color:#fff;
  font-size:18px;
  text-align:right;
  font-weight:500;
  letter-spacing: 0.03rem;
}

/* .sec01 */
.sec01 .sec__inner{
  padding:100px 0 120px;
}
.sec01 .message{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  padding-left:30px;
  padding-right:30px;
}
.sec01 .message__text{
  flex:1;
  margin-right:30px;
}
.sec01 .message__text .text{
  line-height:2.1;
}

/* .sec02 */
.sec02{
  position:relative;
}
.sec02:after{
  content:"";
  display:block;
  width:1px;
  height:60px;
  background:#1a2873;
  position:absolute;
  bottom:-30px;
  left:50%;
}
.sec02 .sec__inner{
  background:#f2f2f2;
  box-sizing: border-box;
  padding:80px 50px 160px;
}
.sec02 .business{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.sec02 .business dl{
  width:48%;
  text-align:center;
}
.sec02 .business dl dt{
  font-size:26px;
  line-height:1.4;
  font-weight:800;
  color:#1a2873;
  margin-bottom:20px;
}
.sec02 .business dl dd:nth-child(2){
  margin-bottom:20px;
  line-height:1.8;
}

/* .sec03 */
.sec03 .company__table{
  width:100%;
  max-width:800px;
  margin:0 auto 60px;
}
.sec03 .sec__inner{
  padding:120px 0 160px;
}
.sec03 .company__table th,
.sec03 .company__table td{
  border-bottom:1px solid #e3e3e3;
  padding: 25px 25px;
  font-weight:normal;
}
.sec03 .company__table th{
  width:160px;
}
.sec03 .company__table td .mrb25{
  margin-bottom:25px;
}
.sec03 .company__table td .mapBtn{
  display:inline-block;
  margin-left:15px;
}
.sec03 .company__table td .mapBtn a{
  border:1px solid #0554f2;
  color:#0554f2;
  font-size:13px;
  font-weight:500;
  padding: 0 15px;
}
.sec03 .company__table td .mapBtn a:hover{
  color:#fff;
  background:#0554f2;
  transition:.3s;
}
.sec03 .company__maps{
  display:-webkit-box;
  display:-ms-flexbox;
  display:flex;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
}
.sec03 .company__maps dl dt{
  font-size:26px;
  color:#1a2873;
  font-weight:900;
}
.sec03 .company__maps dl dd:nth-child(2){
  margin-bottom:15px;
  line-height: 1.4;
  font-size: 14px;
}

/* .secForm */
.secForm{
  background:#f2f2f2;
  position:relative;
}
.secForm .sec__inner{
  padding:120px 0 120px;
}
.secForm:before{
  content:"";
  display:block;
  width:1px;
  height:60px;
  background:#1a2873;
  position:absolute;
  top:-30px;
  left:50%;
}
.secForm .form__lead{
  text-align:center;
  margin-bottom:50px;
}
.secForm .form__lead span{
  color:#0554f2;
}
.secForm .form__table{
  width:100%;
  max-width:660px;
  margin:0 auto 20px;
}
.secForm .form__table th,
.secForm .form__table td{
  padding-bottom:20px;
  vertical-align: middle;
}
.secForm .form__table th{
  width: 180px;
  font-weight:normal;
  text-align:left;
  padding-right:10px;
}
.secForm .form__table th .required{
  display: inline-block;
  background: #0554f2;
  font-size: 13px;
  color: #fff;
  padding: 0 5px;
  margin-left: 10px;
}
.secForm .form input[type="text"],
.secForm .form input[type="email"],
.secForm .form input[type="url"],
.secForm .form textarea{
  width:100%;
  font-size:16px;
  border-radius:6px;
  border:1px solid #d5d5d5;
  background:#fff;
  padding:16px 12px;
  box-sizing:border-box;
}
.secForm .form input[type="checkbox"]{
  margin-right:5px;
}
.secForm .privacy{
  text-align:center;
}
.secForm .privacy p{
  margin-bottom:15px;
  font-size: 14px;
}
.secForm .privacy p a{
  text-decoration: underline;
}
.secForm .privacy p a:hover{
  text-decoration: none;
}
.secForm button[type="submit"]{
  display: block;
  border:1px solid #1a2873;
  background:#fff;
  padding: 18px 40px 18px 90px;
  margin: 50px auto 0;
  box-shadow: 3px 3px 3px 2px #1a2873;  
  box-shadow: 5px 5px #1a2873;
}
.secForm button[type="submit"] span{
  color:#1a2873;
  font-size:18px;
  font-weight:800;
  background:url(https://selva-consulting.jp/assets/img/arrow.png) no-repeat center right;
  padding-right:80px;
}
.secForm button[type="submit"]:hover{
  background:#1a2873;
  transition:.3s;
}
.secForm button[type="submit"]:hover span{
  background:url(https://selva-consulting.jp/assets/img/arrow_w.png) no-repeat center right;
  transition:.3s;
  color:#fff;
}
.secForm button.g-recaptcha{
  display: block;
  border:1px solid #1a2873;
  background:#fff;
  padding: 18px 40px 18px 90px;
  margin: 50px auto 0;
  box-shadow: 3px 3px 3px 2px #1a2873;  
  box-shadow: 5px 5px #1a2873;
}
.secForm button.g-recaptcha span{
  color:#1a2873;
  font-size:18px;
  font-weight:800;
  background:url(https://selva-consulting.jp/assets/img/arrow.png) no-repeat center right;
  padding-right:80px;
}
.secForm button.g-recaptcha:hover{
  background:#1a2873;
  transition:.3s;
}
.secForm button.g-recaptcha:hover span{
  background:url(https://selva-consulting.jp/assets/img/arrow_w.png) no-repeat center right;
  transition:.3s;
  color:#fff;
}


/* footer */
footer{
  background:#1a2873;
  text-align:center;
}
footer .footer__inner{
  padding:25px 0;
}
footer .footer__text{
  font-size:14px;
  margin-bottom:10px;
  color:#fff;
}
footer .copy{
  font-size:12px;
  color:#fff;
  padding:15px 0;
}


@media screen and (max-width:768px){
  .pc {
    display: none !important;
  }
  .sp {
    display: block !important;
  }

  /* 共通 */
  .modTitle01{
    font-size:12px;
    margin-bottom: 40px;
  }
  .modTitle01 img{
    margin-right:15px;
  }
  .modTitle01:after{
    width:20px;
  }  
  .modTitle02{
    font-size:12px;
    margin-bottom: 30px;
  }
  .modTitle02 span:before{
    width:20px;
    left:-30px;
  }
  .modTitle02 span:after{
    width:20px;
    right:-30px;
  }

  /* mvWrap */
  .mvWrap{
    padding-bottom:30px;
    min-height:100vh;
  }
  .mvWrap2{
    background:url(https://selva-consulting.jp/assets/img/mv_img.jpg) no-repeat center top;
    background-size: cover;
    margin-right: 55px;
    height: calc(100vh - 30px);
  }
  header{
    padding:5px 0 5px 8px;
  }
  header .header__top{
    font-size:10px;
  }
  header h1 img{
    width:178px;
  }
  #spBtn {
    position: fixed;
    top: 0;
    right: 0;
    width: 50px;
    height: 50px;
    cursor: pointer;
    z-index: 300;
  }
  #spBtn.bg {
    background:#1a2873;
    transition:.6s;
  }
  #spBtn span {
    position: absolute;
    width: 30px;
    height: 3px;
    right: 10px;
    background-color: #fff;
    transition: all 0.3s;
    box-sizing:border-box;
  }
  #spBtn span:first-child {
    top: 13px;
  }
  #spBtn span:nth-child(2) {
    top: 23px;
  }
  #spBtn span:nth-child(3) {
    top: 33px;
  }
  #spBtn.open span:first-child {
    transform: rotate(-45deg);
    top: 22px;
  }
  #spBtn.open span:nth-child(2) {
    opacity: 0;
  }
  #spBtn.open span:nth-child(3) {
    transform: rotate(45deg);
    top: 22px;
  }
  header .header__bottom nav {
    position: fixed;
    right: -100%;
    top: 0;
    width: 60%;
    height: auto;
    background-color: #1a2873;
    transition: all 0.3s;
    z-index: 200;
    display: block;
    padding: 50px 30px 30px;
    box-sizing: border-box;
  }
  header .header__bottom nav.open {
    right: 0;
  }
  header .header__bottom nav ul{
    display:block;
  }
  header .header__bottom nav ul li{
    padding:0;
    text-align:center;
    margin-bottom:30px;
  }
  header .header__bottom nav ul li a{
    display:inline-block;
  }
  header .header__bottom nav .hBtn a{
    margin-left:0;
    padding:8px 25px;
    text-align:center;
  }
  .mv{
    padding:100px 0 100px;
    margin:0 calc(-55px + 3%) 0 3%;
  } 
  .mv h2{
    text-align:right;
    margin-bottom:30px;
  }
  .mv h2 img.sp{
    display:inline-block !important;
  }
  .mv .mv__text{
    font-size:14px;
    letter-spacing: 0;
  }

  /* .sec01 */
  .sec01 .sec__inner{
    padding:60px 3%;
  }
  .sec01 .message{
    display:block;
    padding-left:0;
    padding-right:0;
  }
  .sec01 .message__text{
    margin-right:0;
    margin-bottom:15px;
  }

  /* .sec02 */
  .sec02:after{
    height:40px;
    bottom:-20px;
  }
  .sec02 .sec__inner{
    padding:40px 3% 60px;
  }
  .sec02 .business{
    display:block;
  }
  .sec02 .business dl{
    width:100%;
    margin-bottom:30px;
  }
  .sec02 .business dl dt{
    font-size:22px;
    margin-bottom:10px;
  }
  .sec02 .business dl dd:nth-child(2){
    margin-bottom:10px;
  }

  /* sec03 */
  .sec03 .sec__inner {
    padding: 60px 3% 60px;
  }
  .sec03 .company__table{
    margin: 0 auto 30px;
  }
  .sec03 .company__table th, 
  .sec03 .company__table td{
    padding: 15px 10px;
  }
  .sec03 .company__table th {
    width: 60px;
  }
  .sec03 .company__maps{
    display:block;
  }
  .sec03 .company__maps dl{
    margin-bottom:10px;
  } 
  .sec03 .company__maps dl dd iframe{
    width: 100%;
    height:auto;
    aspect-ratio: 16/9;
  }
  .sec03 .company__maps dl dt {
    font-size: 22px;
  }
  .sec03 .company__maps dl dd:nth-child(2){
    margin-bottom:10px;
  }

  /* secForm */
  .secForm .sec__inner {
    padding: 60px 3% 60px;
  } 
  .secForm:before {
    height: 40px;
    top: -20px;
  }
  .secForm .form__table th,
  .secForm .form__table td{
    display:block;
    width:100%;
    padding-bottom:10px;
  }
  .secForm .form__table th{
    padding-right:0;
    padding-bottom:5px;
  }  
  .secForm .form__lead {
    text-align: left;
    margin-bottom: 20px;
  }
  .secForm button[type="submit"]{
    padding: 18px 10px 18px 10px;
    text-align: center;
    width: 90%;
    margin: 30px auto 0;
    max-width:360px;
  }

  /* footer */
  footer .footer__inner{
    padding:15px 0;
  }
  footer .footer__logo img{
    width:178px;
  }
}


