@charset "utf-8";
.case_section {
		background: #022F7A;
		padding: 130px 40px;
		background-color: #022F7A;
		color: #fff;
		background-repeat: repeat-y;
		background-position: center -30px;
		background-size: 3000px;
		background-image: url("../images/footerContact_bg2_pc.png")
}
.case_inner {
		max-width: 1200px;
		margin: 0 auto
}
.case_inner hgroup {
		text-align: center;
		color: #fff;
}
.tab_wrap {
		position: relative;
		margin-bottom: -35px;
}
.tab {
		display: flex;
		justify-content: space-between;
}
.tab > div {
		width: calc(calc(100% - 3px) / 4);
		color: #4469a4;
		display: flex;
		justify-content: center;
		height: 80px;
		cursor: pointer;
		font-family: "Poppins", sans-serif;
		font-size: 18px;
		font-weight: 700;
		box-sizing: border-box;
		padding-top: 15px;
		position: relative;
}
.tab > div span {
		position: relative;
		z-index: 2
}
.tab > div::before {
		content: '';
		display: block;
		position: absolute;
		width: 100%;
		height: 100%;
		border-radius: 18px 18px 0 0;
		background: #8AA5D1;
		transition: all 0.2s;
		top: 0;
		left: 0;
}
.tabR, .tabL {
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 35px;
		width: 35px;
		height: 55px;
		opacity: 0;
		pointer-events: none;
		z-index: 2
}
.tab > div .tabL {
		position: absolute;
		top: -9px;
		left: -35px;
		background-image: url("../images/tabL.png")
}
.tab > div .tabR {
		position: absolute;
		top: -9px;
		right: -35px;
		background-image: url("../images/tabR.png");
}
.isActive .tabL, .isActive .tabR {
		opacity: 1
}
.tabR {
		background-image: url("../images/tabR.png")
}
.tab > div.isActive {
		color: #133876;
}
.tab > div.isActive::before {
		background: #fff;
		top: -20px;
}
.panel_contents_gr {
		background: #fff;
		border-radius: 14px;
		position: relative;
		z-index: 2
}
.panel_inner {
		padding: 80px;
		color: #022F7A;
}
.case_sb {
		text-align: center;
		font-size: 30px;
		font-weight: 700;
		margin: 0 0 40px;
		line-height: 1.3;
}
.case_sb span {
		display: inline-block;
		position: relative;
}
.case_sb span::before {
		content: '';
		display: block;
		position: absolute;
		top: 0px;
		left: -54px;
		width: 35px;
		height: 35px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: cover;
		background-image: url("../images/icon_caseHd.png");
		border-radius: 50%;
}
.case_item_gr {
		margin-bottom: 50px;
}
.case_item {
		display: flex;
		margin: 0 0 20px;
}
.case_item_hd {
		color: #fff;
		border-radius: 12px 0px 0px 12px;
		background: linear-gradient(#003186 0%, #092857 100%);
		width: 180px;
		text-align: center;
		padding: 25px 0;
		display: flex;
		justify-content: center;
		align-items: center;
}
.case_item_caption {
		background: #F7F8F8;
		padding: 25px;
		flex: 1;
		border-radius: 0 12px 12px 0px;
}
.case_item_hd p {
		line-height: 1.6;
		font-weight: 700;
}
.case_item_caption p {
		line-height: 1.8;
}
.case_figure {
		max-width: 1015px;
		margin: 0 auto;
}
.case_figure img {
		width: 100%;
		height: auto;
}
@media(max-width: 1300px) {
		.panel_inner {
				padding: 40px;
		}
}
@media(max-width: 960px) {
		.tab_wrap {
				margin-bottom: -25px;
		}
		.tab > div {
				height: 70px;
		}
		.case_item_hd {
				padding: 15px 0;
		}
		.case_item_caption {
				background: #F7F8F8;
				padding: 15px;
		}
		.case_sb {
				font-size: 22px;
				line-height: 1.6;
				margin: 0 0 40px;
		}
		.tab > div.isActive::before {
				top: -10px;
		}
		.tab > div {
				height: 63px;
				padding-top: 12px;
		}
		.case_sb span::before {
				top: 6px;
				left: -37px;
				width: 28px;
				height: 28px;
		}
}
@media(max-width: 767px) {
		.case_section {
				padding: 60px 20px;
		}
		.tab > div {
				height: 55px;
				font-size: 14px;
				padding-top: 8px;
		}
		.tab > div::before {
				border-radius: 8px 8px 0 0;
		}
		.panel_inner {
				padding: 30px 15px 15px;
		}
		.case_sb {
				font-size: 20px;
				margin: 0 0 30px;
		}
		.case_item {
				display: block;
				margin: 0 0 15px;
		}
		.case_item_hd {
				color: #fff;
				border-radius: 6px 6px 0 0;
				width: auto;
				text-align: left;
				padding: 8px 15px;
				display: block;
		}
		.case_item_hd br {
				display: none
		}
		.case_item_caption {
				background: #F7F8F8;
				padding: 15px;
				border-radius: 0 0 6px 6px;
		}
		.tabR, .tabL {
				background-size: 35px;
				width: 35px;
				height: 38px;
		}
		.tab > div .tabL {
				top: -8px;
				left: -35px;
				background-image: url("../images/tabL_sp.png")
		}
		.tab > div .tabR {
				top: -8px;
				right: -35px;
				background-image: url("../images/tabR_sp.png");
		}
		.case_sb span::before {
				top: 4px;
				left: -32px;
				width: 26px;
				height: 26px;
				background-size: 26px;
		}
}