@charset "utf-8";
.about__05 .halfblockWrap{display: flex; align-items: stretch;}
.about__05 .halfblock{}
.about__05 .halfblock.txtblock{ flex-grow: 1; padding-right:50px; }
.about__05 .halfblock.imgblock { width:650px; display:flex; align-items: end; justify-content: end; position:relative; margin-top:-100px; }

.about__05 .halfblock.txtblock button:hover a{color:#fff;}
.about__05 .smltit{}
.about__05 .smltit .lineBlock{ display: inline-block; position:relative;}

  .about__05 .smltit .hrz_line{ position:absolute; width:0; height:1px; top:50%; left:calc(100% + 10px); transform:translateY(-50%); background:#bc2531; animation:hrz_line_anime 1.5s infinite linear;}
  @keyframes hrz_line_anime{
    0%{
      width:0%;
    }
    100%{
      width:30px;
    }
  }

  .about__05 .smltit .hrz_line::after{ position:absolute; top:50%; left:0; transform:translateY(-50%); width:100%; height:1px; background:#bc2531; content:"" }

.about__05 .subtit { position:relative; display:inline-block;}
.about__05 .subtit:after { content:""; position:absolute; top:54%; right:-120px; width:100px; height:1px; background-color:#bc2531;}

.about__05 .summary {line-height:1.6em;}
.about__05 .tbbtn{ border:1px solid #000; }
.about__05 .tbbtn span.dot{display: inline-block; width:13px; height:10px; position:relative; transition:.5s;}
.about__05 .tbbtn span.dot::after{ position:absolute; width:7px; height:7px; border-radius:50%; background:#000; top:calc(50% - 1px); left:0; transform:translate(-50%,-50%); content: ""; transition:width .5s;}
  .about__05 .tbbtn:hover span.dot {width:23px;}
  .about__05 .tbbtn:hover span.dot::after{ width:20px; height:2px; border-radius:0; }

.about__05 .imgblock .imgwrap{ width:100%; aspect-ratio: 100/75; position: relative; overflow: hidden; border-radius: 20px;}
.about__05 .imgblock img{ position:absolute; top:0; left:0; width:100%; height:100%; object-fit:cover; transform:scale(1.2); transition:transform 1s .5s;}
  .about__05 .imgblock.aos-animate img{ transform:scale(1);}
.about__05 .imgblock .bright{ position:absolute; top:0; right:0; width:100%; height:100%; background:rgba(255,255,255,.3); transition:right 1s .5s;}
  .about__05 .imgblock.aos-animate .bright{ right:100%;}

@media screen and (max-width:1300px){ 
  .about__05 .halfblock.txtblock{padding-left:0;}
}
@media screen and (max-width:1024px){ 
  .about__05 .halfblock.txtblock{padding-right:30px;}
  .about__05 span.sml_txt{font-size:2.4rem}
  .about__05 .halfblock.imgblock { width:100%; margin-top:0; }
}
@media screen and (max-width:768px){ 
  .about__05 .halfblockWrap{flex-wrap:wrap}
  .about__05 .halfblock{width:100%;}
  .about__05 .halfblock.txtblock{padding-bottom:50px; padding-right:0;}
  .about__05 .halfblock, 
  .about__05 .halfblock .titleArea h2, 
  .about__05 .smallttl,
  .about__05 .halfblock .titleArea p{text-align: left;}

  .about__05 span.sml_txt{font-size:2rem}
}