@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');

html {
	overflow-y: scroll;
}

body,
div,
dl,
dt,
dd,
ul,
ol,
li,
h1,
h2,
h3,
h4,
h5,
h6,
pre,
form,
fieldset,
input,
figure,
textarea,
p,
blockquote,
th,
td {
	margin: 0;
	padding: 0;
}

address,
caption,
cite,
code,
dfn,
em,
strong,
th,
var {
	font-style: normal;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

caption {
	text-align: left;
}

q:before,
q:after {
	content: '';
}

object,
embed {
	vertical-align: top;
}

hr,
legend {
	display: none;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size: 100%;
	font-weight: normal;
}

img,
abbr,
acronym,
fieldset {
	border: 0;
}

ul,
ol {
	list-style-type: none;
}

ul,
li,
img {
	vertical-align: bottom;
}

/* default */
body {
	font-family: 'Noto Sans JP', sans-serif;
	background: #f0f8ff;
	color: #333333;
	font-size: 15px;
	line-height: 1.8;
    text-align: center;
    padding: 60px;
    max-width: 960px;
    margin: 0 auto;
	-webkit-text-size-adjust: none;
	letter-spacing: 0.05em;
}

/* link */
a:link {
	color: #3063c2;
	text-decoration: underline;
}

a:visited {
	color: #3063c2;
	text-decoration: underline;
}

a:hover {
	color: #2945a2;
	text-decoration: none;
}

a:active {
	color: #2945a2;
}

* {
	box-sizing: border-box;
	word-break: break-all;
	word-wrap: break-word;
}
img {
	height: auto;
}

@media all and (max-width: 640px) {
    body {
        padding: 5vw;
        max-width: 100%;
        font-size: 14px;
    }
}


/**********************************************************************

    header

**********************************************************************/
header h1 {
    color: #045d98;
    font-size: x-large;
    font-weight: bold;
}
header h1 strong {
    background-color: #045d98;
    color: #fff;
    display: inline-block;
    line-height: 1;
    font-size: medium;
    padding: 8px 10px 12px;
    margin: 0 0 15px;
}
header h1 small {
    display: block;
}

@media all and (max-width: 640px) {
    header h1 {
        font-size: large;
    }
    header h1 strong {
        font-size: small;
        margin: 0 0 10px;
    }
}


/**********************************************************************

    contents

**********************************************************************/
main {
    background-color: #fff;
    margin: 30px 0;
    padding: 30px 40px;
    text-align: left;
    line-height: 1.7;
}

main section h2 {
    color: #045d98;
    font-size: large;
    border-bottom: 4px solid #f0f8ff;
    padding: 0 0 10px;
    text-align: center;
}
main section p {
    margin: 1.5em 0 0 0;
}
main section ul {
    margin: 1.5em 0 0 0;
}
main section ul li {
    position: relative;
    padding: 0 0 0 1.2em;
}
main section ul li::before {
    content: '●';
    color: #045d98;
    font-size: xx-small;
    position: absolute;
    left: 0;
    top: 25%;
}

@media all and (max-width: 640px) {
    main {
        margin: 5vw 0;
        padding: 5vw 6vw;
    }
    main section ul li::before {
        top: 0.5em;
    }
}