@charset "utf-8";
/* visual */
 [data-main="visual"] {
	/* box */
	/* text */
}
 [data-main="visual"] {
	 overflow: hidden;
	 position: relative;
	 height: calc(100vh - var(--headerHeight));
	 background: #f6f6f1 url(../images/main/visual_bg.jpg) no-repeat 50% 50%;
	 background-size: cover;
}
 [data-main="visual"] .inr {
	 display: flex;
	 flex-direction: column;
	 justify-content: center;
	 align-items: center;
	 position: relative;
	 z-index: 10;
	 height: 100%;
	 box-sizing: border-box;
	 padding-bottom: 50rem;
	 color: #111;
}
 [data-main="visual"] .obj-top, [data-main="visual"] .obj-bottom {
	 position: absolute;
	 width: 100%;
}
 [data-main="visual"] .obj-top {
	 top: 0;
}
 [data-main="visual"] .obj-bottom {
	 bottom: 0;
}
 [data-main="visual"] .obj-line {
	 display: grid;
	 grid-template-columns: repeat(12, 1fr);
}
 [data-main="visual"] [data-line] {
	 overflow: hidden;
	 perspective: 600rem;
	 aspect-ratio: 1;
}
 [data-main="visual"] [data-line] span {
	 display: block;
	 width: 100%;
	 height: 100%;
	 background-color: var(--color-point);
	 transition: transform 1s cubic-bezier(0.19, 0.37, 0.41, 0.9) 0s, opacity 0.1s linear 0s;
}
 [data-main="visual"] [data-line] img {
	 object-fit: cover;
	 width: 100%;
	 height: 100%;
}
 [data-main="visual"] [data-line] span.move {
	 opacity: 0;
	 transform: rotateY(-180deg);
	 transform-origin: 100% 0;
}
 [data-main="visual"] [data-line] span.moveX {
	 opacity: 0;
	 transform: rotateX(-180deg);
	 transform-origin: 100% 0;
}
 [data-main="visual"].motion__in [data-line] span.move {
	 opacity: 1;
	 transform: rotateY(0deg);
	 transition-delay: 6s, 6s;
}
 [data-main="visual"].motion__in [data-line] span.moveX {
	 opacity: 1;
	 transform: rotateX(0deg);
	 transition-delay: 6s, 6s;
}
 [data-main="visual"].motion__in .group02 [data-line] span {
	 transition-delay: 6s, 6s;
}
 [data-main="visual"].motion__in .group03 [data-line] span {
	 transition-delay: 6.4s, 6.4s;
}
 [data-main="visual"].motion__in .group05 [data-line] span {
	 transition-delay: 6.4s, 6.4s;
}
 [data-main="visual"].motion__in .group06 [data-line] span {
	 transition-delay: 6s, 6s;
}
 [data-main="visual"] [data-line="1"] {
	 grid-column: 1;
}
 [data-main="visual"] [data-line="2"] {
	 grid-column: 2;
}
 [data-main="visual"] [data-line="3"] {
	 grid-column: 3;
}
 [data-main="visual"] [data-line="4"] {
	 grid-column: 4;
}
 [data-main="visual"] [data-line="5"] {
	 grid-column: 5;
}
 [data-main="visual"] [data-line="6"] {
	 grid-column: 6;
}
 [data-main="visual"] [data-line="7"] {
	 grid-column: 7;
}
 [data-main="visual"] [data-line="8"] {
	 grid-column: 8;
}
 [data-main="visual"] [data-line="9"] {
	 grid-column: 9;
}
 [data-main="visual"] [data-line="10"] {
	 grid-column: 10;
}
 [data-main="visual"] [data-line="11"] {
	 grid-column: 11;
}
 [data-main="visual"] [data-line="12"] {
	 grid-column: 12;
}
 [data-main="visual"] [data-lineColor="black"] span {
	 background-color: #2f2725;
}
 [data-main="visual"] [data-lineColor="purple"] span {
	 background-color: var(--color-purple);
}
 [data-main="visual"] [data-lineColor="pink"] span {
	 background-color: var(--color-pink);
}
 [data-main="visual"] [data-lineColor="green"] span {
	 background-color: var(--color-green);
}
 [data-main="visual"] .scene02-text01, [data-main="visual"] .scene02-text02 {
	 opacity: 0;
	 color: #727171;
	 transition: 0.6s cubic-bezier(0.69, 0.24, 0.48, 0.66) 0s;
	 transition-property: opacity, transform;
}
 [data-main="visual"] .scene02-text01 {
	 transform: translateY(30rem);
	 font-size: 28rem;
}
 [data-main="visual"] .scene02-text02 {
	 transform: translateY(-30rem);
	 font-size: 18rem;
}
 [data-main="visual"].motion__in .scene02-text01, [data-main="visual"].motion__in .scene02-text02 {
	 opacity: 1;
	 transform: translateY(0);
	 transition-delay: 4s;
}
 [data-main="visual"] [data-visual="word"] {
	 position: relative;
	 opacity: 0;
	 filter: blur(60rem);
	 margin-left: 0rem;
	 font-family: var(--font-jost);
	 font-size: 110rem;
	 font-weight: 500;
	 white-space: nowrap;
	 transform: scale(1);
	 transform-origin: center;
	 transition: opacity 0.5s ease 0s, filter 1s ease 0s, margin 1s linear 0s, transform 1s ease 0s;
	/* animation:wordPosition2 20s linear 1s 1 forwards;
	 */
	 will-change: transform;
}
 [data-main="visual"] [data-visual="word"] em {
	 font-size: 80rem;
}
 [data-main="visual"].motion__in [data-visual="word"] {
	 opacity: 1;
	 filter: blur(0rem);
	 margin-left: 200rem;
	 transform: scale(1.2);
	 transition-delay: 0s, 0s, 2.5s, 4s;
	 color: #2f2725;
}
 [data-main="visual"] [data-visual="word"] .scene01 {
	 animation: wordMove 20s cubic-bezier(0.69, 0.24, 0.48, 0.66) 1s 1 forwards;
	 will-change: letter-spacing;
}
 [data-main="visual"] [data-visual="word"] .scene01 span:not(:nth-of-type(1)) {
	 animation: wordShow 20s cubic-bezier(0.69, 0.24, 0.48, 0.66) 1s 1 forwards;
}
 [data-main="visual"] [data-visual="word"] .scene01.type02 {
	 animation-name: wordMove2;
}
 [data-main="visual"] [data-visual="word"] .scene01-02 {
	 animation: 20s linear 1s 1 forwards;
	 animation-name: wordShow, wordMove3;
}
 [data-main="visual"] [data-visual="word"] .scene02 {
	 opacity: 0;
	 position: absolute;
	 animation: 20s cubic-bezier(0.69, 0.24, 0.48, 0.66) 1s 1 forwards;
	 animation-name: wordShow2, wordPosition;
}
 @media screen and (max-width: 1300px) {
	 [data-main="visual"] {
		/* text */
	}
	 [data-main="visual"] .scene02-text01 {
		 font-size: 18rem;
	}
	 [data-main="visual"] .scene02-text02 {
		 font-size: 22rem;
	}
	 [data-main="visual"] [data-visual="word"] {
		 transform: scale(0.8);
	}
}
 @media screen and (max-width: 1024px) {
	 [data-main="visual"] [data-visual="word"] {
		 transform: scale(0.6);
	}
	 [data-main="visual"].motion__in [data-visual="word"] {
		 margin-left: 170rem;
		 transform: scale(1);
	}
}
 @media screen and (max-width: 768px) {
	 [data-main="visual"] {
		 height: 600rem;
	}
	 [data-main="visual"].motion__in [data-visual="word"] {
		 margin-left: 140rem;
		 transform: scale(0.9);
	}
}
 @media screen and (max-width: 620px) {
	 [data-main="visual"] {
		/* text */
	}
	 [data-main="visual"] {
		 height: 500rem;
	}
	 [data-main="visual"] .scene02-text01 {
		 font-size: 17rem;
	}
	 [data-main="visual"] .scene02-text02 {
		 font-size: 20rem;
	}
	 [data-main="visual"] [data-visual="word"] {
		 transform: scale(0.5);
	}
	 [data-main="visual"].motion__in [data-visual="word"] {
		 transform: scale(0.8);
	}
}
 @media screen and (max-width: 480px) {
	 [data-main="visual"] {
		/* text */
	}
	 [data-main="visual"] {
		 height: 350rem;
	}
	 [data-main="visual"] .scene02-text01 {
		 font-size: 16rem;
	}
	 [data-main="visual"] .scene02-text02 {
		 font-size: 16rem;
		 word-break: keep-all;
		 text-align: center;
	}
	 [data-main="visual"] [data-visual="word"] {
		 line-height: 1;
		 transform: scale(0.25);
	}
	 [data-main="visual"].motion__in [data-visual="word"] {
		 margin-left: 100rem;
		 transform: scale(0.6);
	}
}
 @keyframes wordShow {
	 10% {
		 opacity: 1;
	}
	 15%, 100% {
		 opacity: 0;
	}
}
 @keyframes wordShow2 {
	 12% {
		 opacity: 0;
	}
	 20%, 100% {
		 opacity: 1;
	}
}
 @keyframes wordMove {
	 10% {
		 letter-spacing: 0;
	}
	 15%, 100% {
		 letter-spacing: -64rem;
	}
}
 @keyframes wordMove2 {
	 10% {
		 letter-spacing: 0;
	}
	 15%, 100% {
		 letter-spacing: -60rem;
	}
}
 @keyframes wordMove3 {
	 10% {
		 letter-spacing: 0;
	}
	 15%, 100% {
		 letter-spacing: -80rem;
	}
}
 @keyframes wordPosition {
	 10% {
		 left: 0;
	}
	 15%, 100% {
		 left: -100%;
	}
}
 @keyframes wordPosition2 {
	 10% {
		 margin-left: 0;
	}
	 15%, 100% {
		 margin-left: 200rem;
	}
}
 @keyframes wordPosition3 {
	 10% {
		 margin-left: 0;
	}
	 15%, 15.5% {
		 margin-left: 50rem;
	}
	 18%, 100% {
		 margin-left: 100rem;
	}
}
 @keyframes boxView {
	 25% {
		 opacity: 0;
	}
	 30%, 100% {
		 opacity: 1;
	}
}
/* project */
 [data-main="project"] {
	 padding: var(--pageTopPad) 0;
}
 .project-list {
	 display: grid;
	 grid-template-columns: repeat(4, 1fr);
	 gap: 40rem;
}
 .project-list li a {
	 display: flex;
	 flex-direction: column;
	 position: relative;
	 height: 400rem;
	 box-sizing: border-box;
	 padding: 35rem 30rem;
	 border: 2rem solid #ddd;
	 transition: 0.3s ease;
	 transition-property: background, border;
}
 .project-list li a h2 {
	 display: flex;
	 align-items: center;
	 gap: 10rem;
	 margin-bottom: 35rem;
	 font-size: 30rem;
	 font-weight: 700;
}
 .project-list li a h2 i {
	 margin-top: -6rem;
	 color: var(--color-point);
}
 .project-list li a em, .project-list li a p {
	 opacity: 0.8;
	 color: #666;
}
 .project-list li a em {
	 display: block;
	 font-size: 20rem;
	 font-weight: 600;
}
 .project-list li a p {
	 margin-top: 5rem;
	 font-size: 18rem;
	 font-weight: 500;
}
 .project-list li a > i {
	 display: inline-flex;
	 align-items: center;
	 gap: 0 10rem;
	 margin-top: auto;
	 color: #999;
}
 .project-list li a > i:after {
	 content: '';
	 opacity: 0.3;
	 display: block;
	 width: 7rem;
	 height: 12rem;
	 background-repeat: no-repeat;
	 background-position: 50% 50%;
	 background-size: auto 100%;
	 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpolyline fill='none' stroke='%23000' stroke-linecap='round' stroke-linejoin='round' stroke-width='2px' points='1 13 7 7 1 1'/%3E%3C/svg%3E");
}
 .project-list li[data-project="02"] a h2 i {
	 color: var(--color-purple);
}
 .project-list li[data-project="03"] a h2 i {
	 color: var(--color-pink);
}
 .project-list li[data-project="04"] a h2 i {
	 color: var(--color-green);
}
 .project-list li .obj {
	 --sizeWid: 86rem;
	 display: grid;
	 grid-template-columns: repeat(3, 1fr);
	 grid-template-rows: repeat(3, 1fr);
	 gap: 5rem;
	 position: absolute;
	 right: 20rem;
	 bottom: 30rem;
	 width: var(--sizeWid);
	 height: var(--sizeWid);
}
 .project-list li .obj i {
	 display: inline-block;
	 width: 25rem;
	 height: 25rem;
	 background-color: #e3e3e3;
	 border-radius: 100%;
	 transition: background 0.3s ease;
}
 .project-list li a:hover {
	 color: var(--color-white);
}
 .project-list li a:hover h2 i, .project-list li a:hover em, .project-list li a:hover p, .project-list li a:hover > i {
	 color: var(--color-white);
}
 .project-list li a:hover > i:after {
	 background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpolyline fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2px' points='1 13 7 7 1 1'/%3E%3C/svg%3E");
}
 .project-list li a:hover .obj i {
	 background-color: rgba(255, 255, 255, 0.15);
}
 .project-list li[data-project="01"] .obj i:nth-of-type(1) {
	 grid-column: 2;
}
 .project-list li[data-project="01"] .obj i:nth-of-type(2) {
	 grid-column: 1;
}
 .project-list li[data-project="01"] .obj i:nth-of-type(5) {
	 grid-column: 2;
}
 .project-list li[data-project="01"] a:hover {
	 background-color: var(--color-point);
	 border-color: var(--color-point);
}
 .project-list li[data-project="02"] .obj i {
	 grid-row: 2;
}
 .project-list li[data-project="02"] a:hover {
	 background-color: var(--color-purple);
	 border-color: var(--color-purple);
}
 .project-list li[data-project="03"] .obj {
	 transform: rotate(45deg);
}
 .project-list li[data-project="03"] .obj i:nth-of-type(1) {
	 grid-column: 2;
}
 .project-list li[data-project="03"] .obj i:nth-of-type(2) {
	 grid-column: 1;
}
 .project-list li[data-project="03"] .obj i:nth-of-type(5) {
	 grid-column: 2;
}
 .project-list li[data-project="03"] a:hover {
	 background-color: var(--color-pink);
	 border-color: var(--color-pink);
}
 .project-list li[data-project="04"] .obj i:nth-of-type(1) {
	 grid-column: 2;
}
 .project-list li[data-project="04"] .obj i:nth-of-type(2) {
	 grid-column: 0.25;
	 width: 100%;
	 border-radius: 50rem;
}
 .project-list li[data-project="04"] .obj i:nth-of-type(3) {
	 grid-column: 2;
}
 .project-list li[data-project="04"] a:hover {
	 background-color: var(--color-green);
	 border-color: var(--color-green);
}
 @media screen and (max-width: 1024px) {
	 .project-list {
		 gap: 10rem;
	}
	 .project-list li a {
		 height: 350rem;
		 padding: 30rem 20rem;
	}
	 .project-list li a h2 {
		 margin-bottom: 25rem;
	}
	 .project-list li a em, .project-list li a p {
		 font-size: 17rem;
	}
	 .project-list li .obj {
		 --sizeWid: 76rem;
		 gap: 3rem;
		 right: 15rem;
	}
	 .project-list li .obj i {
		 width: auto;
		 height: auto;
		 apsect-ratio: 1;
	}
}
 @media screen and (max-width: 768px) {
	 .project-list {
		 grid-template-columns: repeat(2, 1fr);
	}
	 .project-list li a {
		 height: 250rem;
	}
}
 @media screen and (max-width: 480px) {
	 .project-list li a {
		 height: 200rem;
		 padding: 20rem 15rem;
		 border: 1px solid #ddd;
	}
	 .project-list li a em, .project-list li a p {
		 font-size: 15rem;
		 word-break: keep-all;
	}
	 .project-list li a i {
		 display: none;
		 font-size: 13rem;
	}
	 .project-list li a h2 {
		 font-size: 22rem;
	}
	 .project-list li a h2 i {
		 font-size: 25rem;
	}
	 .project-list li a .obj {
		 --sizeWid: 40rem;
		 bottom: 10rem;
		 right: 15rem;
	}
}
/* notice */
 [data-main="notice"] {
	 padding-bottom: var(--pageTopPad);
}
 [data-main="notice"] .inr_1300 {
	 position: relative;
}
 [data-main="notice"] h2 {
	 font-family: var(--font-eng);
	 font-size: 75rem;
	 font-weight: 700;
	 color: #2f2725;
}
 [data-main="notice"] h2 i {
	 margin-left: 20rem;
}
 [data-main="notice"] .more-btn {
	 display: inline-block;
	 position: absolute;
	 top: 24rem;
	 right: var(--page-pad);
	 width: 50rem;
	 height: 50rem;
	 background: #2f2725 url(../images/main/more_img.svg) no-repeat 50% 50%;
	 background-size: 18rem;
	 font-size: 0;
}
 [data-main="notice"] .notice-list {
	 display: grid;
	 grid-template-columns: repeat(3, 1fr);
	 gap: 50rem;
	 margin-top: 45rem;
}
 [data-main="notice"] .notice-list a {
	 display: block;
	 position: relative;
	 height: 100%;
	 min-height: 300rem;
	 box-sizing: border-box;
	 padding: 45rem 40rem;
	 border: 2rem solid #ddd;
	 transition: border 0.3s;
}
 [data-main="notice"] .notice-list strong, [data-main="notice"] .notice-list p {
	 display: -webkit-box;
	 overflow: hidden;
	 -webkit-line-clamp: 2;
	 -webkit-box-orient: vertical;
	 text-overflow: ellipsis;
}
 [data-main="notice"] .notice-list strong {
	 font-size: 25rem;
	 font-weight: 700;
	 line-height: 1.3;
}
 [data-main="notice"] .notice-list p {
	 margin-top: 25rem;
	 font-size: 18rem;
	 color: #999;
	 line-height: 1.4;
}
 [data-main="notice"] .notice-list i {
	 display: block;
	 position: absolute;
	 bottom: 45rem;
	 left: 40rem;
	 font-family: var(--font-eng);
	 font-size: 17rem;
	 color: #999;
	 font-weight: 200;
}
 [data-main="notice"] .notice-list a:hover {
	 border-color: #111;
}
 @media screen and (max-width: 1300px) {
	 [data-main="notice"] {
		 gap: 30rem;
	}
}
 @media screen and (max-width: 1024px) {
	 [data-main="notice"] h2 {
		 font-size: 65rem;
	}
	 [data-main="notice"] .notice-list {
		 gap: 20rem;
		 margin-top: 35rem;
	}
	 [data-main="notice"] .notice-list a {
		 min-height: 250rem;
		 padding: 30rem 20rem;
	}
	 [data-main="notice"] .notice-list i {
		 left: 20rem;
		 bottom: 30rem;
	}
	 [data-main="notice"] .notice-list strong {
		 font-size: 20rem;
	}
	 [data-main="notice"] .notice-list p {
		 margin-top: 20rem;
		 font-size: 16rem;
	}
}
 @media screen and (max-width: 768px) {
	 [data-main="notice"] h2 {
		 font-size: 50rem;
	}
	 [data-main="notice"] .more-btn {
		 top: 4rem;
	}
}
 @media screen and (max-width: 620px) {
	 [data-main="notice"] .notice-list {
		 grid-template-columns: repeat(1, 1fr);
		 gap: 10rem;
	}
	 [data-main="notice"] .notice-list a {
		 min-height: inherit;
		 padding: 25rem 20rem;
	}
	 [data-main="notice"] .notice-list p {
		 margin-top: 10rem;
	}
	 [data-main="notice"] .notice-list i {
		 position: static;
		 margin-top: 10rem;
		 font-size: 14rem;
	}
}
 @media screen and (max-width: 480px) {
	 [data-main="notice"] h2 {
		 font-size: 35rem;
	}
	 [data-main="notice"] h2 i {
		 margin-left: 10rem;
	}
	 [data-main="notice"] .more-btn {
		 display: block;
		 position: static;
		 margin: 20rem auto 0;
	}
	 [data-main="notice"] .notice-list strong {
		 font-size: 18rem;
	}
}
/* news */
 [data-main="news"] {
	 padding-bottom: var(--pageTopPad);
}
 [data-main="news"] h2 {
	 font-family: var(--font-eng);
	 font-size: 75rem;
	 font-weight: 700;
	 color: #2f2725;
}
 [data-main="news"] h2 i {
	 margin-left: 20rem;
}
 [data-main="news"] .tab-area {
	 position: relative;
	 padding-top: 30rem;
}
 [data-main="news"] .tab-control {
	 display: flex;
	 align-items: stretch;
	 gap: 10rem;
	 padding-bottom: 30rem;
}
 [data-main="news"] .tab-control a {
	 opacity: 0.4;
	 display: flex;
	 flex-wrap: wrap;
	 justify-content: center;
	 align-items: center;
	 font-size: 24rem;
	 font-weight: 700;
	 transition: opacity 0.3s;
}
 [data-main="news"] .tab-control a:after {
	 content: '';
	 opacity: 0;
	 display: block;
	 width: 100%;
	 height: 3rem;
	 margin-top: 5rem;
	 padding: 0 5rem;
	 background-color: #111;
	 transition: opacity 0.3s;
}
 [data-main="news"] .tab-control a:hover {
	 opacity: 1;
}
 [data-main="news"] .tab-control .active a, [data-main="news"] .tab-control .active a:after {
	 opacity: 1;
}
 [data-main="news"] .swiper_control {
	 display: flex;
	 align-items: center;
	 position: absolute;
	 right: 0;
	 top: 24rem;
}
 [data-main="news"] .swiper_control button {
	 width: 50px;
	 height: 50px;
	 background: #2f2725 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 14'%3E%3Cpolyline fill='none' stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2px' points='1 13 7 7 1 1'/%3E%3C/svg%3E") no-repeat 50% 50%;
	 background-size: 8px 14px;
	 transition: background 0.3s;
}
 [data-main="news"] .swiper_control button span {
	 font-size: 0;
}
 [data-main="news"] .swiper_control .swiper_prev {
	 transform: rotate(180deg);
}
 [data-main="news"] .swiper_control button:hover {
	 background-color: var(--color-point);
}
 [data-main="news"] .gallery-list {
	 overflow: hidden;
}
 [data-main="news"] .gallery-list .swiper-wrapper {
	 align-items: stretch;
}
 [data-main="news"] .gallery-list .swiper-slide {
	 height: auto;
}
 [data-main="news"] .gallery-list a {
	 display: block;
	 position: relative;
	 height: 100%;
}
 [data-main="news"] .gallery-list a:before {
	 content: '';
	 display: block;
	 position: absolute;
	 left: -25rem;
	 width: 1rem;
	 height: 100%;
	 background-color: #ddd;
}
 [data-main="news"] .gallery-list a .img {
	 overflow: hidden;
	 display: block;
	 aspect-ratio: 1;
}
 [data-main="news"] .gallery-list a .img img {
	 object-fit: cover;
	 width: 100%;
	 height: 100%;
	 transition: transform 0.7s;
}
 [data-main="news"] .gallery-list a strong {
	 display: block;
	 margin-top: 20rem;
	 font-size: 24rem;
	 font-weight: 700;
	 display: -webkit-box;
	 overflow: hidden;
	 -webkit-line-clamp: 1;
	 -webkit-box-orient: vertical;
	 text-overflow: ellipsis;
	 transition: color 0.3s;
}
 [data-main="news"] .gallery-list a i {
	 display: block;
	 margin-top: 10rem;
	 font-family: var(--font-eng);
	 font-size: 17rem;
	 color: #999;
	 font-weight: 200;
}
 [data-main="news"] .gallery-list a:hover .img img {
	 transform: scale(1.06);
}
 [data-main="news"] .gallery-list a:hover strong {
	 color: var(--color-point);
}
 @media screen and (max-width: 1024px) {
	 [data-main="news"] .tab-control a {
		 font-size: 20rem;
	}
	 [data-main="news"] h2 {
		 font-size: 65rem;
	}
	 [data-main="news"] .gallery-list a strong {
		 font-size: 20rem;
	}
	 [data-main="news"] .gallery-list a:before {
		 left: -15rem;
	}
}
 @media screen and (max-width: 768px) {
	 [data-main="news"] h2 {
		 font-size: 50rem;
	}
}
 @media screen and (max-width: 620px) {
	 [data-main="news"] .gallery-list a i {
		 font-size: 14rem;
	}
}
 @media screen and (max-width: 480px) {
	 [data-main="news"] h2 {
		 font-size: 35rem;
	}
	 [data-main="news"] h2 i {
		 margin-left: 10rem;
	}
	 [data-main="news"] .swiper_control {
		 justify-content: center;
		 position: static;
		 margin-top: 20rem;
	}
	 [data-main="news"] .gallery-list a strong {
		 font-size: 18rem;
	}
	 [data-main="news"] .gallery-list a:before {
		 display: none;
	}
}
/* update 200824 */
 @media screen and (max-width: 480px) {
	 [data-main="project"] {
		 padding: 60px 0;
	}
}
 @media screen and (max-width: 480px) {
	 .project-list {
		 gap: 5rem;
	}
}
 @media screen and (max-width: 480px) {
	 .project-list li a {
		 height: 135rem;
		 padding: 15rem 10rem;
	}
	 .project-list li a em, .project-list li a p {
		 font-size: 11rem;
		 word-break: keep-all;
	}
	 .project-list li a i {
		 display: inline-flex;
		 font-size: 12rem;
	}
	 .project-list li a i:after {
		 width: 6rem;
		 height: 10rem;
	}
	 .project-list li a h2 {
		 font-size: 16rem;
		 margin-bottom: 12rem;
	}
	 .project-list li a h2 i {
		 font-size: 20rem;
	}
	 .project-list li a .obj {
		 --sizeWid: 26rem;
		 bottom: 12rem;
		 right: 12rem;
	}
}
 [data-main="news"] .tab-area {
	 height: auto !important;
}
 @media screen and (min-width: 1025px) and (max-width: 1919px) {
	 [data-main="visual"] {
		 height: 900px;
	}
}
 @media screen and (min-width: 1921px) and (max-width: 2500px) {
	 [data-main="visual"] {
		 height: 1100px;
	}
}
/* main banner update 240830 */
 @media screen and (max-width: 1440px) {
	 [data-main="visual"] {
		 aspect-ratio: 2.1333333333;
		 width: 100vw;
		 height: auto;
	}
}
 @media screen and (max-width: 1024px) {
	 [data-main="visual"] [data-visual="word"] {
		 margin-left: 10%;
		 margin-top: 30rem;
	}
	 [data-main="visual"].motion__in .scene02-text01 {
		 transform: translateY(60rem) scale(1);
	}
	 [data-main="visual"].motion__in .scene02-text02 {
		 transform: translateY(-30rem) scale(0.6);
	}
	 [data-main="visual"].motion__in [data-visual="word"] {
		 margin-left: 10%;
		 margin-top: 30rem;
		 transform: scale(0.65);
	}
}
 @media screen and (max-width: 768px) {
	 [data-main="visual"] [data-visual="word"] {
		 margin-left: 10%;
		 margin-top: 40rem;
	}
	 [data-main="visual"].motion__in .scene02-text01 {
		 transform: translateY(85rem) scale(0.75);
	}
	 [data-main="visual"].motion__in .scene02-text02 {
		 transform: translateY(-50rem) scale(0.5);
	}
	 [data-main="visual"].motion__in [data-visual="word"] {
		 margin-left: 10%;
		 margin-top: 40rem;
		 transform: scale(0.5);
	}
}
 @media screen and (max-width: 480px) {
	 [data-main="visual"] [data-visual="word"] {
		 margin-left: 10%;
		 margin-top: 40rem;
	}
	 [data-main="visual"].motion__in .scene02-text01 {
		 transform: translateY(60rem) scale(0.7);
	}
	 [data-main="visual"].motion__in .scene02-text02 {
		 transform: translateY(-34rem) scale(0.45);
	}
	 [data-main="visual"].motion__in [data-visual="word"] {
		 margin-left: 10%;
		 margin-top: 30rem;
		 transform: scale(0.3);
		 font-size: 85rem;
	}
	 @keyframes wordMove {
		 10% {
			 letter-spacing: 0;
		}
		 15%, 100% {
			 letter-spacing: -50rem;
		}
	}
	 @keyframes wordMove2 {
		 10% {
			 letter-spacing: 0;
		}
		 15%, 100% {
			 letter-spacing: -50rem;
		}
	}
}
/* project */
 @media screen and (max-width: 480px) {
	 [data-main="project"] {
		 padding: 40px 0;
	}
}
 

.project-list li[data-project="04"] .obj:before {
    content: '';
    background-color: #e3e3e3;
    width: 100%;
    height: 28%;
    top: 36%;
    position: absolute;
    display: block;
    z-index: -2;
    border-radius: 50rem;
}
.project-list li[data-project="04"] .obj i:nth-of-type(2) {
    grid-column: 2;
    grid-row: 3;
    width: 100%;
    border-radius: 50rem;
}
.project-list li[data-project="04"] a:hover .obj:before {
    background-color: rgba(255, 255, 255, 0.15);
    z-index: 2;
}