/*--------------------------------------------------*/
/* commonに移動する */
/*--------------------------------------------------*/


/*--------------------------------------------------*/
/* mv */
/*--------------------------------------------------*/

.front-page .mv {
	position: relative;
	display: flex;
	background-size: 1920px;
	background-position: 50% 0;
	background-repeat: no-repeat;
	overflow: hidden;
	background-image: url('../img/top/mv-bg.png');
}

@media(max-width:767px) {
	.front-page .mv {
		background-size: 90%;
		background-image: url('../img/top/mv-bg-sp.png');
	}
}

/*スライド*/
.front-page .mv .slides-wrap {
	position: absolute;
	top: 50%;
	left: calc(50% - 80px);
	transform: translateY(-50%) rotate(-56.6deg);
}

.front-page .mv .slides-wrap ul {
	display: none;
	list-style: none;
	padding: 0;
	margin: 0;
	width: 1314px;
}

.front-page .mv .slides-wrap ul.slick-slider {
	display: block;
}

.front-page .mv .slides-wrap ul .slick-list {
	overflow: visible;
}

.front-page .mv .slides-wrap ul li {
	padding: 5px;
	margin: 0;
}

.front-page .mv .slides-wrap ul li a {
	display: block;
	box-shadow: 7px 7px 4px rgba(0, 124, 197, 0.1);
	transition: 0.3s;
}

@media (min-width: 768px) {
	.front-page .mv .slides-wrap ul li a:hover {
		opacity: 0.6;
	}
}

@media(max-width:767px) {
	.front-page .mv .slides-wrap {
		left: calc(50% + 20px);
	}

	.front-page .mv .slides-wrap ul {
		width: 570px;
	}

	.front-page .mv .slides-wrap ul li a {
		box-shadow: 2px 2px 3px rgba(24, 119, 242, 0.3);
	}
}

.front-page .mv .container {
	position: relative;
	display: flex;
	align-items: center;
	max-width: 1360px;
	height: 100vh;
	min-height: 750px;
	pointer-events: none;
}

.front-page .mv .titile {}

.front-page .mv .titile img {
	max-width: 100%;
}

@media(max-width:767px) {
	.front-page .mv .container {
		flex-direction: column;
		align-items: flex-start;
		justify-content: center;
		min-height: 600px;
	}

	.front-page .mv .titile {
		width: 70%;
		margin-bottom: 10px;
	}

	.front-page .mv .titile img {}
}

.front-page .scroll-area {
	position: absolute;
	background-image: url(../img/lowerpage/bg-01.png);
	background-repeat: no-repeat;
	background-position: calc(50% + 400px) 0;
	height: 100px;
	bottom: 67px;
	left: 100px;
}

.front-page .scroll-area .icon {
	content: "";
	width: 42px;
	height: 65px;
	margin: auto;
	text-align: center;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
}

.front-page .scroll-area .icon:before {
	content: "";
	width: 42px;
	height: 42px;
	margin: auto;
	background-color: rgba(0, 124, 192, 0.2);
	border-radius: 100px;
	position: absolute;
	left: 0;
	right: 0;
	bottom: -21px;
}

.front-page .scroll-area .line {
	display: inline-block;
	width: 1px;
	height: 65px;
	margin: 0 auto 0;
	animation: scrolldown 2.0s infinite;
	background-color: #007cc5;
	position: absolute;
	top: 0;
}

@keyframes scrolldown {
	0% {
		height: 0;
		top: 0;
	}

	50% {
		height: 100%;
		top: 0;
	}

	100% {
		height: 0;
		top: 100%;
	}
}

@media(max-width:767px) {
	.front-page .scroll-area {
		position: relative;
		height: 27px;
		left: 25px;
		bottom: auto;
		margin-bottom: 100px;
	}

	.front-page .scroll-area .icon {
		height: 27px;
	}

	.front-page .scroll-area .line {
		height: 27px;
	}

	.front-page .scroll-area .icon:before {
		width: 20px;
		height: 20px;
	}
}


/*--------------------------------------------------*/
/* page-content */
/*--------------------------------------------------*/

.front-page .line-title dl {
	display: inline-block;
	background-position: top left;
	background-repeat: no-repeat;
	height: 160px;
	padding: 60px 15px 0 15px;
	position: relative;
	text-align: center;
}

.front-page .line-title.line-blue dl {
	background-image: url(../img/top/title-line-blue.png);
}

.front-page .line-title.line-white dl {
	background-image: url(../img/top/title-line-white.png);
}

.front-page .line-title dl .en {
	font-size: 46px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.05em;
	margin: 0;
}

.front-page .line-title dl .ja {
	font-size: 16px;
	font-weight: normal;
	line-height: 1;
	margin: 5px 0 0 0;
}

@media (max-width: 767px) {
	.front-page .line-title dl {
		background-size: auto 100%;
		height: 110px;
		padding: 40px 15px 0;
	}

	.front-page .line-title dl .en {
		font-size: 30px;
	}

	.front-page .line-title dl .ja {
		padding-left: 0;
		font-size: 12px;
	}
}

/*--------------------------------------------------*/
/* topics */
/*--------------------------------------------------*/

.front-page .topics {
	padding: 300px 0 150px 0;
	background-image: url(../img/top/bg-topics.png);
	background-repeat: no-repeat;
	background-position: calc(50% + 400px) 100px;
}

.front-page .topics .line-title {
	text-align: center;
}

.front-page .topics .slick-wrapper {
	padding: 110px 0;
	background-image: url(../img/top/bg-slick.png);
	background-repeat: no-repeat;
	background-position: center center;
	max-width: 960px;
	margin: 0 auto;
}

.front-page .topics .slick-wrapper ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

/* slick */
.front-page .topics .slick-wrapper .slick-slide {
	padding: 20px;
}

.front-page .topics .slick-wrapper .slick-slide a {
	display: block;
}

.front-page .topics .slick-wrapper .slick-slide a img {
	box-shadow: 0 0 20px rgba(0, 0, 0, 0.15);
}

.front-page .topics .slick-dots {
	bottom: -140px;
}

.front-page .topics .slick-dots li {
	margin: 0;
}

.front-page .topics .slick-dots li button:before,
.front-page .topics .slick-dots li button:before {
	position: relative;
	display: block;
	font-size: 0;
	margin: auto;
	border-radius: 8px;
	width: 8px;
	height: 8px;
	background-color: #b8b8b8;
	transition: 0.3s;
}

.front-page .topics .slick-dots li button:hover:before,
.front-page .topics .slick-dots li.slick-active button:before {
	color: #287bb5;
	background-color: #287bb5;
	opacity: 1;
}

.front-page .topics .slick-arrow {
	width: 50px;
	height: 50px;
}

.front-page .topics .slick-next {
	right: -60px;
	top: 50%;
	transform: translate(0, -50%);
}

.front-page .topics .slick-prev {
	left: -60px;
	top: 50%;
	transform: translate(0, -50%) rotate(180deg);
}

.front-page .topics .slick-arrow:before {
	content: "";
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	opacity: 1;
}

@media(max-width:991px) {
	.front-page .topics .slick-wrapper {
		padding-left: 40px;
		padding-right: 40px;
	}
}

@media(max-width:767px) {
	.front-page .topics {
		background-size: 230px;
		padding: 100px 0 110px;
		background-position: right 20px top 30px;
	}

	.front-page .topics .slick-arrow {}

	.front-page .topics .slick-prev {
		transform: translate(0, -50%) rotate(180deg) scale(0.75);
		left: -40px;
	}

	.front-page .topics .slick-next {
		transform: translate(0, -50%) scale(0.75);
		right: -40px;
	}

	.front-page .topics .line-title {}

	.front-page .topics .slick-wrapper {
		background-position: 50% 80px;
		background-size: 100% 100%;
		padding: 45px 40px;
		margin-left: -20px;
		margin-right: -20px;
	}

	.front-page .topics .slick-wrapper .slick-slide {
		width: 250px;
		padding: 15px;
	}

	.front-page .topics .slick-wrapper .slick-slide a img {
		box-shadow: 6px 6px 10px rgb(0 0 0 / 20%);
	}

	.front-page .topics .slick-dots {
		bottom: -110px;
	}

	.front-page .topics .slick-dots li {
		width: 15px;
	}

	.front-page .topics .slick-dots li button:before,
	.front-page .topics .slick-dots li button:before {
		width: 6px;
		height: 6px;
	}
}

@media(max-width:575px) {
	.front-page .topics .slick-wrapper {
		padding-left: 0;
		padding-right: 0;
	}
}

/*--------------------------------------------------*/
/* news */
/*--------------------------------------------------*/

.front-page .news {
	padding-bottom: 110px;
}

.front-page .news .title-wrapper {
	background: url(../img/top/bg-news.jpg);
	background-repeat: no-repeat;
	background-position: center center;
	margin-bottom: 80px;
}

.front-page .news .title-wrapper .layer {
	background-image: url(../img/top/bg-news-01.png), url(../img/top/bg-news-02.png);
	background-position: center top, center bottom;
	background-repeat: no-repeat;
	height: 360px;
	display: flex;
	align-items: center;
}

@media (min-width: 768px) {
	.front-page .news .content-wrapper .row {
		margin: 0;
	}

	.front-page .news .content-wrapper .row>* {
		padding: 0;
	}

	.front-page .news .content-wrapper .row .list-wrap {
		height: calc(100% - 160px);
	}

	.front-page .news .content-wrapper .row>*:nth-child(1) .list-wrap {
		border-right: 1px solid #cccccc;
		padding-right: 30px;
	}

	.front-page .news .content-wrapper .row>*:nth-child(1) .btn-wrap {
		padding-right: 30px;
	}

	.front-page .news .content-wrapper .row>*:nth-child(2) .list-wrap {
		padding-left: 30px;
	}
}

@media (min-width: 992px) {
	.front-page .news .content-wrapper .row>*:nth-child(1) .list-wrap {
		padding-right: 60px;
	}

	.front-page .news .content-wrapper .row>*:nth-child(1) .btn-wrap {
		padding-right: 60px;
	}

	.front-page .news .content-wrapper .row>*:nth-child(2) .list-wrap {
		padding-left: 60px;
	}
}

@media(max-width:767px) {
	.front-page .news {
		padding-bottom: 50px;
	}

	.front-page .news .title-wrapper {
		background-position: center;
		background-repeat: no-repeat;
	}

	.front-page .news .title-wrapper .layer {
		height: 200px;
		background-size: 100%;
		background-position: right top, center bottom;
		padding: 20px 0 10px;
	}
}

.front-page .news .content-wrapper h3 {
	font-size: 24px;
	border-bottom: 1px solid #000000;
	margin: 0;
	padding-bottom: 10px;
}

.front-page .news .content-wrapper ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}

.front-page .news .content-wrapper ul li {
	padding: 20px 0;
	border-bottom: 1px solid #cccccc;
}

.front-page .news .content-wrapper ul li:last-child {
	border-bottom: 0;
}

.front-page .news .content-wrapper dl {
	font-size: 18px;
}

.front-page .news .content-wrapper dl dt {
	margin-bottom: 10px;
}

.front-page .news .content-wrapper dl dt .date {
	display: inline-block;
	margin: 0 1em 0 0;
}

.front-page .news .content-wrapper dl dt .category {
	display: inline-block;
	font-size: 15px;
	font-weight: bold;
	text-align: center;
	line-height: 1.3;
	min-width: 120px;
	padding: 3px 20px;
	color: #ffffff;
	margin: 0;
}

.front-page .news .content-wrapper dl dt .seminar {
	background-color: #008CB1;
}

.front-page .news .content-wrapper dl dt .casestudy {
	background-color: #008CB1;
}

.front-page .news .content-wrapper dl dt .sanjoh-media {
	background-color: #008CB1;
}

.front-page .news .content-wrapper dl dt .info {
	background-color: #214E9C;
}

.front-page .news .content-wrapper dl dd h4 {
	font-size: 18px;
	margin: 0;
}

.front-page .news .content-wrapper .btn-wrap {
	margin-top: 90px;
	text-align: right;
}

.front-page .news .content-wrapper .btn-wrap .btn {}

@media(max-width:767px) {
	.front-page .news .content-wrapper h3 {
		font-size: 18px;
	}

	.front-page .news .content-wrapper dl {
		font-size: 14px;
	}

	.front-page .news .content-wrapper dl dt {
		margin-bottom: 5px;
	}

	.front-page .news .content-wrapper dl dt .category {
		font-size: 13px;
	}

	.front-page .news .content-wrapper dl dd h4 {
		font-size: 14px;
	}

	.front-page .news .content-wrapper .btn-wrap {
		margin-top: 50px;
		text-align: center;
	}

	.front-page .news .content-wrapper .row>*:nth-child(2) .list-wrap {
		margin-top: 50px;
		border-top: 1px solid #cccccc;
		padding-top: 50px;
	}
}

/*--------------------------------------------------*/
/* service */
/*--------------------------------------------------*/

.front-page .service {
	padding: 0 0 190px;
	background-image: url("../img/top/service-bg-01.jpg"), url("../img/top/service-bg-03.png");
	background-repeat: no-repeat;
	background-position: top, left 50% bottom 0;
}

.front-page .service .line-title {
	padding: 470px 0 360px;
}

.front-page .service .content-wrapper .service-wrap {
	display: flex;
	align-items: center;
	position: relative;
	min-height: 305px;
	width: 100%;
	padding: 30px 0;
	overflow: hidden;
	z-index: 1;
}

.front-page .service .content-wrapper .service-wrap::before {
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	z-index: -1;
}

.front-page .service .content-wrapper .service-wrap .container {}

.front-page .service .content-wrapper .service-wrap.bg-left-blue::before {
	right: calc(50% - 382px);
	left: 0;
	transform-origin: 100% 100%;
	transform: skewX(31.3deg);
	background-color: #214e9c;
}

.front-page .service .content-wrapper .service-wrap.bg-right-green::before {
	right: 0;
	left: calc(50% - 382px);
	transform-origin: 0% 100%;
	transform: skewX(-31.3deg);
	background-color: #008cb1;
}

.front-page .service .content-wrapper .service-wrap a {
	display: flex;
	flex-direction: column;
	color: #ffffff;
	width: 100%;
	max-width: 692px;
	min-height: 180px;
	padding: 0 100px 0 0;
}

.front-page .service .content-wrapper .service-wrap.bg-right-green a {
	margin-left: auto;
	margin-right: -50px;
}

.front-page .service .content-wrapper .service-wrap .article-title {
	font-size: 32px;
	font-weight: bold;
	padding-bottom: 5px;
	border-bottom: solid 1px #ffffff;
	margin-bottom: 10px;
}

.front-page .service .content-wrapper .service-wrap .en-title {
	font-size: 20px;
	font-weight: 400;
	margin-bottom: 15px;
}

.front-page .service .content-wrapper .service-wrap .overview-text {
	position: relative;
	font-size: 25px;
	line-height: 1.6;
	font-weight: bold;
	margin: auto 0 0;
}

.front-page .service .content-wrapper .service-wrap .overview-text .cp_arrow {
	position: absolute;
	right: -100px;
	top: 50%;
	transform: translateY(-50%);
}

.front-page .service .content-wrapper .service-bg-middle {
	display: flex;
	align-items: flex-end;
	height: 715px;
	background-image: url('../img/top/service-bg-02.jpg');
	background-size: 1920px;
	background-position: top;
	background-repeat: no-repeat;
	margin-bottom: 75px;
}

.front-page .service .content-wrapper .disital-transformation {
	margin-bottom: 80px;
}

.front-page .service .content-wrapper .office-design {}

.front-page .service .content-wrapper .construction-solutions {
	margin-bottom: 280px;
}

.front-page .service .content-wrapper .service-btn-bg {
	position: relative;
	display: flex;
	align-items: center;
	padding: 30px 0;
	background-image: url('../img/top/service-btn-bg.jpg');
	background-size: 1920px;
	background-position: center;
	height: 339px;
}

.front-page .service .content-wrapper .service-btn-bg::before {
	content: "";
	position: absolute;
	display: block;
	width: 1px;
	background-color: #008cb1;
	left: 50%;
	transform: translateY(-50%);
	pointer-events: none;
	animation: serviceScrolldown 2.0s infinite;
}

@keyframes serviceScrolldown {
	0% {
		height: 0;
		top: -101px;
	}

	50% {
		height: 202px;
		top: 0;
	}

	100% {
		height: 0;
		top: 101px;
	}
}

.front-page .service .content-wrapper .service-btn-bg .container {
	display: flex;
	justify-content: center;
}

.front-page .service .content-wrapper .service-btn-bg .btn-wrap {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background-color: rgba(255, 255, 255, 0.9);
	padding: 50px 30px 30px;
	text-align: center;
	height: 278px;
	box-shadow: 8px 6px 5px rgba(33, 24, 21, 0.3);
}

.front-page .service .content-wrapper .service-btn-bg .btn-wrap p {
	color: #008cb1;
	font-size: 22px;
	font-weight: bold;
	letter-spacing: 0.12em;
	margin-bottom: 1em;
}

@media(max-width:991px) {
	.front-page .service .content-wrapper .service-wrap a {
		margin: 0;
		padding: 0 150px 0 0;
		max-width: calc(88.5% - 50px);
	}

	.front-page .service .content-wrapper .service-wrap.bg-left-blue::before {
		right: auto;
		width: 88.5%;
	}

	.front-page .service .content-wrapper .service-wrap.bg-right-green::before {
		left: auto;
		width: 88.5%;
	}

	.front-page .service .content-wrapper .service-wrap.bg-right-green a {
		margin-right: 0;
		padding: 0 50px 0 150px;
		max-width: 88.5%;
	}

	.front-page .service .content-wrapper .service-wrap .overview-text .cp_arrow {
		right: -60px;
	}

	.front-page .service .content-wrapper .construction-solutions {
		margin-bottom: 200px;
	}
}

@media(max-width:767px) {
	.front-page .service {
		background-image:
			url("../img/top/service-bg-01-sp.jpg"),
			url("../img/top/service-bg-03-sp.png");
		background-size: 100%, 100%;
		padding-bottom: 100px;
	}

	.front-page .service .line-title {
		padding: 25% 0 0;
		height: 116vw;
	}

	.front-page .service .content-wrapper .disital-transformation {
		margin-bottom: 30px;
	}

	.front-page .service .content-wrapper .service-wrap {
		min-height: 0;
	}

	.front-page .service .content-wrapper .service-wrap.bg-left-blue::before {
		right: -125px;
		width: auto;
	}

	.front-page .service .content-wrapper .service-wrap a {
		padding-right: 40px;
		max-width: 100%;
	}

	.front-page .service .content-wrapper .service-wrap .article-title {
		font-size: 24px;
	}

	.front-page .service .content-wrapper .service-wrap .en-title {
		font-size: 16px;
	}

	.front-page .service .content-wrapper .service-wrap .overview-text {
		font-size: 18px;
	}

	.front-page .service .content-wrapper .service-wrap .overview-text .cp_arrow {
		right: -50px;
		transform: translateY(-50%) scale(0.75);
	}

	.front-page .service .content-wrapper .service-wrap.bg-right-green a {
		margin-right: 0;
		padding-left: 0;
		padding-right: 40px;
		max-width: 100%;
	}

	.front-page .service .content-wrapper .service-bg-middle {
		background-size: 100%;
		height: auto;
		padding-top: 76%;
		background-image: url('../img/top/service-bg-02-sp.jpg');
		background-position: 50% 10px;
		margin-bottom: 30px;
	}

	.front-page .service .content-wrapper .service-wrap.bg-right-green::before {
		left: -125px;
		width: auto;
	}

	.front-page .service .content-wrapper .construction-solutions {
		margin-bottom: 120px;
	}

	.front-page .service .content-wrapper .service-btn-bg {
		height: auto;
	}

	.front-page .service .content-wrapper .service-btn-bg::before {
		animation: serviceScrolldownSp 2.0s infinite;
	}

	.front-page .service .content-wrapper .service-btn-bg .btn-wrap {
		height: auto;
		padding: 30px 20px 20px;
	}

	.front-page .service .content-wrapper .service-btn-bg .btn-wrap p {
		font-size: 18px;
	}
}

@keyframes serviceScrolldownSp {
	0% {
		height: 0;
		top: -50px;
	}

	50% {
		height: 100px;
		top: 0;
	}

	100% {
		height: 0;
		top: 50px;
	}
}



/*--------------------------------------------------*/
/* ブログ系共通 */
/*--------------------------------------------------*/

.front-page .content-wrapper .blog-list {}

.front-page .content-wrapper .blog-list .row {
	margin: 0 -40px;
	padding: 0;
	list-style-type: none;
}

.front-page .content-wrapper .blog-list .row li {
	display: flex;
	padding: 0 40px;
	margin-bottom: 80px;
}

.front-page .content-wrapper .blog-list .blog-card {
	position: relative;
	background-color: #ffffff;
	box-shadow: 10px 10px 20px rgba(0, 0, 0, 0.3);
	color: #4d4d4d;
	min-height: 305px;
	width: 100%;
	font-size: 18px;
}

.front-page .content-wrapper .blog-list .blog-card a {
	display: inline-block;
	color: #4d4d4d;
}

.front-page .content-wrapper .blog-list dl dt img {
	width: 100%;
}

@media(min-width:768px) {
	.front-page .content-wrapper .blog-list dl dt a {
		transition: 0.3s;
	}

	.front-page .content-wrapper .blog-list dl dt a:hover {
		opacity: 0.6;
	}
}

.front-page .content-wrapper .blog-list dl dd {
	padding: 0 35px 40px 35px;
}

.front-page .content-wrapper .blog-list dl dd .blog-title {
	font-size: 18px;
	margin: 0 0 15px 0;
	padding: 10px 0;
	border-bottom: 1px solid #cccccc;
}

.front-page .content-wrapper .blog-list dl dd p {
	line-height: 1.5;
}

.front-page .content-wrapper .blog-list dl dd p.time {
	margin: 5px 0 0;
	font-size: 1rem;
}

/*additional css for seminar and event category */
.front-page .content-wrapper .blog-list dl dd .date-cat-wrap {
	display: flex;
	align-items: flex-start;
	flex-direction: column;
	margin-top: 20px;
}

.front-page .content-wrapper .blog-list dl dd .category ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.front-page .content-wrapper .blog-list dl dd .category ul li a {
	display: inline-block;
	font-size: 12px;
	line-height: 1;
	font-weight: 500;
	padding: 8px 11px;
	color: #ffffff;
	background-color: #287bb5;
}

.front-page .content-wrapper .blog-list dl dd .category ul li.category-gray a {
	background-color: #4d4d4d;
}

.front-page .content-wrapper .blog-list dl dd .category ul li.category-navy a {
	background-color: #2e4e95;
}

.front-page .content-wrapper .blog-list dl dd .category ul li {
	display: inline-block;
	margin: 0 5px 5px 0;
	padding: 0;
}

@media (max-width: 470px) {
	.front-page .content-wrapper .blog-list dl dd .date-cat-wrap {
		align-items: flex-end;
		flex-direction: row;
		margin-top: 20px;
	}
}

@media (min-width: 1200px) {
	.front-page .content-wrapper .blog-list dl dd p.time {
		width: auto
	}

	.front-page .content-wrapper .blog-list dl dd .date-cat-wrap {
		align-items: flex-end;
		flex-direction: row;
		margin-top: 20px;
	}
}

/* /additional css for seminar and event category */

.front-page .content-wrapper .blog-list dl dd .time-cat-wrap {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin: 35px 0 5px;
}

.front-page .content-wrapper .blog-list dl dd .time-cat-wrap .time {
	flex-shrink: 0;
	flex-grow: 0;
	display: inline-block;
	margin: 0 1em 0 0;
}

.front-page .content-wrapper .blog-list dl dd .time-cat-wrap .category {
	display: inline-block;
}

.front-page .content-wrapper .blog-list dl dd .time-cat-wrap .category ul {
	flex-grow: 1;
	flex-shrink: 1;
	display: inline-block;
	list-style: none;
	padding: 0;
	margin: -2px;
}

.front-page .content-wrapper .blog-list dl dd .time-cat-wrap .category ul li {
	display: inline-block;
	padding: 2px;
	margin: 0;
}

.front-page .content-wrapper .blog-list dl dd .time-cat-wrap .category ul li a {
	display: block;
	color: #ffffff;
	font-size: 14px;
	line-height: 1;
	white-space: nowrap;
	padding: 0.45em 0.9em;
	background-color: #4d4d4d;
	text-align: center;
	min-width: 80px;
}

.front-page .content-wrapper .blog-list dl dd .time-cat-wrap .category ul li a.product {
	background-color: #0c2766;
}

.front-page .content-wrapper .blog-list dl dd .time-cat-wrap .category ul li a.blog {
	background-color: #287bb5;
}

.front-page .content-wrapper .blog-list .blog-card .more {
	position: absolute;
	bottom: 30px;
	right: 50px;
	display: inline-block;
	font-weight: 500;
	line-height: 1;
	color: #287BB5;
}

.front-page .content-wrapper .blog-list .blog-card .more::before {
	content: '';
	position: absolute;
	top: calc(50% - 1px);
	right: -70px;
	width: 60px;
	height: 1px;
	background-color: #287BB5;
	transition: all .3s;
}

.front-page .content-wrapper .blog-list .blog-card .more::after {
	content: '';
	position: absolute;
	top: calc(50% - 3px);
	right: -71px;
	width: 7px;
	height: 1px;
	background-color: #287BB5;
	transform: rotate(45deg);
	transition: all .3s;
}

@media(min-width:768px) {
	.front-page .content-wrapper .blog-list .blog-card .more:hover::before {
		right: -50px;
	}

	.front-page .content-wrapper .blog-list .blog-card .more:hover::after {
		right: -51px;
	}
}

@media(min-width:992px) {
	.front-page .content-wrapper .blog-list .blog-card .more:hover::before {
		right: -80px;
	}

	.front-page .content-wrapper .blog-list .blog-card .more:hover::after {
		right: -81px;
	}
}

@media(max-width:991px) {
	.front-page .content-wrapper .blog-list .row {
		margin: 0 -15px;
	}

	.front-page .content-wrapper .blog-list .row li {
		padding: 0 15px;
		margin-bottom: 40px;
	}

	.front-page .content-wrapper .blog-list dl dd {
		padding: 0 20px 50px 20px;
	}

	.front-page .content-wrapper .blog-list dl dd .blog-title {
		font-size: 16px;
	}

	.front-page .content-wrapper .blog-list .blog-card {
		font-size: 14px;
		box-shadow: 5px 5px 2px rgb(0 0 0 / 16%);
		min-height: 400px;
	}

	.front-page .content-wrapper .blog-list .blog-card .more {
		right: 20px;
		bottom: 20px;
	}

	.front-page .content-wrapper .blog-list .blog-card .more::before {
		right: -40px;
		width: 30px;
	}

	.front-page .content-wrapper .blog-list .blog-card .more::after {
		right: -41px;
	}
}

@media(max-width:767px) {
	.front-page .content-wrapper .blog-list {
		margin-left: -20px;
		margin-right: -20px;
		overflow: hidden;
	}

	.front-page .content-wrapper .blog-list .slick-track {
		display: flex;
	}

	.front-page .content-wrapper .blog-list .row li {
		height: auto !important;
		margin-bottom: 30px;
	}
}



/*--------------------------------------------------*/
/* casestudy */
/*--------------------------------------------------*/

.front-page .casestudy {
	padding: 0 0 75px;
}

.front-page .casestudy .title-wrapper {
	background: url("../img/top/casestudy-bg.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 1920px;
	margin-bottom: -220px;
}

.front-page .casestudy .title-wrapper .layer {
	background-image: url("../img/top/casestudy-bg-layer.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 1920px;
	height: 709px;
	display: flex;
	align-items: center;
}

.front-page .casestudy .title-wrapper .layer .line-title {
	max-width: 920px;
	margin: 0 auto;
}

.front-page .casestudy .content-wrapper .blog-list dl dd .blog-title {
	text-align: center;
}

.front-page .casestudy .content-wrapper .btn-wrap {}

.front-page .casestudy .content-wrapper .btn-wrap .row {
	margin: -10px;
}

.front-page .casestudy .content-wrapper .btn-wrap .row>* {
	padding: 10px;
	text-align: center;
}

.front-page .casestudy .content-wrapper .btn-wrap .btn {
	width: 480px;
}

@media(min-width:1200px) {
	.front-page .casestudy .content-wrapper .btn-wrap .row>*:nth-child(even) {
		text-align: right;
	}
}

@media(max-width:767px) {
	.front-page .casestudy .title-wrapper {
		background: url("../img/top/casestudy-bg-sp.jpg");
		background-size: cover;
		background-position: 50% 24%;
		margin-bottom: 30px;
	}

	.front-page .casestudy .title-wrapper .layer {
		height: 268px;
		background-image: url("../img/top/casestudy-bg-layer-sp.png");
		background-size: 100% 100%;
		background-position: center;
		padding: 25px 0;
	}

	.front-page .casestudy .title-wrapper .line-title.line-white dl {
		margin-left: 5%;
	}

	.front-page .casestudy .content-wrapper .btn-wrap .row {
		margin: -5px;
	}

	.front-page .casestudy .content-wrapper .btn-wrap .row>* {
		padding: 5px;
	}

	.front-page .casestudy .content-wrapper .btn-wrap .btn {
		max-width: 100%;
	}
}


/*--------------------------------------------------*/
/* seminar-event */
/*--------------------------------------------------*/

.front-page .seminar-event {
	padding: 0 0 75px;
	background-image: url("../img/top/bg-triangle1.png");
	background-position: calc(50vw + 320px) 100%;
	background-repeat: no-repeat;
}

.front-page .seminar-event .title-wrapper {
	background: url("../img/top/seminar-event-bg.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 1920px;
	margin-bottom: -220px;
}

.front-page .seminar-event .title-wrapper .layer {
	background-image: url("../img/top/seminar-event-bg-layer.svg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 1920px;
	height: 709px;
	display: flex;
	align-items: center;
}

.front-page .seminar-event .title-wrapper .layer .line-title {
	max-width: 953px;
	margin: 0 auto;
	text-align: right;
}

.front-page .seminar-event .content-wrapper .btn-wrap {
	text-align: center;
}

.front-page .seminar-event .content-wrapper .btn-wrap .btn {
	width: 480px;
}

@media(max-width:767px) {
	.front-page .seminar-event {
		background-size: 252px;
		background-position: bottom;
		padding-bottom: 80px;
	}

	.front-page .seminar-event .title-wrapper {
		background: url("../img/top/seminar-event-bg-sp.jpg");
		background-size: cover;
		background-position: 50% 24%;
		margin-bottom: 30px;
	}

	.front-page .seminar-event .title-wrapper .layer {
		background-image: url("../img/top/seminar-event-bg-layer-sp.png");
		background-size: 100% 100%;
		background-position: center;
		height: 300px;
	}

	.front-page .seminar-event .title-wrapper .layer .line-title {
		text-align: center;
	}

	.front-page .seminar-event .content-wrapper .btn-wrap {
		margin-top: 40px;
	}

	.front-page .seminar-event .content-wrapper .btn-wrap .btn {
		max-width: 100%;
	}
}


/*--------------------------------------------------*/
/* sanjohmedia */
/*--------------------------------------------------*/

.front-page .sanjohmedia {
	padding: 220px 0 200px;
}

.front-page .sanjohmedia .title-wrapper {}

.front-page .sanjohmedia .title-wrapper .container {
	position: relative;
	padding-bottom: 105px;
}

.front-page .sanjohmedia .title-wrapper .container::before {
	content: "";
	position: absolute;
	top: 220px;
	right: 55px;
	bottom: 0;
	left: 80px;
	background-color: #edf5f7;
}

.front-page .sanjohmedia .title-wrapper .title-row {
	display: -webkit-flex;
	display: -ms-flexbox;
	display: flex;
	-webkit-flex-wrap: wrap;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	margin: -15px;
}

.front-page .sanjohmedia .title-wrapper .title-row>* {
	position: relative;
	width: 100%;
	padding: 15px;
}

.front-page .sanjohmedia .title-wrapper .title-row>.img-col {
	flex-basis: 53%;
	max-width: 53%;
}

.front-page .sanjohmedia .title-wrapper .title-row>.text-col {
	flex-basis: 47%;
	max-width: 47%;
}

.front-page .sanjohmedia .title-wrapper .sanjohmedia-mv {
	position: relative;
}

.front-page .sanjohmedia .title-wrapper .sanjohmedia-mv::before {
	content: "";
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: linear-gradient(120deg, #199f8c 0%, #19758c 25%, #19498c 100%);
	transform: translate(-58px, -61px);
	opacity: 0.6;
	z-index: -1;
}

.front-page .sanjohmedia .title-wrapper .line-title {
	margin: 120px 0 45px;
}

.front-page .sanjohmedia .title-wrapper p {
	color: #007cc5;
	margin-bottom: 60px;
}

.front-page .sanjohmedia .title-wrapper .btn-wrap .btn {
	min-width: 295px;
}

.front-page .sanjohmedia .content-wrapper .container {
	position: relative;
}

.front-page .sanjohmedia .content-wrapper .container::before {
	content: "";
	position: absolute;
	top: 0;
	right: 55px;
	bottom: 120px;
	left: 80px;
	background-color: #edf5f7;
}

.front-page .sanjohmedia .content-wrapper .bnr-area {
	margin-top: 60px;
}

.front-page .sanjohmedia .content-wrapper .bnr-area .row {
	list-style: none;
	padding: 0;
	margin: -28px -23px;
}

.front-page .sanjohmedia .content-wrapper .bnr-area .row>* {
	padding: 28px 23px;
	margin: 0;
}

@media(min-width:768px) {
	.front-page .sanjohmedia .content-wrapper .bnr-area a {
		transition: 0.3s;
	}

	.front-page .sanjohmedia .content-wrapper .bnr-area a:hover {
		opacity: 0.6;
	}
}

@media(max-width:991px) {
	.front-page .sanjohmedia {
		padding-top: 40px;
	}

	.front-page .sanjohmedia .title-wrapper .line-title {
		margin: 120px 0 75px;
	}

	.front-page .sanjohmedia .title-wrapper .container::before {
		top: 400px;
		z-index: -1;
	}

	.front-page .sanjohmedia .title-wrapper .title-row {
		display: block;
	}

	.front-page .sanjohmedia .title-wrapper .title-row>.text-col {
		max-width: 100%;
	}

	.front-page .sanjohmedia .title-wrapper p {
		text-align: center;
	}

	.front-page .sanjohmedia .title-wrapper .sanjohmedia-mv {
		width: 85%;
		max-width: 556px;
		margin: 0 auto 30px;
	}

	.front-page .sanjohmedia .title-wrapper .sanjohmedia-mv::before {
		transform: translate(-48px, -30px);
	}

	.front-page .sanjohmedia .title-wrapper .btn-wrap {
		text-align: center;
	}
}

@media(max-width:767px) {
	.front-page .sanjohmedia {
		padding: 40px 0 75px;
	}

	.front-page .sanjohmedia .title-wrapper .container::before {
		right: 0;
		left: 0;
	}

	.front-page .sanjohmedia .title-wrapper .line-title {
		margin: 0 0 70px;
	}

	.front-page .sanjohmedia .title-wrapper .btn-wrap .btn {
		min-width: 180px;
	}

	.front-page .sanjohmedia .content-wrapper .container::before {
		right: 0;
		bottom: 100px;
		left: 0;
	}

	.front-page .sanjohmedia .content-wrapper .bnr-area .row {
		margin: -9px 0;
	}

	.front-page .sanjohmedia .content-wrapper .bnr-area .row>* {
		padding: 9px 0;
	}

	.front-page .sanjohmedia .content-wrapper .bnr-area img {
		margin: 0 auto;
	}
}

/*--------------------------------------------------*/
/* corporate */
/*--------------------------------------------------*/

.front-page .corporate {
	padding: 0;
}

.front-page .corporate .title-wrapper {
	position: relative;
	padding: 180px 0 200px;
	background-image: url("../img/top/corporate-bg.jpg");
	background-size: 100% 100%;
	background-position: center;
}

.front-page .corporate .title-wrapper .bg-letter {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	overflow: hidden;
}

.front-page .corporate .title-wrapper .bg-letter img {
	position: absolute;
	transform: translate(-50%, -50%);
}

.front-page .corporate .title-wrapper .bg-letter img.corporate-letter-s {
	top: 9%;
	left: 17%;
}

.front-page .corporate .title-wrapper .bg-letter img.corporate-letter-a {
	top: 95%;
	left: 24%;
}

.front-page .corporate .title-wrapper .bg-letter img.corporate-letter-n {
	top: 76%;
	left: 37%;
}

.front-page .corporate .title-wrapper .bg-letter img.corporate-letter-j {
	top: 86%;
	left: 75%;
}

.front-page .corporate .title-wrapper .bg-letter img.corporate-letter-o {
	top: 34%;
	left: 50%;
}

.front-page .corporate .title-wrapper .bg-letter img.corporate-letter-h {
	top: 5%;
	left: 80%;
}

.front-page .corporate .title-wrapper .line-title {
	margin-bottom: 60px;
}

.front-page .corporate .title-wrapper .declaration {
	font-size: 40px;
	line-height: 1.4;
	font-weight: bold;
	color: #ffffff;
}

.front-page .corporate .title-wrapper p {
	font-size: 20px;
	line-height: 2.5;
	letter-spacing: 0.05em;
	font-weight: bold;
	color: #ffffff;
}

@media(max-width:991px) {
	.front-page .corporate .title-wrapper {
		padding: 100px 0;
	}

	.front-page .corporate .title-wrapper .declaration {
		margin-bottom: 1.5em;
	}
}

@media(max-width:767px) {
	.front-page .corporate {
		padding-bottom: 60px;
	}

	.front-page .corporate .title-wrapper {
		padding: 60px 0;
	}

	.front-page .corporate .title-wrapper .line-title {
		margin-bottom: 40px;
	}

	.front-page .corporate .title-wrapper .declaration {
		font-size: 32px;
		margin-bottom: 1em;
	}

	.front-page .corporate .title-wrapper p {
		font-size: 13px;
	}

	.front-page .corporate .title-wrapper .bg-letter img.corporate-letter-s {
		top: 2%;
		left: 9%;
		width: 98px;
	}

	.front-page .corporate .title-wrapper .bg-letter img.corporate-letter-a {
		top: 85%;
		left: 13%;
		width: 60px;
	}

	.front-page .corporate .title-wrapper .bg-letter img.corporate-letter-n {
		top: 61%;
		left: 45%;
		width: 25px;
	}

	.front-page .corporate .title-wrapper .bg-letter img.corporate-letter-j {
		top: 93%;
		left: 87%;
		width: 50px;
	}

	.front-page .corporate .title-wrapper .bg-letter img.corporate-letter-o {
		top: 43%;
		left: 75%;
		width: 37px;
	}

	.front-page .corporate .title-wrapper .bg-letter img.corporate-letter-h {
		top: 8%;
		left: 95%;
		width: 52px;
	}
}

.front-page .corporate .content-wrapper {
	padding: 50px 0;
	background-image: url("../img/top/bg-triangle1.png");
	background-repeat: no-repeat;
	background-position: left calc(50% - 530px) bottom 100px;
}

.front-page .corporate .content-wrapper .contents-list {
	margin-bottom: 56px;
}

.front-page .corporate .content-wrapper .contents-list .row {
	list-style: none;
	margin: -20px -22px;
	padding: 0;
}

.front-page .corporate .content-wrapper .contents-list .row>* {
	margin: 0;
	padding: 20px 22px;
}

.front-page .corporate .content-wrapper .contents-list a {
	position: relative;
	display: block;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

.front-page .corporate .content-wrapper .contents-list a.greeting-philosophy {
	background-image: url("../img/top/corporate-greeting-philosophy-bg.jpg")
}

.front-page .corporate .content-wrapper .contents-list a.information {
	background-image: url("../img/top/corporate-information-bg.jpg")
}

.front-page .corporate .content-wrapper .contents-list a.history {
	background-image: url("../img/top/corporate-history-bg.jpg")
}

.front-page .corporate .content-wrapper .contents-list a.business {
	background-image: url("../img/top/corporate-business-bg.jpg")
}

.front-page .corporate .content-wrapper .contents-list a::before {
	content: "";
	position: absolute;
	display: block;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background-color: #000000;
	opacity: 0.5;
}

.front-page .corporate .content-wrapper .contents-list a dl {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 40px;
	height: 387px;
}

.front-page .corporate .content-wrapper .contents-list a dl dt {
	margin-bottom: 20px;
}

.front-page .corporate .content-wrapper .contents-list a dl dt img {
	display: block;
	margin: 0 auto;
	max-width: 100%;
}

.front-page .corporate .content-wrapper .contents-list a dl dd {
	text-align: center;
	width: 100%;
	margin-bottom: 20px;
}

.front-page .corporate .content-wrapper .contents-list a dl dd .title {
	font-size: 27px;
	font-weight: bold;
	color: #ffffff;
	padding-bottom: 5px;
	border-bottom: solid 1px #ffffff;
	margin-bottom: 10px;
}

.front-page .corporate .content-wrapper .contents-list a dl dd .en-title {
	font-size: 25px;
	line-height: 1;
	font-weight: 500;
	color: #ffffff;
	margin-bottom: 0;
}

@media(max-width:767px) {
	.front-page .corporate .content-wrapper {
		background-image: url("../img/top/bg-triangle1.png"), url("../img/top/bg-triangle1.png");
		background-size: 228px;
		background-position: 75% 30px, 10% 90%;
		padding: 100px 0 0;
	}

	.front-page .corporate .content-wrapper .contents-list {
		margin-bottom: 40px;
	}

	.front-page .corporate .content-wrapper .contents-list .row {
		margin: -10px;
	}

	.front-page .corporate .content-wrapper .contents-list .row>* {
		padding: 10px;
	}

	.front-page .corporate .content-wrapper .contents-list a dl {
		height: auto;
	}

	.front-page .corporate .content-wrapper .contents-list a dl dt {
		margin-bottom: 10px;
	}

	.front-page .corporate .content-wrapper .contents-list a dl dt img {
		width: 100px;
	}

	.front-page .corporate .content-wrapper .contents-list a dl dd {
		margin-bottom: 10px;
	}

	.front-page .corporate .content-wrapper .contents-list a dl dd .title {
		font-size: 20px;
	}

	.front-page .corporate .content-wrapper .contents-list a dl dd .en-title {
		font-size: 18px;
	}
}

.front-page .corporate .content-wrapper .btn-area {
	position: relative;
	padding-top: 78px
}

.front-page .corporate .content-wrapper .btn-area::before {
	content: "";
	position: absolute;
	top: 0;
	left: 50%;
	display: block;
	width: 1px;
	margin: 0 auto;
	background-color: #666666;
	pointer-events: none;
	animation: serviceScrolldown2 2.0s infinite;
}

@keyframes serviceScrolldown2 {
	0% {
		height: 0;
		top: 0;
	}

	50% {
		height: 78px;
		top: 0;
	}

	100% {
		height: 0;
		top: 78px;
	}
}

.front-page .corporate .content-wrapper .btn-area .h4-line {
	font-size: 22px;
	color: #666666;
	text-align: center;
	margin: 1em 0;
}

.front-page .corporate .content-wrapper .btn-area .btn-wrap {
	text-align: center;
}

.front-page .corporate .content-wrapper .btn-area .btn-wrap .btn {
	width: 516px;
}

@media(max-width:767px) {
	.front-page .corporate .content-wrapper .btn-area {
		padding-top: 40px;
	}

	.front-page .corporate .content-wrapper .btn-area::before {
		animation: serviceScrolldown2sp 2.0s infinite;
	}

	.front-page .corporate .content-wrapper .btn-area .btn-wrap .btn {
		max-width: 100%;
	}

	.front-page .corporate .content-wrapper .btn-area .h4-line {
		font-size: 16px;
	}
}

@keyframes serviceScrolldown2sp {
	0% {
		height: 0;
		top: 0;
	}

	50% {
		height: 40px;
		top: 0;
	}

	100% {
		height: 0;
		top: 40px;
	}
}


/*--------------------------------------------------*/
/* recruit */
/*--------------------------------------------------*/

.front-page .recruit {
	padding: 0 0 300px;
}

.front-page .recruit .recruit-wrapper {
	background: url("../img/top/recruit-mv.jpg");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 1920px;
}

.front-page .recruit .recruit-wrapper .layer {
	display: flex;
	align-items: center;
	background-image: url("../img/top/recruit-layer.png");
	background-repeat: no-repeat;
	background-position: center;
	background-size: 1920px;
	height: 602px;
	padding-top: 100px;
}

.front-page .recruit .recruit-wrapper dl.recruit-title {
	display: block;
	margin-bottom: 2em;
}

.front-page .recruit .recruit-wrapper dl.recruit-title dt.en {
	display: inline-block;
	vertical-align: bottom;
}

.front-page .recruit .recruit-wrapper dl.recruit-title dt.en img {}

.front-page .recruit .recruit-wrapper dl.recruit-title dd {
	display: inline-block;
	vertical-align: bottom;
	padding-left: 1.5em;
}

.front-page .recruit .recruit-wrapper dl.recruit-title dd .ja {
	font-size: 18px;
	font-weight: bold;
	line-height: 1;
	margin-bottom: 0.5em;
	color: #ffffff;
}

.front-page .recruit .recruit-wrapper p {
	font-size: 18px;
	color: #ffffff;
	margin-bottom: 2em;
}

.front-page .recruit .recruit-wrapper .btn-wrap {}

.front-page .recruit .recruit-wrapper .btn-wrap .btn {
	color: #00000a;
	box-shadow: 4px 3px 5px rgba(255, 255, 255, 0.7);
	width: 355px;
}

.front-page .recruit .recruit-wrapper .btn-wrap .btn::before {
	background-color: #ffffff;
	transform: none;
}

.front-page .recruit .recruit-wrapper .btn-wrap .btn::after {
	background-color: #287bb5;
	transform: translateX(-3.25em);
}

.front-page .recruit .recruit-wrapper .btn-wrap .btn span::after {
	color: #287bb5;
	transition: 0.3s;
}

@media(min-width:768px) {
	.front-page .recruit .recruit-wrapper .btn-wrap .btn:hover {
		color: #ffffff;
	}

	.front-page .recruit .recruit-wrapper .btn-wrap .btn:hover::after {
		transform: translateX(0%);
	}

	.front-page .recruit .recruit-wrapper .btn-wrap .btn:hover span::after {
		color: #ffffff;
	}
}

@media(max-width:767px) {
	.front-page .recruit {
		padding-bottom: 100px;
	}

	.front-page .recruit .recruit-wrapper {
		background: url("../img/top/recruit-mv-sp.jpg");
		background-size: cover;
		background-position: center;
	}

	.front-page .recruit .recruit-wrapper .layer {
		background-image: url("../img/top/recruit-layer1-sp.png"), url("../img/top/recruit-layer2-sp.png");
		background-position: 100% 0%, 0% 100%;
		background-size: 100%;
		height: auto;
		min-height: 300px;
		padding: 30px 0;
	}

	.front-page .recruit .recruit-wrapper dl.recruit-title {
		display: flex;
		justify-content: center;
		align-items: flex-end;
		margin-bottom: 1em;
	}

	.front-page .recruit .recruit-wrapper dl.recruit-title dt.en img {
		width: 180px;
	}

	.front-page .recruit .recruit-wrapper dl.recruit-title dd .ja {
		font-size: 14px;
		margin-bottom: 2px;
	}

	.front-page .recruit .recruit-wrapper p {
		font-size: 14px;
		text-align: center;
	}

	.front-page .recruit .recruit-wrapper .btn-wrap {
		text-align: center;
	}

	.front-page .recruit .recruit-wrapper .btn-wrap .btn {
		width: auto;
	}
}