@charset "UTF-8";
/* ========================================
  @media screen and (min-width: 768px), print
======================================== */
@media screen and (min-width: 768px),print {
/* main-ttl-box
-------------------------------------*/
.main-ttl-box {
    background: url(../images/inspection/main-ttl-bg.jpg)no-repeat top center;
}

/* intro
-------------------------------------*/
.intro {padding-block: 133px 160px;}
.intro .ttl {
    font-weight: 500;
    font-size: 40px;
    letter-spacing: 0.05em;
    margin-bottom: 52px;
}
.intro .txt {
    font-size: 18px;
    letter-spacing: 0.05em;
    line-height: 2.1111;
}
.intro .lead {
    font-weight: 500;
    font-size: 24px;
    letter-spacing: 0.05em;
    line-height: 1.8333;
    padding-block: 29px 0;
}
.intro .inBox01 {
    display: grid;
    gap: calc(80 / 1920 * 100vw);
    width: min(95%,1560px);
    margin-right: auto;
    grid-template-columns: 61.5384% 33.3333%;
    align-items: center;
    padding-block: 0 98px;
}
.intro .inBox02 {
    width: min(95%, 1040px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: 44.2307% 48.0769%;
    gap: calc(42 / 1920 * 100vw);
    align-items: center;
    justify-content: flex-end;
    padding-block: 0 120px;
}

.intro .list-box {
    width: min(95%, 1440px);
    margin-inline: auto;
    background: #f2f2f2;
    padding-block: 83px 75px;
}
.intro .list-box .ttl {
    font-weight: 500;
    font-size: 32px;
    letter-spacing: 0.05em;
    line-height: 1.25;
    text-align: center;
    margin-bottom: 63px;
}
.intro .list-box .img {
    width: min(95%, 1200px);
    margin-inline: auto;
    margin-bottom: 35px;
}
.intro .list-box .img img {
    width: 100%;
    height: auto;
}
.intro .list-box .desc {
    font-size: 14px;
    letter-spacing: 0.05em;
    line-height: 2.285714;
    text-align: center;
}

/* table
-------------------------------------*/
.intro .list-box .table-wrapper {
    width: min(95%, 1200px);
    margin-inline: auto;
}
.inspection-table {
    width: 100%;
    background: #fff;
    border: 1px solid #d1d1d1;
    margin-bottom: 33px;
}
.inspection-table tr {
    border-top: 1px solid #d1d1d1;
}
.inspection-table th,
.inspection-table td {
    padding: 11px 20px;
    vertical-align: middle;
    font-size: 16px;
    letter-spacing: 0.05em;
    line-height: 1.6;
}

/* ヘッダー */
.inspection-table thead th {
    background: rgba(26, 26, 26, 0.15);
    font-weight: 500;
    font-size: 24px;
    line-height: 1.6666;
    padding: 10px 20px;
}
.inspection-table thead th:not(:last-child) {
    border-right: 1px solid #FFFFFF;
}
.inspection-table thead th span {
    display: block;
    font-size: 18px;
    font-weight: 500;
}

/* 列幅調整 */
.inspection-table th:nth-child(1) {
    width: 33.2%;
}
.inspection-table th:nth-child(2) {width: 33.5%;}

.inspection-table td {
    padding: 8px 40px;
    font-size: 18px;
    line-height: 1.5555;
    font-weight: 500;
    letter-spacing: 0.05em;
    align-items: center;
}
.inspection-table td .grid {
    display: grid;
    grid-template-columns: 40% 1fr;
    align-items: center;
    gap: 8px;
}
.inspection-table td:nth-child(1){
    border-right: 1px solid #D1D1D1;
}
.inspection-table td:nth-child(2) {
    padding: 8px 34px;
    border-right: 1px solid #D1D1D1;
}
.inspection-table td:nth-child(2) .grid {grid-template-columns: 33% 1fr;}

.inspection-table .ttl-wrap {
    display: flex;
    gap: 15px;
    align-items: center;
}
.inspection-table .num {
    display: grid;
    place-content: center;
    width: 25px;
    height: 25px;
    background: #12294B;
    color: #fff;
    border-radius: 50%;
    font-size: 18px;
}
.inspection-table .detail {
    font-size: 16px;
}

/* 点検内容のセル */
.inspection-table td.content {
    font-size: 14px;
    line-height: 2;
    text-align: left;
    padding: 16px 35px;
}

/* 中央のハイフン */
.inspection-table .center-line {
    text-align: center;
}



/* about
-------------------------------------*/
.about {
    background: #F2F2F2;
    padding-block: 120px;
}
.about .list {
    display: grid;
    gap: 60px;
    width: min(95%, 1440px);
    margin-inline: auto;
}
.about .list li {
    background: #FFFFFF;
    padding-block: 60px 58px;
    padding-inline: 120px;
    display: grid;
    grid-template-columns: 39.5833% 56.6666%;
    gap: 45px;
}
.about .list li .ttl {
    font-weight: 500;
    font-size: 32px;
    letter-spacing: 0.05em;
    line-height: 1.25;
    margin-bottom: 30px;
}
.about .list li .txt {
    font-size: clamp(0.75rem, 0.583rem + 0.35vw, 1rem);
    letter-spacing: 0.05em;
    line-height: 2;
}


/* bottom-sec
-------------------------------------*/
.bottom-sec {
    padding-block: 180px 240px;
}
.bottom-sec .photo img {
    width: 100%;
    height: auto;
}
.bottom-sec .bnr-box {
    width: min(95%, 1020px);
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: calc(60 / 1920 * 100vw);
}



}

/* ========================================
@media screen and (min-width:768px) and (max-width:1200px)
======================================== */
@media screen and (min-width:768px) and (max-width:1200px) {
.main-ttl-box .enttl {
    font-size:clamp(3.125rem, -0.208rem + 6.94vw, 5rem);
}
}

/* ========================================
@media screen and (min-width:768px) and (max-width:1640px)
======================================== */
@media screen and (min-width:768px) and (max-width:1640px) {
.intro .ttl {
    font-size: clamp(1.875rem, 1.655rem + 0.46vw, 2.5rem);
}
.intro .txt {
    font-size: clamp(0.875rem, 0.655rem + 0.46vw, 1.125rem);
}
.intro .lead {
    font-size: clamp(1.25rem, 1.03rem + 0.46vw, 1.5rem);
}
.intro .inBox01 .photo img,
.intro .inBox02 .photo img {
    width: 100%;
    height: auto;
}

}

/* ========================================
@media screen and (min-width:768px) and (max-width:1240px)
======================================== */
@media screen and (min-width:768px) and (max-width:1240px) {
/* table
-------------------------------------*/
.inspection-table {
    margin-bottom: 2.661vw;
}
.inspection-table th,
.inspection-table td {
    padding: 0.887vw 1.613vw;
    font-size: 1.29vw;
}

/* ヘッダー */
.inspection-table thead th {
    font-size: 1.935vw;
    padding: 0.806vw 1.613vw;
}
.inspection-table thead th span {
    font-size: clamp(0.75rem, 0.343rem + 0.85vw, 1rem);
}

/* 列幅調整 */
.inspection-table td {
    padding: 0.645vw 2.226vw;
    font-size: clamp(0.75rem, 0.343rem + 0.85vw, 1rem);
}
.inspection-table td .grid {
    grid-template-columns: 42% 1fr;
    gap: 0.645vw;
}
.inspection-table td:nth-child(2) .grid {
    grid-template-columns: 35% 1fr;
}
.inspection-table td:nth-child(2) {
    padding: 0.645vw 2.742vw;
}
.inspection-table .ttl-wrap {
    gap: 1.21vw;
}
.inspection-table .num {
    width: 2.016vw;
    height: 2.016vw;
    font-size: 1.452vw;
}
.inspection-table .detail {
    font-size: clamp(0.75rem, 0.343rem + 0.85vw, 1rem);
}

/* 点検内容のセル */
.inspection-table td.content {
    font-size: clamp(0.688rem, 0.382rem + 0.64vw, 0.875rem);
    padding: 1.29vw 2.823vw;
}

}
    

/* ========================================
@media screen and (min-width:768px) and (max-width:1520px)
======================================== */
@media screen and (min-width:768px) and (max-width:1520px) {
.about .list li .photo img {
    width: 100%;
    height: auto;
}
}


/* ========================================
  @media screen and (min-width:768px) and (max-width:1280px)
======================================== */
@media screen and (min-width:768px) and (max-width:1280px) {
.bottom-sec .bnr-box img {
    width: 100%;
    height: auto;
}
}


/* ========================================
    @media screen and (max-width: 767px)
======================================== */
@media screen and (max-width: 767px) {
/* main-ttl-box
-------------------------------------*/
.main-ttl-box {
    background: url(../images/inspection/main-ttl-bg_sp.jpg)no-repeat;
    background-size: cover;
    padding-block: 10.39vw 13.375vw;
}
.main-ttl-box .enttl {
    font-size:9.662vw;
    margin-bottom: -4.5vw;
    line-height: 1;
}

/* intro
-------------------------------------*/
.intro {
    padding-block: 3.49vw 19vw;
}
.intro .ttl {
    font-weight: 400;
    font-size:6.28vw;
    letter-spacing: 0.05em;
    margin-bottom: 8.16vw;
}
.intro .txt {
    font-size:3.865vw;
    letter-spacing: 0.05em;
    line-height: 2;
}
.intro .lead {
    font-weight: 400;
    font-size:4.831vw;
    letter-spacing: 0.05em;
    line-height: 1.9;
    padding-block: 8vw 13vw;
}
.intro .inBox01 {display: grid;gap: 8.86vw;padding-block: 0 8.66vw;}
.intro .inBox01 .txt-box {
    width: 86.96vw;
    margin-inline: auto;
}
.intro .inBox02 {width: 86.96vw;margin-inline: auto;display: grid;gap: 8.66vw;}
.intro .inBox02 .photo {
    order: 1;
    width: 84.54vw;
    margin-inline: auto;
}
.intro .inBox02 .txt-box {
    order: 2;
}

.intro .list-box {
    width: 91.79vw;
    margin-inline: auto;
    background: #f2f2f2;
    padding-block: 12.08vw 12.77vw;
    padding-inline: 4.83vw;
}
.intro .list-box .ttl {
    font-weight: 400;
    font-size:6.28vw;
    letter-spacing: 0.05em;
    line-height: 1.461538;
    text-align: center;
    margin-bottom: 9.66vw;
}

/* table
-------------------------------------*/
.intro .list-box .table-wrapper {
    /* width: min(95%, 82.13vw); */
    /* margin-inline: auto; */
}
.inspection-table {
    width: 1200px;
    background: #fff;
    border: 0.2vw solid #d1d1d1;
    margin-bottom: 3.05vw;
}
.inspection-table tr {
    border-top: 0.2vw solid #d1d1d1;
}
.inspection-table th,
.inspection-table td {
    padding: 2.66vw 4.83vw;
    vertical-align: middle;
    font-size:4.348vw;
    letter-spacing: 0.05em;
    line-height: 1.5555;
}

/* ヘッダー */
.inspection-table thead th {
    background: rgba(26, 26, 26, 0.15);
    font-weight: 500;
    font-size:5.797vw;
    line-height: 1.6666;
    padding: 2.52vw 0;
}
.inspection-table thead th:not(:last-child) {
    border-right: 0.2vw solid #FFFFFF;
}
.inspection-table thead th span {
    display: block;
    font-size:4.348vw;
    font-weight: 500;
}

/* 列幅調整 */
.inspection-table th:nth-child(1) {
    width: 33.2%;
}
.inspection-table th:nth-child(2) {width: 33.5%;}

.inspection-table td {
    padding: 1.93vw 10.66vw;
    font-size:4.348vw;
    line-height: 1.5555;
    font-weight: 500;
    letter-spacing: 0.05em;
    align-items: center;
}
.inspection-table td .grid {
    display: grid;
    grid-template-columns: 40% 1fr;
    align-items: center;
    gap: 2.93vw;
}
.inspection-table td:nth-child(1){
    border-right: 0.2vw solid #D1D1D1;
}
.inspection-table td:nth-child(2) {
    padding: 1.93vw 8.21vw;
    border-right: 0.2vw solid #D1D1D1;
}
.inspection-table td:nth-child(2) .grid {grid-template-columns: 33% 1fr;}

.inspection-table .ttl-wrap {
    display: flex;
    gap: 3.62vw;
    align-items: center;
}
.inspection-table .num {
    display: grid;
    place-content: center;
    width: 6.04vw;
    height: 6.04vw;
    background: #12294B;
    color: #fff;
    border-radius: 50%;
    font-size:4.348vw;
}
.inspection-table .detail {
    font-size:3.865vw;
}

/* 点検内容のセル */
.inspection-table td.content {
    font-size:3.382vw;
    line-height: 2;
    text-align: left;
    padding: 3.86vw 8.45vw;
}

/* 中央のハイフン */
.inspection-table .center-line {
    text-align: center;
}


.intro .list-box .desc {
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
    padding-block: 6.5vw 0;
}

/* スクロールバー全体のスタイル */
.js-scrollable::-webkit-scrollbar {
    width: 100%; /* スクロールバーの幅 */
    height: 1.93vw; /* 横スクロールバーの高さ */
  }
  /* スクロールバーのつまみのスタイル */
  .js-scrollable::-webkit-scrollbar-thumb {
    background-color: #B5B5B5;/* スクロールバーのつまみの色 */
  }
  /* スクロールバーの背景（トラック）のスタイル */
  .js-scrollable::-webkit-scrollbar-track {
    background-color: #E6E6E6; /* 背景の色 */
  }

/* about
-------------------------------------*/
.about {
    background: #F2F2F2;
    padding-block: 9.9vw 14vw;
}
.about .list {
    display: grid;
    gap: 9.66vw;
    width: 91.79vw;
    margin-inline: auto;
}
.about .list li {
    background: #FFFFFF;
    padding-block: 4.83vw 6.25vw;
    padding-inline: 4.83vw;
    display: grid;
    gap: 6.2vw;
}
.about .list li .ttl {
    font-weight: 400;
    font-size:6.28vw;
    letter-spacing: 0.05em;
    line-height: 1.9;
    margin-bottom: 4.55vw;
}
.about .list li .txt {
    font-size:3.382vw;
    letter-spacing: 0.05em;
    line-height: 2;
}


  
/* bottom-sec
-------------------------------------*/
.bottom-sec {
    position: relative;
    padding-block: 19.32vw 24.15vw;
}
.bottom-sec .photo {
    padding-bottom: 14.49vw;
}
.bottom-sec .photo img {
    width: 100%;
    height: auto;
}
.bottom-sec .bnr-box {
    width: 82.13vw;
    margin-inline: auto;
    display: grid;
    grid-template-columns: repeat(1, minmax(0, 1fr));
    gap: 4.83vw;
}


}