@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&display=swap');

body{
font: 16px/1.8 'Noto Sans JP', sans-serif;
margin: 40px 20px;
color:#313131;
    @media screen and (max-width: 767px) {
        font-size: 14px;
    }
}

img{
outline:none;
border-style:none;
}

.wrap {
    max-width: 800px;
    margin: 0 auto;
}
h1 {
    font-weight: bold;
    line-height: 1.4;
    border-bottom: 3px solid #313131;
    padding-bottom: 10px;
    font-size: 24px;
    color: #353230;
    margin: 0 0 2em;
    text-align: center;
    @media screen and (max-width: 767px) {
        font-size: 20px;
        border-width: 2px;
    }
}

h2 {
    font-weight: bold;
    line-height: 1.4;
    background-position: bottom;
    background-repeat: repeat-x;
    margin: 2.5em 0 1em;
    padding-left: 2em;
    text-indent: -2em;
    padding-bottom: 10px;
    font-size: 20px;
    background-image: linear-gradient(to right, #313131, #313131 3px, transparent 3px, transparent 4px);
    background-size: 8px 3px;

    @media screen and (max-width: 767px) {
        font-size: 16px;
        background-image: linear-gradient(to right, #313131, #313131 1px, transparent 1px, transparent 4px);
        background-size: 5px 1px;
        margin: 2em 0 1em;
    }
}

p {
    margin: 0 0 1.5em;
}

p.indent {
    text-indent: -1.5em;
    padding: 0 0 0 1.5em;
}

ul.sub {
    font-size: 90%;
    padding-left: 1.7em;
    margin-top: -1em;
    margin-bottom: 1.7em;
    list-style: none;
    & li {
        text-indent: -1em;
        padding: 0 0 0 1em;
        margin: .5em 0 0;
    }
}
p.sub {
    font-size: 90%;
    margin-top: -1em;
    padding-left: 1.7em;
}

