@charset "utf-8";
.second_hdr_wrap {
		margin-bottom: 0 !important;
}
.second_hdr_wrap + section.strength_section, .second_hdr_wrap + section.nayami_section {
		padding-top: 160px;
}
@media(max-width: 960px) {
		.second_hdr_wrap + section.strength_section, .second_hdr_wrap + section.nayami_section {
				padding-top: 100px;
		}
}
@media(max-width: 767px) {
		.second_hdr_wrap + section.strength_section, .second_hdr_wrap + section.nayami_section {
				padding-top: 80px;
		}
}
.title_flex {
		display: flex;
		justify-content: space-between;
		align-items: flex-end;
		margin-bottom: 80px;
}
.title_flex hgroup {
		margin-bottom: 0;
}
.title_flex hgroup + p {
		line-height: 1.8;
		width: 50%;
		font-weight: 500;
}
/* ================ */
.service_top_wrap {
		background: #fff;
		padding: 80px 110px;
		box-shadow: 0px 0px 30px rgba(0, 0, 0, 0.05);
		margin-bottom: 120px;
}
@media(max-width: 960px) {
		.service_top_wrap {
				margin-bottom: 80px;
		}
}
@media(max-width: 1500px) {
		.service_top_wrap {
				padding: 80px;
		}
}
@media(max-width: 1200px) {
		.service_top_wrap {
				padding: 60px;
		}
}
@media(max-width: 960px) {
		.service_top_wrap {
				padding: 60px 30px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.service_top_wrap {
				padding: 40px 20px;
		}
}
.service_hdr_catch p, .service_hdr_catch h2 {
		line-height: 1.6;
		letter-spacing: 0.08em;
}
.service_hdr_catch p {
		font-size: 20px;
		margin: 0 0 10px;
}
.service_hdr_catch h2 {
		font-size: 28px;
		font-weight: 600;
}
.service_hdr_catch h2 strong {
		font-weight: 700;
		position: relative;
		display: inline-block;
}
.service_hdr_catch h2 strong::after {
		content: '';
		display: block;
		position: absolute;
		bottom: -1px;
		left: 0;
		width: 100%;
		height: 5px;
		background: #D0E7FF;
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.service_hdr_catch h2 strong {
				margin-bottom: 5px;
		}
		.service_hdr_catch h2 strong::after {
				height: 3px;
		}
}
@media(max-width: 1200px) {
		.service_hdr_catch p {
				font-size: 1.8vw;
		}
		.service_hdr_catch h2 {
				font-size: 2.5vw;
		}
}
@media(max-width: 960px) {
		.service_hdr_catch p {
				font-size: 2vw;
		}
		.service_hdr_catch h2 {
				font-size: 2.6vw;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.service_hdr_catch p {
				font-size: 1.8vw;
		}
		.service_hdr_catch h2 {
				font-size: 2.6vw;
				font-weight: 700;
		}
}
@media(min-width: 600px) {
		.service_hdr_catch p br.spbr {
				display: none
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.service_hdr_catch p {
				text-align: left;
				font-size: 15px;
		}
		.service_hdr_catch h2 {
				font-size: 18px;
				font-weight: 700;
		}
}
@media(max-width: 390px) {
		.service_hdr_catch p {
				font-size: 14px;
		}
}
/* =================== */
.hr {
		height: 2px;
		background: #C8DAF2;
		position: relative;
		margin: 70px 0;
}
.hr::before {
		content: '';
		display: block;
		position: absolute;
		top: -2px;
		left: 0;
		width: 6px;
		height: 6px;
		background: #027DFF;
}
.service_top_figure {
		max-width: 1250px;
		margin: 0 auto 60px;
}
.service_top_figure img {
		width: 100%;
		height: auto
}
@media(max-width: 1200px) {
		.title_flex {
				display: flex;
				justify-content: flex-start;
				align-items: center
		}
		.title_flex hgroup {
				margin-right: 60px;
		}
		.title_flex hgroup + p {
				width: auto;
				flex: 1
		}
}
@media(max-width: 960px) {
		.title_flex {
				display: block;
				margin-bottom: 40px;
		}
		.title_flex hgroup {
				margin-right: 0;
				margin-bottom: 40px;
		}
		.service_top_figure {
				margin: 0 auto 40px;
		}
}
.service_item {
		padding: 0 20px
}
.service_item h4 {
		font-size: 30px;
		font-weight: 600;
		margin-block: calc((1em - 1lh) / 2);
		margin-bottom: 40px;
}
.service_item_flex {
		display: flex;
		position: relative;
}
.service_item_figure {
		width: 340px;
		margin-right: 60px;
}
.service_item_figure img {
		width: 100%;
		height: auto;
}
.service_item_caption {
		flex: 1;
		margin-right: 250px;
}
.service_item_caption p:first-child {
		font-size: 19px;
		font-weight: 600;
		line-height: 1.8;
		margin: 0 0 1em
}
.service_item_caption p:nth-child(2) {
		line-height: 1.8;
}
.service_item_caption p strong {
		color: #027DFF;
		font-weight: 600;
}
.service_item_flex .linkBtn {
		position: absolute;
		right: 0;
		bottom: 0
}
@media(max-width: 1200px) {
		.hr {
				margin: 50px 0;
		}
		.service_item {
				padding: 0;
		}
		.service_item h4 {
				font-size: 24px;
		}
		.service_item_figure {
				width: 35%;
				margin-right: 30px;
		}
		.service_item_caption {
				margin-right: 190px;
		}
		.service_item_caption p:first-child {
				font-size: 18px;
		}
}
@media(max-width: 960px) {
		.hr {
				margin: 40px 0;
		}
		.service_item {
				padding: 0;
		}
		.service_item h4 {
				font-size: 24px;
				margin-bottom: 25px;
		}
		.service_item_figure {
				width: 35%;
				margin-right: 30px;
		}
		.service_item_caption {
				margin-right: 0;
				padding-bottom: 60px;
		}
		.service_item_caption p:first-child {
				font-size: 17px;
		}
		.service_item_caption p:nth-child(2) {
				font-size: 15px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.hr {
				margin: 30px 0;
		}
		.service_item_flex {
				display: block;
		}
		.service_item_figure {
				width: 100%;
				margin: 0 0 20px;
		}
		.service_item h4 {
				font-size: 20px;
				margin-bottom: 25px;
		}
		.service_item_caption {
				padding-bottom: 0;
				margin-bottom: 25px;
		}
		.service_item_caption p:first-child {
				font-size: 15px;
		}
		.service_item_caption p:nth-child(2) {
				font-size: 14px;
		}
		.service_item_flex .linkBtn {
				position: static;
				margin-left: auto;
				margin-right: auto;
		}
}
/* ==================== */
.service_hdr_wrap {
		max-width: 1360px;
		margin: 0 auto;
		padding: 0 20px;
}
.service_hdr {
		background: #fff;
		padding: 60px;
		position: relative;
		z-index: 5
}
.service_hdr_catch {
		text-align: center;
		margin-bottom: 60px;
		font-weight: 700;
		display: flex;
		justify-content: center;
}
.service_hdr_catch_in {
		position: relative;
}
.service_hdr_catch_in::before, .service_hdr_catch_in::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 60px);
		width: 1px;
		height: 120px;
		background: #027DFF;
}
.service_hdr_catch_in::before {
		left: -55px;
		transform: rotate(-35deg)
}
.service_hdr_catch_in::after {
		right: -55px;
		transform: rotate(35deg)
}
.service_hdr_flex {
		display: flex;
		align-items: center;
}
.service_hdr_left {
		width: 450px;
		margin-right: 55px;
}
.service_hdr_left img {
		width: 100%;
		height: auto
}
.service_hdr_left.borderOn img {
		width: 100%;
		height: auto;
		border: 1px solid #ccc;
		box-sizing: border-box;
}
.service_hdr_right {
		flex: 1
}
.service_hdr_right h3 {
		font-size: 20px;
		font-weight: 700;
		margin: 0 0 20px;
		line-height: 1.6;
}
@media(max-width: 767px) {
		.service_hdr_right h3 {
				font-size: 17px;
		}
}
.service_hdr_right p {
		line-height: 1.8;
		font-weight: 500;
}
.service_hdr_right ul {
		margin-top: 30px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		list-style: none
}
.service_hdr_right li {
		width: calc(50% - 10px);
		font-weight: 500;
}
.service_hdr_right li a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 76px;
		text-decoration: none;
		color: #fff;
		transition: background 0.2s;
}
@media(max-width: 1200px) {
		.service_hdr_right li a {
				height: 60px
		}
}
@media(max-width: 767px) {
		.service_hdr_right li {
				width: calc(50% - 5px);
				font-size: 14px;
		}
		.service_hdr_right li a {
				height: 50px
		}
}
.service_hdr_right ul li:first-child a {
		background: #003F86;
		border: 1px solid #003F86;
}
.service_hdr_right ul li:nth-child(2) a {
		background: #027DFF;
		border: 1px solid #027DFF;
}
@media (hover: hover) {
		.service_hdr_right ul li:first-child a:hover {
				color: #003F86;
				background: #fff;
		}
		.service_hdr_right ul li:nth-child(2) a:hover {
				color: #027DFF;
				background: #fff;
		}
}
.service_hdr_btn_flex {
		display: flex;
		margin-top: 30px;
}
.service_hdr_btn {
		font-weight: 600;
		margin-top: 30px;
		display: flex;
}
.service_hdr_btn_flex .service_hdr_btn {
		margin-top: 0;
		display: block;
		width: 300px;
		margin-right: 17px;
}
.service_hdr_btn_flex .service_hdr_btn.w320 {
		width: 320px;
		margin-right: 0;
}
.service_hdr_btn a {
		display: flex;
		justify-content: center;
		align-items: center;
		color: #fff;
		text-decoration: none;
		height: 74px;
		background: #003f86;
		border: 1px solid #003f86;
		transition: background 0.2s;
		padding: 0 25px;
		box-sizing: border-box;
		min-width: 290px;
}
.service_hdr_btn a.isBlu {
		background: #027DFF;
		border: 1px solid #027DFF;
}
.service_hdr_btn span.device {
		position: relative;
		padding-left: 48px;
		transform: translateY(1px)
}
.service_hdr_btn span.device::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 12px);
		left: 0;
		width: 31px;
		height: 21px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 31px;
		background-image: url("../images/icon_device_wht.png")
}
.service_hdr_btn span.trash {
		position: relative;
		padding-left: 40px;
		transform: translateY(1px)
}
.service_hdr_btn span.trash::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 14px);
		left: 0;
		width: 25px;
		height: 29px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 25px;
		background-image: url("../images/icon_trash_wht.png")
}
@media (hover: hover) {
		.service_hdr_btn a:hover {
				background: #fff;
				color: #003f86;
		}
		.service_hdr_btn a.isBlu:hover {
				background: #fff;
				color: #027DFF;
		}
		.service_hdr_btn a:hover span.device::before {
				background-image: url("../images/icon_device_nvy.png")
		}
		.service_hdr_btn a:hover span.trash::before {
				background-image: url("../images/icon_trash_blu.png")
		}
}
@media(max-width: 1300px) {
		.service_hdr {
				padding: 40px 30px;
		}
		.service_hdr_catch {
				margin-bottom: 40px;
		}
		.service_hdr_catch_in::before, .service_hdr_catch_in::after {
				top: calc(50% - 50px);
				height: 100px;
		}
		.service_hdr_catch_in::before {
				left: -40px;
		}
		.service_hdr_catch_in::after {
				right: -40px;
		}
		.service_hdr_flex {
				display: flex;
				align-items: flex-start;
		}
		.service_hdr_left {
				width: 40%;
				margin-right: 40px;
		}
		.service_hdr_btn_flex {
				display: flex;
				justify-content: space-between;
		}
		.service_hdr_btn_flex .service_hdr_btn {
				width: calc(50% - 5px);
				margin-right: 0;
		}
		.service_hdr_btn_flex .service_hdr_btn.w320 {
				width: calc(50% - 5px);
		}
}
@media (max-width: 1200px) {
		.service_hdr_left {
				width: 35%;
				margin-right: 30px;
		}
		.service_hdr_catch_in::before, .service_hdr_catch_in::after {
				top: calc(50% - 50px);
				height: 100px;
		}
		.service_hdr_catch_in::before, .service_hdr_catch_in::after {
				display: none
		}
		.service_hdr_left {
				width: 35%;
				margin-right: 30px;
		}
		.service_hdr_btn {
				font-size: 15px;
		}
		.service_hdr_btn a {
				height: 60px;
				padding: 0 20px;
				min-width: inherit;
		}
		.service_hdr_btn span.device {
				padding-left: 34px;
		}
		.service_hdr_btn span.device::before {
				top: calc(50% - 8px);
				width: 24px;
				height: 16px;
				background-size: 24px;
		}
		.service_hdr_btn span.trash {
				padding-left: 30px;
		}
		.service_hdr_btn span.trash::before {
				top: calc(50% - 12px);
				width: 20px;
				height: 23px;
				background-size: 20px;
		}
}
@media(min-width: 768px) {
		.hdbr {
				display: none
		}
}
@media(max-width: 1100px) {
		.service_hdr_btn {
				font-size: 14px;
		}
}
@media(max-width: 960px) {
		.service_hdr {
				padding: 60px 25px 40px;
		}
		.service_hdr_right p {
				font-size: 15px;
		}
		.service_hdr_flex {
				display: block
		}
		.service_hdr_left {
				width: 100%;
				margin: 0 0 20px;
		}
		.service_hdr_left img {
				width: 100%;
				aspect-ratio: 16 / 8;
				object-fit: cover;
		}
		.service_hdr_left.borderOn img {
				width: 100%;
				aspect-ratio: 6 / 3;
				object-fit: cover;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.service_hdr {
				padding: 40px 25px 40px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.service_hdr_wrap {
				padding: 0 10px;
		}
		.service_hdr {
				padding: 30px 15px;
		}
		.service_hdr_catch {
				margin-bottom: 25px;
		}
		.service_hdr_btn_flex {
				display: block
		}
		.service_hdr_btn_flex .service_hdr_btn, .service_hdr_btn_flex .service_hdr_btn.w320 {
				width: 300px;
				margin: 0 auto 10px
		}
		.service_hdr_btn {
				margin-top: 30px;
				display: flex;
				justify-content: center;
		}
		.service_hdr_btn span.device {
				padding-left: 35px;
		}
		.service_hdr_btn span.device::before {
				top: calc(50% - 10px);
				width: 25px;
				height: 17px;
				background-size: 25px;
		}
}
/* ================== */
.strength_section {
		background: #fff;
		padding: 80px 30px 120px;
}
.strength_section .wrap1250 {
		padding-left: 0;
		padding-right: 0;
}
.strength_inner {
		max-width: 1250px;
		margin: 0 auto;
}
.strength_inner h4.hd {
		font-size: 30px;
		font-weight: 700;
		line-height: 1.6;
		margin: 0 0 35px;
		padding-left: 30px;
		position: relative;
}
.strength_inner h4.hd::before {
		content: '';
		display: block;
		position: absolute;
		top: 7px;
		left: 0;
		width: 7px;
		height: 32px;
		background: #027DFF;
}
.strength_inner h4 + p {
		line-height: 1.8;
		font-weight: 500;
		margin-bottom: 50px;
}
.strength_item {
		display: flex;
		align-items: center;
		margin: 0 0 80px;
}
.strength_item.reverse {
		display: flex;
		flex-direction: row-reverse;
		align-items: center;
}
.strength_item_thumb {
		margin: 0 50px 0 0;
		width: 520px;
}
.reverse .strength_item_thumb {
		margin-right: 0;
		margin-left: 50px;
}
.strength_item_thumb img {
		width: 100%;
		height: auto
}
.strength_inner .strength_item:last-child {
		margin-bottom: 0;
}
.strength_item_caption {
		flex: 1
}
.strength_item_caption h5 {
		font-size: 24px;
		font-weight: 600;
		margin: 0 0 40px;
		margin-left: 50px;
		position: relative;
		line-height: 1.6;
}
.strength_item_caption h5::before {
		display: block;
		position: absolute;
		top: -16px;
		left: -50px;
		color: #027DFF;
		font-family: "Barlow Condensed";
		font-weight: 600;
		font-size: 40px;
}
.strength_item_gr .strength_item:first-child .strength_item_caption h5::before {
		content: '01';
}
.strength_item_gr .strength_item:nth-child(2) .strength_item_caption h5::before {
		content: '02';
}
.strength_item_gr .strength_item:nth-child(3) .strength_item_caption h5::before {
		content: '03';
}
.strength_item_gr .strength_item:nth-child(4) .strength_item_caption h5::before {
		content: '04';
}
.strength_item_caption p {
		line-height: 1.8;
}
.strength_item_caption ul {
		margin-top: 25px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap
}
.strength_item_caption li {
		width: calc(calc(100% - 30px) / 4);
		height: 50px;
		text-align: center;
		display: flex;
		justify-content: center;
		align-items: center;
		background: #003F86;
		color: #fff;
}
@media(max-width: 1300px) {
		.strength_item_caption li {
				font-size: 14px;
		}
}
@media(max-width: 1200px) {
		.strength_inner h4.hd {
				font-size: 24px;
				margin-bottom: 30px;
				padding-left: 24px;
		}
		.strength_inner h4.hd::before {
				top: 4px;
				left: 0;
				width: 7px;
				height: 28px;
		}
		.strength_item {
				display: flex;
				align-items: flex-start;
				margin: 0 0 60px;
		}
		.strength_item.reverse {
				display: flex;
				flex-direction: row-reverse;
				align-items: flex-start;
		}
		.strength_item_thumb {
				margin: 0 40px 0 0;
				width: 40%;
		}
		.reverse .strength_item_thumb {
				margin-right: 0;
				margin-left: 40px;
		}
		.strength_item_caption h5 {
				font-size: 20px;
				margin-bottom: 20px;
				margin-left: 40px;
		}
		.strength_item_caption h5::before {
				font-size: 32px;
				top: -12px;
				left: -40px;
		}
		.strength_item_caption ul {
				margin-top: 20px;
		}
		.strength_item_caption li {
				width: calc(50% - 5px);
				margin: 0 0 10px;
				font-size: 14px;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.strength_item_caption h5 {
				font-size: 18px;
		}
		.strength_item_thumb {
				margin: 0 30px 0 0;
				width: 38%;
		}
		.reverse .strength_item_thumb {
				margin-right: 0;
				margin-left: 30px;
		}
}
@media(max-width: 767px) {
		.strength_section {
				padding: 60px 20px 60px;
		}
		.strength_inner h4.hd {
				font-size: 20px;
				margin-bottom: 30px;
				padding-left: 15px;
		}
		.strength_inner h4.hd::before {
				top: 4px;
				width: 5px;
				height: 24px;
		}
		.strength_item_caption h5::before {
				font-size: 30px;
				top: -10px;
				left: -40px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.strength_item, .strength_item.reverse {
				display: flex;
				flex-direction: column;
				margin: 0 0 60px;
				order: 2
		}
		.strength_item_thumb, .reverse .strength_item_thumb {
				width: 100%;
				margin: 0 0 30px;
				order: 2
		}
		.strength_item_caption {
				display: contents
		}
		.strength_item_caption h5 {
				font-size: 20px;
				order: 1
		}
		.strength_item_caption p {
				order: 3
		}
		.strength_item_caption ul {
				order: 4
		}
}
@media(max-width: 390px) {
		.strength_item_caption h5 {
				font-size: 18px;
		}
}
/* ================== */
.strength_col {
		display: flex;
		align-items: center;
		margin: 0 0 30px;
}
.strength_col_gr .strength_col:last-child {
		margin-bottom: 0;
}
.strength_col_figure {
		width: 405px;
		margin-right: 40px;
}
.strength_col_figure img {
		width: 100%;
		height: auto;
}
.strength_col_caption {
		flex: 1
}
.strength_col_caption h4 {
		font-size: 23px;
		font-weight: 700;
		margin: 0 0 30px;
		padding-left: 50px;
		position: relative;
		line-height: 1.6;
}
.strength_col_caption h4::before {
		position: absolute;
		display: block;
		left: 0;
		top: -5px;
		content: '01';
		color: #027DFF;
		font-family: "Barlow Condensed";
		font-weight: 600;
		font-size: 40px;
		line-height: 1;
}
.strength_col_gr .strength_col:first-child .strength_col_caption h4::before {
		content: '01';
}
.strength_col_gr .strength_col:nth-child(2) .strength_col_caption h4::before {
		content: '02';
}
.strength_col_gr .strength_col:nth-child(3) .strength_col_caption h4::before {
		content: '03';
}
.strength_col_gr .strength_col:nth-child(4) .strength_col_caption h4::before {
		content: '04';
}
.strength_col_caption p {
		margin: 0 !important
}
@media(max-width: 1200px) {
		.strength_col {
				display: flex;
				align-items: flex-start;
		}
		.strength_col_figure {
				width: 40%;
				margin-right: 30px;
		}
		.strength_col_caption h4 {
				font-size: 18px;
				margin: 0 0 20px;
				padding-left: 40px;
		}
		.strength_col_caption h4::before {
				top: -10px;
				font-size: 32px;
		}
}
@media(max-width: 960px) {
		.strength_col_figure {
				width: 35%;
				margin-right: 25px;
		}
		.strength_col_caption h4 {
				font-size: 17px;
				margin: 0 0 20px;
				padding-left: 35px;
		}
		.strength_col_caption h4::before {
				top: -4px;
				font-size: 28px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.strength_col {
				display: block;
				margin: 0 0 30px
		}
		.strength_col_figure {
				width: auto;
				margin: 0 0 20px;
		}
		.strength_col_caption h4 {
				font-size: 18px;
				margin: 0 0 15px;
				padding-left: 28px
		}
		.strength_col_caption h4::before {
				top: 0px;
				font-size: 24px;
		}
}
/* ================== */
.productdetail_section {
		padding: 80px 30px 120px;
		background: #fff;
}
.casestudy_section {
		padding: 80px 30px 120px
}
@media(max-width: 767px) {
		.productdetail_section, .casestudy_section {
				padding: 60px 20px 80px
		}
}
.casestudy_inner {
		max-width: 1360px;
		margin: 0 auto;
		display: flex;
}
.casestudy_inner_left {
		width: 340px;
}
.casestudy_inner_right {
		flex: 1
}
.casestudy_item {
		display: flex;
		margin: 0 0 30px;
}
.casestudy_inner .casestudy_item:last-child {
		margin-bottom: 0;
}
.casestudy_thumb {
		width: 280px;
		margin-right: 30px;
}
.casestudy_thumb img {
		width: 100%;
		height: auto
}
.casestudy_caption {
		flex: 1
}
.casestudy_item.mark {
		margin-bottom: 25px;
}
.casestudy_item.mark .casestudy_caption {
		background: #fff;
		position: relative;
		padding: 35px 45px;
		padding-left: 90px;
		margin-left: 60px;
}
.casestudy_item.mark .casestudy_caption::after {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 50px);
		left: -50px;
		width: 100px;
		height: 100px;
		background-repeat: no-repeat;
		background-position: 0 0;
		background-size: 100px !important;
		background-image: url("../images/mark_case-01.png");
		background-color: #027DFF;
		border-radius: 50%;
}
.casestudy_inner_right .casestudy_item.mark:nth-child(even) .casestudy_caption::after {
		background: #003F86;
}
.casestudy_inner_right .casestudy_item.mark:nth-child(2) .casestudy_caption::after {
		background-image: url("../images/mark_case-02.png");
}
.casestudy_inner_right .casestudy_item.mark:nth-child(3) .casestudy_caption::after {
		background-image: url("../images/mark_case-03.png");
}
.casestudy_inner_right .casestudy_item.mark:nth-child(4) .casestudy_caption::after {
		background-image: url("../images/mark_case-04.png");
}
@media(max-width: 1200px) {
		.casestudy_item.mark .casestudy_caption {
				padding: 35px;
				padding-left: 60px;
				margin-left: 30px;
		}
		.casestudy_item.mark .casestudy_caption::after {
				top: calc(50% - 40px);
				left: -40px;
				width: 80px;
				height: 80px;
				background-size: 80px !important;
		}
}
@media screen and (orientation: landscape) and (max-width: 900px) {
		.casestudy_item.mark .casestudy_caption {
				padding: 20px 30px;
				padding-left: 60px;
				margin-left: 30px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.casestudy_item.mark .casestudy_caption {
				padding: 20px;
				padding-top: 40px;
				margin-left: 0;
		}
		.casestudy_item.mark .casestudy_caption::after {
				top: -30px;
				left: calc(50% - 30px);
				width: 60px;
				height: 60px;
				background-size: 60px !important;
		}
		.casestudy_item.mark {
				margin-bottom: 50px;
		}
}
.casestudy_caption h4 {
		font-size: 18px;
		font-weight: 600;
		line-height: 1.6;
		margin: 0 0 20px
}
.casestudy_caption p {
		line-height: 1.8;
}
@media(max-width: 1300px) {
		.casestudy_inner_left {
				width: 280px;
		}
		.casestudy_thumb {
				width: 35%;
				max-width: 250px;
				margin-right: 30px;
		}
}
@media(max-width: 1200px) {
		.casestudy_inner_left {
				width: 230px;
		}
}
@media(max-width: 960px) {
		.casestudy_inner {
				display: block
		}
		.casestudy_inner_left {
				width: auto;
				margin: 0 0 40px
		}
		.casestudy_inner_left p br {
				display: none
		}
}
@media(max-width: 767px) {
		.casestudy_item {
				margin-bottom: 40px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.casestudy_item {
				display: block
		}
		.casestudy_caption h4 {
				font-size: 16px;
				margin: 0 0 15px;
		}
		.casestudy_thumb {
				width: auto;
				margin: 0 0 20px;
				max-width: inherit
		}
}
/* ================== */
.purpose_section {
		padding: 80px 30px 120px
}
@media(max-width: 767px) {
		.purpose_section {
				padding: 60px 20px 80px
		}
}
.purpose_section hgroup {
		margin-bottom: 70px;
}
.purpose_inner {
		max-width: 1250px;
		margin: 0 auto;
}
.purpose_item {
		display: flex;
		align-items: center;
		margin: 0 0 60px;
}
.purpose_inner .purpose_item:last-child {
		margin-bottom: 0;
}
.purpose_pict {
		width: 135px;
		margin-right: 30px;
}
.purpose_pict img {
		width: 100%;
		height: auto;
		background: #fff;
		border-radius: 50%;
}
.purpose_caption {
		flex: 1
}
.purpose_caption h4 {
		font-size: 22px;
		font-weight: 600;
		line-height: 1.6;
		margin: 0 0 20px
}
.purpose_caption p {
		line-height: 1.8;
}
@media(max-width: 960px) {
		.purpose_pict {
				width: 120px;
				margin-right: 20px;
		}
		.purpose_caption h4 {
				font-size: 20px;
				margin: 0 0 15px
		}
}
@media(max-width: 767px) {
		.purpose_item {
				margin-bottom: 40px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.purpose_item {
				display: block
		}
		.purpose_caption h4 {
				font-size: 17px;
				margin: 0 0 15px;
		}
		.purpose_pict {
				width: 40%;
				margin: 0 auto 20px;
		}
}
/* ==================== */
.flow_section {
		padding: 80px 30px 120px
}
.flow_section.zero {
		padding-top: 0;
}
@media(max-width: 767px) {
		.flow_section {
				padding: 60px 20px 80px
		}
		.cmn_cont .flow_section {
				padding-left: 0;
				padding-right: 0;
		}
}
.flow_wrap {
		max-width: 1250px;
		margin: 0 auto;
		display: flex;
}
.flow_wrap_left {
		width: 310px;
}
.flow_wrap_right {
		flex: 1
}
.flow_item {
		display: flex;
		align-items: center;
		margin: 0 0 70px;
		margin-left: 130px;
		position: relative;
}
.flow_item_gr .flow_item:last-child {
		margin-bottom: 0;
}
.flow_item::before {
		content: 'STEP 01';
		display: block;
		position: absolute;
		top: calc(50% - 15px);
		left: -130px;
		font-family: "Barlow Condensed";
		font-weight: 600;
		font-size: 30px;
		color: #027dff;
}
.flow_item_gr .flow_item:nth-child(2)::before {
		content: 'STEP 02';
}
.flow_item_gr .flow_item:nth-child(3)::before {
		content: 'STEP 03';
}
.flow_item_gr .flow_item:nth-child(4)::before {
		content: 'STEP 04';
}
.flow_item_gr .flow_item:nth-child(5)::before {
		content: 'STEP 05';
}
.flow_item_gr .flow_item:nth-child(6)::before {
		content: 'STEP 06';
}
.flow_item_gr .flow_item:nth-child(7)::before {
		content: 'STEP 07';
}
.flow_item_gr .flow_item:nth-child(8)::before {
		content: 'STEP 08';
}
.flow_item_gr .flow_item:nth-child(9)::before {
		content: 'STEP 09';
}
.flow_item_gr .flow_item:nth-child(10)::before {
		content: 'STEP 10';
}
.flow_pict {
		width: 160px;
		white-space: nowrap;
		margin-right: 30px;
		position: relative;
}
.flow_pict img {
		width: 100%;
		height: auto;
		border-radius: 50%;
		background: #fff;
}
.flow_pict.bgBlu img {
		background: #F2F7FF;
}
.flow_pict::before {
		content: '';
		display: block;
		position: absolute;
		top: 160px;
		left: calc(50% - 5px);
		width: 5px;
		height: 150px;
		background: #fff;
		pointer-events: none
}
.flow_pict.bgBlu::before {
		background: #F2F7FF;
}
.flow_item_gr .flow_item:last-child .flow_pict::before {
		display: none
}
.flow_caption {
		flex: 1
}
.flow_caption h5 {
		font-size: 18px;
		font-weight: 600;
		margin: 0 0 20px
}
.flow_caption p {
		line-height: 1.8;
}
@media(max-width: 1300px) {
		.flow_wrap_left {
				width: 280px;
		}
		.flow_item {
				display: flex;
				align-items: flex-start;
		}
}
@media(max-width: 1200px) {
		.flow_wrap_left {
				width: 230px;
		}
		.flow_item {
				margin-left: 90px;
		}
		.flow_item::before {
				top: calc(50% - 24px);
				left: -90px;
				font-size: 24px;
		}
		.flow_pict {
				width: 120px;
				margin-right: 15px;
		}
		.flow_pict::before {
				top: 120px;
		}
}
@media(max-width: 1024px) {
		.flow_wrap {
				display: block
		}
		.flow_wrap_left {
				width: auto;
				margin: 0 0 40px
		}
}
@media(max-width: 767px) {
		.flow_item {
				margin-bottom: 40px;
				margin-left: 0;
				display: flex;
				align-items: flex-start;
		}
		.flow_item::before {
				display: none
		}
		.flow_pict {
				width: 90px;
				margin-right: 15px;
		}
		.flow_pict::before {
				display: none
		}
		.flow_caption {
				position: relative;
		}
		.flow_caption::before {
				content: 'STEP 01';
				display: block;
				font-family: "Barlow Condensed";
				font-weight: 600;
				font-size: 16px;
				color: #027dff;
				position: absolute;
				left: 0;
				top: 20px;
		}
		.flow_item_gr .flow_item:nth-child(2) .flow_caption::before {
				content: 'STEP 02';
		}
		.flow_item_gr .flow_item:nth-child(3) .flow_caption::before {
				content: 'STEP 03';
		}
		.flow_item_gr .flow_item:nth-child(4) .flow_caption::before {
				content: 'STEP 04';
		}
		.flow_item_gr .flow_item:nth-child(5) .flow_caption::before {
				content: 'STEP 05';
		}
		.flow_item_gr .flow_item:nth-child(6) .flow_caption::before {
				content: 'STEP 05';
		}
		.flow_caption h5 {
				font-size: 17px;
				margin: 0;
				position: relative;
				height: 90px;
				display: flex;
				align-items: center;
				box-sizing: border-box;
				padding-top: 20px;
		}
		.flow_caption p {
				font-size: 14px;
				position: relative;
				left: -105px;
				width: calc(100% + 95px);
				margin-top: 10px;
		}
		.flow_caption p::after {
				display: none
		}
}
/* =============== */
.nayami_item_flex {
		display: flex;
		justify-content: center;
		max-width: 960px;
		margin: 0 auto
}
.nayami_item {
		width: 33.3%;
}
.nayami_item_figure {
		width: 240px;
		margin: 0 auto 15px
}
.nayami_item_figure img {
		width: 100%;
		height: auto
}
.nayami_item p {
		font-size: 18px;
		font-weight: 500;
		line-height: 1.8;
		text-align: center;
}
@media(max-width: 960px) {
		.nayami_item_figure {
				width: 70%;
				margin: 0 auto 10px
		}
		.nayami_item p {
				font-size: 16px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.nayami_item_flex {
				display: block
		}
		.nayami_item {
				width: auto;
				margin: 0 0 40px
		}
		.nayami_item_flex .nayami_item:last-child {
				margin-bottom: 0;
		}
		.nayami_item_figure {
				width: 60%;
				margin: 0 auto 10px
		}
}
/* ================ */
.spec {
		background: #F3F5F8;
		padding: 40px;
}
.spec table {
		width: 100%;
		background: #fff;
		border-collapse: collapse;
}
.spec td {
		width: 33.3%;
		border: 4px solid #F3F5F8;
		text-align: center;
		padding: 20px 5px;
		font-weight: 500;
		line-height: 1.6;
}
.spec table tr:first-child td {
		padding: 12px 5px;
		font-size: 15px;
		color: #fff;
}
.spec table tr:first-child td:first-child {
		background: #456C9B;
}
.spec table tr:first-child td:nth-child(2) {
		background: #027DFF;
}
.spec table tr:first-child td:nth-child(3) {
		background: #59616C;
}
.spec table tr:not(:first-child) td:nth-child(2) {
		font-size: 16px;
		font-weight: 700;
		color: #027DFF;
}
.spec table tr:not(:first-child) td:nth-child(3) {
		font-size: 16px;
		font-weight: 700;
}
@media(max-width: 960px) {
		.spec {
				padding: 15px;
		}
		.spec td {
				border: 2px solid #F3F5F8;
				padding: 20px 5px;
		}
		.spec table tr:first-child td {
				padding: 10px 5px;
		}
}
@media(min-width: 600px) {
		.spec td br {
				display: none
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.spec {
				padding: 0;
				background: #ededed;
		}
		.spec td {
				border: 2px solid #ededed;
				padding: 12px 3px;
				font-size: 12px;
		}
		.spec table tr:first-child td {
				padding: 6px 0;
		}
		.spec table tr:first-child td {
				font-size: 12px;
		}
		.spec table tr:not(:first-child) td:nth-child(2) {
				font-size: 12px;
		}
		.spec table tr:not(:first-child) td:nth-child(3) {
				font-size: 12px;
		}
}
/* =============== */
.second_about {
		padding-bottom: 120px;
}
@media(max-width: 960px) {
		.second_about {
				padding-bottom: 80px;
		}
}
@media(max-width: 767px) {
		.second_about {
				padding-bottom: 60px;
		}
}
.second_about h3 {
		font-size: 30px;
		font-weight: 700;
		position: relative;
		line-height: 1.6;
		margin: 80px 0 35px;
		padding-bottom: 10px;
}
.second_about h3 + p {
		line-height: 1.8;
}
.second_about h3:first-child {
		margin-top: 0;
}
.second_about h3::before, .second_about h3::after {
		content: '';
		display: block;
		position: absolute;
		left: 0;
}
.second_about h3::before {
		height: 2px;
		width: 100%;
		background: #C8DAF2;
		bottom: 0;
}
.second_about h3::after {
		bottom: -2px;
		width: 6px;
		height: 6px;
		background: #027DFF;
}
.second_about h4 {
		font-size: 23px;
		font-weight: 700;
		line-height: 1.6;
		margin: 0 0 20px
}
.second_about h4 + p {
		line-height: 1.8;
}
@media(max-width: 1200px) {
		.second_about h3 {
				font-size: 24px;
		}
		.second_about h4 {
				font-size: 18px;
		}
}
@media(max-width: 767px) {
		.second_about h3 {
				font-size: 20px;
				margin-top: 60px;
		}
		.second_about h4 {
				font-size: 16px;
				margin-bottom: 15px;
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		.second_about h4 {
				font-size: 15px;
				margin-bottom: 15px;
		}
}
@media(max-width:390px) {
		.second_about h3 {
				font-size: 18px;
		}
}
/* =============== */
.faq_item {
		background: #F2F7FF;
		padding: 0 30px;
		margin: 0 0 20px;
}
.faq_item p {
		line-height: 1.8;
		margin-left: 40px;
		position: relative;
}
.faq_q {
		padding: 25px 0;
		padding-right: 40px;
		position: relative;
		cursor: pointer
}
.faq_q .faq_q_trigger {
		position: absolute;
		top: calc(50% - 6px);
		right: 0px;
		width: 16px;
		height: 12px;
}
.faq_q .faq_q_trigger::before, .faq_q .faq_q_trigger::after {
		content: '';
		display: block;
		position: absolute;
		transition: all 0.2s;
		width: 0;
		height: 0;
		border-style: solid;
		top: 0;
		left: 0;
}
.faq_q .faq_q_trigger::before {
		border-right: 8px solid transparent;
		border-left: 8px solid transparent;
		border-top: 12px solid #0168B7;
		border-bottom: 0;
}
.faq_q .faq_q_trigger::after {
		border-right: 8px solid transparent;
		border-left: 8px solid transparent;
		border-bottom: 12px solid #0168B7;
		border-top: 0;
}
.faq_q .faq_q_trigger::after, .faq_q.isOpen .faq_q_trigger::before {
		opacity: 0
}
.faq_q.isOpen .faq_q_trigger::after {
		opacity: 1
}
.faq_q p {
		font-size: 16px;
		font-weight: 600;
		position: relative;
}
@media(max-width: 960px) {
		.faq_q p {
				font-size: 15px;
		}
}
.faq_q p .mark, .faq_a p .mark {
		position: absolute;
		display: block;
		left: -40px;
		top: -4px;
		font-size: 20px;
		font-family: 'Roboto', sans-serif;
		font-weight: 700;
}
.faq_a p .mark {
		color: #027DFF;
}
.faq_a {
		padding-top: 25px;
		padding-bottom: 30px;
		padding-right: 60px;
		border-top: 1px dashed #AEB7C4;
		display: none;
}
@media(max-width: 1200px) {
		.faq_item {
				padding: 0 20px;
				margin-bottom: 15px;
		}
		.faq_item p {
				margin-left: 30px;
		}
		.faq_q p .mark, .faq_a p .mark {
				left: -30px;
				top: -4px;
		}
}
@media(max-width: 960px) {
		.faq_q {
				padding: 20px 0;
				padding-right: 30px;
		}
}
@media(max-width: 767px) {
		.faq_item {
				padding: 0 15px;
				margin: 0 0 10px;
		}
		.faq_item p {
				margin-left: 25px;
		}
		.faq_q {
				padding: 20px 0;
				padding-right: 30px;
		}
		.faq_q .faq_q_trigger {
				top: calc(50% - 4px);
				right: 0px;
				width: 12px;
				height: 9px;
		}
		.faq_q .faq_q_trigger::before {
				border-right: 6px solid transparent;
				border-left: 6px solid transparent;
				border-top: 9px solid #0168B7;
				border-bottom: 0;
		}
		.faq_q .faq_q_trigger::after {
				border-right: 6px solid transparent;
				border-left: 6px solid transparent;
				border-bottom: 9px solid #0168B7;
				border-top: 0;
		}
		.faq_q p {
				font-size: 15px;
				line-height: 1.6;
		}
		.faq_q p .mark, .faq_a p .mark {
				left: -25px;
				top: -1px;
				font-size: 18px;
		}
		.faq_q {
				padding: 15px 0;
				padding-right: 20px;
		}
		.faq_a {
				padding-top: 20px;
				padding-bottom: 25px;
				padding-right: 0;
		}
}
/* =============== */
ul.btn_flex {
		margin-top: 100px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		list-style: none
}
.btn_flex li {
		width: calc(50% - 20px);
		font-weight: 500;
		font-size: 20px;
}
.btn_flex li a {
		display: flex;
		justify-content: center;
		align-items: center;
		height: 140px;
		text-decoration: none;
		color: #fff;
		transition: background 0.2s;
}
.btn_flex li a span {
		position: relative;
		padding-left: 25px;
}
.btn_flex li a span::before {
		content: '';
		display: block;
		position: absolute;
		top: calc(50% - 18px);
		left: -25px;
		width: 36px;
		height: 36px;
		background-repeat: no-repeat;
		background-position: center center;
		background-size: 36px;
}
.btn_flex li:first-child span::before {
		background-image: url("../images/icon_corprate_wht.png")
}
.btn_flex li:nth-child(2) span::before {
		background-image: url("../images/icon_individual_wht.png")
}
.btn_flex li:first-child a {
		background: #003F86;
		border: 1px solid #003F86;
}
.btn_flex li:nth-child(2) a {
		background: #027DFF;
		border: 1px solid #027DFF;
}
@media (hover: hover) {
		.btn_flex li:first-child a:hover {
				color: #003F86;
				background: #fff;
		}
		.btn_flex li:nth-child(2) a:hover {
				color: #027DFF;
				background: #fff;
		}
		.btn_flex li:first-child a:hover span::before {
				background-image: url("../images/icon_corprate_on.png")
		}
		.btn_flex li:nth-child(2) a:hover span::before {
				background-image: url("../images/icon_individual_on.png")
		}
}
@media(max-width: 1200px) {
		.btn_flex li {
				font-size: 16px;
				width: calc(50% - 10px);
		}
		.btn_flex li a {
				height: 110px
		}
		.btn_flex li a span {
				padding-left: 20px;
		}
		.btn_flex li a span::before {
				top: calc(50% - 14px);
				left: -20px;
				width: 28px;
				height: 28px;
				background-size: 28px;
		}
}
@media(max-width: 960px) {
		ul.btn_flex {
				margin-top: 80px;
		}
		.btn_flex li a {
				height: 80px
		}
}
@media(max-width: 767px) {
		ul.btn_flex {
				margin-top: 60px;
		}
		.btn_flex li a {
				height: 60px
		}
}
@media screen and (orientation: portrait) and (max-width: 767px) {
		ul.btn_flex {
				margin-top: 40px;
				display: block
		}
		.btn_flex li {
				width: 100%;
				margin: 0 0 10px
		}
		.btn_flex li a span {
				padding-left: 17px;
		}
		.btn_flex li a span::before {
				top: calc(50% - 12px);
				left: -17px;
				width: 24px;
				height: 24px;
				background-size: 24px;
		}
}