@charset "utf-8";

/*-------------------------------
	Case
-------------------------------*/

.Case {
	background-color:#ECF2F7;
	position: relative;
	border-top-right-radius: 3rem;
	overflow: hidden;
}

.Case__inner {
	position: relative;
}

.Case::before {
	content:"";
	display: block;
	width:100%;
	height:100%;
	background-image:url(../images/consulting_service/bg_Case.jpg);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	background-attachment: fixed;
	position:absolute;
	left:0;
	top:0;
	opacity:0.7;
}

.Case_list {
	justify-content:space-between;
}

.Case_block {
	width:32%;
	max-width:34rem;
	border-radius: 3rem;
	background:#fff;
	box-shadow: 0 0 .6rem rgba(0,112,184,.16);
	position:relative;
	margin-bottom:9rem;
	padding:0rem 3rem 4rem;
}

.Case_block::before {
	content:"";
	display: block;
	width:4.7rem;
	height:3rem;
	background:url(../images/consulting_service/bg_triangle.svg) no-repeat center top / contain;
	position:absolute;
	right:5.5rem;
	bottom:-2.8rem;
	filter: drop-shadow(.2rem .8rem .4rem rgba(0,112,184,.1));
}

.Case_block_inner {
	padding-top:9rem;
	position:relative;
}

.Case_block_inner::before {
	content:"";
	display: block;
	background-repeat:no-repeat;
	background-size:contain;
	background-position: center top;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
}

.Case_block h3 {
	color:var(--maincolor);
	font-weight:700;
	font-size:2.4rem;
	margin-bottom:0.5em;
	text-align: center;
	position:relative;
}

.Case_block h3::before {
	content:attr(data-no)".";
	display: inline-block;
	font-size:2.4rem;
	font-weight:700;
	color:var(--maincolor);
	position:relative;
	padding-right:0.25em;
}

.Case_block .list-circle li {
	margin-bottom:0;
	line-height:2.1875;
	letter-spacing: 0;
}

.Case_block .list-circle li::before {
	line-height:2.1875;
	top:0em;
}

.Case_block .Index-more {
	margin:3rem 0 0 auto;
}

.Case10 {
	margin:0 auto 3rem;
}

.Case01 .Case_block_inner::before {
	width: 4.2rem;
	height: 4.6rem;
	background-image: url(../images/consulting_service/icon_service-search1.svg);
	top:3.2rem;
}
.Case02 .Case_block_inner::before{
	width: 5.5rem;
	height: 5.1rem;
	background-image: url(../images/consulting_service/icon_service-search2.svg);
	top:3.2rem;
}
.Case03 .Case_block_inner::before{
	width: 4.2rem;
	height: 4.2rem;
	background-image: url(../images/consulting_service/icon_service-search3.svg);
	top:4rem;
}
.Case04 .Case_block_inner::before{
	width: 3.8rem;
	height: 3.9rem;
	background-image: url(../images/consulting_service/icon_service-search4.svg);
	top:4rem;
}
.Case05 .Case_block_inner::before{
	width: 4.8rem;
	height: 3.3rem;
	background-image: url(../images/consulting_service/icon_service-search5.svg);
	top:4rem;
}
.Case06 .Case_block_inner::before{
	width: 5.4rem;
	height: 2.9rem;
	background-image: url(../images/consulting_service/icon_service-search6.svg);
	top:4.5rem;
}
.Case07 .Case_block_inner::before{
	width: 4.7rem;
	height: 4.2rem;
	background-image: url(../images/consulting_service/icon_service-search7.svg);
	top:3.6rem;
}
.Case08 .Case_block_inner::before{
	width: 3.1rem;
	height: 4.3rem;
	background-image: url(../images/consulting_service/icon_service-search8.svg);
	top:3.6rem;
}
.Case09 .Case_block_inner::before{
	width: 4.8rem;
	height: 4.4rem;
	background-image: url(../images/consulting_service/icon_service-search9.svg);
	top:3.6rem;
}
.Case10 .Case_block_inner::before{
	width: 4.7rem;
	height: 4.9rem;
	background-image: url(../images/consulting_service/icon_service-search10.svg);
	top:3.2rem;
}

/*-------------------------------
	Consulting
-------------------------------*/

.Consulting {
	background:#ECF2F7;
}

.h_title_top {
	color:var(--maincolor);
	text-align: center;
	font-size:2rem;
	font-weight:700;
}

.about_wrap {
	margin-bottom:15rem;
}

.about_wrap h3 {
	color:var(--maincolor);
	text-align: center;
	font-size:2.4rem;
	font-weight:700;
	padding-top:5.5rem;
	position:relative;
}

.about_wrap h3::before,
.about_wrap h3::after {
	content:"";
	display: block;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
}

.about_wrap h3::before {
	width:4.6rem;
	height:4.6rem;
	border-radius: 50%;
	background:rgba(0,112,184,0.1);
	top:2rem;
}

.about_wrap h3::after {
	width:3.6rem;
	height:6rem;
	background:url(../images/consulting_service/icon_qestion.svg) no-repeat center / contain;
	top:0;
}

.about_affe {
	position:relative;
	align-items: flex-start;
	padding-top:7rem;
}

.about_txt {
	width:calc(100% - 41rem);
	max-width:58.5rem;
	padding-right:3rem;
	position:sticky;
	top:16rem;
	left:0;
}

.step_list {
	width:41rem;
	margin-top:2rem;
}

.step_list li {
	display: flex;
	align-items: center;
	color:var(--maincolor);
	font-size:2rem;
	font-weight:700;
	position:relative;
	line-height: 1;
	padding-left:3.5rem;
}

.step_list li:not(:last-of-type) {
	margin-bottom:6.5rem;
}

.step_list li::after {
	content:"";
	display: block;
	width:0.6rem;
	height:0.6rem;
	background:var(--maincolor);
	border-radius: 50%;
	position:absolute;
	left:0;
	top:0;
	bottom:0;
	margin:auto 0;
}

.step_list li:not(:last-of-type)::before {
	content:"";
	display: block;
	width:0.2rem;
	height:10.3rem;
	border-left:.2rem dotted var(--maincolor);
	position:absolute;
	left:.2rem;
	top:2.1rem;
}

.step {
	width:11.2rem;
	height:3.8rem;
	line-height:3.6rem;
	margin-right:2.8rem;
	border:.1rem solid var(--maincolor);
	border-radius:1.9rem;
	background:#fff;
	text-align: center;
	font-size:2rem;
	color:var(--maincolor);
	font-family: var(--no);
	font-weight:400;
}

.step span {
	font-size:2.4rem;
	padding-left:0.25em;
	line-height:3.6rem;
}

/*-------------------------------
	points
-------------------------------*/

.points_wrap {
	margin-bottom: 10rem;
	justify-content: space-between;
}

.points_block {
	width:48.2%;
	max-width:53rem;
	border-radius: 1.5rem;
	padding:6rem 5.5rem 6.5rem;
	background:#fff;
	box-shadow: 0 0 .6rem rgba(0,112,184,.16);
	position:relative;
	margin-bottom:6rem;
}

.points_block::before {
	content:"POINTS";
	display: block;
	width:6.4rem;
	height:6.4rem;
	line-height:6.4rem;
	text-align: center;
	color:#fff;
	font-size:1.2rem;
	font-family: var(--en);
	font-weight:500;
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
	top:-3.2rem;
	background:var(--maincolor);
	border-radius: 50%;
}

.points_inner {
	display:flex;
	flex-direction: column;
	height:100%;
}

.points_block h3 {
	font-size:2.4rem;
	font-weight:700;
	color:var(--maincolor);
	text-align: center;
	margin-bottom:1rem;
	line-height:1.65;
}

.points_block p {
	margin-bottom:1em;
}

.points_img_wrap.flex {
	justify-content:space-between;
}

.points_img_wrap.flex figure {
	width:43.4%;
	max-width:18.2rem;
	border:.1rem solid #707070;
}

.points02 .affe_wrap {
	margin-top:1.4rem;
}

.points02 .affe_wrap .points_img_list,
.points02 .points_img_list.flex figure {
	width:32.2%;
	max-width:13.5rem;
}

.points02 .points_img_list figure {
	margin-bottom:0.8rem;
}

.points02 .points_img_list.flex figure:nth-last-of-type(-n+3) {
	margin-bottom:0;
}

.points02 .points_img_list.flex {
	justify-content: space-between;
}

.points_img_list figcaption {
	font-size:1.2rem;
	display: block;
}

.points02 .no_list {
	width:67.8%;
	padding-bottom:2rem;
}

.points03 .no_list {
	margin-bottom:2rem;
}

/*-------------------------------
	banner contact
-------------------------------*/

.banner_contact {
	background:var(--maincolor);
	border-bottom-left-radius:3rem;
	padding:4.2rem 5.5rem;
}

.banner_contact_inner {
	position:relative;
	justify-content: space-between;
}

.banner_contact_inner::before {
	content:"";
	display: block;
	width:.2rem;
	height:100%;
	border-left:.2rem dotted #fff;
	position:absolute;
	left:50%;
	top:0;
	transform:translateX(-50%);
}

.banner_contact h3 {
	font-size:1.8rem;
	font-weight:700;
	text-align:center;
	border:.1rem solid #fff;
	margin-bottom:4rem;
	color:#fff;
}

.banner_contact_tel,
.banner_contact_mail {
	width:45%;
	max-width:42rem;
}

.banner_contact_tel_no {
	font-size:clamp(2.4rem,4vw,4.8rem);
	font-weight:700;
	text-align: center;
	color:#fff;
	font-family: var(--en);
	position:relative;
	line-height:1;
}

.banner_contact_tel_no::before {
	content:attr(data-tag);
	display: inline-block;
	font-size:clamp(1.4rem,2.08vw,2.5rem);
	font-weight:700;
	color:#fff;
	font-family: var(--en);
	padding-right:0.25em;
	line-height:1;
}

.banner_contact_tel_time {
	font-size:1.8rem;
	font-weight:500;
	color:#fff;
	text-align: center;
	line-height:1.35;
}

.banner_contact_mail_btn a {
	display: block;
	width:100%;
	max-width:34rem;
	height:6rem;
	line-height:6rem;
	position:relative;
	border-radius:3rem;
	background:#fff;
	margin:0 auto;
	opacity: 1 !important;
}

.banner_contact_mail_btn span {
	position:relative;
	font-size:2rem;
	line-height:6rem;
	font-weight:700;
	padding:0 5rem 0 7rem;
	display: block;
	color:#343638;
}

.banner_contact_mail_btn span::before,
.banner_contact_mail_btn span::after {
	content:"";
	display: block;
	position:absolute;
	top:0;
	bottom:0;
	margin:auto 0;
}

.banner_contact_mail_btn span::before {
	width:2.3rem;
	height:1.8rem;
	left:3rem;
	background:url(../images/common/icon_mail-black.svg) no-repeat center / contain;
}

.banner_contact_mail_btn span::after {
	transition: var(--transition);
	width:1.7rem;
	height:1.8rem;
	right:2rem;
	background:url(../images/common/icon_arrow-black-naked.svg) no-repeat center / contain;
}

.banner_contact_mail_btn a:hover {
	background: #ffd23c;
}
.banner_contact_mail_btn a:hover span::after{
	transform: translateX(.5rem);
}

/*-------------------------------
	Flow
-------------------------------*/

.Flow_block {
	margin-bottom:15rem;
}

.Flow_block_inner {
	position:relative;
}

.Flow_title {
	width:calc(100% - 41rem);
	padding-right:3rem;
	position:sticky;
	left:0;
	top:16rem;
	flex-wrap:nowrap;
}

.Flow_title h3 {
	font-size:2.4rem;
	font-weight:700;
	line-height:1.65;
	color:var(--maincolor);
	margin-left:2rem;
}

.Flow_title .no_title::before {
	content:"FLOW";
}

.Flow_arrow {
	font-size:2.4rem;
	font-weight:700;
	line-height:1.65;
	color:var(--maincolor);
	text-align: center;
	margin-top:1.5rem;
	padding-top:4rem;
	position:relative;
}

.Flow_arrow::before {
	content:"";
	display: block;
	width:3.1rem;
	height:3.2rem;
	background:url(../images/consulting_service/arrow_blue_bottom.svg) no-repeat center / contain;
	position:absolute;
	left:0;
	right:0;
	top:0;
	margin:0 auto;
}

.Flow_step {
	width:41rem;
}

.Flow_block .step_list li {
	line-height:1.2;
}

/*-------------------------------
	Study
-------------------------------*/

.Study {
	padding-top:0;
	background:#ECF2F7;
	border-radius:0 0 3rem 3rem;
	position: relative;
}
.Study .Index-layout__image img{
	object-position: top left;
}

/*-------------------------------
	responsive
-------------------------------*/

@media screen and (max-width:960px){

.Case_list {
	max-width:72rem;
	margin:0 auto;
}
.Case_block {
	width:48.2%;
}

.Case10 {
	margin:0 0 9rem;
}

.points_block {
	padding:6rem 3rem 6.5rem;
}

.banner_contact_tel,
.banner_contact_mail {
	width:100%;
	max-width:60rem;
	margin:0 auto;
}

.banner_contact_tel {
	margin-bottom:5rem;
}

.banner_contact_inner::before {
	display: none;
}

.banner_contact_tel_no {
	font-size:4.8rem;
}

.Flow_title {
	width:100%;
	position:relative;
	left:auto;
	top:auto;
	padding-right:0;
	margin-bottom:6rem;
	justify-content: center;
}

.Flow_step {
	width:100%;
}

.Flow_step .step_list {
	margin:0 auto;
}


} /* end 960px */

/*-------------------------------
	ver sp
-------------------------------*/

@media screen and (max-width:768px){

/*-------------------------------
	Case
-------------------------------*/

.Case_list {
	max-width:100%;
	margin:0 auto;
}

.Case .sub_title {
	margin-bottom:5rem;
}

.Case_block {
	width:100%;
	max-width:100%;
	margin-bottom:11rem;
	padding:0rem 6rem 6rem;
}

.Case_block::before {
	width:8.3rem;
	height:5.4rem;
	right:10rem;
	bottom:-5.2rem;
}

.Case_block_inner {
	padding-top:16rem;
}

.Case_block h3 {
	font-size:3rem;
}

.Case_block h3::before {
	font-size:3rem;
}

.Case_block .Index-more {
	margin:3.5rem 0 0 auto;
}

.Case10 {
	margin:0 0 42.4rem;
}

.Case01 .Case_block_inner::before {
	width: 7.9rem;
	height: 8.6rem;
	top:4.7rem;
}
.Case02 .Case_block_inner::before{
	width: 10rem;
	height: 9.4rem;
	top:4.7rem;
}
.Case03 .Case_block_inner::before{
	width: 7.9rem;
	height: 7.9rem;
	top:6.2rem;
}
.Case04 .Case_block_inner::before{
	width: 7.2rem;
	height: 7.3rem;
	top:6.2rem;
}
.Case05 .Case_block_inner::before{
	width: 7.2rem;
	height: 5rem;
	top:9.2rem;
}
.Case06 .Case_block_inner::before{
	width: 9rem;
	height: 4.9rem;
	top:8rem;
}
.Case07 .Case_block_inner::before{
	width: 7.8rem;
	height: 7rem;
	top:6.6rem;
}
.Case08 .Case_block_inner::before{
	width: 5.1rem;
	height: 7.1rem;
	top:6.6rem;
}
.Case09 .Case_block_inner::before{
	width: 7.8rem;
	height: 7.1rem;
	top:6.6rem;
}
.Case10 .Case_block_inner::before{
	width: 6.7rem;
	height: 6.9rem;
	top:7rem;
}

/*-------------------------------
	Consulting
-------------------------------*/

.h_title_top {
	font-size:3rem;
}

.about_wrap {
	margin-bottom:6rem;
}

.about_wrap h3 {
	font-size:3rem;
	padding-top:7rem;
}

.about_wrap h3::before {
	width:5.2rem;
	height:5.2rem;
	top:2.5rem;
}

.about_wrap h3::after {
	width:4.2rem;
	height:6.8rem;
}

.about_affe {
	padding-top:8rem;
}

.about_txt {
	width:100%;
	max-width:100%;
	padding-right:0rem;
	position:relative;
	top:auto;
	left:auto;
	margin-bottom:6.5rem;
}

.step_list {
	width:100%;
	margin-top:0rem;
}

.step_list li {
	font-size:2.8rem;
	padding-left:5.5rem;
}

.step_list li:not(:last-of-type) {
	margin-bottom:10rem;
}

.step_list li::after {
	width:2rem;
	height:2rem;
}

.step_list li:not(:last-of-type)::before {
	width:0.4rem;
	height:15.6rem;
	border-width:.4rem;
	left:.8rem;
	top:3rem;
}

.step {
	width:17rem;
	height:5.6rem;
	line-height:5.2rem;
	margin-right:3.6rem;
	border-width:.2rem;
	border-radius:2.8rem;
	font-size:2.9rem;
}

.step span {
	font-size:3.5rem;
	line-height:5.2rem;
}

/*-------------------------------
	points
-------------------------------*/

.points_wrap {
	margin-top:23rem;
	margin-bottom: 0;
}

.points_block {
	width:100%;
	max-width:100%;
	padding:13rem 6rem 6rem;
	margin-bottom:11rem;
}

.points_block:last-child{
	margin-bottom: 0;
}

.points_block::before {
	width:15rem;
	height:15rem;
	line-height:15rem;
	font-size:2.8rem;
	top:-7.5rem;
}

.points_inner {
	display:block
}

.points_block h3 {
	font-size:3rem;
	margin-bottom:1em;
}

.points_block p {
	margin-bottom:1em;
}

.points_img_wrap.flex figure {
	width:47.7%;
	max-width:100%;
}

.points02 .affe_wrap {
	margin-top:0;
}

.points02 .affe_wrap .points_img_list {
	margin-top:2rem;
}

.points02 .affe_wrap .points_img_list,
.points02 .points_img_list.flex figure {
	width:32.2%;
	max-width:16.5rem;
}

.points_img_list figcaption {
	font-size:2rem;
}

.points02 .no_list {
	width:67.8%;
	padding-bottom:3rem;
}

.points03 .no_list {
	margin-bottom:4rem;
}

/*-------------------------------
	banner contact
-------------------------------*/

.banner_contact {
	padding:5.2rem 6rem 6rem;
}

.banner_contact_inner::before {
	display:none;
}

.banner_contact h3 {
	font-size:3rem;
	border-width:.2rem;
	margin-bottom:2rem;
}

.banner_contact .banner_contact_tel h3 {
	margin-bottom:4.5rem;
}

.banner_contact_tel,
.banner_contact_mail {
	width:100%;
	max-width:100%;
	margin:0 auto;
}

.banner_contact_tel {
	margin-bottom:7rem;
}

.banner_contact_tel_no {
	font-size:6rem;
}

.banner_contact_tel_no::before {
	font-size:3rem;
	font-weight:700;
}

.banner_contact_tel_time {
	font-size:2.2rem;
}

.banner_contact_mail_btn a {
	width:100%;
	max-width:100%;
	height:8.8rem;
	line-height:8.8rem;
	border-radius:4.4rem;
}

.banner_contact_mail_btn span {
	font-size:3rem;
	line-height:8.8rem;
	padding:0 7.5rem 0 11rem;
}

.banner_contact_mail_btn span::before {
	width:3.4rem;
	height:2.7rem;
	left:6rem;
}

.banner_contact_mail_btn span::after {
	width:2.9rem;
	height:3rem;
	right:3rem;
}

/*-------------------------------
	Flow
-------------------------------*/

.Flow .h_title {
	margin-bottom:10rem;
}

.Flow .h_title span {
	font-size:3.5rem;
}

.Flow_block {
	margin-bottom:12rem;
}

.Flow_block:last-of-type {
	margin-bottom:0;
}

.Flow_title {
	width:100%;
	position:relative;
	left:auto;
	top:auto;
	padding-right:0;
	margin-bottom:7rem;
	justify-content: flex-start;
}

.Flow_title h3 {
	font-size:3rem;
	margin-left:3.4rem;
}

.Flow_title .no_title::before {
	content:"FLOW";
}

.Flow_arrow {
	font-size:3.6rem;
	margin-top:3.5rem;
	padding-top:7.7rem;
}

.Flow_arrow::before {
	width:5.1rem;
	height:5.2rem;
}

.Flow_step {
	width:100%;
}

.Flow_step .step_list {
	margin:0 auto 0 2rem;
}


.Flow_block .step_list li {
	line-height:1.2;
}

/*-------------------------------
	Study
-------------------------------*/

.Study {
	padding-top:15rem;
}

} /* end 768px */