@charset "utf-8";
@font-face {
	font-family: "Noto Sans JP"; /* 任意のフォント名 */
	src: url("../fonts/NotoSansJP-Regular.ttf") format("truetype"); /* フォントファイルのパス */
	font-weight: 400;
}
/* 太字の場合 */
@font-face {
	font-family: "Noto Sans JP";
	src: url("../fonts/NotoSansJP-Bold.ttf") format("truetype");
	font-weight: 700;
}
/*独自リセット*/
header .logo {
	width: inherit;
	height: inherit;
}
h1, h2 {
	background-color: inherit;
	color: inherit;
	padding: 0;
}
small {
	font-size: 100%;
}
footer {
	position: static;
	padding-top: 0;
	background: none;
}
*, *::before, *::after {
	box-sizing: border-box;
}
html {
	font-size: 62.5%;
}
img {
	width: 100%;
}
body {
	font-family: "Noto Sans JP", "メイリオ", sans-serif;
	margin: 0;
	font-size: 1.6rem;
	line-height: 1.8;
	background-color: #f2f2f2;
	color: #333;
}
p {
	margin: 0;
}
.bold {
	font-weight: bold;
}
span.marker {
  font-weight: 700;
  background: linear-gradient(transparent 80%, #ffd800 80%);
}
.sp_none {
	display: none;
}
/*FLEX BOX*/
.flex {
	display: flex;
}
/*リンク*/
a:link, a:visited {
	color: #c12828;
	text-decoration: underline;
}
a:hover, a:active {
	text-decoration: none;
}
/*[開始]注釈*/
p.caution {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 1.2rem;
  line-height: 1.8;
  margin-bottom: 0.5em;
}
time {
  margin: 0;
  padding: 0;
}
/*[終了]注釈*/
h1 {
    font-size: 2.2rem;
    font-weight: 700;
    text-align: center;
    position: relative;
    margin-bottom: 15px;
    margin-left: auto;
    margin-right: auto;
}
h2 {
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 0.2em;
	padding-bottom: 0.3em;
	
}
h3 {
	font-size: 1.8rem;
	font-weight: 700;
	margin-bottom: 0.2em;
	
}
/*
---------------------------------------------------
*/
/*[開始]ヘッダ*/
header {
	background-color: #FFF;
	width: 100vw;
	height: 52px;
	display: flex;
	border-bottom: 1px solid #ccc;
	padding: 0 5px;
	position: fixed;
	top: 0;
	z-index: 100;
}
header p.logo {
	align-items: center;
	width: 90%;
	max-width: 960px;
	margin: auto;
}
header img {
	width: auto;
	height: 18px;
}
/*[終了]ヘッダ*/
/*
---------------------------------------------------
*/
/*[開始]フッタ*/
footer {
	background-color: #333;
	color: #FFF;
}
footer div {
	width: 90%;
	max-width: 960px;
	margin-right: auto;
	margin-left: auto;
}
footer div .flex {
	width: 100%;
	max-width: 400px;
	flex-wrap: wrap;
	justify-content: center;
	text-align: center;
	padding-top: 20px;
}
footer div .flex a:nth-of-type(1) {
	flex-grow: 1;
}
footer div .flex a:nth-of-type(2) {
	flex-grow: 1;
}
footer div .flex a:nth-of-type(3) {
	flex-grow: 2;
}
footer div a {
	font-size: 1.4rem;
	margin-bottom: 0.5em;
}
footer div a:link, footer div a:visited {
	color: #FFF;
	text-decoration: underline;
}
footer div a:hover, footer div a:active {
	text-decoration: none;
}
footer div img {
	width: 40%;
	max-width: 200px;
	display: block !important;
	vertical-align: bottom;
	padding-bottom: 1em;
	margin-top: 4em;
	margin-right: auto;
	margin-left: auto;
}
/*[終了]フッタ*/
/*
---------------------------------------------------
*/
/*PCの設定*/
@media screen and (min-width:756px) {
  .pc_none {
    display: none;
  }
  /*[開始]ヘッダ*/
  header {
    margin: 0 calc(50% - 50vw);
    padding: 0 calc(50vw - 50%);
  }
  /*[終了]ヘッダ*/
}