@charset "utf-8";

/* ====================
   .common
   ==================== */
.mv-area .mv-name-area .text{
   font-size: 18px;
   line-height: 1.4;
}

.mv-area .mv-name-area .s-text{
   font-size: 13px;
}

.cl-text{
   color: #dc000c;
}

.text{
   font-size: 16.5px;
   line-height: 2.2;
}


@media only screen and (max-width: 1024px) {

}

@media only screen and (max-width: 767px) {
   .text{
      font-size: 4vw;
      line-height: 1.8;
   }

	.hero {
		padding: 65px 0 5vw 0;
	}
}


/* ====================
   .mv
   ==================== */
.mv-area{
   position: relative;
}

.mv-area .mv-lead-area{
   position: absolute;
   right: 0;
   top: 25%;
}

.mv-area .mv-lead-area span{
   background: #dc000c;
   color: #fff;
   font-size: 50px;
   line-height: 1.4;
   padding: 0 25px;
   display: block;
}

.mv-area .mv-lead-area span + span{
   margin-top: 20px;
}

.mv-area .mv-name-area{
   position: absolute;
   right: 0;
   top: 70%;
   width: 300px;
   background: rgba(255, 255, 255, .8);
   padding: 10px 20px;
   border-left: 10px solid #dc000c;
}

.mv-area .mv-name-area .l-text{
   font-size: 28px;
   line-height: 1.4;
}


@media only screen and (max-width: 1024px) {
   .mv-area .mv-lead-area span{
      font-size: 3.6vw;
      padding: 0 15px;
   }

   .mv-area .mv-lead-area span + span{
      margin-top: 10px;
   }
}

@media only screen and (max-width: 767px) {
   .mv-area .mv-lead-area{
      top: 15%;
   }

   .mv-area .mv-lead-area span{
      font-size: 3.7vw;
      line-height: 1.4;
      padding: 0 7px;
   }

   .mv-area .mv-lead-area span + span{
      margin-top: 7px;
   }

   .mv-area .mv-name-area{
      right: 0;
      top: 55%;
      width: 45vw;
      padding: 10px 0 10px 5px;
      border-left: 8px solid #dc000c;
   }

   .mv-area .mv-name-area .text{
      font-size: 3vw;
   }

   .mv-area .mv-name-area .l-text{
      font-size: 4vw;
      line-height: 1.4;
   }
      
   .mv-area .mv-name-area .s-text{
      font-size: 2.5vw;
   }
   
   .mv-area .mv-name-area .text{
      font-size: 3vw;
   }   
}


/* ====================
   .sec-lead
   ==================== */
.sec-lead{
   margin-bottom: 80px;
}

.sec-lead .lead-box{
  gap: 0 55px;
  align-items: center;
}

.sec-lead .title-area{
   position: relative;
   display: flex;
  align-items: stretch;
}

.sec-lead .t-vertical{
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: auto;
  margin: 0;
  font-size: 24px;
  line-height: 1.6;
  letter-spacing: 0;
}

.sec-lead .t-vertical span{
  display: block;
}

.sec-lead .title-area:after{
   content: "";
   position: absolute;
   background: url("../../assets/img/person/icon_arrow.svg") no-repeat 0 0;
   /*! background-size: cover; */
   right: -40px;
   top: 10px;
   width: 25px;
   height: 100%;
}

@media only screen and (max-width: 1024px) {

}

@media only screen and (max-width: 767px) {
	.sec-lead{
      margin-bottom: 30px;
   }
   
   .lead-box{
      flex-flow: row wrap;
      justify-content: center;
   }

   .sec-lead .title-area{
      padding: 0;
      margin: 0 15px 0 0;
   }

   .sec-lead .title-area:after{
      content: none;
   }

   .sec-lead .t-vertical{
     writing-mode: horizontal-tb;
     letter-spacing: 1rem;
     font-size: 5vw;
     line-height: 1.6;
     flex-direction: row;
   }
}

.text + .text{
   margin-top: 50px;
}

.midashi-area{
   align-items: center;
   margin-bottom: 70px;
}

.midashi-area figure{
   width: 450px;
}

.midashi-area .l-text{
   font-size: 34px;
   font-weight: bold;
   white-space: nowrap;
}

@media only screen and (max-width: 1024px) {

}

@media only screen and (max-width: 767px) {
   .text + .text{
      margin-top: 30px;
   }

   .midashi-area{
      margin-bottom: 40px;
   }

   .midashi-area figure{
      width: 40vw;
   }

   .midashi-area .l-text{
      font-size: 4.5vw;
   }
}

/* ====================
   .sec01
   ==================== */
.sec01{
  padding-bottom: 120px;
}

.sec01 .midashi-area .l-text{
   margin-left: -50px;
}

@media only screen and (max-width: 1024px) {

}

@media only screen and (max-width: 767px) {
	.sec01{
     padding-bottom: 30px;
   }

   .sec01 .midashi-area .l-text{
      margin-left: -25px;
   }
}

/* ====================
   .sec02
   ==================== */
.sec02{
  padding: 140px 0 50px 0;
}

.sec02 .midashi-area .l-text{
   margin-right: -50px;
   position: relative;
   z-index: 2;
}

@media only screen and (max-width: 1024px) {

}

@media only screen and (max-width: 767px) {
	.sec02{
     padding: 60px 0 30px 0;
   }
   
   .sec02 .midashi-area .l-text{
      margin-right: -25px;
      padding-left: 20px;
   }
}


/* ====================
   .sec03
   ==================== */
.sec03{
   padding-bottom: 80px;
}

.sec03 .end-wrapper{
  max-width: 1000px;
  margin: 0 auto;
  position: relative;
}

.sec03 .end-wrapper:after{
   content: "";
   position: absolute;
   background: url("../../assets/img/person/copy.svg") no-repeat 0 0;
   background-size: cover;
   width: 224px;
   height: 148px;
   right: 0;
   top: -50px;
}

.sec03 .end-wrapper figure{
  max-width: 950px;
  position: relative;
}

.sec03 .word-area{
   position: absolute;
   background: #fff;
   border-radius: 30px;
   right: 20px;
   top: 20%;
   padding: 30px 140px 30px 40px;
   font-weight: bold;
}

.sec03 .word-area.right{
   right: auto;
   left: -60px;
   padding: 30px 40px 30px 80px;
}

.sec03 .word-area .l-text{
   font-size: 22px;
   line-height: 2;
}

@media only screen and (max-width: 1024px) {
   .sec03 .end-wrapper{
     width: 92%;
     margin: 0 auto 0 0;
   }

   .sec03 .end-wrapper:after{
      right: -40px;
    }

   .sec03 .word-area{
      border-radius: 15px 0px 0px 15px;
      right: 0;
      top: 20%;
      padding: 20px 40px 20px 20px;
   }

   .sec03 .word-area .l-text{
      font-size: 2.2vw;
      line-height: 1.8;
   }
}

@media only screen and (max-width: 767px) {
	.sec03{
      padding-bottom: 30px;
   }

   .sec03 .end-wrapper{
     width: 85%;
     margin: 0 0 0 20px;
   }

   .sec03 .end-wrapper:after{
      width: 100px;
      height: 68px;
      background-size: contain;
      right: -20px;
      top: -22px;
   }

   .sec03 .word-area{
      border-radius: 15px 0px 0px 15px;
      right: 0;
      top: 20%;
      padding: 10px;
   }
   
   .sec03 .word-area.top{
      top: 7%;
   }
   
   .sec03 .word-area.right{
      border-radius: 0 15px 15px 0;
      left: 0;
      top: 7%;
      padding: 10px;
   }

   .sec03 .word-area .l-text{
      font-size: 3vw;
      line-height: 1.6;
   }
}


/* ====================
   .person-nav-area
   ==================== */
.person-nav-area{
  background: url("../../assets/img/person/nav_bg-pc.jpg") no-repeat 0 0;
  background-size: cover;
}

.person-nav-area .contents-wrapper{
  max-width: 990px;
  margin: 0 auto;
  padding: 100px 0;
}

.person-nav-area .person-nav-box{
   align-items: center;
}

.person-nav-area .person-nav-box .nav-img-title{
   width: 199px;
}

.person-nav-area .person-nav-box .p-nav{
   flex-flow: row wrap;
   gap: 10px 30px;
   width: calc(100% - 199px);
}

.person-nav-area .person-nav-box .p-nav li{
   width: 20%;
   font-size: 12px;
   line-height: 1.8;
}

.person-nav-area .person-nav-box .p-nav li.current .img-box{
   position: relative;
   display: block;
  　width: 100%;
}

.person-nav-area .person-nav-box .p-nav li.current .img-box:after{
  content: "";
  position: absolute;
  inset: 0;
  background: #dc000c;
  mix-blend-mode: multiply;
  pointer-events: none;
  opacity: 0.5;
}

.person-btn-area{
   max-width: 544px;
   margin: 0 auto 100px auto;
}

@media only screen and (max-width: 1024px) {
   .person-nav-area .contents-wrapper{
     max-width: 95%;
   }
   
   .person-nav-area .person-nav-box .p-nav{
      gap: 10px 20px;
   }
   
   .person-nav-area .person-nav-box .p-nav li{
      width: 21%;
      font-size: 11px;
   }
}

@media only screen and (max-width: 767px) {
	.person-nav-area{
     background: url("../../assets/img/person/nav_bg-sp.jpg") no-repeat 0 0;
     background-size: cover;
   }

   .person-nav-area .contents-wrapper{
     width: 90%;
     padding: 20px 0;
   }

   .person-nav-area .person-nav-box{
      flex-flow: row wrap;
   }

   .person-nav-area .person-nav-box .nav-img-title{
      width: 50%;
      margin: 0 0 10px 0;
      order: 1;
   }

   .person-nav-area .person-nav-box .p-nav{
      gap: 10px 0;
      width: 100%;
      justify-content: space-between;
      order: 2;
   }

   .person-nav-area .person-nav-box .p-nav li{
      width: 23%;
      font-size: 2.4vw;
      line-height: 1.4;
   }
   
   .person-nav-area .person-nav-box .p-nav li.current img{
      filter: grayscale(100%) brightness(80%) contrast(120%);
   }
   
   .person-nav-area .person-nav-box .p-nav li span{
      display: block;
      margin-top: 3px;
   }
   
   .person-btn-area{
      margin: 0 auto 70px auto;
      width: 90%;
   }

}





































