@charset "utf-8";

/* タブレット（iPad Pro） */
@media screen and (min-width: 1024px) and (max-width: 1350px) {
  .mainVisual + .content .case {
    max-width: inherit;
  }
  #index .mainVisual .linkList li{
    margin: 28px 0 0;
  }
  #index .mainVisual .linkList li + li{
    margin-left: 20px;
  }
  #index .topTxtBox{
    margin: 50px 0 38px;
    max-width: none;
  }
  #index .service .listUl{
    margin: 0 0 80px 0;
    justify-content: space-between;
  }
  #index .service .listUl li{
    margin: 20px 0 0;
    width: 230px;
  }
  #index .service .listUl li + li{
    margin-left: 17px;
  }
  #index .orders_received {
  margin: 0 auto;
  width: auto;
  }
  #index .orders_received_block_card_text_area_lead {
    font-size: 16px;
  }
  #index .orders_received_block_card {
    width: auto;
  }
  #index .orders_received_block_card_text_area {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }
  #index .orders_received_block_card_text_area_number {
    font-size: 16px;
  }
  #index .orders_received_block_card_text_area_number #count-replace, .orders_received_block_card_text_area_number #count-repair, .orders_received_block_card_text_area_number #count-total {
    font-size: 40px;
  }

/*------------------------------------------------------------
CONTACT US
------------------------------------------------------------*/
/* comContact */
  .comContact .content {
    max-width: inherit;
    margin: 0 30px;
  }
}

/* タブレット（iPad Mini、iPad Air） */
@media all and (min-width: 896px) and (max-width: 1920px){
  #index .orders_received {
  margin: 0 auto;
  width: auto;
  }
  #index .orders_received_block_card_text_area_lead {
    font-size: 13px;
  }
  #index .orders_received_block_card {
    width: auto;
  }
  #index .orders_received_block_card_text_area {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
  }
  #index .orders_received_block_card_text_area_number {
    font-size: 13px;
  }
  #index .orders_received_block_card_text_area_number #count-replace, .orders_received_block_card_text_area_number #count-repair, .orders_received_block_card_text_area_number #count-total {
    font-size: 40px;
  }
}

@media all and (min-width: 897px) {
  #index .newsBox .link a:hover {
    border-bottom: 1px solid #FF4A4A;
  }

/*------------------------------------------------------------
NEWS
------------------------------------------------------------*/
/* newsDl */
  .newsDl dd a:hover {
    border-bottom: 1px solid #FF4A4A;
  }
}

@media all and (max-width: 896px) {
  #index #container {
    padding-top: 48px;
  }
  #index .mainVisual {
    padding-bottom: 10px;
    height: 400px;
    background-image: url("/img/index/TOP_slide_smp.png");
    background-position: center;
  }
  /* ブラウザが WebP をサポートしている場合は上書き */
  @supports (background-image: url("test.webp")) {
    #index .mainVisual {
      background: url("/img/index/TOP_slide_smp.webp") no-repeat center top;
      background-position: center;
      background-size: cover;
    }
  }
  #index .mainVisual .content {
    margin: 0 20px;
  }
  #index .mainVisual h2 {
    margin-bottom: 15px;
    font-size: 2rem;
  }
  #index .mainVisual .linkList {
    margin: 0 -15px;
  }
  #index .mainVisual .linkList li {
    margin: 15px 7px 0;
    padding: 2px 10px 4px;
    font-size: 1.4rem;
    border-radius: 10px;
  }
  #index .topTxtBox {
    margin: 30px 0 40px;
  }
  #index .topTxtBox h2 {
    margin-bottom: 15px;
    font-size: 2rem;
  }
  #index .topTxtBox p {
    margin-bottom: 15px;
    font-size: 1.5rem;
  }
  #index .topTxtBox .small {
    margin: -10px 8px 12px 0;
    font-size: 1.3rem;
  }
  #index .headLine01 {
    margin-bottom: 15px;
    font-size: 2rem;
  }
  #index .headLine01 span {
    padding: 0 10px 5px;
    min-width: 180px;
  }
  #index .headLine01 span:after {
    height: 17px;
    right: -6px;
    bottom: -2px;
  }
  #index .service .listUl {
    margin: 0 0 25px;
    display: block;
  }
  #index .service .listUl li {
    margin: 20px 0 0;
    width: auto;
  }
  #index .service .listUl li img {
    width: 213px;
    margin: 0 auto;
    display: block;
  }
  #index .service .listUl .ttl {
    font-size: 1.8rem;
    margin: 10px 0;
  }
  #index .service {
    margin-bottom: 35px;
  }
  #index .case {
    margin-bottom: 45px;
  }
  #index .case h2 {
    margin-bottom: 40px;
  }
  #index .case .listUl {
    margin-bottom: 25px;
    display: block;
  }
  #index .case .listUl li {
    margin-top: 20px;
    width: auto;
  }
  #index .case .listUl li .ttl {
    font-size: 2rem;
  }
  #index .case .listUl li p {
    font-size: 1.5rem;
  }
  #index .newsBox h2 {
    margin-bottom: 40px;
  }
  #index .newsBox .newsDl {
    max-width: inherit;
  }
  #index .newsBox .newsDl dd {
    padding-bottom: 12px;
  }
  #index .newsBox .link {
    margin-top: -6px;
  }
  #index .service .overview {
    margin: 0 auto 40px;
    max-width: 960px;
    display: flex;
    flex-direction: column;
    justify-content: center;
    text-align: center;
  }
  #index .service .overview p {
    padding: 10px;
    background: #eee;
    text-align: center;
    font-size: 15px;
  }
  #index .service .overview img {
    width: 100%;
  }
  #index .service .overview .btn_around {
    padding: 30px 10px 30px;
  }
  #index .service .overview + .overview {
    flex-direction: column-reverse;
  }
  #index .mainVisual .linkList {
    margin: 0 auto;
    max-width: 365px;
  }
  #index .orders_received {
  margin: 0 0 30px 0;
  width: auto;
  }
  #index .orders_received h2 {
  margin-bottom: 15px;
  font-size: 2rem;
  font-weight: 500;
  text-align: center;
  }
  #index .orders_received_block {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
  }
  #index .orders_received_block_card {
    width: 90%;
    padding: 10px 30px 0;
    color: #fff;
  }
  #index .orders_received_block_card:nth-child(2) {
    border: dashed 1px #ccc;
    border-right: none;
    border-left: none;
  }
  #index .orders_received_block_card_text_area_lead {
  font-size: 14px;
  font-weight: 500;
  letter-spacing: 1px;
  }
  #index .orders_received_block_card_text_area_total {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 33px;
  }
  .orders_received_block_card_text_area_number #count-replace, .orders_received_block_card_text_area_number #count-repair, .orders_received_block_card_text_area_number #count-total {
  font-size: 40px;
  font-family: "STIX Two Text", serif;
  font-optical-sizing: auto;
  font-weight: 400;
  font-style: normal;
  margin-right: 5px;
  }
  #index .orders_received_block_card_text_area_number {
    font-size: 14px;
  }

/*------------------------------------------------------------
CONTACT US
------------------------------------------------------------*/
/* comBtn */
  .comBtn:not(:last-child) {
    margin-bottom: 20px;
  }
  .comBtn a {
    padding: 12px;
    width: 100% !important;
    max-width: 330px;
    font-size: 1.5rem;
  }
  .comContact {
    margin-top: 60px;
    padding-top: 35px;
  }
  .comContact .content {
    max-width: inherit;
  }
  .comContact h2 {
    margin-bottom: 20px;
    font-size: 2rem;
  }
  .comContact .bgBox {
    margin-bottom: 25px;
    padding: 10px;
  }
  .comContact .comBtn a {
    width: 100%;
  }

/*------------------------------------------------------------
news
------------------------------------------------------------*/
  .newsDl {
    margin-bottom: 35px;
  }
  .newsDl dt {
    float: none;
  }
  .tag {
    margin-left: 10px;
    padding-bottom: 1px;
  }
  .newsDl dd {
    padding: 5px 0 20px;
    word-break: break-all;
  }
}

@media all and (min-width: 768px) and (max-width: 896px) {
  #index .topTxtBox {
    margin-bottom: 38px;
  }
  #index .topTxtBox h2{
    margin-bottom: 20px;
  }
  #index .topTxtBox p + p {
    margin-bottom: 0px;
  }
  #index .topTxtBox p + .comBtn {
    margin-top: 30px;
  }
  #index .service .listUl {
    margin-bottom: 50px;
  }
  #index .service .listUl, #index .case .listUl {
    display: flex;
  }
  #index .service .listUl li {
    width: 170px;
  }
  #index .service .listUl li + li {
    margin-left: 30px;
  }
  #index .service .overview, #index .service .overview + .overview {
    flex-direction: row;
  }
  #index .case .listUl li + li {
    margin-left: 50px;
  }
}

/* スマホ */
@media all and (min-width: 404px) and (max-width: 896px) {
  #index .mainVisual .linkList {
    margin: 0 auto;
    max-width: 365px;
  }
}

@media all and (max-width: 374px) {
  #index .topTxtBox h2 {
    font-size: 1.9rem;
  }
  #index .mainVisual .linkList li {
    margin: 15px 5px 0;
    font-size: 1.35rem;
  }
}

@media all and (max-width: 359px) {
  #index .mainVisual .linkList li {
    margin: 15px 2px 0;
    font-size: 1.2rem;
  }
}