@charset "utf-8";

/* ページ共通のCSS */

/* リセット
-------------------------------------------------- */

body,
div,
ul, ol, li,
dl, dt, dd,
h1, h2, h3, h4, h5, h6,
pre,
form, fieldset, input, textarea,
p, blockquote,
th, td {
	margin: 0;
	padding: 0;
}

li {
	list-style: none;
}

img {
	border: none;
}

hr {
  display:block;
    height:1px;
    border:0;
    border-top:1px dotted #cccccc;
    margin:2px 0 0 0;
    padding:0;
}

br {
	letter-spacing: normal;
}

address, em {
	font-style: normal;
}

pre {
	white-space: -moz-pre-wrap; /* Mozilla */
	white-space: -pre-wrap; /* Opera 4-6 */
	white-space: -o-pre-wrap; /* Opera 7 */
	white-space: pre-wrap; /* CSS3 */
	word-break: break-word; /* IE 5.5+ */
	font-family:'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}


/*************************************** ▼▼ ページ共通 ▼▼ *************************************************/
* {
	box-sizing: border-box;
}

html{
	overflow-y:scroll;
	scroll-behavior: smooth;
}

body
{
	background-color: var(--lightblue-color);
	color: #1e1e1e;
	background-color: var(--lightblue-color);
	color: var(--black-color);
	font-family:'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
	line-height: 1.5;
}

/* CSS変数の定義 */
:root {
	--primary-color: #095ca8;
	--secondary-color: #197cbe;
	--black-color:  #1e1e1e;
	--white-color: #fff;
	--gray-color: #797d7c;
	--lightgray-color: #e1e1e1;
	--lightblue-color: #f2f4f4;
	--skyblue-color: #569ebd;
	--yellow-color: #ffee59;
	--green-color: #3d7a7a;
}

/* 背景色 */
.bg-primary {
	background-color: var(--primary-color);
}
.bg-secondary {
	background-color: var(--secondary-color);
}
.bg-white {
	background-color: var(--white-color);
}
.bg-black {
	background-color: var(--black-color);
}
.bg-lightgray {
	background-color: var(--lightgray-color);
}
.bg-lightblue {
	background-color: var(--lightblue-color);
}
.bg-skyblue {
	background-color: var(--skyblue-color);
}
.bg-green {
	background-color: var(--green-color);
}

/* 文字色 */
.color-primary {
	color: var(--primary-color);
}
.color-secondary {
	color: var(--secondary-color);
}
.color-white {
	color: var(--white-color);
}
.color-gray {
	color: var(--gray-color);
}
.line-lightgray {
	color: var(--lightgray-color);
}

/* 余白 */
.m-0 {
	margin: 0;
}
.mt-0 {
	margin-top: 0;
}
.mt-10 {
	margin-top: 10px;
}
.mt-15 {
	margin-top: 15px;
}
.mt-20 {
	margin-top: 20px;
}
.mt-30 {
	margin-top: 30px;
}
.mt-40 {
	margin-top: 40px;
}
.mt-60 {
	margin-top: 60px;
}
.mt-80 {
	margin-top: 80px;
}
.mt-100 {
	margin-top: 100px;
}

.p-0 {
	padding: 0;
}
.pt-0 {
	padding-top: 0;
}
.pt-10 {
	padding-top: 10px;
}
.pt-15 {
	padding-top: 15px;
}
.pt-20 {
	padding-top: 20px;
}
.pt-30 {
	padding-top: 30px;
}
.pt-40 {
	padding-top: 40px;
}
.pt-60 {
	padding-top: 60px;
}
.pt-80 {
	padding-top: 80px;
}
.pt-100 {
	padding-top: 100px;
}

.mb-0 {
	margin-bottom: 0;
}
.mb-10 {
	margin-bottom: 10px;
}
.mb-15 {
	margin-bottom: 15px;
}
.mb-20 {
	margin-bottom: 20px;
}
.mb-30 {
	margin-bottom: 30px;
}
.mb-40 {
	margin-bottom: 40px;
}
.mb-60 {
	margin-bottom: 60px;
}
.mb-80 {
	margin-bottom: 80px;
}
.mb-100 {
	margin-bottom: 100px;
}

.pb-0 {
	padding-top: 0;
}
.pb-10 {
	padding-bottom: 10px;
}
.pb-15 {
	padding-bottom: 15px;
}
.pb-20 {
	padding-bottom: 20px;
}
.pb-30 {
	padding-bottom: 30px;
}
.pb-40 {
	padding-bottom: 40px;
}
.pb-60 {
	padding-bottom: 60px;
}
.pb-80 {
	padding-bottom: 80px;
}
.pb-100 {
	padding-bottom: 100px;
}

/* フォント */
.fs-12 {
	font-size: 12px;
}
.fs-13 {
	font-size: 13px;
}
.fs-14 {
	font-size: 14px;
}
.fs-16 {
	font-size: 16px;
}
.fs-18 {
	font-size: 18px;
}
.fs-20 {
	font-size: 20px;
}
.lh-15 {
	line-height: 150%;
}
.lh-19 {
	line-height: 190%;
}
.fw-bold {
	font-weight: bold;
}

/* 見出し */
h1 {
	font-size: 36px;
	line-height: 46.8px;
	color: var(--primary-color);
	font-weight: 600;
}
h2 {
	font-size: 24px;
	color: var(--primary-color);
}
h3 {
	font-size: 20px;
	color: var(--primary-color);
}
h2::after,
h3::after {
	content: "";
  display: block;
  width: 100%;
  height: 1px;
	margin-top: 2px;
  background-color: var(--lightgray-color);
}
h2.underline-none::after,
h3.underline-none::after {
	display: none;
}

/* テキストカラー */

.red {
	color: #F22323;
}
/* フォーム */
input[type="text"],
textarea {
	font-family:'Lucida Grande', 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Meiryo, メイリオ, sans-serif;
}
input[type="checkbox"] {
  width: 20px;
  height: 20px;
  vertical-align: -2px;
}
textarea {
	box-sizing: border-box;
	width: 100%;
}

/* その他 */
header + #container  {
  padding-top: 120px;
	overflow-x: hidden;
}

#main {
	width: 100%;
	max-width: 1240px;
	padding: 0 20px;
	margin: 0 auto;
	min-height: calc(100vh - (120px + 487px));/* ヘッダーとフッターの高さ */
}

.bg-white-wrapper {
	background-color: var(--white-color);
	border-radius: 10px;
	padding-left: 50px;
	padding-right: 50px;
}

table {
	word-break: break-all;
}
.topicpath {
	position: relative;
	z-index: 2;
}
.topicpath ol {
	margin: 20px 0;	
	font-size: 13px;
	line-height: 19.5px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
}
.topicpath ol li {
	margin-right: 10px;
}
.topicpath ol li:after {
	content: "\03e";
	margin-left: 10px;
}
.topicpath ol li:last-child {
	margin-right: 0;
}
.topicpath ol li:last-child:after {
	display: none;
}

a {
	color: var(--secondary-color);
}

a.btn {
  display: flex;
	align-items: center;
  justify-content: center;
  gap: 10px;
	height: 50px;
	padding: 10px 20px;
	text-decoration: none;
	font-size: 14px;
	font-weight: bold;
	border-radius: 5px;
	box-shadow: 4px 4px 4px 0px rgba(30, 30, 30, 0.2);
}
a.btn.btn-fill {
	background-color: var(--primary-color);
	color: var(--white-color);
}
a.btn.btn-solid {
	background-color: var(--white-color);
	color: var(--primary-color);
	border: 1px solid var(--primary-color) ;
}
a.btn .icon-wrapper {
	display: inline-block;
	width: 27px;
	height: 25px;
	flex-shrink: 0;
}
a.btn.btn-solid span.newspaper-icon {
	display: block;
	width: 100%;
	height: 100%;
	mask-position: center center;
  mask-repeat: no-repeat;
  mask-size: contain;
  mask-image: url(../../../images/view/icon/newspaper.svg);
	background: var(--primary-color);
}
a.btn.btn-solid:hover span.newspaper-icon {
	background: var(--white-color);
}

button.btn,
.form #check,
.form #reset {
	min-height: 50px;
	padding: 10px 20px;
	text-decoration: none;
	font-size: 14px;
	border-radius: 5px;
	box-shadow: 4px 4px 4px 0px rgba(30, 30, 30, 0.2);
	cursor: pointer;
}
button.btn.btn-fill,
.form #check {
	background-color: var(--primary-color);
	color: var(--white-color);
	border: none;
	font-size: 16px;
	font-weight: bold;
}
button.btn.btn-solid,
.form #reset {
	background-color: var(--white-color);
	color: var(--primary-color);
	border: 1px solid var(--primary-color);
	font-size: 14px;
	font-weight: normal;
}


a.text-decoration-none {
	text-decoration: none;
}
a.text-decoration-none:hover {
	text-decoration: underline;
}
a img:hover {
	opacity: 0.7;
	transition: all 0.3s;
}

input.fax_apply,
input.web_apply {
	width: 200px;
	height: 50px;
	font-size: 16px;
	border-radius: 5px;
	cursor: pointer;
	font-weight: 600;;
}
input.fax_apply {
	background-color: var(--white-color);
	border: 1px solid var(--primary-color);
	color: var(--primary-color);
}
input.web_apply {
	background-color: var(--primary-color);
	color: var(--white-color);
	border: none;
}

/* ボタン系のホバー */
a.btn.btn-fill:hover,
a.btn.btn-solid:hover,
button.btn.btn-fill:hover,
button.btn.btn-solid:hover,
.form #check:hover,
.form #reset:hover,
input.fax_apply:hover,
input.web_apply:hover {
	background-color: var(--skyblue-color);
	border-color: var(--skyblue-color);
	color: var(--white-color)!important;
	transition: all 0.3s;
}

.text-nowrap {
	text-wrap: nowrap;
}

.pc {
	display: block;
}
.sp {
	display: none;
}
.closeIcon{
	display: inline-block;
	position: relative;
	text-indent: -9999px;
	width: 20px;
	background: url(../../../images/view/common/winClose.png) no-repeat;
}
.date-and-category {
	display: flex;
	align-items: center;
	margin-bottom: 2px;
}

/* ページャー */
.pagination {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	margin-top: 20px;
	gap: 1px;
}
.pagination li a {
	border: 1px solid var(--lightgray-color);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	text-decoration: none;
}
.pagination li:first-child a {
	border-radius: 5px 0 0 5px;
}
.pagination li:last-child a {
	border-radius: 0 5px 5px 0;
}
.pagination li a:hover {
	color: var(--white-color);
	background-color: var(--lightblue-color);
}
.pagination li.active a,
.pagination li.active a:hover {
	background-color: var(--primary-color);
	color: var(--white-color);
}

/* レスポンシブ */
@media(max-width: 992px) {
	a.btn {
		font-size: 12px;
		gap: 5px;
		padding-left: 8px;
		padding-right: 8px;
	}
	a.btn .icon-wrapper {
		width: 21px;
		height: 19px;
	}
	a.btn.btn-fill img {
		width: 20px;
		height: 15px;
	}
}

@media(max-width: 768px) {
	/* 余白 */
	.xs-m-0 {
		margin: 0;
	}
	.xs-mt-0 {
		margin-top: 0;
	}
	.xs-mt-10 {
		margin-top: 10px;
	}
	.xs-mt-15 {
		margin-top: 15px;
	}
	.xs-mt-20 {
		margin-top: 20px;
	}
	.xs-mt-30 {
		margin-top: 30px;
	}
	.xs-mt-40 {
		margin-top: 40px;
	}
	.xs-mt-60 {
		margin-top: 60px;
	}
	.xs-mt-80 {
		margin-top: 80px;
	}
	.xs-mt-100 {
		margin-top: 100px;
	}

	.xs-p-0 {
		padding: 0;
	}
	.xs-pt-0 {
		padding-top: 0;
	}
	.xs-pt-10 {
		padding-top: 10px;
	}
	.xs-pt-15 {
		padding-top: 15px;
	}
	.xs-pt-20 {
		padding-top: 20px;
	}
	.xs-pt-30 {
		padding-top: 30px;
	}
	.xs-pt-40 {
		padding-top: 40px;
	}
	.xs-pt-60 {
		padding-top: 60px;
	}
	.xs-pt-80 {
		padding-top: 80px;
	}
	.xs-pt-100 {
		padding-top: 100px;
	}

	.xs-mb-0 {
		margin-bottom: 0;
	}
	.xs-mb-10 {
		margin-bottom: 10px;
	}
	.xs-mb-15 {
		margin-bottom: 15px;
	}
	.xs-mb-20 {
		margin-bottom: 20px;
	}
	.xs-mb-30 {
		margin-bottom: 30px;
	}
	.xs-mb-40 {
		margin-bottom: 40px;
	}
	.xs-mb-60 {
		margin-bottom: 60px;
	}
	.xs-mb-80 {
		margin-bottom: 80px;
	}
	.xs-mb-100 {
		margin-bottom: 100px;
	}

	.xs-pb-0 {
		padding-top: 0;
	}
	.xs-pb-10 {
		padding-bottom: 10px;
	}
	.xs-pb-15 {
		padding-bottom: 15px;
	}
	.xs-pb-20 {
		padding-bottom: 20px;
	}
	.xs-pb-30 {
		padding-bottom: 30px;
	}
	.xs-pb-40 {
		padding-bottom: 40px;
	}
	.xs-pb-60 {
		padding-bottom: 60px;
	}
	.xs-pb-80 {
		padding-bottom: 80px;
	}
	.xs-pb-100 {
		padding-bottom: 100px;
	}

	/* フォント */
.xs-fs-13 {
	font-size: 13px;
}
.xs-fs-14 {
	font-size: 14px;
}
.xs-fs-16 {
	font-size: 16px;
}
.xs-lh-15 {
	line-height: 150%;
}
.xs-lh-19 {
	line-height: 190%;
}

	/* 見出し */
	
	h1 {
		font-size: 24px;
		line-height: 31.2px;
	}
	h2 {
		font-size: 20px;
	}
	h3 {
		font-size: 18px;
	}

	/* その他 */
	#main {
		min-height: calc(100vh - (125px + 230px));
	}
	.pc {
		display: none;
	}
	.sp {
		display: block;
	}
	.bg-white-wrapper {
		margin-left: -20px;
		margin-right: -20px;
		padding-left: 20px;
		padding-right: 20px;
	}
	.video-container {
		position: relative;
		padding-bottom: 56.25%; /* 16:9 ratio */
		height: 0;
		overflow: hidden;
		max-width: 100%;
		background: #000;
	}
	.video-container iframe,
	.video-container object,
	.video-container embed {
			position: absolute;
			top: 0;
			left: 0;
			width: 100%;
			height: 100%;
	}
}

/*************************************** ▲▲ ページ共通 ▲▲ *************************************************/





/**icon
--------------------------/

/*pdf_icon*/



a[href$=".pdf"] {
padding-right: 18px;
padding-top:4px;
background: url(../../../images/view/common/pdficon_small.png) no-repeat 100% 100%;

}
* html a.pdf{
padding-right: 18px;
padding-top:2px;
background: url(../../../images/view/common/pdficon_small.png) no-repeat 100% 100%;
}


a[href$=".xls"] {
padding-right: 18px;
padding-top:4px;
background: url(../../../images/view/common/xlsicon_small.png) no-repeat 100% 100%;

}
* html a.xls{
padding-right: 18px;
padding-top:2px;
background: url(../../../images/view/common/xlsicon_small.png) no-repeat 100% 100%;
}

a[href$=".pdf"].clear_icon{
padding-right: initial;
padding-top: initial;
background: initial;
}



/* cursor
--------------------------*/
.cursor_zoom {
cursor:url("../../../images/view/common/cursor_zoom.png"),url("./images/view/common/cursor_zoom.cur"),pointer;

}


