@charset "utf-8";
@media screen and (max-width: 750px) {
	
	/*=============================
      title
  ===============================*/
  .section_title_wrap {
    /*width: fit-content;*/
  }
  .section_title_wrap .ja {
    font-size: 4.2vw;
    padding-bottom: 4.7vw;
    margin-bottom: 3.7vw;
  }
  .section_title_wrap .ja:before {
    height: 0.5vw;
  }
  .section_title_wrap .en {
    font-size: 7.3vw;
  }

  /*=============================
      parts
  ===============================*/
  #content {
    padding-top: 21.3vw;
  }  
  .inner {
    width: calc(100% - 10.6vw);
    margin: 0 auto;
    padding: 0;
  }
  .outer {
    margin-left: 0;
    padding: 0;
  }
	
  
	/*=============================
      mv
  ===============================*/
  #mv {
    padding: 0 5.3vw;
  }
  #mv .mv_bg {
    z-index: 1;
    background-position: right 50%;
    border: 0.5vw solid #fff;
    border-radius: 32px;
    box-shadow: 0px 5px 10px 2px rgba(212, 212, 212, 0.4); /*調整*/
    width: 100%;
    height: 140vw;
  }
  #mv .mv_bg .mv_logo {
  }
  #mv .mv_bg .mv_logo img {
    width: 65vw;
  }


  /*=============================
      concept
  ===============================*/
  #concept {
    padding: 19.3vw 0 130vw;
    position: relative;
  }
  #concept::before {
    top: 60vw;
    height: 265vw;
    z-index: -1;
  }
  #concept::after {
    top: 325vw;
    z-index: -1;
  }

  #concept .inner.flex {
    flex-direction: column;
    gap: 10.6vw;
    width: calc(100% - 5.3vw);
    margin: 0 0 auto 0;
  }
  #concept .inner.flex .text_area {
    width: 100%;
    border-top: 1vw solid;
    border-bottom-right-radius: 32px;
    box-shadow: 0px 5px 10px 2px rgba(212, 212, 212, 0.4);
    padding: 10.6vw 5.3vw;
  }
  #concept .inner.flex .text_area .text {
    padding-top: 7.3vw;
  }

  #concept .inner.flex .image_area {
    width: 100%;
  }
  #concept .inner.flex .image_area .con_img_01 {
    width: 60vw;
    margin-right: 0;
  }
  #concept .inner.flex .image_area .con_img_02 {
    width: 72vw;
    top: 44vw;
    left: 0;
  }
  #concept .inner.flex .image_area .con_img_03 {
    width: 95vw;
    height: auto;
    position: absolute;
    top: 97vw;
    right: -5.3vw;
  }
    #concept h3 {
  font-size: 5.0vw;
  margin-top: 3.0vh;
        line-height: 1.8em;
}
#concept h3 span {
  font-size: 8.0vw;
}
    
    
    

  /*=============================
      service
  ===============================*/

  #service {
    padding: 19.3vw 0 0;
  }
  #service .inner.flex {
    flex-direction: column-reverse;
    gap: 13.3vw;
    padding-left: 0;
  }
  #service .section_title_wrap.service {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 0 auto;
  }
  
  #service .inner.flex .image_area {
    width: calc(100vw - 5.3vw);
    height: auto;
    margin-left: -5.3vw;
  }
  #service .inner.flex .image_area img {
    border-bottom-right-radius: 32px;
  }
  #service .inner.flex .text_area {
    padding-top: 11.3vw;
  }
  #service .inner.flex .text_area .service_list {
    margin: 3.8vw 0 0; 
  }
  #service .inner.flex .text_area .service_list .list_item {
    max-width: 100%;
    padding: 10.6vw 0;
  }
  #service .inner.flex .text_area .service_list .list_item::before {
    height: 0.3vw;
  }
  #service .inner.flex .text_area .service_list .list_item::after {
    width: 9.3vw;
    height: 0.3vw;
  }

  #service .inner.flex .text_area .service_list .list_item h3 {
    font-size: 5.0vw;
    padding-left: 10.6vw;
    margin-bottom: 3.8vw;
  }
  #service .inner.flex .text_area .service_list .list_item h3:before {
    width: 5.3vw;
  }

  #service .inner.flex .text_area .service_list .list_item p {
    font-size: 4.0vw;
    padding: 0 5.3vw 0 10.6vw;
  }


  /*=============================
      company
  ===============================*/
  #company {
    padding: 21.6vw 0 16.6vw;
  }
  #company::before {
    height: 100vw;
    z-index: -1;
  }
  #company::after {
    bottom: 100vw;
    z-index: -1;
  }

  #company .inner {
    margin: 0 auto;
  }
  #company .inner .section_title_wrap.company {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 0 auto;
  }
  #company .inner .table_wrap {
    border-top-left-radius: 32px;
    border-top-right-radius: 32px;
    border-bottom-left-radius: 32px;
    /*box-shadow: 0px 5px 10px 2px rgba(212, 212, 212, 0.4);*/
    width: 100%;
    padding: 5.3vw;
    margin: 13.3vw auto 0;

  }
  #company .inner table {
    width: 100%;
    font-size: 4.0vw;
    line-height: 1.6;
  }
  #company .inner table tr {
    border-bottom: 0.15vw solid #acabac;
    display: flex;
    flex-direction: column;
  }
  #company .inner table tr th {
    font-size: 4.3vw;
    width: 100%;
    padding: 6.3vw 0 0.8vw;
  }
  #company .inner table tr td {
    font-size: 4.0vw;
    width: 100%;
    padding: 0.8vw 0 6.3vw;
  }
	#company .inner table tr td dl {
    clear: both;
    width: 100%;
    margin-bottom: 1.0vh;
}
#company .inner table tr td dl:last-child {
     margin-bottom: 0px;   
}

#company .inner table tr td dl dt {
    font-size: 4.3vw;
    font-weight: bold;
    line-height: 1.6em;
}
#company .inner table tr td dl dd {
    font-size: 4.0vw;
    font-weight: normal;
    line-height: 1.6em;
}
    
    
    
}