@charset "UTF-8";
/* =======================================

	IndexElements

======================================= */
section h2 {
	display: table;
	line-height: 1;
}

section h2 span {
	display: table-cell;
	vertical-align: middle;
}

section h2 span:nth-of-type(1) {
	margin: 0 20px 0 0;
	position: relative;
	display: inline-block;
	font-size: 44px;
	letter-spacing: 0.17em;
	font-family: "Roboto Condensed";
}

section h2 span:nth-of-type(2) {
	padding: 0 0 0 50px;
	font-size: 16px;
	position: relative;
}

section h2 span:nth-of-type(2):before {
	content: "";
	display: block;
	width: 26px;
	height: 10px;
	background: url(/img/common/title_obj.png) no-repeat;
	background-size: 100%;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	position: absolute;
	top: 50%;
	left: 0;
}

@media only screen and (max-width: 1180px) {
section h2 span:nth-of-type(1) {
	margin: 0 15px 0 0;
}
}

@media only screen and (max-width: 768px) {
section h2 span:nth-of-type(1) {
	margin: 0 10px 0 0;
	font-size: 34px;
	letter-spacing: 0em!important;
}
section h2 span:nth-of-type(2) {
	padding: 0 0 0 27px;
	font-size: 0.625em;
}
section h2 span:nth-of-type(2):before {
	content: "";
	display: block;
	width: 13px;
	height: 5px;
	background: url(/img/common/title_obj.png) no-repeat;
	background-size: 100%;
}
}

/*-----------------------------------------
	key_field
-----------------------------------------*/
#keyField {
	width: 100%;
	height: calc(100vh - 180px);
	position: relative;
	overflow: hidden;
	background: url("/img/index/slogan_color.png") no-repeat center center;
	background-size: 10% auto;
}

.minHead #keyField {
	height: calc(100vh - 80px);
}

#keyVisual {
	width: 100%;
	height: 100% !important;
	min-width: 980px !important;
	position: relative;
	overflow: hidden;
	visibility: hidden;
	padding: 0;
	background: #ffffff;
}

#keyField .slogan {
	width: 100px;
	height: auto;
	position: absolute;
	left: 40px;
	bottom: 40px;
	z-index: 2;
}

#keyField .bnr_think {
	width: 360px;
	height: 100px;
	display: block;
	position: absolute;
	left: 180px;
	bottom: 40px;
	z-index: 2;
}

#keyField .bnr_think img {
	width: 100%;
	height: auto;
}

/*#keyField,*/
#keyField .slogan {
	width: 100px;
	height: auto;
	position: absolute;
	left: 40px;
	bottom: 40px;
	z-index: 2;
}
#keyField .slider,
#keyField .slider .slick-list,
#keyField .slider .slick-track,
#keyField .slider .slide {
	height: 100% !important;
}
#keyField .slider {
	position: relative;
	overflow: hidden;
	z-index: 1;
	background: #ffffff;
}
#keyField .slick-prev,
#keyField .slick-next {
	display: none!important;
}
#keyField .slider .slide {
	position: relative;
	overflow: hidden;
}
#keyField .slider .slide img {
	object-fit: cover;
	width: 100%;
	height: 100%;
}
_:-ms-lang(x)::-ms-backdrop, #keyField .slider .slide img {
	position: absolute;
	top: 50%;
	left: 50%;
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
}
#keyField .slide-dots {
	display: flex;
	position: absolute;
	right: 120px;
	bottom: 40px;
	z-index: 10;
}
#keyField .slide-dots li {
	position: relative;
}
#keyField .slide-dots li:not(:last-child) {
	padding: 0 15px 0 0;
}
#keyField .slide-dots li:not(:last-child)::after {
	content: '';
	display: block;
	width: 8px;
	height: 1px;
	background: #fff;
	position: absolute;
	right: 0;
	bottom: 0.7em;
}
#keyField .slide-dots button {
	width: auto;
	height: auto;
	padding: 15px 0 0;
	margin: 0 5px;
	display: inline-block;
	position: relative;
	color: #fff;
	font-size: 15px;
	line-height: 1;
	font-family: "Roboto Condensed";
	cursor: pointer;
}
#keyField .slide-dots li.slick-active button {
	color: #492d65;
}
#keyField .slide-dots li.slick-active button::after {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	text-align: center;
	opacity: 1;
	background: #492d65;
	border-radius: 3px;
	position: absolute;
	top: 0;
	left: 4px;
}

@media only screen and (max-width: 768px) {
	#keyField {
		height: 100vw !important;
		background-size: 20% auto;
	}
	#keyVisual {
		min-width: auto !important;
	}
	#keyField .slogan {
		width: 18%;
		position: absolute;
		left: 6%;
		bottom: calc(9vw + 50px);
		z-index: 2;
	}
	#keyField .bnr_think {
		width: 64%;
		height: auto;
		left: auto;
		right: 6%;
		bottom: calc(9vw + 50px);
	}
	#keyField .slide-dots {
		right: 6%;
		bottom: calc(0.8vw + 50px);
	}
	#keyField .slide-dots li:not(:last-child) {
		padding: 0 10px 0 0;
	}
	#keyField .slide-dots li:not(:last-child)::after {
		bottom: 0.6em;
	}
	#keyField .slide-dots button {
		font-size: 11px;
	}
	#keyField .slide-dots li.slick-active button::after {
		left: 3px;
	}
}

/*	snsNav
-----------------------------------------*/
#keyField #snsNav {
	width: 80px;
	height: 100%;
	color: #ffffff;
	font-family: "Roboto Condensed";
	background: rgba(73,45,101,0.4);
	position: absolute;
	right: 0;
	top: 0;
	z-index: 3;
}

#keyField #snsNav nav {
	position: relative;
	width: 100%;
	height: 100%;
}

#keyField #snsNav .snsList {
	width: 80px;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	position: absolute;
	top: calc(50% + 30px);
}

#keyField #snsNav .snsList:before,
#keyField #snsNav .snsList:after {
	content: "";
	width: 1px;
	height: 5px;
	display: block;
	background: rgba(255,255,255,0.5);
	position: absolute;
}

#keyField #snsNav .snsList:before {
	top: -3.5em;
	left: 50%;
}

#keyField #snsNav .snsList:after {
	bottom: 0;
	left: 50%;
}

#keyField #snsNav .snsList li {
	margin: 0 0 15px;
}

#keyField #snsNav .snsList li.navCatch {
	display: block;
	height: 3em;
}

#keyField #snsNav .snsList li.navCatch span {
	display: block;
	font-size: 0.750em;
	transform: rotate(90deg);
}

#keyField #snsNav .snsList li a {
	display: block;
	position: relative;
	text-align: center;
}

#keyField #snsNav .snsList li a:before {
	font-size: 25px;
	color: #ffffff;
}

@media only screen and (max-width: 768px) {
	#keyField #snsNav {
		width: 100%;
		height: 50px;
		padding: 0;
		background: rgba(73,45,101,0.5);
		right: 0;
		top: auto;
		bottom: 0;
		z-index: 3;
	}
	#keyField #snsNav nav {
		position: relative;
		width: 100%;
		height: 100%;
	}
	#keyField #snsNav .snsList {
		width: 100%;
		text-align: center;
		-webkit-transform: translate(0, 0);
		transform: translate(0, 0);
		position: relative;
		top: 0;
		left: 0;
	}
	#keyField #snsNav .snsList:before,
	#keyField #snsNav .snsList:after {
		display: none;
	}
	#keyField #snsNav .snsList li {
		margin: 0;
		padding: 0;
		display: inline-block;
	}
	#keyField #snsNav .snsList li.navCatch {
		display: none;
	}
	#keyField #snsNav .snsList li a {
		padding: 0 8px;
		line-height: 50px;
	}
	#keyField #snsNav .snsList li a:before {
		font-size: 24px;
	}
}


/*-----------------------------------------
	noticeField
-----------------------------------------*/
#noticeField {
	padding: 40px 40px 0 40px;
	background: #f3f2f4;
}

#noticeField ul {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	justify-content: space-between;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
}

#noticeField ul li {
	width: 100%;
	margin: 0 20px 0 0;
}

#noticeField ul li:last-of-type {
	margin: 0;
}

#noticeField ul li a {
	color: #000000;
	background: #ffffff;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	align-items: stretch;
	-ms-flex-align: stretch;
	-webkit-box-align: stretch;
	-webkit-align-items: stretch;
}

#noticeField ul li a .date {
	width: 25%;
	padding: 25px 0;
	color: #ffffff;
	background: #f7af0e;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
	flex-wrap: wrap;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	justify-content: center;
	-ms-justify-content : center;
	-webkit-justify-content: center;
}

#noticeField ul li a .ttl {
	width: 75%;
	padding: 0 1.5em 0 3.2em;
	position: relative;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	-webkit-align-items: center;
	align-items: center;
}

#noticeField ul li a .ttl:before,
#noticeField ul li a .ttl:after {
	font-family: 'komazawa';
	color: #f7af0e;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	position: absolute;
	top: 50%;
}

#noticeField ul li a .ttl:before {
	content: "\e900";
	font-size: 1.4em;
	left: 0.8em;
}

#noticeField ul li a .ttl:after {
	content: "\e90a";
	right: 0.5em;
}

#noticeField ul li a[target="_blank"] .ttl:after {
	content: "\e937";
}

@media only screen and (max-width: 768px) {
#noticeField {
	padding: 20px 6% 0 6%;
}
#noticeField ul {
	display: block;
}
#noticeField ul li {
	width: 100%;
	margin: 0 0 5px;
}
#noticeField ul li a .date {
	width: 30%;
	padding: 25px 0;
	font-size: 0.8em;
}

#noticeField ul li a .ttl {
	width: 70%;
	padding: 0.5em 1.5em 0.5em 1em;
	font-size: 0.8em;
}
#noticeField ul li a .ttl:before {display: none;}
#noticeField ul li a .ttl:after {
	content: "\e90a";
	right: 0.5em;
}
}

/*-----------------------------------------
	slideField
-----------------------------------------*/
#slideField {
	position: relative;
	background: #f3f2f4;
	padding: 40px 0 100px;
}

#slideField .slider {
	width: 80%;
	margin: 0 auto;
	position: static;
}

#slideField .slider .slick-list {
	overflow-y: visible;
	overflow-x: visible;
}

#slideField .slider .slick-slide {
	margin: 0 10px;
	background: #ffffff;
}

#slideField .slider .slick-slide a {
	display: block;
}

#slideField .slider .slick-slide img {
	width: 100%;
	opacity: 1;
	transition: all 0.3s ease;
}

#slideField .slider .slick-slide:not(.slick-active) img {
	opacity: 0;
}

#slideField .slider .slick-prev,
#slideField .slider .slick-next {
	-webkit-transform: translate(0, calc(-50% - 25px));
	transform: translate(0, calc(-50% - 25px));
}

#slideField .slick-dots {
	width: 80%;
	margin: 0 0 0 -3px;
	text-align: left;
	bottom: 70px;
}

#slideField .slick-dots li {
	width: auto;
	height: auto;
	position: relative;
	padding: 0 15px 0 0;
}

#slideField .slick-dots li:after {
	content: '';
	display: block;
	width: 8px;
	height: 1px;
	background: #e2e2e2;
	position: absolute;
	right: 0;
	bottom: 0.7em;
}

#slideField .slick-dots li:last-of-type:after {
	display: none;
}

#slideField .slick-dots li button {
	width: auto;
	height: auto;
	padding: 15px 5px 0 2px;
	display: inline-block;
	position: relative;
	color: #000000;
	font-size: 15px;
	line-height: 1;
	font-family: "Roboto Condensed";
	cursor: pointer;
}

#slideField .slick-dots li:nth-child(-n+9) button:before {
	content: "0";
	display: inline-block;
	color: #000000;
}

#slideField .slick-dots li.slick-active button {
	color: #492d65;
}

#slideField .slick-dots li.slick-active button:after {
	content: '';
	display: block;
	width: 6px;
	height: 6px;
	text-align: center;
	opacity: 1;
	background: #492d65;
	border-radius: 3px;
	position: absolute;
	top: 0;
	left: 6px;
}

@media only screen and (max-width: 768px) {
	#slideField {
		padding: 20px 0 50px;
	}
	#slideField .slider{
		height: 0;
		opacity: 0;
		transition: opacity .3s linear;
	}
	#slideField .slider.slick-initialized{
		height: auto;
		opacity: 1;
	}
	#slideField .slider .slick-prev,
	#slideField .slider .slick-next {
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
	}
	#slideField .slick-dots {
		width: auto;
		white-space: nowrap;
		-webkit-transform: translate(-50%, 0);
		transform: translate(-50%, 0);
		bottom: 23px;
		left: 50%;
	}
	#slideField .slick-dots li {
		margin: 0 0 0 5px;
		padding: 0 10px 0 0;
	}
	#slideField .slick-dots li:after {
		width: 5px;
	}
	#slideField .slick-dots li button {
		padding: 15px 0 0 2px;
		font-size: 11px;
	}
}

/*-----------------------------------------
	TOPICKS SLIDER COMMON
-----------------------------------------*/
.postsHeader {
	margin: 0 auto 10px;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}

.postsHeader .tabArea {
	margin: 0 30px 0 auto;
	position: relative;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	align-items: flex-end;
	-ms-flex-align: flex-end;
	-webkit-box-align: flex-end;
	-webkit-align-items: flex-end;
}

.postsHeader .tabArea:after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	background: #f3f2f4;
	position: absolute;
	left: 0;
	bottom: 4px;
	z-index: 1;
}

.postsHeader .tabArea li {
	padding: 0 1.3em 1em;
	position: relative;
	color: #8a8a8a;
	font-size: 0.875em;
	text-align: center;
	letter-spacing: 0;
	cursor: pointer;
}

.postsHeader .tabArea li.active {
	color: #492d65;
}

.postsHeader .tabArea li.active:after {
	content: "";
	display: block;
	width: 100%;
	height: 2px;
	padding: 0 2em;
	background: #492d65;
	position: absolute;
	left: 0;
	bottom: 4px;
	z-index: 2;
}

.btnArea .archive {
	padding: 0.8em 2em;
	font-size: 0.875em;
	vertical-align: bottom;
}

.contArea {
	position: relative;
}

.contArea .slider {
	position: static;
}

.contArea .slick-list {
	width: 1220px;
	margin: 0 0 0 -20px;
	padding: 50px 0;
}

.contArea .slick-track {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
}

.contArea a.slide {
	margin: 0 20px;
	display: block!important;
	color: #000000;
	position: relative;
	z-index: 2;
	border: 1px solid #e2e2e2;
	float: none;
}

.contArea a.slide:before {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: #ffffff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 2;
}

.contArea a.slide:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: transparent;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.contArea a.slide > * {
	position: relative;
	z-index: 3;
}

.contArea .slide .newLabel {
	position: absolute;
	top: -17px;
	left: -17px;
	z-index: 10;
}

.contArea .slide figure {
	padding-top: 58.5%;
	position: relative;
	overflow: hidden;
	background: #ffffff;
	border-bottom: 1px solid #e2e2e2;
}

.contArea .slide figure img {
	width: 101%;
	vertical-align: top;
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
}

.contArea .slide .slideCont {
	padding: 20px;
	background: #ffffff;
}

.contArea .slide .slideCont .postInfo {
	margin: 0 0 16px;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
	justify-content: space-between;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
}

.contArea .slide .slideCont .category {
	position: relative;
	color: #492d65;
	font-size: 0.750em;
	letter-spacing: 0;
}

.contArea .slide .slideCont .category:before {
	content: "";
	display: inline-block;
	width: 8px;
	height: 1px;
	background: #e2e2e2;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	position: absolute;
	top: 50%;
	left: -15px;
}

.contArea .slide .slideCont .ttl {
	display: block;
	line-height: 1.4;
}

.contArea .slide .slideCont .description {
	display: block;
	line-height: 1.4;
	color: #8a8a8a;
	font-size: 0.875em;
}

.newLabel {
	width: 34px;
	height: 34px;
	display: block;
	color: #ffffff;
	line-height: 34px;
	font-size: 12px;
	text-align: center;
	font-family: "Roboto Condensed";
	background: #f7af0e;
	border-radius: 50%;
}

.btnArea.spBtn {
	display: none;
}

/*	:hover	*/
@media only screen and (min-width: 768px) {
.contArea a.slide,
.contArea a.slide:after,
.contArea a.slide .newLabel {
	transition: all 0.3s ease;
}
body.pcView .contArea a.slide:hover {
	transform: scale(1.05, 1.05);
}
body.pcView .contArea a.slide:hover .newLabel {
	position: absolute;
	top: 10px;
	left: 10px;
}
body.pcView .contArea a.slide:hover:after {
	background: #e2e2e2;
	top: 8px;
	left: 8px;
	z-index: 1;
}
}

@media only screen and (min-width: 769px) and (max-width: 1260px) {
	.postsHeader {display: block;}
	.postsHeader .tabArea {
		margin: 0;
		padding: 20px 0 0;
	}
	.postsHeader .tabArea li {
		padding: 0.4em 1.5em 1.0em;
	}
	.postsHeader .btnArea {
		position: absolute;
		top: 0;
		right: 20px;
	}
}

@media only screen and (max-width: 1180px) {
	.contArea .slick-list {
		width: 100%;
		margin: 0;
	}
	.contArea a.slide {
		margin: 0 10px;
	}
	.contArea .slide .newLabel {
		top: -10px;
		left: -10px;
	}
	.contArea .slide .slideCont {
		padding: 15px;
	}
}

@media only screen and (max-width: 980px) {
	.contArea .slick-list {width: 980px;}
}

@media only screen and (max-width: 768px) {
	.postsHeader {
		margin: 0 auto 10px;
		display: block;
	}
	.postsHeader h2 {
		margin: 0 0 10px;
	}
	.postsHeader .tabArea {
		width: 100%;
		margin: 0;
		justify-content: space-between;
		-ms-flex-pack: justify;
		-webkit-box-pack: justify;
		-webkit-justify-content: space-between;
		-ms-flex-wrap: wrap;
		flex-wrap: wrap;
		border-bottom: 0;
	}
	.postsHeader .tabArea::after {
		content: none;
	}
	.postsHeader .tabArea li {
		width: 48%;
		margin: 0 1% 5px;
		padding: 5px 0;
		font-size: 0.75em;
		border-bottom: 2px solid #f3f2f4;
	}
	.postsHeader .tabArea li.active:after {
		padding: 0;
		bottom: -2px;
	}
	.postsHeader .btnArea {
		display: none;
	}
	.contArea .slider {
		width: 100%;
		margin: 0;
		padding: 20px 6% 0;
		padding-bottom: calc(20px - 4%);
		display: flex;
		display: -ms-flexbox;
		display: -webkit-box;
		display: -webkit-flex;
		flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
	}
	.contArea a.slide {
		width: 48%;
		margin: 0 4% 4% 0;
	}
	.contArea a.slide:nth-of-type(2n) {
		margin: 0 0 4% 0;
	}
	.contArea a.slide:nth-of-type(n+5) {
		display: none!important;
	}
	.contArea .slide .newLabel {
		top: -7px;
		left: -7px;
	}
	.contArea .slide .slideCont {
		padding: 1em;
		background: #ffffff;
	}
	.contArea .slide .slideCont .postInfo {
		margin: 0 0 0.5em;
		display: block;
	}
	.contArea .slide .slideCont .category {
		padding: 0.5em 0 0;
		display: block;
	}
	span.date {font-size: 0.8em;}
	.contArea .slide .slideCont .category:before {display: none;}
	.contArea .slide .slideCont .ttl {font-size: 0.8em;}
	.contArea .slide .slideCont .description {font-size: 0.75em;}
	.btnArea.spBtn {
		width: 100%;
		display: block;
		text-align: center;
	}
	.btnArea.spBtn .archive {
		min-width: 60%;
		font-size: 0.8em;
	}
}

/*-----------------------------------------
	newsField
-----------------------------------------*/
#newsField {
	padding: 0 0 50px;
	position: relative;
	background: #ffffff;
}

#newsField:before {
	content: "";
	display: block;
	width: 100%;
	height: 150px;
	background: #f3f2f4;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#newsField > * {
	position: relative;
	z-index: 2;
}

#newsField .postsHeader .tabArea:after {
	background: #ffffff;
}

@media only screen and (min-width: 769px) and (max-width: 1260px) {
	#newsField:before {
		height: 250px;
	}
}

@media only screen and (max-width: 768px) {
	#newsField {
		padding: 40px 0;
		position: relative;
	}
	#newsField:before {
		display: none;
	}
}

/*-----------------------------------------
	informationField
-----------------------------------------*/
#informationField {
	position: relative;
	background: url(/img/index/index_bg.jpg) center center no-repeat;
	background-size: cover;
	background-attachment: fixed;
}
body.tbView #informationField {
	background-size: 100% auto;
	background-attachment: scroll;
}

#informationField .inner {
	padding: 80px 0;
	background: rgba(243,235,255,0.8);
}

#informationField .contBaseWrap {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
}

#informationField .postsHeader {
	width: 30%;
}

#informationField h2 {
	display: block;
	margin: 0 0 60px;
}

#informationField h2 span:nth-of-type(1) {
	margin: 0;
	padding: 0 0 30px;
	letter-spacing: 0.1em;
}

#informationField h2 span:nth-of-type(1):after {
	-webkit-transform: translate(0, 0);
	transform: translate(0, 0);
	top: auto;
	left: 0;
	bottom: -15px;
}

#informationField h2 span:nth-of-type(2) {
	padding: 0 0 0 45px;
}

#informationField .infoList {
	width: 70%;
}

#informationField .infoList li {
	margin: 0 0 2px;
}

#informationField .infoList a {
	padding: 25px 30px;
	display: block;
	position: relative;
	color: #000000;
	background: #ffffff;
	z-index: 1;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
}

#informationField .infoList a:after {
	font-family: 'komazawa';
	content: "\e90a";
	color: #492d65;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	position: absolute;
	top: 50%;
	right: 15px;
}

#informationField .infoList a[target="_blank"]:after {
	content: "\e937";
}

#informationField .infoList .date {
	padding: 0 80px 0 0;
	position: relative;
}

#informationField .infoList .date:after {
	content: "";
	display: inline-block;
	width: 8px;
	height: 1px;
	background: #e2e2e2;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	position: absolute;
	top: 50%;
	right: 38px;
	z-index: 1;
}

#informationField .infoList .newLabel {
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	position: absolute;
	top: 50%;
	right: 22px;
	z-index: 2;
}

/*	:hover	*/
@media only screen and (min-width: 768px) {
	#informationField .infoList a {
		transition: all 0.3s ease;
	}
	body.pcView #informationField .infoList a:hover {
		transform: scale(1.05, 1.05);
		-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
		-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
		box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.2);
		z-index: 10;
	}
}
@media only screen and (min-width: 768px) and (max-width: 1260px) {
	#informationField .contBaseWrap {display: block;}
	#informationField .postsHeader {width: 100%;}
	#informationField .infoList {
		width: 100%;
		margin: 0 0 18px;
	}
	#informationField .btnArea {
		position: absolute;
		top: 0;
		right: 0;
	}
}

@media only screen and (max-width: 768px) {
	#informationField .contBaseWrap {display: block;}
	#informationField .postsHeader {width: 100%;}
	#informationField {
		background-size: auto 100%;
		background-attachment: scroll;
	}
	#informationField .inner {
		padding: 40px 0;
	}
	#informationField h2 {
		display: block;
		margin: 0 0 27px;
	}
	#informationField h2 span:nth-of-type(1) {
		margin: 0;
		padding: 0 0 5px;
		letter-spacing: 0.1em;
	}
	#informationField h2 span:nth-of-type(1):after {
		bottom: -0.6rem;
	}

	#informationField h2 span:nth-of-type(2) {
		padding: 0 0 0 22px;
	}
	#informationField .infoList {
		width: 100%;
		margin: 0 0 18px;
	}
	#informationField .infoList a {
		padding: 0.6em 1.5em 0.6em 2em;
		display: block;
	}
	#informationField .infoList a:after {
		right: 0.5em;
	}
	#informationField .infoList .date {
		padding: 0;
		display: block;
		position: static;
	}
	#informationField .infoList .date:after {
		display: none;
	}
	#informationField .infoList .ttl {
		display: block;
		font-size: 0.8em;
	}
	#informationField .infoList .newLabel {
		-webkit-transform: translate(0, -50%);
		transform: translate(0, -50%);
		position: absolute;
		top: 50%;
		right: auto;
		left: -17px;
		z-index: 2;
	}
}


/*-----------------------------------------
	eventField
-----------------------------------------*/
#eventField {
	padding: 100px 0 50px;
	position: relative;
	background: #ffffff;
}

#eventField .slide .slideCont {
	padding-bottom: calc(20px + 1.2em);
}

#eventField .slide .slideCont .eventDate {
	margin: 0 0 10px;
	display: block;
	color: #492d65;
	font-size: 1.125em;
	font-family: "Roboto Condensed";
}

#eventField .slide .slideCont .eventVenue {
	margin: 0 0 10px;
	padding: 0 0 0 1em;
	display: block;
	position: relative;
	color: #492d65;
	font-size: 0.750em;
	letter-spacing: 0;
}

#eventField .slide .slideCont .eventVenue:before {
	font-family: 'komazawa' !important;
	content: "\e926";
	display: block;
	padding: 0;
	position: absolute;
	top: 0;
	left: 0;
}

#eventField .slide .slideCont .ttl {
	padding: 0 0 10px;
}
#eventField .slide[target="_blank"] .ttl:after {
	font-family: 'komazawa';
	content: "\e937";
	margin-left: 5px;
	color: #492d65;
}
#eventField .slide .date {
	position: absolute;
	left: 20px;
	bottom: 20px;
}

@media only screen and (max-width: 768px) {
#eventField {
	padding: 40px 0;
}
#eventField .postsHeader .tabArea {
	width: 50%;
}
#eventField .slide .slideCont {
	padding-bottom: 2em;
}
#eventField .slide .slideCont .ttl {
	padding: 0 0 10px;
}
#eventField .slide .date {
	left: 1rem;
	bottom: 1rem;
}
}

/*-----------------------------------------
	FIELD set
-----------------------------------------*/
.fieldSet {
	padding: 120px 0;
	position: relative;
	overflow: hidden;
	background-color: #ffffff;
	background-size: auto 100%;
	background-repeat: no-repeat;
}

.fieldSet:before {
	content: "";
	width: 230px;
	height: 827px;
	display: block;
	background: url('/img/common/pattern_side.png') top center no-repeat;
	background-size: 100% auto;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	position: absolute;
	top: 50%;
}

.fieldSet .inner {
	width: 70%;
	min-width: 980px;
	margin: 0 auto;
	padding: 0 0 0 8%;
	border-left: 4px solid #000000;
}

.fieldSet h2 {
	margin: 0 0 30px;
}

.fieldSet p {
	margin: 0 0 80px;
	font-size: 1.125em;
	letter-spacing: 0.3em;
}

.fieldSet ul {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	justify-content: space-between;
	-ms-flex-pack: justify;
	-webkit-box-pack: justify;
	-webkit-justify-content: space-between;
}

.fieldSet ul li {
	width: 100%;
	margin: 0 15px 0 0;
	position: relative;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
}

.fieldSet ul li:last-of-type {
	margin: 0;
}

.fieldSet ul li a {
	width: 100%;
	padding: 25px 5px 25px 25px;
	display: block;
	position: relative;
	color: #000000;
	background: #ffffff;
	-webkit-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
	-moz-box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
	box-shadow: 0px 0px 20px 0px rgba(0,0,0,0.1);
	z-index: 1;
}

.fieldSet ul li a:after {
	font-family: 'komazawa';
	content: "\e90a";
	width: 20px;
	height: 20px;
	display: block;
	color: #ffffff;
	font-size: 11px;
	text-align: center;
	line-height: 20px;
	background: #492d65;
	position: absolute;
	bottom: 0;
	right: 0;
}

.fieldSet ul li span {
	display: block;
}

.fieldSet ul li .catch {
	margin: 0 0 15px;
	color: #8a8a8a;
	font-size: 0.750em;
	letter-spacing: 0;
}

.fieldSet ul li .ttl {
	font-size: 1.375em;
}

#fieldStudy {
	background-image: url(/img/index/field_study_bg.jpg);
	background-position: center right;
}

#fieldStudy.fieldSet:before {
	left: -55px;
}

#fieldLife {
	background-image: url(/img/index/field_life_bg.jpg);
	background-position: center left;
}

#fieldLife.fieldSet:before {
	right: -55px;
}

/*	:hover	*/
@media only screen and (min-width: 768px) {
.fieldSet ul li a {
	transition: all 0.3s ease;
}
body.pcView .fieldSet ul li a:hover {
	transform: scale(1.1, 1.1);
	z-index: 10;
}
}

@media only screen and (max-width: 1500px) {
.fieldSet .inner {
	width: 80%;
	padding: 0 0 0 4%;
}
.fieldSet ul li a {
	padding: 20px 5px 20px 15px;
}
.fieldSet ul li .catch {
	margin: 0 0 10px;
}
.fieldSet ul li .ttl {
	font-size: 1.1em;
}
#fieldStudy {
	background-position: 30vw center;
}
#fieldLife {
	background-position: -8vw center;
}
}

@media only screen and (max-width: 1200px) {
#fieldLife {
	background-position: -25vw center;
}
}

@media only screen and (max-width: 1020px) {
#fieldLife {
	background-position: -32vw center;
}
}

@media only screen and (max-width: 980px) {
#fieldStudy,
#fieldLife {
	background-size:auto 100% ;
	background-position: center center;
}
	.fieldSet:before {display: none;}
}

@media only screen and (max-width: 768px) {
	.fieldSet {
		padding: 40px 0;
	}
	.fieldSet .inner {
		width: 88%;
		min-width: auto;
		margin: 0 auto;
		padding: 0;
		border-left: none;
	}
	.fieldSet h2 {
		width: 80%;
		margin: 0 auto 15px;
	}
	.fieldSet h2 img {
		width: 100%;
	}
	.fieldSet p {
		margin: 0 0 30px;
		font-size: 0.8em;
		text-align: center;
	}
	.fieldSet ul {
		flex-wrap: wrap;
		-ms-flex-wrap: wrap;
		-webkit-flex-wrap: wrap;
	}
	.fieldSet ul li {
		width: 48%;
		margin: 0 2% 2% 0;
	}
	.fieldSet ul li:nth-of-type(2n) {
		margin: 0 0 2% 0;
	}
	.fieldSet ul li a {
		padding: 1em;
	}
	.fieldSet ul li a:after {
		width: 15px;
		height: 15px;
		font-size: 11px;
		line-height: 15px;
	}
	.fieldSet ul li .catch {
		display: none;
	}
	.fieldSet ul li .ttl {
		font-size: 1em;
	}
	#fieldStudy,
	#fieldLife {
		background-position: center center;
	}
	#fieldStudy.fieldSet:before,
	#fieldLife.fieldSet:before {
		display: none;
	}
	#fieldLife.fieldSet ul li .ttl {
		font-size: 0.75em;
	}
}

@media screen and (max-width: 896px) and (orientation: landscape) {
	#fieldStudy,
	#fieldLife {
		background-size: 100% auto;
	}
}

/*-----------------------------------------
	prospectiveField
-----------------------------------------*/
#prospectiveField {
	background: #ffffff;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
}

#prospectiveField > a {
	width: 100%;
	padding: 50px 0;
	display: block;
	overflow: hidden;
	position: relative;
	color: #ffffff;
	background: #000000;
}

#prospectiveField a .bgImg {
	width: auto;
	height: auto;
	min-width: 100%;
	min-height: 100%;
	opacity: 0.5;
	-webkit-transform: translate(-50%, -50%);
	transform: translate(-50%, -50%);
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 1;
}

#prospectiveField a .linkInfo {
	text-align: center;
	position: relative;
	z-index: 2;
}

#prospectiveField a .linkInfo img {
	margin: 0 auto;
	display: block;
}

#prospectiveField a .linkInfo > span {
	display: block;
}

#prospectiveField a .linkInfo figure {
	min-height: 140px;
}

#prospectiveField a .linkInfo .catch {
	margin: 0 0 15px;
	font-size: 0.875em;
}

#prospectiveField a .linkInfo .ttl {
	margin: 0 0 25px;
	font-size: 1.375em;
}

#prospectiveField a .linkInfo .btn {
	width: 250px;
	display: inline-block;
	color: #000000;
	font-size: 0.938em;
	letter-spacing: 0;
	background: #ffffff;
}

#prospectiveField a.bnrProspective .linkInfo figure {
	padding: 20px 0 0;
}

/*	:hover	*/
@media only screen and (min-width: 768px) {
#prospectiveField a .bgImg {
	transition: all 3s ease-out;
}
body.pcView #prospectiveField a:hover .bgImg {
	opacity: 0.9;
	-webkit-transform: translate(-50%, -50%) scale(1.2, 1.2);
	transform: translate(-50%, -50%) scale(1.2, 1.2);
}
}

@media only screen and (max-width: 768px) {
#prospectiveField {
	display: block;
}
#prospectiveField > a {
	padding: 40px 0;
}
#prospectiveField a .linkInfo figure {
	width: 50%;
	min-height: auto;
	margin: 0 auto;
	padding: 0 0 15px;
}
#prospectiveField a.bnrProspective .linkInfo figure {
	padding: 0 0 15px;
}
#prospectiveField a .linkInfo figure img {
	max-width: 100%;
}
#prospectiveField a .linkInfo .catch {
	margin: 0 0 10px;
	font-size: 0.8em;
}
#prospectiveField a .linkInfo .ttl {
	margin: 0;
	font-size: 1.2em;
}
#prospectiveField a .linkInfo .btn {
	display: none;
}
}

/*-----------------------------------------
	featureField
-----------------------------------------*/
#featureField {
	padding: 100px 0 60px;
	position: relative;
	background: #ffffff;
}

#featureField .contArea .slide .slideCont .ttl {
	margin: 0 0 15px;
	color: #492d65;
	font-size: 1.125em;
}

#featureField .subCont {
	padding: 10px 0 0;
}

#featureField .subCont ul {
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	-webkit-box-pack: start;
	-ms-flex-pack: start;
	justify-content: flex-start;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}

#featureField .subCont li {
	width: calc((100% - 60px) / 4);
	margin: 0 20px 20px 0;
}

#featureField .subCont li:nth-child(4n) {
	margin: 0 0 20px 0;
}

#featureField .subCont li a {
	position: relative;
	background: #ffffff;
	border: 1px solid #e2e2e2;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
}

#featureField .subCont li a:after {
	content: "";
	display: block;
	width: 100%;
	height: 100%;
	background: transparent;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

#featureField .subCont li a > * {
	position: relative;
	z-index: 3;
}

#featureField .subCont li figure {
	width: 80px;
	flex-shrink: 0;
	border-right: 1px solid #e2e2e2;
}

#featureField .subCont li figure img {
	max-width: 100%;
}

#featureField .subCont li .ttl {
	width: 100%;
	padding: 0 20px;
	background: #ffffff;
	position: relative;
	display: flex;
	display: -ms-flexbox;
	display: -webkit-box;
	display: -webkit-flex;
	align-items: center;
	-ms-flex-align: center;
	-webkit-box-align: center;
	-webkit-align-items: center;
}

#featureField .subCont li .ttl:after {
	font-family: 'komazawa';
	content: "\e90a";
	display: block;
	-webkit-transform: translate(0, -50%);
	transform: translate(0, -50%);
	position: absolute;
	top: 50%;
	right: 8px;
}

/*	:hover	*/
@media only screen and (min-width: 768px) {
#featureField .subCont li a,
#featureField .subCont li a:after {
	transition: all 0.3s ease;
}
body.pcView #featureField .subCont li a:hover {
	opacity: 0.9;
	-webkit-transform: scale(1.1, 1.1);
	transform: scale(1.1, 1.1);
}
body.pcView #featureField .subCont li a:hover:after {
	background: #e2e2e2;
	top: 8px;
	left: 8px;
}
}

@media only screen and (max-width: 1180px) {
#featureField .subCont li .ttl {
	padding: 0 15px 0 10px;
	font-size: 0.875em;
	line-height: 1.2em;
}
#featureField .subCont li .ttl:after {
	right: 4px;
}
}

@media only screen and (max-width: 768px) {
#featureField {
	padding: 40px 0;
}
#featureField .contArea .slide .slideCont .ttl {
	margin: 0 0 5px;
	color: #492d65;
	font-size: 0.9em;
}
#featureField .contArea a.slide:nth-of-type(n+5) {
	display: block!important;
}
#featureField .subCont ul {
	flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	-webkit-flex-wrap: wrap;
}
#featureField .subCont li,
#featureField .subCont li:last-child {
	width: 100%;
	margin: 0 0 5px 0;
}
#featureField .subCont li figure {width: 25%;}
#featureField .subCont li figure img {width: 100%;}
#featureField .subCont li .ttl {
	width: 100%;
	padding: 0 2em 0 1em;
}
}

/*-----------------------------------------
	photoField
-----------------------------------------*/
#photoField {
	position: relative;
	background: url(/img/index/index_bg.jpg) center center no-repeat;
	background-size: cover;
	background-attachment: fixed;
}
body.tbView #photoField {
	background-size: 100% auto;
	background-attachment: scroll;
}

#photoField > p {
	padding: 400px 20px 20px 0;
	color: #ffffff;
	text-align: right;
	font-size: 0.875em;
	letter-spacing: 0.1em;
	font-family: "Roboto Condensed";
}

@media only screen and (max-width: 768px) {
	#photoField {
		background-size: 100% auto;
		background-attachment: scroll;
		background-position: center bottom;
	}
	#photoField > p {
		padding: 50vw 6% 2vw;
	}
}

/* =====================================
	Hover:opacity
===================================== */
@media only screen and (min-width: 768px) {
#keyField #snsNav .snsList li a,
#noticeField ul li a,
#slideField .slider .slick-slide a,
#keyField .bnr_think {
	transition: all 0.3s ease;
}

body.pcView #keyField #snsNav .snsList li a:hover,
body.pcView #noticeField ul li a:hover,
body.pcView #slideField .slider .slick-slide a:hover,
body.pcView #keyField .bnr_think:hover {
	opacity: 0.6;
}
}

/* =====================================
	ClearFixElements
===================================== */
.service_list li a:before,
.service_list li a:after {
	content: " ";
	display: table;
}

.service_list li a:after {
	clear: both;
}

.service_list li a {
	*zoom: 1;
}

/* =====================================
	Print CSS
===================================== */
@media print {
	#keyVisual {
		width: 100%!important;
	}

	/* keyField */
	#keyField .slick-track {
		transform: none!important;
		flex-wrap: wrap;
	}

	/* slideField */
	#slideField .slick-track {
		width: 100%!important;
		transform: none!important;
		display: flex;
		flex-wrap: wrap;
	}
	#slideField .slick-slide {
		width: 48%!important;
		flex-shrink: 0;
		display: none;
	}
	#slideField .slick-slide.slick-active {
		display: block !important;
	}

	#newsField .slick-track,
	#eventField .slick-track,
	#featureField .slick-track {
		width: 100%!important;
		transform: none!important;
		flex-wrap: wrap;
	}
	.slick-track a.slide,
	.contArea a.slide {
		flex-shrink: 0;
		display: none !important;
	}
	.slick-track a.slick-active,
	.contArea a.slide.slick-active {
		display: block !important;
	}

	#informationField,
	#photoField {
		background-size: cover!important;
		background-attachment: scroll!important;
	}
}