@charset "utf-8";

/********************
* Project
********************/

.p-mv {
	/*position: absolute;*/
	position: relative;
	width: 100%;
	height: calc(var(--vh, 1vh) * 100);
	overflow: hidden;
}

.p-mv__main img,
.p-mv__main video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-mv__inner {
	width: 100%;
	height: 100%;
}

.p-mv__main {
	height:  100%;
}

.p-mv__scroll {
	position: absolute;
	width: min(22.4vw,168px);
	right: min(6.8vw,40px);
	bottom: min(14.2vw,80px);
	text-align: center;
	z-index: 2;
	mix-blend-mode: difference;
}

@media only screen and (min-width: 960px) {
    .p-mv__scroll {
    	right: min(4vw,40px);
    	bottom: min(10vw,100px);
    }
}

.p-mv__scroll a {
	position: relative;
	display: block;
}

.p-mv__scroll a:after {
	content: "";
	position: absolute;
	top: 50%;
	left: 50%;
	width: 18px;
	height: 28px;
	background: url(../img/common/icon-arrow.svg) no-repeat;
	background-size: 100%;
	transform: translate(-50%,-50%);
	animation: fluffy 3s infinite;
}

@keyframes fluffy {
	0% { transform: translate(-50%,-38%) }
	50% { transform: translate(-50%,-72%) }
	100% { transform: translate(-50%,-38%) }
}

.p-mv__scrollImg {
 	overflow: visible;
 	width: 120px;
 	animation: rotate 8s steps(200) infinite;
 	will-change: transform;
}

@keyframes rotate {
    from {
        transform: rotate(0deg);
    }
    to{
        transform: rotate(360deg);
    }
}

.p-mv__scrollImg path {
	fill: none;
}

.p-mv__scrollImg text {
	fill: #fff;
	letter-spacing: 0.05em;
	font-size: min(3.56vw, 13.6px);
	font-family: var(--font_family--en);
}

@media only screen and (min-width: 960px) {
	.p-mv__scrollImg text {
		font-size: min(2vw,13.5px);
	}
}
.p-mv__copy {
	display: none;
	position: absolute;
	left: min(5vw,50px);
	bottom: min(5vw,50px);
	font-size: min(3.57vw,14px);
	font-family: var(--font_family--en); 
	mix-blend-mode: difference;
}

@media only screen and (min-width: 960px) {
    .p-mv__copy {
    	display: block;
    	left: min(5vw,50px);
    	bottom: min(8vw,80px);
    }
}

.p-mv__news {
	/*display: none;*/
	display: flex;
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	color: var(--color_main);
	overflow: hidden;
	background: var(--color_bg);
}

@media only screen and (min-width: 960px) {
    .p-mv__news {
    	display: flex;
    }
}

.p-mv__newsCont {
  display: flex;
  align-items: center;
  overflow:hidden;
  width: 100%;
  white-space:nowrap;
}

.p-mv__newsList {
  display: flex;
  padding: 3px 20px;
  animation: ticker-scroll 58s steps(800) infinite;
  transform: translateX(100%);
  will-change: transform;
}

@media only screen and (min-width: 960px) {
	.p-mv__newsList {
	  padding: 4px 20px;
	  animation: ticker-scroll 54s steps(800) infinite;
	}
}

.p-mv__newsItem {
  padding-right: 40px;
}

@keyframes ticker-scroll {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

.p-mv__newsItem a {
	display: inline-flex;
	align-items: center;
	gap: 20px;
}

.p-mv__newsTtl {
	display: flex;
	align-items: center;
	padding: 4px 12px 4px;
	border-right: 1px solid #fff; 
	font-size: min(4.16vw,16px);
	font-family: var(--font_family--en); 
}

@media only screen and (min-width: 960px) {
	.p-mv__newsTtl {
		padding: 8px 20px 7px;
	}
}

.p-mv__newsTxt {
	padding-bottom: 2px;
	font-size: min(3.6vw,14px);
	white-space: nowrap;
}

@media only screen and (min-width: 960px) {
	.p-mv__newsTxt {
		padding-bottom: 0;
		font-size: min(4.16vw,16px);
	}
}

.p-mv__newsTime {
	font-size: min(3.05vw,12px);
	font-family: var(--font_family--en); 
}

@media only screen and (min-width: 960px) {
	.p-mv__newsTime {
		font-size: min(3.05vw,12px);
	}
}

#about {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	/*height: calc(var(--vh, 1vh) * 100);*/
}

.p-about {
	position: relative;
	width: 100%;
	padding: min(14.8vw,120px) min(5.3vw,50px) min(8vw,80px);
}

@media only screen and (min-width: 960px) {
    .p-about {
    	padding: min(12vw,180px) min(5.3vw,50px) min(1.2vw,20px);
    }
}

.p-about__ttl {
	font-size: min(11.2vw,70px); 
	line-height: 1;
	font-weight: 600;
	overflow: hidden;
	font-family: var(--font_family--en);
}

@media only screen and (min-width: 960px) {
    .p-about__ttl {
    	font-size: min(7vw,134px);
    	font-weight: 700;
    	text-align: center;
    }
}

.p-about__ttl span {
	display: inline-block;
	overflow: hidden;
}

.p-about__ttl br {
	display: block;
}

@media only screen and (min-width: 960px) {
	.p-about__ttl br {
		display: none;
	}
}
.p-about__desc {
	margin-top: min(9vw,80px);
	text-align: left;
	font-weight: 500;
	line-height: 1.8;
	font-size: min(5.26vw,28px);
}

@media only screen and (min-width: 960px) {
    .p-about__desc {
    	font-size: min(4.6vw,32px);
    	font-weight: 500;
    	text-align: center;
    }
}

.p-about__strong {
	margin-top: min(5.3vw,40px);
	text-align: left;
	font-size: min(7.63vw,40px);
	font-weight: 600;
	line-height: 1.4;
}

@media only screen and (min-width: 960px) {
    .p-about__strong {
    	text-align: center;
    	font-size: min(6.2vw,48px);
    }
}

.p-about__link {
	margin-top: min(15vw,80px);
	text-align: center;
	overflow: hidden;
}

.p-about__link b {
	display: inline-block;
}

.p-about__link a {
	display: inline-block;
	font-weight: 600;
}

@media only screen and (min-width: 960px) {
    .p-about__link a {
    	text-align: center;
    }
}

/*.p-about__link a:after {
	content: "";
	display: inline-block;
	width: 12px;
	height: 15px;
	margin-left: 6px;
	background: url(../img/common/icon-arrow.svg) no-repeat;
	background-size: 100%;
	transform: rotate(-130deg);
}*/

.p-about__policy {
	display: flex;
	align-items: center;
	overflow:hidden;
	width: 100%;
	white-space:nowrap;
	margin: min(8vw,80px) calc(50% - 50vw) 0;
	width: 100vw;
}

@media only screen and (min-width: 960px) {
	.p-about__policy {
		margin: min(2vw,40px) calc(50% - 50vw) 0;
	}
}

.p-about__policyList {
	display: flex;
	height: min(24vw,200px);
	padding: 4px 20px;
	margin: min(5vw,80px) calc(50% - 50vw);
	animation: ticker-scroll 48s steps(800) infinite;
	transform: translateX(100%);
	will-change: transform;
}

@media only screen and (min-width: 960px) {
	.p-about__policyList {
		height: min(13vw,200px);
	}
}


.p-about__policyList .swiper-wrapper {
	transition-timing-function: linear;
}

.p-about__policyItem {
	position: relative;
	margin: 0 min(2.8vw,60px);
	font-size: min(30.76vw,120px);
	font-family: var(--font_family--en);
	font-weight: 600;
	line-height: 1;
}

@media only screen and (min-width: 960px) {
    .p-about__policyItem {
    	font-size: min(15.6vw,260px);
    }
}

/*.p-about__policyItem:nth-child(1) {
	max-width: min(40vw,600px);
}

.p-about__policyItem:nth-child(2) {
	max-width: min(80vw,600px);
}

.p-about__policyItem:nth-child(3) {
	max-width: min(66vw,900px);
}

.p-about__policyItem:nth-child(4) {
	max-width: min(100vw,1400px);
}

.p-about__policyItem:nth-child(5) {
	max-width: min(100vw,1400px);
}*/

.p-about__policyItem .origin {
	-webkit-text-fill-color: var(--color_bg);
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: var(--color_main);
}

/*.p-about__policyItem .dummy {
	position: absolute;
	left: 0;
	clip-path: polygon(0 0, 0 0, 0 0);
	animation: text-clip 1.2s linear forwards;
}*/

.p-about__noise {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
}

.p-about__noise video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

@keyframes text-clip {
  0% {
  	clip-path: polygon(0 0, 0 0, 0 0);
  }
  100% {
  	clip-path: polygon(0 0, 280% 0, 0 200%);
  }
}

.p-onair {
	padding: min(18vw,100px) 0;
	overflow: hidden;
}

@media only screen and (min-width: 960px) {
	.p-onair {
		padding: min(18vw,180px) 0;
	}
}

.p-onair__list {
	display: flex;
	gap: min(2.8vw,30px);
	margin-top: min(8vw,80px);
	padding: 0 min(2.8vw,20px);
	overflow: hidden;
}

@media only screen and (min-width: 960px) {
    .p-onair__list {
    	margin-top: min(2.4vw,20px);
    	padding: 0 min(2.4vw,40px);
    	gap: min(1.8vw,20px);
    }
    .p-onair__list .swiper-wrapper {
    	display: flex;
    	flex-wrap: inherit;
    	gap: min(1.8vw,20px);
    }
}

.p-onair__item {
	/*cursor: pointer;*/
	/*transition-duration: 0.3s;*/
}

@media only screen and (min-width: 960px) {
    .p-onair__item.swiper-slide {
    	width: auto;
    	flex-shrink: inherit;
    	width: auto;
    	height: auto;
    	position: inherit;
    	/* transition-property: inherit; */
    	flex: 1;
    	transition-duration: 0.24s;
    	transition-timing-function: ease-in-out;
    	transition-property: initial;
    }
	.p-onair__item.swiper-slide.is-active {
    	flex: 1.5;
		
    }
}

.p-onair__item a {
	pointer-events: none;
}

.p-onair__img {
	position: relative;
	height: 100vw;
	transition-duration: 0.24s;
	transition-timing-function: ease-in-out;
	overflow: hidden;
}

@media only screen and (min-width: 960px) {
    .p-onair__img {
    	width: 100%;
    	height: calc(55vw - 200px);
    }
    .p-onair__list.is-active .p-onair__img {
    	width: 100%;
    }
    .p-onair__item.is-active .p-onair__img {
    	width: 100%;
    }
    .p-onair__item.is-active .p-onair__img {
    	width: 100%;
    }
}

.p-onair__img video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-onair__img span {
	display: block;
	height: 100%;
}

.p-onair__img span img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-onair__thumb {
	width: 100%;
}

.p-onair__thumb.dummy {
	position: absolute;
	top: 0;
	left: 0;
	transition-duration: 0.06s;
	filter: grayscale(100%);
	/*animation: img-clip 1.2s linear forwards;*/
}

@media only screen and (min-width: 960px) {
    .p-onair__thumb.dummy {
    	filter: grayscale(0);
    }
}


.p-onair__item.is-active .p-onair__thumb.dummy {
	animation: img-clip 0.6s linear forwards;
}

.p-onair__list.is-active .p-onair__thumb.dummy {
	filter: grayscale(100%);
}

@keyframes img-clip {
  0% {
  	clip-path: polygon(0% 0%, 280% 0, 0% 200%);
  	opacity: 1;
  }
  100% {
  	clip-path: polygon(0 0, 0 0, 0 0);
  	opacity: 1;
  }
}

.p-onair__name {
	display: flex;
	align-items: flex-end;
	opacity: 0;
	min-height: inherit;
	margin: min(3.2vw,22px) 0 min(2.8vw,20px);
	font-size: min(4.16vw,16px);
	line-height: 1.4;
	transition-duration: 0.3s;
}

@media only screen and (min-width: 960px) {
    .p-onair__name {
    	min-height: 62px;
    	font-size: min(1.4vw,20px);
    }
}

.p-onair__name.s-pc {
	display: none;
}

@media only screen and (min-width: 960px) {
    .p-onair__name.s-pc {
    	display: flex;
    }
}

.p-onair__name.s-sp {
	display: flex;
}

@media only screen and (min-width: 960px) {
    .p-onair__name.s-sp {
    	display: none;
    }
}

.p-onair__item.is-active .p-onair__name  {
	opacity: 1;
}

.p-onair__txt {
	display: flex;
	margin-top: min(1.2vw,20px);
	font-size: min(3vw,16px);
	font-weight: 600;
	font-family: var(--font_family--en);
	line-height: 1.4;
	opacity: 0.5;
	gap: min(3.2vw, 12px);
	transition-duration: 0.3s;
}

@media only screen and (min-width: 960px) {
    .p-onair__txt {
    	display: block;
    	text-align: right;
    	font-size: min(1.3vw,14px);
    }
}

.p-onair__item.is-active .p-onair__txt {
	opacity: 1;
	font-size: min(3.42vw,18px);
}

@media only screen and (min-width: 960px) {
    .p-onair__item.is-active .p-onair__txt {
    	font-size: min(1.68vw,20px);
    }
}
.p-onair__status {
	display: block;
	line-height: 1.2;
}

@media only screen and (min-width: 960px) {
    .p-onair__status {
    	display: block;
    }
}

.p-onair__time {
	line-height: 1.2;
}

.p-service {
	overflow: hidden;
	padding: min(16vw,80px) 0 0;
}

.p-service__list {
	display: flex;
	flex-direction: column;
}

@media only screen and (min-width: 960px) {
    .p-service__list {
    	padding: 0 min(5.3vw,40px);
    }
}

.p-service__item {
}

@media only screen and (min-width: 960px) {
    .p-service__item {
    	display: flex;
    	flex-direction: column;
    	align-items: center;
    	padding: 0;
    	gap: min(2.8vw,40px);
    }
}

.p-service__link {
	display: block;
	position: relative;
	z-index: 1;
	padding: min(9.2vw,46px) min(5.3vw,40px) min(8vw,40px);
}

@media only screen and (min-width: 960px) {
    .p-service__link {
    	position: relative;
    	display: flex;
    	justify-content: space-between;
    	align-items: center;
    	gap: min(4vw,60px); 
    	margin-top: min(2.8vw,40px);
    	padding: min(2.8vw,40px);
    	border-radius: min(3vw,20px);
    	transition-duration: 0.3s;
    }
}

.p-service__link:after {
	display: none;
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: #222;
	z-index: -2;
	border-radius: min(3vw,20px);
	clip-path: polygon(0% 50%, 100% 50%, 100% 50%, 0% 50%);
	transition-duration: 0.3s;
}

@media only screen and (min-width: 960px) {
    .p-service__link:after {
    	display: block;
    }
}

@media only screen and (min-width: 960px) {
	.p-service__link:hover:after {
		display: block;
		opacity: 1;
		clip-path: polygon(0% 0%, 100% 0%, 100% 100%, 0% 100%)
	}
}

.p-service__ttl {
	position: relative;
	margin-bottom: min(8vw,32px);
	font-size: min(8.62vw,36px);
	font-weight: 600;
	font-family: var(--font_family--en);
	text-align: center;
}

@media only screen and (min-width: 960px) {
    .p-service__ttl {
    	width: 30%;
    	margin-bottom: 0;
    	font-size: min(3.6vw,62px);
    }
}

.p-service__ttl strong {
	position: relative;
	z-index: 1;
}

.p-service__ttl small {
	position: absolute;
	top: 50%;
	left: 50%;
	font-size: min(23.44vw,100px);
	opacity: 0.1;
	z-index: -1;
	transform: translate(-50%,-50%);
	font-weight: 700;
	transition-duration: 0.3s;
}

@media only screen and (min-width: 960px) {
    .p-service__ttl small {
    	font-size: min(7.4vw,160px);
    }
}

@media only screen and (min-width: 960px) {
	.p-service__link:hover .p-service__ttl small {
		opacity: 0.2;
	}
}

.p-service__desc {
	margin-top: min(4.4vw,20px);
	font-weight: 500;
	line-height: 2;
}

@media only screen and (min-width: 960px) {
    .p-service__desc {
    	width: 33%;
    	margin-top: 0;
    	font-size: min(1.2vw,16px);
    }
}

.p-service__img {
	overflow: hidden;
	border-radius: 12px;
}

@media only screen and (min-width: 960px) {
    .p-service__img {
    	width: 32%;
    }
}

.p-service__img span {
	position: relative;
	display: block;
	width: 100%;
	height: min(50vw,400px);
}

@media only screen and (min-width: 960px) {
    .p-service__img span {
    	height: min(16.4vw,400px);
    }
}

.p-service__img span img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.p-service__btn {
	margin-top: min(5.3vw,40px);
	text-align: center;
}

@media only screen and (min-width: 960px) {
    .p-service__btn {
    	display: none;
    }
}

.p-partner {
	margin-top: min(5.3vw,40px);
	overflow: hidden;
}

@media only screen and (min-width: 960px) {
    .p-partner {
    	margin-top: min(12vw,80px);
    }
}

.p-partner__list {
	/*display: flex;
	align-items: center;
	gap: min(2.8vw,40px);	*/
}

@media only screen and (min-width: 960px) {
    .p-partner__list {
    	/*gap: min(1.6vw,20px);	*/
    }
}

.p-partner__list .swiper-wrapper {
	transition-timing-function: linear;
}

.p-partner__item {
	/*min-width: 32vw;*/
	max-width: min(32vw,268px);
	height: min(20.8vw, 153px) !important;
	overflow: hidden;

}

@media only screen and (min-width: 960px) {
    .p-partner__item {
    	/*min-width: 18vw;*/
    	/*max-width: min(12vw,268px);*/
    	height: min(20.8vw, 150px) !important;
    }
}

.p-partner__item img {
	width: 100%;
	transition: transform 0.5s ease;
}

.p-partner__item:hover img {
	transform: scale(1.05);
}


.p-partner__btn {
	margin-top: min(8.6vw,40px);
	text-align: center;
}

@media only screen and (min-width: 960px) {
    .p-partner__btn {
    	display: none;
    }
}

.p-news {
	position: relative;
	padding: min(28vw,140px) 0 min(20vw,100px);
}

@media only screen and (min-width: 960px) {
    .p-news {
    	padding: min(20vw,200px) 0 min(8vw,100px) ;
    }
}

@media only screen and (min-width: 960px) {
    /*.p-news .c-head__ttl {
    	width: 57vw;
    }*/
    .p-news .c-head__ttlInner {
    	width: 60vw;
    }
}

.p-news__inner {
	margin-top: 8vw;
	padding: 0 min(5.3vw,40px);
}

@media only screen and (min-width: 960px) {
    .p-news__inner {
    	position: relative;
    	margin-top: min(8vw,60px);
    	padding: 0;
    	margin-left: min(5.6vw, 80px);
    	overflow: hidden;
    }
}

.p-news .c-slide__nav {
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translate(-50%, max(-34vw,-152px));
	margin: 0;
}

@media only screen and (min-width: 960px) {
  .p-news .c-slide__nav {
  	position: relative;
  	top: -6px;
  	bottom: inherit;
  	left: 0;
    /*position: absolute;*/
    margin-left: auto;
    transform: translate(0,0);
    /*right: 0;
    top: 0;*/
  }
}

.p-news__list {
	margin-top: min(10vw,60px);
	overflow: hidden;
	padding: 0;
	/*display: flex;
	flex-direction: column;
	gap: min(5.3vw,40px);*/
}

@media only screen and (min-width: 960px) {
    .p-news__list {
    	margin-top: 0;
    	padding: 0;
    	/*display: flex;
    	flex-direction: row;
    	gap: min(2.8vw,20px);*/
    }
}

.p-news__list .swiper-wrapper {
	/*transition-duration: 0.4s !important;
	transition-delay: 0.1s;*/
	/*transition-timing-function: linear;*/
}

@media only screen and (min-width: 960px) {
	.p-news__list .swiper-wrapper {
	}
}
.p-news__item {
	display: flex;
	flex-direction: column;
	gap: min(2.8vw,18px);
	max-width: 100%;
	/*margin: min(2vw,12px);*/
}

@media only screen and (min-width: 960px) {
    .p-news__item {
    	/*max-width: min(20vw,338px);
    	width: min(20vw,338px);*/
    	gap: min(1.2vw,12px);
    }
}

.p-news__item a {
	display: flex;
	flex-direction: column;
	gap: min(2.8vw,18px);
}

@media only screen and (min-width: 960px) {
    .p-news__item a {
    	gap: min(1.2vw,16px);
    }
}

.p-news__item.is-left {
	max-width: 100%;
}

@media only screen and (min-width: 960px) {
    .p-news__item.is-left {
    	/*max-width: min(38vw,480px);
    	transition: max-width .4s ease-in;*/
    	/*transition-delay: 0.88s;*/
    	min-width: 38vw;
    	transition: width .32s linear;
    }
}

.p-news__item figure {
	position: relative;
	width: 100%;
	height: min(47vw,320px);
	margin: 0;
	overflow: hidden;
}

@media only screen and (min-width: 960px) {
    .p-news__item figure {
    	/*height: min(10.2vw,180px);*/
    	height: 11.8vw;
    	transition: height .32s linear;
    	/*transition-delay: 0.88s;*/
    }
}

@media only screen and (min-width: 960px) {
	.p-news__item.is-left figure {
		/*height: min(20.2vw,260px);*/
		height: 20.8vw;
	}
}

.p-news__item figure img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.5s ease;
}

.p-news__item:hover figure img {
	transform: scale(1.05);
}

.p-news__info {
	display: flex;
	justify-content: space-between;
	gap: min(2.8vw,20px);
	margin-bottom: min(2.2vw,13px);
}

@media only screen and (min-width: 960px) {
    .p-news__info {
    	justify-content: flex-start;
    	gap: min(1.2vw,10px);
    	margin-bottom: min(0.8vw,10px);
    }
}

.p-news__cat {
	display: flex;
	align-items: center;
}

.p-news__catItem {
	display: flex;
	gap: 12px;
	padding: 0 min(2vw,18px);
	font-size: min(3.57vw,14px);
	line-height: 1;
	color: #d9d9d9;
	border-right: 1px solid #d9d9d9;
}

@media only screen and (min-width: 960px) {
    .p-news__catItem {
    	padding: 0 min(0.6vw,4px);
    	font-size: min(1vw,12px);
    	line-height: 1;
    	border-right: 0;
    	color: #fff;
    }
}

.p-news__catItem:last-child {
	border: 0;
}

.p-news__time {
	font-size: min(3.57vw,14px);
	font-family: var(--font_family--en); 
	font-weight: 500;
}

@media only screen and (min-width: 960px) {
    .p-news__time {
    	font-size: min(1.4vw,12px);
    }
}

.p-news__desc {
	font-size: min(3.57vw,14px);
}

@media only screen and (min-width: 960px) {
	.p-news__desc {
		font-size: min(1.6vw,14px);
	}
}

.p-news__btn {
	margin-top: min(32vw, 130px);
	text-align: center;
	overflow: hidden;
}

@media only screen and (min-width: 960px) {
    .p-news__btn {
    	position: relative;
    	top: -4px;
    	width: min(13%, 108px);
    	margin-top: 0;
    	text-align: right;
    }
}

.p-news__btn b {
	display: inline-block;
}

.p-company__link {
	display: flex;
	flex-direction: column;
	padding: 0; 
}

@media only screen and (min-width: 960px) {
    .p-company__link {
    	flex-direction: row;
    	padding: min(5.3vw,80px) 0;
    }
}

.p-company__item {
	margin: 0 min(5.3vw,40px);
	border-bottom: 1px solid var(--color_main);
}

@media only screen and (min-width: 960px) {
    .p-company__item {
    	width: 50%;
    	padding: min(0.8vw,12px) 0;
    	border-bottom: 0;
    }
}

@media only screen and (min-width: 960px) {
    .p-company__item:first-child {
    	border-right: 1px solid var(--color_main);
    }
}

.p-company__item a {
	display: block;
	position: relative;
	padding: min(14.3vw,50px) 0;
}

@media only screen and (min-width: 960px) {
    .p-company__item a {
    	padding: 0 min(5.3vw,80px);
    }
}

.p-company__item:last-child {
	border-bottom: 0;
}

.p-company__ttl {
	display: block;
	position: relative;
	font-size: min(15.26vw,60px);
	font-family: var(--font_family--en); 
	font-weight: 700;
	line-height: 1;
}

@media only screen and (min-width: 960px) {
    .p-company__ttl {
    	display: block;
    	position: relative;
    	font-size: min(5.2vw,100px);
    }
}

.p-company__ttl span {
	display: block;
}

.p-company__ttl .origin {
	-webkit-text-fill-color: var(--color_bg);
	-webkit-text-stroke-width: 1px;
	-webkit-text-stroke-color: var(--color_main);
}

.p-company__ttl .dummy {
  position: absolute;
  top: 0;
  left: 0;
  clip-path: polygon(0 0, 0 0, 0 0);
}

.p-company__ttl.is-active .dummy {
  /*animation: text-clip 1.2s linear forwards;*/
}

.p-company__img {
	display: block;
	overflow: hidden;
	margin: 0;
}

.p-company__img span {
	position: relative;
	display: block;
	width: 100%;
	height: min(58vw,640px);
}

@media only screen and (min-width: 960px) {
	.p-company__img span {
		height: 44vw;
	}
}

.p-company__img span img {
	position: absolute;
	top: -30%;
	left: 0;
	width: 100%;
	height: 120%;
	object-fit: cover; 
}

@media only screen and (min-width: 960px) {
	.p-company__img span img {
		top: -30%;
		height: 120%;
	}
}

.p-company__info {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: min(2.8vw,20px);
}

@media only screen and (min-width: 960px) {
	.p-company__info {
		padding-right: min(2.8vw,40px);
	}
}

.p-company__desc {
	display: block;
	width: 74%;
	margin-top: min(2.8vw,20px);
	font-size: min(3.57vw,14px);
}

@media only screen and (min-width: 960px) {
	.p-company__desc {
		width: 80%;
		margin-top: min(1.6vw,20px);
		font-size: min(1.4vw,16px);
	}
}

.p-company__icon {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(9.2vw,90px);
	height: min(9.2vw,90px);
	margin-left: auto;
	margin-top: min(0.6vw,6px);
	border: 1px solid var(--color_main);
	border-radius: min(12vw,120px);
	overflow: hidden;
}

@media only screen and (min-width: 960px) {
	.p-company__icon {
		position: absolute;
		top: 50%;
		right: min(5.3vw,80px); 
		width: min(2.8vw,38px);
		height: min(2.8vw,38px);
		border-radius: min(2.8vw,38px);
		transform: translate(0,-50%);
	}
}

.p-company__icon img {
	display: block;
	position: relative;
	width: 32%;
	transition-duration: 0.2s;
	transform: rotate(-130deg);
}

.p-company__item a:hover .p-company__icon img {
	transform: rotate(-130deg) translate(40%,200%);
	opacity: 0;
}

.p-company__icon:after {
	content: "";
	position: absolute;
	width: 32%;
	height: 40%;
	background: url(../img/common/icon-arrow.svg) no-repeat;
	background-size: 100%;
	transform: rotate(-130deg) translate(-40%,-200%);
	opacity: 0;
}

.p-company__item a:hover .p-company__icon:after {
	transition-duration: 0.2s;
	transform: rotate(-130deg) translate(0,0);
	opacity: 1;
}
