@charset "UTF-8";
/* CSS Document */

@import url('https://fonts.googleapis.com/css?family=Noto+Sans+JP:wght@300;400;700&family=Roboto:wght@400;700&display=swap');

/* reset */
/* - - - - - - - - - - - - - - - - - - - - - - */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video, img a {
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	vertical-align: baseline;
}

/* base */
/* - - - - - - - - - - - - - - - - - - - - - - */
html, body{
	height: 100%;
}

html{
	overflow-y: scroll;
	-webkit-scroll-behavior: -webkit-smooth;
	-moz-scroll-behavior: -moz-smooth;
	scroll-behavior: smooth;
}

body {
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	text-size-adjust: 100%;
}

*, *:before, *:after {
	-webkit-box-sizing: inherit;
	-moz-box-sizing: inherit;
	box-sizing: border-box;
}

*:focus {
	outline: none;
}

sup {
	font-size: 70%;
	vertical-align: top;
	position: relative;
	top: -0.1em;
}
sub {
	font-size: 70%;
	vertical-align: bottom;
	position: relative;
	bottom: -0.1em;
}

/* 構成 */
/* - - - - - - - - - - - - - - - - - - - - - - */
.wrap {
	width: 100%;
	max-width: 1000px;
	margin: auto;
	font-family: "Noto Sans JP",'メイリオ', Meiryo,'ヒラギノ角ゴシック','Hiragino Sans',sans-serif;
}

section {
    margin: 0 auto;
	line-height: 1.8rem;
    /*background-color: rgba(208,208,208,0.53);*/
}

.text {
	margin: 20px 30px;
}

img {
	width: 100%;
}

/* flex */
.flex {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin: 20px;
}
.flex .col_1 {
	width: 60%;
	padding: 0 10px;
}
.flex .col_2 {
	width: 40%;
	padding: 0 10px;
    text-align: right;
}

/* hyou */
.list1 {
	margin: 0 30px;
}
.list1 > li {
	display: flex;
	padding: 10px 0;
	border-bottom: 1px dotted #999;
}
.list1 > li .item {
	width: 20%;
	min-width: 160px;
}
.list1 > li .cont {
	width: 80%;
}

.list1 > li .cont ul li {
	margin-left: 30px;
    list-style-type: disc;
    list-style-position: outside;
}

.list2 {
	margin: 0 30px 20px 60px;
	list-style: none;
}
.list2 > li {
	padding-bottom: 10px;
}
.list2 > li .tit {
	display: block;
	padding: 5px 5px 0;
}
.list2 > li:nth-child(n + 2) .tit {
	border-top: 1px solid #ccc;
}
.list2 > li.tit .flex {
	margin: 0 0 0 50px;
}
.list2 > li .flex {
	margin: 0;
}

.list2 > li .col_1 {
	width: 75%;
    height: auto;
}
.list2 > li .col_2 {
	width: 25%;
    height: auto;
	text-align: right;
    margin-top: auto;
}
.list2 > li .list_box {
	margin: 0 0 0 20px;
}


/* button */
.button {
	margin: auto;
}

.btn,
a.btn,
button.btn {
	display: inline-block;
	position: relative;
	font-size: 150%;;
	font-weight: 700;
	margin: auto;
	padding: 1rem 4rem;
	cursor: pointer;
	-webkit-user-select: none;
	-moz-user-select: none;
	-ms-user-select: none;
	user-select: none;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-align: center;
	vertical-align: middle;
	text-decoration: none;
	letter-spacing: 0.1em;
	color: #fff;
	border-radius: 100vh;
	background-color: #eb6100;
}

.btn:hover,
a.btn:hover {
    color: #fff;
    background-color: #F5A500;
}


.btn span {
	font-size: 70%;
	line-height: 1.4rem;
}

footer {
	margin-top: 50px;
	padding: 10px;
	font-size: 80%;
	text-align: center;
	border-top: 1px solid #000;
}

/* text */
h1 {
	display: inline-block;
	margin-bottom: 30px;
	padding: 15px 20px;
	font-size: 120%;
	color: #FFF;
	background: #80c544;
}

h2 {
	margin-bottom: 30px;
	padding: 20px 0;
	text-align: center;
	font-size: 200%;
	font-weight: 700;
	border-top: 3px solid #000000;
	border-bottom: 3px solid #000000;
}

h3 {
	margin-top: 80px;
	margin-bottom: 30px;
	padding: 10px;
	text-align: center;
	font-size: 160%;
	font-weight: 700;
}
h3 span {
	display: inline-block;
	margin-top: 8px;
	padding: 0 10px;
	font-size: 80%;
	border-top: 1px dashed #000000;
}

h4 {
	display: inline-block;
	position: relative;
	margin: 0 30px 10px;
	padding-left: 25px;
	font-size: 110%;
	font-weight: 700;
}
h4:before {
    position: absolute;
    content: '■';
    top: 0;
    left: 0px;
}

h5 {
	padding-top: 10px;
	font-weight: 700;
}

/* common */
.mt50 {margin-top: 50px;}
.pt20 {padding-top: 20px;}

