@charset "utf-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&display=swap');
/* ===================================================================
	common.css
=================================================================== */

/*----------------------------------------------------
	共通
----------------------------------------------------*/

body,
td,
th,
input,
textarea {
	color: #000000;
	font-family: 'Noto Sans JP', 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', Osaka, Tahoma, Verdana, Arial, Verdana, sans-serif;
	font-size: 12px;
	line-height: 1.5;
}

a,
a:link,
a:visited,
a:active,
a:hover,
a:hover img {
	color: #000000;
	text-decoration: underline;
	/*
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	opacity: .80;
*/
}

a:hover {
	text-decoration: none;
}

a:hover,
a:hover img,
.img_hover:hover {
	/*
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
	opacity: .80;
*/
}

img {
	vertical-align: bottom;
}

.img_ck {
	font-size: 1px;
	line-height: 0;
}

/* clearfix (micro) */
.clearfix:before,
.clearfix:after {
	content: ' ';
	display: table;
}

.clearfix:after {
	clear: both;
}

/* For IE 6/7 only */
.clearfix {
	*zoom: 1;
}

a {
	outline: none;
}

a:focus {
	outline: none;
}

/*---------------------------------------------------------------------------*/

/* margin */
.mar_t0 {
	margin-top: 0 !important;
}

.mar_t5 {
	margin-top: 5px !important;
}

.mar_t10 {
	margin-top: 10px !important;
}

.mar_t15 {
	margin-top: 15px !important;
}

.mar_t20 {
	margin-top: 20px !important;
}

.mar_t25 {
	margin-top: 25px !important;
}

.mar_t30 {
	margin-top: 30px !important;
}

.mar_t35 {
	margin-top: 35px !important;
}

.mar_t40 {
	margin-top: 40px !important;
}

.mar_t45 {
	margin-top: 45px !important;
}

.mar_t50 {
	margin-top: 50px !important;
}

.mar_b0 {
	margin-bottom: 0 !important;
}

.mar_b5 {
	margin-bottom: 5px !important;
}

.mar_b10 {
	margin-bottom: 10px !important;
}

.mar_b15 {
	margin-bottom: 15px !important;
}

.mar_b20 {
	margin-bottom: 20px !important;
}

.mar_b25 {
	margin-bottom: 25px !important;
}

.mar_b30 {
	margin-bottom: 30px !important;
}

.mar_b35 {
	margin-bottom: 35px !important;
}

.mar_b40 {
	margin-bottom: 40px !important;
}

.mar_b45 {
	margin-bottom: 45px !important;
}

.mar_b50 {
	margin-bottom: 50px !important;
}

.mar_l0 {
	margin-left: 0 !important;
}

.mar_l5 {
	margin-left: 5px !important;
}

.mar_l10 {
	margin-left: 10px !important;
}

.mar_l15 {
	margin-left: 15px !important;
}

.mar_l20 {
	margin-left: 20px !important;
}

.mar_l25 {
	margin-left: 25px !important;
}

.mar_l30 {
	margin-left: 30px !important;
}

.mar_l35 {
	margin-left: 35px !important;
}

.mar_l40 {
	margin-left: 40px !important;
}

.mar_l45 {
	margin-left: 45px !important;
}

.mar_l50 {
	margin-left: 50px !important;
}

.mar_r0 {
	margin-right: 0 !important;
}

.mar_r5 {
	margin-right: 5px !important;
}

.mar_r10 {
	margin-right: 10px !important;
}

.mar_r15 {
	margin-right: 15px !important;
}

.mar_r20 {
	margin-right: 20px !important;
}

.mar_r25 {
	margin-right: 25px !important;
}

.mar_r30 {
	margin-right: 30px !important;
}

.mar_r35 {
	margin-right: 35px !important;
}

.mar_r40 {
	margin-right: 40px !important;
}

.mar_r45 {
	margin-right: 45px !important;
}

.mar_r50 {
	margin-right: 50px !important;
}

/* float */
.fl_l {
	float: left !important;
}

.fl_r {
	float: right !important;
}

.fl_n {
	float: none !important;
}

/* font color */
.f_c_red {
	color: #ff0000 !important;
}

.f_c_yellow {
	color: #ffff00 !important;
}

.f_c_blue {
	color: #0000ff !important;
}

.f_c_gray {
	color: #cccccc !important;
}

.f_c_gray_2 {
	color: #999999 !important;
}

.t_align_l {
	text-align: left !important;
}

.t_align_c {
	text-align: center !important;
}

.t_align_r {
	text-align: right !important;
}

.f_weight_bold {
	font-weight: bold !important;
}

.f_weight_normal {
	font-weight: normal !important;
}

/*---------------------------------------------------------------------------*/

/* CMS用 */
.file {
	border-top: 1px dotted #cccccc;
	margin: 15px 0;
	padding: 10px 0 0;
	text-align: left;
}

.file .pdf {
	background: url(../images/cms/pdf.gif) left center no-repeat;
	line-height: 30px;
	padding: 4px 0 0 30px;
}

.file .xls,
.file .xlsx {
	background: url(../images/cms/xls.gif) left center no-repeat;
	line-height: 30px;
	padding: 4px 0 0 30px;
}

.file .doc,
.file .docx {
	background: url(../images/cms/doc.gif) left center no-repeat;
	line-height: 30px;
	padding: 4px 0 0 30px;
}

.top-right {
	float: right;
	margin: 0px 0px 30px 30px;
}

.top-left {
	float: left;
	margin: 0px 30px 30px 0px;
}

.top-center {
	margin: 0px 0px 30px 0px;
	text-align: center;
}

.bottom-right {
	float: right;
	margin: 30px 0px 0px 30px;
}

.bottom-left {
	float: left;
	margin: 30px 30px 0px 0px;
}

.bottom-center {
	margin: 30px 0px 0px 0px;
	text-align: center;
}

.entry-container b {
	font-weight: bold;
}

.entry-container i {
	font-style: italic;
}

/*---------------------------------------------------------------------------*/

@media screen and (min-width:768px) {
	.sp {
		display: none;
	}
}

@media screen and (max-width:767px) {
	.pc {
		display: none;
	}
}

/*---------------------------------------------------------------------------*/

@media screen and (min-width:768px) {
	#container {
		position: relative;
	}

	header {
		position: absolute;
		top: 0;
		width: 100%;
		z-index: 10000;
		padding-block: 25px;
		background-color: rgba(255, 255, 255, 0.8);
	}

	header h1 {
		float: left;
		padding-left: 25px;
	}

	header h1 img {
		height: auto;
		width: 180px;
	}

	header h1 a {
		display: block;
		transition: all 0.3s ease;
	}

	header h1 a:hover {
		filter: alpha(opacity=70);
		-moz-opacity: 0.7;
		opacity: 0.7;
	}

	header nav {
		float: right;
		padding-right: 25px;
	}

	header nav ul {
		font-size: 0;
		display: flex;
		align-items: center;
	}

	header nav ul li {
		/display: inline;
		/zoom: 1;
		margin: 0 15px;
	}

	header nav ul li a img {
		filter: invert(100%);
		transition: all 0.3s ease;
	}

	header nav ul li a:hover img {
		filter: alpha(opacity=50);
		-moz-opacity: 0.5;
		opacity: 0.5;
	}
}

@media screen and (max-width:767px) {
	header {
		box-sizing: border-box;
		background-color: #fff;
		padding: 10px;
		width: 100%;
	}

	header h1 {
		font-size: 0;
		line-height: 0;
	}

	header h1 img {
		height: auto;
		width: 80px;
	}
}

/*---------------------------------------------------------------------------*/

footer {
	text-align: center;
	padding: 76px 0 30px;
}

footer .f_navi {
	margin-bottom: 36px;
}

footer .f_navi li {
	display: inline-block;
	text-align: center;
	margin: 0 20px;
	vertical-align: middle;
}

footer .f_navi li a img {
	transition: all 0.3s ease;
}

footer .f_navi li a:hover img {
	filter: alpha(opacity=50);
	-moz-opacity: 0.5;
	opacity: 0.5;
}

footer .pagetop {
	margin-bottom: 95px;
}

footer .pagetop a img {
	transition: all 0.3s ease;
}

footer .pagetop a:hover img {
	filter: alpha(opacity=70);
	-moz-opacity: 0.7;
	opacity: 0.7;
}

@media screen and (max-width:767px) {

	footer {
		padding: 40px 0 20px;
	}

}

.footer__under {
	border-top: 1px solid #dcdcdc;
}

.footer__link {
	display: flex;
	margin-top: 46px;
	align-items: center;
}

.footer__link a {
	display: block;
}

.footer__link img {
	width: 100%;
	height: auto;
}

.footer__link-title {
	flex-shrink: 0;
	margin-right: 34px;
}

.footer__link-title a {
	width: 122px;
}

.footer__link-items {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	box-sizing: border-box;
	width: 100%;
}

.footer__link-item {
	margin-bottom: 18px;
}

.footer__link-item img {
	width: 100%;
}

.footer__link-item:nth-of-type(1) {
	width: 146px;
}

.footer__link-item:nth-of-type(2) {
	width: 156px;
	margin-left: 42px;
}

/* .footer__link-item:nth-of-type(3) {
	width: 124px;
	margin-left: 43px;
} */

@media screen and (max-width:767px) {

	.footer__link {
		-webkit-box-orient: vertical;
		-webkit-box-direction: reverse;
		display: -webkit-box;
		display: -ms-flexbox;
		display: flex;
		-ms-flex-direction: column-reverse;
		flex-direction: column-reverse;
		position: relative;
		margin-top: 7vw;
	}

	.footer__link a {
		display: block;
		margin: 0 auto
	}

	.footer__link img {
		width: 100%
	}

	.footer__link-title {
		left: 0;
		margin: auto;
		position: absolute;
		right: 0;
		top: 0
	}

	.footer__link-title a {
		width: 24.609375vw
	}

	.footer__link-items {
		-webkit-box-pack: center;
		-ms-flex-pack: center;
		-webkit-box-align: center;
		-ms-flex-align: center;
		align-items: center;
		display: -webkit-box;
		display: -ms-flexbox;
		-ms-flex-wrap: wrap;
		display: flex;
		flex-wrap: wrap;
		gap: 6.510416666666667vw;
		justify-content: center;
		padding-left: 0;
		border: none;
	}

	.footer__link-item {
		-ms-flex-negative: 0;
		flex-shrink: 0;
		margin-top: 2.6vw;
	}

	.footer__link-item:nth-of-type(1) {
		/* margin-left: 7.03125vw; */
		width: 25vw;
	}

	.footer__link-item:nth-of-type(2) {
		/* margin-left: 7.25.260416666666668vw; */
		margin-left: 0;
		width: 27vw;
	}

	footer .accordion {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		position: relative
	}

	footer .accordion__trigger {
		cursor: pointer
	}

	footer .accordion__trigger:before {
		border-bottom: 1.0416666666666665vw solid #000;
		border-right: 1.0416666666666665vw solid #000;
		content: "";
		display: block;
		height: 2.864583333333333vw;
		margin: 1.3020833333333335vw auto auto;
		-webkit-transform: rotate(45deg);
		transform: rotate(45deg);
		width: 2.864583333333333vw
	}

	footer .accordion__trigger.active:before {
		margin-top: 2.604166666666667vw;
		-webkit-transform: rotate(-135deg);
		transform: rotate(-135deg)
	}

	footer .accordion__target {
		-webkit-box-sizing: border-box;
		box-sizing: border-box;
		display: none;
		overflow: hidden
	}
}