.l-inner {
	max-width: 156rem;
}

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

.f_view {
	width:100%;
	position:relative;
	padding-top:13rem;
	padding-bottom:13rem;
}

.f_view_inner {
	width:100%;
	max-width:156rem;
	margin:0 auto;
	padding:0 2rem;
}

.f_txt {
	margin-top:11rem;
}

.f_txt h2 {
	font-size:11.5rem;
	font-weight:900;
	color:var(--blueblack);
	letter-spacing: 0;
	line-height:1.15;
}

.f_txt h2::before {
	content:attr(data-en);
	display: block;
	font-size:5rem;
	font-weight:900;
	font-family: var(--jost);
	color:var(--blueblack);
	line-height:1;
	margin-bottom:0.65em;
}

.f_txt .f_small {
	font-size:7.4rem;
}

.f_txt .txt_gradation {
	font-size:14.5rem;
	letter-spacing: -0.015em;
}

.f_txt .txt_gradation .__small {
	font-size:13.4rem;
}

.f_txt p {
	font-size:3.3rem;
	font-weight:900;
	color:var(--blueblack);
	margin-top:4rem;
}

.f_scroll {
	margin-top:10rem;
}

.f_scroll span {
	display:inline-block;
	margin-left:23rem;
	font-size:1.7rem;
	font-weight:900;
	color:var(--orange);
	position:relative;
}

.f_scroll span::before,
.f_scroll span::after {
	content:"";
	display: block;
	background:var(--orange);
	position:absolute;
	left:0;
	right:0;
	margin:0 auto;
}

.f_scroll span::before {
	width:2.3rem;
	height:2.3rem;
	border-radius:50%;
	top:calc(100% + 1.2rem);
}

.f_scroll span::after {
	width:.3rem;
	height:35rem;
	top:calc(100% + 1.4rem);
	transform:scale(1,0);
	transition:transform .3s;
	transform-origin:top center;
}

.f_scroll span.active::after {
	transform:scale(1,1);
}

/*-------------------------------
	f_bg
-------------------------------*/

.f_bg {
	width:100%;
	position:fixed;
	top:13rem;
	left:0;
	z-index:-1;
}

.f_bg .f_view_inner {
	max-width:calc(192rem - 11rem);
}

.f_slider {
	width:91.4rem;
	margin-left:auto;
	position:relative;
}

.f_slider .swiper-slide {
    width: 100%;
    height: 100%;
	overflow:hidden;
}

.f_slider .swiper-slide figure {
    width: 100%;
    height: 100%;
}
.f_slider.swiper-slide figure img{
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.f_slider .swiper-slide-next .slide-media {
	clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
	
}
.f_slider .swiper-slide-active .slide-media {
	clip-path: polygon(100% 0,0 0, 0 100%, 100% 100%);
	transition: clip-path 1s cubic-bezier(0.25, 0.1, 0.25, 1);
}

.slider-progress {
	margin:2.5rem 0 0 auto;
	width: 15rem;
	height: .6rem;
	background:var(--orange);
}

.slider-progress__bar {
	width: 0;
	height: 100%;
	background: var(--blue);
}

.slider-progress__bar.is-active {
  animation: progressBar 4s linear forwards;
}

@keyframes progressBar {
  from {
    width: 0;
  }
  to {
    width: 100%;
  }
}

/*-------------------------------
	fv anime img
-------------------------------*/

.triangle_anime {
	position:absolute;
	right:0;
	top:0;
	width:100%;
	height:100%;
}

.triangle_anime .tri_img01 {
	/* min(1357 / 1680 *100vw) */
	width:min(80.7vw,135.7rem);
	position:absolute;
	top:2rem;
	right:-25.7rem;
	transform: translate(100%, -80%) scale(0.75,0.75);
}

.triangle_anime .tri_img02 {
	width:min(84vw,141rem);
	position:absolute;
	top:36rem;
	right:-23rem;
	transform: translate(-50%, 80%) scale(0,0);
}

.is-mv-animated .triangle_anime .tri_img01 {
  -webkit-animation: anime1mv 0.8s ease forwards;
          animation: anime1mv 0.8s ease forwards;
}

.is-mv-animated .triangle_anime .tri_img02 {
  -webkit-animation: anime2mv 0.8s ease forwards;
          animation: anime2mv 0.8s ease forwards;
}


@keyframes anime1mv {
	0% {
		transform: translate(100%, -80%) scale(0.75,0.75);
	}
	100% {
		transform: translate(0, 0) scale(1,1);
	}
} /* end anime1mv */

@keyframes anime2mv {
	0% {
		transform: translate(-50%, 80%) scale(0,0);
	}
	100% {
		transform: translate(0, 0) scale(1,1);
	}
} /* end anime2mv */

/*-------------------------------
	c line anime
-------------------------------*/

.c_line_anime {
  pointer-events: none;
}

.c_line_anime .__lines {
  position: absolute;
  top:0;
  width: 50%;
  height: 100%;
 /* z-index: 5; */
}

.c_line_anime .__lines.--left {
  left: 0%;
}

.c_line_anime .__lines.--right {
  left: 50%;
}

.c_line_anime .__line {
  position: absolute;
}

.c_line_anime .__line div {
  width: 0;
  height: 100%;
}

.__line01 {
	width: 18.8rem;
	height: 1.6rem;
	top:82%;
	left:4.7%;
}

.__line02 {
	width:12.6rem;
	height:1rem;
	top:91%;
	left:10.4%;
}

.__line03 {
	width: 18.8rem;
	height: 1.2rem;
	top:-23%;
	right:-3%;
}

.__line04 {
	width: 13.2rem;
	height: .8rem;
	top:-18%;
	right:9%;
}

.__line05 {
	width: 18.4rem;
	height: 1rem;
	top:-8%;
	right:23%;
}

.__line06 {
	width: 27.2rem;
	height: 1.8rem;
	top:-13%;
	right:6%;
}

.__line07 {
	width: 13.2rem;
	height: .8rem;
	top:-4%;
	left:1%;
}

.__line08 {
	width: 18.4rem;
	height: 1.2rem;
	top:-6%;
	left:7%;
}

.__line01 div,
.__line04 div,
.__line05 div {
	animation-delay: 0.5s !important;
}

.__line02 div,
.__line03 div,
.__line06 div {
	animation-delay: 0.3s !important;
}


.c_line_anime .__line.--gradation div {
	background: linear-gradient(90deg,var(--blue) 0%, var(--orange) 100%);
}

.c_line_anime .__line.--gradation2 div {
	background: linear-gradient(90deg, var(--orange) 0%, var(--blue) 100%);
}

.c_line_anime .__line.--orange div {
  background-color: var(--orange);
}

.c_line_anime .--left .__line {
  -webkit-transform: rotate(46deg);
          transform: rotate(46deg);
}

.c_line_anime .--right .__line {
  -webkit-transform: rotate(-46deg);
          transform: rotate(-46deg);
}

.c_line_anime .is-animated.--left .__line div {
	transform-origin:left;
	-webkit-animation: toRight 0.5s ease forwards;
          animation: toRight 0.5s ease forwards;
}

.c_line_anime .is-animated.--right .__line div {
	transform-origin:right;
	-webkit-animation: toLeft 0.3s ease forwards;
          animation: toLeft 0.3s ease forwards;
}

@keyframes toLeft {
  0% {
    width: 0%;
    -webkit-transform: translateX(40rem);
            transform: translateX(40rem);
  }
  100% {
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes toRight {
  0% {
    width: 0%;
    -webkit-transform: translateX(-20rem);
            transform: translateX(-20rem);
  }
  100% {
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}



/*-------------------------------
	sec
-------------------------------*/

.sec_txt p {
	font-size:2.2rem;
}

/*-------------------------------
	list link
-------------------------------*/

.list_link {
	width:100%;
	max-width:55rem;
	padding-left:3rem;
}

.list_link_ul li a {
	display: block;
	padding:2rem 8rem 2rem 0;
	font-size:2.2rem;
	font-weight:700;
	border-bottom:.3rem solid var(--orange);
}

.list_link .btn {
	margin:7rem 0 0 auto;
}

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

.message_txt {
	width:45%;
	max-width:68.4rem;
	margin-top:10rem;
}

.message_txt h2 {
	font-size:5.2rem;
	color:var(--white);
	margin-bottom:4rem;
}

.message_txt p {
	font-size:2.4rem;
	font-weight:900;
	color:var(--white);
}

.message_txt p:not(:last-of-type) {
	margin-bottom:1em;
}

.message_img {
	width:50.5%;
	max-width:76.5rem;
}

.message_bottom {
	margin-top:9rem;
}

.message_bottom p {
	color:var(--white);
	font-size:7.8rem;
	font-weight:900;
	letter-spacing: 0;
	line-height:1.25;
}

.message_bottom p span {
	font-size:10.8rem;
	letter-spacing: -0.1em;
}

/*-------------------------------
	mission	
-------------------------------*/

.sec_mission {
	padding:38rem 0 0rem;
	background:var(--color-bg);
	margin-top:-24.5rem;
}

/*
.sec_mission::after {
	content:"";
	display: block;
	width:100%;
	height:56rem;
	background:url(../images/top_bg_mission.jpg) no-repeat center / cover;
	position:relative;
}
*/

.sec_mission .l-inner {
	position:relative;
}

.mission_flex {
	padding-bottom:12rem;
}

.mission_txt {
	width:50%;
}

.mission_txt .h_title {
	margin-bottom:2rem;
}

.mission_flex .list_link {
	margin-top:6rem;
}

.mission_flex .list_link .btn {
	width:26.4rem;
	margin:7rem 7rem 0 auto;
}

.loop_slider_wrap {
	width:100%;
	position:relative;
	overflow:hidden;
}

.loop_slide_flex {
	display:flex;
}

.loop_slide {
	display:flex;
}

.loop_slide.__left {
	animation: loop_slide_left 20s infinite linear .5s both;
}

.loop_slide.__right {
	animation: loop_slide_right 20s infinite linear .5s both;
}

.loop_slide_img {
	width:42.8rem;
	height:28rem;
}

@keyframes loop_slide_left {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-100%);
}

}/* end loop_slide_left */

@keyframes loop_slide_right {

from {
	transform: translateX(-100%);
}

to {
	transform: translateX(0);
}

}/* end loop_slide_left */

/*-------------------------------
	vision	
-------------------------------*/

.sec_vision {
	background:var(--white);
	padding:20rem 0 32.5rem;
	position:relative;
}

.sec_vision::after {
	content:"";
	display: block;
	width:51.4%;
	/* max-width:98.5rem; */
	height:84.5rem;
	background:url(../images/top_bg_vision.png) no-repeat center right / cover;
	position:absolute;
	left:0;
	top:20rem;
}

.vision_txt {
	width:50%;
	max-width:75rem;
	margin-left:auto;
	margin-top:3.5rem;
}

.sec_vision .list_link {
	margin-left:auto;
	margin-top:3rem;
}

/*-------------------------------
	person
-------------------------------*/

.sec_person {
	padding:33rem 0 30rem;
	margin-top:-22rem;
	background:var(--color-bg);
	clip-path: polygon(0 8%, 100% 0%, 100% 92%, 0% 100%);
}

.sec_person .l-inner {
	position:relative;
}

.person_flex {
	margin-bottom:9rem;
}

.crosstalk_txt {
	padding:7rem 0 0rem;
	position:relative;
	margin-bottom:16rem;
}

.crosstalk_txt::before {
	content:"";
	display: block;
	width:72%;
	height:54rem;
	background:url(../images/top_bg_crosstalk.jpg) no-repeat center / cover;
	position:absolute;
	right:0;
	top:0;
}

.crosstalk_txt .h_title {
	margin-bottom:1.25em;
}

.crosstalk_txt p {
	position:relative;
}

.crosstalk_txt p span {
	font-weight:900;
	font-size:4.3rem;
	padding:0 0.5em;
	display: inline-block;
	line-height:1.5;
}

.crosstalk_txt p span:not(:last-of-type) {
	margin-bottom:0.5em;
}

.block_crosstalk .btn {
	margin:0 auto;
}

.block_interview {
	padding:14rem 0 0;
}

.block_interview .h_title {
	margin-bottom:1.75em;
}

.interview_slide .swiper-slide {
	width:38.4rem;
	margin-right:4rem;
}

.interview_slide .slide-content {
	padding:2rem 2rem 0;
}

.interview_slide .slide-content h4 span {
	font-weight:700;
	font-size:2rem;
	padding:0 0.5em;
	line-height:1.5;
	display: inline-block;
	min-width:16.6rem;
}

.interview_slide .slide-content p {
	font-size:2.4rem;
	font-weight:700;
}

.interview_slide .arrow_link::after {
	width:4.8rem;
	height:4.8rem;
	right:2rem;
}

.interview_slide .swiper-slide:hover .arrow_link::after {
	right:0rem;
}

/*-------------------------------
	sec more
-------------------------------*/

.sec_more {
	background:var(--white);
	padding:28rem 0 23rem;
	margin-top:-22rem;
}

.sec_more .l-inner {
	position:relative;
}

.sec_more .__lines.--right {
	left:0;
}

.sec_more .h_title {
	margin-bottom:2em;
}

.more_block {
	width:50%;
	margin-bottom:7rem;
}

.more_img {
	width:calc(78.8rem / 76rem * 100%);
	position:relative;
	left:-6rem;
}

.more_caption {
	margin-top:-4rem;
	position:relative;
}

.more_caption h3 span {
	font-size:3.3rem;
	font-weight:900;
	line-height:1.5;
	padding:0 0.5em;
	display: inline-block;
}

.more_txt {
	margin-top:2rem;
	padding-right:14rem;
}

.more_txt h4 {
	font-size:4.2rem;
	font-weight:900;
	margin-bottom:0.5em;
}

.more_txt p {
	font-size:2.2rem;
}

.more_txt.arrow_link::after {
	width:5.8rem;
	height:5.8rem;
	right:10.6rem;
	margin:0;
	bottom:auto;
	top:2rem;
}

.more_block a:hover .more_txt.arrow_link::after {
	right:8.6rem;
}

/*-------------------------------
	gallery
-------------------------------*/

.sec_gallery {
	margin-top:-25rem;
	background:var(--orange);
	padding:25rem 0 20rem;
	clip-path: polygon(0 16%, 100% 0%, 100% 100%, 0% 100%);
}

.sec_gallery h2 {
	font-size:4.5rem;
	font-weight:900;
	text-align: center;
	color:var(--white);
	line-height:1.35;
	transform:rotate(-7.8deg);
	margin-bottom:4rem;
}

.sec_gallery h2 span {
	display: inline-block;
	font-size:11rem;
	padding:0 16.5rem;
	position:relative;
}

.sec_gallery h2 span::before,
.sec_gallery h2 span::after {
	content:"";
	display: block;
	width:13rem;
	height:.8rem;
	background:var(--white);
	position:absolute;
	top:0;
	bottom:0;
	margin:auto 0;
}

.sec_gallery h2 span::before {
	left:0;
}

.sec_gallery h2 span::after {
	right:0;
}

.sec_gallery .btn {
	margin:7rem auto 0;
}

.sec_gallery .btn span {
	border-color:var(--white);
}

.gallery_wrapper {
	width: 110%;
	display:flex;
	align-items: center;
	overflow: hidden;
	transform:rotate(-7.8deg);
	position:relative;
	left:-5%;
}

.ticker_track {
	display: flex;
	align-items: center;
	will-change: transform;
	animation: scroll-left 20s infinite linear .5s both;
}

/* 各スライド */
.gallery_img {
	width: 47.2rem;
	position:relative;
	margin-right:2rem;
}

.gallery_img img {
	width:54.2rem;
	height:auto;
	max-width:none;
}

@keyframes scroll-left {

	0% {
    	transform: translateX(0);
	}

	100% {
		transform: translateX(-100%);
	}
} /* end keyframes */

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

.common_message {
	margin-top:-22rem;
}

/*-------------------------------
	responsive
-------------------------------*/
@media screen and (max-width: 1260px) {

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

.f_scroll span {
	font-size:2rem;
}

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

.message_bottom p {
	font-size:7.4rem;
}

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

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

.f_scroll span {
	font-size:2.4rem;
}

.slider-progress {
	height: 1rem;
}

/*-------------------------------
	sec
-------------------------------*/

.sec_txt p {
	font-size:2.2rem;
}

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

.message_txt p {
	font-size:2.4rem;
}

/*-------------------------------
	list link
-------------------------------*/

.list_link_ul li a {
	font-size:2.6rem;
}

/*-------------------------------
	mission	
-------------------------------*/

.mission_flex .list_link .btn {
	width:31.6rem;
	margin:8.4rem 8.4rem 0 auto;
}

/*-------------------------------
	person
-------------------------------*/

.interview_slide .slide-content h4 span {
	font-size:2.2rem;
}

.interview_slide .slide-content p {
	font-size:2.6rem;
}

/*-------------------------------
	sec more
-------------------------------*/

.more_txt p {
	font-size:2.2rem;
}

} /* end 960px */
} /* end 1260px */

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


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

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

.l-inner {
	max-width: 100%;
}

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

.f_view {
	width:100%;
	padding-top:10rem;
	padding-bottom:8rem;
	position:relative;
}

.f_view_inner {
	width:100%;
	max-width:100%;
	padding:0 1.5rem;
}

.f_txt {
	margin-top:1rem;
}

.f_txt h2 {
	font-size:5rem;
	line-height:1.15;
}

.f_txt h2::before {
	font-size:2rem;
	margin-bottom:0.65em;
}

.f_txt .f_small {
	font-size:3.4rem;
}

.f_txt .txt_gradation {
	font-size:6.4rem;
	letter-spacing: -0.075em;
}

.f_txt .txt_gradation .__small {
	font-size:6rem;
}

.f_txt p {
	font-size:1.8rem;
	margin-top:0.5rem;
}

.f_scroll {
	margin-top:27rem;
	margin-left:-1.5rem;	
}

.f_scroll span {
	display:inline-block;
	margin-left:0;
	font-size:1.2rem;
	transform:rotate(-90deg);
	left:-1.5rem;
	padding-left:2.2rem;
}

.f_scroll span::before,
.f_scroll span::after {
	content:"";
	display: block;
	background:var(--orange);
	position:absolute;
	left:0;
	right:auto;
	margin:0;
}

.f_scroll span::before {
	width:1.6rem;
	height:1.6rem;
	top:.4rem;
}

.f_scroll span::after {
	width:21rem;
	height:.2rem;
	top:1.1rem;
	left:auto;
	right:calc(100%);
	transform:scale(0,1);
	transition:transform .3s;
	transform-origin:center right;
}

.f_scroll span.active::after {
	transform:scale(1,1);
}

/*-------------------------------
	f_bg
-------------------------------*/

.f_bg {
	top:10rem;
	left:0;
	z-index:-1;
}

.f_bg .f_view_inner {
	max-width:100%;
	padding:0;
}

.f_slider {
	width:35rem;
	margin-top:23rem;
	margin-left:5rem;
	position:relative;
}

.slider-progress {
	margin:1.5rem 4rem 0 auto;
	width: 7.2rem;
	height: .3rem;
}

/*-------------------------------
	fv anime img
-------------------------------*/

.triangle_anime .tri_img01 {
	width:49.7rem;
	top:15rem;
	right:-15.6rem;
	transform: translate(100%, -80%) scale(0.75,0.75);
}

.triangle_anime .tri_img02 {
	width:51.6rem;
	position:absolute;
	top:27.5rem;
	right:-14.5rem;
	transform: translate(-50%, 80%) scale(0,0);
}

.is-mv-animated .triangle_anime .tri_img01 {
  -webkit-animation: anime1mv 0.8s ease forwards;
          animation: anime1mv 0.8s ease forwards;
}

.is-mv-animated .triangle_anime .tri_img02 {
  -webkit-animation: anime2mv 0.8s ease forwards;
          animation: anime2mv 0.8s ease forwards;
}


@keyframes anime1mv {
	0% {
		transform: translate(100%, -80%) scale(0.75,0.75);
	}
	100% {
		transform: translate(0, 0) scale(1,1);
	}
} /* end anime1mv */

@keyframes anime2mv {
	0% {
		transform: translate(-50%, 80%) scale(0,0);
	}
	100% {
		transform: translate(0, 0) scale(1,1);
	}
} /* end anime2mv */

/*-------------------------------
	c line anime
-------------------------------*/

.c_line_anime {
  pointer-events: none;
}

.c_line_anime .__lines {
  position: absolute;
  top:0;
  width: 50%;
  height: 100%;
 /* z-index: 5; */
}

.c_line_anime .__lines.--left {
  left: 0%;
}

.c_line_anime .__lines.--right {
  left: 50%;
}

.c_line_anime .__line {
  position: absolute;
}

.c_line_anime .__line div {
  width: 0;
  height: 100%;
}

.__line01 {
	width: 9.6rem;
	height: 1rem;
	top:92%;
	left:15%;
}

.__line02 {
	width:6.4rem;
	height:0.5rem;
	top:100%;
	left:31%;
}

.__line03 {
	width: 12.4rem;
	height: .8rem;
	top:-13%;
	right:0%;
}

.__line04 {
	width: 9rem;
	height: .6rem;
	top:-10%;
	right:31%;
}

.__line05 {
	width: 9.6rem;
	height: 0.5rem;
	top:auto;
	bottom:12%;
	right:33%;
	z-index:1;
}

.__line06 {
	width: 13.6rem;
	height: 0.8rem;
	top:auto;
	bottom:25%;
	right:0%;
	z-index:1;
}

.__line07 {
	width: 9.2rem;
	height: .5rem;
	top:-5%;
	left:2%;
}

.__line08 {
	width: 12.8rem;
	height: .8rem;
	top:-6%;
	left:14%;
}

@keyframes toLeft {
  0% {
    width: 0%;
    -webkit-transform: translateX(40rem);
            transform: translateX(40rem);
  }
  100% {
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

@keyframes toRight {
  0% {
    width: 0%;
    -webkit-transform: translateX(-20rem);
            transform: translateX(-20rem);
  }
  100% {
    width: 100%;
    -webkit-transform: translateX(0);
            transform: translateX(0);
  }
}

/*-------------------------------
	sec
-------------------------------*/

.sec_txt p {
	font-size:1.4rem;
}

/*-------------------------------
	list link
-------------------------------*/

.list_link {
	width:100%;
	max-width:100%;
	padding-left:0rem;
	margin:3rem auto 0;
}

.list_link_ul {
	max-width:26rem;
	margin-left:auto;
}

.list_link_ul li a {
	display: block;
	padding:1.7rem 3rem 0.2rem 0;
	font-size:1.6rem;
	border-width:.2rem;
}

.list_link_ul li a::after {
	top:0.5em;
}

.list_link .btn {
	margin:4.8rem auto 0;
}

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

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

.message_txt h2 {
	font-size:3rem;
	text-align: center;
	margin-bottom:1rem;
}

_::-webkit-full-page-media, _:future, :root .message_txt h2 {
	letter-spacing: -0.01em;
}

.message_txt p {
	font-size:1.4rem;
}

.message_txt p:not(:last-of-type) {
	margin-bottom:1.75em;
}

.message_img {
	width:100%;
	max-width:100%;
}

.message_bottom {
	margin-top:-2.5rem;
}

.message_bottom p {
	font-size:3.4rem;
	padding-left:0.5rem;
}

.message_bottom p span {
	font-size:5.6rem;
	letter-spacing: 0em;
}

/*-------------------------------
	mission	
-------------------------------*/

.sec_mission {
	padding:12rem 0 0rem;
	margin-top:-5rem;
}

.sec_mission::after {
	width:100%;
	height:49.2rem;
	background:url(../images/top_bg_mission_sp.jpg) no-repeat center / cover;
}

.mission_flex {
	padding-bottom:6.5rem;
}

.mission_txt {
	width:100%;
}

.mission_txt .h_title {
	margin-bottom:2rem;
}

.mission_flex .list_link {
	margin-top:6rem;
}

.mission_flex .list_link .btn {
	width:100%;
	margin:4.8rem auto 0;
}

.loop_slide.__left {
	animation: loop_slide_left 20s infinite linear .5s both;
}

.loop_slide.__right {
	animation: loop_slide_right 20s infinite linear .5s both;
}

.loop_slide_img {
	width:21.8rem;
	height:14.3rem;
}

@keyframes loop_slide_left {

from {
	transform: translateX(0);
}

to {
	transform: translateX(-100%);
}

}/* end loop_slide_left */

@keyframes loop_slide_right {

from {
	transform: translateX(-100%);
}

to {
	transform: translateX(0);
}

}/* end loop_slide_left */


/*-------------------------------
	vision	
-------------------------------*/

.sec_vision {
	padding:7rem 0 11rem;
	position:relative;
}

.sec_vision::after {
	width:100%;
	height:32.2rem;
	position:relative;
	left:-2rem;
	top:auto;
	margin-top:6rem;
}

.vision_txt {
	width:100%;
	max-width:100%;
	margin-left:0;
	margin-top:0;
}

.sec_vision .list_link {
	margin-left:auto;
	margin-top:2rem;
}

.sec_vision .c_line_anime .__lines {
	height:15rem;
	top:auto;
	bottom:0;
}

/*-------------------------------
	person
-------------------------------*/

.sec_person {
	padding:13rem 0 13rem;
	margin-top:-4.5rem;
	clip-path: polygon(0 2%, 100% 0%, 100% 98%, 0% 100%);
}

.person_flex {
	margin-bottom:10rem;
}

.person_flex p,
.person_flex .btn_wrap {
	width:100%;
}

.person_flex .btn_wrap {
	margin:6rem auto 0;
}

.crosstalk_txt {
	padding:0;
	margin-bottom:5rem;
}

.crosstalk_txt::before {
	width:37.5rem;
	height:30rem;
	background:url(../images/top_bg_crosstalk.jpg) no-repeat center / cover;
	position:absolute;
	right:-1.5rem;
	top:10.5rem;
}

.crosstalk_txt .h_title {
	margin-bottom:30rem;
}

.crosstalk_txt p {
	position:relative;
	width:calc(100% + 3rem);
	left:-1.5rem;
}

.crosstalk_txt p span {
	font-size:2.2rem;
	padding:0.5em 0.65em;
}

.crosstalk_txt p span:not(:last-of-type) {
	margin-bottom:0.5em;
}

.crosstalk_txt p span:nth-of-type(2) {
	margin-bottom:1em;
}

.block_interview {
	padding:17rem 0 0;
}

.block_interview .h_title {
	margin-bottom:1em;
}

.interview_slide .swiper-slide {
	width:27.7rem;
	margin: 0 0.9rem 0;
}

.interview_slide .slide-content {
	padding:2rem 0rem 0;
}

.interview_slide .slide-content h4 span {
	font-size:1.8rem;
	padding:0.25em 0.5em;
	min-width:15rem;
}

.interview_slide .slide-content p {
	font-size:2.6rem;
}

.interview_slide .arrow_link::after {
	width:3.8rem;
	height:3.8rem;
	right:0rem;
	top:auto;
	bottom:1rem;
	margin:0;
}

.interview_slide .swiper-slide:hover .arrow_link::after {
	right:0rem;
}

/*-------------------------------
	sec more
-------------------------------*/

.sec_more {
	background:var(--white);
	padding:15rem 0 10rem;
	margin-top:-5rem;
}

.sec_more .__lines.--right {
	left:0;
}

.sec_more .h_title {
	margin-bottom:1em;
}

.more_block {
	width:100%;
	margin-bottom:6rem;
}

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

.more_img {
	width:38.7rem;
	position:relative;
	left:0rem;
}

.more_caption {
	margin-top:-2rem;
	position:relative;
}

.more_caption h3 {
	position:relative;
	left:-1.5rem;
}

.more_caption h3 span {
	font-size:1.8rem;
	padding:0.5em 1.5rem;
}

.more_txt {
	margin-top:2.5rem;
	padding-right:0;
}

.more_txt h4 {
	font-size:2.2rem;
	margin-bottom:0.35em;
}

.more_txt p {
	font-size:1.4rem;
}

.more_txt.arrow_link::after {
	width:3.8rem;
	height:3.8rem;
	right:0;
	margin:0;
	bottom:auto;
	top:0.5rem;
}

.more_block a:hover .more_txt.arrow_link::after {
	right:0;
}

/*-------------------------------
	gallery
-------------------------------*/

.sec_gallery {
	margin-top:-5rem;
	padding:10rem 0 10rem;
	clip-path: polygon(0 6%, 100% 0%, 100% 100%, 0% 100%);
}

.sec_gallery h2 {
	font-size:2rem;
	transform:rotate(-7.8deg);
	margin-bottom:4rem;
}

.sec_gallery h2 span {
	font-size:3rem;
	padding:0;
	display: block;
}

.sec_gallery h2 span::before,
.sec_gallery h2 span::after {
	content:"";
	display: block;
	width:6rem;
	height:.2rem;
}

.sec_gallery h2 span::before {
	left:-4.2rem;
}

.sec_gallery h2 span::after {
	right:-4.2rem;
}

.sec_gallery .btn {
	margin:6rem auto 0;
}

.gallery_wrapper {
	width: 120%;
	left:-10%;
}

/* 各スライド */
.gallery_img {
	width: 29.7rem;
	position:relative;
	margin-right:1.1rem;
}

.gallery_img img {
	width:33.7rem;
	height:auto;
	max-width:none;
}

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

.common_message {
	margin-top:-4.5rem;
}

} /* end 767px */

