@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Anton&display=swap');
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;
}

div h2 {
  font-size:22px;
  font-weight:600;
}





.kvtex02 {
  display:flex;
  align-items:end;
  justify-content:center;
  left:0;
}
.kvtex02 span {
  width:400px;
}

.kvtex02 span{
  position:static;
  transform:none;
}

@media screen and (max-width: 800px) {
  .kvtex02 span {
    width:85%;
  }

  .kvtex02 span{
    position:static;
    transform:none !important;
  }
}

img {
  display: block;
  width: 100%;
}


article>*+* {
  margin-top: 1em;
}


input,
button,
textarea,
select {
  font: inherit;
}

/*common*/
.inner {
  max-width: 1080px;
  padding: 0 20px;
  margin: 0 auto;
  width:100%;
}


@media screen and (max-width: 768px) {
  .inner {
    width: 90%;/*90%*/
    margin: 0 auto;
    padding: 0 0px;
  }
}

/*wrap*/
.p-dia_wrap {
font-size:16px;
margin: 30px auto;
}

/*main*/


#p-dia_suggestion_content {
  padding:0 20px;
}

.p-dia_second_content_inner {
  max-width: 1080px;
  margin: 0 auto;
  width: 100%;
}







/*コーティングの種類と一覧*/
.p-coating-top__box--wrapper {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
  gap: 10px;
  font-size: 16px;/*20240322追記*/
  }

  .p-coating-top__box img {
  border-radius: 8px;
  }
  /*----------------------------*/

  .p-coating-top__box--wrapper>[class^=p-coating-top__box] {
    display:grid;
    gap:5px 2px;
    grid-template-columns: 1fr 140px;

  }

  [class^=p-coating-top__box] > img,
  [class^=p-coating-top__box] > .p-coating-top__text:first-of-type{
    grid-column:1/3;
  }
  [class^=p-coating-top__box] > .p-coating-top__text h3{
    font-size:16px;
  }
  [class^=p-coating-top__box] > .p-coating-top__text:first-of-type dl {
    display:grid;
    grid-template-columns:0% 1fr;
    font-size:12px;
  }
  [class^=p-coating-top__box] > .p-coating-top__text:first-of-type dt {
    padding:0px;
    margin:0px;
    font-weight:400;
    text-align:right;
    font-size:12px;
    overflow:hidden;
  }
  [class^=p-coating-top__box] > .p-coating-top__text:first-of-type dd {
    padding:0px;
    margin:0px;
    font-weight:400;
    text-align:center;
    font-size:16px;
  }

  [class^=p-coating-top__box] > .p-coating-top__text:first-of-type p:first-child {
    font-size:1.2em;
  }


  [class^=p-coating-top__box] > .p-coating-top__text:last-of-type{
    grid-column:1/2;
    grid-row: 3/4;

  }

  [class^=p-coating-top__box] > .p-coating-top__label{
    grid-column:1/3;
  }

  [class^=p-coating-top__box] > .p-coating-top__label ul{
    display:grid;
    grid-template-columns: 1fr 1fr;
    gap:3px;
  }
  [class^=p-coating-top__box] > .p-coating-top__label  li{
    background-color:yellow;
    border:2px solid white;
    border-radius:3px;
    font-size:12px;
    text-align:center;
    font-weight:700;
  }
  [class^=p-coating-top__box] > .p-coating-top__btn{
    grid-row: 3/4;
    grid-column:2/3;
    font-size:14px;
    background-color:rgba(0, 0, 0, 0);
    display:flex;
    align-items:center;
    justify-content:center;
    padding:0px;
  }

  [class^=p-coating-top__box] > .p-coating-top__btn a{
    grid-row: 3/4;
    grid-column:2/3;
    font-size:14px;
    padding: 5px 25px;
    padding-left:10px;
    display:block;
    border-radius:5px;
    background: right 5px center / 15px no-repeat url(/img/top/arrow.png) #ff7c80;
    box-shadow:4px 5px 6px rgb(189 189 189);
  }

  .p-coating-top__content > .inner{
    padding:0px;
  }

  @media screen and (max-width: 768px) {
    .p-coating-top__content > .inner {
      width:100%;
    }
  }

  .service_container-inner{
    padding:10px 0 !important;
    width:100% !important; 
  }

  .p-coating-top__box--price .value {
    font-family: "Anton", sans-serif;
    font-weight: 400;
    font-style: normal;
    font-size:1.2em;
  }
  .p-coating-top__box--price .unit {
    font-weight: 400;
    font-style: normal;
    font-size:.8em;
  }

  .p-coating-top__box--price + .note {
    font-size:9px;
  }

  .p-coating-top__box {
    background: #f7f0d6;
    padding:16px;
    border-radius: 6px;
  }
  
  .p-coating-top__box--wdia {
    background: #d5dbe8;
    padding:16px;
    border-radius: 6px;
  }
  
  .p-coating-top__box--crystal {
    background: #e4eef1;
    padding:16px;
    border-radius: 6px;
  }
  .p-coating-top__box--fresh {
    background: #F9F7E8;
    padding:16px;
    border-radius: 6px;
  }
  .p-coating-top__box--ecodia {
    background: #e2f5e5;
    padding:16px;
    border-radius: 6px;
  }
  .p-coating-top__box--ex {
    background: #f5e1e5;
    padding:16px;
    border-radius: 6px;
  }
  /*----------------------------
  .p-coating-top__box span {
    color:#b10000;
  }
  */
  
  
  .p-coating-top__text dt {
    /*width: 122px;
    height: 26px;
    line-height: 26px;*/
    text-align: center;
    margin: 10px auto;
    font-weight: 600;
    font-size: 12px;
  }

  .p-coating-top__text dt:after{
    content:"：";
  }
  
  .p-coating-top__text dd {
    text-align: center;
   padding:3px 0;
    
  }
  
  .p-coating-top__box--price {
    font-family: Arial, Helvetica, sans-serif;
    font-size:23px;
    font-weight:600;
    color:#000000;
    text-align: center;
  }


  
  /*デフォルトのボタン*/
  div.p-coating-top__btn {
    display:block;
    width:100%;
    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;
  }









/*ボタン*/
.c-btn {
  background: #f29b22;
  color: #333333;
  display: block;
  width: 300px;
  height: 50px;
  border-radius: 30px;
  border: 0;
  color: #fff;
}

.c-btn {
  display: inline-block;
  padding: 10px 20px;
  padding-top: 13px;
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  text-decoration: none;
  border: none;
  border-radius: 30px;
  cursor: pointer;
  color: #fff;
  background: linear-gradient(135deg, #ff8c00, #ff4500);
  box-shadow: 0 4px 6px rgba(255, 69, 0, 0.1), 0 8px 15px rgba(255, 69, 0, 0.1);
  backdrop-filter: blur(10px);
  /* ガラスのようなぼかしを追加 */
  transition: background 0.3s ease, box-shadow 0.3s ease;
}

.c-btn:hover {
  background: linear-gradient(135deg, #ff4500, #ff8c00);
  box-shadow: 0 4px 6px rgba(255, 69, 0, 0.2), 0 8px 15px rgba(255, 69, 0, 0.2);
}

.c-btn-ecodia {
  display: block;
  margin-right: 0;
  margin-left: auto;
  margin-top: 20px;
  margin: 0 auto;
}
@media screen and (max-width:600px) {
  .c-btn-ecodia {
    margin: 0 auto;
    margin-top: 20px;
    width:100%;
  }
}



/*TOP*/
.top__mv {
width:100%;
height:80vh;
background: #3D69D6;
}


/*SERVICE*/
.service_container {
position: relative;
max-width: 1080px;
background:url(../img/top/service-bg.png) ;
background-repeat: repeat;
background-size:contain ;
margin-bottom: 20px;
margin:60px auto;
padding:40px 0;
border-radius: 10px;
}

.service_container-inner {
background: #fff;
width:90%;
margin:0px auto;
padding: 30px 0px;
border-radius: 10px;
}

/*CONCEPT*/
.concept-container {
  background-color: #1F51C9;
  width:100%;
  margin: 50px auto;
  margin-bottom: 20px;
  /*background-image: url(../img/top/concept-bg.png);
  background-repeat: no-repeat;
  background-position: 100% 130%;
  background-size: 60%;*/
  position: relative;
  padding: 20px;
}

.concept__obj01 {
  position: absolute;
  top:0;
  left:0;
}
.concept__obj02 {
  position: absolute;
  top: 71%;
  left: 84%;
}

.concept__obj01 img,
.concept__obj02 img
{
  object-fit: contain;
  width:50%;
}

.concept-text-box {
text-align: center;
color:#ffffff;
margin: 0px;
}

.p-coating-top_concept-text-box {
  margin-top: 50px;
  text-align: center;
}

.p-coating-top_concept-text-box p {
  line-height: 1.7;
  font-size: 14px;
}

.p-coating-top_concept-text-box h2 {
  color:#3D69D6;
  text-align:center;
  margin-bottom: 30px;
  font-size: min(4.3vw, 50px);
}

.concept-text-box h2 {
  color:#FFF500;
  font-size: min(4.3vw, 50px);
}

.concept-text-box h2 span {
  display: block;
  font-size:20px;
  color:#fff;
  margin-bottom: 40px;
  margin-top: 10px;
}

.concept-text-box p {
  font-size:20px;
  line-height: 1.7;
  font-weight:600;
}

.concept-text-box p span {
  font-size:28px;
  color:#FFF500;
}


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

  .concept-text-box h2 {
    font-size:22px;
  }

  
  .concept-container{
    /*
    background-image: url(../img/top/concept-bg.png);
    background-repeat: no-repeat;
    background-position: 100% 120%;
    background-size: 60%;*/
    padding: 20px;
  }
  .concept-text-box {
    margin: 0px;
  }
}

@media screen and (max-width:600px) {
  .concept-container{
    /*
    background-image: url(../img/top/concept-bg.png);
    background-repeat: no-repeat;
    background-position: 100% 120%;
    background-size: 60%;*/
    padding: 20px;
  }
  .concept-text-box {
    margin: 0px;
  }
  .concept__obj01 img,
.concept__obj02 img
{
  object-fit: contain;
  width:20%;
}

.concept-container {
  margin: 0 auto;
}
.p-coating-top_concept-text-box h2 {
  font-size:20px;
}
}


/*FEATURE*/
.feature__card-container {
  max-width: 1080px;
  margin: 0px auto;
  margin-bottom: 20px;
  background-color: #fff;
  padding: 10px;
  border-radius: 10px;
  
}
.flow-container-p {
  color:#ffffff;
  text-align: center;
}



/*FEATURE-CARD*/
.card-container {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}

.feature__card {
  width:100%;
  background-color: #fff;
  padding: 16px;
  border-radius: 5px;
  box-sizing: border-box;
  position: relative;
}
.feature__card-img-box {
  position:relative;
}

.feature__card-wrapper {
  display: flex;
  gap:100px 40px;
  margin-bottom: 70px;
}


.feature__card-wrapper-reverse {
  display: flex;
  flex-direction: row-reverse;
  gap:40px;
  margin-bottom: 70px;
}

.feature__card-number {
  position: absolute;
  top:-40px;
  left:88%;
  font-size: min(5.3vw, 68px);
  font-weight: bold;
  font-family: 'Roboto Condensed', sans-serif;
  font-style: italic;
  font-weight:500;
  color: #aaaaaa;
}
.feature__card-number span {
  color: #0042E0;
  font-family: 'Roboto Condensed', sans-serif;
  font-style: italic;
  font-weight: 500;
}
.feature__card-number2 {
  position: absolute;
  top:-40px;
  left:2%;
  font-size: min(5.3vw, 68px);
  font-family: 'Roboto Condensed', sans-serif;
  font-style: italic;
  font-weight:500;
  color: #aaaaaa;
}
.feature__card-number2 span {
  color: #0042E0;
  font-family: 'Roboto Condensed', sans-serif;
  font-style: italic;
  font-weight: 500;
}
.feature__card-body {
  width:90%;/*80%*/
}

.feature__card-img {
  object-fit: cover;
  border-radius: 5px;
  margin-top: 10px;
  width: 100%;
}

.feature__card-title {
  font-size: 26px;
  color: #333;
  text-align: left;
  margin: 20px 0;
}

.feature__card-text {
  font-size: 14px;
  line-height: 1.7;
  text-align: left;
  color: #555;
}

@media screen and (max-width:768px) {
  .feature__card-number{
  top:-26px;
  left:88%;
  font-size: min(5.3vw, 68px);
  }

.feature__card-number2 {
  top:-26px;
  left:2%;
  font-size: min(5.3vw, 68px);
}

.feature__card-wrapper.mb-b-sp-0{
  margin-bottom: 0;
}

}

@media screen and (max-width:600px) {
  .feature__card-wrapper {
    display: block;
    gap:100px 20px;
  }
  .feature__card-wrapper-reverse {
    display: block;
    gap:100px 20px;
  }
  .feature__card-img {
    min-width:auto;
  }
  .feature__card-number,.feature__card-number2 {
    font-size:40px;
  }
  .feature__card-number,.feature__card-number2 span {
    font-size:40px;
  }
  .feature__card-title {
    font-size:23px;
  }

  .feature__card-body {
    width:100%;/*20240722*/
  }

}


/*FLOW*/
.p-top_flow {
background: url(../img/top/flow-bg0.png) no-repeat;
background-size: contain;
background-position: 100% 87px;
padding-top: 200px;
}
.flow-container {
  width:100%;
  margin: 50px auto;
  margin-bottom: 20px;
  background-color: #fff;
  padding: 20px;
  border-radius: 0px;
  background: url(../img/top/flow-bg.png);
  background-size: contain;
  padding: 90px 30px;
}
.flow-container-p {
  color:#ffffff;
  text-align: center;
}

/*CARD*/
.card-container {
  display: flex;
  justify-content: space-between;
  margin-top: 30px;
}

.card {
  width:22%;
  flex: 1; /* カードを均等に伸縮させる */
  background-color: #fff;
  padding: 16px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
  border-radius: 5px;
  box-sizing: border-box;
  position: relative;
}
.flow-yajirusi {
  position: relative;
  width: 20px;
  top: 141px;
  left: 0;
}

.card-number {
  position: absolute;
  top:-20px;
  left:-9px;
  font-size: 24px;
  font-family: 'Roboto Condensed', sans-serif;
  font-style: italic;
  font-weight: bold;
  color: #f1ee30;
}

.card-img {
  width: 100%;
  max-height: 150px;
  object-fit: cover;
  border-radius: 5px;
  margin-top: 10px;
}

.card-title {
  font-size: clamp(14px, min(1.3vw, 17px), 100%);
  color: #0B3290;
  text-align: center;
  margin: 10px 0;
}

.card-text {
  font-size: 14px;
  text-align: left;
  color: #555;
}
@media screen and (min-width:1280px) {
  .p-top_flow { 
    background-position: 100% -3px;
  }
  .concept-container {
    padding: 20px;
    background-position: 100% 170px;
  }
  .concept-text-box {
    width: 600px;
    text-align: center;
    color: #ffffff;
    margin: 0px auto;
  }

}

@media screen and (max-width:768px) {
  .p-top_flow { 
    background-position: 100% 130px;
  }
}

@media screen and (max-width:600px) {
  .concept-text-box {
    width: auto;
  }
  .p-top_flow { 
    background-size: 160%;
    background-position: 100% 100%;
    padding-top: 10px;
  }
  .card-container {
    display: block;
  }
  .card {
    width:100%;
    margin-top: 40px;
  }
  .flow-container {
 background-size: cover;
  }
}



/*決済方法*/
.pay-container {
  max-width: 1080px;
  margin: 38px auto;
  margin-bottom: 20px;
  background-color: #fff;
  padding: 40px;
  border-radius: 10px;
  border:2px solid #0B3290;
}

.pay-wrapper {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(143px, 1fr));
gap: 20px;
}

@media screen and (max-width:600px) {
  .pay-wrapper {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(134px, 1fr));
    gap: 32px 0;
  }
  .pay-container {
    
    padding: 20px;
  }
}

/*Q&A*/
      .heading-h2 {
        font-size:34px;
        font-weight:600;
        color:#0B3290;
        margin-bottom: 20px;
        font-family: 'Roboto Condensed', sans-serif;
        font-style: normal;
      }
      .heading-sub {
        font-size: 18px;
        color:#000;
      }
      .heading-line {
        margin: 0 20px;
        color:#0B3290;
        border-left:1px solid #0B3290;
      }
      .faq-container {
          max-width: 600px;
          margin: 130px auto;
          background-color: #fff;
          padding: 20px;
          border-radius: 10px;
      }

      .faq-heading {
        text-align: center;
        font-size: 24px;
        color: #333;
      }

        
        .faq-item {
          margin-top: 20px;
        }
    
        .question, .answer {
          display: flex;
          align-items: center;
          justify-content: center;
          border-radius: 50%;
          min-width: 52px;
          height: 52px;
          background-color: #0B3290;
          font-family: 'Roboto Condensed', sans-serif;
          font-style: normal;
          color: #fff;
          font-size: 18px;
          font-weight: bold;
          margin-right: 15px;
        }
    
        .answer {
          background-color: #D19523;
        }

.faq-wrapper {
  display:flex;
  align-items: center;
}

.faq-wrapper p {
  font-size:14px;/*20240219追記*/
}

.faq-wrapper-top {
  display:flex;
  align-items:baseline;
}

.faq-line {
  display:block;
  border-top:1px solid #333;
  margin-top: 40px;
  margin-bottom: 40px;
}

@media screen and (max-width:600px) {
.heading-sub {
display:block;
}
.heading-line {
  display:none;
}
}

/*FLOW*/
.service_container-inner .service_container_title {
  position:absolute;
  top:0;
  left:50%;
  transform: translate(-50%, 0%);
  width:100%;
  text-align: center;
  }
.service_container_title {
  font-size:25px;
}




.p-top_flow {
  position:relative;
  padding-top:0px;
}

.flow-heading {
  position:absolute;
  top:20px;
  width:100%;
  text-align: center;
  font-size: 24px;
  color: #333;
}

.flow-heading 
.heading-h2 {
  font-size:34px;
  font-weight:600;
  color:#ffffff;
  margin-bottom: 20px;
  font-family: 'Roboto Condensed', sans-serif;
  font-style: normal;
}
.flow-heading 
.heading-sub {
  font-size: 18px;
  color:#fff;
}


.wrap-top-gallery {  background-color:#171717;}
.top-gallery { display:flex;  width:90%; margin:0 auto;}
.top-gallery li { padding: 20px 10px;}

@media screen and (max-width:800px) {
  .top-gallery { width:100%; }
  .top-gallery li { padding:10px 5px;}
  .top-gallery li:last-child { display:none;}
}