@charset "utf-8";
@import url(//use.fontawesome.com/releases/v5.7.2/css/all.css);

/* reset __________________________________ */
@media print {
.spNav {
	display: none;
}
}

#main ul {
	list-style: none;
	text-align: center;
}

/* common __________________________________ */
.spNavBtn { display: none !important; }
.spSrchBtn { right: 20px !important; }

.clearfix {
	zoom: 100%;
	clear: both;
}
.clearfix:after {
	display: block;
	clear: both;
	height: 0;
	line-height: 0;
	overflow: hidden;
	visibility: hidden;
	content: ".";
}
.pc_only {
	display: block !important;
}
.sp_only {
	display: none !important;
}
.js-image-switch {
}
.center {
	margin-left: auto;
	margin-right: auto;
	display: block;
}
.leftTxt {
	text-align: right;
}
.centerTxt {
	text-align: center !important;
}
.rightTxt {
	text-align: right;
}
.col-l {
	float: left;
}
.col-r {
	float: right;
}
.mb0 {
	margin-bottom: 0 !important;
}
.mb05em {
	margin-bottom: 0.5rem !important;
}
.mb1em {
	margin-bottom: 1rem !important;
}
.mb1-5em {
	margin-bottom: 1.5rem !important;
}
.mb2em {
	margin-bottom: 2rem !important;
}
.mb3em {
	margin-bottom: 3rem !important;
}
.mt0 {
	margin-top: 0 !important;
}
.mt1em {
	margin-top: 1em !important;
}
.w100p {
width: 100%;
}

/* txtSize	*/
.smallfont {
	font-size: 80% !important;
	line-height: 1.8;
}
.xsmallfont {
	font-size: 70% !important;
	line-height: 1.6;
}
.bigfont {
	font-size: 110% !important;
	line-height: 1.8;
}

/* link __________________________________ */
.arwlink a,
a.arwlink {
	padding-left: 0.5em;
	position: relative;
}
.arwlink a:before,
a.arwlink:before {
	font-family: "Font Awesome 5 Free";
	content: ' \f0da';
	font-weight: bold;
	position: absolute;
	display: block;
	font-size: 0.8em;
	margin-top: 0.2em;
	color: #407cba;
}

/* ttl
__________________________________ */
h1.page-ttl {
	font-size: 1.5rem !important;
	padding: 0.4em 1em;
	border-left: 10px solid #1d2383;
	color: #1d2383;
	margin-bottom: 1em;
}
.ttl01 {
	font-size: 1.2rem !important;
	color: #FFFFFF;
	background-color: #4496d5;
	padding: 0.8em 1em;
	border-top-left-radius: 0.5em;
	border-top-right-radius: 0.5em;
	margin-bottom: 1.5em;
	position: relative;
}
.ttl02 {
	font-size: 1.1rem !important;
	color: #000;
	margin-bottom: 0.5em;
	font-weight: bold;
}
.ttl03 {
	background-color: #e3e8ec;
	padding-top: 0.6em;
	padding-bottom: 0.6em;
	margin-bottom: 1em;
	text-align: center;
	border-radius: 100px;
	font-size: 1rem;
}
.ttl04 {
	padding: 1.1em;
	margin-bottom: 1em;
	border-left: 5px solid #4496d5;
	border-right: 1px solid #4496d5;
	border-bottom: 1px solid #4496d5;
	border-top: 1px solid #4496d5;
	-webkit-box-shadow: 0px 4px 3px rgba(102,102,102,0.30);
	box-shadow: 0px 4px 3px rgba(102,102,102,0.30);
	font-size: 1.2rem;
	line-height: 1;
}
.ttl05 {
	padding: 0.5em 1em;
	border-left: 2px solid #4596D5;
	margin-bottom: 1em;
}

/* parts __________________________________ */
#main {
	line-height: 1.3;
}
#main a:hover {
	opacity: 0.8;
}
#main {
	width: 100% !important;
	padding: 1em 0 40px;
	float: none;
	font-feature-settings : "palt";
	letter-spacing: 0.05em;
}
#main section {
	width: 1080px;
	margin-right: auto;
	margin-left: auto;
	margin-bottom: 4rem;
	right: auto;
}
#main p.txt {
	padding-top: 0;
	font-size: 1rem;
	line-height: 1.6;
	color: #333333;
	margin-bottom: 1em;
	word-break: break-all;
}
#main .notes {
	color: #666666;
	font-size: 0.9rem;
	display: block;
	text-indent: -1em;
	padding-left: 1em;
	text-align: left;
}


@media screen and (min-width:1px) and (max-width:767px) {
	#main section {
	width: 90%;
	margin-bottom: 3rem;
	}
	.pc_only {
		display: none !important;
	}
	.sp_only {
		display: block !important;
	}
	.sp_100pw {
		width: 100% !important;
	}
	h1.page-ttl {
		border-left: 5px solid #1d2383;
	}
}
