@charset "utf-8";
/*----------------------------------------------
	root
---------------------------------------------*/
:root {
	/* 色 */
	--main-color: #06145a;
	--base-color: #f8f8f8;
	--key-color: #192f95;
	--border-color: #a8acc4;
	--ttl-color: #999db2;
	--info-color: #59bae6;
	--column-color: #3094bf;
	--lbl-color: #77c8e0;
	--gn-color: #18a81e;
	--pk-color: #cf2e92;
	--gy-55-color: #555;
	--gy-d1-color: #d1d1d1;
	--gy-f2-color: #f2f2f2;
	--bk-color: #222;

	--hover-lbl-color: #69b9d1;
	--hover-gn-color: #15b71b;
	--hover-pk-color: #e12f9d;

	--rgb-main-color: 6, 20, 90;
	--rgb-base-color: 175, 197, 211;
	--rgb-key-color: 25, 47, 149;
	--rgb-lbl-color: 119, 200, 224;
	--rgb-gn-color: 24, 168, 30;
	--rgb-pk-color: 207, 46, 146;

	--lh-sm: 1.2;
	--lh-lg: 1.8;
}
/*----------------------------------------------
	html
---------------------------------------------*/
html {
	font-size: 62.5%;
	scroll-behavior: smooth;
}
/*↑ 10pxが1remとなる様に調整*/

/*----------------------------------------------
	body
---------------------------------------------*/
body {
	position: relative;
	overflow-x: hidden;
	min-width: 100%;
	font-size: 16px;
	font-size: 1.6rem;
	font-family: "Zen Kaku Gothic New", sans-serif;
	color: var(--bk-color);
	letter-spacing: 0.1em;
	line-height: 1.4;
}
body::before {
	position: absolute;
	top: 0;
	right: 0;
	content: "";
	width: 14%;
	height: 440px;
	background: url(../images/bg_header01.png) no-repeat right top / 100% auto;
}
body.lp::before {
	content: none;
}
@media screen and (max-width: 1280px) {
	body {
		font-size: calc(12px + 4 * (100vw - 768px) / 512);
	}
}
@media screen and (max-width: 768px) {
	body {
		font-size: 1.4rem;
	}
}
@media screen and (max-width: 640px) {
	body::before {
		top: 3px;
		width: 22%;
		height: 300px;
		background-position: right -10px top;
	}
	body#top::before {
		z-index: 3;
	}
}

/*----------------------------------------------
	a
---------------------------------------------*/
a {
	color: var(--key-color);
}
a:hover {
	color: #c00;
}

/*----------------------------------------------
	table
---------------------------------------------*/
table {
	border-collapse: collapse;
	border-spacing: 0;
}
/*----------------------------------------------
	h1,h2,h3,h4,h5,h6
---------------------------------------------*/
h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
}
/*----------------------------------------------
	img
---------------------------------------------*/
img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}
/*----------------------------------------------
	li
---------------------------------------------*/
li {
	list-style-type: none;
	list-style-position: inside;
}
/*----------------------------------------------
	p
---------------------------------------------*/
p {
	-webkit-touch-callout: none;
}
/*----------------------------------------------
	*
---------------------------------------------*/
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}
