html {
  scroll-behavior: smooth;
}
body {
  font-family: "Noto Sans JP", "Titillium Web", Helvetica Neue, Helvetica,
    Segoe UI, Tahoma, Arial, sans-serif;
  color: #333;
  background-color: #fff;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  width: 100%;
}
h1,
h2,
h3,
h4,
h5,
p {
  line-height: 1.8;
  font-size: 0.9rem;
}
img {
  width: 100%;
}
ul,
li,
a {
  list-style: none;
  text-decoration: none;
}
#wrapper {
  max-width: 640px;
  margin: 0 auto;
}
section {
  padding-bottom: 2rem;
}
.inner {
}
.content {
  padding: 0 15px 1.5rem;
  /* margin-bottom: 2rem; */
}
section h1 {
  font-size: 1.6rem;
  background: #38893b;
  color: #fff;
  padding: 1rem 15px;
  margin: 4rem 0 2rem;
  letter-spacing: 0.2rem;
}
section h2 {
  font-size: 1.3rem;
  margin: 1.5rem 0 2rem;
  letter-spacing: 0.1rem;
}
section h3 {
  position: relative;
  font-weight: 600;
  padding-left: 10px;
  margin: 1rem 0;
}
section h3::before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 4px;
  height: auto;
  background: #38893b;
  border-radius: 1px;
}
section .hilight {
  background: linear-gradient(transparent 50%, yellow 50%);
  font-weight: 600;
}

/* masthead */
section#masthead {
  background: linear-gradient(
      25deg,
      rgba(199, 21, 133, 0.3),
      rgba(73, 179, 77, 0.6)
    ),
    url("https://static.cld.navitime.jp/passstorage/images/common/drive/penalties_while_driving/man_holding_sp_while_driving.png");
  background-size: cover;
  margin: 0;
}
section#masthead .page-title {
  font-size: 1.4rem;
  letter-spacing: 0.2rem;
  padding: 3.5rem 15px;
  color: #fff;
  filter: drop-shadow(0 0 0.8rem #333);
}

/* intro */
section#intro {
  padding-bottom: 0;
}
section#intro .date {
  text-align: right;
  font-size: 10px;
  opacity: 0.9;
  padding: 1rem 0;
}
/* section#intro .intro-img {
  display: -webkit-flex;
  justify-content: center;
}
section#intro .intro-img img {
  width: 80%;
} */
section#intro p {
  padding-bottom: 10px;
}

/* main */
/* table-of-contents */
div.table-of-contents {
  margin-bottom: 1rem;
}
div.table-of-contents li {
  padding: 10px 0;
}
div.table-of-contents li a {
  color: #555;
  border-bottom: 1px dashed #e9ecef;
  font-size: 0.8rem;
}

section#info-details .content .comment {
  font-size: 12px;
  opacity: 0.7;
}
section#info-details .content .comment-mark {
  opacity: 0.5;
  font-size: 10px;
}
section#info-details .info-detail {
  margin-bottom: 4rem;
}
section#info-details .content-title {
  font-size: 1.2rem;
}
section#info-details .info-detail .penalties-img {
  margin: 2rem 0 0.5rem;
}

/* point */
section#info-details .point-box {
  margin-top: 1.5rem;
}
section#info-details .point-title {
  background-color: #6aba67;
  display: flex;
  align-items: center;
  padding: 0.2rem 5px 0.2rem 5px;
}
section#info-details .point-box .point-title p {
  font-weight: 600;
  letter-spacing: 0.1rem;
  padding-left: 5px;
  color: #fff;
}
section#info-details .point-box .iconify {
  color: #fff;
  font-size: 2rem;
}
section#info-details .point-box .point-text {
  padding: 0.5rem 1rem;
  border: 2px solid #6aba67;
}
section#info-details .point-box .point-text p {
  padding-bottom: 8px;
}

/* licence-icon */
section#info-details .suspencion-of-licence {
  width: 330px;
  position: relative;
  display: flex;
  justify-content: center;
  margin: 0 auto;
}
section#info-details .cross .iconify {
  font-size: 5rem;
  position: absolute;
  top: -10px;
  left: 38%;
  z-index: 2000;
  opacity: 0.8;
}
section#info-details .drivers-licence .iconify {
  color: #778899;
  font-size: 4rem;
}

/* ds-features */
section#ds-features .feature {
  padding: 0 15px;
}

/* campaign */
section#sp-campaign {
  text-align: center;
  display: flex;
  justify-content: center;
}
section#sp-campaign .au {
  color: #e75200;
  font-size: 14px;
  font-weight: 600;
}
section#sp-campaign .cp-link__img img {
  width: 70%;
}
section#sp-campaign .cp-link__text {
  color: #38893b;
  font-weight: 600;
}
section#sp-campaign p {
  opacity: 0.9;
}

/* summery */
section#summery {
  margin: 2rem 0;
}
section#summery .summery {
  display: flex;
  align-items: flex-start;
  margin-bottom: 10px;
}
section#summery .check-icon {
  margin-right: 5px;
  margin-top: 2px;
}
section#summery .check-path1 {
  stroke: #fed136;
}
section#summery .check-path2 {
  stroke: #333;
}

/* closing */
.closing {
  width: 80%;
  margin: 0 auto 1rem;
  padding: 1rem;
  text-align: center;
  border: 2px solid #e9ecef;
  border-radius: 10px;
}

/* ref */
div.reference {
  padding: 1rem 15px;
  font-size: 12px;
  opacity: 0.8;
  word-break: break-all;
}

/* btn */
.btn-area {
  position: fixed;
  bottom: 20px;
  right: 5px;
  z-index: 2000;
  display: none;
}
.btn-area a {
  display: inline-flex;
  align-items: center;
  color: #fff;
  background: #38893b;
  padding: 3px;
  border-radius: 3px;
  opacity: 0.7;
}

footer {
  background-color: #f8f9fa;
  font-size: 10px;
  color: #555;
  text-align: center;
  padding: 0.7rem 0;
}
