/* reset */
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    outline: 0;
    font-size: 1.6rem;
    vertical-align: baseline;
    background: transparent;
    font-style: normal;
}
body {
    line-height: 1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
    display: block;
}
ul {
    list-style: none;
}
blockquote, q {
    quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
    content: '';
    content: none;
}
a {
    margin: 0;
    padding: 0;
    font-size: 1.6rem;
    vertical-align: baseline;
    background: transparent;
    cursor: pointer;
    color: #333;
    text-decoration: none;
    transition: color .7s;
}
a:hover {
    color: #ff879e;
}

ins {
    background-color: #fff;
    color: #000;
    text-decoration: none;
}
mark {
    background-color: #fff;
    color: #000;
    font-style: italic;
    font-weight: 600;
}
del {
    text-decoration: line-through;
}
abbr[title], dfn[title] {
    border-bottom: 1px dotted;
    cursor: help;
}
table {
    border-collapse: collapse;
    border-spacing: 0;
}
hr {
    display: block;
    height: 1px;
    border: 0;
    border-top: 1px solid #cccccc;
    margin: 1em 0;
    padding: 0;
}
input, select {
    vertical-align: middle;
}
img {
    width: auto;
    height: auto;
    max-width: 100%;
    max-height: 100%;
}
*,
*::before,
*::after {
    box-sizing: border-box;
}

/* font */
@font-face {
  font-family: 'Noto Sans JP';
  font-style: normal;
  font-weight: 400;
  font-display: swap;
  src: local('Noto Sans CJK JP'),
       local('NotoSansCJKjp-Regular'),
       local('NotoSansJP-Regular'),
       url('../fonts/NotoSansJP-Regular.woff') format('woff');
}
@font-face {
  font-family: 'Noto Sans JP';
  font-style: medium;
  font-weight: 600;
  font-display: swap;
  src: local('NotoSansCJKjp-Medium'),
       local('NotoSansJP-Medium'),
       url('../fonts/NotoSansJP-Medium.woff') format('woff');
}

/* html */
html,
html.middle {
    font-size: 62.5%; /* 10px */
}
html.small {
    font-size: 50%;
}
html.large {
    font-size: 75%;
}
body, input, textarea {
    font-family: "Noto Sans JP", "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", "Meiryo", "verdana", sans-serif;
}
body {
    color: #333;
    line-height: 1.7;
    font-size: 1.6rem;
}

/* clearfix */
.clearfix::after {
    display: block;
    clear: both;
    content: "";
}

/* wrapper */
.wrapper {
    min-height: 100vh;
    position: relative;
    padding-bottom: 314px;
}
/* footerを最下部に置くため、フォントサイズに応じてpadding変更 */
html.small .wrapper  {
    padding-bottom: 299px;
}
html.large .wrapper  {
    padding-bottom: 329px;
}
#eng .wrapper {
    padding-bottom: 260px;
}
html.small #eng .wrapper  {
    padding-bottom: 257px;
}
html.large #eng .wrapper  {
    padding-bottom: 265px;
}

/* inner */
.inner {
    width: 100%;
    max-width: 1100px;
    padding: 0 20px;
    margin: auto;
}
.header__close-btn {
    display: none;
}
/* タブレット(960未満) */
@media screen and (max-width: 959px) {
    html.large .wrapper,
    html.small .wrapper,
    .wrapper,
    #eng .wrapper {
        padding-bottom: 0;
    }
    .inner {
        padding: 0 5%;
    }
    html,
    html.middle,
    html.small,
    html.large {
        font-size: 62.5% !important; /* 10px */
    }
}

/* スマホ(560未満) */
@media screen and (max-width: 559px) {

}

/* スマホ(320未満) */
@media screen and (max-width: 320px) {
    .inner {
        padding: 0 4%;
    }
}



















#statistics .page-tit,
#laws .page-tit,
#eng .page-tit {
    margin-bottom: 0;
}
#statistics .content,
#laws .content,
#eng .content {
    padding: 60px 0;
}
/* タブレット(960未満) */
@media screen and (max-width: 959px) {
    #statistics .content::before,
    #laws .content::before,
    #eng .content::before {
        display: none;
    }
}
@media screen and (max-width: 559px) {
    #statistics .description__tit,
    #laws .description__tit,
    #eng .description__tit {
        font-size: 2rem;
    }
}
