@charset "utf-8";


/* base
1rem = 1em = 10px
------------------------------------------------------------ */
body,
html {
	height: 100%;
}
body,
form * {
	background: #fff;
	color: #000;
	font-family: kozuka-gothic-pr6n, sans-serif;
	font-feature-settings: "palt" 1;
	line-break: strict;
	letter-spacing: 0.046875rem;
	font-weight: 400;
	font-style: normal;
}
h2,
h3,
h4,
em {
	font-weight: 700 !important;
}
p {
	text-align: justify;
	text-justify: inter-character;
}
a {
	color: #000;
	text-decoration: underline;
}
a.red {
	color: #c00;
	text-decoration: underline;
}
a:hover {
	color: #000;
	text-decoration: none;
}
a.red:hover {
	color: #c00;
	text-decoration: none;
}
img {
	font-size: 0;
	line-height: 0;
}
hr.h2 {
	border: 0;
	height: 0.2rem;
	width: 9rem;
}
hr.h3 {
	border: 0;
	height: 0.1rem;
	width: 4.5rem;
}
hr.black {
	background-color: #000;
}
hr.center {
	margin-left: auto;
	margin-right: auto;
}
::selection {
	background: #000;
	color: #fff;
}
@media (min-width: 768px) {
i.break:after {
	content: "\A";
	white-space: pre;
}
i.break-bak:after {
	content: "";
}
.pcShow {
	display: block;
}
.spShow {
	display: none;
}
}
@media (max-width: 767px) {
html {
	font-size: 48%;
}
i.break:after {
	content: "";
}
i.break-bak:after {
	content: "\A";
	white-space: pre;
}
.pcShow {
	display: none;
}
.spShow {
	display: block;
}
}


/* font setting
------------------------------------------------------------ */
.font-roboto,
.en {
	font-family: 'Roboto', sans-serif;
}


/* header
------------------------------------------------------------ */
header {
	width: 100%;
	height: 100svh;
	background-color: #f3f3f3;
	color: #000;
	position: relative;
}
header h1 {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}
@media (min-width: 768px) {
header h1 img {
	width: 75vw;
	height:auto;
}
}
@media (max-width: 767px) {
header h1 img {
	width: 84vw;
	height:auto;
}
}


/* footer
------------------------------------------------------------ */
footer {
	background-color: #f3f3f3;
	color: #000;
}
@media (min-width: 768px) {
footer {
	padding-top: 6rem;
	padding-bottom: 7.5rem;
}
}
@media (max-width: 767px) {
footer {
	padding-top: 6rem;
	padding-bottom: 7.5rem;
}
}


/* content / base
------------------------------------------------------------ */
section.content p img {
	width: 100%;
	height: auto;
}
@media (min-width: 768px) {
section.content {
	width: 51vw;
	margin-left: auto;
	margin-right: auto;
}
section.content dl.outline div {
	display: flex;
	justify-content: flex-start;
	align-items: flex-start;
	width: 51vw;
	margin-left: auto;
	margin-right: auto;
}
section.content dl.outline div dt {
	width: 20%;
}
section.content dl.outline div dd {
	width: 80%;
}
}
@media (max-width: 767px) {
section.content {
	padding-left: 6vw;
	padding-right: 6vw;
}
section.content dl.outline div dd {
	margin-top: 1.2rem;
}
}
