@charset "UTF-8";

/*****************************
    topスライド
*****************************/
.topslider {
  height: 95vh;
  position: relative;
  width: 100%;
  overflow: hidden;
}
@media screen and (max-width: 1024px) {
  .topslider {
    height: 80vh;
  }
}
@media screen and (max-width: 820px) {
  .topslider {
    height: 60vh;
  }
}
@media screen and (max-width: 600px) {
  .topslider {
    height: 50vh;
  }
}


.topslider::after{
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  position: absolute;
  content: "";
  background: rgb(0 0 0 / 0%);
}
.topslider .slideitem {
  height: 95vh;
  width: 100%;
}
@media screen and (max-width: 1024px) {
  .topslider .slideitem {
    height: 80vh;
  }
}
@media screen and (max-width: 820px) {
  .topslider .slideitem {
    height: 60vh;
  }
}
@media screen and (max-width: 600px) {
  .topslider .slideitem {
    height: 50vh;
  }
  .topslider::after{
  background: rgb(0 0 0 / 20%);
}
}

.catchcopy{
  position: absolute;
  display: inline-block;
  color: #fff;
  top: 55%;
  left: 10%;
  transform: translateY(-50%) translateX(-8%);
  margin: 0;
  padding: 0px 0;
  z-index: 1;
}
@media screen and (max-width: 1024px) {
.catchcopy{
  top: 55%;
  left: 10%;
}
}


.catchcopy .cat01{
  margin-bottom: 10px;
}

.catchcopy .cat02{
  margin-bottom: 20px;
}

.catchcopy .cat03{
  margin-bottom: 0px;
}

.catchcopy02{
  position: absolute;
  display: inline-block;
  color: #fff;
  top: 60%;
  left: 10%;
  transform: translateY(-50%) translateX(-8%);
  margin: 0;
  padding: 0px 0;
  z-index: 1;
}
.catchcopy03{
  position: absolute;
  display: inline-block;
  color: #fff;
  top: 75%;
  left: 10%;
  transform: translateY(-50%) translateX(-8%);
  margin: 0;
  padding: 0px 0;
  z-index: 1;
  width: min(800px, 100%);
}

.catchcopy h3{
  font-size: 22px;
  padding: 0px;
  display: inline-block;
  line-height: 1.6;
  text-shadow: 1px 1px 3px #555;
  letter-spacing: 1px;
}

.catchcopy h2{
  font-size: 40px;
  padding: 10px 0px;
  display: inline-block;
  line-height: 1.4;
  font-weight: bold;
  text-shadow: 1px 1px 3px #555;
  letter-spacing: 3px;
}
.catchcopy h2 span,.catchcopy02 h2 span{
  font-size: 45px;
  font-weight: bold;
  text-shadow: 1px 1px 3px #555;
  letter-spacing: 3px;
}
.catchcopy p{
  font-size: 22px;
  /* background: rgb(50, 153, 50, 0.7); */
  padding: 0px;
  text-align: left;
  line-height: 1;
  margin-bottom: 10px;
  text-shadow: 1px 1px 3px #555;
}

.ani_d5{
  transition-delay: 0.5s !important;
}

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

}
@media screen and (max-width: 1024px) {
  .catchcopy h3{
    font-size: 20px;
  }
  .catchcopy h2{
    font-size: 35px;
  }
  .catchcopy h2 span{
    font-size: 40px;
  }
  .catchcopy p{
    font-size: 16px;
  }
}

@media screen and (max-width: 820px) {
  .catchcopy h3{
    font-size: 18px;
  }
  .catchcopy h2{
    font-size: 24px;
  }
  .catchcopy h2 span{
    font-size: 30px;
  }
  .catchcopy{
    top: 30%;
    width: calc(100% - 4rem);
    left: 2rem;
    margin-right: 2rem;
    transform: translateY(0%) translateX(0%);
  }
}
@media screen and (max-width: 600px) {
  .catchcopy .cat03{
  display: none;
  }
}

@media screen and (max-width: 600px) {
  .catchcopy h3{
    font-size: 14px;
  }
  .catchcopy h2{
    font-size: 16px;
  }
  .catchcopy h2 span{
    font-size: 20px;
  }
  .catchcopy p{
    font-size: 14px;
  }
}


/*****************************
  topsec1
*****************************/
.footersec1{
  padding: 50px 0 30px;
  background: repeating-linear-gradient(135deg, #f7fbff, #f7fbff 20px, #fff 20px, #fff 40px);
}
/* boxサイズに合わせている */
@media screen and (max-width: 800px) {
  .footersec1{
    padding: 0px 0 0px;
  }
}



/*****************************
  topsec1
*****************************/
.topsec1{
  padding: 100px 0;
}
@media screen and (max-width: 600px) {
  .topsec1{
    padding: 50px 0;
  }
}


/*****************************
  topsec2
*****************************/
.topsec2{
  bottom: 0;
  left: 0;
  position: absolute;
  width: 100%;
}
.newsbox{
  margin-top: 30px;
}

.topsec2 .newsbox{
  background: rgb(255, 255, 255, 0.8);
  padding: 10px 20px;
}
.topsec2 .newsbox .date,
.topsec2 .newsbox .cat{
  margin-right: 10px;
}
.topsec2 .newsbox .cat{
  border: 1px solid #707070;
  padding: 0 10px;
  text-align: center;
  font-size: 14px;
}
@media only screen and (max-width: 1180px) {
    
}
@media only screen and (max-width: 1024px) {
    
}
@media only screen and (max-width: 820px) {
    
}
@media only screen and (max-width: 767px) {
  
}

/*****************************
  topsec3
*****************************/
.topsec3{
  margin: 30px 0;
  padding: 30px 0;
}
.topttl{
  margin-bottom: 20px;
}
.topttl p{
font-size: 24px;
line-height: 1;
letter-spacing: 1px;
font-weight: bold;
}
.topttl h2{
  font-size: 50px;
  font-weight: bold;
  line-height: 1.4;
}
.topbg05 .topttl h2{
    font-size: 30px;
    font-weight: bold;
    line-height: 1.8;
    text-align: center;
}

.toptxt{
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 2px;
  margin-top: 30px;
  margin-bottom: 30px;
}
.topbg04 .toptxt{
  font-size: 26px;
  line-height: 1.8;
  letter-spacing: 2px;
  margin-top: 30px;
  margin-bottom: 30px;
}
.topbg05 .toptxt{
  font-size: 20px;
  line-height: 1.8;
  letter-spacing: 2px;
  margin-top: 30px;
  margin-bottom: 30px;
}


.topsec3flex{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: center;
}
.topsec3fbox1{
  width: 30%;
  margin-right: 20px;
}
.topsec3fbox2{
  width: 60%;
}

.topsec3fbox1 p span{
  color: #A42020;
}

@media only screen and (max-width: 1180px) {
    
}
@media only screen and (max-width: 1024px) {
  .topttl p{
font-size: 20px;
}
.topttl h2{
  font-size: 35px;
}
}
@media only screen and (max-width: 820px) {
  .toptxt{
    font-size: 18px;
  }
  .topbg04 .toptxt{
    font-size: 18px;
  }
  .topbg05 .topttl h2{
    font-size: 24px;
    text-align: left;
  }
}
@media only screen and (max-width: 767px) {
  .topttl p{
font-size: 16px;
}
.topttl h2{
  font-size: 24px;
}
}
  .topbg04 .topttl h2{
   font-size: 30px;
  }
  .topbg05 .topttl h2{
   font-size: 20px;
  }
  .toptxt{
    font-size: 16px;
  }
  .topbg04 .toptxt{
    font-size: 18px;
  }
  .topbg05 .topttl h2{
    font-size: 22px;
  }
  .topsec3flex{
    flex-direction: column-reverse;
  }
  .topsec3fbox1 {
    width: 100%;
    margin-right: 0;
  }
  .topsec3fbox2{
    width: 100%;
    margin-bottom: 20px;
  }
  .topsec3fbox1 p {
    font-weight: inherit;
  }
}

.top-worksflex{
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: flex-start;
  margin-top: 60px;
}
.top-worksfbox{
  width: calc(100% / 2 - 20px);
  margin-bottom: 30px;
}
.top-worksfbox h3{
  font-size: 24px;
  font-weight: bold;
}

@media only screen and (max-width: 1180px) {
    
}
@media only screen and (max-width: 1024px) {
    
}
@media only screen and (max-width: 820px) {
  .top-worksfbox h3{
    font-size: 22px;
  }
}
@media only screen and (max-width: 767px) {
  .top-worksflex{
    margin-top: 0px;
  }
  .top-worksfbox{
    width: 100%;
  }
  .top-worksfbox h3{
    font-size: 20px;
  }
}

/*****************************
  top bg
*****************************/
.topbg{
  position: relative;
  background: url(../images/top/topbg.webp) center / cover;
  background-repeat: no-repeat;
  background-position: center;
}

.topbg:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgb(0, 113, 196, 0.3);
}

@media screen and (max-width: 767px) {
  .topbg{
    margin-top: 0px;
  }
}

.topbg02{
  position: relative;
  background: url(../images/top/topbg02.webp) center / cover;
  background-repeat: no-repeat;
  background-position: center;
}

.topbg02:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgb(0, 113, 196, 0.2);
}

@media screen and (max-width: 767px) {
  .topbg02{
    margin-top: 0px;
    background-position: right 0% bottom 0%;
  }
}


.topbg03{
  position: relative;
  background: url(../images/top/topbg03.webp) center / cover;
  background-attachment: fixed;
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
  height: 30vh;
}

.topbg03:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgb(0, 113, 196, 0.2);
}

@media screen and (max-width: 767px) {
  .topbg03{
    margin-top: 0px;
  }
}


.topbg04{
  position: relative;
  background: url(../images/top/training_mainimg.webp) center / cover;
  background-repeat: no-repeat;
  background-position: center;
}

.topbg04:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgb(0, 113, 196, 0.6);
}

@media screen and (max-width: 767px) {
  .topbg04{
    margin-top: 0px;
    background-position: right 0% bottom 0%;
  }
}


.topbg05{
  position: relative;
  background: url(../images/top/service_mainbg.webp) center / cover;
  background-repeat: no-repeat;
  background-position: center;
}

.topbg05:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgb(0, 113, 196, 0.4);
}

@media screen and (max-width: 767px) {
  .topbg05{
    margin-top: 0px;
    background-position: right 0% bottom 0%;
  }
}



.top_news_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
}
.top_news_flex .left_area{
  width: 30%;
 }
.top_news_flex .right_area{
  width: 70%;
 }
 @media screen and (max-width: 820px) {
  .top_news_flex .left_area{
    width: 100%;
   }
  .top_news_flex .right_area{
    width: 100%;
   }
 }

.bg_content{
  position: relative;
  z-index: 0;
  color: #fff;
}

.bg_box{
  padding: 30px;
  width: 100%;
  margin: 0 auto;
  background: rgb(0, 0, 0, 0.6);
  margin-top: 30px;
}

.bg_box_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.bg_box_flex .box_area{
  width: calc(100% / 2);
  padding: 0px 20px 0 50px;
  color: #fff;
}


.bg_box_flex .box_area:first-child{
  border-right:1px solid #fff;
}

@media screen and (max-width: 767px) {
  .bg_box_flex .box_area{
    width: calc(100% / 1);
    padding: 30px 5% 30px 5%;
  }
  .bg_box_flex .box_area:first-child{
    border-right:0px solid #fff;
    border-bottom:1px solid #fff;
  }
}

.bg_box_flex .box_area h2{
  font-size: 30px;
  font-weight: bold;
}

.bg_box_flex .box_area h3{
  font-size: 20px;
}

.bg_box_flex .box_area a{
  color: #fff;
}
.bg_box_flex .box_area .map_style a {
  font-size: 14px;
  color: #ada6ff;
  text-decoration: underline;
}
address {
  display: block;
  font-style: inherit;
  unicode-bidi: isolate;
}

.content-box {
  display: none;
  width: 100%;
  min-height: 300px;
  padding: 45px 0 0;
}
@media screen and (max-width: 600px) {
  .content-box {
    padding: 20px;
  }
}


.tab-list li{
    background: #fff;
    border: 1px solid #eee;
    display: block;
    margin-right: 10px;
    padding: .3rem 0;
    position: relative;
    text-align: center;
    width: calc(25% - 10px);
}
@media screen and (max-width: 1024px) {
  .tab-list li{
    font-size: 14px;
}
}
@media screen and (max-width: 767px) {
  .tab-list li{
    width: calc(33% - 10px);
    margin-bottom: 20px;
}
}
@media screen and (max-width: 600px) {
  .tab-list li{
    width: calc(50% - 10px);
}
}

.flexbox3 .label.label1{
  background-color: #959615;
  color: #fff;
}
.flexbox3 .label.label2 {
  background-color: #06517A;
  color: #fff;
}
.flexbox3 .label.label3{
  background-color: #35753C;
  color: #fff;
}
.flexbox3 .label.label4{
  background-color: #A32E2E;
  color: #fff;
}


.label1.current {
  position: relative;
  background-color: #959615;
  color: #fff;
}
.label1.current::after {
  content: "";
  position: absolute;
  border-top: 10px solid #959615;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  margin-left: 0%;
  bottom: -30px;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

.label2.current {
  position: relative;
  background-color: #06517A;
  color: #fff;
}
.label2.current::after {
  content: "";
  position: absolute;
  border-top: 10px solid #06517A;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  margin-left: 0%;
  bottom: -30px;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.label3.current {
  position: relative;
  background-color: #35753C;
  color: #fff;
}
.label3.current::after {
  content: "";
  position: absolute;
  border-top: 10px solid #35753C;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  margin-left: 0%;
  bottom: -30px;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.label4.current {
  position: relative;
  background-color: #A32E2E;
  color: #fff;
}
.label4.current::after {
  content: "";
  position: absolute;
  border-top: 10px solid #A32E2E;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  margin-left: 0%;
  bottom: -30px;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}
.label5.current {
  position: relative;
  background-color: #4B328F;
  color: #fff;
}
.label5.current::after {
  content: "";
  position: absolute;
  border-top: 10px solid #4B328F;
  border-right: 10px solid transparent;
  border-bottom: 10px solid transparent;
  border-left: 10px solid transparent;
  margin-left: 0%;
  bottom: -30px;
  left: 50%;
  transform: translateY(-50%) translateX(-50%);
}

/*****************************
    top bnrlink
*****************************/
.bnr_link_sec{
  margin-top: 60px;
  margin-bottom: 60px;
}
.list-item {
  padding: 15px;
  position: relative;
  box-sizing: border-box;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}
.list-item:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgb(0, 0, 0, 0.2);
  opacity: 1;
  -webkit-transition: .3s;
          transition: .3s;
}
@media screen and (max-width: 767px) {
  .list-item:before {
    background: rgb(0, 0, 0, 0.2);
  }
}



.list-item:hover:before {
  /* opacity: 0; */
  background: rgb(0, 0, 0, 0);
}
.list-item a:before,
.list-item .item-inner:before {
  content: "";
  background: #fff;
  position: absolute;
  transition: .4s;
  height: 2px;
  width: 0;
}

/* 特殊設定 */
.list-item:nth-child(3) a:before,
.list-item:nth-child(3) .item-inner:before {
  content: "";
  background: unset;
  position: absolute;
  transition: .4s;
  height: 2px;
  width: 0;
}
/* 特殊設定 */


.list-item a:before{
  top: 0;
  left: 0;
}
.list-item .item-inner:before{
  bottom: 0;
  right: 0;
}
.list-item:hover a:before,
.list-item:hover .item-inner:before {
  width: 100%;
}
.list-item a:after{
  right: 0;
  top: 0;
}
.list-item a:after,
.list-item .item-inner:after {
  height: 0;
  content: "";
  background: #fff;
  position: absolute;
  transition: .4s;
  width: 2px;
}
/* 特殊設定 */
.list-item:nth-child(3) a:after,
.list-item:nth-child(3) .item-inner:after {
  height: 0;
  content: "";
  background: unset;
  position: absolute;
  transition: .4s;
  width: 2px;
}
/* 特殊設定 */


.list-item:hover a:after,
.list-item:hover .item-inner:after {
  height: 100%;
}
.list-item:hover .txt-sub {
  opacity: 1 !important;
}
.tm-gridbox a, .item-inner {
  display: block;
  height: 100%;
  width: 100%;
  position: relative;
}
.item-inner:before, .item-inner:after {
  bottom: 0;
}
.item-inner:before {
  right: 0;
}
.item-inner:after {
  left: 0;
}
.top-item-text {
  position: absolute;
  /* width: 100%; */
  text-align: left;
  color: #fff;
  top: 85px;
  left: 30px;
  transform: translateY(-50%) translateX(0%);
  margin: 0;
  padding: 10px 0;
  z-index: 1;
  max-width: 100%;
  text-shadow: 1px 1px 3px #555;
}
@media screen and (max-width: 600px) {
  .top-item-text {
    top: 60px;
    left: 20px;
  }
}

/* 画像ブロック */

.tm-gridbox {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;

}
.tm-gridbox li{
  height: 500px;
  position: relative;
}
.tm-gridbox li.list-item01 {
  background: url(../images/top/topimg_training.webp) no-repeat center/cover;
  width: calc(100% / 3);
}
.tm-gridbox li.list-item02 {
  background: url(../images/top/topimg_contact.webp) no-repeat center/cover;
  width: calc(100% / 3);
}
.tm-gridbox li.list-item03 {
  background: url(../images/top/topimg_recruit.webp) no-repeat center/cover;
  width: calc(100% / 3);
}
@media screen and (max-width: 1500px) {
  .tm-gridbox li.list-item01 {
    background: url(../images/top/topimg_training.webp) no-repeat center/cover;
    width: calc(100% / 2);
  }
  .tm-gridbox li.list-item02 {
    background: url(../images/top/topimg_contact.webp) no-repeat center/cover;
    width: calc(100% / 2);
  }
  .tm-gridbox li.list-item03 {
    background: url(../images/top/topimg_recruit.webp) no-repeat center/cover;
    width: calc(100% / 1);
    height: 500px;
  }
}

@media screen and (max-width: 1180px) {
  .tm-gridbox li.list-item01 {
    height: 350px;
  }
  .tm-gridbox li.list-item02 {
    height: 350px;
  }
  .tm-gridbox li.list-item03 {
    height: 450px;
  }
}
@media screen and (max-width: 820px) {
  .tm-gridbox li.list-item01 {
    height: 400px;
    width: calc(100% / 1);
  }
  .tm-gridbox li.list-item02 {
    height: 400px;
    width: calc(100% / 1);
  }
  .tm-gridbox li.list-item03 {
    height: 450px;
    width: calc(100% / 1);
  }
}
@media screen and (max-width: 767px) {
  .tm-gridbox li.list-item01 {
    height: 300px;
  }
  .tm-gridbox li.list-item02 {
    height: 300px;
  }
  .tm-gridbox li.list-item03 {
    height: 450px;
  }
}


.top-2col-flex-area{
  padding-top: 20px;
  padding-bottom: 20px;
}
.top-2col-flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: flex-start;
}
.top-2col-flex.restyle{
  justify-content: flex-end;
}

.top-2col-flex .img_box_area{
  width: calc(80% / 2);
  padding: 10px;
  position: relative;
}
@media screen and (max-width: 820px) {
  .top-2col-flex .img_box_area{
    width: calc(100% / 2);
  }
}
@media screen and (max-width: 600px) {
  .top-2col-flex .img_box_area{
    width: calc(100% / 1);
    padding: 5px;
  }
}

.top-2col-flex .img_box_area img{
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: #f8f8f8;
  border-radius: 10px;
}

.top-2col-flex .img_box_area p{
  position: absolute;
  color: #fff;
  bottom: 30px;
  right: 10px;
  background: rgb(0,113,196,0.8);
  padding: 20px 30px;
  width: 75%;
  line-height: 1;
  font-size: 20px;
  font-weight: 500;
  letter-spacing: 2px;
}
@media screen and (max-width: 600px) {
  .top-2col-flex .img_box_area p{
    right: 5px;
    padding: 10px 10px;
    width: 80%;
    line-height: 1;
    font-size: 16px;
  }
}



.top-2col-flex .img_box_area p span{
  font-size: 16px;
  margin-left: 10px;
}
.top-2col-flex .img_box_area p i{
  margin-right: 10px;
  font-size: 22px;
  vertical-align: baseline;
}
@media screen and (max-width: 600px) {
  .top-2col-flex .img_box_area p span{
    font-size: 12px;
    margin-left: 10px;
  }
  .top-2col-flex .img_box_area p i{
    margin-right: 5px;
    font-size: 16px;
    vertical-align: baseline;
  }
}


.top_service_area{
  padding-top: 50px;
  padding-bottom: 100px;
}


.casettl h2{
    font-size: 50px;
    font-weight: bold;
    line-height: 1.4;
}
@media only screen and (max-width: 1180px) {
.casettl h2{
    font-size: 45px;
  }
}
@media only screen and (max-width: 1024px) {
.casettl h2{
    font-size: 38px;
  }
}
@media only screen and (max-width: 820px) {
.casettl h2{
    font-size: 35px;
  }
}
@media only screen and (max-width: 767px) {
.casettl h2{
    font-size: 24px;
  }
}

/* hamamatu_case_bg */

.hamamatu_case_bg .toptxt{
  font-size: 26px;
  line-height: 1.8;
  letter-spacing: 2px;
  margin-top: 30px;
  margin-bottom: 30px;
}
@media only screen and (max-width: 820px) {
  .hamamatu_case_bg .toptxt{
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .hamamatu_case_bg .toptxt{
    font-size: 18px;
  }
}

.hamamatu_case_bg{
  position: relative;
  background: url(../images/page/hamamatu_case_mainimg.webp) center / cover;
  background-repeat: no-repeat;
  background-position: center;
}

.hamamatu_case_bg:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgb(0, 113, 196, 0.6);
}

@media screen and (max-width: 767px) {
  .hamamatu_case_bg{
    margin-top: 0px;
    background-position: right 0% bottom 0%;
  }
}

/* kumamoto_case_bg */

.kumamoto_case_bg .toptxt{
  font-size: 26px;
  line-height: 1.8;
  letter-spacing: 2px;
  margin-top: 30px;
  margin-bottom: 30px;
}
@media only screen and (max-width: 820px) {
  .kumamoto_case_bg .toptxt{
    font-size: 18px;
  }
}
@media only screen and (max-width: 767px) {
  .kumamoto_case_bg .toptxt{
    font-size: 18px;
  }
}

.kumamoto_case_bg{
  position: relative;
  background: url(../images/page/kumamoto_case_mainimg.webp) center / cover;
  background-repeat: no-repeat;
  background-position: center;
}

.kumamoto_case_bg:before {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgb(0, 113, 196, 0.6);
}

@media screen and (max-width: 767px) {
  .kumamoto_case_bg{
    margin-top: 0px;
    background-position: right 0% bottom 0%;
  }
}

.recruit_btn_style{
    width: 300px;
    max-width: 100%;
}

.recruit_btn{
    display: inline-flex;
    cursor: pointer;
    align-items: center;
    gap: 0.75rem;
    background-color: #06517A;
    color: #fff;
    letter-spacing: 1px;
    padding: 10px 30px;
    transition: background-color 0.3s;
    margin-top: 10px;
    margin-bottom: 10px;
    text-align: center;
    width: auto;
    max-width: 100%;
    border: 2px solid #fff;
}


.sl_btn_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-start;
  align-items: flex-start;
}
.sl_btn_flex li{
  padding: 10px;
}


.top_business_flex{
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-start;
  align-items: flex-start;
  width: 1000px;
  max-width: 100%;
  margin: 50px auto 0;
}
.top_business_flex li{
 width: calc(50% - 15px);
}
.top_business_flex li:first-child{
  margin-right: 30px;
}
@media screen and (max-width: 820px) {
.top_business_flex li{
 width: calc(50% - 10px);
}
.top_business_flex li:first-child{
  margin-right: 20px;
}
}
@media screen and (max-width: 600px) {
.top_business_flex li{
 width: calc((100% - 10px) / 1);
 margin-bottom: 20px;
}
.top_business_flex li:first-child{
  margin-right: 0px;
}
}



.top_business_flex li{
  position: relative;
}
.top_business_flex li p{
position: absolute;
content: "";
width: 100%;
top: 0px;
left: 0px;
background: rgb(0, 113, 196, 0.8);
padding: 10px 10px;
text-align: center;
color: #fff;
border-radius: 10px 10px 0 0;
}
.top_business_flex li img{
  border-radius: 10px;
}
@media screen and (max-width: 767px) {
.top_business_flex li p{
padding: 5px 5px;
}
}