@charset "UTF-8";

#loading{
	position: fixed;
	top:0;
	left:0;
	width:100vw;
	height: 100vh;
	display: flex;
	justify-content: space-between;
	z-index: 2000;
}


#loading.active{
	pointer-events: none;
}

#loading .box{
	width:50%;
	height: 100vh;
	background:#4696d2;
}

#loading .box:nth-child(1){
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	transition: all 1s;
}

#loading .box:nth-child(2){
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	transition: all 1s;
}

#loading.active .box:nth-child(1){
	clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
}

#loading.active .box:nth-child(2){
	clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
}

#maincontainer {
  padding-top: 0;
}
.mainvisual {
  height: 100dvh;
}
.mainvisual .mtl {
  width: 100vw;
  position: fixed;
  top: calc(100dvh / 2 - 1.75em);
  z-index: 3;
  font-size: 11rem;
  mix-blend-mode: overlay;
  color: #fff;
  transition: opacity 1s ,margin-top 1s;
  transition-delay: 1s;
  margin-top:30px;
  opacity: 0;
}

.mainvisual.active .mtl {
  margin-top:0;
  opacity: 1;
}

.mainvisual h1 {
  font-size: 11rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  line-height: 1.2em;
  mix-blend-mode: overlay;
  transition: all 0.3s;
}
.mainvisual .mtl.color {
  mix-blend-mode: normal;
  color: #000;
}
.mainvisual .mtl.relative {
  position: relative;
}
.mainvisual h1 span {
  font-weight: 400;
}
.mainvisual .video_cont {
  width: 100vw;
  height: 100lvh;
  position: relative;
  z-index: 2;
}
.mainvisual .video_cont video {
  position: relative;
  z-index: 1;
}
.mainvisual .video_cont::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #a2cae8;
  mix-blend-mode: multiply;
  z-index: 2;
}
.bg_whitebox {
  width: 100%;
  position: relative;
  z-index: 1;
}
.bg_whitebox::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 1;
  transition: opacity 1s;
}
.bg_whitebox.change::after {
  opacity: 0;
}
.bg_whitebox .contentbox {
  position: relative;
  z-index: 2;
}
.bg_whitebox .whitebg {
  background: #fff;
}
.bg_whitebox .contentbox .main_title_cont {
  padding-top: calc(50dvh + (11rem*1.75) + 100px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.bg_whitebox .contentbox .main_title_cont h2 {
  font-size: 5rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 2em;
}
.bg_whitebox .contentbox .main_title_cont p {
  width: 95%;
  max-width: 800px;
  margin: 0 auto;
  font-size: 3rem;
  font-weight: 700;
  line-height: 2em;
  letter-spacing: 0.1em;
  text-align: justify;
  margin-bottom: 1.2em;
}
.bg_whitebox .contentbox .main_title_cont p span {
  border: none;
  color: #fff;
  padding: 0 0.4em;
  line-height: 1;
  background-image: linear-gradient(#4696d2, #4696d2), linear-gradient(#fff, #fff);
  background-size: 0 90%, 100% 100%;
  background-position: bottom right;
  background-repeat: no-repeat;
  padding-bottom: 0;
  transition: background-size 0.3s;
  transition-delay: 0.5s;
  transition-timing-function: ease-in-out;
  box-decoration-break: slice;
  -webkit-box-decoration-break: slice;
}
.bg_whitebox .contentbox .main_title_cont p span:nth-child(2) {
  transition-delay: 0.6s;
}
.bg_whitebox .contentbox .main_title_cont p.active span {
  background-size: 100% 90%;
  background-position: bottom left;
}
/*menber*/
.menber_cont {
  overflow: hidden;
  width: 100%;
  padding-bottom: 200px;
	margin-top:-3vw;
}
.menber_cont figure {
  width: 100%;
  transform: scale(1.5);
  transform-origin: center bottom;
  /*transition: all 1s;
  transition-timing-function: cubic-bezier(0.86, 0, 0.14, 1);*/
}
.menber_cont.active figure {
  /*transform: scale(1);*/
  margin-top: 0;
}
/*interview*/
.interview_cont {
  margin-bottom: 200px;
}

.interview_cont .tl{
  display: flex;
	justify-content: center;
}
.interview_cont h2 {
  font-size: min(3vw, 3rem);
  font-weight: 600;
  letter-spacing: 0.3em;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-bottom: 3em;
}
.interview_cont h2 span {
  font-size: 5em;
  font-weight: 400;
  letter-spacing: 0em;
  color: #fff;
  margin-bottom: 0.2em;
}
.interview_cont .interview_slide {
  width: 100%;
  padding: 0 0;
  margin: 0 auto;
}
.interview_cont .interview_slide .slider {
  position: relative;
}
.interview_cont .interview_slide .slider .slick-track {
  padding: 0 0 8% 0;
}
.interview_cont .interview_slide .slider .box {
  transition: all 0.3s;
  position: relative !important;
  top: 0;
}
.interview_cont .interview_slide .slider .box {
  position: relative;
  z-index: 1;
  padding: 0 4vw;
}
.interview_cont .interview_slide .slider .box.slick-current, .interview_cont .interview_slide .slider .box.is-active-next {
  z-index: 2;
  top: 3vw;
}
.interview_cont .interview_slide .slider .box .textbox {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  align-items: center;
  opacity: 0;
	transition: opacity 1s;
}

.interview_cont .interview_slide .slider .box.slick-current .textbox, .interview_cont .interview_slide .slider .box.is-active-next .textbox {
  opacity: 1;
}
.interview_cont .interview_slide .slider .box figure {
  aspect-ratio: 870 / 450;
  position: relative;
  z-index: 1;
  overflow: hidden;
}

.interview_cont .interview_slide .slider .box a figure img {
 	transform: scale(1);
	transition: all 0.3s;
}

.interview_cont .interview_slide .slider .box a:hover figure img {
 	transform: scale(1.05);
}

.interview_cont .interview_slide .slider .box .inbox {
  width: 300px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: min(3.5vw, 35px);
  position: relative;
  overflow: hidden;
  z-index: 2;
  aspect-ratio: 100 / 100;
}
.interview_cont .interview_slide .slider .box .inbox::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 1;
}
.interview_cont .interview_slide .slider .box .inbox::before {
  content: "";
  width: 100%;
  padding-top: 100%;
  clip-path: polygon(100% calc(100% - 20px), calc(100% - 20px) 100%, 100% 100%);
  position: absolute;
  bottom: -2px;
  right: -2px;
  z-index: 2;
  background: #4696d2;
  transform: scale(1);
  transform-origin: right bottom;
  transition: all 0.45s;
}
.interview_cont .interview_slide .slider .box a:hover .inbox::before {
  transform: scale(3);
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.interview_cont .interview_slide .slider .box .inbox p {
  position: relative;
  z-index: 2;
}
.interview_cont .interview_slide .slider .box .inbox p.num {
  font-size: 2.2rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  color: #4696d2;
  transition: all 0.2s;
}
.interview_cont .interview_slide .slider .box .inbox p.num::before {
  content: "";
  width: 1.5em;
  border-bottom: 1px solid #4696d2;
  transform: rotate(-45deg);
  display: inline-block;
  transition: all 0.2s;
}
.interview_cont .interview_slide .slider .box a:hover .inbox p.num {
  color: #fff;
}
.interview_cont .interview_slide .slider .box a:hover .inbox p.num::before {
  border-bottom: 1px solid #fff;
}
.interview_cont .interview_slide .slider .box .inbox p.tl {
  font-size: 1.8rem;
  font-weight: 700;
  color: #000;
  display: flex;
  align-items: center;
  text-align: left;
  letter-spacing: 0.05em;
  line-height: 1.75em;
  padding: 30px 0;
  transition: all 0.2s;
}
.interview_cont .interview_slide .slider .box a:hover .inbox p.tl {
  color: #fff;
}
.interview_cont .interview_slide .slider .box .inbox p.year {
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #fff;
  background: #4696d2;
  border-radius: 9999px;
  padding: 0.4em 1em 0.5em;
  transition: all 0.2s;
}
.interview_cont .interview_slide .slider .box a:hover .inbox p.year {
  color: #000;
  background: #fff;
}
.interview_cont .interview_slide .slider .box .inbox p.position {
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #000;
  margin-top: 1.5em;
  transition: all 0.2s;
}
.interview_cont .interview_slide .slider .box a:hover .inbox p.position {
  color: #fff;
}
.interview_cont .interview_slide .slider .box .inbox p.name {
  font-size: 2.2rem;
  letter-spacing: 0.03em;
  font-weight: 600;
  color: #000;
  margin-top: 0.3em;
  transition: all 0.2s;
}
.interview_cont .interview_slide .slider .box a:hover .inbox p.name {
  color: #fff;
}

.interview_cont .sliderbottom{
	margin-bottom: 60px;
}

.interview_cont .bottombtn{
	display: flex;
	justify-content: center;
}

.works_cont{
	margin-bottom: 200px;
}

.works_cont .phbox{
	padding-left: 30%;
	position: relative;
	z-index: 1;
}

.works_cont .phbox .inbox{
	position: relative;
}

.works_cont .phbox .inbox figure{
	aspect-ratio:960 / 600;
	position: relative;
	z-index: 1;
}

.works_cont .phbox .inbox .overh{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	padding-right:max(2.5vw,calc((100vw - 1165px) / 2));
	z-index: 2;
	font-size: min(2vw, 2rem);
    font-weight: 600;
    letter-spacing: 0.3em;
    color: #fff;
}

.works_cont .phbox .inbox h2{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	z-index: 2;
	font-size: min(2vw, 2rem);
    font-weight: 600;
    letter-spacing: 0.3em;
    color: #fff;
}

.works_cont .phbox .inbox h2 span {
  font-size: 4em;
  font-weight: 400;
  letter-spacing: 0em;
  color: #fff;
  margin-bottom: 0.3em;
}

.works_cont .phbox .inbox.active h2{
  animation: inLeft 0.5s;
  animation-delay: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.works_cont .linkbtn{
	width:95%;
	max-width: 1165px;
	margin:0 auto;
	padding-right: 8vw;
	margin-top:-125px;
	position: relative;
	z-index: 2;
	display: flex;
	gap:min(3vw, 30px);
}

.works_cont .linkbtn a{
	width:100%;
	height: 250px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	padding:0 45px;
	position: relative;
	overflow: hidden;
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color:#000;
	border-radius: 5px;
	transition: color 0.3s;
}

.works_cont .linkbtn a:hover{
	color:#fff;
}

.works_cont .linkbtn a::after{
	content: "";
	width:100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	background: linear-gradient(90deg,#fff 0%, #c7dff1 100%);
	z-index: 1;
}

.works_cont .linkbtn a::before{
	content: "";
	width:100%;
	padding-top: 100%;
	clip-path: polygon(100% calc(100% - 50px), calc(100% - 50px) 100%, 100% 100%);
	position: absolute;
	bottom:-2px;
	right:-2px;
	z-index: 2;
	background:#4696d2;
	transform: scale(1);
	transform-origin: right bottom;
	transition: all 0.45s;
}

.works_cont .linkbtn a:hover::before{
	transform: scale(3);
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.works_cont .linkbtn a .inbtn{
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 3;
}

.works_cont .linkbtn a span{
	font-size: 3rem;
	font-weight: 400;
	letter-spacing: 0;
	margin-bottom:0.5em;
}

.numbers_cont{
	width:100%;
	margin:0 auto 200px;
}

.numbers_cont .innerbox{
	width:100%;
	padding-left: 30%;
	padding-right:max(2.5vw,(100vw - 1165px) / 2);
	position: relative;
}

.numbers_cont a{
	width:100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	padding:0 0;
	position: relative;
	overflow: hidden;
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color:#000;
	border-radius: 5px;
	transition: color 0.3s;
	z-index: 1;
}

.numbers_cont a:hover{
	color:#fff;
}

.numbers_cont a::before{
	content: "";
	width:100%;
	padding-top: 100%;
	clip-path: polygon(100% calc(100% - 50px), calc(100% - 50px) 100%, 100% 100%);
	position: absolute;
	bottom:-2px;
	right:-2px;
	z-index: 2;
	background:rgba(70,150,210,1);
	mix-blend-mode: auto;
	transform: scale(1);
	transform-origin: right bottom;
	transition: all 0.45s;
}

.numbers_cont a:hover::before{
	background:rgba(70,150,210,0.5);
	mix-blend-mode: multiply;
	transform: scale(3);
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.numbers_cont .inbtn{
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
	height: 300px;
}

.numbers_cont .overh{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	padding-left:max(2.5vw,calc((100vw - 1165px) / 2));
	z-index: 2;
	font-size: min(2vw, 2rem);
    font-weight: 600;
    letter-spacing: 0.3em;
    color: #000;
	pointer-events: none;
}

.numbers_cont h2{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	z-index: 2;
	font-size: min(2vw, 2rem);
    font-weight: 600;
    letter-spacing: 0.3em;
    color: #000;
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.numbers_cont h2 span {
  font-size: 4em;
  font-weight: 400;
  letter-spacing: 0em;
  color: #000;
  margin-bottom: 0.3em;
}

.numbers_cont.active h2{
  animation: inLeft 0.5s;
  animation-delay: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.gallery_cont{
	width:100%;
	margin:0 auto;
	padding-right:max(2.5vw,(100vw - 1165px) / 2);
	padding-bottom: 200px;
	display: flex;
	justify-content: space-between;
}

.gallery_cont .titlebox{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	z-index: 2;
}

.gallery_cont h2{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	justify-content: center;
	z-index: 2;
	font-size: min(2vw, 2rem);
    font-weight: 600;
    letter-spacing: 0.3em;
    color: #000;
	margin-bottom: 40px;
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.gallery_cont h2 span {
  font-size: 4em;
  font-weight: 400;
  letter-spacing: 0em;
  color: #000;
  margin-bottom: 0.3em;
}

.gallery_cont.active h2{
  animation: inLeft 0.5s;
  animation-delay: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.gallery_cont .scroll_cont{
	width:calc(100vw - 400px - max(2.5vw,(100vw - 1165px) / 2) );
	overflow: hidden;
	padding-bottom: 3vw;
}

.gallery_cont .scroll_cont .loop_wrap {
	display: flex;
 	width:900vw;
}

.gallery_cont .scroll_cont .list {
	display: flex;
	list-style: none;
	padding: 0;
}

.gallery_cont .scroll_cont .left {
	animation: infinity-scroll-left 150s infinite linear 0.5s both;
}

.gallery_cont .scroll_cont .item {
	width:calc(100vw / 5);
	aspect-ratio:100 / 100;
	margin-left: 40px;
	overflow: hidden;
	border-radius: 10px;
}

.gallery_cont .scroll_cont .item:nth-child(odd) {
	position: relative;
	top:3vw;
}

.gallery_cont .scroll_cont .item > img {
	width: 100%;
}

@media screen and (max-width:750px) {
#maincontainer {
  padding-top: 0;
}
.mainvisual {
  height: 100lvh;
}
.mainvisual .mtl {
  width: 100vw;
  position: fixed;
  top: calc(100dvh / 2 - 1.75em);
  z-index: 3;
  font-size: 5.5rem;
  mix-blend-mode: overlay;
  color: #fff;
}
.mainvisual h1 {
  font-size: 5.5rem;
  font-weight: 700;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  line-height: 1.2em;
  mix-blend-mode: overlay;
  transition: all 0.3s;
}
.mainvisual .mtl.color {
  mix-blend-mode: normal;
  color: #000;
}
.mainvisual .mtl.relative {
  position: relative;
  padding-top:calc(100dvh / 2 - 75px - 1.75em);
  top:auto;
}
.mainvisual h1 span {
  font-weight: 400;
}
.mainvisual .video_cont {
  width: 100vw;
  height: 100lvh;
  position: relative;
  z-index: 2;
}
.mainvisual .video_cont video {
  position: relative;
  z-index: 1;
}
.mainvisual .video_cont::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #a2cae8;
  mix-blend-mode: multiply;
  z-index: 2;
}
.bg_whitebox {
  width: 100%;
  position: relative;
  z-index: 1;
}
.bg_whitebox::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 1;
  transition: opacity 1s;
}
.bg_whitebox.change::after {
  opacity: 0;
}
.bg_whitebox .contentbox {
  position: relative;
  z-index: 2;
}
.bg_whitebox .whitebg {
  background: #fff;
}
.bg_whitebox .contentbox .main_title_cont {
  padding-top: calc(50dvh + (5.5rem*1.75) - 30px);
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
.bg_whitebox .contentbox .main_title_cont h2 {
  font-size: 2.5rem;
  font-weight: 700;
  text-align: center;
  letter-spacing: 0.05em;
  margin-bottom: 1.5em;
}
.bg_whitebox .contentbox .main_title_cont p {
  width: 90%;
  max-width: 800px;
  margin: 0 auto;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 2em;
  letter-spacing: 0.05em;
  text-align: justify;
  margin-bottom: 40px;
}
.bg_whitebox .contentbox .main_title_cont p span {
  border: none;
  color: #fff;
  padding: 0 0.3em;
  background-image: linear-gradient(#4696d2, #4696d2), linear-gradient(#fff, #fff);
  background-size: 0 90%, 100% 100%;
  background-position: bottom right;
  background-repeat: no-repeat;
  padding-bottom: 0;
  transition: background-size 0.3s;
  transition-delay: 0.5s;
  transition-timing-function: ease-in-out;
  box-decoration-break: slice;
  -webkit-box-decoration-break: slice;
}
.bg_whitebox .contentbox .main_title_cont p span:nth-child(2) {
  transition-delay: 0.6s;
}
.bg_whitebox .contentbox .main_title_cont p.active span {
  background-size: 100% 90%;
  background-position: bottom left;
}
/*menber*/
.menber_cont {
  overflow: hidden;
  width: 100%;
  padding-bottom: 50px;
	margin-top:-3vw;
}
.menber_cont figure {
  width: 100%;
  transform: scale(1.5);
  transform-origin: center bottom;
  /*transition: all 1s;
  transition-timing-function: cubic-bezier(0.86, 0, 0.14, 1);*/
}
.menber_cont.active figure {
  /*transform: scale(1);*/
  margin-top: 0;
}
/*interview*/
.interview_cont {
  margin-bottom: 100px;
}

.interview_cont .tl{
  display: flex;
	justify-content: center;
}
.interview_cont h2 {
  font-size: min(4vw, 1.4rem);
  font-weight: 600;
  letter-spacing: 0.3em;
  color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  margin-bottom: 3em;
}
.interview_cont h2 span {
  font-size: 3.5em;
  font-weight: 400;
  letter-spacing: 0em;
  color: #fff;
  margin-bottom: 0.2em;
}
.interview_cont .interview_slide {
  width: 100%;
  padding: 0 0;
  margin: 0 auto;
}
.interview_cont .interview_slide .slider {
  position: relative;
}
.interview_cont .interview_slide .slider .slick-track {
  padding: 0 0 8% 0;
}
.interview_cont .interview_slide .slider .box {
  transition: all 0.3s;
  position: relative !important;
  top: 0;
}
.interview_cont .interview_slide .slider .box {
  position: relative;
  z-index: 1;
  padding: 0 5vw;
}
.interview_cont .interview_slide .slider .box.slick-current, .interview_cont .interview_slide .slider .box.is-active-next {
  z-index: 2;
  top: 3vw;
}
.interview_cont .interview_slide .slider .box .textbox {
  position: absolute;
  z-index: 2;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  display: flex;
  align-items: flex-end;
  opacity: 0;
	transition: opacity 1s;
}

.interview_cont .interview_slide .slider .box.slick-current .textbox, .interview_cont .interview_slide .slider .box.is-active-next .textbox {
  opacity: 1;
}
.interview_cont .interview_slide .slider .box figure {
  aspect-ratio: 400 / 550;
  position: relative;
  z-index: 1;
	margin-bottom: 120px;
}
.interview_cont .interview_slide .slider .box .inbox {
  width: 200px;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  flex-direction: column;
  text-align: center;
  padding: min(5vw, 35px);
  position: relative;
  overflow: hidden;
  z-index: 2;
  aspect-ratio: 100 / 100;
}
.interview_cont .interview_slide .slider .box .inbox::after {
  content: "";
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: #fff;
  z-index: 1;
}
.interview_cont .interview_slide .slider .box .inbox::before {
  content: "";
  width: 100%;
  padding-top: 100%;
  clip-path: polygon(100% calc(100% - 20px), calc(100% - 20px) 100%, 100% 100%);
  position: absolute;
  bottom: -2px;
  right: -2px;
  z-index: 2;
  background: #4696d2;
  transform: scale(1);
  transform-origin: right bottom;
  transition: all 0.45s;
}
.interview_cont .interview_slide .slider .box a:hover .inbox::before {
  transform: scale(3);
  clip-path: polygon(100% 0, 0 100%, 100% 100%);
}
.interview_cont .interview_slide .slider .box .inbox p {
  position: relative;
  z-index: 2;
}
.interview_cont .interview_slide .slider .box .inbox p.num {
  font-size: 1.6rem;
  font-weight: 400;
  letter-spacing: 0.05em;
  display: flex;
  align-items: center;
  color: #4696d2;
  transition: all 0.2s;
}
.interview_cont .interview_slide .slider .box .inbox p.num::before {
  content: "";
  width: 1.5em;
  border-bottom: 1px solid #4696d2;
  transform: rotate(-45deg);
  display: inline-block;
  transition: all 0.2s;
}
.interview_cont .interview_slide .slider .box a:hover .inbox p.num {
  color: #fff;
}
.interview_cont .interview_slide .slider .box a:hover .inbox p.num::before {
  border-bottom: 1px solid #fff;
}
.interview_cont .interview_slide .slider .box .inbox p.tl {
  font-size: 1.4rem;
  font-weight: 700;
  color: #000;
  display: flex;
  align-items: center;
  text-align: left;
  letter-spacing: 0.05em;
  line-height: 1.75em;
  padding: 30px 0;
  transition: all 0.2s;
}
.interview_cont .interview_slide .slider .box a:hover .inbox p.tl {
  color: #fff;
}
.interview_cont .interview_slide .slider .box .inbox p.year {
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #fff;
  background: #4696d2;
  border-radius: 9999px;
  padding: 0.4em 1em 0.5em;
  transition: all 0.2s;
}
.interview_cont .interview_slide .slider .box a:hover .inbox p.year {
  color: #000;
  background: #fff;
}
.interview_cont .interview_slide .slider .box .inbox p.position {
  font-size: 1rem;
  letter-spacing: 0.05em;
  color: #000;
  margin-top: 1em;
  transition: all 0.2s;
}
.interview_cont .interview_slide .slider .box a:hover .inbox p.position {
  color: #fff;
}
.interview_cont .interview_slide .slider .box .inbox p.name {
  font-size: 1.6rem;
  letter-spacing: 0.03em;
  font-weight: 600;
  color: #000;
  margin-top: 0.3em;
  transition: all 0.2s;
}
.interview_cont .interview_slide .slider .box a:hover .inbox p.name {
  color: #fff;
}

.interview_cont .sliderbottom{
	margin-bottom: 40px;
	margin-top:30px;
}

.interview_cont .bottombtn{
	display: flex;
	justify-content: center;
}

.works_cont{
	margin-bottom: 100px;
}

.works_cont .phbox{
	padding-left: 0;
	position: relative;
	z-index: 1;
}

.works_cont .phbox .inbox{
	position: relative;
}

.works_cont .phbox .inbox figure{
	aspect-ratio:960 / 600;
	position: relative;
	z-index: 1;
}

.works_cont .phbox .inbox .overh{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: flex-start;
	padding-right:0;
	padding-top:50px;
	z-index: 2;
	font-size: min(2vw, 2rem);
    font-weight: 600;
    letter-spacing: 0.3em;
    color: #fff;
}

.works_cont .phbox .inbox h2{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 2;
	font-size: min(4vw, 1.4rem);
    font-weight: 600;
    letter-spacing: 0.3em;
    color: #fff;
}

.works_cont .phbox .inbox h2 span {
  font-size: 3.5em;
  font-weight: 400;
  letter-spacing: 0em;
  color: #fff;
  margin-bottom: 0.3em;
}

.works_cont .phbox .inbox.active h2{
  animation: inLeft 0.5s;
  animation-delay: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.works_cont .linkbtn{
	width:90%;
	max-width: 1165px;
	margin:0 auto;
	padding-right: 0;
	margin-top:-55px;
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	gap:min(6vw, 30px);
}

.works_cont .linkbtn a{
	width:100%;
	height: 160px;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	padding:0 7vw;
	position: relative;
	overflow: hidden;
	font-size: 1.4rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color:#000;
	border-radius: 5px;
	transition: color 0.3s;
}

.works_cont .linkbtn a:hover{
	color:#fff;
}

.works_cont .linkbtn a::after{
	content: "";
	width:100%;
	height: 100%;
	position: absolute;
	top:0;
	left:0;
	background: linear-gradient(90deg,#fff 0%, #c7dff1 100%);
	z-index: 1;
}

.works_cont .linkbtn a::before{
	content: "";
	width:100%;
	padding-top: 100%;
	clip-path: polygon(100% calc(100% - 40px), calc(100% - 40px) 100%, 100% 100%);
	position: absolute;
	bottom:-2px;
	right:-2px;
	z-index: 2;
	background:#4696d2;
	transform: scale(1);
	transform-origin: right bottom;
	transition: all 0.45s;
}

.works_cont .linkbtn a:hover::before{
	transform: scale(3);
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.works_cont .linkbtn a .inbtn{
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 3;
}

.works_cont .linkbtn a span{
	font-size: 2.5rem;
	font-weight: 400;
	letter-spacing: 0;
	margin-bottom:0.5em;
}

.numbers_cont{
	width:90%;
	margin:0 auto 100px;
}

.numbers_cont .innerbox{
	width:100%;
	padding-left: 0;
	padding-right:0;
	position: relative;
	display: flex;
	flex-direction: column;
}

.numbers_cont a{
	width:100%;
	display: flex;
	align-items: center;
	justify-content: flex-start;
	text-align: left;
	padding:0 0;
	position: relative;
	overflow: hidden;
	font-size: 1.2rem;
	font-weight: 600;
	letter-spacing: 0.05em;
	color:#000;
	border-radius: 5px;
	transition: color 0.3s;
	z-index: 1;
}

.numbers_cont a:hover{
	color:#fff;
}

.numbers_cont a::before{
	content: "";
	width:100%;
	padding-top: 100%;
	clip-path: polygon(100% calc(100% - 40px), calc(100% - 40px) 100%, 100% 100%);
	position: absolute;
	bottom:-2px;
	right:-2px;
	z-index: 2;
	background:rgba(70,150,210,1);
	mix-blend-mode: auto;
	transform: scale(1);
	transform-origin: right bottom;
	transition: all 0.45s;
}

.numbers_cont a:hover::before{
	background:rgba(70,150,210,0.5);
	mix-blend-mode: multiply;
	transform: scale(3);
	clip-path: polygon(100% 0, 0 100%, 100% 100%);
}

.numbers_cont .inbtn{
	display: flex;
	flex-direction: column;
	position: relative;
	z-index: 1;
	height: auto;
	aspect-ratio:650 / 325;
}

.numbers_cont .overh{
	position: relative;
	top:0;
	left:0;
	width:100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding-left:0;
	z-index: 2;
	font-size: min(2vw, 2rem);
    font-weight: 600;
    letter-spacing: 0.3em;
    color: #000;
	pointer-events: none;
	order: -1;
	margin-bottom: 20px;
}

.numbers_cont h2{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 2;
	font-size: min(4vw, 1.4rem);
    font-weight: 600;
    letter-spacing: 0.3em;
    color: #000;
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.numbers_cont h2 span {
  font-size: 3.5em;
  font-weight: 400;
  letter-spacing: 0em;
  color: #000;
  margin-bottom: 0.3em;
}

.numbers_cont.active h2{
  animation: inLeft 0.5s;
  animation-delay: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.gallery_cont{
	width:100%;
	margin:0 auto;
	padding-right:0;
	padding-bottom: 100px;
	display: flex;
	justify-content: center;
	flex-direction: column;
}
	
.gallery_cont .titlebox{
	order: -1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
}

.gallery_cont .bottombtn{
	order: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	text-align: center;
	margin-top:40px;
}

.gallery_cont h2{
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 2;
	font-size: min(4vw, 1.4rem);
    font-weight: 600;
    letter-spacing: 0.3em;
    color: #000;
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
	order: -1;
	margin-bottom: 40px;
}

.gallery_cont h2 span {
  font-size: 3.5em;
  font-weight: 400;
  letter-spacing: 0em;
  color: #000;
  margin-bottom: 0.3em;
}

.gallery_cont.active h2{
  animation: inLeft 0.5s;
  animation-delay: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.gallery_cont .scroll_cont{
	width:100%;
	overflow: hidden;
	padding-bottom: 6vw;
}

.gallery_cont .scroll_cont .loop_wrap {
	display: flex;
 	width:2000vw;
}

.gallery_cont .scroll_cont .list {
	display: flex;
	list-style: none;
	padding: 0;
}

.gallery_cont .scroll_cont .left {
	animation: infinity-scroll-left 150s infinite linear 0.5s both;
}

.gallery_cont .scroll_cont .item {
	width:calc(100vw / 2);
	aspect-ratio:100 / 100;
	margin-left: 20px;
	overflow: hidden;
	border-radius: 5px;
}

.gallery_cont .scroll_cont .item:nth-child(odd) {
	position: relative;
	top:6vw;
}

.gallery_cont .scroll_cont .item > img {
	width: 100%;
}
}

.inLeft {
  clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}
/*animation*/
.inLeft.active {
  animation: inLeft 0.3s;
  animation-delay: 0.3s;
  animation-timing-function: ease-in-out;
  animation-fill-mode: forwards;
  position: relative;
}

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

@keyframes infinity-scroll-left {
	from {
	  transform: translateX(0);
	}
	  to {
	  transform: translateX(-100%);
	}
}