@charset "utf-8";
/* ====================================================
	共通
==================================================== */
html {
	overflow: auto;
}
body {
	min-width: 1200px;
	overflow: hidden;
	font-family: "メイリオ", Meiryo, -apple-system, BlinkMacSystemFont, "Helvetica Neue", YuGothic, "ヒラギノ角ゴ ProN W3", Hiragino Kaku Gothic ProN, Arial, sans-serif;
	font-size: 16px;
}
/* ----------------------------------------------------
	Adobe Typekit Webフォント
---------------------------------------------------- */
/*---------- Futura PT ----------*/
/*medium*/
.font_futura-pt {
	font-family: futura-pt, sans-serif;
	font-weight: 500;
	font-style: normal;
}
/*Demi*/
.font_futura-pt_D {
	font-family: futura-pt, sans-serif;
	font-weight: 600;
	font-style: normal;
}
/*Bold*/
.font_futura-pt_B {
	font-family: futura-pt, sans-serif;
	font-weight: 700;
	font-style: normal;
}
/*Cond Extra Bold*/
.font_futura-pt-condensed_B {
	font-family: futura-pt-condensed, sans-serif;
	font-weight: 800;
	font-style: normal;
}
/*---------- Noto Sans CJK JP ----------*/
/* DemiLight */
.noto-sans-cjk-jp_DL {
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 300;
	font-style: normal;
}
/* Regular */
.noto-sans-cjk-jp_R {
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 400;
	font-style: normal;
}
/* Medium*/
.noto-sans-cjk-jp_M {
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 500;
	font-style: normal;
}
/* Bold */
.noto-sans-cjk-jp_Bold {
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 700;
	font-style: normal;
}
/* Black */
.noto-sans-cjk-jp_Black {
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 900;
	font-style: normal;
}
/* ====================================================
	枠
==================================================== */
.commonBlock {
	width: 1200px;
	margin: auto;
	position: relative;
}
.commonBox {
	display: flex;
}
.commonWrapper {
	width: 1070px;
	margin: auto;
	position: relative;
}
img {
	vertical-align: bottom;
}
/* ====================================================
	header 
==================================================== */
header {
	position: relative;
}
header::before {
	content: "";
	width: 50%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #25c037;
}
header .headerWrap::before {
	content: "";
	width: 1200px;
	position: absolute;
	top: 0;
	left: 0;
	background: linear-gradient(60deg, #25c037, #25c037, #5ad230, #5ad230, #5ad230);
}
.headerWrap {
	display: flex;
	margin: auto;
	width: 1200px;
	position: relative;
}
.headerWrap .headerLogo {
	height: 100px;
	position: relative;
	z-index: 2;
}
.headerWrap .headerLogo img {
	padding-top: 18px;
}
.headerWrap nav {
	height: 100px;
	position: relative;
	margin: 0 40px 0 70px;
	z-index: 2;
}
.headerWrap nav ul {
	display: flex;
}
.headerWrap nav ul li {
	margin-left: 55px;
}
.headerWrap nav ul li:first-child {
	margin-left: 0;
}
.headerWrap nav ul li a {
	font-family: futura-pt, sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 17px;
	color: #fff;
	letter-spacing: 0.05em;
	position: relative;
	overflow: hidden;
	padding-top: 33px;
	padding-bottom: 33px;
	display: block;
}
.headerWrap nav ul li a::after {
	content: "";
	display: block;
	position: absolute;
	bottom: 25px;
	left: 0;
	z-index: 1;
	width: 100%;
	height: 2px;
	background-color: #fff;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
.headerWrap nav ul li:hover a::after {
	transform-origin: left top;
	transform: scale(1, 1);
}
.headerWrap .snsList {
	z-index: 2;
	display: flex;
}
.headerWrap .snsList li a {
	color: #fff;
	font-size: 25px;
}
.headerWrap .snsList li {
	margin-left: 20px;
	padding-top: 26px;
}
.headerWrap .snsList li:nth-of-type(1) {
	margin-left: 0;
}
/* ====================================================
	footer
==================================================== */
footer {
	height: 385px;
	background-color: #f4f4f4;
}
footer .footerWrap {
	display: flex;
	margin-bottom: 69px;
}
footer .footerLogo {
	margin-top: 76px;
}
footer ul.footerList {
	display: flex;
	margin-left: 310px;
	margin-top: 80px;
}
footer ul.footerList dt a {
	font-family: futura-pt, sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 17px;
	color: #262626;
	font-feature-settings: "palt";
	letter-spacing: 0.15em;
}
footer ul.footerList dd a {
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 12px;
	color: #262626;
	font-feature-settings: "palt";
	letter-spacing: 0.15em;
}
footer ul.footerList>li {
	margin-left: 112px;
}
footer ul.footerList>li:first-child {
	margin-left: 0;
}
footer ul.footerList>li.another {
	margin-left: 72px;
}
footer ul.footerList>li.another dt {
	margin-bottom: 25px;
}
footer ul.footerList dt {
	margin-bottom: 21px;
}
footer ul.footerList dd li {
	margin-top: 20px;
}
footer ul.footerList dd li:first-child {
	margin-top: 0;
}
footer ul.footerList a {
	position: relative;
}
footer ul.footerList a::before {
	position: absolute;
	bottom: -3px;
	left: 0;
	content: '';
	width: 100%;
	height: 1px;
	background: #0d0d0d;
	transform: scale(0, 1);
	transform-origin: right top;
	transition: transform .3s;
}
footer ul.footerList a:hover::before {
	transform-origin: left top;
	transform: scale(1, 1);
}
footer .copyRight {
	font-family: futura-pt, sans-serif;
	font-weight: 500;
	font-style: normal;
	font-size: 12px;
	color: #262626;
	font-feature-settings: "palt";
	letter-spacing: 0.029em;
	padding-left: 2px;
}
.headerWrap .headerLogo a:hover img,
.footerWrap .footerLogo a:hover img {
	opacity: 0.7;
}
.headerWrap .headerLogo img,
.footerWrap .footerLogo img {
	transition: .3s ease;
}
.footerWrap .snsList {
	z-index: 1;
	display: flex;
}
.footerWrap .snsList li a {
	color: #25c037;
	font-size: 25px;
}
.footerWrap .snsList li {
	margin-left: 20px;
	padding-top: 26px;
}
.footerWrap .snsList li:nth-of-type(1) {
	margin-left: 0;
}
/* ====================================================
	パンくずリスト
==================================================== */
#breadcrumb {
	position: relative;
	z-index: 2;
	font-family: noto-sans-cjk-jp, sans-serif;
	font-weight: 400;
	font-style: normal;
	font-size: 14px;
	letter-spacing: 0.2em;
	margin-top: 30px;
	color: #fff;
}
#breadcrumb ol {
	display: flex;
}
#breadcrumb a {
	color: #fff;
}
#breadcrumb .partition {
	margin: 0 5px;
}
.news_list #breadcrumb {
	margin-top: 0;
}
#breadcrumb.fc_black,
#breadcrumb.fc_black a {
	color: #535353;
}

