@charset "utf-8";
main {
		overflow: hidden;
}
.page_upper_nav li .jp {
		margin-right: 0;
		font-size: 14px;
}
.about_page_lead_wrap {
		max-width: 1180px;
		margin: 0 auto;
		padding: 0 40px;
}
.about_page_lead {
		font-size: 24px;
		font-weight: 500;
		line-height: 1.8;
}
@media(max-width: 1024px) {
		.about_page_lead {
				font-size: 18px;
				max-width: calc(100% - 270px);
				text-align: justify;
		}
		.verPortrait .about_page_lead br {
				display: none;
		}
}
@media(max-width: 840px) {
		.verLandscape .about_page_lead_wrap {
				padding: 0 40px;
		}
}
@media(max-width: 840px) {
		.about_page_lead {
				margin-top: 20px;
		}
}
@media(max-width: 767px) {
		.verPortrait .about_page_lead_wrap {
				padding: 0 25px;
		}
		.about_page_lead {
				font-size: 16px;
				max-width: inherit;
		}
}
.about_hd_en {
		font-size: 20px;
		font-family: 'Poppins', sans-serif;
		font-weight: 500;
		color: #C2153E;
		padding-left: 22px;
		margin-bottom: 10px;
}
.about_hd_en span {
		display: inline-block;
		position: relative;
}
.about_hd_en span::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 4px);
		left: -22px;
		width: 8px;
		height: 8px;
		background: #C2153E;
}
.about_hd_jp {
		font-size: 42px;
		font-weight: 900;
		line-height: 1.4;
}
.monkey_logo {
		width: 156px;
		margin: 0 6px;
		vertical-align: middle;
		height: auto;
}
.dx_figure {
		max-width: 720px;
		margin: 40px 0;
}
.dx_figure img {
		width: 100%;
		height: auto;
}
@media(max-width: 767px) {
		.dx_figure {
				margin: 30px 0;
		}
}
/* ================ */
.total_figure {
		max-width: 710px;
		margin: 30px 0;
}
.total_figure img {
		width: 100%;
		height: auto;
}
/* =============== */
.cl_tile_gr {
		display: flex;
		flex-wrap: wrap;
		margin-top: 50px;
}
.cl_tile_item {
		width: calc(25% + 1px);
		box-sizing: border-box;
		border: 1px solid #D8D8D8;
		margin: 0 -1px -1px 0;
		background: #fff;
		position: relative;
}
.cl_tile_item img {
		width: 100%;
		height: auto;
}
@media(max-width: 767px) {
		.cl_tile_item {
				width: calc(33.3% + 1px);
		}
}
/* ================ */
.win_figure {
		max-width: 705px;
		margin: 40px auto 40px;
		padding-bottom: 40px;
		border-bottom: 1px solid #E1E1E1;
}
.win_figure img {
		width: 100%;
		height: auto;
}
.win_hd {
		font-size: 24px;
		font-weight: 500;
		margin: 0 0 30px;
}
.win_item {
		display: flex;
		align-items: center;
		border-left: 2px solid #C2153E;
		box-sizing: border-box;
		margin: 0 0 30px;
		box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
}
.win_item_left {
		width: 40%;
		box-sizing: border-box;
		padding-left: 30px;
		border-right: 1px solid #E1E1E1;
}
.win_item_left_in {
		transform: translateY(-15px);
}
.win_item_left_in p {
		font-size: 22px;
		font-family: 'Poppins', sans-serif;
		font-weight: 500;
		color: #C2153E;
		margin-bottom: 0;
}
.win_item_left_in h5 {
		font-size: 20px;
		line-height: 1.6;
		font-weight: 700;
}
.win_item_right {
		flex: 1;
		padding: 30px;
}
.win_item_right p {
		text-align: justify;
		line-height: 1.8;
}
@media(max-width: 767px) {
		.win_hd {
				font-size: 20px;
				margin: 0 0 20px;
		}
		.win_figure {
				margin: 30px auto;
				padding-bottom: 30px;
		}
}
@media(max-width: 840px) {
		.verLandscape .win_item_left_in {
				transform: translateY(0);
				display: flex;
				align-items: center;
		}
		.verLandscape .win_item_left_in p {
				margin-right: 15px;
				line-height: 1;
		}
		.verLandscape .win_item_left {
				width: 40%;
				padding-left: 15px;
		}
}
@media(max-width: 700px) {
		.win_item {
				border-top: 2px solid #C2153E;
				border-left: none;
				display: block;
		}
		.verPortrait .win_item_left, .verLandscape .win_item_left {
				width: 100%;
				padding: 20px;
				border-right: none;
		}
		.win_item_left_in {
				transform: translateY(0);
		}
		.win_item_left_in p {
				font-size: 18px;
				text-align: center;
		}
		.win_item_left_in h5 {
				font-size: 20px;
				text-align: center;
		}
		.win_item_right {
				flex: 1;
				padding: 0 20px 20px;
		}
		.win_item_right p {
				text-align: justify;
				line-height: 1.8;
		}
		.verLandscape .win_item_left_in {
				display: flex;
				justify-content: center;
				align-items: center;
		}
		.verLandscape .win_item_left_in p {
				margin-right: 15px;
				line-height: 1;
				transform: translateY(2px)
		}
		.verLandscape .win_item_left_in h5 {
				text-align: left;
				font-size: 18px;
				line-height: 1;
		}
		.verLandscape .win_item_left_in h5 br {
				display: none;
		}
}
@media(max-width: 700px) {
		.win_item {
				border-top: 2px solid #C2153E;
				border-left: none;
				display: block;
		}
		.win_item_left {
				width: 100%;
				padding: 20px;
		}
		.win_item_left_in {
				transform: translateY(0);
		}
		.win_item_left_in p {
				font-size: 18px;
				text-align: center;
		}
		.win_item_left_in h5 {
				font-size: 20px;
				text-align: center;
		}
		.win_item_right {
				flex: 1;
				padding: 0 20px 20px;
		}
		.win_item_right p {
				text-align: justify;
				line-height: 1.8;
		}
		.verLandscape .win_item_left_in {
				display: flex;
				justify-content: center;
				align-items: center;
		}
		.verLandscape .win_item_left_in p {
				margin-right: 15px;
				line-height: 1;
				transform: translateY(2px)
		}
		.verLandscape .win_item_left_in h5 {
				text-align: left;
				font-size: 18px;
				line-height: 1;
		}
		.verLandscape .win_item_left_in h5 br {
				display: none;
		}
}
/* ================== */
.serviceWrap {
		overflow: hidden;
		margin-left: calc(calc(100vw - 1390px) * 0.5);
		position: relative;
}
.serviceSlider_base {
		box-sizing: border-box;
		padding-top: 70px;
		background: #fff;
		padding-bottom: 180px;
}
.serviceSlider_base .service_hdr {
		padding-left: 125px;
		padding-right: 125px;
}
@media(max-width: 960px) {
		.verLandscape .serviceSlider_base .service_hdr {
				padding-left: 40px;
				padding-right: 40px;
		}
}
@media(max-width: 767px) {
		.verPortrait .serviceSlider_base .service_hdr {
				padding-left: 25px;
				padding-right: 25px;
		}
}
.service_hdr {
		margin: 0;
		display: flex;
		position: relative;
		z-index: 5;
}
.service_hdr.extra {
		margin-bottom: 30px;
}
.service_hdr_left {
		width: 420px;
}
.service_hdr_right p.lead {
		font-size: 22px;
		line-height: 1.8;
		font-weight: 500;
		position: relative;
		padding-bottom: 30px;
		max-width: 725px;
}
.service_hdr_right p.lead::before, .service_hdr_right p.lead::after {
		content: '';
		display: block;
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 2px;
}
.service_hdr_right p.lead::before {
		background: #B2B2B2;
}
.service_hdr_right p.lead::after {
		background: #C2153E;
		width: 60px;
}
.about_hdr_caption {
		padding-top: 30px;
		line-height: 1.8;
}
.service_hdr_right {
		flex: 1;
}
@media(max-width: 1500px) {
		.service_hdr_left {
				width: 33%;
				margin-right: 20px;
		}
		.about_hd_jp {
				font-size: 36px;
		}
		.about_hd_en {
				font-size: 18px;
		}
}
@media(max-width: 1100px) {
		.about_hd_en {
				font-size: 16px;
		}
		.about_hd_jp {
				font-size: 32px;
		}
		.service_hdr_left {
				width: 100%;
				margin-right: 0;
				margin-bottom: 20px;
		}
}
@media(max-width: 1100px) {
		.page_wrap.right .page_col {
				padding-right: 100px;
				padding-left: 100px;
		}
		.page_wrap.left .page_col {
				padding-left: 100px;
				padding-right: 100px;
		}
}
@media(max-width: 1100px) {
		.service_hdr {
				display: block;
		}
		.about_hd_jp br {
				display: none;
		}
		.service_hdr_right p.lead {
				font-size: 18px;
				padding-bottom: 30px;
				max-width: inherit;
		}
		.service_hdr_right p.lead br {
				display: none;
		}
}
@media(max-width: 840px) {
		.page_wrap.right .page_col {
				padding-right: 90px;
				padding-left: 90px;
		}
		.page_wrap.left .page_col {
				padding-left: 90px;
				padding-right: 90px;
		}
}
@media(max-width: 767px) {
		.page_wrap.right .page_col {
				padding-right: 25px;
				padding-left: 25px;
		}
		.page_wrap.left .page_col {
				padding-left: 25px;
				padding-right: 25px;
		}
		.about_hd_jp {
				font-size: 22px;
		}
		.service_hdr_right p.lead {
				font-size: 16px;
				padding-bottom: 25px;
				margin-bottom: 25px;
		}
}
/* =============== */
.service_item_gr_wrap {
		position: relative;
		display: flex;
		width: 100%;
		margin: 0;
		height: 700px;
		overflow: hidden;
		background: #fff;
}
.service_item_gr {
		display: flex;
		position: absolute;
		top: 0;
		left: 0;
}
.swiper-slide a {
		color: #222;
		text-decoration: none;
}
.service_item {
		width: 100%;
		margin: 0;
		box-sizing: border-box;
		box-shadow: rgba(0, 0, 0, 0.1) 0px 4px 12px;
		position: relative;
}
.service_item .arrowBaseS {
		position: absolute;
		right: 0;
		bottom: 0;
}
.nolink .service_item .arrowBaseS {
		display: none;
}
.service_item_thumb {
		margin: 0 0 20px;
		overflow: hidden;
}
.service_item_thumb img {
		width: 100%;
		height: auto;
		transition: transform 0.6s cubic-bezier(0.16, 1, 0.3, 1), filter 0.4s;
}
@media (hover: hover) {
		.swiper-slide:not(.nolink):hover .service_item_thumb img {
				transform: scale(1.05);
				filter: brightness(0.8);
		}
}
.service_item_name {
		max-width: 225px;
		margin: 0 auto 20px;
}
.service_item_name img {
		width: 100%;
		height: auto;
}
.service_item_caption {
		line-height: 1.8;
		padding: 0 30px 60px;
		min-height: 7.4em;
}
@media(max-width: 1300px) {
		.service_item_caption {
				min-height: 5em;
		}
}
@media(max-width: 1200px) {
		.service_item_caption {
				min-height: 7em;
		}
}
@media(max-width: 1300px) {
		.serviceWrap {
				overflow: hidden;
				margin-left: 0;
				position: relative;
		}
}
@media(max-width: 767px) {
		.service_hdr {
				display: block;
		}
		.about_hdr_caption {
				padding-top: 0;
		}
		.service_item_gr .service_item:last-child {
				margin-right: 90vw;
		}
		.service_item_thumb {
				margin: 0 0 20px;
		}
		.service_item_name {
				margin: 0 15px 15px;
		}
		.service_item_caption {
				padding: 0 20px 20px;
				min-height: 7.5em;
		}

		.verLandscape .service_item_caption {
				min-height: 8.5em;
				font-size: 15px;
		}
}