.txt_underline {
	border-bottom:2px solid #868686;
}

/*-------------------------------
	f view
-------------------------------*/

.f_view {
	width:100%;
}

.f_slider .f_slide {
	height:calc(100vh - 11rem);
	min-height:70rem;
	max-height:92.5rem;
	display: flex!important;
	align-items: flex-end;
}

.f_slider .f_slide_inner {
	width:100%;
	/*max-width:850px;*/
	max-width:80rem;
	position:relative;
}

.f_slider h2 {
	margin-left:10rem;
	margin-bottom:7rem;
}

.f_slider h2 span {
	display: inline-block;
	font-weight:900;
	font-size:5rem;
	letter-spacing: 0.015em;
	line-height:1.5;
}

.f_slider h2 span.bg_white {
	padding: 0.2em 0.5em;
	margin-top:0.25em;
}

.f_view_txt {
	padding:3.5rem 2rem 0 10rem;
}

.f_slide01 .f_view_txt {
	padding-bottom:2rem;
}
.f_slide02 .f_view_txt {
	padding-bottom: 0.9rem;
}

.f_view_txt h3 {
	font-size:3.4rem;
	font-weight:600;
	letter-spacing: 0.075em;
	margin-bottom:1em;
}

.f_view_txt .check_list {
	margin-bottom:3rem;
}

.f_view_txt .check_list li {
	font-size:2.2rem;
}

.f_slide01 .f_view_txt p {
	padding-left:3.5em;
	letter-spacing: 0.02em;
	font-size:2.2rem;
	position:relative;
}

.f_slide01 .f_view_txt p::before {
	content:"";
	display: block;
	width:6rem;
	height:0.2rem;
	background:#000;
	position:absolute;
	left:0;
	top:0.85em;
}

.f_slider .f_slide::before {
	content:"";
	display: block;
	width:100%;
	height:100%;
	position:absolute;
	left:0;
	top:0;
}

.f_slider .f_slide01::before {
	background:url(../images/bg_fslide01.jpg) no-repeat center / cover;
}

.f_slider .f_slide02::before {
	background:url(../images/bg_fslide02.jpg) no-repeat center / cover;
}


.slick-dotted.slick-slider {
	margin-bottom:0;
}

.slick-dots {
	width:auto;
	bottom:2rem;
	left:auto;
	right:20rem;
}

.slick-dots li {
	margin:0 0.5rem;
}

.slick-dots li button {
	width:2.5rem;
	height:2.5rem;
	border:0.2rem solid #ee5400;
	background:#fff;
	border-radius:50%;
	padding:0;
	margin:0;
	position:relative;
}

.slick-dots li button::before {
	width:0.7rem;
	height:0.7rem;
	content:"";
	top:0;
	left:0;
	right:0;
	bottom:0;
	margin:auto;
	opacity:0;
	padding:0;
	border-radius:50%;
	transition:opacity .2s;
}

.slick-dots li button:hover::before,
.slick-dots li.slick-active button::before {
	background:#ee5400;
}

.slick-dots li button:hover::before,
.slick-dots li.slick-active button::before {
	opacity: 1 !important;
}

/*-------------------------------
	message
-------------------------------*/

.message {
	padding:10rem 0 0 0;
}

.message .h_title_center::before {
	opacity:.7;
}

.message_wrap {
	position:relative;
	max-width:170rem;
	margin:0 auto;
	padding-left:10rem;
}

@media screen and (min-width:1890px) {
	
.message_wrap {
	max-width:189rem;
	padding-left:19.5rem;
}

}/* end over 1890px */

.message .affe_img {
	width:50%;
	max-width:80rem;
    margin-right: calc(50% - 47vw);
	object-position:top center;
	position: relative;
	z-index: 1;
}

@media screen and (min-width:1890px) {
	
	.message .affe_img {
		margin-right: 0;
	}
}/* end over 1890px */
.message .affe_txt {
	width:50%;
	max-width:790px;
	padding-right:3rem;
	padding-bottom:26rem;
}

.message .affe_txt h3 {
	font-size:4.5rem;
	/* letter-spacing: 0.075em; */
	line-height:1.5625;
	padding-bottom:1.2em;
	margin:1em 0 0.6em;
	position:relative;
}

.message .affe_txt h3::after {
	content:"";
	display: block;
	width:3.75em;
	height:0.2rem;
	background:#ee7800;
	position:absolute;
	bottom:0;
	left:0;
}

.message .affe_txt h4 {
	font-size:2.4rem;
	line-height:1.75;
	margin-bottom:2.9em;
	color: #333;
}

.message .affe_txt p {
	font-size:1.8rem;
	line-height:2;
	letter-spacing: 0.1em;
	font-weight:300;
}

.feature {
	margin-top:-13rem;
	position:relative;
	padding:8rem 0 7rem;
}

.feature::before {
	content:"";
	display: block;
	width:100%;
	height:100%;
	background:url(../images/bg_top_feauture.png) no-repeat center / cover;
	position:absolute;
	left:0;
	top:0;
	mix-blend-mode: overlay;
}

.feature .inner {
	position:relative;
}
.feature .h_title_left{
	margin-bottom: 3rem;
}
.fea_list li {
    width: calc((100% - (4.2rem* 2)) / 3);
    max-width: 480px;
    margin-bottom: 4.2rem;
    background: #fff;
    padding: 1.6em 0.8em;
	font-size:2.1rem;
	letter-spacing: 0.05em;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height:1.7;
}

/*-------------------------------
	service
-------------------------------*/

.service::before {
	content:"";
	display: block;
	width:100%;
	height:38rem;
	background:url(../images/bg_top_service.jpg) no-repeat center / cover;
	position:absolute;
	left: 0;
	top:0;
}

.service .inner {
	padding-top:4rem;
	position:relative;
}

.service .inner::before {
	content:"";
	display: block;
	width:calc(100% - 20rem);
	height:15rem;
	background:#f0f0f0;
	position:absolute;
	left: 0;
	right:0;
	top:29rem;
	margin:0 auto;
}

.service .h_title_center {
	padding-top:28rem;
	margin-bottom:10rem;
}

.service .h_title_center::before {
	font-size: clamp(5rem, 15.41vw, 26.2rem);
	top:-0.1em;
}

.ser_block {
	width:48%;
	margin-bottom:10rem;
}
.ser_block a{
	width: 100%;
}
.ser_img {
	position:relative;
}

.ser_img::before {
	content:attr(data-no);
	font-size:6rem;
	font-style:italic;
	color:#ee7800;
	position:absolute;
	left:-0.35em;
	top:-0.65em;
}

.ser_block .btn {
	max-width:36rem;
	height:9rem;
	line-height:9rem;
	margin:-6rem 0 3rem;
	padding:0 7rem 0 2rem;
}

.ser_block .btn::after {
	right:2.5rem;
}
/*------------hover ---*/
	.ser_block a:hover {
		opacity: .8;
	}
	.ser_block a:hover .btn_white span {
		color:#fff;
	}
	.ser_block a:hover .btn::before {
		transform:scale(1,1);
		transform-origin:left center;
	}
	.ser_block a:hover .btn_white::after {
		background:url(../images/arrow_white.png) no-repeat center / contain;
	}
.ser_txt {
	padding-right:12.5%;
}

.ser_txt p {
	font-size:1.8rem;
	font-weight:300;
	letter-spacing: 0.15em;
}

.support_wrap {
	margin:10rem 0 0 0;
}

.sup_block {
	margin-bottom:9rem;
}

.sup_block h3 {
	font-size:3rem;
	letter-spacing: 0.1em;
	position:relative;
	line-height:1.5;
	margin-bottom:1em;
}

.sup_block h3::before {
	content:attr(data-en);
	display: block;
	font-size:1.8rem;
	text-align:center;
	letter-spacing: 0.05em;
}

.sup_area {
	width:58%;
	max-width:870px;
}

.sup_industry {
	width:38%;
	max-width:545px;
}

.sup_child {
	border:1px solid #aeaeae;
	padding:2.2rem 2.5rem;
	position:relative;
}

.sup_child:not(:last-of-type) {
	margin-bottom:3.5rem;
}

.sup_child h4 {
	position:absolute;
	top:-0.75em;
	left:0;
	width:100%;
}

.sup_child h4 span {
	display: inline-block;
	font-size:2rem;
	letter-spacing: 0.075em;
	padding:0 0.5em;
	min-width:10em;
}

.sup_child p {
	font-size:1.8rem;
	font-weight:300;
}

/*-------------------------------
	link souzoku
-------------------------------*/

.link_souzoku {
	padding-left:3rem;
	position:relative;
}

.link_souzoku_icon {
	position:absolute;
	left:0;
	top:-1.8rem;
	width:14rem;
	height:14rem;
	background:url(../images/icon_octagon.png) no-repeat center / contain;
	transform:rotate(-8deg);
}

.link_souzoku h4 {
	line-height:1.35;
	text-align: center;
	font-size:1.9rem;
	letter-spacing: 0.075em;
}

.link_souzoku h4 span {
	font-size:2.6rem;
	letter-spacing: 0.075em;
	display: block;
}

.link_souzoku a {
	box-shadow: 0px 0px 20px 10px rgba(71,75,60, 0.08);
}

.link_souzoku_img {
	width:29%;
	min-height:26.4rem;
}

.link_souzoku_wrap {
	width:71%;
	background:#d2d9df;
	padding:5rem 0;
}

.link_souzoku_txt {
	width:90%;
	max-width:860px;
	margin:0 auto;
	height:100%;
	padding:0.4rem;
	background: rgb(242,149,0);
	background: linear-gradient(-54deg, rgba(242,149,0,1) 25%, rgba(130,194,203,1) 100%);
	position:relative;
}

.link_souzoku_txt_inner {
	background:#fff;
	width:100%;
	height:100%;
	position:relative;
	padding:1.5rem 2rem;
}

.link_souzoku_txt::before {
	content:"";
	display: block;
	width:calc(100% - 0.8rem);
	height:calc(100% - 0.8rem);
	position:absolute;
	left:0;
	top:0;
	right:0;
	bottom:0;
	margin:auto;
	background:#d2d9df;
}

.link_souzoku_txt h3 {
	line-height:2;
	text-align:center;
}

.link_souzoku_txt h3 span.icon_tab {
	font-size:3.2rem;
	letter-spacing: 0.075em;
}

.link_souzoku_txt h3 span.icon_tab::after {
	content:"";
	display: inline-block;
	width:0.78125em;
	height:0.78125em;
	background:url(../images/icon_tab.png) no-repeat center / contain;
	margin-left:0.25em;
}

.link_souzoku_txt h3 span {
	font-size:3rem;
	letter-spacing: 0.15em;
}

/*-------------------------------
	voice
-------------------------------*/

.voice {
	padding-top:4rem;
	padding-bottom:7.5rem;
}

.voice .inner,
.voice_slider_wrap {
	position:relative;
}

.voice::before {
	content:"";
	display: block;
	width:100%;
	height:calc(100% - 19rem);
	background:url(../images/bg_top_voice.jpg) no-repeat center / cover;
	position:absolute;
	left:0;
	top:0;
}

.voice .h_title_center {
	padding-top:8rem;
}

.voice .h_title_center::before {
	font-size:clamp(5rem, 16.117vw, 27.4rem);
	text-indent: 0.185em;
}

.voice .h_title_center span::before {
	text-indent: 0.14em;
}

.voice_slider .slick-track {
	display: flex;
}

.voice_slider .slick-slide > div {
	height:100%;
}

.voice_slider .slick-slide {
	height:auto!important;
}

.voice_slider li {
	max-width:94.2rem;
	height:100%;
	background:rgba(255,255,255,0.9);
	border-bottom:3px solid #333333;
	margin:0 3.5rem;
	padding:4rem 3rem;
}

.voice_slide_block .voice_img {
	width:28%;
	padding-top:1rem;
}

.voice_slide_block .voice_img figcaption {
	display: block;
	font-size:1.4rem;
	letter-spacing: 0.05em;
	line-height:1.75;
	margin-top:0.5em;
	font-weight:400;
	text-align: center;
}

.voice_slide_block .voice_txt {
	width:72%;
	padding-left:3rem;
}

.voice_slide_block .voice_txt h3 {
	font-size:2.6rem;
	line-height:1.385;
	min-height:2.75em;
	margin-bottom:0.5em;
}

.voice_slide_block .voice_txt p {
	font-weight:300;
	font-size:1.8rem;
}

/*-------------------------------
	flow
-------------------------------*/

.flow {
	padding:9rem 0 0 0;
}

.flow_head_txt {
	padding-left:5rem;
	padding-top:1.5rem;
}

.flow_head_txt p {
	letter-spacing: 0.1em;
	font-size:1.8rem;
}

.flow_step {
	padding-top:4.5rem;
}

.step_block {
	width:23%;
	max-width:348px;
	padding:5rem 2.5rem 3rem;
	position:relative;
	border:1px solid #333333;
	background:#fdf3ee;
	margin-bottom:10rem;
}

.step_block h4 {
	width:7.8rem;
	height:7.8rem;
	padding:1.5rem 1em 1em;
	background:#333;
	color:#fff;
	font-size:1.4rem;
	position:absolute;
	left:50%;
	top:-4.5rem;
	transform:translateX(-50%);
	letter-spacing: 0.05em;
	text-align: center;
}

.step_block h4 span {
	font-size:2.6rem;
	color:#fff;
	letter-spacing: 0;
	display: block;
	text-align:center;
}

.step_block h3 {
	font-size:2.2rem;
	letter-spacing: 0.1em;
	margin-bottom:1em;
	margin-top: 1em;
	font-weight: 400;
	font-family: 'Noto Sans JP', sans-serif;
}

.step_img {
	max-width:15.6rem;
	margin:0 auto 2rem;
}

.step_block p {
	font-size:1.8rem;
	font-weight:300;
}


/*-------------------------------

-------------------------------*/

/*-------------------------------

-------------------------------*/

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

/*-------------------------------
	ver.SmartPhone
-------------------------------*/

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

/*-------------------------------
	f view
-------------------------------*/

.f_view {
	width:100%;
}

.f_slider .f_slide {
	height:unset;
	min-height:auto;
	max-height:100%;
	position:relative;
}

.f_slider .f_slide_inner {
	width:100%;
	padding-top: 37rem;
	min-width:auto;
	position:relative;
}

.f_slider h2 {
	margin-top: -9em;
	margin-left:3rem;
	margin-bottom:3.5rem;
}

.f_slider h2 span {
	font-size:2.4rem;
}

.f_slide01 .f_view_txt {
	padding:2rem 2rem 0 2rem;
}
.f_slide02 .f_view_txt {
	padding:5rem 3rem 0 3rem;
}

.f_view_txt h3 {
	font-size:2.05rem;
}

.f_view_txt .check_list {
	margin-bottom:2rem;
}

.f_view_txt .check_list li {
	font-size:1.6rem;
}

.f_slide01 .f_view_txt p {
	font-size:1.8rem;
	line-height: 1.6;
}

.f_slide01 .f_view_txt p::before {
	width:3.5rem;
}

.f_slide01,
.f_slide02 {
	background:none;
}

.f_slider .f_slide::before {
	/*height:52%;*/
	height: 35rem;
}

.f_slider .f_slide01::before {
	background:url(../images/bg_fslide01-sp.jpg) no-repeat center / cover;
}

.f_slider .f_slide02::before {
	background:url(../images/bg_fslide02-sp.jpg) no-repeat center / cover;
}

.slick-dotted.slick-slider {
	margin-bottom:0;
}

.slick-dots {
	bottom:auto;
	top:36rem;
	right:50%;
	transform: translateX(50%);
	-webkit-transform: translateX(50%);
}

.slick-dots li {
	margin:0 0.5rem;
	width:2rem;
	height:2rem;
}

.slick-dots li button {
	width:2rem;
	height:2rem;
	border:2px solid #ee5400;
}

.slick-dots li button::before {
	width:0.5rem;
	height:0.5rem;
}

.f_view .btn span {
	font-size:1.8rem;
}

/*-------------------------------
	message
-------------------------------*/

.message {
	padding: 4rem 0 0 0;
}

.message_wrap {
	margin:0 auto;
	padding-left:2rem;
	padding-right:2rem;
}

.message .affe_img {
	width:90%;
	max-width:100%;
	margin:0 auto;
	order:-1;
}

.message .affe_txt {
	width:100%;
	max-width:100%;
	padding-right:0rem;
	padding-bottom:5rem;
}

.message .affe_txt h3 {
	font-size:2.15rem;
	font-weight: 700;
	line-height: 1.5;
}

.message .affe_txt h4 {
	font-size:1.85rem;
	color: #333;
	margin-bottom: 1.35em;
	line-height: 1.6;
	font-weight: 600;
}

.message .affe_txt p {
	font-size:1.6rem;
	line-height: 1.8;
}

.feature {
	margin-top: 0;
	padding:6rem 0 4rem;
}

.feature::before {
	background:url(../images/bg_top_feauture_sp.png) no-repeat center / cover;
}

.fea_list li {
	width:100%;
	max-width:100%;
	margin-bottom:1.5rem;
	font-size:1.6rem;
}

/*-------------------------------
	service
-------------------------------*/

.service::before {
	height:14rem;
}

.service .inner {
	padding-top:3rem;
}

.service .inner::before {
	width:calc(100% - 6rem);
	height:8rem;
	top:10rem;
	margin:0 auto;
}

.service .h_title_center {
	padding-top:6rem;
	margin-bottom:6rem;
}

.service .h_title_center::before {
	font-size: 5.5rem;
	top:-0.1em;
}


.ser_block {
	width:100%;
	margin-bottom:8rem;
}

.ser_img {
	height:19.5rem;
}

.ser_img::before {
	font-size:4rem;
}

.ser_block .btn {
	width:90%;
	max-width:100%;
	height:7rem;
	line-height:7rem;
	margin:-4rem 0 2.5rem;
	padding:0 4.5rem 0 1.5rem;
}

.ser_block .btn::after {
	right:1.5rem;
}

.ser_txt {
	padding-right:0;
}

.ser_txt p {
	font-size:1.6rem;
}

.support_wrap {
	margin:5rem 0 0 0;
}
.sup_area {
	width: 100%;
	max-width: 100%;
	margin-bottom: 5rem;
}
.sup_industry {
	width: 100%;
	max-width: 100%;
}
.sup_block {
	margin-bottom:5rem;
}

.sup_block h3 {
	font-size:2.4rem;
	margin-bottom:1.5em;
}

.sup_child {
	border:1px solid #aeaeae;
	padding:2rem 2rem;
}

.sup_child h4 span {
	font-size:1.8rem;
}

.sup_child p {
	font-size:1.6rem;
}

/*-------------------------------
	link souzoku
-------------------------------*/

.link_souzoku {
	padding-left:0rem;
	position:relative;
}

.link_souzoku_icon {
	width: 10rem;
	height: 10rem;
	top:-3.8rem;
	left:-1.5rem;
}

.link_souzoku a {
	box-shadow: 0px 0px 1rem 0.5rem rgba(71,75,60, 0.08);
}
.link_souzoku h4 {
	font-size: 1.6rem;
}
.link_souzoku h4 span {
	font-size: 2rem;
}
.link_souzoku_img {
	width:100%;
	height:18.2rem;
	min-height:auto;
}

.link_souzoku_wrap {
	width:100%;
	padding:3rem 0;
}

.link_souzoku_txt {
	padding:0.2rem;
}
.link_souzoku_txt_inner{
	background: #fff;
}

.link_souzoku_txt::before {
	width:calc(100% - 0.4rem);
	height:calc(100% - 0.4rem);
}

.link_souzoku_txt h3 {
	line-height:1.6;
}

.link_souzoku_txt h3 span.icon_tab {
	font-size:2rem;
}

.link_souzoku_txt h3 span {
	font-size:1.55rem;
}
.link_souzoku_txt h3 .pc_none {
	display: block;
	text-align: left;
}

/*-------------------------------
	voice
-------------------------------*/

.voice {
	padding-top:3rem;
	padding-bottom:6rem;
}

.voice::before {
	width:100%;
	height:75%;
}

.voice .h_title_center {
	padding-top:3rem;
}

.voice .h_title_center::before {
	font-size:6.5rem;
}

.voice_slider li {
	max-width:30rem;
	padding:2rem 2rem;
	border-width:0.3rem;
	margin:0 1rem;
}

.voice_slide_block .voice_img {
	width:100%;
	padding-top:0rem;
}

.voice_slide_block .voice_img figcaption {
	font-size:1.3rem;
}

.voice_slide_block .voice_txt {
	width:100%;
	padding-left:0rem;
	margin-top:2rem;
}

.voice_slide_block .voice_txt h3 {
	font-size:2rem;
	min-height:4.0em;
}

.voice_slide_block .voice_txt p {
	font-weight:300;
	font-size:1.6rem;
}
/*-------------------------------
	flow
-------------------------------*/

.flow {
	padding:6rem 0 0 0;
}

.flow_head_txt {
	width:100%;
	padding-left:0rem;
	padding-top:0rem;
	margin-bottom:3rem;
}

.flow_head_txt p {
	font-size:1.6rem;
	font-family: 'Noto Sans JP', sans-serif;
}

.step_block {
	width:100%;
	max-width:100%;
	padding:5rem 2.5rem 3rem;
}

.step_block h4 {
	width:7rem;
	height:7rem;
	font-size:1.4rem;
	top:-3.8rem;
}

.step_block h4 span {
	font-size:2.2rem;
}

.step_block h3 {
	font-size:2rem;
}

.step_img {
	max-width:14rem;
}

.step_block p {
	font-size:1.6rem;
}


} /* end 768px */
