@charset "UTF-8";
/* base */
html {
  box-sizing: border-box;
  line-height: 1;
  font-size: 16px;
  scroll-behavior: smooth;
  font-family: sans-serif;
}

*,
::before,
::after {
  background-repeat: no-repeat;
  box-sizing: inherit;
}

/* 余白調整 (padding, margin) */
body,
ul, ol {
  margin: 0;
}

ul, ol {
  padding-inline-start: 20px;
}

h1, h2, h3, h4, h5, h6 {
  margin-block-start: 0.5em;
  margin-block-end: 0.5em;
}

p {
  margin-block-start: 1em;
  margin-block-end: 1em;
}

ul ul,
ol ol,
ul ol,
ol ul {
  padding-inline-start: 20px;
}

dd {
  margin-inline-start: 20px;
  padding-top: 0.5em;
}

/* 見た目・装飾 */
ul ul {
  list-style-type: disc;
}

button {
  cursor: pointer;
}

/* フォント */
h1 {
  font-size: 2rem;
}

h2 {
  font-size: 1.625rem;
}

h3 {
  font-size: 1.375rem;
}

h4 {
  font-size: 1.25rem;
}

h5 {
  font-size: 1.125rem;
}

h6 {
  font-size: 1rem;
}

h1, h2, h3, h4, h5, h6 {
  line-height: 1.4;
}

p, li, dt, dd {
  line-height: 1.75;
}

h1, h2, h3, h4, h5, h6, p, li, dt, dd {
  letter-spacing: 0.05em;
}

/* 追加リセット */
html {
  -webkit-text-size-adjust: 100%;
}

body {
  margin-bottom: 64px;
}

p {
  word-break: break-all;
}

mark {
  background-color: transparent;
  color: inherit;
  font-weight: bolder;
}

figure {
  margin: 1rem;
}

img {
  vertical-align: top;
}

/* 基本フォント */
html {
  color: #333;
}

a {
  color: #37352f;
  opacity: 0.7;
}
a[href$=".png"] {
  opacity: 1;
}
a[href$=".png"]:hover {
  outline: 2px solid #ccc;
}
a:hover {
  opacity: 1;
}

/* 基本 */
.web-site {
  max-width: 768px;
  padding: 0 16px;
}
@media screen and (min-width: 768px) {
  .web-site {
    margin: 0 auto 32px;
  }
}

.toc_box {
  padding-left: 26px;
}
.toc_box .toc_section_title {
  padding-left: 26px;
  list-style-type: disc;
}

/* extend */
.code-box_caption, .img-figure_caption {
  color: #37352f;
  opacity: 0.7;
  margin-top: 0.5em;
}

/* common-parts */
.totop-box {
  position: fixed;
  right: 20px;
  bottom: 20px;
  background-color: rgba(255, 255, 255, 0.5);
  border-radius: 50%;
}
.totop-box_icon {
  font-size: 48px;
}

.text {
  padding: 0 0.5em;
}

.article-area {
  padding-top: 1px;
}

.article-area_section {
  padding-top: 10px;
}

.article-area_main-title {
  margin-bottom: 0;
}

.section_sub_title {
  font-size: 1rem;
}

.link-box {
  padding: 1em;
  border: 2px solid #ccc;
  background-color: #eee;
}
.link-box_item {
  margin: 0;
}
.link-box_item_link {
  padding: 0 0.5em;
  margin: 0;
}

.how-to-list_title {
  font-size: 1rem;
  text-decoration: underline;
}

.how-to-list_box {
  padding-left: 2em;
}
.how-to-list_box li:not(:first-of-type) {
  margin-top: 0.2em;
}

.code-box .text {
  margin: 0;
}
.code-box_pre {
  padding: 2em 1.5em;
  overflow-x: scroll;
  background-color: #f7f6f3;
  font-size: 0.875rem;
  margin: 0.5em 0;
}
.code-box_caption {
  font-size: 0.75rem;
}

.img-figure {
  padding: 0 16px;
  margin: 0;
}
.img-figure_container {
  display: flex;
}
@media screen and (min-width: 768px) {
  .img-figure {
    padding: 0 32px;
  }
}
.img-figure_img {
  width: 100%;
  height: auto;
}
.img-figure_caption {
  font-size: 0.75rem;
}

/* fix */
#html-css-checker > .text:nth-child(2),
#img-alt-checker > .text:nth-child(2),
.section_sub > .text:nth-child(2) {
  margin-top: 0;
}

#placehold .img-figure + .img-figure {
  margin-top: 1rem;
}

/*# sourceMappingURL=style.css.map */
