img {
  object-fit: contain;
}

.how_one_looks {
  padding: 0 0 1.75rem;
  display: flex;
  flex-direction: column;
  gap: 2em;
}
.how_one_looks > div {
  display: flex;
  width: calc(100%);
  max-width: calc(740px - 4em);
  align-items: center;
  letter-spacing: 0.1em;
  line-height: 2em;
  position: relative;
  flex-direction: row;
}
.how_one_looks > div > img {
  padding-right: 1em;
  width: 300px;
  height: fit-content;
}
.how_one_looks > div > p {
  line-height: 1.6;
  letter-spacing: 0;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.5em;
}
.how_one_looks > div > p > img {
  height: 2.25em;
}

.how_one_looks > div:nth-of-type(even) {
  margin: 0 0 0 auto;
  flex-direction: row-reverse;
}
.how_one_looks > div:nth-of-type(even) > img {
  padding-right: unset;
  padding-left: 1em;
}
.wakimi_gun {
  padding: 0.25em 1em 2em;
  background: #f1ece0;
  border-radius: 1em;
  box-shadow: 0 0 10px -5px #0003;
  display: flex;
  flex-wrap: wrap;
  gap: 0 1em;
  margin-bottom: 1.75rem;
  justify-content: center;
}
.wakimi_gun > * {
  width: 100%;
}
.wakimi_gun > span {
  background: #055a8e;
  color: #fff;
  font-family: "Hiragino Kaku Gothic W6 JIS2004";
  padding: 0.4em 1em 0.5em;
  width: 100%;
  max-width: 440px;
}
.wakimi_gun > img {
  width: 100%;
  max-width: 440px;
  padding: 0 0.25em 0.25em;
  background: #1a578b;
}
.wakimi_gun > img + span {
  margin-top: 1.5em;
}
/* .how_one_looks p {
}
  .how_one_looks p::after {
  background: url(../images/T01_1.png);
  background-position: left;
  left: 100%;
  top: 0;

  content: "";
  position: absolute;
  height: 1.5em;
  width: 100%;
  background-size: contain;
  background-repeat: no-repeat;
} */
/* .how_one_looks > img {
  height: 2em;
  margin: 1em auto 0 300px;
}
.how_one_looks > img:nth-last-of-type(even) {
  width: 100%;
  object-fit: contain;
  object-position: left;
  margin: 1em 0 0 auto;
  max-width: calc(740px - 4em);
  display: block;
} */
/* .how_one_looks p img {
} */
.how_one_looks p:nth-last-of-type(even) img {
  padding-left: 1em;
  padding-right: unset;
}
.three_step {
  display: flex;
  justify-content: space-between;
  /* padding-bottom: 3em; */
  flex-wrap: wrap;
  padding-top: unset;
  border-top: unset;
  margin-top: unset;
}

.three_step + .three_step {
  padding-top: 2em;
  border-top: dashed 1.5px #d3475c;
  margin-top: 1.5em;
  margin-bottom: unset;
  padding-bottom: unset;
}

.three_step + * {
  margin-top: 3em;
}
.three_step:last-of-type {
  border-bottom: unset;
}
.three_step > img {
  width: 5em;
  height: fit-content;
  position: sticky;
  top: 1vh;
}
.three_step p {
  width: calc(97.5% - 5em);
}
.three_step div {
  width: 100%;
  width: calc(97.5% - 5em);
  background: #f1ece0;
  color: #055a8e;
  padding: 1em;
  margin: 0 0 0.5em auto;
  border-radius: 1em;
  box-shadow: 0 0 10px -5px #0003;
}
.three_step div p img {
  margin: 0.75em auto 0;
}
.three_step div h5 {
  color: #055a8e;
  font-size: clamp(15px, 3.5vw, 22px);
  font-family: "Hiragino Kaku Gothic W6 JIS2004";
  font-weight: normal;
  width: fit-content;
  text-align: center;
  margin: 0 auto 0.5em;
  line-height: 1.3;
}
.three_step div p {
  width: 100%;
}
.three_step p img {
  width: 100%;
}
.three_step > img {
  margin-bottom: calc(-1em);
  aspect-ratio: 5 / 14;
}
.think_safety-wrapper .sp {
  display: none;
}
.think_safety-wrapper .pc {
  display: block;
}
.ts-content .m-large {
  font-size: 1.7em;
  margin: 24px 0 40px;
  padding: 8px 0;
  border-top: 1px dashed #666;
  border-bottom: 1px dashed #888;
  font-family: "Hiragino Kaku Gothic W6 JIS2004";
}
.ts-content h4 {
  position: relative;
  font-family: "Hiragino Kaku Gothic W6 JIS2004";
  font-size: 1.4em;
  padding: 0 0 1em 0;
  margin-top: 24px;
  color: #055a8e;
}
.d-md-flex {
  display: flex;
  gap: 1em;
}

@media only screen and (max-width: 736px) {
  .think_safety-wrapper .ts-page-body .sp {
    display: none !important;
  }
  .think_safety-wrapper .ts-page-body .pc {
    display: block !important;
  }
  .how_one_looks > div {
    flex-direction: column;
    gap: 1em;
    max-width: 400px;
  }
  .how_one_looks > div > img {
    width: 100%;
    padding: unset;
  }
  .how_one_looks > div:nth-of-type(even) {
    flex-direction: column;
  }
  .how_one_looks {
    max-width: 550px;
    margin: 0 auto;
  }
  .wakimi_gun {
    flex-direction: column;
    align-items: center;
  }
}

@media only screen and (max-width: 500px) {
  .three_step p {
    width: calc(105.5% - 3em);
  }
  .three_step > img {
    width: 3em;
    margin-left: -8%;
  }
  .three_step div {
    width: calc(105.5% - 3em);
  }
  .think_safety-wrapper .ts-page-body .sp {
    display: block !important;
  }
  .think_safety-wrapper .ts-page-body .pc {
    display: none !important;
  }
  .three_step div p img {
    padding-right: 2%;
    max-width: 220px;
  }
  .three_step div h5 {
    font-size: 20px;
  }
  .ts-content h4 {
    font-size: 5.5vw;
  }
  .d-md-flex {
    flex-direction: column-reverse;
    align-items: center;
  }
  .d-md-flex .text-md-center img {
    max-width: 250px;
  }
}

.ts-content h3 {
  margin-top: 40px;
}
.ts-content h3 em {
  background: linear-gradient(transparent 50%, #ff0 100%);
}

.ts-profile {
  border: 0;
  border-bottom: 1px dashed #aaa;
  padding-bottom: 40px;
}
.ts-profile-container {
  margin: 0;
  display: inline-flex;
  margin-left: auto;
  padding: 16px;
}
.ts-profile-container dt small {
  font-size: 0.75em;
  line-height: 1.3em;
  display: block;
}
.ts-profile-container dt em {
  display: block;
  padding-bottom: 5px;
  color: #721;
}
.ts-profile-container dt b {
  color: #111;
}
.ts-profile-container dl {
  padding: unset;
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  align-items: center;
  gap: 10px 20px;
  width: fit-content;
}
.ts-profile-container figure {
  padding: 0;
  width: 80px;
  flex: unset;
}
.ts-profile-container figure img {
  border-radius: 50%;
}
.ts-profile-container dd {
  padding-top: unset;
}
/* .ts-profile-container dl + dl {
  margin-top: 1em;
  padding-top: 1em;
  border-top: 1px dashed #888;
}
.ts-profile-container dl:nth-child(even) {
  justify-content: flex-end;
}
.ts-profile-container dl:nth-child(even) dt {
  order: -1;
  text-align: right;
} */
x.ts-profile-container {
  flex-direction: row;
  flex-wrap: wrap;
  gap: 20px;
  padding: 1em;
  align-items: flex-start;
  margin-top: 0;
  width: fit-content;
}
.ts-profile {
  padding: 0 0 40px 0;
}

.zu01s {
  display: flex;
  justify-content: space-between;
  border-radius: 12px;
  background: #fffeee;
  padding: 24px;
  font-size: 0.9em;
}
.zu01s > div {
  flex: 0 0 50%;
}
.zu01s p {
  font-size: 12px;
}

.ts-content p strong {
  color: #931;
}
.ts-content p strong a {
  color: #931;
}
.ts-content p strong a:hover {
  color: #36a;
}

@media only screen and (max-width: 499px) {
  .zu01s {
    display: block;
  }
  .zu01 div.rei em {
    margin: 1em 0 2em;
    display: block;
    padding: 0 0 1em;
    background: #92ab5822;
  }
  .zu01 div.rei em:first-of-type {
    background: #498dad22;
  }
  .zu01 div.rei em:nth-of-type(3) {
    background: #e6965122;
    width: 100% !important;
    text-align: left !important;
  }
  .zu01 div.rei em ul {
    padding: 0.5em 0.75em 0 0.25em;
    width: fit-content;
    margin: 0 auto;
  }
  .zu01 div.rei em b {
    margin: 0 auto 0.5em;
    width: 100%;
    display: block;
    text-align: center;
    color: #fff;
    background: #92ab58;
    padding: 0.125em 0.25em 0;
  }
  .zu01 div.rei em:first-of-type b {
    background: #498dad;
  }
  .zu01 div.rei em:nth-of-type(3) b {
    background: #e69651;
  }
  .zu01 div.rei em b::after {
    content: "";
    position: absolute;
    width: 2em;
    height: 2em;
    background-size: contain;
    margin: -0.6em 0 0 0.25em;
    background-repeat: no-repeat;
    background-position: center;
    filter: drop-shadow(0 0 2px #fff) drop-shadow(0 0 1px #fff)
      drop-shadow(0 0 1px #fff);
    scale: 1.25;
  }
  .zu01 div.rei:nth-of-type(1) em:nth-of-type(1) b::after {
    background-image: url(../images/kuruma.png);
    rotate: -20deg;
  }
  .zu01 div.rei:nth-of-type(1) em:nth-of-type(2) b::after {
    background-image: url(../images/baiku.png);
    rotate: -20deg;
  }
  .zu01 div.rei:nth-of-type(2) em:nth-of-type(1) b::after {
    background-image: url(../images/kuruma.png);
    rotate: -20deg;
  }
  .zu01 div.rei:nth-of-type(2) em:nth-of-type(2) b::after {
    background-image: url(../images/baiku.png);
    rotate: -20deg;
  }
  .zu01 div.rei:nth-of-type(2) em:nth-of-type(3) b::after {
    background-image: url(../images/mira-.png);
  }
  .zu01 div.rei em li {
    text-indent: -1em;
    padding-left: 1em;
  }
  .zu01 div.rei em li::before {
    content: "E";
  }
  .zu01 div.rei:nth-of-type(2) img {
    aspect-ratio: 3 / 2;
    object-fit: cover;
    object-position: center 10%;
  }
}
@media only screen and (min-width: 500px) {
  .zu01 div.rei {
    position: relative;
    width: fit-content;
    margin: 0 auto 0.75rem;
  }

  .zu01 div.rei img {
    display: block;
    margin: 0 auto;
    padding: 0 10%;
    max-width: 400px;
    max-width: calc(0.8em * 43);
    width: 100%;
  }

  .zu01 div.rei em {
    position: absolute;
    font-size: 0.8em;
    width: 42%;
    padding: 0.5em;
    background: #fffc;
    border: 1.5px solid #666;
    border-radius: 1em;
  }

  .zu01 div.rei em b {
    margin: 0 auto 0.5em;
    width: 100%;
    display: block;
    text-align: center;
    color: #fff;
    background: #92ab58;
    padding: 0 0.25em;
  }

  .zu01 div.rei em:first-of-type b {
    background: #498dad;
  }

  .zu01 div.rei em:nth-of-type(3) b {
    background: #e69651;
  }
  .zu01 div.rei em:nth-of-type(3) ul {
    padding: unset;
  }
  .zu01 div.rei em:nth-of-type(3) li::before {
    content: unset;
  }

  .zu01 div.rei em ul {
    padding: 0 0 0 0.75em;
  }

  .zu01 div.rei em li {
    position: relative;
    list-style: none;
    line-height: 1.5;
  }

  .zu01 div.rei em li::before {
    content: "";
    display: block;
    width: 0.3em;
    height: 0.3em;
    aspect-ratio: 1;
    border-radius: 1em;
    background: #000;
    position: absolute;
    left: -0.5em;
    top: 0.55em;
  }
}

.ts-content p + div.rei {
  margin-top: 1.5em;
}

.ts-content p:last-child {
  padding-bottom: 1.75rem;
}

/* ? ? ? ???????? ? ? ? */
.watch_wrap {
  position: relative;
  padding: 20px 0 0;
  width: 270px;
  margin: 0 auto 2em;
}

.watch_wrap::before,
.watch_wrap::after,
.watch_wrap .watch_circle::after {
  content: "";
  position: absolute;
  width: 25px;
  height: 15px;
  background: #0a0a0a;
  top: 35px;
}

.watch_wrap::before {
  left: 25px;
  rotate: -40deg;
}

.watch_wrap::after {
  right: 25px;
  rotate: 40deg;
}

.watch_wrap .watch_circle::after {
  top: 10px;
  width: 40px;
  height: 20px;
}

.watch_wrap .watch_circle {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  width: 270px;
  max-width: 500px;
  height: 270px;
  max-height: 500px;
  background-color: #0a0a0a;
  border: 5px solid #d3d3d3;
  font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;
  border-radius: 50vw;
  aspect-ratio: 1;
  padding: 10px;
  box-sizing: border-box;
  box-shadow: 0 0 0px 1px #999;
}

.watch_wrap h1 {
  font-size: 23px;
  font-weight: 100;
  letter-spacing: 1px;
  color: #ffffff;
  margin: 1em 0 0;
}

.watch_wrap .stopwatch {
  font-size: 40px;
  color: #ffffff;
  text-align: center;
  margin: 15px 0;
  width: 100%;
  border-radius: 0.25em;
  background: #313131;
  box-shadow: 0 0 0.1em inset #0a0a0a;
}

.watch_wrap .stopwatch b {
  font-size: 20px;
}

.watch_wrap .button {
  font-size: 26px;
  font-weight: bold;
  letter-spacing: 3px;
  color: #000000;
  padding: 5px;
  margin: 5px;
  width: 5em;
  border: unset;
  border-radius: 5px;
  cursor: pointer;
}

.watch_wrap .button::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  border-radius: 110px 110px 131px 130px;
  z-index: 1;
}

.watch_wrap .start-button {
  background-color: #7f73;
  color: #7f7d;
  border: 1px solid #7f78;
}

.watch_wrap .stop-button {
  background-color: #f773;
  color: #f77d;
  border: 1px solid #f778;
}

.watch_wrap .reset-button {
  background-color: #7ff3;
  color: #7ffd;
  border: 1px solid #7ff8;
}

.watch_wrap .button:hover {
  box-shadow: 0 0 5px 1px #fff8;
}
/* ? ? ? ???????? ? ? ? */
