@charset "UTF-8";


/* service */

#compassTopBg{
	width: 100%;
	margin: 0 auto;
	background: #0E1737;
	position: relative;
}

#compassTopBg .fix .pc{
	display: block;
}

#compassTopBg .fix{
	position: relative;
}

#compassTopBg .fix .tab{
	display: none;
}

#compassTopBg .fix .sp{
	display: none;
}

#compassTopBg .fix img.bg{
	width: 100%;
	height: 809px;
	object-fit:cover;
	object-position: right bottom;
}

#compassTopBg .logo{
	position: absolute;
	top: 48px;
	left: 0;
	width: 100%;
}

#compassTopBg .logo span{
	display: block;
	width: 90%;
	max-width: 1240px;
	margin: 0 auto;
}

#compassTopBg .logo span img{
	width: 441px;
}

#compassTopBg .containerIn{
	position: absolute;
	left: 0;
	bottom: 150px;
	width: 100%;
}

#compassTopBg .containerIn div{
	width: 90%;
	max-width: 1240px;
	margin: 0 auto;
}
#compass{
	padding-top: 0;
	margin-top: 0;
	padding-bottom: 0;
	margin-bottom: 120px;
	position: relative;
	z-index: 2;
}
#compassBg{
	width: 100%;
	margin: 0 auto;
	background: #0E1737;
	color: #FFF;
	padding-bottom: 80px;
}


#compassBg .containerIn h3{
	margin-bottom: 20px;
	color: #FFF;
	font-feature-settings: 'clig' off, 'liga' off;
	font-size: 49px;
	font-style: normal;
	font-weight: 700;
	line-height: 120%;
}


#compassBg .containerIn .description{
	width: 100%;
	max-width: 730px;
	color: #FFF;
	font-feature-settings: 'clig' off, 'liga' off;
	font-size: 24px;
	font-style: normal;
	font-weight: 400;
	line-height: 140%; /* 33.6px */
}

#compassBg .compassSec{
	width: 100%;
	max-width: 1038px;
	margin: 0 auto;
	padding-top: 96px;
	
}


#compassBg .compassSec ul.functionList{
	display: flex;
    flex-wrap: wrap;
    margin-bottom:96px;
}

#compassBg .compassSec ul li.functionItem{
	padding: 0 20px;
	width: 50%;
	margin-bottom: 40px;
}


#compassBg .compassSec ul li.functionItem .img{
	margin-bottom: 10px;
}

#compassBg .compassSec ul li.functionItem .txt{
	margin-bottom: 12px;
}

#compassBg .compassSec ul li.functionItem .txt span{
	display: block;
}

#compassBg .compassSec ul.btn{
	display: flex;
	margin-bottom: 12px;
	justify-content: flex-end;
}





#core{
	padding-top: 100px;
	margin-top: -100px;
}

#core .container{
	overflow: visible;
	position: relative;
	display: flex;
	justify-content: space-between;
}

#core .container #coreNav{
	width: 263px;
	z-index: 1;
	position: relative;
	overflow: visible;
}

#core .container #coreNav #sticky-nav{
	position: sticky;
	top: 120px;
}




#sticky-nav ul li{
	line-height: 1.2;
	margin-top: 32px;
}



#core .container #coreContents{
	width: calc(100% - 310px);
}

#core .coreIn{
	padding-top: 40px;
	position: relative;
}
#core .coreIn:before{
	content: "";
	width: 100%;
	height: 3px;
	background: url(../images/line.png);
	display: block;
	position: absolute;
	bottom: 0;
	left: 0;
}

#core .coreIn:first-of-type{
	padding-top: 0;
}


#core .coreIn .cat{
	padding-top: 100px;
	margin-top: -100px;
	margin-bottom: 8px;
}


#core .coreIn .head{
	position: relative;
	margin-bottom: 40px;
	padding: 30px;
	-webkit-border-radius: 5px;
	        border-radius: 5px;
}

#core .coreIn .head.core01{
	background-image: url(../images/service/core_ttl-01.webp);
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}

#core .coreIn .head.core02{
	background-image: url(../images/service/core_ttl-02.webp);
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}

#core .coreIn .head.core03{
	background-image: url(../images/service/core_ttl-03.webp);
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}

#core .coreIn .head.core04{
	background-image: url(../images/service/core_ttl-04.webp);
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}

#core .coreIn .head.core05{
	background-image: url(../images/service/core_ttl-05.webp);
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
}

#core .coreIn .head.core01 img.en{
	width: 297px;
}

#core .coreIn .headIn{

	color: #FFF;
}



.coreSec.flex{
	overflow: hidden;
	display: flex;
	-webkit-justify-content: space-between;
	        justify-content: space-between;
	padding-left: 32px;
	padding-right: 24px;
	padding-bottom: 46px;
}

.coreSec.flex .txt{
	width: calc(100% - 432px);
}

.coreSec.flex .img{
	width: 400px;
}

.coreSec.img{
	padding: 0 40px;
	margin-bottom: 40px;
}

.coreSec.point{
	width: 100%;
	max-width: 750px;
	background: #FFF;
	border: #A18B50 2px solid;
	-webkit-border-radius: 5px;
	        border-radius: 5px;
	position: relative;
	padding: 32px;
	margin: 20px auto; 

} 

.coreSec.point .pointTtl{
	position: absolute;
	left: 40px;
	top: 50%;
	transform: translate( 0 ,-50% );
	
}



.coreSec.point .pointList{
	padding-left: 150px;
}


.coreSec .pt{
	padding-top: 40px;
}

.coreSec.pdf{
	padding-bottom: 58px;
}

.coreSec.pdf ul{
	display: flex;
	justify-content: flex-end;
}

.coreSec.pdf ul li.pdfLink{
	position: relative;
	width: 79px;
	text-align: center;
}

.coreSec.pdf ul li.pdfLink:after{
	content: "";
	width: 1px;
	height: 14px;
	background: #0E1737;
	position: absolute;
	top: 9px;
	right: 0;
}

.coreSec.pdf ul li.pdfLink:last-child:after{
	content: none;
}

.coreSec.pdf ul li a{
	color: #0E1737;
text-align: center;
font-feature-settings: 'clig' off, 'liga' off;
font-family: "Sofia Sans";
font-size: 15px;
font-style: normal;
font-weight: 300;
line-height: 170%; /* 25.5px */
}



@media screen and (max-width: 767px) {
	.coreSec.pdf ul li.pdfLink{
		width: 50px;
	}
}

.toCase{
	text-align: center;
	padding: 20px;
	margin-top: 20px;
}

.toCase a{
	display: inline-block;
	width: 100%;
	max-width: 580px;	
    border-radius: 5px;
	border: #202847 5px solid;
	color: #fff;
	background-image: linear-gradient(108deg, rgba(31, 71, 107, 1), rgba(22, 45, 78, 1));
	 box-shadow: 5px 5px 12px -3px rgba(0, 0, 0, 0.35);
	 padding: 15px;
	 font-weight: bold;
	 font-size: 20px;
}

#consulting{
	background: #FFF;
	padding-top: 80px;
	position: relative;
	z-index: 2;
}

#consulting .head{
	position: relative;
	margin-bottom: 20px;
	padding: 30px;
	background-image: url(../images/service/consulting_ttl-01.webp);
	background-repeat: no-repeat;
	-webkit-background-size: cover;
	     -o-background-size: cover;
	        background-size: cover;
	-webkit-border-radius: 8px;
	        border-radius: 8px;
}

#consulting .headIn{
	color: #FFF;
}


#consulting .headIn .description{
	width: 100%;
	max-width: 650px;
}

#consulting .img{
	padding: 40px;
}


/* btn setting */

.linkBtn{
	text-align: center;
	width: 100%;
	max-width: 580px;
	margin: 0 auto; 
}

.linkBtn a.btn{
	color: #FFF !important;
	text-align: center;
	font-family: ryo-gothic-plusn;
	font-size: 27px;
	font-weight: 500;
	line-height: 130%; /* 18.2px */
	letter-spacing: 0.81px;
	transition: all .5s;
	position: relative;
	display: block;
	width: 100%;
	height: 90px;
	border-radius: 8px;
	background: linear-gradient(98deg, #202847 -1.42%, #0E1737 94.38%);
	box-shadow: 8px 8px 15px 0px rgba(1, 4, 17, 0.25), -8px -5px 15px 0px rgba(91, 107, 157, 0.25), -8px 5px 15px 0px rgba(1, 4, 17, 0.25), 8px -5px 15px 0px rgba(1, 4, 17, 0.25);
	transition: box-shadow 0.5s ease , text-shadow 0.5s ease, filter 0.5s ease;
}

.linkBtn a.btn.pc:hover,
.linkBtn a.btn.sp:active{
	box-shadow: 4px 4px 7px 0px rgba(255, 255, 255, 0.15), -4px -2px 7px 0px rgba(91, 107, 157, 0.15), -4px 2px 7px 0px rgba(255, 255, 255, 0.15), 4px -2px 7px 0px rgba(255, 255, 255, 0.15);
}


.linkBtn a.btn.pc:hover span,
.linkBtn a.btn.sp:active span {
	text-shadow: 0px 0px 5px #FFF;
}

.linkBtn a.btn.pc:hover span.linkIn .icon img,
.linkBtn a.btn.sp:active span.linkIn .icon img{
	filter: drop-shadow(2px 2px 6px white);
}

.linkBtn a.btn.pc:active{
	box-shadow: 4px 4px 15px 0px rgba(1, 4, 17, 0.25), -4px -2px 15px 0px rgba(91, 107, 157, 0.25), -4px 2px 15px 0px rgba(1, 4, 17, 0.25), 4px -2px 15px 0px rgba(1, 4, 17, 0.25);
}

.linkBtn a.btn.pc:active span {
	text-shadow: 0px 0px 5px #FFF;
}

.linkBtn a.btn.pc:active span.linkIn .icon img{
	filter: drop-shadow(2px 2px 6px white);
}



.linkBtn a.btn span.linkIn{
	position: absolute;
	top: 4px;
	left: 4px;
	width: calc(100% - 8px);
	height: 82px;
	line-height: 82px;
	display: inline-block;
	text-align: center;
	border-radius: 5px;
	background: linear-gradient(280deg, rgba(31, 71, 107, 0.30) -21.03%, #1F476B 93.84%);
	transition: text-shadow 0.5s ease, filter 0.5s ease;
}

.linkBtn a.btn span.linkIn .icon{
	display: inline-block;
	margin-left: 10px;
	width: 29px;
	height: 28px;
	line-height: 28px;
}

.linkBtn a.btn span.linkIn .icon img{
	vertical-align: top;
	transition: filter 0.5s ease;
}





#coreContents .linkBtn{
	margin-top: 60px;
}


#consultingSlider{
	width: calc(100% - 10px);
	margin: 0 auto;
}

/* slider */



/* Slickスライダーの矢印をカスタマイズ */
/* 共通スタイル */
#consultingSlider .slick-arrow {
    position: absolute;
    z-index: 1;
    font-size: 0; /* 既存のテキストを隠す */
    line-height: 0;
    width: 90px; /* 矢印の幅 */
    height: 35px; /* 矢印の高さ */
    background-size: contain; /* 背景画像をコンテナ内に収める */
    background-repeat: no-repeat; /* 背景画像を繰り返さない */
    background-position: center; /* 背景画像を中央に配置 */
    border: none; /* ボーダーを削除 */
}

/* 左矢印 */
#consultingSlider .slick-prev {
    top: auto;
    bottom: -80px;
    left: 0;
    background-image: url('../images/service/consulting_prev.svg'); /* 左矢印の画像 */
}

#consultingSlider .slick-prev:active {
    background-image: url('../images/service/consulting_prev_on.svg'); /* 左矢印の画像 */
}

#consultingSlider.en .slick-prev {
    background-image: url('../images/service/consulting_prev_en.svg'); /* 左矢印の画像 */
}

#consultingSlider.en .slick-prev:active {
    background-image: url('../images/service/consulting_prev_on_en.svg'); /* 左矢印の画像 */
}

#consultingSlider .slick-prev:before {
    display: none; /* 既存の矢印を非表示にする */
}

/* 右矢印 */
#consultingSlider .slick-next {
    top: auto;
    bottom: -80px;
    right: 0;
    background-image: url('../images/service/consulting_next.svg'); /* 右矢印の画像 */
}

#consultingSlider .slick-next:active {
    background-image: url('../images/service/consulting_next_on.svg'); /* 右矢印の画像 */
}

#consultingSlider.en .slick-next {
    background-image: url('../images/service/consulting_next_en.svg'); /* 左矢印の画像 */
}

#consultingSlider.en .slick-next:active {
    background-image: url('../images/service/consulting_next_on_en.svg'); /* 左矢印の画像 */
}

#consultingSlider .slick-next:before {
    display: none; /* 既存の矢印を非表示にする */
}

.slick-arrow.slick-disabled{
	display: none !important;
}


.coreSec.point .pointList li{
	text-indent: -1em;
	margin-left: 1em;
}

.lang_en .coreSec.point .pointList li{
	text-indent: -1.2em;
	margin-left: 1em;
}

.lang_en #compassBg .compassSec ul li.functionItem h4 span{
	display: block;
}


/*add*/
.coreSec .txt .btn{
	text-indent: 0 !important;
	padding-top: 48px;
}

.coreSec .btn a{
	font-family: ryo-gothic-plusn;
	text-align: center;
	font-size: 15px;
	font-style: normal;
	font-weight: 500;
	line-height: 130%; /* 19.5px */
	letter-spacing: 0.45px;
	border-radius: 5px;
	border: 1px solid #0E1737;
	background: #ECECEC;
	padding: 10px 65px;
	transition: all .5s;
	display: inline-block;
	box-shadow: 9px 6px 17px 0px #B9B9B9, -9px -6px 17px 0px #FFF, -9px 6px 17px 0px rgba(236, 236, 236, 0.25), 9px -6px 17px 0px rgba(236, 236, 236, 0.25);

}

.lang_en .coreSec .btn a{
	color: #0E1737;
	text-align: center;
	font-family: "Sofia Sans";
	font-size: 15px;
	font-style: normal;
	font-weight: 500;
	line-height: 130%; /* 19.5px */
	letter-spacing: 0.45px;
	border-radius: 5px;
	border: 1px solid #0E1737;
	background: #ECECEC;
	padding: 10px 65px;
	transition: all .5s;
	display: inline-block;
	box-shadow: 9px 6px 17px 0px #B9B9B9, -9px -6px 17px 0px #FFF, -9px 6px 17px 0px rgba(236, 236, 236, 0.25), 9px -6px 17px 0px rgba(236, 236, 236, 0.25);

}




.coreSec .btn a.pc:hover,
.coreSec .btn a.sp:active {
	background: #FFF;
	box-shadow: 0px 0px 17px 0px #859BBB;
}

.coreSec .btn a.pc:active{
	background: #FFF;
	box-shadow: 0px 0px 4px 0px #859BBB;
}

.coreSec .img .btn{
	display: none;
}


@media screen and (max-width: 1440px) {
	
	.coreSec .txt .btn{
		display: none !important;
	}

	.coreSec .img .img{
		float: none;
	}

	.coreSec .img .btn{
		padding-top: 20px;
			display: block;
			width: 100%;
		max-width: 400px;
		text-align: center;
		float: right;
		}

}

@media screen and (max-width: 767px) {
	.coreSec .img .btn a{
		width: 100%;
		max-width: 290px;
		padding-left: 0;
		padding-right: 0;
	}
}


/*add*/

#coreContents > div:nth-child(1) > div.coreSec.pdf > ul > li:nth-child(1) > img{
	margin-bottom: -2px;
}