@charset "utf-8";

@import url("header.css");
@import url("footer.css");


/*body *{ border:0.02px solid #000000; background:rgba(000,000,000,0.1)}*/

html,
body {
	width: 100%;
	overflow-x: hidden;
}

body {
	height: auto;
	background: var(--color-gray200);
}


/* フォントの指定 */
html {
	font-size: 62.5%;
}

body {
	font-family: var(--font-family-noto-sans);
	font-feature-settings: "palt";
	color: var(--color-black);
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.05em;
	-webkit-text-size-adjust: 100%;
	text-rendering: optimizeLegibility;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-variant-east-asian: proportional-width;
}

input,
select,
textarea {
	font-family: var(--font-family-noto-sans);
	color: var(--color-black);
	font-size: 16px;
	font-size: 1.6rem;
	font-weight: normal;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.075em;
}

p {
	text-align: justify;
	text-justify: inter-ideograph;
}

a {
	color: #000;
	text-decoration: underline;
}

main a {
	color: #1953A2;
	text-decoration: underline;
}

a[href*=".pdf"]::after,
a.pdf::after {
	content: "";
	display: inline-block;
	margin: 0 0.5em;
	vertical-align: middle;
	width: 1em;
	height: 1em;
	background: url("../img/share/pdfIcon.png");
	background-size: cover;
}

a[href*=".xls"]::after,
a.xls::after {
	content: "";
	display: inline-block;
	margin: 0 0.5em;
	vertical-align: middle;
	width: 1em;
	height: 1em;
	background: url("../img/share/xlsIcon.png");
	background-size: cover;
}

a:hover {
	color: #6C6C6C;
}

a img {
	transition: 0.3s;
}

a:hover img {
	opacity: 0.7;
}


/* セレクト時の色指定 */
::-moz-selection {
	background: #B7B7B7;
	color: #000;
}

::selection {
	background: #B7B7B7;
	color: #000;
}

::-moz-selection {
	background: #B7B7B7;
	/*Firefox*/
	color: #000;
}

.inner {
	width: 96%;
	max-width: 1080px;
	margin: 0 auto 2em;
}

.mw100 {
	max-width: 100%;
}

.showPc {}

.showSp {
	display: none;
}

.imgTxt {
	position: relative;
}

.imgTxt p {
	overflow: hidden;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	text-indent: -100vw;
	font-size: 10px !important;
}

@media screen and (max-width:768px) {
	html {
		font-size: 55%;
	}

	.showPc {
		display: none;
	}

	.showSp {
		display: block;
	}
}


/* --------------------------------------------

#main

---------------------------------------------- */
#main {
	padding-bottom: 6em;
}

#main>.inner {
	/*opacity: 0;
　-webkit-animation: fadeIn 1.2s 0.5s forwards;
  -moz-animation: fadeIn 1.2s 0.5s forwards;
  animation: fadeIn 1.2s 0.5s forwards;*/
}

@-webkit-keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

@keyframes fadeIn {
	0% {
		opacity: 0;
	}

	100% {
		opacity: 1;
	}
}

/* --------------------------------------------

見出し用 CSS

---------------------------------------------- */
.cntTitle {
	margin-bottom: 4em;
	background: #1c2a35;
	/* Old browsers */
	/* FF3.6-15 */
	/* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom, #1c2a35 50%, #747B80 100%);
	/* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#1c2a35', endColorstr='#747B80', GradientType=0);
	/* IE6-9 */
}

.cntTitle h1 {
	display: block;
	padding: 170px 0% 1em;
	text-align: center;
	font-size: 20px;
	font-size: 2.0rem;
	color: #fff;
}

@media screen and (max-width:768px) {
	.cntTitle h1 {
		padding: 5em 0% 1em;
		font-size: 14px;
		font-size: 1.4rem;
	}
}


.cntTitle ul {
	width: 100%;
	text-align: center;
	background: rgba(61, 70, 83, 0.50);
}

.cntTitle ul li {
	display: inline-block;
}

.cntTitle ul li a {
	display: block;
	padding: 1em 1.5em;
	color: #fff;
	text-decoration: none;
	transition: 0.3s;
}

.cntTitle ul li a:hover {
	background: rgba(0, 0, 0, 0.2);
}

.cntTitle ul li a:before {
	content: "";
	display: inline-block;
	margin: -0.2em 0.5em 0 0;
	vertical-align: middle;
	width: 1em;
	height: 1em;
	background: url("../img/share/arrowW.png");
	background-size: cover;
	border: 1px solid #fff;
	border-radius: 50%;
}

@media screen and (max-width:599px) {
	.cntTitle ul {
		padding: 0.5em 0;
	}

	.cntTitle ul li {
		display: block;
	}

	.cntTitle ul li a {
		padding: 0.2em 1.5em;
		font-size: 13px;
		font-size: 1.3rem;
	}
}



/* --------------------------------------------

見出し用 CSS

---------------------------------------------- */
.titleTypeA {
	padding-bottom: 0.5em;
	margin-bottom: 3em;
	font-size: 18px;
	font-size: 1.8rem;
	color: #1C2A35;
	border-bottom: 1px solid #1C2A35;
	white-space: nowrap;
}

.titleTypeA::before {
	content: "";
	display: inline-block;
	margin-right: 0.5em;
	vertical-align: middle;
	width: 1em;
	height: 1em;
	background: url(../img/share/arrow.png);
	background-size: cover;
	border: 1px solid #1C2A35;
	border-radius: 50%;
}


.titleTypeB {
	padding-bottom: 0.5em;
	margin-bottom: 1em;
	text-align: center;
	font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "serif";
	font-size: 24px;
	font-size: 2.4rem;
	color: #4D2403;
	white-space: nowrap;
}

.titleTypeB::before {
	content: "";
	display: block;
	margin: 0 auto 1em;
	vertical-align: middle;
	width: 0.8em;
	height: 5px;
	background: #4D2403;
}


.titleTypeC {
	padding: 0.2em 1em 0.2em;
	margin-bottom: 1.5em;
	color: #963500;
	background: #fff;
	font-size: 20px;
	font-size: 2.0rem;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
	border-bottom: 3px solid #963500;
	white-space: nowrap;
}


.titleTypeD {
	padding: 0.5em 1em 0.5em;
	margin-bottom: 2.5em;
	font-size: 18px;
	font-size: 1.8rem;
	background: #EDEDED;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
	border-left: 3px solid #6C6C6C;
	white-space: nowrap;
}






/* --------------------------------------------

カラム用 CSS

---------------------------------------------- */
.clmBox {
	flex-wrap: wrap;

	display: flex;
	justify-content: left;
}

.clmBox__item {
	display: inline-block;
	width: 100%;
	margin-bottom: 3em;
	vertical-align: top;
}

.clmBox-2 .clmBox__item {
	width: 48%;
	margin: 0 4% 3em 0;
}

.clmBox-3 .clmBox__item {
	width: 31.999%;
	margin: 0 2% 3em 0;
}

.clmBox-4 .clmBox__item {
	width: 23%;
	margin: 0 2% 3em 0;
}

.clmBox-2 .clmBox__item:nth-of-type(2n+2),
.clmBox-3 .clmBox__item:nth-of-type(3n+3),
.clmBox-4 .clmBox__item:nth-of-type(4n+4) {
	margin-right: 0 !important;
}

@media screen and (max-width:768px) {
	.clmBox-2 .clmBox__item {
		width: 100%;
		margin-right: 0%;
	}

	.clmBox-3 .clmBox__item {
		width: 100%;
		margin-right: 0%;
	}

	.clmBox-4 .clmBox__item {
		width: 100%;
		margin-right: 0%;
	}
}


.clmBox-card .clmBox__item {
	padding: 5px;
	background: #ECEBEB;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
	transition: 0.3s;
}

.clmBox-card .clmBox__item a {
	color: inherit;
	text-decoration: none;
}

.clmBox-card .clmBox__item h3 {
	position: relative;
	height: 6em;
	padding: 2em 0em;
	font-size: 24px;
	font-size: 2.4rem;
	text-align: center;
	line-height: 1.2;
	white-space: nowrap;
	color: #fff;
	background: url("../img/share/cardTitleBg.png") right top;
	background-size: cover;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
	transition: 0.3s;
}

.clmBox-card .clmBox__item:nth-of-type(even) h3 {
	background: url("../img/share/cardTitleBg2.png") right top;
	background-size: cover;
}

.clmBox-card .clmBox__item h3::after {
	content: "";
	position: absolute;
	bottom: -1em;
	left: 50%;
	margin-left: -1em;
	display: block;
	width: 2em;
	height: 2em;
	background: url("../img/share/cardTitleIcon.png");
	background-size: cover;
	border-radius: 50%;
	transition: 0.3s;
}

.clmBox-card .clmBox__item:nth-of-type(even) h3::after {
	background: url("../img/share/cardTitleIcon2.png");
	background-size: cover;
}

.clmBox-card .clmBox__item p {
	padding: 2em 1em 1em;
	margin-top: 5px;
	border-top: 1px solid #D5D2D2;
}

.clmBox-card .clmBox__item:hover {
	background: #fff;
	box-shadow: none;
}

.clmBox-card .clmBox__item:hover h3 {}

.clmBox-card .clmBox__item:hover h3::after {
	margin-left: -0.5em;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}

.box100 .clmBox-2 .clmBox__item {
	width: 80%;
	margin: 0 4% 3em 0;
}



/* --------------------------------------------

table用 CSS

---------------------------------------------- */
.table-basic {
	max-width: 100%;
	font-size: 14px;
	font-size: 1.4rem;
	background: #fff;
	margin-bottom: 0.5em;
	border-collapse: collapse;
	word-break: break-all;
}

.table-basic th,
.table-basic td {
	border: 1px solid #b9b9b9;
	white-space: nowrap;
}

.table-basic thead th,
.table-basic thead td {
	padding: 0.5em 1em;
	font-weight: bold;
	border-bottom-width: 2px;
	background: #efefef;
	text-align: center;
}

.table-basic tbody th,
.table-basic tbody td {
	padding: 0.5em 1em;
}

.table-basic tbody th {
	text-align: left;
}

.table-basic tbody td {
	text-align: right;
	white-space: normal;
}

.table-basic .red {
	background-color: rgba(255, 25, 0, 0.10);
}

.table-basic .orange {
	background-color: rgba(255, 93, 0, 0.10);
}

.table-basic .green {
	background-color: rgba(56, 255, 0, 0.10);
}

.table-basic .blue {
	background-color: rgba(8, 172, 255, 0.10);
}

.table-basic tfoot th,
.table-basic tfoot td {
	padding: 0.5em 1em;
}

.table-basic tfoot th {
	background: #efefef;
}

.table-basic tfoot td {
	text-align: right;
}

@media screen and (max-width:768px) {
	.table-basic {
		width: 100%;
	}

	.table-basic th,
	.table-basic td {
		white-space: normal;
	}

	.table-basic.spBlock thead {
		display: none;
	}

	.table-basic.spBlock th,
	.table-basic.spBlock td {
		display: block;
		width: 100%;
	}
}



/* --------------------------------------------

table.table-type2　CSS

---------------------------------------------- */
.table-type2 {
	max-width: 100%;
	background: #fff;
	margin-bottom: 1.5em;
	border-top: 1px dotted #b9b9b9;
	border-right: 1px dotted #b9b9b9;
	word-break: break-all;
}

.table-type2 th,
.table-type2 td {
	border-bottom: 1px dotted #b9b9b9;
	border-left: 1px dotted #b9b9b9;
	font-weight: normal;
}

.table-type2 thead th,
.table-type2 thead td {
	padding: 0.5em 1em;
	font-weight: bold;
	line-height: 1.2;
	background: #C4C4C4;
	text-align: center;
}

.table-type2 tbody th,
.table-type2 tbody td {
	padding: 0.5em 1em;
}

.table-type2 tbody th {
	text-align: left;
	white-space: nowrap;
	background: rgba(235, 235, 235, 1.00);
}

.table-type2 tbody td {}

.table-type2 .red {
	background-color: rgba(255, 25, 0, 0.10);
}

.table-type2 .orange {
	background-color: rgba(255, 93, 0, 0.10);
}

.table-type2 .green {
	background-color: rgba(56, 255, 0, 0.10);
}

.table-type2 .blue {
	background-color: rgba(8, 172, 255, 0.10);
}

.table-type2 tfoot th,
.table-type2 tfoot td {
	padding: 0em 1em;
}

.table-type2 tfoot th {
	background: #efefef;
}

.table-type2 tfoot td {
	text-align: right;
}

@media screen and (max-width:768px) {
	.table-type2 tbody th {
		white-space: normal;
	}

	.table-type2.spBlock thead {
		display: none;
	}

	.table-type2.spBlock th,
	.table-type2.spBlock td {
		display: block;
		width: 100%;
	}

}






.cautionPtxt {
	font-size: 13px;
	font-size: 1.3rem;
}

.readTxt {
	font-size: 20px;
	font-size: 2rem;
	padding-bottom: 1em;
}



/* --------------------------------------------

カラム用 CSS

---------------------------------------------- */
.imgBox {
	text-align: center;
}

.imgBox img {
	max-width: 100%;
}

/* --------------------------------------------

 CSS

---------------------------------------------- */
.readerGuide {
	margin: 4em auto;
	padding: 1.5em 2em;
	font-size: 14px;
	font-size: 1.4rem;
	background: #efefef;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1)
}

.readerGuide h3 {
	color: rgba(183, 60, 62, 1.00);
}

.readerGuide p {}

.readerGuide a {
	display: block;
	padding: 0.5em 0 0;
	text-decoration: underline;
}



.list__item {
	margin-bottom: 2em;
}

.list__item dt {
	padding: 0.5em 1em;
	margin-bottom: 0.5em;
	background: #fff;
	box-shadow: 0 0 5px rgba(0, 0, 0, 0.1)
}

.list__item dt h4 {
	font-size: 18px;
	font-size: 1.8rem;
	display: inline;
}

.list__item dd {
	padding: 1em;
}

.list__item dd h4 {
	padding-bottom: 0.5em;
	font-size: 17px;
	font-size: 1.7rem;
	font-weight: bold;
}

.list__item ul {
	padding-left: 1em;
	margin-bottom: 2.5em;
}

.list__item ul li {
	padding: 0.5em 0;
	border-bottom: 1px dotted #BDBDBD;
}

.list__item ul li span {
	padding-right: 0.5em;
}

.list__item ul li small {
	padding-right: 1em;
	font-size: 0.8em;
}



.open__item dt {
	cursor: pointer;
}

.open__item dt::before {
	content: "";
	display: inline-block;
	margin-right: 0.5em;
	vertical-align: middle;
	width: 1em;
	height: 1em;
	background: url("../img/share/btn_open.png");
	background-size: cover;
	border-radius: 50%;
}

/* --------------------------------------------

制作中ページ

---------------------------------------------- */
.pendPages {
	padding: 5em 0;
	margin-bottom: 3em;
	font-size: 20px;
	font-size: 2rem;
	color: red;
	text-align: center;
	border: 2px solid red;
}

.pendImage {
	display: block;
	position: relative;
	left: 50%;
	margin-left: -678px;
}


@media screen and (max-width:1356px) {
	.pendImage {
		display: block;
		width: 100%;
		position: relative;
		left: auto;
		margin-left: 0;
	}
}