@charset "UTF-8";
/* ------------------------------------------------------------
 * Hanbun Default Cascading Style Sheets
 * first edition: 2017-08-24
 * -----------------------------------------------------------*/
/*
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
	@font-face {
		font-family: "Yu Gothic Custom";
		font-weight: 300;
		src: local("Yu Gothic");
	}

	@font-face {
		font-family: "Yu Gothic Custom";
		font-weight: 500;
		src: local("Yu Gothic");
	}

	@font-face {
		font-family: "Yu Gothic Custom";
		font-weight: bold;
		src: local("Yu Gothic");
	}
}

@font-face {
	font-family: "Yu Gothic";
	font-weight: normal;
	src: local("YuGothic-Medium"),
	     local("Yu Gothic Medium"),
	     local("游ゴシック Medium"),
	     local("YuGothic-Regular"),
	     local("Yu Gothic"),
	     local("游ゴシック");
}

@font-face {
	font-family: "Yu Gothic";
	font-weight: bold;
	src: local("Yu Gothic Bold"),
	     local("Yu Gothic"),
	     local("游ゴシック"),
	     local("YuGothic-Bold");
}
*/

@font-face {
	font-family: 'Noto Serif JP Subset';
	font-style: normal;
	font-weight: 400;
	src: url(../font/NotoSerifJPSubset-Regular.woff2) format('woff2'),
	     url(../font/NotoSerifJPSubset-Regular.woff) format('woff'),
	     url(../font/NotoSerifJPSubset-Regular.otf) format('opentype');
}

@font-face {
	font-family: 'Noto Serif JP Subset';
	font-style: normal;
	font-weight: 600;
	src: url(../font/NotoSerifJPSubset-SemiBold.woff2) format('woff2'),
	     url(../font/NotoSerifJPSubset-SemiBold.woff) format('woff'),
	     url(../font/NotoSerifJPSubset-SemiBold.otf) format('opentype');
}

* {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
}

html, body {
	line-height: normal;
	margin: 0;
	padding: 0;
}

body {
	background-color: #fffff0;
	color: #060402;
	font-size: 13px;
	font-family: -apple-system, BlinkMacSystemFont, 'Yu Gothic Custom', 'Yu Gothic', 'YuGothic', '游ゴシック', 'メイリオ', 'Meiryo', 'Noto Sans CJK JP', 'Noto Sans JP', '源ノ角ゴシック', '源ノ角ゴシック JP', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', sans-serif;
	/* font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', 'Helvetica', 'Verdana', 'Yu Gothic Custom', 'Yu Gothic', 'YuGothic', '游ゴシック', 'メイリオ', 'Meiryo', 'Noto Sans CJK JP', 'Noto Sans JP', '源ノ角ゴシック', '源ノ角ゴシック JP', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', sans-serif; */
}

footer {
	clear: both;
}

body > footer {
	width: 90%;
	min-width: 700px;
	max-width: 1000px;
	margin: 4em auto 2em auto;
	padding: 0;
}


/* -------------------------------------- */
/*            Main Part Style             */
/* -------------------------------------- */
body > article,
body > section {
	position: relative;
	width: 90%;
	min-width: 650px;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	height: auto;
	min-height: 46%;
}


/* -------------------------------------- */
/*          General Part Style            */
/* -------------------------------------- */
/* ======= Element Type Selectors ======= */
a {
	outline: none;
	text-decoration: none;
}

a:link {
	color: inherit;
}

a:visited {
	color: inherit;
}

a:hover {
	text-decoration: underline;
}

a[href$=".pdf"]:after,
a[href$=".doc"]:after,
a[href$=".docx"]:after,
a[href$=".xls"]:after,
a[href$=".xlsx"]:after,
a[href$=".ppt"]:after,
a[href$=".pptx"]:after,
a[href$=".txt"]:after,
a[href$=".csv"]:after,
a[href$=".zip"]:after,
a[target="_blank"]:after {
	vertical-align: middle;
	position: relative;
	top: 2px;
	left: 2px;
}

a[href$=".pdf"]:after {
	content: url("../images/pdf-icon.svg");
}

a[href$=".doc"]:after,
a[href$=".docx"]:after {
	content: url("../images/word-icon.svg");
}

a[href$=".xls"]:after,
a[href$=".xlsx"]:after {
	content: url("../images/excel-icon.svg");
}

a[href$=".ppt"]:after,
a[href$=".pptx"]:after {
	content: url("../images/powerpoint-icon.svg");
}

a[href$=".txt"]:after {
	content: url("../images/txt-icon.svg");
}

a[href$=".csv"]:after {
	content: url("../images/csv-icon.svg");
}

a[href$=".zip"]:after {
	content: url("../images/zip-icon.svg");
}

a[target="_blank"]:after {
	content: url("../images/new-window-icon.svg");
}

h1 {
	position: relative;
	width: 400px;
	padding: 40px 0 0 0;
	margin: 0 auto;
	font-size: 20px;
}

h2 {
	line-height: 1.65em;
}

h3, h4, h5, h6 {
	clear: both;
}

h3 {
	font-size: 1.6em;
	font-weight: bold;
	-webkit-font-smoothing: antialiased;
	/*border-top: 1px solid #141414; */
	margin: 2em 0 3em 0;
	padding: 0;
	padding-top: 3em;
	line-height: 1.35em;
	text-align: left;
	max-height: 100%;
}

h4 {
	font-size: 1.1em;
	font-weight: bold;
	/* border-top: 1px dotted #131313; */
	margin: 3em 0 1em 0;
	padding: 0.5em 0 0 0;
	line-height: 1.48em;
	max-height: 100%;
}

h5 {
	font-size: 1em;
	font-weight: bold;
	margin: 2em 0 0.5em 0;
	max-height: 100%;
}

h6 {
	font-size: 0.95em;
	font-weight: bold;
	margin: 1em 0 0 0;
	max-height: 100%;
}

p {
	margin: 1em 0;
	line-height: 1.8em;
	max-height: 100%;
}

body > footer p {
	margin: 0;
	margin-right: 1em;
	padding: 0;
	text-align: right;
}

ul,ol {
	margin: 1em 0 1em 1em;
	padding: 0;
	line-height: 1.6em;
	max-height: 100%;
}

ul {
	list-style-type: none;
	list-style-image: none;
}

ul > li > ul,
ul > li > ol,
ol > li > ul,
ol > li > ol {
	margin-left: 1.5em;
}

ul > li > ul ul,
ul > li > ul ol,
ul > li > ol ul,
ul > li > ol ol,
ol > li > ul ul,
ol > li > ul ol,
ol > li > ol ul,
ol > li > ol ol {
	margin-left: 1em;
}

ul > li > dl {
	padding-left: 1em;
}

ul > li > dl > dd > ol,
ul > li > dl > dd > ol > li > ol {
	padding-left: 1em;
}

ul ul,
ul ol,
ol ol,
ol ul {
	margin: 0;
	margin-left: 1em;
	padding: 0;
}

dl ul,
dl ol {
	margin: 0;
	padding: 0;
}

dl {
	margin: 1em 0;
	padding: 0;
	line-height: 1.6em;
	max-height: 100%;
}

dt {
	margin: 0.5em 0 0 1em;
	padding: 0;
}

dd {
	margin: 0 0 0 2em;
	padding: 0;
}

address {
	font-style: normal;
	margin-right: 0em;
	padding: 0.2em 0 1.2em 0;
	text-align: right;
}

table {
	border-top: 1px solid #006400;
	border-left: 1px solid #006400;
	border-spacing: 0;
	margin: 1em 0em;
}

li table {
	text-indent: 0;
}

tr {
	background-color: #fefefe;
}

td, th {
	border-bottom: 1px solid #006400;
	border-right: 1px solid #006400;
	vertical-align: baseline;
	padding: 0.5em;
}

th {
	background-color: #c7ddae;
	text-align: left;
	font-size: 0.9em;
	font-weight: normal;
}

td {
}

caption {
	font-weight: bold;
	padding: 0.2em;
}

blockquote {
	position: relative;
	background-color: #ffffdf;	/* #efffcf #e7edae */
	margin: 2em 0;
	padding: 1em 2em;
	line-height: 1.8em;
	max-height: 100%;
}

blockquote[cite]:after {
	content: attr(cite);
	display: block;
	font-size: 0.8em;
	line-height: 2em;
	text-align: right;
}

blockquote .source {
	display: block;
	margin-top: 0;
	text-align: right;
}

hr {
	display: block;
	background-color: #000000;
	color: #000000;
	margin-left: 2em;
	margin-top: 3em;
	margin-bottom: 3em;
	margin-right: 2em;
	height: 1px;
	border: none;
}

em, strong {
	font-style: normal;
	font-weight: bold;
}

em:not(:lang(ja)) {
	font-style: italic;
	font-weight: normal;
}

del {
	color: #898989;
	text-decoration: line-through;
}

ins {
	text-decoration: none;
	border-bottom: 1px solid #ede7ae;
}

q {
	background-color: #ffffdf;	/* #efffcf #e7edae */
}

q:lang(ja):before {
	content: "";
}

q:lang(ja):after {
	content: "";
}

cite {
	font-style: normal;
	font-weight: normal;
	/* font-feature-settings: "ital"; */
}

h1 cite, h2 cite, h3 cite, h4 cite, h5 cite, h6 cite {
	font-weight: bold;
}

cite:not(:lang(ja)) {
	font-style: italic;
}

abbr {
	cursor: help;
	font-style: normal;
	border-bottom: 1px dashed #5e5e5e;
}

dfn {
	font-style: italic;
}

pre {
	margin: 2em 0 !important;
	padding-left: 2em;
	overflow-x: auto;
}

code, samp {
	font-family: Menlo, Consolas, 'DejaVu Sans Mono', 'メイリオ', monospace !important;
	font-size: 1em;
	line-height: 1.4em;
}

kbd {
	font-family: Menlo, Consolas, 'DejaVu Sans Mono', monospace;
}

var {
	font-family: Menlo, Consolas, 'DejaVu Sans Mono', monospace;
}

img {
	border: 0px;
}

figure {
	display: block;
	margin: 1em 0;
	padding: 0;
}

body > footer figure {
	margin: 0 -1em 0 0;
	padding: 0;
	text-align: right;
}

fieldset {
	margin: 0.5em 2% 0.5em 2%;
	padding: 0em 1em;
}

fieldset p {
	margin: 0.5em;
}

input, select, button {
	font-family: 'Helvetica Neue', 'Helvetica', 'Verdana', 'Yu Gothic', 'YuGothic', '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif;
	font-size: 1em;
	border: solid 1px #888888;
}

input:hover, select:hover, button:hover {
	border: solid 1px #6666d8;
}

select {
	padding: 0.1em 0.1em;
	padding-right: 0.35em;
}

button {
	padding: 0.15em 0.5em;
}

button:hover {
	background-color: #ddeeff;
}

button:active {
	background-color: #ccddff;
}

input {
	padding: 0.15em;
}

input[type="button"],
input[type="submit"] {
	padding: 0 0.6em;
}

input[type="checkbox"] {
	margin: 0.2em 0.25em;
}


option {
	padding: 0 0.15em;
	font-family: 'Helvetica Neue', 'Helvetica', 'Verdana', 'Yu Gothic', 'YuGothic', '游ゴシック', 'ヒラギノ角ゴ ProN W3', 'Hiragino Kaku Gothic ProN', 'メイリオ', 'Meiryo', sans-serif;
}

form > p,
form > div {
	margin: 1em 2em;
}


/* -------------------------------------- */
/*          Animation Settings            */
/* -------------------------------------- */
@keyframes fade-in {
	0% {
		opacity: 0.0;
	}
	100% {
		opacity: 1.0;
	}
}

@keyframes fade-out {
	0% {
		opacity: 1.0;
	}
	100% {
		opacity: 0.0;
	}
}

@keyframes show-blind {
	0% {
		transform: scaleY(0.0);
	}
	100% {
		transform: scaleY(1.0);
	}
}

@keyframes hide-blind {
	0% {
		transform: scaleY(1.0);
	}
	100% {
		transform: scaleY(0.0);
	}
}

@keyframes show-slide {
	0% {
		transform: scaleX(0.0);
	}
	100% {
		transform: scaleX(1.0);
	}
}

@keyframes hide-slide {
	0% {
		transform: scaleX(1.0);
	}
	100% {
		transform: scaleX(0.0);
	}
}


/* -------------------------------------- */
/*      for Google Chrome (Windows)       */
/* -------------------------------------- */
@media screen and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
	body,
	th,
	em:not(:lang(ja)),
	cite {
		font-weight: 500;
	}
}
