@charset "utf-8";

.grid-img {
  display:grid;
  width:600px;
  /*grid-template-columns: 1fr 1fr 1fr; */
  gap: 4px 10px;
}


.img-fresh img {
  border: 3px solid #F9F7E8;
}

.img-crystal img {
  border: 3px solid #e4eef1;
}

.img-pure img {
  border: 3px solid orange;
}

.grid-img li a {
  display: block;
  /* overflow-x: hidden; */
  overflow-y: hidden;
  height: 193px;
}

.grid-img li a img {
width: 97%;
}

.img-ex img {
  border: 3px solid #f5e1e5;
}

.img-eco img {
  border: 3px solid #e2f5e5;
}

.img-w_dia img {
  border: 3px solid #d5dbe8;
}

.img-dia img {
  border: 3px solid #f7f0d6;
}

@media screen and (max-width: 800px){	
  .grid-img {
    display:grid;
    width:98%;
    grid-template-columns: 1fr 1fr; 
    gap: 4px 10px;
  }
  .service-main {
    padding-top: 50px;
  }
  .grid-img li a {
    display: block;
    /* overflow-x: hidden; */
    overflow-x: hidden;
    height: 120px;
  }
  
  .grid-img li a img {
  width: 97%;
  }
}

/* coating-top.cssを追加20240329*/

body {
  font-family: 'Noto Sans JP', sans-serif;
  color: #333333;
}

.c-wrapper {
  display: flex;
}

.u-desktop {
  display: none;
}

@media screen and (max-width: 767px) {
  .u-desktop {
    display: block;
  }
}

@media screen and (max-width: 767px) {
  .u-mobile {
    display: none;
  }
}


/* pcの電話番号発信対応 */
@media(min-width: 768px) {
  a[href^="tel:"] {
    pointer-events: none;
  }
}


/* ホバー */
a {
  text-decoration: none;
  color: inherit;
  -webkit-transition: opacity 0.3s;
  transition: opacity 0.3s;
}

@media screen and (max-width: 767px) {
  a:hover {
    opacity: 0.8;
  }
}

*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
  padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
  margin: 0;
}

body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}


ul,
ol {
  list-style: none;
}


a:not([class]) {
  text-decoration-skip-ink: auto;
}


img {
  display: block;
  width: 100%;
}


article>*+* {
  margin-top: 1em;
}


input,
button,
textarea,
select {
  font: inherit;
}

/*共通*/
.inner {
  max-width: 1080px;
  margin: 0 auto;
  width: 100%;
  padding: 0 20px;
}
@media screen and (max-width: 768px) {
  .inner {
    width: 100%;
    margin: 0 auto;
    padding-right: 20px;
    padding-left: 20px;
  }
}


/*wrap*/
.p-coating-top_wrap {
  font-size:16px;
  margin-top:30px;
  margin-bottom: 30px;
  }

/*コーティングの種類と一覧*/
.p-coating-top__box--wrapper {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
gap: 50px;
}
.p-coating-top__box img {
border-radius: 8px;
}
.p-coating-top_banner {
  width:50%;
  max-width:700px;
  margin: 0 auto;
  margin-bottom: 80px;
}
.p-coating-top_title {
padding: 0 20px;
}

.p-coating-top_title h2{
  color: #3D69D6;
  text-align: center;
  margin-bottom: 30px;
  font-size: min(4.3vw, 50px);
}
.p-coating-top_title p{
  text-align: center;
  margin-top: 0;
  margin-bottom: 50px;
}
@media screen and (max-width:600px) {
  .p-coating-top_banner {
   width:90%; 
  }
}


/*----------------------------*/
.p-coating-top__box {
  background: #f7f0d6;
  padding:16px;
  border-radius: 6px;
  margin-bottom: 10px;
}

.p-coating-top__box--wdia {
  background: #d5dbe8;
  padding:16px;
  border-radius: 6px;
  margin-bottom: 10px;
}

.p-coating-top__box--crystal {
  background: #e4eef1;
  padding:16px;
  border-radius: 6px;
  margin-bottom: 10px;
}
.p-coating-top__box--fresh {
  background: #F9F7E8;
  padding:16px;
  border-radius: 6px;
  margin-bottom: 10px;
}
.p-coating-top__box--ecodia {
  background: #e2f5e5;
  padding:16px;
  border-radius: 6px;
  margin-bottom: 10px;
}
.p-coating-top__box--ex {
  background: #f5e1e5;
  padding:16px;
  border-radius: 6px;
  margin-bottom: 10px;
}


/*----------------------------*/
.p-coating-top__box span {
  color:#b10000;
}

.p-coating-top__text dl {
display:block;
}

.p-coating-top__text dt {
  width:151px;
  height:34px;
  line-height: 34px;
  text-align: center;
  background: #ffffff;
  margin: 6px auto;
  font-weight:600;
}

.p-coating-top__text dd {
  text-align: center;
 padding:3px 0;
  border-top:1px solid #ccc;
}

.p-coating-top__box--price {
  font-family: Arial, Helvetica, sans-serif;
  font-size:23px;
  font-weight:600;
  color:#b10000;
  text-align: center;
}

/*デフォルトのボタン*/
div.p-coating-top__btn {
  display:block;
  width:80%;
  margin:0 auto;
  text-align: center;
  color:#fff;
  background:#0B3290;
  line-height: 26px;
  padding: 20px 0;
  border-radius: 4px;
}
/*ホバー時のボタン*/
div.p-coating-top__btn :hover {
  display:block;
  opacity: 0.5;
}

/*1　ダイヤ*/
.p-coating-top__text-dia {
  font-size:20px;
  font-weight:600;
  color:#978237;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
}
/*2　wダイヤ*/
.p-coating-top__text-wdia {
  font-size:20px;
  font-weight:600;
  color:#0B3290;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
}
/*3　クリスタル*/
.p-coating-top__text--crystal {
  font-size:20px;
  font-weight:600;
  color:#19a9d8;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
}
/*4　fresh*/
.p-coating-top__text--fresh {
  font-size:20px;
  font-weight:600;
  color:#aea500;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
}

/*5　ecodia*/
.p-coating-top__text--ecodia {
  font-size:20px;
  font-weight:600;
  color:#18b630;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
}

/*6　ex*/
.p-coating-top__text--ex {
  font-size:20px;
  font-weight:600;
  color:#cc1533;
  text-align: center;
  margin-top: 10px;
  margin-bottom: 10px;
}

.p-coating-top__text-crystal {
  padding: 14px 0 !important;
}

/*7　outside1*/
/*.p-coating-top__text--outside_1 {
  font-size:20px;
  font-weight:600;
  color:#000;
  text-align: center;
  margin: 20px 0px;
  background-color: white;
  padding: 20px;
  border: 1px solid black;
  border-radius: 6px;
}
*/

.p-coating-top__text--outside {
  display: flex;
  font-size:18px;
  font-weight:600;
  color:#000;
  text-align: center;
  margin-top: 30px;
  background-color: white;
  padding: 0 0 0 10px;
  border: 1px solid black;
  border-radius: 6px;
  line-height: 60px;
}

/*追加20240329*/
.service-main2 {
  display: grid;
  grid-template-columns: 420px 560px;/*20240515 400px 500px*/
  gap: 4px 10px;
  max-width: 980px;/*20240515 900px*/
  margin: 0 auto;
}

.service-main2 > .grid-img {
  display:grid;
  grid-template-columns: 280px 280px; /*20240515 250px 250px*/
  gap: 4px 2px;
  margin-bottom: 10px;
}

.service-main2 > .grid-img li a img {
  width: 100%;
}

ul.close {
  height: 400px;/*20240515 240px*/
  overflow-y: hidden;
}

.service-main2 > .grid-img li a {
  display: block;
  /* overflow-x: hidden; */
  overflow-y: hidden;
  height: 195px;/*20240515 120px*/
}

.p-coating-top__text dl {
  font-size: 16px;
  }

div.p-coating-detail__btn1 {
    display:block;
    width:80%;
    margin:10px auto;
    text-align: center;
    color:#fff;
    background:#0B3290;
    line-height: 26px;
    padding: 20px 0;
    border-radius: 4px;
    font-size: 16px;
    /*border: solid 1px #000000;*/
  }

  div.p-coating-detail__btn2 {
    display:block;
    width:80%;
    margin:10px auto;
    text-align: center;
    color:#fff;
    background:#C0C0C0;
    line-height: 26px;
    padding: 20px 0;
    border-radius: 4px;
    font-size: 16px;
    /*border: solid 1px #000000;*/
  }

/*ホバー時のボタン*/
 @media(min-width: 768px) {
   div.p-coating-detail__btn :hover {
   display:block;
   opacity: 0.5;
   }

   .service-main2 {
    margin-top: 20px;
  }
  }

@media screen and (max-width: 768px) {
  .service-main2 {
    display: grid;
    grid-template-columns: 1fr;
    width:95%;
    margin-bottom: 10px;
  }

  ul.close {
      height: 240px;/*20240515 240px*/
      overflow-y: hidden;
    }
    
    .service-main2 > .grid-img li a {
      display: block;
      /* overflow-x: hidden; */
      overflow-y: hidden;
      height: 120px;/*20240515 120px*/
    }

    div.p-coating-detail__btn1 {
      order:4;
    }
}

.service-main2 > .grid-img {
  display:grid;
  grid-template-columns: 1fr 1fr; 
}

.commitment-sub-menu {
  display: grid;
  grid-template-columns: 350px 350px;
  gap: 10px 30px;
  max-width: 700px;
  margin: 0 auto;
}

.commitment-sub-link {
  display: flex;
  margin: 10px;
  border: 1px solid #ccc;
  border-radius: 5px;
  line-height: 50px;
}

.commitment-sub-text {
  width:320px;
  font-size: 18px;
  padding: 5px 10px;
}

.commitment-sub-img {
  width:70px;
  margin: 0 0 0 auto;

}

.arrow {
  position: relative;
  padding: 0 0 0 20px;
}
.arrow::after{
  content: "";
  position: absolute;
  top: 20px;
  right: 0;
  border: 6px solid transparent;
  border-top: 10px solid #555;   /* 好みで色を変えてください */
}

.arrow2 {
  position: relative;
  padding: 0 0 0 20px;
}
.arrow2::after{
  content: "";
  position: absolute;
  top: 30px;
  right: 10px;
  border: 7px solid transparent;
  border-top: 12px solid #555;   /* 好みで色を変えてください */
}

@media screen and (max-width:600px) {
  .commitment-sub-menu {
    display: grid;
    grid-template-columns: 1fr;
    gap:5px;
    margin: 0 auto;
  }

  .p-coating-top__box--outside {
    margin-bottom: 20px;
  }

  /*7　outside1*/
  .p-coating-top__text--outside_1 {
  font-size:15px;
}

}

/* Video*/
.thumb a {
  position: relative;
  display: block;
  text-decoration: none;
}
 
.thumb a:before {
  content: '';
      width: 100%;
      height: 100%;
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      z-index: 1;
      -webkit-transition: all 0.2s ease-in-out;
      -moz-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out;
  }
  
  .thumb a:after {
    content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      margin: auto;
      z-index: 2;
      background-image: url(/img/ourwork/video-aicon.svg);
      background-repeat: no-repeat;
      background-position: center;
      background-size: 35px 35px;
      width: 40px;
      height: 40px;
      -webkit-transition: all 0.2s ease-in-out;
      -moz-transition: all 0.2s ease-in-out;
      -o-transition: all 0.2s ease-in-out;
      transition: all 0.2s ease-in-out;
      -webkit-filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
      filter: drop-shadow(0px 0px 5px rgba(0, 0, 0, 0.5));
  }