/*
 * Poiret One is lisenced under the SIL Open Font License 1.1(http://scripts.sil.org/OFL)
 * https://fonts.google.com/specimen/Poiret+One
 */

/*
 * M PLUS 1 is lisenced under the SIL Open Font License 1.1(http://scripts.sil.org/OFL)
 * https://fonts.google.com/specimen/M+PLUS+1
 */

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

/* webfont */
@font-face {
	font-family: num;
	src: local("Times New Roman");
	unicode-range: U+0030-0039;
}

@font-face {
	font-family: Poiret;
	src: url("../PoiretOR.woff2") format("woff2");
}

@font-face {
	font-family: MPLUS1;
	src: url("../MPLUS1V.woff2") format("woff2");
	font-weight: 300 900;
}

/* body */
body{
	background-color: #16160e;
	background-image: url(../img/back.webp);
	color:#666;
	font: 14px/1.4 "Georgia Pro",num,Georgia,"メイリオ",MPLUS1,"Hiragino Kaku Gothic Pro",Osaka,sans-serif;
	margin: 0;
	padding: 0;
	text-align: center;
	-webkit-text-size-adjust: 130%;
}

/* main */
main {
	width: 70%;
	clear: both;
	background-color: #FFF;
	margin-inline: auto;
	border-radius: 0 0 10px 10px;
}

@media screen and (min-width:1620px){
main {
	width: 60%;
       }
}

/* article */
article {
	width: 97%;
	padding: 0.7% 1.5% 1.5%;
	text-align:left;
}

/* section */
section {
	margin: 0 0 1.2em;

	&:last-child {
	margin-bottom: 1em;
	}
}

/* header */
header {
	display: block;
	width: 100%;
	margin-inline: auto;
	overflow: hidden;
	text-align:center;
	background-color: #FFF;
	user-select: none;
	webkit-user-select: none;
}

#logo {
	font: 75px Poiret, cursive;
	list-style-type: none;
	text-decoration: none;
	color: #16160e;
	letter-spacing: -0.03em;
}

/* footer */
footer {
	width: 100%;
	margin-inline: auto;
	color: #FFF;
	font-size: 1.1em;

	& ul {
		display: flex;
		justify-content: center;
		margin: 0.5em 0 0.1em;
		list-style: none;
		user-select: none;
		webkit-user-select: none;

		& li a {
			color: #708ce0;
			padding: 0 0.5em;

			&:visited {
				color: #3b5fcc;
			}

			&:hover {
				color: #9daee0;
			}
		}

		& li:not(:first-child) a {
			border-left: 1px solid #FFF;
		}
	}
}

/*nav*/
nav {
	margin: 0.2em auto 0.1em;
	overflow: hidden;
	width: 900px;
	font: 40px/1.2 Georgia,"Times New Roman","ヒラギノ明朝 Pro N",serif;
	-webkit-text-size-adjust: 100%;

	& ul {
		display: flex;
		padding: 0;
		margin: 0 0 5px 0;

		& li {
			list-style-type: none;
			text-decoration: none;
			height: 40px;
			vertical-align: middle;
			letter-spacing: -1px;
			margin-inline: auto;
			padding-inline: 5px;

			&:hover a {
				color: #ffe1bc;
			}

			& a {
				color: #001e43;
				display: block;
				line-height: 38px;
				padding-inline: 10px;
				text-decoration: none;
				-webkit-transition: all 0.2s;
				transition: all 0.2s;

				&:visited {
					color: #001e43;
				}
			}
		}
	}
}

/* img */
img {
	outline: none;
	border-style:none;
	vertical-align:top;
}

.img_right {
	float: right;
	margin-left: 1em;
	max-width: 50%;
}

.img_left {
	float: left;
	margin-right: 1em;
	max-width: 50%;
}

.img_c {
	float: left;
	margin-right: auto;
	width: 120px;
}

.img_sign {
	float: right;
	margin-left: auto;
	height: 10em;
}

@media screen and (min-width:980px){
.img_c {
	width: 80px;
       }

.img_sign {
	height: 15em;
	}
}

.img_cs {
	width: 500px;
}

.img_main {
	width: 100%;
	aspect-ratio: 3/1;
	object-fit: cover;
	object-position: 50%;
	user-select: none;
	webkit-user-select: none;
}

.img_err {
	width: 100%;
	object-fit: contain;
}

@media screen and (min-width:1620px){
.img_err {
	width: 800px;
       }
}

/* anchor */
a {
	color: #4169e1;

	&:visited {
		color: #191970;
	}

	&:hover {
		color: #6495ed;
	}

	&.button {
		display: inline-block;
		text-align: center;
		color: #FFF;
		font-weight: bold;
		width: 6em;
		height: 3em;
		line-height: 3em;
		margin: 2em auto;
		border-radius: 10px;
		text-decoration: none;
		background-color: #022245;
		-webkit-transition: .5s ease-in-out;

		&:hover {
			opacity: 0.7;
		}
	}
}

/* clear */
.clear {
	clear:both;
}

/* p */
p.chara {
	text-align: center;
}

/* div */
div {
	text-align: left;
}

div.btt {
	float: right;
	text-align: center;
	font-size: 16px;
	margin-bottom: 10px;

	&a {
		text-decoration: none;
	}
}

#update {
	width: 100%;
	height: 9em;
	overflow-x: hidden;
	border: 0;

	& table td:first-child {
		font-weight: bolder;
		padding-right: 6px;
	}
}

/* その他 */
h1 {
	width: 100%;
	font-size: 1.45em;
	font-weight: bold;
	color: #0d0015;
	letter-spacing: 1px;
	border-bottom: 1px solid #b0c4de;
	margin: 0 0 0.5em;
}

h2 {
	font-size: 1.3em;
	font-weight: bold;
	height: 1.31em;
	color: #556;

	& a {
		color: #556;
		margin: 0;
	}
}

h3 {
	font-size: 1.1em;
	font-weight: bold;
	margin-block: 0.5em;
	color: #666;
}

hr{
	border-width: 0px;
	border-top: 1px solid	#b0c4de;
}

/* table */
table {
	border-collapse: collapse;
	border-spacing: 0;

	& td:first-child {
	padding-right: 6px;
	}
}

table.tb_ct {
	width: 100%;
	border-collapse: collapse;

	& td {
		width: 49%;
		border-width: 0 1px 0 0;
		border-color: #b0c4de;   
		border-style: solid;
		text-align: center;

		&:first-child {
			padding-right: 0.5%;
		}

		&:last-child {
			padding-left: 0.5%;
			border-width: 0 0 0 1px;
		}
	}

	& h1 {
		width: 100%;
		position: relative;
		overflow: hidden;
		text-align: center;
		border: 0;
		margin-block: 1px;
	}

	& h2 {
		display: flex;
		align-items: center;
		justify-content: center;
	}
}

table.li td:first-child {
	font-weight: bolder;
}

table.vigat {
	margin: 0 0 5px 0;
}

.ref li {
	font-weight: bold;
}


/* Q&A */

.qanda {
	padding: 1em;
	margin-bottom: 1em;

	& dt {
		color: #556;
		background: #f6f6f6;
		font-size:1.3em;
		display: flex;
		align-items: center;
		margin-block: 1.1em;
		font-weight: bold;

		&:first-child {
			margin: 0 0 1.1em;

			&::before {
				content: "Q";
				background: #143c66;
			}
		}

		& p {
			flex: 1;
			margin: 0;
			align-items: baseline;
		}

		&::before {
			font-size: 1.35em;
			content: "A";
			display: flex;
			justify-content: center;
			align-items: center;
			color: #FFF;
			background: #991f1f;
			width: 2em;
			height: 2em;
			margin-right: 0.5em;
		}
	}

	& dd {
	margin-left: 4.5em;
	}
}

.faq .qanda {
	padding: 1em;
	border: 1px solid #b0c4de;
	margin-bottom: 1em;
}

.stp_s {
	display: flex;
	flex-wrap: wrap;

}

.stp_s img {
	width: 130px;
	padding: 10px;
	background: #BECADA;
}
