﻿*,body,ul {
  margin: 0;
  padding: 0;
}
li {
  list-style: none;
}
/* ↓ スライドの外枠 */
.slide-wrapper {
  width: 100%;
  height: 100%;    /* 修正 */
  position: relative;
  overflow: hidden; /* はみ出したスライドを隠す */
}
/* ↓ スライド（コンテンツ） */
.slide { /* スライド全体 */
  width: 500%;
  height: 100%;
  display: flex;
  transition: all 0.6s;
  margin-bottom: 2rem;
}
.slide div { /* スライド */
  width: 20%;
  height: 100%;
  font-size: 16px;
  display: flex;
  text-align: center;
  justify-content: center;
  align-items: center;
}
.slide1 { /* スライドさせるために必要なクラス */
  transform: translateX(0);
}
.slide2 { /* スライドさせるために必要なクラス */
  transform: translateX(-20%);
}
.slide3 { /* スライドさせるために必要なクラス */
  transform: translateX(-40%);
}
.slide4 { /* スライドさせるために必要なクラス */
  transform: translateX(-60%);
}
.slide5 { /* スライドさせるために必要なクラス */
  transform: translateX(-80%);
}
/*.slide div:nth-of-type(1){ /* 背景色 */
/*  background-color: #E1F3FC;
/*}
/*.slide div:nth-of-type(2){ /* 背景色 */
/*  background-color: #FCE8F0;
/*}
/*.slide div:nth-of-type(3){ /* 背景色 */
/*  background-color: #333333;
/*}
/* ↓ 左右のボタン */
.next {
  position: absolute;
  width: 15px;
  height: 15px;
  right: 10px;
  bottom: 50%;
  z-index: 10;
  cursor: pointer;
  border-top: solid 3px #000;
  border-right: solid 3px #000;
  -webkit-transform: rotate(45deg) translateY(50%);
  transform: rotate(45deg) translateY(50%);
}
.prev {
  position: absolute;
  width: 15px;
  height: 15px;
  left: 25px;
  bottom: 50%;
  z-index: 10;
  cursor: pointer;
  border-top: solid 3px #000;
  border-right: solid 3px #000;
  -webkit-transform: rotate(-135deg) translateY(-50%);
  transform: rotate(-135deg) translateY(-50%);
}

/* ↓ インジケーター */
.indicator {
  width: 100%;
  position: absolute;
/*  bottom: 20px;*/
  bottom: 10px;
  display: flex;
  column-gap: 18px;
  z-index: 10;
  justify-content: center;
  align-items: center;
}
.indicator li {
  width: 14px;
  height: 14px;
  border-radius: 50%;
  list-style: none;
  background-color: #fff;
  border: 2px #000 solid;
  cursor: pointer;
}
.indicator li:first-of-type {
  background-color: #000;
}

/* ↓ （html全体）スクロールをゆっくりに */
html {
  scroll-behavior: smooth;
}


/* -------------- 2024/11/26 以下修正 ------------------------------- */


/* ↓ type01 2列の表 */
table.type01 {
  display: flex;    /* 追加 */
  flex-wrap: wrap;    /* 追加 */
  justify-content: center;    /* 追加 */
  margin: auto;
  border: 0px;
 /* border-collapse: separate;*/
  border-spacing: 10px;
  padding: 20px 0px 0px 0px;
}

table.type01 tr {
  text-align: center;
}

table.type01 td.hover_color {
  vertical-align: middle;
  width: 465px;
  max-width: 45%;    /* 追加 */
  padding: 0 5px 10px 5px;    /* 追加 */
}

table.type01 td.hover_color img {
  /* border: 2px #D18417 solid;*/
  width: 445px;
  max-width: 100%;
}

/* ↓ type02 3列の表 */

table.type02 {
  display: flex;    /* 追加 */
  flex-wrap: wrap;    /* 追加 */
  justify-content: center;    /* 追加 */
  margin: auto;
  border: 0px;
  border-collapse: separate;
  border-spacing: 15px;
}

table.type02 tr {
  text-align: center;
}

table.type02 td.hover_color {
  vertical-align: middle;
  width: 300px;
  max-width: 30%;    /* 追加 */
 /* height: 55px;*/
  padding: 0 5px 10px 5px;    /* 追加 */
}

table.type02 td.hover_color img {
  border: 3px #316745 solid;
  width: 280px;
  max-width: 100%;
}

@media only screen and (max-width: 768px) {
  table.type01, table.type02 {
   /* display: block; */
    max-width: 100%;
  }

  table.type01 td.hover_color {
   /* display: block; */
    max-width: 100%;
   /* height: 160px; */
  }

  table.type02 td.hover_color {
    display: block;
    max-width: 100%;
   /* margin-bottom: 10px;*/
  }
}

@media only screen and (max-width: 540px) {
  table.type01 td.hover_color, table.type02 td.hover_color {
    width: 100%;
    height: auto;
   /* margin-bottom: 10px;*/
  }
}

/* -------------- 2024/12/05 以下修正 ------------------------------- */
/* ↓ type03 表 */
table.type03 {
  margin: auto;
  border-collapse: collapse;
  text-align: center;
  max-width: 100%;
}

table.type03 td, th{
  padding: 2px 5px;
}

/* ↓ type04 4列の表 */
table.type04 {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  margin: auto;
  border: 0px;
  border-collapse: separate;
  border-spacing: 15px;
      max-width: 100%;
}

table.type04 tr {
  text-align: center;
}

table.type04 td.hover_color {
  display: inline-block;
  vertical-align: middle;
/*   width: 250px; */
  max-width: 100%;
  padding: 0 5px 10px 5px;
/*  padding-bottom: 10px;*/
}

table.type04 td.hover_color img {
/*  border: 3px #316745 solid;*/
/*  width: 280px;*/
  width: 250px;
  max-width: 100%;
}

table.type05 {
  max-width: 600px;
  margin: 0 auto;
  padding: 8px;
  border-collapse: collapse;
}
table.type05 td {
  border: 1px solid #999;
  text-align: center;
}
table.type05 td.youso_title {
  background: #e0edff;
  padding: 7px;
}
table.type05 td.youso_body {
  padding: 8px 15px;
}

.fault-grid {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
.fault-grid div {
  padding: 0 20px 10px 0;
}
.fault-grid p {
  padding-bottom: 5px;
  text-align: center;
}
.fault-grid img {
  aspect-ratio: 190 / 180;
}


/* ===== 共通 ===== */
/* ラッパー */
.sindo_table_contents {
  max-width: 600px;
  margin: 0 auto;
  padding: 8px;
}
/* タイトル */
h2.sindo_table_title {
  text-align: center;
  font-size: 1.2em;
  font-weight: bold;
  margin-bottom: 8px;
}
table.sindo_table {
  width: 100%;
  border-collapse: collapse;
  border-spacing: 0;
  font-size: 14px;
}
table.sindo_table th {
  width: 22%;
  border: 1px solid #ccc;
  box-sizing: border-box;
  padding: 10px;
  vertical-align: middle;
  font-weight: bold;
  text-align: center;
}
th.sindo_6l {
  background: rgb(255, 40, 0);
  color: #ffffff;
}
th.sindo_5h {
  background: rgb(255, 153, 0);
}
th.sindo_5l {
  background: rgb(255, 230, 0);
}
th.sindo_4 {
  background: rgb(250, 230, 150);
}
table.sindo_table td {
  background: #fff;
  border: 1px solid #ccc;
  box-sizing: border-box;
  padding: 10px;
  vertical-align: top;
  text-align:left;
}
@media all and (max-width: 600px) {
  table.sindo_table th,
  table.sindo_table td {
    display: block;
    width: 100%;
    border-bottom: none;
  }
  table.sindo_table tr:last-child td:last-child {
    border-bottom: 1px solid #ccc;
  }

.fault-grid {
  display: block;
}
.fault-grid div {
  width: 100% !important;
  padding: 0 0 0 0;
}
.fault-grid p {
  padding-bottom: 5px;
  text-align: center;
}
.fault-grid img {
  aspect-ratio: 190 / 180;
}
}

/* ===== スマホ表示 ===== */
