@charset "utf-8";

/* 汎用 */
a:hover img { opacity: 0.8; filter: alpha(opacity=80); -moz-opacity: 0.8; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.st { font-weight: bold; }
.fl { float: left; }
.fr { float: right; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 20px; }
.fs22 { font-size: 22px; }
.fs24 { font-size: 24px; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.fw800 { font-weight: 800; }
.flex { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }
.flex_not_justify { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }

/* メインの日本語フォント */
.f_min { font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; }
.f_hira { font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; }
.f_gothic { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; }
.f_hirago { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif; }

/* メインの日本語フォント 太字 */
.f_min_bold { font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; font-weight: 600; }
.f_hira_bold { font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; font-weight: 600; }
.f_gothic_bold { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; font-weight: 600; }
.f_hirago_bold { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif; font-weight: 600; }

/* 英字用フォント */
.f_times { font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif; }
.f_arial { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }

/* 画像フィット用 */
.fit_img { display: flex; justify-content: center; align-items: center; /*IE用*/ flex-direction: column; }
.fit_img img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.regacy_fit_img { display: relative; overflow: hidden; }
.regacy_fit_img img { position: absolute; left: -50%; right: -50%; top: -50%; bottom: -50%; margin: auto; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.ofi { object-fit: cover; font-family: 'object-fit:cover; '; }

/*PC用*/
@media print, screen {
	.pc { display: block !important }
	.sp { display: none !important }
	.h_menu, #sp_global_nav { display: none; }

	/*============================
	#header
	============================*/
	header#header { height: 80px; background: linear-gradient(360deg, #e4e4e4, #fff); }
	header#header .inner { width: 1007px; margin: 0 auto; position: relative; }
	header#header p.logo { position: absolute; top: 12px; }
	header#header h1 { position: absolute; font-size: 12px; top: 19px; left: 180px; line-height: 1.8; }
	header#header div.menu_flex { display: flex; position: absolute; right: 0; top: 14px; width: 600px; justify-content: space-between; }

	/*============================
	#gnav
	============================*/
	nav#gnav { background: #000; }
	nav#gnav ul { width: 1007px; display: flex; justify-content: space-around; padding: 20px 0px; margin: 0 auto; justify-content: right; }
	nav#gnav ul li { position: relative; }
	nav#gnav ul li a { color: #fff; margin: 0 0 0 40px; }
	nav#gnav ul li:before { content: " / "; position: absolute; left: 19px; color: #5d5d5d; }
	nav#gnav ul li:first-child:before { content: ""; }

	/*============================
	#footer
	============================*/
	footer#footer { background: #f7f8f9; }
	footer#footer .inner { width: 1010px; margin: 0 auto; display: flex; flex-wrap: wrap; justify-content: center; padding: 50px 0 20px; }
	footer#footer ul { width: 25%; }
	footer#footer ul li { margin: 0 0 20px; position: relative; }
	footer#footer ul li:before { position: absolute; content: "> "; top: -1px; color: #a7a7a7; }
	footer#footer ul li a { font-size: 14px; margin: 0 0 0 20px; }
	footer#footer div.bnr_flex { display: flex; justify-content: space-around; width: 810px; margin: 30px 0; }
	footer#footer small { width: 100%; font-size: 12px; text-align: center; }
	.hikaku { width: 900px; margin: 0 auto 20px; font-size: 18px; }
	.hikaku .ttl { font-weight: bold; text-align: center; background: #ffc22f; border-radius: 10px 10px 0px 0; padding: 16px; font-size: 28px; }
	.hikaku table { border: solid #ffc22f 2px; }
	.hikaku table td { text-align: right; padding: 10px 20px; border: 1px solid #6a6a6a; }
	.hikaku table th { padding: 10px; font-weight: bold; background: #c8c8c8; border: 1px solid #6a6a6a; text-align: center; }
	.hikaku table td.pit { vertical-align: middle; text-align: center; font-size: 23px; font-weight: bold; color: red; }
	.hikaku .txt { text-align: center; margin: 30px 0; font-size: 30px; font-weight: bold; }
	.news_list { margin: 10px 0; }
	.news_list  li { border-bottom: dashed #acacac; padding: 10px 10px; font-weight: bold; }
	.news_list  li span.data { padding: 0 40px 0 0; }
	.news_article { width: 800px; margin: 30px auto; border: 3px solid #000; padding: 20px; }
	.news_article .title { padding: 10px 30px; background: #000; color: #fff; font-weight: bold; margin: 10px 0 10px; }
	.news_article .date { text-align: right; }
	.news_article .news_nav { display: flex; justify-content: space-around; font-weight: bold; margin: 0 0 30px; }
	.news_article .news_nav li a {/* text-decoration: underline; */color: #ffffff; border: 2px solid #636363; border-radius: 5px; padding: 10px 20px; background: #000; }

	/*============================
	#header
	============================*/
	#faq {}
	#faq .categories {
		margin: 1em auto 3em;
		margin: 1em auto 3em;
		display: flex;
		flex-wrap: wrap;
		width: 100%;
		justify-content: left;
	 }
	#faq .categories li {
		width: 25%;
	}
	#faq .categories li a {
		background: #ffc22f;
		display: flex;
		align-items: center;
		justify-content: center;
		font-weight: bold;
		margin: 0 3% 0.5em;
		box-sizing: border-box;
		padding: 0.5em 0;
		overflow: hidden;
		border: 2px solid #ffc22f;
		border-radius: 0.2em;
	}
	#faq .categories li.active a,
	#faq .categories li a:hover {
		border: 2px solid #000;
	}

}

.alert_block {
  width: 1010px;
  margin: 30px auto;
}
.alert_block .box {
  border: 2px solid #F37018;
  padding: 1em 2em;
}
.alert_block h3 {
  text-align: center;
  font-size: 20px;
  font-weight: bold;
  color: #F37018;
  margin-bottom: 1em;
}
.alert_block p {
  font-size: 16px;
}




/*SP用*/
@media screen and (max-width:640px) {
	.pc { display: none !important }
	.sp { display: block !important }
	img { max-width: 100%; height: auto; width: auto; }
	body { min-width: auto !important; overflow: inherit !important; }
	.sp_tac { text-align: center !important; }
	.sp_tar { text-align: right !important; }
	.sp_mb15 { margin-bottom: 15px !important; }
	.sp_mb20 { margin-bottom: 20px !important; }
	.sp_mb30 { margin-bottom: 30px !important; }
	.sp_mb40 { margin-bottom: 40px !important; }
	.sp_mb45 { margin-bottom: 45px !important; }
	.sp_mb50 { margin-bottom: 50px !important; }
	.sp_mb60 { margin-bottom: 60px !important; }
	.sp_mb70 { margin-bottom: 70px !important; }
	.sp_mb80 { margin-bottom: 80px !important; }
	.sp_mb90 { margin-bottom: 90px !important; }
	.sp_mb100 { margin-bottom: 100px !important; }
	div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }

	/* メインの日本語フォント 太字 */
	.f_min_bold { font-weight: 700; }
	.f_hira_bold { font-weight: 700; }
	.f_gothic_bold { font-weight: 700; }
	.f_hirago_bold { font-weight: 700; }
}

/* 印刷用 */
@media print {
	body { zoom: 0.6; -webkit-print-color-adjust: exact; }
}

/* 印刷用 IE10以上 */
@media print and (-ms-high-contrast:none) {
	@page { size: A4; margin: 12.7mm 9.7mm; }
	body { zoom: 1.8; width: 1200px; transform: scale(0.5); transform-origin: 0 0; }
}
