@charset "utf-8";

/* 汎用 */
:root {
    --main-color: #006C84;
    --black-color: #10181a;
}

a:hover img { opacity: 0.6; filter: alpha(opacity=6); -moz-opacity: 0.6; transition: 0.7s; }
.mb10 { margin-bottom: 10px; }
.mb15 { margin-bottom: 15px; }
.mb20 { margin-bottom: 20px; }
.mb30 { margin-bottom: 30px; }
.mb40 { margin-bottom: 40px; }
.mb45 { margin-bottom: 45px; }
.mb50 { margin-bottom: 50px; }
.mb60 { margin-bottom: 60px; }
.mb70 { margin-bottom: 70px; }
.mb80 { margin-bottom: 80px; }
.mb90 { margin-bottom: 90px; }
.mb100 { margin-bottom: 100px; }
.mr10 { margin-right: 10px; }
.mr15 { margin-right: 15px; }
.mr20 { margin-right: 20px; }
.mr30 { margin-right: 30px; }
.mr40 { margin-right: 40px; }
.tal { text-align: left; }
.tac { text-align: center; }
.tar { text-align: right; }
.st { font-weight: bold; }
.fl { float: left; }
.fr { float: right; }
.fs16 { font-size: 16px; }
.fs18 { font-size: 18px; }
.fs20 { font-size: 20px; }
.fs22 { font-size: 22px; }
.fs24 { font-size: 24px; }
.fw300 { font-weight: 300; }
.fw400 { font-weight: 400; }
.fw500 { font-weight: 500; }
.fw600 { font-weight: 600; }
.fw700 { font-weight: 700; }
.fw800 { font-weight: 800; }
.flex { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; justify-content: space-between; }
.flex_not_justify { display: -webkit-flex; display: flex; -webkit-flex-wrap: wrap; flex-wrap: wrap; }

/* メインの日本語フォント */
.f_min { font-family: "游明朝", "Yu Mincho", "Hiragino Mincho Pro", serif; }
.f_noto { font-family: "Noto Sans JP", sans-serif; }
.f_hira { font-family: "Hiragino Kaku Gothic ProN", "Hiragino Kaku Gothic Pro", sans-serif; }
.f_gothic { font-family: "游ゴシック Medium", "Yu Gothic Medium", "游ゴシック体", "Yu Gothic M", "YuGothic", sans-serif; }
.f_hirago { font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", sans-serif; }
.f_notoserif { font-family: "Noto Serif JP", serif; }
.f_roboto { font-family: "Roboto", sans-serif; }
.f_zen { font-family: "Zen Antique", serif; }

/* 英字用フォント */
.f_times { font-family: TimesNewRoman, "Times New Roman", Times, Baskerville, Georgia, serif; }
.f_arial { font-family: Arial, "Helvetica Neue", Helvetica, sans-serif; }
.f_open { font-family: "Open Sans", serif; font-style: normal; }
.f_open_c { font-family: 'Open Sans Condensed', serif; font-style: normal; }

/* 画像フィット用 */
.fit_img { display: flex; justify-content: center; align-items: center; /*IE用*/ flex-direction: column; }
.fit_img img { max-width: 100%; max-height: 100%; width: auto; height: auto; }
.regacy_fit_img { display: relative; overflow: hidden; }
.regacy_fit_img img { position: absolute; left: -50%; right: -50%; top: -50%; bottom: -50%; margin: auto; max-width: 100%; max-height: 100%; width: auto; height: auto; }
.ofi { object-fit: cover; font-family: 'object-fit:cover; '; }

/*===========
inview
===========*/

.inview {
  opacity: 0;
  transform: translate(0, 20%);
  transition: 1s;
}
.inview.is-show {
  transform: translate(0, 0);
  opacity: 1;
}
/* ズレ表示用sample */
.top_sec01 .img02 {
	transition-delay: .5s;
}
.top_sec01 .img01 {
	transition-delay: 1.0s;
}
.top_sec01 .img03 {
	transition-delay: 1.5s;
}

.top_sec02 .img01 {
	transition-delay: .5s;
}
.top_sec02 .message_b {
	transition-delay: 1.0s;
}
.top_sec02 h2 {
	transition-delay: 1.5s;
}
.top_sec02 .txt {
	transition-delay: 2.0s;
}
.top_sec02 .btn01 {
	transition-delay: 2s;
}


/*PC用*/
@media print, screen {
	.pc { display: block !important; }
	.sp { display: none !important; }
	
	/* 汎用 */
	.inner_wrap {
		margin: 0 auto;
		width: 1200px;
		max-width: 90%;
	}
	.inner_wrap_l {
		position: relative;
		margin: 0 80px;
		z-index: 10;
	}

	.btn01 {
		margin: 0 auto;
	}
	.btn01 a {
		display: block;
		position: relative;
		padding: 22px 0;
		max-width: 100%;
		border-radius: 180px;
		border: 1px solid #C8C8C8;
		background: #FFFFFF;
		box-shadow: 0 4px 4px 0px rgba(0,0,0,.25);
		font-size: 16px;
		font-weight: 700;
		line-height: 150%;
		text-align: center;
	}
	.arrow_icon {
		overflow: hidden;
		position: absolute;
		top: 0;
		right: 13px;
		bottom: 0;
		width: 40px;
		height: 40px;
		margin: auto 0;
		line-height: 1;
		border-radius: 50%;
		z-index: 10;
	}
	.btn01 a .circle_bg {
		position: absolute;
		top: 0;
		right: 13px;
		bottom: 0;
		width: 40px;
		margin: auto 0;
		height: 40px;
		border-radius: 50%;
		background: var(--main-color);
		transition-duration: 400ms;
		transition-timing-function: cubic-bezier(0.55, 0.05, 0.22, 0.99);
	}
	.arrow_icon:before,
	.arrow_icon:after {
	  content: '';
	  position: absolute;
	  top: 0;
	  bottom: 0;
	  right: 0;
	  margin: auto;
	  width: 40px;
	  height: 13px;
	  background: url(../../images/src/common/btn_arrow.svg) no-repeat center top / 14px;
	  animation-fill-mode: both;
	  animation-duration: 0.6s;
	}
	.arrow_icon:after {
	  transform: translateX(-100%);
	}
	a .arrow_icon:before {
	  animation-name: transformLeftRight;
	  animation-delay: 0.2s;
	}
	a .arrow_icon:after {
	  animation-name: transformRightLeft;
	}
	
	a:hover .arrow_icon:before {
	  animation-name: transformRightLeft;
	  animation-delay: 0s;
	}
	a:hover .arrow_icon:after {
	  animation-name: transformLeftRight;
	  animation-delay: 0.2s;
	}
	@keyframes transformLeftRight {
		0% {
		  transform: translateX(-100%);
		}
		100% {
		  transform: translateX(0);
		}
	  }
	  @keyframes transformRightLeft {
		0% {
		  transform: translateX(0);
		}
		100% {
		  transform: translateX(100%);
		}
	  }


	.btn01 a:hover {
		color: var(--main-color);
	}
	.btn01 a:hover .circle_bg {
		transform: scale(1.5, 1.5);
	}
	
	.side_follow {
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 100;
		width: 80px;
		height: 334px;
		/*background: #00586A;*/
		opacity: 1;
		transform: translateY(0);
		z-index: 999;
	}
	.side_follow.sticky {
		position: fixed;
		top: 104px;opacity: 1;
		transform: translateY(0);
		background: #00586A;
	}
	
	.side_follow .flex {
		display: flex;
		flex-direction: column;
		align-items: center;
		padding: 69px 0 39px;
	}
	.side_follow p {
		margin-bottom: 43px;
		color: #fff;
		font-size: 14px;
		font-weight: 600;
		text-align: center;
		writing-mode: vertical-rl;
	}
	.side_follow ul li a {
		color: #fff;
		/*font-size: 24px;*/
		font-size: 30px;
	}
	.side_follow ul li + li {
		margin-top: 34px;
	}


	/* TOP
	-----------------*/
	#bg-video {
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		width: 100%;
		height: inherit;
		object-fit: cover;
	}

	.top_mv {
		position: relative;
		overflow: hidden;
		width: 100%;
		height: 883px/* clamp(36.75rem, -0.125rem + 46.09vw, 55.188rem) */;
		background: #FFFFFF;
		z-index: 3;
	}
	.top_mv::before {
		content:'';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 338px;
		background-color: #00586A;
	}
	.top_mv::after {
		content:'';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 338px;
		background: url(../../images/src/top/bg0.png);
		mix-blend-mode: multiply;
	}
	.top_mv .top_mv_wrap {
		margin-left: 80px;
		position: relative;
		height: 100%;
		z-index: 5;
		/*border-left: 80px solid #FFFFFF;*/
		/*width: 95.8333%;*/
	}
	.top_mv .video_txt {
		position: absolute;
		left: 77px;
		bottom: 60px;
		width: 1860px;
		max-width: 100%;
	}
	.top_mv .video_txt p {
		color: #fff;
		font-size: clamp(1.677rem, 0.598rem + 2.08vw, 3.098rem);
		font-weight: 500;
		line-height: 41.546px; /* 83.827% */
		letter-spacing: 0.991px;
	}
	.top_mv .video_txt p:last-of-type {
		margin-top: 3.5%;
		font-size: clamp(3.75rem, 2.515rem + 2.38vw, 5.375rem);
		font-weight: 400;
		line-height: 45.568px; /* 44.774% */
	}
	.top_mv .video_txt p span {
		position: relative;
		padding: 0 8px;
		font-size: clamp(3.75rem, 2.515rem + 2.38vw, 5.375rem);
		font-weight: 400;
	}
	.top_mv .video_txt p span::before,
	.top_mv .video_txt p span::after {
		content:'';
		position: absolute;
		width: 33px;
		height: 41px;
	}
	.top_mv .video_txt p span::before {
		top: 20px;
		left: -7px;
		background: url(../../images/src/top/brackets01.svg) no-repeat left top / 100%;
	}
	.top_mv .video_txt p span::after {
		bottom: 8px;
		right: -7px;
		background: url(../../images/src/top/brackets02.svg) no-repeat left top / 100%;
	}
	.top_mv .video_txt p + p {
		margin-top: 33px;
	}
	
	.top_mv .webcatalog {
		position: absolute;
		right: 30px;
		bottom: 30px;
		/*width: clamp(5.813rem, 2.963rem + 5.5vw, 9.563rem);*/
		width: 200px;
		animation: floating-y 1.8s ease-in-out infinite alternate-reverse;
	}
	@keyframes floating-y {
		0% {
		  transform: translateY(-10%);
		}
		100% {
		  transform: translateY(10%);
		}
	  }

	.top_sec01 {
		/*padding-bottom: 10.469vw;*/
		position: relative;
		background: #FFFFFF;
		/*height: 954px;*/
		z-index: 1;
	}
	.top_sec01::before {
		content:'';
		position: absolute;
		top: -1px;
		left: 0;
		width: 100%;
		height: clamp(4.5rem, -6rem + 13.13vw, 9.75rem);
		z-index: 1;
		background: #00586A;
		/* background: linear-gradient(90deg, rgba(0, 108, 132, 1), rgba(0, 155, 161, 1)); */
	}
	.top_sec01::after {
		content:'';
		position: absolute;
		/*top: -66%;*/
		top: clamp(-58rem, 19.563rem + -47.97vw, -38.188rem);
		left: 0;
		width: 100%;
		/*height: 1366px;*/
		height: 2732px;
		background: url(../../images/src/top/bg01.png) no-repeat left top / 100%;
		mix-blend-mode: multiply;
		z-index: 2;
	}
	.top_sec01 .inner_wrap_l {
		/*margin-right: 70px;*/
		margin: 0 auto;
		padding: 11.48% 0 120px;
		width: 1775px;
		max-width: 100%;
	}
	/*.top_sec01 .inner_wrap_l h2 {
		margin-bottom: 66px;
		padding-left: clamp(0.969rem, -31.594rem + 40.7vw, 17.25rem);
		font-size: clamp(2.557rem, 1.422rem + 1.42vw, 3.125rem);
		font-weight: 700;
		line-height: 1.56;
	}
	.top_sec01 .inner_wrap_l h2 span {
		position: relative;
		color: var(--main-color);
		font-weight: 700;
		letter-spacing: 7px;
	}
	.top_sec01 .inner_wrap_l h2 span::before,
	.top_sec01 .inner_wrap_l h2 span::after {
		content:'';
		position: absolute;
		width: 1.198vw;
		height: 0.833vw;
	}
	.top_sec01 .inner_wrap_l h2 span::before {
		top: 0;
		left: -23px;
		background: url(../../images/src/top/quote01.svg) no-repeat left top / 100%;
	}
	.top_sec01 .inner_wrap_l h2 span::after {
		bottom: 0;
		right: -3px;
		background: url(../../images/src/top/quote02.svg) no-repeat left top / 100%;
	}*/
	.top_sec01 .inner_wrap_l h2 {
		/*max-width: 60.5%;*/
		margin-bottom: 60px;
		width: clamp(25rem, -6.344rem + 60.49vw, 66.25rem);
		margin-left: clamp(0rem, -3.324rem + 6.42vw, 4.375rem);
	}
	.top_sec01 .inner_wrap_l h2 span {
		display: block;
	}
	.top_sec01 .inner_wrap_l h2 span:last-of-type {
		/*text-align: right;*/
		padding-left: clamp(18.75rem, 7.115rem + 22.46vw, 34.063rem);
	}
	.top_sec01 .inner_wrap_l .txt {
		padding-left: clamp(11.75rem, -23.5rem + 44.06vw, 32.375rem);
		font-size: 16px;
		font-weight: 400;
		line-height: 2.5;
	}
	.top_sec01 .inner_wrap_l .txt.second {
		font-size: 22px;
		font-weight: 700;
		line-height: 48px;
	}
	.top_sec01 .inner_wrap_l .txt.second span {
		font-weight: 700;
		color: var(--main-color);
	}
	.top_sec01 .inner_wrap_l .message_b {
		position: absolute;
		left: -17px;
		top: 60px;
		color: rgba(103, 167, 182, 0.20);
		font-size: clamp(11rem, 3rem + 10vw, 15rem);
		font-weight: 400;
		letter-spacing: 0.03em;
		z-index: 10;
	}
	.top_sec01 .inner_wrap_l .img01 {
		position: absolute;
		bottom: 0;
		left: clamp(-5rem, -15rem + 12.5vw, 0rem);
		max-width: 18.49vw;
	}
	.top_sec01 .inner_wrap_l .img02 {
		position: absolute;
		top: 74px;
		right: clamp(-5rem, -15rem + 12.5vw, 0rem);
		max-width: 33.25vw;
		z-index: 2;
	}
	.top_sec01 .inner_wrap_l .img03 {
		position: absolute;
		top: 569px;
		/*right: 500px;*/
		right: clamp(0rem, -23.745rem + 45.83vw, 31.25rem);
		max-width: 11.25vw;
		z-index: 100;
	}
	.top_sec02 {
		position: relative;
		padding-bottom: 120px;
		background: url(../../images/src/top/sec02_bg.webp);
		overflow: hidden;
	}
	.top_sec02::before {
		content:'';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 178px;
		background: #FFFFFF;
		z-index: 0;
	}
	.top_sec02 .inner_wrap_m {
		position: relative;
		margin: 0 auto;
		width: 1540px;
		max-width: 90%;
		z-index: 10;
	}
	.top_sec02 .textarea {
		margin-top: -250px;
	}
	.top_sec02 .textarea .message_b {
		color: #453D25;
		font-size: 128px;
		font-weight: 300;
		letter-spacing: 12.8px;
		text-align: center;
		opacity: 0.13;
	}
	.top_sec02 .textarea h2 {
		margin: -30px auto 40px;
		font-size: 32px;
		font-weight: 700;
		letter-spacing: 4.48px;
		line-height: 0.625;
		text-align: center;
	}
	.top_sec02 .textarea .txt {
		margin-bottom: 40px;
		font-size: 18px;
		font-weight: 500;
		letter-spacing: 2.52px;
		line-height: 48px;
		text-align: center;
	}
	.top_sec02 .textarea .btn01 {
		max-width: 340px;
	}
	.top_sec02 .swiper_01 {
		margin-top: 100px;
	}
	.top_sec02 .swiper_01 .swiper-wrapper {
		transition-timing-function: linear;
	}
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide {
		position: relative;
		width: 385px; 
	}
	
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide.shadow_none {
		padding: 0 40px;
	}
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide.shadow_none.none02 {
		padding: 0;
	}
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide .image {
		position: relative;
		cursor: pointer;
		box-shadow: 6px 6px 6px rgba(0,0,0,.25);
	}
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide.shadow_none .image {
		box-shadow: none;
	}
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide .image::before {
		content:'';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,.2);
		opacity: 0;
		transition: 0.4s;
	}
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide .image:hover::before {
		opacity: 1;
	}
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide .overtext {
		position: absolute;
		left: 18.3px;
		right: 18.3px;
		bottom: 18.3px;
		opacity: 0;
		color: #FFFFFF;
		font-size: 14px;
		font-weight: 500;
		line-height: 2;
		text-shadow: 0 4px 4px rgba(0,0,0,.25);
	}
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide .image:hover .overtext {
		opacity: 1;
	}
	.top_pall_video {
		position: relative;
		height: 750px;
	}
	.video00 {position: relative;}
	#video02 {
		position: fixed;
		right: 0;
		top: 0;
		bottom: 0;
		z-index: -100;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.top_sec03 {
		position: relative;
		padding: 151px 0 120px;
		background: #FFFFFF;
		overflow: hidden;
	}
	/*.top_sec03::before {
		content:'';
		position: absolute;
		top: 332px;
		left: 0;
		width: 95.67%;
		height: 598px;
		height: clamp(33.75rem, 26.5rem + 9.06vw, 37.375rem);
		background: #ECF5F8;
	}*/
	.top_sec03::before,
	.top_sec03::after {
		content:'';
		position: absolute;
	}
	.top_sec03::before {
		left: 0;
		top: 0;
		width: 100%;
		height: 1152px;
		background: url(../../images/src/top/bg02.png) no-repeat left top / 100%;
		mix-blend-mode: multiply;
	}
	.top_sec03::after {
		right: 0;
		bottom: 0;
		width: 100%;
		/*height: 378px;*/
		height: 505px;
		/*background: url(../../images/src/top/bg03.png) no-repeat right bottom / 100%;*/
		mix-blend-mode: multiply;
	}
	.top_sec03 .block {
		margin-left: clamp(8.125rem, -23.125rem + 39.06vw, 23.75rem);
		width: 556px;
		position: relative;
		z-index: 1;
	}
	.top_sec03 .text_box {
		margin-bottom: 90px;
		width: 556px;
	}
	.top_sec03 .text_box .message_b {
		margin-left: -70px;
		/*color: rgba(103,167,182,.2);*/
		font-size: 128px;
		font-weight: 300;
		/*line-height: 22px;*/
		letter-spacing: 17.92px;
	    line-height: 1; /* 通常の高さを確保 */
		opacity: 0.2;
		background: linear-gradient(90deg, #008418 0%, #006C84 31.5%, #84006C 73.5%, #841800 100%);
		background-clip: text;
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		display: inline-block; /* テキストの高さを正確に反映 */
	}
	.top_sec03 .text_box h2 {
		margin: -50px 0 20px;
		font-size: 42px;
		font-weight: 700;
		line-height: 70px;
		letter-spacing: 5.88px;
	}
	.top_sec03 .text_box p {
		font-size: 16px;
		font-weight: 400;
		line-height: 40px;
		letter-spacing: 2.24px;
	}
	.top_sec03 .works_list {
		position: relative;
		justify-content: left;
		gap: 0 30px;
		z-index: 10;
	}
	.top_sec03 .works_list li {
		position: relative;
		padding-left: 14px;
		font-size: 16px;
		font-weight: 700;
		line-height: 40px;
		letter-spacing: 2.24px;
	}
	.top_sec03 .works_list li::before {
		content:'';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		margin: auto;
		width: 6px;
		height: 6px;
		border-radius: 50%;
		background: var(--main-color);
	}
	.top_sec03 .btn01 {
		width: 340px;
		position: relative;
		z-index: 1;
	}

	.swiper_02 {
		margin: -21% 0 50px auto;
		width: 100%;
		/*max-width: 972px;*/
		/*max-width: 50.625vw;*/
		height: 31.875vw;
		transition: transform .3s;
		position: relative;
		z-index: 1;
	}
	.swiper_02 .swiper-wrapper {
	}
	.swiper_02 .swiper-slide {
		margin: 0 10px;
		width: 11.458333% !important;
		height: 31.875vw;
		transition: .7s;
		transition-delay: .3s;
	}
	.swiper_02 .swiper-slide img {
		position: absolute;
		bottom: 0;
	}
	.swiper_02 .swiper-slide-active {
		margin: 0 0 0 102px;
		width: 50.625% !important;
	}
	.swiper_02 .swiper-slide-active img {
		width: 100%;
		box-shadow: 6px 6px 6px 0 rgba(0,0,0,.16);
	}
	.swipebtn {
		position: absolute;
		top: 0;
		right: 0;
		width: 50.625%;
		height: 100%;
	}
	.swiper-button-next,
	.swiper-button-prev {
		width: 60px;
		height: 60px;
	}
	.swiper-button-next {
		right: clamp(1.875rem, -9.375rem + 9.38vw, 5.625rem);
	}
	.swiper-button-prev {
		left: calc(30px + (100vw - 1920px) * -0.125);
	}
	.swiper-button-next:after,
	.swiper-rtl .swiper-button-prev:after {
		content:'';
		width: 60px;
		height: 60px;
		background: url(../../images/src/top/next.svg) no-repeat left top / 100%;
	}
	.swiper-button-prev:after,
	.swiper-rtl .swiper-button-next:after {
		content:'';
		width: 60px;
		height: 60px;
		background: url(../../images/src/top/prev.svg) no-repeat left top / 100%;
	}


	.top_sec04 {
		padding-bottom: 120px;
		position: relative;
		/*background: #FFFFFF;*/
		background: #DBECF0;
	}
	.top_sec04::after {
		content:'';
		position: absolute;
		bottom: 0;
		right: 0;
		width: 1203px;
		height: 218px;
		background: url(../../images/src/top/bg05.svg) no-repeat left bottom / 100%;
	}
	.top_sec04 .top_sec04_color {
		background: var(--main-color);
		min-height: 534px;
		position: relative;
	}
	.top_sec04 .top_sec04_color::before {
		content:'';
		position: absolute;
		bottom: 0;
		right: 0;
		width: 100%;
		height: 2274px;
		background: url(../../images/src/top/bg03.png) no-repeat left bottom / 100%;
		mix-blend-mode: multiply;
	}
	.top_sec04 .inner_wrap {
		margin-bottom: 60px;
		padding-top: 140px;
		position: relative;
		z-index: 1;
	}
	.top_sec04 .inner_wrap .message_b {
		color: rgba(255,255,255,.14);
		font-size: 128px;
		font-weight: 300;
		text-align: center;
		line-height: 22px;
		letter-spacing: 12.8px;
		white-space: nowrap;
	}
	.top_sec04 .inner_wrap h2 {
		margin-bottom: 20px;
		color: #FFFFFF;
		font-size: 42px;
		font-weight: 700;
		text-align: center;
		line-height: 70px;
		letter-spacing: 5.88px;
	}
	.top_sec04 .inner_wrap .txt {
		color: #FFFFFF;
		font-size: 16px;
		font-weight: 400;
		text-align: center;
		line-height: 40px;
		letter-spacing: 2.24px;
	}
	.top_sec04 .original_item_list {
		margin: -104px auto 70px;
		/*padding-top: 104px;*/
		width: 1720px;
		max-width: 90%;
		position: relative;
		z-index: 1;
		overflow: hidden;
	}
	.top_sec04 .original_item_list .parts {
		display: flex;
		flex-direction: column;
		width: 410px;
	}
	.top_sec04 .original_item_list .parts a {
		display: flex;
		flex-direction: column;
		flex: 1 0 auto;
	}
	
	.top_sec04 .original_item_list .parts .img img {
		box-shadow: 6px 6px 6px rgba(0,0,0,.16);
		object-fit: cover;
	}
	.top_sec04 .original_item_list .parts:hover .img img {
		opacity: 1;
	}
	
	.top_sec04 .original_item_list .parts .text_area {
		position: relative;
		margin-top: 10px;
		flex-grow: 1;
	}
	.top_sec04 .original_item_list .parts .text_area::after {
		content:'';
		position: absolute;
		bottom: 0;
		right: 0;
		width: 40px;
		height: 40px;
		background: url(../../images/src/common/arrow02.svg) no-repeat left top / 100%;
		transition: 0.7s;
	}
	.top_sec04 .original_item_list .parts:hover .text_area::after {
		background: url(../../images/src/common/arrow02_white.svg) no-repeat left top / 100%;
	}
	.top_sec04 .original_item_list .parts .text_area .ttl {
		/*font-size: 24px;*/
		font-size: clamp(0.813rem, 0.29rem + 1.01vw, 1rem);
		font-weight: 700;
		line-height: 33px;
		letter-spacing: clamp(0.063rem, -0.05rem + 0.22vw, 0.21rem);
		/*white-space: nowrap;*/
	}
	.top_sec04 .original_item_list .parts .text_area .ttl span {
		/*padding-right: 13px;*/
		padding-right: clamp(0rem, -0.617rem + 1.19vw, 0.813rem);
		color: var(--main-color);
		font-weight: 600;
	}
	.top_sec04 .original_item_list .parts .text_area .txt {
		padding-right: 56px;
		font-size: 16px;
		font-weight: 400;
		line-height: 32px;
		letter-spacing: 2.24px;
		height: 64px;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	.top_sec04 .swiper-button-next {
		z-index: 10;
	}
	.top_sec04 .swipebtn {
		width: 100%;
	}
	.top_sec04 .btn01 {
		width: 340px;
		position: relative;
		z-index: 1;
	}
	.top_sec05 {
		margin-top: 740px;
		padding: 193px 0 120px;
		background: #ECF5F8;
	}
	.top_sec05 .recruit_left {
		width: calc(50% - 120px);
	}
	.top_sec05 .recruit_left .message_b {
		margin: -24px 0 0 -37px;
		color: rgba(103, 167, 182, 0.20);
		font-size: 128px;
		font-weight: 300;
		line-height: 1;
		letter-spacing: 17.92px;
		white-space: nowrap;
		opacity: 0.2;
		background: linear-gradient(90deg, #008418 0%, #006C84 31.5%, #84006C 73.5%, #841800 100%);
		background-clip: text;
		-webkit-background-clip: text;
		-webkit-text-fill-color: transparent;
		display: inline-block; /* テキストの高さを正確に反映 */
	}
	.top_sec05 .recruit_left h2 {
		margin-top: -50px;
		font-size: 42px;
		font-weight: 700;
		line-height: 66px;
		letter-spacing: 5.88px;
	}
	.top_sec05 .recruit_left .sub_h2 {
		margin-top: 28px;
		font-size: 32px;
		font-style: normal;
		font-weight: 700;
		line-height: 52px; /* 162.5% */
		letter-spacing: 4.48px;
	}
	.top_sec05 .recruit_left .sub_h2 span {
		position: relative;
		color: var(--main-color);
		font-size: 32px;
		font-style: normal;
		font-weight: 700;
		line-height: 52px;
		letter-spacing: 4.48px;
	}
	.top_sec05 .recruit_left .sub_h2 span.ico::before,
	.top_sec05 .recruit_left .sub_h2 span.ico::after {
		content: '';
		position: absolute;
		width: 16px;
		height: 11px;
	}
	.top_sec05 .recruit_left .sub_h2 span.ico::before {
		top: 4px;
		left: -15px;
		background: url(../../images/src/top/quote01.svg) no-repeat left top / 100%;
	}
	.top_sec05 .recruit_left .sub_h2 span.ico::after {
		top: 10px;
		right: -12px;
		background: url(../../images/src/top/quote02.svg) no-repeat left top / 100%;
	}
	.top_sec05 .recruit_left .txt {
		margin: 20px 0 41px;
		font-size: 16px;
		font-weight: 400;
		line-height: 40px;
		letter-spacing: 2.24px;
	}
	.top_sec05 .recruit_left .btn01 {
		margin: 0;
		width: 340px;
	}
	.top_sec05 .img {
		width: calc(50% + 65px);
	}
	.top_sec06 {
		padding: 120px 0 130px;
		background: #FFFFFF;
	}
	.top_sec06 .news_left {
		width: 170px;
	}
	.top_sec06 .news_left .message_b {
		color: var(--main-color);
		font-size: 50px;
		font-weight: 600;
		line-height: 22px;
		letter-spacing: 7px;
	}
	.top_sec06 .news_left h2 {
		font-size: 22px;
		font-weight: 700;
		line-height: 70px;
		letter-spacing: 3.08px;
	}
	.top_sec06 .news_left .btn02 {
		margin-top: 68px;
	}
	.top_sec06 .news_left .btn02 a {
		position: relative;
		padding-right: 30px;
		font-size: 16px;
		font-weight: 700;
		line-height: 150px;
		letter-spacing: 2.24px;
	}
	.top_sec06 .news_left .btn02 a::after {
		content:'';
		position: absolute;
		top: 0;
		right: -30px;
		bottom: 0;
		margin: auto;
		width: 40px;
		height: 40px;
		background: url(../../images/src/common/arrow02.svg) no-repeat left top / 100%;
		transition: 0.7s;
	}
	.top_sec06 .news_left .btn02 a:hover::after {
		background: url(../../images/src/common/arrow02_white.svg) no-repeat left top / 100%;
	}
	.top_sec06 .news_list {
		width: calc(50% + 292px);
	}
	.top_sec06 .news_list a {
		position: relative;
		display: block;
		padding: 20px 0;
		border-top: 1px dashed #10181a;
	}
	.top_sec06 .news_list a:last-of-type {
		border-bottom: 1px dashed #10181a;
	}
	.top_sec06 .news_list a::after {
		content:'';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		width: 40px;
		height: 40px;
		background: url(../../images/src/common/arrow02_white.svg) no-repeat left top / 100%;
		transition: 0.7s;
	}
	.top_sec06 .news_list a:hover::after {
		background: url(../../images/src/common/arrow02.svg) no-repeat left top / 100%;
	}
	.top_sec06 .news_list a .date {
		color: var(--main-color);
		font-size: 16px;
		font-weight: 700;
		line-height: 51.15px;
		letter-spacing: 2.24px;
	}
	.top_sec06 .news_list a .date .new_mark{
		display: inline-block;
		padding-left: 1em;
		color: red;
	}
	.top_sec06 .news_list a .ttl {
		margin-top: -20px;
		padding-right: 50px;
		font-size: 16px;
		font-weight: 700;
		line-height: 51.15px;
		letter-spacing: 2.24px;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 1;
	}
	.top_sec07 {
		color: #FFFFFF;
		text-align: center;
		position: relative;
		z-index: 1;
	}
	.top_sec07 .company_left,
	.top_sec07 .contact_right {
		padding: 90px 0;
		width: calc(50%);
	}
	.top_sec07 .company_left {
		position: relative;
		z-index: 100;
		background: url(../../images/src/top/sec07_bg.png) no-repeat center top / cover;
	}
	.top_sec07 .contact_right {
		position: relative;
		background: var(--main-color);
		overflow: hidden;
	}
	.top_sec07 .contact_right p,
	.top_sec07 .contact_right div,
	.top_sec07 .contact_right h2 {
		position: relative;
		z-index: 10;
	}
	/*.top_sec07 .contact_right::before {
		content: '';
		position: absolute;
		top: 0;
		right: -9px;
		width: 960px;*/
		/*width: 101%;
		height: 485px;
		background: url(../../images/src/top/bg06.png) no-repeat left top / 100%;
		mix-blend-mode: multiply;
	}*/
	
	.top_sec07 .f_open {
		font-size: 42px;
		font-weight: 600;
		line-height: 22px;
		letter-spacing: 5.88px;
	}
	.top_sec07 h2 {
		font-size: 22px;
		font-weight: 700;
		line-height: 70px;
		letter-spacing: 3.08px;
	}
	.top_sec07 .txt {
		font-size: 16px;
		font-weight: 900;
		line-height: 40px;
		letter-spacing: 2.24px;
	}
	.top_sec07 .contact_right .tel {
		margin-bottom: 6px;
	}
	.top_sec07 .contact_right .tel a {
		position: relative;
		color: #FFFFFF;
		font-size: 44px;
		font-weight: 600;
		line-height: 52px;
		letter-spacing: 6.16px;
	}
	.top_sec07 .contact_right .tel a:before {
		content:'';
		position: absolute;
		top: 5px;
		bottom: 0;
		left: -47px;
		margin: auto;
		width: 28px;
		height: 29px;
		background: url(../../images/src/top/tel_white.svg) no-repeat left top / 100%; 
	}
	.top_sec07 .contact_right .txt {
		font-weight: 700;
	}
	.top_sec07 .company_left .btn01 {
		margin-top: 51px;
		width: 340px;
	}
	.top_sec07 .contact_right .btn01 {
		margin-top: 40px;
		width: 413px;
	}


	.bnr_area {
		position: relative;
		padding: 80px 0 100px;
		text-align: center;
		background: #FFFFFF;
	}
	.bnr_area::before,
	.bnr_area::after {
		content:'';
		position: absolute;
		mix-blend-mode: multiply;
	}
	.bnr_area::before {
		top: -58%;
		right: 0;
		width: 100%;
		height: 1632px;
		background: url(../../images/src/top/_bg06.png) no-repeat left top / 100%;
	}
	.bnr_area::after {
		bottom: 0;
		left: 0;
		width: 845px;
		height: 194px;
		background: url(../../images/src/top/bg08.svg) no-repeat left top / 100%;
	}
	.bnr_area a {
		display: block;
		margin: 0 auto;
		width: 846px;
		position: relative;
		z-index: 10;
	}
	.bnr_area a:last-of-type {
		margin-top: 70px;
		width: 1200px;
		max-width: 100%;
	}

	/* 下層
	--------------*/
	.error404 .inner_mv_wrap {
		background: url(../../images/src/company/mv.webp) no-repeat left top / cover;
	}
	.error404 .inner_wrap {
		padding: 120px 0;
	}
	.error404 .inner_wrap .btn01 {
		margin-top: 90px;
		width: 340px;
	}
	
	.inner_mv {
		position: relative;
		margin: 104px 0 0 0;
		height: 500px;
	}
	.inner_mv .inner_mv_wrap {
		position: relative;
		margin-left: auto;
		/*width: 95.8333%;*/
		border-left: 80px solid #FFFFFF;
		height: 100%;
	}
	.inner_mv .ttlbox {
		position: absolute;
		left: 30px;
		bottom: 7px;
		color: #FFFFFF;
	}
	.inner_mv .en_ttl {
		margin-bottom: 26px;
		font-size: 86px;
		font-weight: 400;
		line-height: 22px;
		letter-spacing: 12.04px;
		text-shadow: 0px 4px 4px rgba(0,0,0,.25);
	}
	.inner_mv h1 {
		font-size: 24px;
		font-weight: 700;
		line-height: 70px;
		letter-spacing: 3.36px;
		text-shadow: 0px 4px 4px rgba(0,0,0,.25);
	}
	/* breadcrumbs パンくず */
	.breadcrumbs {
		padding: 7px 40px 13px 0;
		background: var(--main-color);
		color: #FFFFFF;
		text-align: right;
		position: relative;
		z-index: 10;
	}
	.breadcrumbs span span {
		padding: 0 5px;
		font-size: 14px;
		line-height: normal;
		letter-spacing: 1.96px;
	}
	.breadcrumbs a span {
		color: #FFFFFF;
		font-weight: 700;
		text-decoration: underline;
	}

	/* pagenavi ページャー */
	.wp-pagenavi {
		margin-bottom: 140px;
		text-align: center;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 0 10px;
	}
	.wp-pagenavi span,
	.wp-pagenavi a {
		display: flex;
		flex-direction: column;
		align-items: center;
		justify-content: center;
		box-sizing: border-box;
		font-family: "Open Sans", serif;
		padding-left: 2px;
		width: 40px;
		height: 40px;
		border: 1px solid var(--main-color);
		border-radius: 50%;
		color: var(--main-color);
		font-size: 16px;
		font-weight: 700;
		line-height: 51.15px; /* 319.688% */
		letter-spacing: 2.24px;
	}
	.wp-pagenavi .current,
	.wp-pagenavi a:hover:not(.first,.last) {
		color: #FFFFFF;
		background: var(--main-color);
		transition: 0.7s;
	}
	.wp-pagenavi .first,
	.wp-pagenavi .last {
		position: relative;
		border: none;
		color: #10181a;
	}
	.wp-pagenavi .first::before,
	.wp-pagenavi .last::before {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		width: 40px;
		height: 40px;
		transition: .7s;
	}
	.wp-pagenavi .first::before {
		left: -60px;
		background: url(../../images/src/works/arrow_left.svg) no-repeat left top / 100%;
	}
	.wp-pagenavi .last::before {
		right: -50px;
		background: url(../../images/src/works/arrow_right.svg) no-repeat left top / 100%;
	}
	.wp-pagenavi .first:hover::before {
		background: url(../../images/src/works/arrow_left_white.svg) no-repeat left top / 100%;
	}
	.wp-pagenavi .last:hover::before {
		background: url(../../images/src/works/arrow_right_white.svg) no-repeat left top / 100%;
	}
	.wp-pagenavi .first {
		margin-right: 40px;
	}
	.wp-pagenavi .last {
		margin-left: 40px;
	}
	
	/* 下層フッター */
	.contact_area {
		padding: 90px 0;
		background: var(--main-color);
		text-align: center;
		color: #FFFFFF;
	}
	#leisure .contact_area {
		background: url(../../images/src/leisure/contact_bg.png) no-repeat center top;
		background-size: cover;
	}

	.contact_area .en {
		font-size: 42px;
		font-weight: 600;
		line-height: 22px; /* 52.381% */
		letter-spacing: 5.88px;
	}
	.contact_area h2 {
		margin-bottom: 45px;
		font-size: 22px;
		font-weight: 700;
		line-height: 70px; /* 318.182% */
		letter-spacing: 3.08px;
	}
	.contact_area .flex {
		justify-content: center;
		gap: 0 70px;
		align-items: center;
	}
	.contact_area .tel a {
		position: relative;
		color: #FFFFFF;
		font-size: 44px;
		font-weight: 600;
		line-height: 52px;
		letter-spacing: 6.16px;
	}
	.contact_area .tel a:before {
		content: '';
		position: absolute;
		top: 5px;
		bottom: 0;
		left: -47px;
		margin: auto;
		width: 28px;
		height: 29px;
		background: url(../../images/src/top/tel_white.svg) no-repeat left top / 100%;
	}
	.contact_area .ptxt {
		font-size: 16px;
		font-weight: 700;
		line-height: 40px;
		letter-spacing: 2.24px;
	}
	.contact_area .btn01 {
		width: 413px;
		margin: 0;
	}

	.ft_link_area .parts {
		width: 33.333%;
	}
	.ft_link_area .parts a {
		display: block;
		position: relative;
	}
	.ft_link_area .parts a .img img {
		width: 100%;
	}
	.ft_link_area .parts a::before {
		content:'';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0.9;
		background: url(../../images/src/works/layer.png)  50% bottom repeat-x;
		mix-blend-mode: multiply;
	}
	.ft_link_area .parts a::after {
		content:'';
		position: absolute;
		right: 20px;
		bottom: 21px;
		width: 40px;
		height: 40px;
		background: url(../../images/src/works/arrow_right_white02.svg) no-repeat left top / 100%;
		transition: 0.4s;
	}
	.ft_link_area .parts a:hover::after {
		background: url(../../images/src/works/arrow_right_white.svg) no-repeat left top / 100%;
	}
	.ft_link_area .parts .bx {
		position: absolute;
		left: 28px;
		bottom: 28px;
		color: #FFFFFF;
	}
	.ft_link_area .parts .en {
		margin-bottom: 24px;
		font-size: 38px;
		font-style: normal;
		font-weight: 600;
		line-height: 19.413px; /* 51.087% */
		letter-spacing: 5.32px;
	}
	.ft_link_area .parts h2 {
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 19.413px; /* 121.332% */
		letter-spacing: 2.24px;
	}

	/* CONTACT */
	
	#contact .inner_mv_wrap {
		background: url(../../images/src/contact/mv.webp) no-repeat left top / cover;
	}	
	#contact .sec01 {
		padding: 90px 0;
		background: #F1F1F1;
		text-align: center;
	}
	#contact h3 {
		color: var(--main-color);
		font-size: 50px;
		font-style: normal;
		font-weight: 600;
		line-height: 19.413px; /* 38.826% */
		letter-spacing: 7px;
	}
	#contact .txt {
		margin: 32px auto 50px;
		font-size: 18px;
		font-style: normal;
		font-weight: 700;
		line-height: 19.413px; /* 107.851% */
		letter-spacing: 2.52px;
	}
	#contact .sec01 .box {
		margin: 0 auto;
		padding: 30px 0 37px;
		width: 512px;
		background: #FFFFFF;
	}
	#contact .sec01 .box .tel {
		margin-bottom: 9px;
	}
	#contact .sec01 .box .tel a {
		position: relative;
		padding-left: 44px;
		color: var(--main-color);
		font-size: 44px;
		font-style: normal;
		font-weight: 600;
		line-height: 52px; /* 118.182% */
		letter-spacing: 6.16px;
	}
	#contact .sec01 .box .tel a::before {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		left: 0;
		margin: auto;
		width: 28px;
		height: 29px;
		background: url(../../images/src/contact/tel.svg) no-repeat left top / 100%;
	}
	#contact .sec01 .box .time {
		margin: 0 59px;
		padding: 7px 0;
		border-radius: 4px;
		background: var(--main-color);
		color: #FFFFFF;
		font-size: 14px;
		font-style: normal;
		font-weight: 700;
		letter-spacing: 1.96px;
	}
	#contact .sec02 {
		padding: 120px 0;
	}
	#contact .sec02 table tr {
		
		border-top: 1px solid #DFDFDF;
		border-bottom: 1px solid #DFDFDF;
	}
	#contact .sec02 table th {
		vertical-align: middle;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: normal;
		letter-spacing: 2.24px;
	}
	#contact .sec02 table th span {
		margin-right: 16px;
		padding: 3px 12px;
		color: #FFFFFF;
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 1.96px;
		border-radius: 4px;
		text-align: center;
		background: var(--main-color);
	}
	#contact .sec02 table td {
		padding: 53px 0;
	}
	#contact .sec02 .privacy {
		margin: 100px auto 70px;
		padding: 52px 43px 0 60px;
		width: 1000px;
		height: 422px;
		max-width: 90%;
		box-sizing: border-box;
		overflow-y: scroll;
		background: #F1F1F1;
	}
	#contact .sec02 .privacy h4 {
		margin-bottom: 27px;
		font-size: 18px;
		font-style: normal;
		font-weight: 700;
		line-height: normal;
		letter-spacing: 2.52px;
	}
	#contact .sec02 .privacy p {
		font-size: 14px;
		font-style: normal;
		font-weight: 400;
		line-height: 32px; /* 228.571% */
		letter-spacing: 1.96px;
	}
	#contact .sec02 .mwform-radio-field {
		padding-right: 40px;
	}
	#contact .sec02 input[type="radio"] {
		accent-color: var(--main-color);
		inline-size: 28px;
		block-size: 28px;
	}
	#contact .sec02 .mwform-radio-field-text {
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: normal;
		letter-spacing: 2.24px;
		vertical-align: top;
	}
	#contact .sec02 input[type="text"],
	#contact .sec02 textarea {
		padding: 20px 31px;
		width: 100%;
		box-sizing: border-box;
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: normal;
		letter-spacing: 2.24px;
		border: 0;
		background: #F1F1F1;
	}
	#contact .sec02 textarea {
		height: 212px;
	}
	#contact .sec02 .btn_area {
		gap: 0 30px;
		justify-content: center;
	}
	#contact .sec02 .btn_area > div {
		position: relative;
	}
	#contact .sec02 .btn_area input {
		cursor: pointer;
		display: block;
		padding: 20px 0;
		border:0;
		box-sizing: border-box;
		background: transparent;
		width: 340px;
		border-radius: 180px;
		box-shadow: 0 4px 4px rgba(0,0,0,.25);
		color: #FFFFFF;
		text-align: center;
		font-family: "Noto Sans JP", sans-serif;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 150%; /* 24px */
		letter-spacing: 2.24px;

	}
	#contact .sec02 .btn_area .back_btn input {
		background: #5C5C5C;
	}

	#contact .sec02 .btn_area .send_btn input {
		background: var(--main-color);
	}
	.mw_wp_form_input .btn_area .back_btn::after {
		display: none;
	}
	#contact .sec02 .btn_area .back_btn::after {
		content: '';
		position: absolute;
		top: 0;
		left: 14px;
		bottom: 0;
		margin: auto;
		width: 40px;
		height: 40px;
		background: url(../../images/src/contact/arrow_back.svg) no-repeat left top / 100%;
	}
	#contact .sec02 .btn_area .send_btn::after {
		content: '';
		position: absolute;
		top: 0;
		right: 14px;
		bottom: 0;
		margin: auto;
		width: 40px;
		height: 40px;
		background: url(../../images/src/contact/arrow_send.svg) no-repeat left top / 100%;
	}


	/* NEWS */
	
	#news .inner_mv_wrap {
		background: url(../../images/src/news/mv.webp) no-repeat left top / cover;
	}
	#news .news_list .block {
		margin: 140px auto 120px;
	}
	#news .news_list .block .parts {
		display: block;
		position: relative;
		width: 100%;
		padding: 20px 0;
		border-top: 1px dashed #10181a;
	}
	#news .news_list .block .parts::after {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin:auto;
		width: 40px;
		height: 40px;
		transition: .7s;
		background: url(../../images/src/works/arrow_right.svg) no-repeat left top / 100%;
	}
	#news .news_list .block .parts:hover::after {
		background: url(../../images/src/works/arrow_right_white.svg) no-repeat left top / 100%;
	}
	
	#news .news_list .block .parts:last-of-type {
		border-bottom: 1px dashed #10181a;
	}
	#news .news_list .block .parts .date {
		color: var(--main-color);
		font-size: 16px;
		font-weight: 400;
		line-height: 51.15px; /* 319.688% */
		letter-spacing: 2.24px;
	}
	#news .news_list .block .parts .date .new_mark{
		display: inline-block;
		padding-left: 1em;
		color: red;
	}
	#news .news_list .block .parts .ttl {
		margin-top: -2px;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 51.15px; /* 319.688% */
		letter-spacing: 2.24px;
	}
	/* news 詳細 */
	#news .news_detail {
		margin: 80px auto;
	}
	#news .news_detail .date {
		border-bottom: 1px solid #A1A1A1;
		color: var(--main-color);
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 51.15px; /* 319.688% */
		letter-spacing: 2.24px;
	}
	#news .news_detail h2 {
		margin: 30px 0;
		font-size: 28px;
		font-style: normal;
		font-weight: 700;
		line-height: 52px; /* 185.714% */
		letter-spacing: 3.92px;
		
	}
	#news .navigation {
		margin-bottom: 126px;
		justify-content: center;
		gap: 0 40px;
		align-items: center;
	}
	#news .navigation .back a {
		display: block;
		padding: 11px 23px;
		width: 140px;
		box-sizing: border-box;
		border: 1px solid var(--main-color);
		border-radius: 180px;
		color: var(--main-color);
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		letter-spacing: 2.24px;
		text-align: center;
		transition: .7s;
	}
	#news .navigation .back a:hover {
		color: #FFFFFF;
		background: var(--main-color);
	}
	#news .navigation .alignleft {
		width: 103px;
		text-align: right;
	}
	#news .navigation .alignright {
		width: 97px;
	}
	#news .navigation .alignleft a,
	#news .navigation .alignright a {
		display: block;
		position: relative;
		font-family: "Roboto", serif;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 150%; /* 24px */
		letter-spacing: 2.24px;
	}
	#news .navigation .alignleft a::before,
	#news .navigation .alignright a::before {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 40px;
		height: 40px;
		transition: .7s;
	}
	#news .navigation .alignleft a::before {
		left: 0;
		background: url(../../images/src/works/arrow_left.svg) no-repeat left top / 100%;
	}
	#news .navigation .alignleft a:hover::before {
		background: url(../../images/src/works/arrow_left_white.svg) no-repeat left top / 100%;
	}
	#news .navigation .alignright a::before {
		right: 0;
		background: url(../../images/src/works/arrow_right.svg) no-repeat left top / 100%;
	}
	#news .navigation .alignright a:hover::before {
		background: url(../../images/src/works/arrow_right_white.svg) no-repeat left top / 100%;
	}
	



	/* WORKS */
	
	#works .inner_mv_wrap {
		background: url(../../images/src/works/mv.webp) no-repeat left top / cover;
	}
	#works .works_list .category {
		margin:90px auto 80px;
		gap: 10px 0;
	}
	#works .category li {
		width: calc(16% - 12px);
	}
	#works .category li a {
		display: block;
		padding: 13px 0 14px;
		text-align: center;
		background: #E3E3E3;
		transition: 0.7s;
	}
	#works .category li a span {
		position: relative;
		padding-left: 24px;
		color: var(--main-color);
		font-size: 16px;
		font-weight: 700;
		line-height: normal;
		letter-spacing: 2.24px;
	}
	#works .category li a span::before {
		content:'';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		margin: auto;
		width: 16px;
		height: 20px;
		background: url(../../images/src/works/pin_green.svg) no-repeat left top / 100%;
	}
	#works .category li.current a ,
	#works .category li a:hover {
		background: var(--main-color);
	}
	#works .category li.current a span,
	#works .category li a:hover span {
		color: #FFFFFF;
	}
	#works .category li.current a span::before,
	#works .category li a:hover span::before {
		background: url(../../images/src/works/pin_white.svg) no-repeat left top / 100%;
	}
	#works .block {
		margin-bottom: 97px;
		gap: 80px;
	}
	#works .block .parts {
		width: calc(50% - 40px);
		height: 350px;
	}
	#works .block.all_page {
		gap: 80px 25px;
		justify-content: flex-start;
		display: grid;
		grid-template-columns: repeat(4, 1fr);
	}
	#works .block.all_page .parts {
		width: auto;
		height: 280px;
	}
	#works .block.all_page .parts a .img img {
		height: 280px;
	}
	#works .block .parts a {
		display: block;
		position: relative;
	}
	#works .block .parts a .img img {
		width: 100%;
		aspect-ratio: 560 / 350;
		object-fit: cover;
	}
	#works .block .parts a::before {
		content:'';
		position: absolute;
		bottom: 0;
		left: 0;
		width: 100%;
		height: 100%;
		opacity: 0.9;
		background: url(../../images/src/works/layer.png)  50% bottom no-repeat;
		mix-blend-mode: multiply;
	}
	#works .block .parts a::after {
		content:'';
		position: absolute;
		right: 20px;
		bottom: 21px;
		width: 40px;
		height: 40px;
		background: url(../../images/src/works/plus_white.svg) no-repeat left top / 100%;
		transition: 0.4s;
	}
	#works .block.all_page .parts a::after {
		right: 10px;
		bottom: 11px;
		width: 30px;
		height: 30px;
	}
	#works .block .parts a:hover::after {
		background: url(../../images/src/works/plus_green.svg) no-repeat left top / 100%;
	}
	#works .block .parts .pin {
		position: absolute;
		top: 0;
		left: 42px;
		padding: 45px 0 9px;
		width: 70px;
		text-align: center;
		background: #FFFFFF;
	}	
	#works .block.all_page .parts .pin {
		left: 0;
	}
	#works .block .parts .pin.chubu,	
	#works .category li.chubu a {
		border-left: 10px solid #f6841e;
	}
	#works .block .parts .pin.kantou,	
	#works .category li.kantou a  {
		border-left: 10px solid #388eff;
	}
	#works .block .parts .pin.kansai,	
	#works .category li.kansai a  {
		border-left: 10px solid #3a9a4a;
	}
	#works .block .parts .pin.touhoku,	
	#works .category li.touhoku a  {
		border-left: 10px solid #8f64aa;
	}
	#works .block .parts .pin.kyushu,	
	#works .category li.kyushu a  {
		border-left: 10px solid #ec6dbc;
	}
	#works .block .parts .pin span {
		position: relative;
		color: var(--main-color);
		font-size: 16px;
		font-weight: 700;
		line-height: normal;
		letter-spacing: 2.24px;
	}
	#works .block .parts .pin::before {
		content:'';
		position: absolute;
		top: 6px;
		left: 0;
		right: 0;
		margin: auto;
		width: 27px;
		height: 35px;
		background: url(../../images/src/works/pin_green.svg) no-repeat left top / 100%;
	}
	#works .block .parts .bx {
		position: absolute;
		bottom: 17px;
		left: 28px;
		color: #FFFFFF;
		width: 81%;
	}
	#works .block.all_page .parts .bx {
		left: 15px;
		width: 82%;
	}
	#works .block .parts .bx .cate02,
	#works .block .parts .bx .cate03 {
		/*font-size: 18px;*/
		font-size: clamp(0.75rem, 0.465rem + 0.55vw, 1.125rem);
		font-style: normal;
		font-weight: 700;
		line-height: 1.5; /* 266.667% */
		letter-spacing: 2.52px;
	}
	#works .block .parts .bx h2 {
		color: #FFF;
		/*font-size: 32px;*/
		font-size: clamp(1.125rem, 0.793rem + 0.64vw, 1.563rem);
		font-style: normal;
		font-weight: 700;
		line-height: 46px;
		letter-spacing: 4.48px;
	}
	#works .block.all_page .parts .bx h2 {
		/*font-size: clamp(0.875rem, 0.59rem + 0.55vw, 1.25rem);*/
		font-size: clamp(0.775rem, 0.49rem + 0.45vw, 1rem);
		line-height: 1;
		letter-spacing: 3px;
	}
	#works .block.all_page .parts .bx .cate02,
	#works .block.all_page .parts .bx .cate03 {
		font-size: clamp(0.625rem, 0.34rem + 0.55vw, 1rem);
	}
	
	#works .news_detail {
		width: auto;
		text-align: center;
		cursor: auto;
	}
	#works .news_detail .cate02,
	#works .news_detail .cate03 {
		margin-top: 20px;
		font-size: 18px;
		font-weight: 700;
		line-height: 48px; /* 266.667% */
		letter-spacing: 2.52px;
	}
	#works .news_detail .cate03 {
		margin: 0 0 30px;
		margin-top: 0;
	}
	#works .news_detail h1 {
		font-size: 32px;
		font-weight: 700;
		line-height: 46px;
		letter-spacing: 4.48px;
	}
	
	#works .news_detail .btn {
		margin: 0 auto 116px;
		width: 340px;
	}
	#works .news_detail .btn a {
		display: block;
		position: relative;
		padding: 22px 0;
		width: 100%;
		border-radius: 180px;
		color: #FFFFFF;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 150%; /* 24px */
		letter-spacing: 2.24px;
		background: var(--main-color);
		box-shadow: 0 4px 4px rgba(0,0,0,.25);
	}
	#works .news_detail .btn a::after {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 14px;
		margin: auto;
		width: 40px;
		height: 40px;
		background: url(../../images/src/common/blank.svg) no-repeat left top / 100%;
	}
	#works .news_detail .btn a:hover {
		opacity: 0.5;
	}

	#works .news_detail .fancybox-close-small,
	#works .news_detail .fancybox-button--arrow_left,
	#works .news_detail .fancybox-button--arrow_right {
		top: auto;
		bottom: 0;
		transition: .7s;
		background: transparent;
	}
	#works .news_detail .fancybox-close-small {
		position: relative;
		left: 0;
		right: 0;
		margin: auto;
		background:#FFFFFF;
		border-radius: 180px; 
		width: 140px;
		border: 1px solid var(--main-color);
	}
	#works .news_detail .fancybox-close-small::after {
		content:'CLOSE';
		position: absolute;
		top: 11px;
		right: 28px;
		font-family: "Roboto", sans-serif;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 2.24px;
	}
	#works .news_detail .fancybox-close-small svg {
		padding-left: 15px;
		color: var(--main-color);
		font-size: 14px;
		font-weight: 700;
		width: auto;

	}
	#works .news_detail .fancybox-close-small:hover {
		background: var(--main-color);
	}
	#works .news_detail .fancybox-close-small:hover::after,
	#works .news_detail .fancybox-close-small:hover svg {
		color: #FFFFFF;
	}
	#works .news_detail .fancybox-navigation .fancybox-button {
		opacity: 1 !important;
	}
	#works .news_detail .fancybox-button--arrow_left,
	#works .news_detail .fancybox-button--arrow_right {
		bottom: 46px;
		width: 100px;
		height: 40px;
		padding: 0;
	}
	#works .news_detail .fancybox-button--arrow_left {
		left: 44px;
	}
	#works .news_detail .fancybox-button--arrow_right {
		right: 44px;
	}
	#works .news_detail .fancybox-button--arrow_left div,
	#works .news_detail .fancybox-button--arrow_right div {
		display: none;
	}
	#works .news_detail .fancybox-button--arrow_left::before,
	#works .news_detail .fancybox-button--arrow_right::before {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		width: 40px;
		height: 40px;
		transition: .7s;
	}
	#works .news_detail .fancybox-button--arrow_left::before {
		left: 0;
		background: url(../../images/src/works/arrow_left.svg) no-repeat left top / 100%;
	}
	#works .news_detail .fancybox-button--arrow_right::before {
		right: 0;
		background: url(../../images/src/works/arrow_right.svg) no-repeat left top / 100%;
	}
	#works .news_detail .fancybox-button--arrow_left:hover::before {
		left: 0;
		background: url(../../images/src/works/arrow_left_white.svg) no-repeat left top / 100%;
	}
	#works .news_detail .fancybox-button--arrow_right:hover::before {
		right: 0;
		background: url(../../images/src/works/arrow_right_white.svg) no-repeat left top / 100%;
	}
	#works .news_detail .fancybox-button--arrow_left::after,
	#works .news_detail .fancybox-button--arrow_right::after {
		color: #10181a;
		position: absolute;
		top: 11px;
		font-family: "Roboto", sans-serif;
		font-size: 16px;
		font-weight: 700;
		letter-spacing: 2.24px;
	}
	#works .news_detail .fancybox-button--arrow_left::after {
		content:'BACK';
	}
	#works .news_detail .fancybox-button--arrow_right::after {
		content:'NEXT';
		right: 50px;
	}
	.fancybox-caption, .fancybox-infobar, .fancybox-navigation .fancybox-button, .fancybox-toolbar {
		visibility: visible !important;
	}


	/* ORIGINAL ITEMS */
	#originalitems .inner_mv_wrap {
		background: url(../../images/src/original/mv.webp) no-repeat left top / cover;
	}
	#originalitems .original_list {
		margin: 100px auto 120px;
	}
	#originalitems .original_list .block {
		gap: 80px 0;
	}
	#originalitems .original_list .block .parts {
		width: calc(50% - 40px);
		display: flex;
		flex-direction: column;
	}
	#originalitems .original_list .block .parts .img {
		margin-bottom: 18px;
	}

	#originalitems .original_list .block .parts .img img {
		object-fit: cover;
		object-position: center;
		height: 822px;
	}
	#originalitems .original_list .block .parts .bx {
		margin-bottom: 20px;
		display: flex;
		flex-direction: column;
		flex-grow: 1;
	}
	#originalitems .original_list .block .parts .txt {
		margin-top: auto;
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 32px; /* 200% */
		letter-spacing: 2.24px;
		overflow: hidden;
		display: -webkit-box;
		text-overflow: ellipsis;
		-webkit-box-orient: vertical;
		-webkit-line-clamp: 2;
	}
	#originalitems .original_list .block .parts .ttl {
		margin-bottom: 16px;
		font-size: 22px;
		font-weight: 700;
		line-height: 40px; /* 181.818% */
		letter-spacing: 3.08px;
	}
	#originalitems .original_list .block .parts .more {
		position: relative;
		margin-top: auto;
		padding-right: 70px;
		text-align: right;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 150%; /* 24px */
		letter-spacing: 2.24px;
	}
	#originalitems .original_list .block .parts .more::after {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		width: 40px;
		height: 40px;
		background: url(../../images/src/works/arrow_right.svg) no-repeat left top / 100%;
		transition: .7s;
	}
	#originalitems .original_list .block .parts .more:hover::after {
		background: url(../../images/src/works/arrow_right_white.svg) no-repeat left top / 100%;
	}
	/* 詳細 */
	
	#original_detail .eyecatch {
		margin-top: 104px;
		max-height: 750px;
		width: 100%;
		height: auto;
		aspect-ratio: 192/75;
		overflow: hidden;
	}
	#original_detail .eyecatch img {
		width: 100%;
		height: auto;
		object-fit: cover;
	}

	#original_detail .breadcrumbs {
		background: #F1F1F1;
		color: #10181a;
	}
	#original_detail .breadcrumbs.coming {
		background-color: #FFFFFF;
	}	
	#original_detail .breadcrumbs span {
		color: #10181a;
	}
	#original_detail .sec01 {
		padding: 70px 0 100px;
		background: #F1F1F1;
	}
	#original_detail .sec01 .img {
		width: calc(50% + 82px);
	}
	
	#original_detail .sec01 .right_column {
		width: calc(50% - 160px);
	}
	#original_detail .sec01 h1 {
		margin-bottom: 60px;
		font-size: 34px;
		font-style: normal;
		font-weight: 700;
		line-height: 46px; /* 176.923% */
		letter-spacing: 3.64px;
		text-align: center;
	}
	
	#original_detail .sec01 h1 br {
		display: none;
	}
	#original_detail .sec01 .right_column .explanation {
		margin: 0 0 30px;
		font-size: 22px;
		font-style: normal;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#original_detail .sec01 .right_column .box {
		padding-top: 30px;
		border-top: 1px solid #A1A1A1;
	}
	#original_detail .sec01 .right_column .box .freetxt {
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 34px; /* 242.857% */
		letter-spacing: 1.96px;
	}
	#original_detail .sec02 {
		margin: 100px auto 0;
	}
	
	#original_detail .sec02 h2 {
		font-size: 32px;
		font-style: normal;
		font-weight: 700;
		line-height: 19.413px; /* 60.666% */
		letter-spacing: 4.48px;
		text-align: center;
	}
	#original_detail .sec02 .en_ttl {
		margin: 28px 0 80px;
		color: var(--main-color);
		font-size: 16px;
		font-style: normal;
		font-weight: 600;
		line-height: 19.413px; /* 121.332% */
		letter-spacing: 2.24px;
		text-align: center;
	}
	
	#original_detail .sec02 .parts {
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		gap: 0 80px;
	}
	
	#original_detail .sec02 .parts + .parts {
		margin-top: 110px;
	}
	#original_detail .sec02 .parts .img {
		width: calc(50% - 40px);
		text-align: left;
	}
	#original_detail .sec02 .parts .img img {
		height: 498px;
	}
	#original_detail .sec02 .parts .txtblock {
		width: 29.2%;
	}
	#original_detail .sec02 .parts .txtblock h3 {
		margin-bottom: 44px;
		padding-left: 35px;
		border-left: 4px solid var(--main-color);
		font-size: 26px;
		font-style: normal;
		font-weight: 700;
		line-height: 46px; /* 176.923% */
		letter-spacing: 3.64px;
	}
	#original_detail .sec02 .parts .txtblock h3 strong{
	  font-weight: 700;
	}
	#original_detail .sec02 .parts .txtblock .txtbox {
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#original_detail .sec02 .parts .txtblock .txtbox strong {
		font-weight: 700;
	}
	#original_detail .sec02 .parts .txtblock .txtbox em {
		font-style: italic;
	}
	#original_detail .sec02 .parts .txtblock .txtbox ul li {
		position: relative;
		padding-left: 38px;
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 45px; /* 281.25% */
		letter-spacing: 2.24px;
	}
	#original_detail .sec02 .parts .txtblock .txtbox ul li::before {
		content:'';
		position: absolute;
		top: 11px;
		left: 0;
		width: 24px;
		height: 24px;
		background: url(../../images/src/common/check.svg) no-repeat left top / 100%;
	}
	#original_detail .sec02 .parts:nth-of-type(odd),
	#original_detail .container .sec02 .parts.layout01 {
		justify-content: right;
	}
	#original_detail .sec02 .parts:nth-of-type(even),
	#original_detail .container .sec02 .parts.layout02 {
		justify-content: left;
	}
	#original_detail .sec02 .parts:nth-of-type(odd) .img,
	#original_detail .container .sec02 .parts.layout01 .img {
		order: 2;
		text-align: left;
	}
	#original_detail .sec02 .parts:nth-of-type(even) .img,
	#original_detail .container .sec02 .parts.layout02 .img {
		order: initial;
		text-align: right;
	}
	#original_detail .sec02 .parts:nth-of-type(odd) .img img,
	#original_detail .container .sec02 .parts.layout01 .img img {
		object-position: left;
	}
	#original_detail .sec02 .parts:nth-of-type(even) .img img,
	#original_detail .container .sec02 .parts.layout02 .img img {
		object-position: right;
	}
	#original_detail .sec02 .parts:nth-of-type(odd) .txtblock {
		order: 1;
	}
	#original_detail .container .sec02 .parts.layout03,
	#original_detail .container .sec02 .parts.layout04 {
		flex-wrap: wrap;
		justify-content: center;
	}
	#original_detail .container .sec02 .parts.layout03 .img {
		order: initial;
	}
	#original_detail .container .sec02 .parts.layout04 .img {
		order: 2;
	}
	#original_detail .container .sec02 .parts.layout03 .img,
	#original_detail .container .sec02 .parts.layout03 .txtblock,
	#original_detail .container .sec02 .parts.layout04 .img,
	#original_detail .container .sec02 .parts.layout04 .txtblock {
		width: 100%;
		text-align: center;
	}
	#original_detail .container .sec02 .parts.layout03 .txtblock h3,
	#original_detail .container .sec02 .parts.layout04 .txtblock h3 {
	  display: inline-block;
		padding-left: 0;
		border-left: none;
	}
	#original_detail .container .sec02 .parts.layout03 .img img,
	#original_detail .container .sec02 .parts.layout03 .txtblock .txtbox,
	#original_detail .container .sec02 .parts.layout04 .img img,
	#original_detail .container .sec02 .parts.layout04 .txtblock .txtbox {
	  margin-bottom: 44px;
	  height: auto;
	}
	
	#original_detail .container .sec02 .parts.layout03 .img img,
	#original_detail .container .sec02 .parts.layout03 .txtblock h3
	#original_detail .container .sec02 .parts.layout03 .txtblock .txtbox,
	#original_detail .container .sec02 .parts.layout04 .img img,
	#original_detail .container .sec02 .parts.layout04 .txtblock h3
	#original_detail .container .sec02 .parts.layout04 .txtblock .txtbox {
		text-align: center;
	}




	#original_detail .sec_coming {
		margin: 170px auto;
	}
	#original_detail .sec_coming p {
		color: var(--main-color);
		font-size: 46px;
		font-weight: 600;
		line-height: 19.413px; /* 42.202% */
		letter-spacing: 6.44px;
		text-align: center;
	}

	#original_detail .navigation {
		padding-top: 69px;
		border-top: 1px solid #A1A1A1;
		margin: 120px auto 140px;
		width: 1200px;
		max-width: 100%;
		align-items: center;
	}
	#original_detail .navigation a {
		width: 472px;
		display: -webkit-flex;
		display: flex;
		-webkit-flex-wrap: wrap;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: flex-end;
	}
	#original_detail .navigation a .img {
		width: 208px;
	}
	#original_detail .navigation a .img img {
		height: 305px;
		object-fit: cover;
		object-position: center;
	}
	#original_detail .navigation a .bx {
		margin-bottom: 10px;
		width: 240px;
		display: flex;
		flex-direction: column;
	}
	#original_detail .navigation a .bx .ttl {
		margin-bottom: 26px;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 32px; /* 200% */
		letter-spacing: 2.24px;
	}
	#original_detail .navigation a .bx .f_roboto {
		margin-top: auto;
		position: relative;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 150%; /* 24px */
		letter-spacing: 2.24px;
	}
	#original_detail .navigation .back .bx .f_roboto {
		padding-left: 50px;
	}
	#original_detail .navigation .next .bx .f_roboto {
		padding-right: 50px;
		text-align: right;
	}
	#original_detail .navigation a .bx .f_roboto::before {
		content:'';
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 40px;
		height: 40px;
		transition: .7s;
	}
	#original_detail .navigation .back .bx .f_roboto::before {
		left: 0;
		background: url(../../images/src/works/arrow_left.svg) no-repeat left top / 100%;
	}
	#original_detail .navigation .next .bx .f_roboto::before {
		right: 0;
		background: url(../../images/src/works/arrow_right.svg) no-repeat left top / 100%;
	}
	#original_detail .navigation .back:hover .bx .f_roboto::before {
		background: url(../../images/src/works/arrow_left_white.svg) no-repeat left top / 100%;
	}
	#original_detail .navigation .next:hover .bx .f_roboto::before {
		background: url(../../images/src/works/arrow_right_white.svg) no-repeat left top / 100%;
	}
	



	/* CATALOG */
	
	#catalog .inner_mv_wrap {
		background: url(../../images/src/catalog/mv.webp) no-repeat left top / cover;
	}
	#catalog .category {
		margin: 90px auto 100px;
		gap: 25px;
		justify-content: left;
	}
	#catalog .category li,
	#recruit .category li {
		width: 220px;
	}
	#catalog .category li a,
	#recruit .category li a {
		display: block;
		position: relative;
		padding: 16px 0;
		width: 100%;
		font-size: 16px;
		font-weight: 700;
		text-align: center;
		line-height: normal;
		letter-spacing: 2.24px;
		background: #ECF5F8;
		border: 1px solid #ECF5F8;
	}
	#catalog .category li a:hover,
	#recruit .category li a:hover {
		border-color: var(--main-color);
	}
	#catalog .category li a .arrow_icon02,
	#recruit .category li a .arrow_icon02 {
		overflow: hidden;
		position: absolute;
		top: 0;
		right: 13px;
		bottom: 0;
		width: 23px;
		height: 24px;
		margin: auto 0;
		line-height: 1;
		border-radius: 50%;
		z-index: 10;
	}
	#catalog .category li a .circle_bg02,
	#recruit .category li a .circle_bg02 {
		position: absolute;
		top: 0;
		right: 13px;
		bottom: 0;
		width: 23px;
		margin: auto 0;
		height: 24px;
		border-radius: 50%;
		background: var(--main-color);
		transition-duration: 400ms;
		transition-timing-function: cubic-bezier(0.55, 0.05, 0.22, 0.99);
	}
	.arrow_icon02:before,
	.arrow_icon02:after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		left: 0;
		margin: auto;
		width: 23px;
		height: 24px;
		background: url(../../images/src/common/arrow_bottom.svg) no-repeat center / 11px;
		animation-fill-mode: both;
		animation-duration: 0.6s;
	}
	.arrow_icon02:after {
		transform: translateY(-100%);
	}
	#catalog .category li a .arrow_icon02:before,
	#recruit .category li a .arrow_icon02:before {
		animation-name: transformTopBottom;
		animation-delay: 0.2s;
	}
	#catalog .category li a .arrow_icon02:after,
	#recruit .category li a .arrow_icon02:after {
		animation-name: transformBottomTop;
	}
	  
	#catalog .category li a:hover .arrow_icon02:before,
	#recruit .category li a:hover .arrow_icon02:before {
		animation-name: transformBottomTop;
		animation-delay: 0s;
	}
	#catalog .category li a:hover .arrow_icon02:after, 
	#recruit .category li a:hover .arrow_icon02:after {
		animation-name: transformTopBottom;
		animation-delay: 0.2s;
	}
	@keyframes transformTopBottom {
		0% {
			transform: translateY(-100%);
		}
		100% {
			transform: translateY(0);
		}
	}
	@keyframes transformBottomTop {
		0% {
			transform: translateY(0);
		}
		100% {
			transform: translateY(100%);
		}
	}
	#catalog .catalog_list .catalog_link {
		margin-top: -104px;
		padding-top: 104px;
	}
	#catalog .catalog_list h3 {
		margin-bottom: 50px;
		padding: 24px 0 28px;
		color: #FFF;
		text-align: center;
		font-size: 24px;
		font-weight: 700;
		line-height: 19.413px; /* 80.888% */
		letter-spacing: 3.36px;
		background: var(--main-color);
	}
	#catalog .catalog_list .block {
		margin-bottom: 130px;
		justify-content: left;
		gap: 70px 40px;
	}
	#catalog .catalog_list .block .parts {
		width: calc(25% - 30px);
	}
	#catalog .catalog_list .block .parts a {
		display: block;
	}
	#catalog .catalog_list .block .parts a .ttl {
		margin-top: 24px;
		position: relative;
		font-size: 16px;
		font-weight: 700;
		line-height: 28px; /* 175% */
		letter-spacing: 2.24px;
	}
	#catalog .catalog_list .block .parts a .ttl::after {
		content: '';
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		width: 24px;
		height: 24px;
		transition: .7s;
		background: url(../../images/src/works/arrow_right.svg) no-repeat left top / 100%;
	}
	#catalog .catalog_list .block .parts a:hover .ttl::after {
		background: url(../../images/src/works/arrow_right_white.svg) no-repeat left top / 100%;
	}

	/* about us */
	.page_en_ttl {
		margin-bottom: 32px;
		color: var(--main-color);
		font-size: 50px;
		font-weight: 600;
		line-height: 19.413px; /* 38.826% */
		letter-spacing: 7px;
		text-align: center;
	}
	.page_h2_ttl {
		font-size: 18px;
		font-style: normal;
		font-weight: 700;
		line-height: 19.413px; /* 107.851% */
		letter-spacing: 2.52px;
		text-align: center;
	}
	
	#aboutus .inner_mv_wrap {
		background: url(../../images/src/about/mv.webp) no-repeat left top / cover;
	}
	#aboutus .sec01 {
		padding: 120px 0;
		background: url(../../images/src/about/sec01_bg.png);
	}
	#aboutus .sec01 .block {
		align-items: center;
	}
	#aboutus .sec01 .text_block {
		/*width: 525px;*/
		width: clamp(20.313rem, 10.814rem + 18.33vw, 32.813rem);
		margin-left: 30px;
		flex-shrink: 0;
	}
	#aboutus .sec01 .block:nth-of-type(even) .text_block {
		margin-left: 0;
		margin-right: 30px;
	}
	#aboutus .sec01 .block.y1964 .text_block {
		margin-right: calc(50vw - 1174px / 2)
	}
	#aboutus .sec01 .en {
		margin-left: -32px;
		color: #453D25;
		font-size: 152px;
		font-weight: 400;
		line-height: 33.922px; /* 22.317% */
		letter-spacing: 12.16px;
		opacity: 0.13;
	}
	#aboutus .sec01 h2 {
		margin-bottom: 96px;
		font-size: 34px;
		font-style: normal;
		font-weight: 400;
		line-height: 58px; /* 170.588% */
		letter-spacing: 4.76px;
		/*white-space: nowrap;*/
	}
	#aboutus .sec01 .year {
		font-size: 90px;
		font-style: italic;
		font-weight: 400;
		line-height: 19.413px; /* 21.57% */
		letter-spacing: 9px;
	}
	#aboutus .sec01 .seireki {
		margin: 36px 0 30px;
		color: var(--main-color);
		font-size: 20px;
		font-weight: 400;
		line-height: 40px; /* 200% */
		letter-spacing: 2.8px;
	}
	#aboutus .sec01 .txt {
		font-size: 16px;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}

	#aboutus .sec01 .y1946 {
		margin-bottom: 55px;
		align-items: flex-start;
		justify-content: right;
		gap: 0 3.802vw;
	}
	#aboutus .sec01 .y1964 {
		margin-bottom: 55px;
		justify-content: left;
		gap: 0 74px;
	}
	#aboutus .sec01 .y1975 {
		margin-bottom: 109px;
		justify-content: right;
		gap: 0 3.802vw;
	}
	#aboutus .sec01 .y1986 {
		margin-bottom: 85px;
		justify-content: left;
		gap: 0 3.802vw;
	}
	#aboutus .sec01 .y1989 {
		margin-bottom: 109px;
		justify-content: right;
		gap: 0 3.802vw;
	}
	#aboutus .sec01 .y1919 {
		justify-content: left;
		gap: 0 3.802vw;
	}
	#aboutus .sec01 .y1946 .img {
		width: 603px;
		margin-right: calc(50vw - 1174px / 2);
		flex-shrink: 0;
	}
	#aboutus .sec01 .y1964 .img {
		position: relative;
		width: 602px;
		margin-left: calc(50vw - 1328px / 2);
	}
	#aboutus .sec01 .y1964 .img::before {
		content: '';
		position: absolute;
		left: calc(0vw - 603px / 2);
		top: -50px;
		width: 510px;
		height: 481px;
		background: var(--main-color);
	}
	#aboutus .sec01 .y1964 .img img {
		position: relative;
		z-index: 10;
	}
	#aboutus .sec01 .y1975 .img {
		width: 685px;
		margin-right: calc(50vw - 1345px / 2);
		
	}
	#aboutus .sec01 .y1986 .img {
		width: 805px;
		margin-left: calc(50vw - 1700px / 2);
	}
	#aboutus .sec01 .y1989 .img {
		width: 708px;
		margin-right: calc(40vw - 1174px / 2);
	}
	#aboutus .sec01 .y1919 .img {
		width: 628px;
		margin-left: calc(50vw - 1174px / 2);
	}
	#aboutus .sec02 {
		padding: 100px 0 120px;
		margin: 0 auto;
		width: 1780px;
		max-width: 90%;
	}
	#aboutus .sec02 .block {
		margin-top: 60px;
		align-items: stretch;
		justify-content: right;
		gap: 0 60px;
	}
	#aboutus .sec02 .block + .block {
		margin-top: 80px;
		align-items: center;
		justify-content: left;
	}
	
	#aboutus .sec02 .block .img {
		/*width: 824px;*/
		width: calc(50% - 66px);
	}
	#aboutus .sec02 .block .text_block {
		/*width: 601px;*/
		width: clamp(21.875rem, 9.955rem + 23.01vw, 37.563rem);
		display: flex;
		flex-direction: column;
	}
	#aboutus .sec02 .block .text_block p {
		font-size: 16px;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#aboutus .sec02 .block .text_block .marker {
		font-size: 22px;
		line-height: 42px; /* 190.909% */
		letter-spacing: 3.08px
	}
	#aboutus .sec02 .block .text_block .marker span {
		font-weight: 700;
		background: linear-gradient(transparent 70%, #FAEE02 30%);
	}
	#aboutus .sec02 .block .text_block .txt_img {
		margin-top: auto;
	}
	#aboutus .sec03 {
		padding: 100px 0 83px;
		background: #F1F1F1;
	}
	#aboutus .sec03 .inner_wrap {
		margin-top: 50px;
	}
	#aboutus .sec03 .page_en_ttl span {
		font-size: 34px;
		font-style: normal;
		font-weight: 600;
		line-height: 19.413px;
		letter-spacing: 4.76px;
	}
	#aboutus .sec03 .inner_wrap .txt {
		font-size: 16px;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#aboutus .sec03 .inner_wrap .txt .kome{
		font-size: 14px;
		font-style: normal;
		font-weight: 400;
		line-height: 40px;
		letter-spacing: 1.96px;
	}
	#aboutus .sec03 .swiper_03 {
		margin-top: 60px;
		position: relative;
	}
	#aboutus .sec03 .swiper_03 .swiper-wrapper .swiper-slide {
		position: relative;
		width: 442px; 
	}
	#aboutus .sec03.swiper_03 .swiper-wrapper .swiper-slide {
		position: relative;
		cursor: pointer;
	}
	#aboutus .sec03 .swiper_03 .swiper-wrapper .swiper-slide a img {
		object-fit: cover;
		width: 100%;
		height: 100%;
	}
	#aboutus .sec03 .swiper_03 .swiper-wrapper .swiper-slide a {
		position: relative;
		display: block;
		overflow: hidden;
		height: 282px;
	}
	#aboutus .sec03 .swiper_03 .swiper-wrapper .swiper-slide a::before {
		content:'';
		position: absolute;
		right: 0;
		bottom: 0;
		width: 36px;
		height: 36px;
		background: url(../../images/src/about/plus.svg) no-repeat left top / 100%;
		z-index: 10;
	}
	#aboutus .sec03 .swiper_03 .swiper-wrapper .swiper-slide a:hover img {
		opacity: 1;
		transform: scale(1.3);
	    transition: transform .7s ease-in-out;
	}
	#aboutus .sec03 .swiper_03 .swipebtn {
		top: 0;
		left: 0;
		margin: auto;
		width: 90%;
	}
	
	#aboutus .sec03 .image {
		margin: 80px auto 0;
		width: 1200px;
		max-width: 90%;
		justify-content: center;
	}
	#aboutus .sec03 .image .img01 {
		width: 20.33333%;
	}
	
	#aboutus .sec03 .image .img01 a {
		position: relative;
		display: block;
	}

	#aboutus .sec03 .image .img01 a::before {
		content:'';
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,.2);
		opacity: 0;
		transition: 0.4s;
	}
	#aboutus .sec03 .image .img01 a:hover::before {
		opacity: 1;
	}
	#aboutus .sec03 .image .img01 .overtext {
		position: absolute;
		left: 18.3px;
		right: 18.3px;
		bottom: 18.3px;
		opacity: 0;
		color: #FFFFFF;
		font-size: 14px;
		font-weight: 500;
		line-height: 2;
		text-shadow: 0 4px 4px rgba(0,0,0,.25);
	}
	#aboutus .sec03 .image .img01 a:hover .overtext {
		opacity: 1;
	}


	#aboutus .sec03 .image .img02 {
		width: 61.825%;
	}
	#aboutus .sec04 {
		padding: 100px 0 120px;
	}
	#aboutus .sec04 .txt {
		margin: 50px 0 30px;
		font-size: 16px;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	
	#aboutus .sec04 .btn01 {
		margin-top: 60px;
		width: 340px;
	}
	#aboutus .sec04 .btn01 a {
		color: #FFFFFF;
		background: var(--main-color);
	}
	#aboutus .sec04 .btn01 a .circle_bg {
		background: #FFFFFF;
	}
	#aboutus .sec04 .arrow_icon:before,
	#aboutus .sec04 .arrow_icon:after {
		background: url(../../images/src/common/btn_arrow_green.svg) no-repeat center top / 14px;
	}

	/* company */
	#company .inner_mv_wrap {
		background: url(../../images/src/company/mv.webp) no-repeat left top / cover;
	}
	#company .sec01 {
		padding: 140px 0 120px;
	}
	#company .sec01 .flex {
		margin-top: 68px;
	}
	#company .sec01 .img {
		width: 335px;
	}
	#company .sec01 .text_block {
		/*width: 765px;*/
		width: calc(80% - 195px);
		display: flex;
		flex-direction: column;
	}
	#company .sec01 .text_block h3 {
		margin-bottom: 33px;
		font-size: 41.599px;
		font-style: normal;
		font-weight: 700;
		line-height: 66.669px; /* 160.265% */
		letter-spacing: 5.824px;
	}
	#company .sec01 .text_block h3 span {
		position: relative;
		color: var(--main-color);
		font-size: 40.828px;
		font-style: normal;
		font-weight: 700;
		line-height: 66.669px; /* 163.292% */
		letter-spacing: 5.716px;
	}
	#company .sec01 .text_block h3 span::before,
	#company .sec01 .text_block h3 span::after {
		content: '';
		position: absolute;
		width: 20px;
		height: 14px;
	}
	#company .sec01 .text_block h3 span::before {
		top: 0;
		left: -23px;
		background: url(../../images/src/top/quote01.svg) no-repeat left top / 100%;
	}
	#company .sec01 .text_block h3 span::after {
		bottom: 0;
		right: -3px;
		background: url(../../images/src/top/quote02.svg) no-repeat left top / 100%;
	}
	#company .sec01 .text_block .txt {
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#company .sec01 .text_block .ceo_name {
		margin-top: auto;
		font-size: 24px;
		font-style: normal;
		font-weight: 700;
		line-height: 46px;
		letter-spacing: 3.36px;
	} 
	#company .sec01 .text_block .ceo_name span {
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 46px; /* 287.5% */
		letter-spacing: 2.24px;
	}
	#company .sec01 .img {
		width: 355px;
	}
	#company .sec02 {
		padding: 120px 0;
		background: #F1F1F1;
	}
	#company .sec02 table {
		margin-top: 60px;
	}
	table.tb01 tr {
		border-top: 1px solid #A1A1A1;
		border-bottom: 1px solid #A1A1A1;
	}
	table.tb01 tr th {
		vertical-align: middle;
		text-align: center;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: normal;
		letter-spacing: 2.24px;
		width: 300px;
	}
	table.tb01 tr td {
		padding: 40px 60px 40px;
	}
	table.tb01 tr td p {
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	table.tb01 tr td .gmap {
		text-align: right;
	}
	table.tb01 tr td .gmap a {
		position: relative;
		display: block;
		padding-right: 70px;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
	}
	table.tb01 tr td .gmap a::after {
		content: '';
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		margin: auto;
		width: 40px;
		height: 40px;
		background: url(../../images/src/works/arrow_right_white.svg) no-repeat left top / 100%;
		transition: .7s;
	}
	table.tb01 tr td .gmap a:hover::after {
		background: url(../../images/src/works/arrow_right.svg) no-repeat left top / 100%;
	}
	#company .sec02 table tr td li {
		padding-left: 20px;
		position: relative;
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#company .sec02 table tr td li::before {
		content:'';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		margin: auto;
		width: 9px;
		height: 9px;
		border-radius: 50%;
		background: var(--main-color);
	}
	#company .sec03 {
		padding: 100px 0 140px;
	}
	#company .sec03 .ttlflex {
		margin-top: 60px;
	}
	#company .sec03 .ttlflex li {
		padding: 16px 0;
		width: 50%;
		color: #FFFFFF;
		font-size: 20px;
		line-height: 19.413px; /* 97.066% */
		letter-spacing: 2.8px;
		text-align: center;
		background: var(--main-color);
	}
	#company .sec03 .ttlflex li:last-child {
		background: #10181a;
	}
	#company .sec03 .history_block .left_cl,
	#company .sec03 .history_block .right_cl {
		display: flex;
		flex-direction: column;
		padding: 50px 0 0;
		width: calc(50% - 53px);
	}
	#company .sec03 .history_block {
		border-bottom: 1px solid #DEDEDE;
	}
	#company .sec03 .history_block .box {
		margin: 0 0 50px auto;
		width: 89.39%;
	}
	#company .sec03 .history_block .y1965 {
		margin-top: auto;
	}
	#company .sec03 .history_block .y1986 {
		margin-top: 70px;
	}
	#company .sec03 .history_block .y1987 {
		margin-bottom: 180px;
	}
	#company .sec03 .history_block .y1989,
	#company .sec03 .history_block .left_cl .y2014 {
		margin-top: auto;
	}
	#company .sec03 .history_block .y2007 {
		margin-top: 70px;
	}
	#company .sec03 .history_block .y2011 {
		margin-bottom: 70px;
	}
	
	#company .sec03 .history_block .right_cl .y2014 {
		margin-bottom: 894px;
	}
	#company .sec03 .history_block .box .year {
		margin-bottom: 22px;
		color: var(--main-color);
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 19.413px; /* 121.332% */
		letter-spacing: 2.24px;
	}
	#company .sec03 .history_block .box .year span {
		padding-right: 20px;
		color: #070707;
		font-size: 38px;
		font-weight: 600;
		line-height: 19.413px; /* 51.087% */
		letter-spacing: 3.8px;
	}
	#company .sec03 .history_block .box .txt {
		font-size: 16px;
		font-weight: 400;
		line-height: 32px; /* 200% */
		letter-spacing: 2.24px;
	}
	#company .sec03 .history_block .box .img {
		margin-top: 26px;
	}
	
	
	#company .sec03 .history_block .left_cl {
		padding-right: 50px;
	}
	#company .sec03 .history_block .center_cl {
		padding-top: 50px;
		width: 106px;
		background: #F1F1F1;
	}
	#company .sec03 .history_block .center_cl p {
		color: #ADADAD;
		font-size: 26px;
		font-weight: 600;
		line-height: 19.413px; /* 74.666% */
		letter-spacing: 2.6px;
		text-align: center;
	}
	#company .sec03 .history_block .center_cl .seireki {
		margin-top: 11px;
		font-size: 14px;
		line-height: 19.413px; /* 138.665% */
		letter-spacing: 1.96px;
	}

	#company .sec03 .history_block:nth-of-type(2) .right_cl {
		margin-top: auto;
	}


	/* RECURIT */
	#recruit .inner_mv_wrap {
		background: url(../../images/src/recruit/mv.webp) no-repeat left top / cover;
	}
	#recruit .sec01 {
		padding: 90px 0 0;
	} 
	#recruit .sec01 .category {
		margin-bottom: 0;
	}
	#recruit .sec01 .category li {
		width: 280px;
	}
	#recruit .sec01 .category li a {
		padding-right: 15px;
	}
	#recruit .sec01 #work,
	#recruit .sec02 #roundtable,
	#recruit .sec03 #benefits,
	#recruit .sec03 #recruitment {
		margin-top: -104px;
		padding-top: 104px;
	}
	#recruit .sec01 #work {
		padding-top: 224px;
	}
	
	
	#recruit .sec01 .video {
		margin: 60px auto 140px;
	}
	#recruit .sec01 video {
		width: 100%;
	}
	#recruit .sec01 .job {
		padding-top: 104px;
	}
	#recruit .sec01 #job01,
	#recruit .sec01 #job03 {
		margin-bottom: 204px;
		padding-left: 4.1666%;
	}
	
	#recruit .sec01 #job02,
	#recruit .sec01 #job04 {
		padding-bottom: 80px;
		background: #F1F1F1;
		padding-right: 4.1666%;
	}
	#recruit .sec01 #job02 {
		margin-bottom: 120px;
	}
	#recruit .sec01 #job01 .flex,
	#recruit .sec01 #job03 .flex {
		justify-content: left;
		gap: 0 60px;
	}
	#recruit .sec01 #job02 .flex,
	#recruit .sec01 #job04 .flex {
		justify-content: right;
		gap: 0 60px;
	}
	#recruit .sec01 .job .img {
		/*width: 790px;*/
		width: calc(50% - 170px);
	}
	#recruit .sec01 .job .text_block {
		position: relative;
		/*width: 775px;*/
		width: clamp(40.625rem, 27.604rem + 17.36vw, 48.438rem);
	}
	#recruit .sec01 #job01 .text_block,
	#recruit .sec01 #job01 .text_block {
		padding-right: 145px;
	}
	#recruit .sec01 #job02 .text_block,
	#recruit .sec01 #job04 .text_block {
		padding-left: 95px;
	}
	
	#recruit .sec01 .job .text_block::before {
		position: absolute;
		top: -102px;
		font-family: "Open Sans", serif;
		color: rgba(0, 108, 132, 0.07);
		font-size: 332.923px;
		font-weight: 600;
		line-height: 323.154px; /* 97.066% */
	}
	
	#recruit .sec01 #job01 .text_block::before {
		content:'01';
		right: 0;
	}
	#recruit .sec01 #job02 .text_block::before {
		content:'02';
		left: 0;
	}
	#recruit .sec01 #job03 .text_block::before {
		content:'03';
		right: 0;
	}
	#recruit .sec01 #job04 .text_block::before {
		content:'04';
		left: 0;
	}
	#recruit .sec01 .job .text_block h3 {
		margin-bottom: 60px;
		font-size: 58px;
		font-weight: 700;
		line-height: 46px; /* 79.31% */
		white-space: nowrap;
	}
	#recruit .sec01 .job .text_block ul li {
		position: relative;
		margin-bottom: 15px;
		padding-left: 40px;
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#recruit .sec01 .job .text_block ul li::before {
		content:'';
		position: absolute;
		top: 11px;
		left: 0;
		width: 24px;
		height: 24px;
		background: url(../../images/src/common/check.svg) no-repeat left top / 100%;
	}
	#recruit .sec02 {
		padding: 120px 0 100px;
	}
	#recruit .sec02 .txt {
		margin-top: 50px;
		font-size: 18px;
		font-weight: 700;
		line-height: 46px; /* 255.556% */
		letter-spacing: 2.52px;
		text-align: center;
	}
	#recruit .sec02 .img01 {
		margin: 40px auto 113px;
	}
	#recruit .sec02 .roundtable {
		margin-bottom: 160px;
		position: relative;
		
	}
	#recruit .sec02 .roundtable .flex {
		gap: 0 3.646vw;
	}
	#recruit .sec02 .roundtable::before {
		content: '';
		position: absolute;
		top: -34px;
		border-bottom: 74px solid #ECF5F8;
		z-index: -1;
		width: calc(100vw - ((100vw - 1200px) / 2));
		max-width: calc(100vw - ((100vw * 0.1) / 2));
	}
	
	#recruit .sec02 .roundtable.odd::before {
		left: 0;
		width: 68.594vw;
		border-right: 50px solid transparent;
	}
	
	#recruit .sec02 .roundtable.even::before {
		right: 0;
		border-left: 50px solid transparent;
	}
	#recruit .sec02 .roundtable .img {
		/*width: 453px;*/
		flex: 0.863;
	} 
	#recruit .sec02 .roundtable .text_block {
		/*width: 676px;*/
		flex: 1.4;
	}
	#recruit .sec02 .roundtable h3 {
		margin: -20px 0 49px;
		color: var(--main-color);
		font-size: 34px;
		font-weight: 700;
		line-height: 44px; /* 129.412% */
		letter-spacing: 4.76px;
	}
	#recruit .sec02 .roundtable h4 {
		margin-bottom: 25px;
		padding-left: 25px;
		font-size: 24px;
		font-style: normal;
		font-weight: 700;
		line-height: 44px; /* 183.333% */
		letter-spacing: 3.36px;
		border-left: 4px solid var(--main-color);
	}
	
	#recruit .sec02 .roundtable table th {
		width: 86px;
		color: #FFFFFF;
		letter-spacing: 2.24px;
	}
	#recruit .sec02 .roundtable table th span {
		display: block;
		padding: 8px 0;
		font-size: 16px;
		font-weight: 700;
		width: 100%;
		text-align: center;
	}
	#recruit .sec02 .roundtable table th.a span {
		background: #00971B;
	}
	#recruit .sec02 .roundtable table th.b span {
		background: #D84B00;
	}
	#recruit .sec02 .roundtable table th.c span {
		background: #A8088B;
	}
	#recruit .sec02 .roundtable table th.all span {
		color: #10181a;
		background: #E4C304;
	}
	#recruit .sec02 .roundtable table th.senior span {
		color: var(--main-color);
		border: 1px solid var(--main-color);
		background: #FFFFFF;
	}
	#recruit .sec02 .roundtable table td {
		padding: 0 0 25px 16px;
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#recruit .sec03 {
		padding: 120px 0 0;
		background: #F1F1F1;
	}
	#recruit .sec03 .odd,
	#recruit .sec03 .even {
		padding: 100px 0;
		gap: 0 80px;
		align-items: center;
	}
	#recruit .sec03 .odd {
		padding-left: 80px;
		justify-content: left;
	}
	#recruit .sec03 .even {
		padding-right: 80px;
		justify-content: right;
		background-color: #FFFFFF;
	}
	#recruit .sec03 .img {
		width: 41.667vw;
	}
	#recruit .sec03 .text_block {
		width: 31.25vw;
	}
	#recruit .sec03 .text_block h3 {
		margin-bottom: 30px;
		color: var(--main-color);
		font-size: 62px;
		font-weight: 400;
		line-height: 37.636px; /* 60.704% */
		letter-spacing: 8.68px;
	}
	#recruit .sec03 .text_block .txt {
		font-size: 16px;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#recruit .sec03 .text_block ul {
		margin-top: 25px;
		padding: 15px 103px 15px 40px;
		background: var(--main-color);
	}
	#recruit .sec03 .text_block ul li {
		color: #FFFFFF;
		font-size: 16px;
		font-weight: 700;
		line-height: 33px; /* 206.25% */
		letter-spacing: 2.24px;
	}
	#recruit .sec04 {
		padding: 120px 0 140px;
	}
	
	#recruit .sec04 .txt {
		margin: 50px 0;
		text-align: center;
		font-size: 18px;
		font-style: normal;
		font-weight: 700;
		line-height: 46px; /* 255.556% */
		letter-spacing: 2.52px;
	}
	#recruit .sec04 .txt span {
		font-weight: 700;
		background: #FAEE02;
	}
	#recruit .sec04 table {
		width: 1200px;
		max-width: 90%;
		margin: 0 auto;
		border: 1px solid #DFDFDF;
	}
	#recruit .sec04 table tr {
		border-bottom: 1px solid #DFDFDF;
	}
	#recruit .sec04 table th {
		padding: 50px 0 0 60px;
		width: 250px;
		box-sizing: border-box;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		letter-spacing: 2.24px;
		background: #F1F1F1;
	}
	
	#recruit .sec04 table td {
		padding: 50px 60px;
	}
	#recruit .sec04 table td p {
		margin-bottom: 40px;
		font-size: 16px;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#recruit .sec04 table td .ttl {
		margin-bottom: 14px;
		display: inline-block;
		padding: 3px 16px;
		color: #FFFFFF;
		font-size: 16px;
		font-weight: 700;
		line-height: normal;
		letter-spacing: 2.24px;
		background: var(--main-color);
	}
	#recruit .sec04 table td .green {
		color: var(--main-color);
		font-weight: 700;
	}
	#recruit .sec04 table td .kome {
		margin-top: -40px;
	}
	#recruit .sec04 table td .kome span {
		display: block;
		font-size: 14px;
		font-style: normal;
		font-weight: 400;
		line-height: 28px; /* 200% */
		letter-spacing: 1.96px;
		margin-left: 1rem;
		text-indent: -1rem;
	}
	#recruit .sec04 table td .border {
		display: inline-block;
		margin-bottom: 50px;
		padding: 20px 50px 20px 0;
		border-top: 1px dashed #10181a;
		border-bottom: 1px dashed #10181a;
		color: var(--main-color);
		font-weight: 700;
	}
	
	/* LEISURE */
	#leisure .swiper-wrapper {
		transition-timing-function: linear;
	}
	#leisure .breadcrumbs {
		margin-top: 0;
		background: transparent;
		z-index: 100;
		color: #10181a;
	}
	#leisure .breadcrumbs span {
		color: #10181a;
	}
	#leisure .breadcrumbs a span {
		color: var(--main-color);
		font-weight: 700;
	}
	#leisure .sec01 {
		position: relative;
		margin-top: -115px;
	}
	#leisure .sec01::before {
		content:'';
		position: absolute;
		top: -82px;
		left: 0;
		right: 0;
		margin: auto;
		width: 100%;
		height: 604px;
		background: url(../../images/src/leisure/ellipse.svg) no-repeat center top / 100%;
		z-index: 1;
	}
	#leisure .sec01 .block01 {
		position: relative;
		z-index: 10;
	}
	#leisure .sec01 .block01 .txt_box {
		position: relative;
		width: 964px;
		max-width: 100%;
		margin: 0 auto 50px;
		font-size: 27.946px;
		font-weight: 700;
		line-height: 55.893px; /* 200% */
		letter-spacing: 3.912px;
		text-align: center;
	}
	#leisure .sec01 .block01 .txt_box::before,
	#leisure .sec01 .block01 .txt_box::after {
		content:'';
		position: absolute;
		width: 56px;
		height: 86px;
		bottom: 0;
	}
	#leisure .sec01 .block01 .txt_box::before {
		left: 0;
		background: url(../../images/src/leisure/sec01_left.svg) no-repeat left top / 100%;
	}
	#leisure .sec01 .block01 .txt_box::after {
		right: 0;
		background: url(../../images/src/leisure/sec01_right.svg) no-repeat left top / 100%;
	}
	
	#leisure .sec01 .block01 .txt_box p {
		font-weight: 700;
	}
	#leisure .sec01 .block01 .txt_box .js_count {
		color: var(--main-color);
		font-size: 60.192px;
		font-weight: 700;
	}
	#leisure .sec01 .block01 .txt_box .green {
		color: var(--main-color);
		font-weight: 700;
	}
	#leisure .sec01 .block01 .txt_box .kome {
		font-size: 14px;
		font-style: normal;
		font-weight: 400;
		line-height: 32px; /* 228.571% */
		letter-spacing: 1.96px;
	}
	#leisure .sec01 .block01 .logo {
		margin: 0 auto;
		width: 618px;
		max-width: 100%;
	}
	#leisure .sec01 .block02 {
		position: relative;
		z-index: 10;
		margin: 70px auto 88px;
		width: 1400px;
		max-width: 100%;
	}
	
	#leisure .sec01 .block02 .swiper_leisure03 img {
		width: 100%;
		height: 710px;
		object-fit: cover;
	}
	#leisure .sec01 .block02 .img {
		position: absolute;
		right: 100px;
		bottom: 0;
		width: clamp(13.75rem, 3.302rem + 20.16vw, 27.5rem);
		z-index: 10;
	}
	#leisure .sec01 .block02 .box {
		position: relative;
		z-index: 10;
		margin: -110px 0 0 -10px;
		padding: 30px clamp(0.625rem, -3.934rem + 8.8vw, 6.625rem);
		width: clamp(31.25rem, 23.651rem + 14.67vw, 41.25rem);
		box-sizing: border-box;
		background: #FFFFFF;
	}
	#leisure .sec01 .block02 .box p {
		font-size: 16px;
		font-weight: 700;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#leisure .sec01 .block02 .box p .marker {
		font-weight: 700;
  		background: linear-gradient(transparent 70%, #FAEE02 30%);
	}
	#leisure .sec02 {
		padding: 50px 0;
		background: var(--main-color);
	}
	#leisure .sec02 .flex {
		justify-content: center;
	}
	#leisure .sec02 .flex .left {
		padding: 72px 0 151px;
		width: 568px;
	}
	#leisure .sec02 .flex .left .f_open_c {
		white-space: nowrap;
		color: rgba(255, 255, 255, 0.14);
		font-size: 92px;
		font-style: normal;
		font-weight: 300;
		line-height: 22px; /* 23.913% */
		letter-spacing: 7.36px;
	}
	#leisure .sec02 .flex .left h2 {
		padding-left: 42px;
		margin-bottom: 30px;
		color: #FFFFFF;
		font-size: 32px;
		font-weight: 700;
		line-height: 44px; /* 137.5% */
		letter-spacing: 4.48px;
	}
	#leisure .sec02 .flex .left .txt {
		padding-left: 42px;
		color: #FFFFFF;
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	
	#leisure .sec02 .flex .right {
		width: 651px;
		position: relative;
	}
	#leisure .sec02 .flex .right::before {
		content:'';
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		width: 402px;
		height: 403px;
		background: url(../../images/src/leisure/triangle.svg) no-repeat left top / 100%;
	}
	
	#leisure .sec02 .flex .right div {
		position: absolute;
		width: 260px;
	}
	#leisure .sec02 .flex .right .sp01 {
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
	}
	#leisure .sec02 .flex .right .sp02 {
		bottom: 0;
		left: 0;
		margin: auto;
	}
	#leisure .sec02 .flex .right .sp03 {
		bottom: 0;
		right: 0;
		margin: auto;
	}
	#leisure .sec03 {
		margin: 120px auto 100px;
	}
	#leisure .sec03 .flex {
		margin: 60px 0 118px;
	}
	#leisure .sec03 .flex .img {
		width: 398px;
	}
	#leisure .sec03 .flex .text_block {
		width: 730px;
	}
	#leisure .sec03 .flex .text_block h3 {
		font-size: 38px;
		font-style: normal;
		font-weight: 700;
		line-height: normal;
		letter-spacing: 5.32px;
	}
	#leisure .sec03 .flex .text_block .txt {
		margin: 20px 0;
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#leisure .sec03 .flex .text_block .ceo_name {
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 46px; /* 287.5% */
		letter-spacing: 2.24px;
	}
	#leisure .sec03 .flex .text_block .ceo_name span {
		font-size: 24px;
		font-weight: 700;
	}
	
	#leisure .sec03 .tb01 th {
		background: #F1F1F1;
	}
	#leisure .sec03 .tb01 td {
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	#leisure .sec04 {
		padding: 120px 0;
		background-color: #F1F1F1;
	}
	
	#leisure .sec04 h2 {
		margin-bottom: 70px;
	}
	#leisure .sec04 .flow {
		position: relative;
		margin: 0 auto;
		width: 1200px;
		max-width: 95%;
		padding: 70px 0 70px 70px;
		background-color: #FFFFFF;
	}
	#leisure .sec04 .triangle {
		text-align: center;
		margin: 16px 0 20px;
	}
	#leisure .sec04 .flow::before {
		content:'';
		position: absolute;
		top: 0;
		left: 0;
		width: 80px;
		height: 80px;
	}
	#leisure .sec04 .flow01::before {
		background: url(../../images/src/leisure/sec04_n01.png) no-repeat left top / 100%;
	}
	#leisure .sec04 .flow02::before {
		background: url(../../images/src/leisure/sec04_n02.png) no-repeat left top / 100%;
	}
	#leisure .sec04 .flow03::before {
		background: url(../../images/src/leisure/sec04_n03.png) no-repeat left top / 100%;
	}
	#leisure .sec04 .flow::after {
		content:'';
		position: absolute;
	}
	#leisure .sec04 .flow01::after {
		top: 27px;
		right: -55px;
		width: 294px;
		height: 240px;
		background: url(../../images/src/leisure/sec04_img01_2.png) no-repeat left top / 100%;
	}
	#leisure .sec04 .flow02::after {
		top: 27px;
		right: -37px;
		width: 266px;
		height: 248px;
		background: url(../../images/src/leisure/sec04_img02_2.png) no-repeat left top / 100%;
	}
	#leisure .sec04 .flow03::after {
		top: 41px;
		right: -41px;
		width: 294px;
		height: 214px;
		background: url(../../images/src/leisure/sec04_img03_2.png) no-repeat left top / 100%;
	}
	#leisure .sec04 .flow .flex {
		gap: 0 40px;
		align-items: center;
		justify-content: left;
	}
	#leisure .sec04 .flow .flex .txtarea {
		width: calc(70% - 26px);
	}
	#leisure .sec04 .flow .flex .ttl {
		margin-bottom: 20px;
		font-size: 24px;
		font-weight: 700;
		line-height: 44px; /* 183.333% */
		letter-spacing: 3.36px;
	}
	#leisure .sec04 .flow .flex .txt {
		font-size: 16px;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
	}
	
	#leisure .sec04 .flow .flex .kome {
		font-size: 14px;
		font-weight: 400;
		line-height: 28px; /* 200% */
		letter-spacing: 1.96px;
	}
	
	#leisure .sec05 {
		padding: 120px 0 140px;
	}
	#leisure .sec05 .txt {
		margin: 60px 0 26px;
		font-size: 16px;
		font-style: normal;
		font-weight: 400;
		line-height: 40px; /* 250% */
		letter-spacing: 2.24px;
		text-align: center;
	}
	#leisure .sec05 .kome {
		margin-bottom: 44px;
		font-size: 14px;
		font-style: normal;
		font-weight: 400;
		line-height: 28px; /* 200% */
		letter-spacing: 1.96px;
		text-align: center;
	}
	

}

@media screen and (max-width:1280px) {
	#leisure .breadcrumbs {
		top: -74px;
	}
}
@media screen and (max-width:1280px) {
	.top_sec01 .inner_wrap_l {
		padding: 14% 0 31px;
	}
	.top_sec01 .inner_wrap_l h2 {
		margin-bottom: 38px;
	}
	.top_sec01 .inner_wrap_l .message_b {
		top: 0px;
	}
	.top_sec01 .inner_wrap_l .img02 {
		top: 31px;
	}
	.top_mv .video_txt {
		left: clamp(1.875rem, -3.525rem + 10.42vw, 4.813rem);
	}
}
@media screen and (max-width:1150px) {
	.top_sec01 .inner_wrap_l {
		margin: 0 40px;
	}
	.top_sec01 .inner_wrap_l h2 {
		margin-left: 0;
		max-width: 60%;
		/*font-size: clamp(1.75rem, -0.187rem + 3.74vw, 2.5rem);*/
	}
	.top_sec01 .inner_wrap_l .txt {
		padding-left: clamp(4.5rem, -9.704rem + 27.41vw, 10rem);
		font-size: clamp(0.875rem, 0.552rem + 0.62vw, 1rem);
	}
}
@media screen and (max-width:1130px) {
	.top_mv .webcatalog {
		bottom: 90px;
	}
	#recruit .sec01 #job01 .text_block,
	#recruit .sec01 #job03 .text_block {
		padding-right: 0;
	}
	#recruit .sec01 .job .text_block {
		position: relative;
		/*width: 775px;*/
		width: clamp(25rem, -18.034rem + 83.06vw, 40.625rem);
	}
}

@media screen and (max-width:1024px) and (orientation: landscape) {
	.top_sec03 .block {
		margin-left: clamp(1rem, -12.285rem + 25.64vw, 4.125rem); 
	}
	.swipebtn {
		width: 42.625%;
	}
}

/*SP用*/
@media screen and (max-width:828px) {
	.pc { display: none !important; }
	.sp { display: block !important; }
	img { max-width: 100%; height: auto; width: auto; }
	body { min-width: auto !important; overflow: inherit !important; }
	.sp_tac { text-align: center !important; }
	.sp_tar { text-align: right !important; }
	.sp_mb15 { margin-bottom: 15px !important; }
	.sp_mb20 { margin-bottom: 20px !important; }
	.sp_mb30 { margin-bottom: 30px !important; }
	.sp_mb40 { margin-bottom: 40px !important; }
	.sp_mb45 { margin-bottom: 45px !important; }
	.sp_mb50 { margin-bottom: 50px !important; }
	.sp_mb60 { margin-bottom: 60px !important; }
	.sp_mb70 { margin-bottom: 70px !important; }
	.sp_mb80 { margin-bottom: 80px !important; }
	.sp_mb90 { margin-bottom: 90px !important; }
	.sp_mb100 { margin-bottom: 100px !important; }
	div, p, dd, dl, dt, th, td, span, li { box-sizing: border-box; }

	/* 汎用 */
	.inner_wrap {
		width: auto;
		max-width: initial;
	}

	
	.inner_wrap_l {
		position: relative;
		margin: 0 4.831vw;
		z-index: 10;
	}
	.btn01 a {
		padding: 3.986vw 0;
		border-radius: 34.541vw;
		box-shadow: 6.353px 6.353px 6.353px 0px rgba(0,0,0,.25);
		font-size: 3.382vw;
	}
	.arrow_icon {
		right: 2.709vw;
		width: 7.673vw;
		height: 7.673vw;
	}
	.btn01 a .circle_bg {
		right: 2.709vw;
		width: 7.673vw;
		height: 7.673vw;
	}
	.arrow_icon:before,
	.arrow_icon:after {
	  width: 7.673vw;
	  height: 2.536vw;
	  background: url(../../images/src/common/btn_arrow.svg) no-repeat center top / 2.778vw;
	}

	/* TOP
	-----------------*/
	.top_mv .webcatalog {
		bottom: 10vw;
		width: 21vw;
		right: 4vw;
	}
	#bg-video {
		position: absolute;
		right: 0;
		top: 0;
		bottom: 0;
		z-index: -100;
		width: 100%;
		height: inherit;
		object-fit: cover;
	}

	.top_mv {
		margin-left: auto;
		height: 101.691vw;
		border-left: 0;
		z-index: 10;
		overflow: hidden;
	}
	.top_mv::after {
		content: '';
        position: absolute;
        left: 0;
        top: 50%;
        width: 100%;
        height: 101.932vw;
        background: url(../../images/src/top/sp/bg01.svg) no-repeat left top / 100%;
		mix-blend-mode: multiply;
	}
	
	.top_mv::before {
		content: '';
        position: absolute;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 50.966vw;
		background: #00586A;
	}
	.top_mv .top_mv_wrap {
		margin-left: auto;
		border: 0;
		width: 95.169vw;
		z-index: 10;
	}
	.top_mv .video_txt {
		left: 4.348vw;
		bottom: 4.227vw;
		width: 95.169vw;
	}
	.top_mv .video_txt p {
		font-size: 4.831vw;
		line-height: 4.829vw; /* 99.961% */
		letter-spacing: 0.145vw;
	}
	.top_mv .video_txt p:last-of-type {
		margin-top: 1vw;
		font-size: 10.301vw;
		font-style: normal;
		font-weight: 500;
		line-height: 13.527vw; /* 131.317% */
	}
	.top_mv .video_txt p span {
		display: inline-block;
		padding: 0 1.966vw;
		font-size: 10.301vw;
	}
	.top_mv .video_txt p span::before,
	.top_mv .video_txt p span::after {
		width: 3.261vw;
		height: 4.106vw;
	}
	.top_mv .video_txt p span::before {
		top: 1vw;
		left: 0;
	}
	.top_mv .video_txt p span::after {
		bottom: -1vw;
		right: -1vw;
	}
	.top_mv .video_txt p + p {
		margin-top: 33px;
	}
	.side_follow {
		position: fixed;
		top: auto;
		bottom: 0;
		width: 100%;
		height: 12.077vw;
		z-index: 100;
		background:#00586A;
	}
	.side_follow .flex {
		flex-direction:initial;
		gap: 0 12.077vw;
		justify-content: center;
		padding: 2.899vw 0;
	}
	.side_follow.sticky {
		top: auto;
	}
	.side_follow p {
		margin-bottom: 0;
		font-size: 3.382vw;
		writing-mode: initial;
	}
	.side_follow ul {
		display: flex;
		gap: 0 9.179vw;
		justify-content: left;
	}
	.side_follow ul li a {
		font-size: 6.28vw;
	}
	.side_follow ul li + li {
		margin-top: 0;
	}

	.top_sec01 {
		/*padding-bottom: 9.662vw;*/
		padding-bottom: 76.691vw;
	}
	.top_sec01::before {
		top: -50.725vw;
		width: 100%;
		height: 61.353vw;
		z-index: 0;
	}
	.top_sec01::after {
		/*top: -3.121vw;*/
		top: -23%;
		height: 101.932vw;
		background-image: url(../../images/src/top/sp/bg01.svg);
	}
	.top_sec01 .inner_wrap_l {
		margin: 0 4.831vw;
		padding: 22.343vw 0 0;
		z-index: 1;
		width: auto;
		max-width: initial;
	}
	.top_sec01 .inner_wrap_l h2 {
		max-width: initial;
		width: auto;
		margin-bottom: 6.28vw;
		padding-left: 0;
	}
	.top_sec01 .inner_wrap_l h2 span:last-of-type {
		text-align: right;
		padding: 0;
	}
	.top_sec01 .inner_wrap_l h2 span::before,
	.top_sec01 .inner_wrap_l h2 span::after {
		width: 2.778vw;
		height: 1.932vw;
	}
	.top_sec01 .inner_wrap_l h2 span::before {
		left: -2.778vw;
	}
	.top_sec01 .inner_wrap_l h2 span::after {
		right: -0.362vw;
	}
	.top_sec01 .inner_wrap_l .txt {
		padding-left: 0;
		font-size: 3.382vw;
		line-height: 6.763vw;
	}
	.top_sec01 .inner_wrap_l .txt.second {
		font-size: 4.589vw;
		line-height: 8.454vw;
	}
	.top_sec01 .inner_wrap_l .message_b {
		position: absolute;
		left: -2.657vw;
		top: 3.1vw;
		font-size: 18.478vw;
		letter-spacing: 0.554vw;
	}
	.top_sec01 .inner_wrap_l .img01 {
		max-width: 31.763vw;
		top: 148.792vw;
		left: 0;
	}
	.top_sec01 .inner_wrap_l .img02 {
		max-width: 50.725vw;
		top: 138.406vw;
		right: -2.623vw;
	}
	.top_sec01 .inner_wrap_l .img03 {
		max-width: 19.203vw;
		top: 174.396vw;
		right: 40.217vw;
		z-index: 3;
	}
	.top_sec02 {
		padding-bottom: 16.908vw;
		overflow: hidden;
	}
	.top_sec02::before {
		display: none;
	}
	.top_sec02 .inner_wrap_m {
		width: auto;
		max-width: initial;
		z-index: 1;
	}
	.top_sec02 .textarea {
		margin-top: -20.531vw;
	}
	.top_sec02 .textarea .message_b {
		font-size: 13.768vw;
		line-height: 13.285vw; /* 96.491% */
		letter-spacing: 1.377vw;
	}
	.top_sec02 .textarea h2 {
		margin: -3.5vw 0 5.314vw;
		font-size: 6.039vw;
		letter-spacing: 0.845vw;
		line-height: 2.415vw;
	}
	.top_sec02 .textarea .txt {
		margin: 0 4.831vw 7.246vw;
		font-size: 3.623vw;
		letter-spacing: 0.507vw;
		line-height: 7.729vw;
		text-align: left;
	}
	.top_sec02 .textarea .btn01 {
		max-width: 65.217vw;
	}
	.top_sec02 .swiper_01 {
		margin-top: 13.285vw;
	}
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide {
		/*width: 77.778vw; */
		width: 54.4446vw;
	}
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide.shadow_none {
		padding: 0 4.831vw;
	}
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide .image {
		cursor: pointer;
		box-shadow: 0.725vw 0.725vw 0.725vw rgba(0,0,0,.25);
	}
	.top_sec02 .swiper_01 .swiper-wrapper .swiper-slide .overtext {
		position: absolute;
		left: 3.704vw;
		right: 3.704vw;
		bottom: 2.21vw;
		font-size: 3.14vw;
		line-height: 6.039vw;
		text-shadow: 0;
	}
	.top_pall_video {
		height: 70.048vw;
	}

	.top_sec03 {
		padding: 0 0 12.077vw;
	}
	.top_sec03::before {
		width: 100%;
		height: 26.57vw;
		background-image: url(../../images/src/top/sp/bg02.svg);
	}
	.top_sec03::after {
		content: '';
		position: absolute;
		right: 0;
		bottom: 0;
		width: 100%;
		height: 46.498vw;
		background: url(../../images/src/top/sp/bg03.svg) no-repeat right bottom / 100%;
	}
	.top_sec03 .block {
		margin-left: 0;
		width: auto;
	}
	.top_sec03 .text_box {
		margin-bottom: 0;
		padding: 13.527vw 0 4.831vw;
		width: auto;
		/*background-color: #FFFFFF;*/
	}
	.top_sec03 .text_box .message_b {
		margin-left: 0;
		font-size: 18.599vw;
		letter-spacing: 2.604vw;
	}
	.top_sec03 .text_box h2 {
		margin: -8vw 0 1.291vw 4.831vw;
		font-size: 6.039vw;
		line-height: 10.228vw;
		letter-spacing: 0.845vw;
	}
	.top_sec03 .text_box p {
		margin: 0 4.831vw;
		font-size: 3.382vw;
		line-height: 6.763vw;
		letter-spacing: 0.473vw;
	}
	.top_sec03 .works_list {
		display: none;
	}
	.top_sec03 .works_list_sp {
		padding-top: 4.831vw;
		display: flex !important;
		flex-wrap: wrap;
		margin: 0 4.831vw;
		gap: 0 11.111vw;
	}
	.top_sec03 .works_list_sp li {
		position: relative;
		padding-left: 2.778vw;
		font-size: 3.382vw;
		font-weight: 700;
		line-height: 8.23vw;
		letter-spacing: 0.473vw;
	}
	.top_sec03 .works_list_sp li::before {
		content:'';
		position: absolute;
		top: 0;
		left: 0;
		bottom: 0;
		margin: auto;
		width: 1.234vw;
		height: 1.234vw;
		border-radius: 50%;
		background: var(--main-color);
	}
	.top_sec03 .btn01 {
		width: 65.217vw;
	}
	.top_sec03 .img_sp {
		margin: 6.039vw 4.831vw 7.246vw;
	}
	.top_sec03 .img_sp ul li {
		width: 20.256vw;
	}
	
	.top_sec03 .img_sp ul li:last-of-type {
		margin-top: 1.932vw;
		width: 100%;
	}
	.top_sec03 .img_sp img {
		box-shadow: 0.725vw 0.725vw 0.725vw rgba(0,0,0,.16);
	}

	

	.top_sec04 {
		padding-bottom: 14.493vw;
		overflow: hidden;
	}
	.top_sec04::before {
		content:'';
		position: absolute;
		width: 100%;
		height: 145.29vw;
		top: 0;
		right: 0;
		background: url(../../images/src/top/sp/bg04.svg) no-repeat left top / 100%;
	}
	.top_sec04::after {
		width: 100%;
		height: 34.662vw;
		background: url(../../images/src/top/sp/bg05.svg) no-repeat left top / 100%;
	}
	.top_sec04 .top_sec04_color {
		min-height: initial;
		background: transparent;
	}
	.top_sec04 .top_sec04_color::before {
		display: none;
	}
	.top_sec04 .inner_wrap {
		margin: 0 4.831vw 6.039vw;
		padding-top: 7.729vw;
	}
	.top_sec04 .inner_wrap .message_b {
		font-size: 13.768vw;
		line-height: 13.285vw; /* 96.491% */
		letter-spacing: 1.928vw;
	}
	.top_sec04 .inner_wrap h2 {
		margin: -5.314vw 0 1.449vw;
		font-size: 6.039vw;
		line-height: 10.228vw;
		letter-spacing: 0.845vw;
	}
	.top_sec04 .inner_wrap .txt {
		font-size: 3.382vw;
		line-height: 6.763vw;
		letter-spacing: 0.473vw;
		text-align: left;
	}
	.top_sec04 .original_item_list {
		margin: -12.077vw 0 8.454vw 4.831vw;
		padding-top: 12.077vw;
		padding-left: 0;
	}
	.top_sec04 .original_item_list .parts {
		/*width: 78.261vw;*/
		width: 54.7827vw;
	}
	
	.top_sec04 .original_item_list .parts .img img {
		/*height: 110vw;*/
		height: auto;
	}
	.top_sec04 .original_item_list .parts .text_area::after {
		width: 8.57vw;
		height: 8.57vw;
	}
	.top_sec04 .original_item_list .parts .text_area .ttl {
		font-size: 3.5vw;
		line-height: normal;
		letter-spacing: 0.71vw;
		white-space: normal;
	}
	.top_sec04 .original_item_list .parts .text_area .ttl span {
		padding-right: 2.899vw;
	}
	.top_sec04 .original_item_list .parts .text_area .txt {
		padding-right: 6.763vw;
		font-size: 3vw;
		line-height: 6.763vw;
		letter-spacing: 0.473vw;
		height: 19vw;
		-webkit-line-clamp: 3;
	}
	.top_sec04 .swipebtn {
		width: 100%;
	}
	.top_sec04 .swipebtn .swiper-button-prev,
	.top_sec04 .swipebtn .swiper-button-next {
		width: 40px;
		height: 40px;
	}
	
	.top_sec04 .swipebtn .swiper-button-prev {
		left: 3.623vw;
	}
	.top_sec04 .swipebtn .swiper-button-next {
		right: 3.623vw;
	}
	.top_sec04 .btn01 {
		width: 65.217vw;
	}
	.top_sec05 {
		margin-top: 70.048vw;
		padding: 14.372vw 0 12.077vw;
	}
	.top_sec05 .recruit_left {
		width: auto;
	}
	.top_sec05 .recruit_left .message_b {
		margin:  0 0 0;
		font-size: 18.599vw;
		letter-spacing: 2.604vw;
	}
	.top_sec05 .recruit_left h2 {
		margin-top: -8vw;
		margin-left: 4.831vw;
		font-size: 6.039vw;
		line-height: 9.263vw;
		letter-spacing: 0.845vw;
	}
	.top_sec05 .recruit_left .sub_h2 {
		margin: 3.382vw 0 0 4.831vw;
		font-size: 5.293vw;
		line-height: 8.119vw; /* 153.4% */
		letter-spacing: 0.741vw;
	}
	.top_sec05 .recruit_left .sub_h2 span {
		font-size: 5.293vw;
		line-height: 8.119vw;
		letter-spacing: 0.741vw;
	}
	.top_sec05 .recruit_left .sub_h2 span.ico::before,
	.top_sec05 .recruit_left .sub_h2 span.ico::after {
		width: 2.295vw;
		height: 1.449vw;
	}
	.top_sec05 .recruit_left .sub_h2 span.ico::before {
		top: 1vw;
		left: -2.5vw;
	}
	.top_sec05 .recruit_left .sub_h2 span.ico::after {
		top: 6vw;
		right: -1.5vw;
	}
	.top_sec05 .recruit_left .txt {
		margin: 2.778vw 4.831vw 6.039vw;
		font-size: 3.382vw;
		line-height: 6.763vw;
		letter-spacing: 0.473vw;
	}
	.top_sec05 .recruit_left .btn01 {
		margin: 0 auto;
		width: 65.217vw;
	}
	.top_sec05 .img {
		margin: 0 4.831vw 7.246vw;
		width: auto;
	}
	.top_sec06 {
		padding: 14.493vw 4.831vw;
	}
	.top_sec06 .news_left {
		width: 100%;
		display: flex;
		flex-wrap: wrap;
		justify-content: space-between;
		align-items: center;
	}
	.top_sec06 .news_left .message_b {
		font-size: 9.903vw;
		line-height: 4.569vw;
		letter-spacing: 1.386vw;
	}
	.top_sec06 .news_left h2 {
		font-size: 4.348vw;
		line-height: 14.605vw;
		letter-spacing: 0.609vw;
	}
	.top_sec06 .news_left .btn02 {
		margin-top: 0;
	}
	.top_sec06 .news_left .btn02 a {
		padding-right: 12.077vw;
		font-size: 3.382vw;
		line-height: 150%;
		letter-spacing: 0.473vw;
	}
	.top_sec06 .news_left .btn02 a::after {
		right: 0;
		width: 8.696vw;
		height: 8.696vw;
	}
	.top_sec06 .news_list {
		width: 100%;
	}
	.top_sec06 .news_list a {
		padding: 4.106vw 0;
		border-top: 0.121vw dashed #10181a;
	}
	.top_sec06 .news_list a:last-of-type {
		border-bottom: 0.121vw dashed #10181a;
	}
	.top_sec06 .news_list a::after {
		width: 8.696vw;
		height: 8.696vw;
	}
	.top_sec06 .news_list a .date {
		font-size: 3.382vw;
		line-height: 6.763vw;
		letter-spacing: 0.473vw;
	}
	.top_sec06 .news_list a .ttl {
		margin: 0.845vw 12.681vw 0 0;
		font-size: 3.382vw;
		line-height: 6.763vw;
		letter-spacing: 0.473vw;
	}
	.top_sec07 {
		color: #fff;
		text-align: center;
	}
	.top_sec07 .company_left,
	.top_sec07 .contact_right {
		padding: 12.56vw 0 11.232vw;
		width: 100%;
	}
	.top_sec07 .company_left {
		height: 71.014vw;
		background: url(../../images/src/top/sp/sec07_bg.png) no-repeat center top / 100%;
	}
	.top_sec07 .contact_right {
		background: var(--main-color);
	}
	.top_sec07 .contact_right::before {
		display: none;
	}
	.top_sec07 .f_open {
		font-size: 6.763vw;
		line-height: 4.569vw;
		letter-spacing: 0.947vw;
	}
	.top_sec07 h2 {
		font-size: 3.623vw;
		line-height: 14.536vw;
		letter-spacing: 0.507vw;
	}
	.top_sec07 .txt {
		font-size: 3.382vw;
		line-height: 6.763vw;
		letter-spacing: 0.473vw;
	}
	.top_sec07 .contact_right .txt {
		line-height: 9.158vw;
	}
	.top_sec07 .contact_right .tel {
		margin-bottom: -1.932vw;
	}
	.top_sec07 .contact_right .tel a {
		font-size: 8.696vw;
		line-height:11.906vw;
		letter-spacing: 1.217vw;
	}
	.top_sec07 .contact_right .tel a:before {
		top: 1.604vw;
		left: -8.937vw;
		width: 5.797vw;
		height: 5.918vw;
	}
	.top_sec07 .company_left .btn01 {
		margin-top: 4.831vw;
		width: 65.217vw;
	}
	.top_sec07 .contact_right .btn01 {
		margin-top: 3.623vw;
		width: 82.126vw;
	}

	.bnr_area {
		padding: 12.077vw 4.831vw;
	}
	.bnr_area a {
		width: auto;
		position: relative;
		z-index: 1;
		background: #FFFFFF;
	}
	.bnr_area a:last-of-type {
		margin-top: 12.077vw;
		width: auto;
	}

	.bnr_area::before {
		top: 0;
		width: 100%;
		height: 33.937vw;
		background-image: url(../../images/src/top/sp/bg07.svg);
	}

	.bnr_area::after {
		width: 100%;
		height: 48.068vw;
		background-image: url(../../images/src/top/sp/bg08.svg);
	}

	/* 下層
	--------------*/
	.error404 .inner_mv_wrap {
        background: url(../../images/src/company/sp/mv.webp) no-repeat left top / cover;
    }
	.error404 .inner_wrap {
		padding: 12.077vw 0;
	}
	.error404 .inner_wrap .btn01 {
		margin-top: 12.077vw;
		width: auto;
		max-width: 65.217vw;
	}
	.inner_mv {
		position: relative;
		margin: 12.077vw 0 0 0;
		height: 57.488vw;
	}
	.inner_mv::before {
		content:'';
		position: absolute;
		left: 0;
		bottom: 0;
		width: 100%;
		height: 42.995vw;
		z-index: -1;
		background: var(--main-color);
	}
	.inner_mv .inner_mv_wrap {
		width: 95.169vw;
		border: 0;
	}
	.inner_mv .ttlbox {
		left: 3.623vw;
		bottom: 6.28vw;
	}
	.inner_mv .en_ttl {
		margin-bottom: 3.865vw;
		font-size: 9.662vw;
		line-height: 2.657vw;
		letter-spacing: 1.353vw;
	}
	.inner_mv h1 {
		font-size: 4.589vw;
		line-height: 8.454vw;
		letter-spacing: 0.643vw;
	}
	/* breadcrumbs パンくず */
	.breadcrumbs {
		padding: 2.174vw 4.831vw;
		text-align: left;
	}
	.breadcrumbs span span {
		padding: 0 1.932vw;
		font-size: 3.14vw;
		letter-spacing: 0.44vw;
	}

	/* pagenavi ページャー */
	.wp-pagenavi {
		margin-bottom: 16.908vw;
		gap: 0 2.174vw;
	}
	.wp-pagenavi span,
	.wp-pagenavi a {
		padding-left: 0.242vw;
		width: 8.696vw;
		height: 8.696vw;
		font-size: 3.382vw;
		line-height: 11.004vw; /* 325.406% */
		letter-spacing: 0.473vw;
	}
	.wp-pagenavi .first::before,
	.wp-pagenavi .last::before {
		width: 8.696vw;
		height: 8.696vw;
	}
	.wp-pagenavi .first::before {
		left: -10.87vw;
	}
	.wp-pagenavi .last::before {
		right: -10.87vw;
	}
	.wp-pagenavi .first {
		margin-right: 7.85vw;
	}
	.wp-pagenavi .last {
		margin-left: 7.85vw;
	}
	
	/* 下層フッター */
	.contact_area {
		padding: 10.507vw 0 8.937vw;
	}
	.contact_area .en {
		font-size: 6.763vw;
		line-height: 4.569vw; /* 67.55% */
		letter-spacing: 0.947vw;
	}
	.contact_area h2 {
		margin-bottom: 2.415vw;
		font-size: 3.623vw;
		line-height: 14.536vw; /* 401.208% */
		letter-spacing: 0.507vw;
	}
	.contact_area .flex {
		display: block;
	}
	.contact_area .tel {
		padding-left: 3vw;
	}
	.contact_area .tel a {
		font-size: 8.696vw;
		line-height: 11.906vw; /* 136.918% */
		letter-spacing: 1.217vw;
	}
	.contact_area .tel a:before {
		top: 2.604vw;
		left: -8.696vw;
		width: 5.797vw;
		height: 5.918vw;
		background: url(../../images/src/top/tel_white.svg) no-repeat left top / 100%;
	}
	.contact_area .ptxt {
		font-size: 3.382vw;
		line-height: 9.158vw; /* 270.826% */
		letter-spacing: 0.473vw;
	}
	.contact_area .btn01 {
		width: 82.126vw;
		margin: 0 auto;
	}

	.ft_link_area .parts {
		width: 100%;
	}
	.ft_link_area .parts a::after {
		right: 4.952vw;
		bottom: 4.831vw;
		width: 7.729vw;
		height: 7.729vw;
	}
	.ft_link_area .parts .bx {
		position: absolute;
		left: 4.831vw;
		bottom: 4.71vw;
	}
	.ft_link_area .parts .en {
		margin-bottom: 3.502vw;
		font-size: 6.763vw;
		line-height: 4.569vw; /* 67.55% */
		letter-spacing: 0.947vw;
	}
	.ft_link_area .parts h2 {
		font-size: 3.623vw;
		line-height: normal; /* 401.208% */
		letter-spacing: 0.507vw;
	}

	/* CONTACT */
	
	#contact .inner_mv_wrap {
		background: url(../../images/src/contact/sp/mv.webp) no-repeat left top / cover;
	}	
	#contact .sec01 {
		padding: 10.87vw 0;
	}
	#contact h3 {
		font-size: 6.763vw;
		line-height: 4.569vw; /* 67.55% */
		letter-spacing: 0.947vw;
	}
	#contact .txt {
		margin: 3.502vw 0 8.454vw;
		font-size: 3.623vw;
		line-height: 2.345vw; /* 107.851% */
		letter-spacing: 0.507vw;
	}
	#contact .sec01 .box {
		padding: 5.314vw 4.831vw 6.039vw;
		width: 90.338vw;
	}
	#contact .sec01 .box .tel {
		margin-bottom: 1.087vw;
	}
	#contact .sec01 .box .tel a {
		padding-left: 8.454vw;
		font-size: 8.696vw;
		line-height: 11.906vw; /* 136.918% */
		letter-spacing: 1.217vw;
	}
	#contact .sec01 .box .tel a::before {
		width: 5.797vw;
		height: 5.918vw;
	}
	#contact .sec01 .box .time {
		margin: 0;
		padding: 1.812vw 0;
		border-radius: 0;
		font-size: 3.382vw;
		letter-spacing: 0.473vw;
	}
	#contact .sec02 {
		padding: 12.077vw 4.831vw;
	}
	#contact .sec02 table th {
		display: block;
		margin-bottom: 6.763vw;
		padding-top: 6.763vw;
		font-size: 3.382vw;
		letter-spacing: 0.473vw;
	}
	#contact .sec02 table th span {
		margin-right: 2.174vw;
		padding: 0.362vw 1.087vw;
		font-size: 2.899vw;
		letter-spacing: 0.406vw;
	}
	#contact .sec02 table td {
		display: block;
		width: 100%;
		padding: 0 0 8.213vw;
	}
	#contact .sec02 .privacy {
		margin: 12.077vw auto;
		padding: 8.454vw 3.623vw 0 6.039vw;
		width: auto;
		height: 114.01vw;
		max-width: initial;
	}
	#contact .sec02 .privacy h4 {
		margin-bottom: 3.623vw;
		font-size: 3.623vw;
		letter-spacing: 0.507vw;
	}
	#contact .sec02 .privacy p {
		font-size: 3.14vw;
		line-height: 6.522vw; /* 228.571% */
		letter-spacing: 0.44vw;
	}
	#contact .sec02 .mwform-radio-field {
		margin: 0 0 3.623vw;
		padding-right: 0;
		display: block;
	}
	#contact .sec02 input[type="radio"] {
		inline-size: 7.005vw;
		block-size: 7.005vw;
	}
	#contact .sec02 .mwform-radio-field-text {
		font-size: 3.382vw;
		letter-spacing: 0.473vw;
	}
	#contact .sec02 input[type="text"],
	#contact .sec02 textarea {
		padding: 3.019vw 3.744vw 4.106vw;
		font-size: 3.382vw;
		letter-spacing: 0.473vw;
	}
	#contact .sec02 textarea {
		height: 25.604vw;
	}
	#contact .sec02 .btn_area {
		gap: 3.623vw 0;
		justify-content: center;
	}
	#contact .sec02 .btn_area > div {
		position: relative;
	}
	#contact .sec02 .btn_area input {
		cursor: pointer;
		display: block;
		padding: 20px 0;
		border:0;
		box-sizing: border-box;
		background: transparent;
		width: 92.754vw;
		border-radius: 180px;
		box-shadow: 0 4px 4px rgba(0,0,0,.25);
		color: #FFFFFF;
		text-align: center;
		font-family: "Roboto", sans-serif;
		font-size: 16px;
		font-style: normal;
		font-weight: 700;
		line-height: 150%; /* 24px */
		letter-spacing: 2.24px;

	}
	#contact .sec02 .btn_area .back_btn input {
		background: #5C5C5C;
	}

	#contact .sec02 .btn_area .send_btn input {
		background: var(--main-color);
	}
	.mw_wp_form_input .btn_area .back_btn::after {
		display: none;
	}
	#contact .sec02 .btn_area .back_btn::after {
		content: '';
		position: absolute;
		top: 0;
		left: 14px;
		bottom: 0;
		margin: auto;
		width: 40px;
		height: 40px;
		background: url(../../images/src/contact/arrow_back.svg) no-repeat left top / 100%;
	}
	#contact .sec02 .btn_area .send_btn::after {
		content: '';
		position: absolute;
		top: 0;
		right: 14px;
		bottom: 0;
		margin: auto;
		width: 40px;
		height: 40px;
		background: url(../../images/src/contact/arrow_send.svg) no-repeat left top / 100%;
	}


	/* NEWS */
	
	#news .inner_mv_wrap {
		background: url(../../images/src/news/sp/mv.webp) no-repeat left top / cover;
	}
	#news .news_list .block {
		margin: 9.662vw 4.831vw;
	}
	#news .news_list .block .parts {
		padding: 4.106vw 12.681vw 4.106vw 0;
	}
	#news .news_list .block .parts::after {
		width: 8.696vw;
		height: 8.696vw;
	}
	#news .news_list .block .parts .date {
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#news .news_list .block .parts .ttl {
		margin-top: -0.242vw;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	/* news 詳細 */
	#news .news_detail {
		margin: 9.662vw 4.831vw;
	}
	#news .news_detail .date {
		font-size: 4.831vw;
		line-height: 8.213vw; /* 170% */
		letter-spacing: 0.676vw;
	}
	#news .news_detail h2 {
		margin: 4.831vw 0;
		font-size: 4.831vw;
		line-height: 6.28vw; /* 185.714% */
		letter-spacing: 0.473vw;
		
	}
	#news .navigation {
		margin-bottom: 15.217vw;
		gap: 0 5.193vw;
	}
	#news .navigation .back a {
		padding: 1.812vw 2.778vw;
		width: 30.435vw;
		border-radius: 21.739vw;
		font-size: 3.382vw;
		letter-spacing: 0.473vw;
	}
	#news .navigation .alignleft {
		width: 12.44vw;
		text-align: right;
	}
	#news .navigation .alignright {
		width: 11.715vw;
	}
	#news .navigation .alignleft a,
	#news .navigation .alignright a {
		font-size: 3.382vw;
		line-height: 5.072vw;
		letter-spacing: 0.473vw;
	}
	#news .navigation .alignleft a::before,
	#news .navigation .alignright a::before {
		width: 8.696vw;
		height: 8.696vw;
	}
	#news .navigation .alignleft a::before {
		left: -10.87vw;
	}
	#news .navigation .alignright a::before {
		right: -10.87vw;
	}
	

	/* WORKS */
	
	#works .inner_mv_wrap {
		background: url(../../images/src/works/sp/mv.webp) no-repeat left top / cover;
	}
	#works .works_list .category {
		margin: 9.662vw 4.831vw;
		gap: 3.623vw;
	}
	#works .category li {
		width: 27vw;
	}
	#works .category li a {
		padding: 1.812vw 0 1.932vw;
	}
	#works .category li a span {
		padding-left: 4.831vw;
		font-size: 3.382vw;
		letter-spacing: 0.473vw;
	}
	#works .category li a span::before {
		width: 3.019vw;
		height: 3.744vw;
	}
	#works .block {
		margin: 0 4.831vw 14.493vw;
		gap: 6.039vw 0;
	}
	#works .block.all_page {
		gap: 6.039vw 0;
		justify-content: space-between;
		display: flex;
	}
	#works .block .parts {
		width: 100%;
		height: auto;
		box-sizing: border-box;
	}
	#works .block.all_page .parts {
		width: 43.237vw;
		height: 43.237vw;
	}
	#works .block.all_page .parts a .img img {
		height: 43.237vw;
	}
	#works .block .parts a::after {
		/*right: 4.831vw;
		bottom: 4.831vw;*/
		right: 1.831vw;
		bottom: 1.831vw;
		width: 7.729vw;
		height: 7.729vw;
	}
	#works .block .parts .pin {
		top: 0;
		left: 2.415vw;
		padding: 8.812vw 0 1.932vw;
		width: 17.778vw;
	}
	#works .block .parts .pin span {
		font-size: 3.382vw;
		letter-spacing: 0.473vw;
	}
	#works .block .parts .pin::before {
		width: 5.019vw;
		height: 6.744vw;
	}
	#works .block.all_page .parts .pin {
        padding: 7vw 0 1.932vw;
        width: 15.778vw;
	}
	#works .block.all_page .parts .pin span {
		font-size: 3vw;
	}
	#works .block.all_page .parts .pin::before {
		width: 4.019vw;
		height: 5.744vw;
	}
	#works .block .parts .bx {
		bottom: 6.039vw;
		left: 2.831vw;
		width: 87%;
	}
	#works .block .parts .bx .cate02,
	#works .block .parts .bx .cate03 {
		font-size: 3.382vw;
		line-height: 7.729vw; /* 228.571% */
		letter-spacing: 0.473vw;
	}
	#works .block .parts .bx .cate03 {
		line-height: normal;
	}
	#works .block .parts .bx h2 {
		/*font-size: 5.314vw;*/
		font-size: 4.3vw;
		line-height: 7.729vw;
		letter-spacing: 0.744vw;
	}
	#works .block.all_page .parts .bx {
		width: 31.159vw;
		bottom: 2.039vw;
		left: 3vw;
	}
	#works .block.all_page .parts .bx h2 {
		font-size: 3.106vw;
		font-style: normal;
		font-weight: 700;
		line-height: 5.314vw;
		letter-spacing: 0.3vw;
	}
	#works .block.all_page .parts .bx .cate02,
	#works .block.all_page .parts .bx .cate03 {
		font-size: 2.657vw;
		font-style: normal;
		font-weight: 700;
		line-height: 5.314vw; /* 200% */
		letter-spacing: 0.372vw;
	}
	#works .news_detail {
		padding: 3.623vw;
	}
	#works .news_detail .cate02, 
	#works .news_detail .cate03 {
		margin-top: 7.246vw;
		font-size: 3.382vw;
		line-height: 7.729vw; /* 228.571% */
		letter-spacing: 0.473vw;
	} 
	#works .news_detail .cate03 {
		margin: 0 0 7.246vw;
	}
	#works .news_detail h1 {
		font-size: 5.314vw;
		line-height: 7.729vw;
		letter-spacing: 0.744vw;
	}
	
	#works .news_detail .btn {
		margin: 0 auto 11.473vw;
		width: 65.217vw;
	}
	#works .news_detail .btn a {
		padding: 3.986vw 0;
		font-size: 3.382vw;
		font-style: normal;
		font-weight: 700;
		line-height: 5.072vw; /* 42px */
		letter-spacing: 0.473vw;
	}
	#works .news_detail .btn a::after {
		right: 2.778vw;
		width: 7.729vw;
		height: 7.729vw;
	}
	#works .news_detail .fancybox-close-small {
		width: 28.019vw;
		height: 8.696vw;
		padding: 0;
	}
	#works .news_detail .fancybox-close-small::after {
		font-size: 3.382vw;
		line-height: 5.072vw; /* 42px */
		letter-spacing: 0.473vw;
		top: 1.5vw;
		right: 5.039vw;
	}
	#works .news_detail .fancybox-close-small svg {
		padding-left: 3.329vw;
		font-size: 3.14vw;
		width: 10.4vw;
	}
	#works .news_detail .fancybox-button--arrow_left,
	#works .news_detail .fancybox-button--arrow_right {
		bottom: 3.623vw;
		width: 20.531vw;
		height: 8.696vw;
		padding: 0;
	}
	#works .news_detail .fancybox-button--arrow_left {
		left: 3.623vw;
	}
	#works .news_detail .fancybox-button--arrow_right {
		right: 3.623vw;
	}
	#works .news_detail .fancybox-button--arrow_left::before,
	#works .news_detail .fancybox-button--arrow_right::before {
		width: 8.696vw;
		height: 8.696vw;
	}
	#works .news_detail .fancybox-button--arrow_left::after,
	#works .news_detail .fancybox-button--arrow_right::after {
		top: 1.9vw;
		font-size: 3.382vw;
		line-height: 5.072vw; /* 42px */
		letter-spacing: 0.473vw;
	}
	#works .news_detail .fancybox-button--arrow_right::after {
		right: 10.87vw;
	}


	/* ORIGINAL ITEMS */
	#originalitems .inner_mv_wrap {
		background: url(../../images/src/original/sp/mv.webp) no-repeat left top / cover;
	}
	#originalitems .inner_mv .en_ttl { 
		margin-bottom: 0;
		line-height: 10.87vw; 
	}
	#originalitems .original_list {
		margin: 9.662vw 4.831vw;
	}
	#originalitems .original_list .block {
		gap: 9.662vw 0;
	}
	#originalitems .original_list .block .parts {
		width: 46%;
	}
	#originalitems .original_list .block .parts .img {
		margin-bottom: 3.623vw;
	}

	#originalitems .original_list .block .parts .img img {
		height: auto;
	}
	#originalitems .original_list .block .parts .bx {
		margin-bottom: 7.246vw;
	}
	#originalitems .original_list .block .parts .bx p {
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#originalitems .original_list .block .parts .bx .ttl {
		margin-bottom: 1.932vw;
		font-size:3.5vw;
		line-height: 6.763vw; /* 164.706% */
		letter-spacing: 0.575vw;
	}
	#originalitems .original_list .block .parts .more {
		padding-right: 12.077vw;
		font-size: 3.382vw;
		line-height: 5.072vw; /* 42px */
		letter-spacing: 0.473vw;
	}
	#originalitems .original_list .block .parts .more::after {
		width: 8.696vw;
		height: 8.696vw;
	}
	/* 詳細 */
	
	#original_detail .eyecatch {
		margin-top: 12.077vw;
		text-align: center;
	}
	#original_detail .eyecatch img {
		object-position: center;
		height: 60.628vw;
	}
	#original_detail .sec01 {
		padding: 9.662vw 4.831vw 14.493vw;
	}
	#original_detail .sec01 .img {
		width: 100%;
	}
	
	#original_detail .sec01 .right_column {
		width: 100%;
	}
	#original_detail .sec01 h1 { 
		margin-bottom: 6vw;
		font-size: 4.106vw;
		line-height: 6.763vw; /* 164.706% */
		letter-spacing: 0.575vw;
	}
	#original_detail .sec01 .right_column .explanation {
		margin: 3.623vw 0 8.454vw;
		font-size: 4.831vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#original_detail .sec01 .right_column .box {
		padding-top: 6.039vw;
	}
	#original_detail .sec01 .right_column .box .freetxt {
		font-size: 3.623vw;
		line-height: 6.522vw; /* 207.692% */
		letter-spacing: 0.44vw;
	}
	#original_detail .sec02 {
		margin: 14.493vw 4.831vw 0;
	}
	
	#original_detail .sec02 h2 {
		font-size: 6.522vw;
		line-height: 2.345vw; /* 35.95% */
		letter-spacing: 0.913vw;
	}
	#original_detail .sec02 .en_ttl {
		margin: 6.522vw 0 9.662vw;
		font-size: 3.382vw;
		line-height: 2.345vw; /* 69.333% */
		letter-spacing: 0.473vw;
	}
	
	#original_detail .sec02 .parts {
		gap: 8.454vw 0;
	}
	
	#original_detail .sec02 .parts + .parts {
		margin-top: 12.077vw;
	}
	#original_detail .sec02 .parts .img {
		width: 100%;
	}
	#original_detail .sec02 .parts .img img {
		height: auto;
	}
	#original_detail .sec02 .parts .txtblock {
		width: 100%;
	}
	#original_detail .sec02 .parts .txtblock h3 {
		margin-bottom: 3.623vw;
		padding-left: 3.623vw;
		border-left-width: 0.604vw;
		font-size: 4.589vw;
		line-height: 7.488vw; /* 163.158% */
		letter-spacing: 0.643vw;
	}
	#original_detail .sec02 .parts .txtblock .txtbox {
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#original_detail .sec02 .parts .txtblock .txtbox ul li {
		padding-left: 6.522vw;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#original_detail .sec02 .parts .txtblock .txtbox ul li::before {
		top: 1.329vw;
		width: 4.348vw;
		height: 4.348vw;
	}
	#original_detail .sec02 .parts:nth-of-type(odd),
	#original_detail .sec02 .parts:nth-of-type(even) {
		justify-content: space-between;
	}
	#original_detail .sec02 .parts:nth-of-type(odd) .img,
	#original_detail .sec02 .parts:nth-of-type(even) .img {
		order: 2;
	}
	#original_detail .sec02 .parts:nth-of-type(odd) .img img,
	#original_detail .sec02 .parts:nth-of-type(even) .img img {
		object-position: center;
	}
	#original_detail .sec02 .parts:nth-of-type(odd) .txtblock,
	#original_detail .sec02 .parts:nth-of-type(even) .txtblock {
		order: 1;
	}
	#original_detail .sec_coming {
		margin: 20.531vw auto;
	}
	#original_detail .sec_coming p {
		font-size: 6.522vw;
		line-height: 2.345vw; /* 42.202% */
		letter-spacing: 0.778vw;
	}

	#original_detail .navigation {
		padding-top: 9.662vw;
		margin: 14.493vw 4.831vw 16.908vw;
		width: auto;
		max-width: initial;
	}
	#original_detail .navigation a {
		width: 37.44vw;
	}
	#original_detail .navigation a .img {
		width: 100%;
		order: 1;
	}
	#original_detail .navigation a .img img {
		height: 54.952vw;
		object-position: center;
	}
	#original_detail .navigation a .bx {
		order: 2;
		width: 100%;
	}
	#original_detail .navigation a .bx .ttl {
		margin: 1.691vw 0 3.019vw;
		font-size: 2.899vw;
		line-height: 4.831vw; /* 166.667% */
		letter-spacing: 0.406vw;
	}
	#original_detail .navigation a .bx .f_roboto {
		margin-top: auto;
		font-size: 3.382vw;
		line-height: 150%; /* 42px */
		letter-spacing: 0.473vw;
	}
	#original_detail .navigation .back .bx .f_roboto {
		padding-left: 10.87vw;
	}
	#original_detail .navigation .next .bx .f_roboto {
		padding-right: 10.87vw;
	}
	#original_detail .navigation a .bx .f_roboto::before {
		width: 8.696vw;
		height: 8.696vw;
	}
	
	/* CATALOG */
	
	#catalog .inner_mv_wrap {
		background: url(../../images/src/catalog/sp/mv.webp) no-repeat left top / cover;
	}
	#catalog .category, 
	#recruit .category {
		margin: 9.662vw auto 12.077vw;
		gap: 3.623vw 0;
		justify-content: space-between;
	}
	#catalog .category li,
	#recruit .category li {
		width: 42.754vw;
	}
	#catalog .category li a,
	#recruit .category li a {
		padding: 3.019vw 3.623vw;
		font-size: 3.382vw;
		letter-spacing: 0.473vw;
		text-align: left;
	}
	#catalog .category li a .arrow_icon02,
	#recruit .category li a .arrow_icon02 {
		right: 1.449vw;
		width: 5.797vw;
		height: 5.797vw;
	}
	#catalog .category li a .circle_bg02,
	#recruit .category li a .circle_bg02 {
		right: 1.449vw;
		width: 5.797vw;
		height: 5.797vw;
	}
	.arrow_icon02:before,
	.arrow_icon02:after {
		width: 5.797vw;
		height: 5.797vw;
		background: url(../../images/src/common/arrow_bottom.svg) no-repeat center / 2.174vw;
	}
	
	#catalog .catalog_list {
		margin: 0 4.831vw;
	}
	#catalog .catalog_list .catalog_link {
		margin-top: -12.077vw;
		padding-top: 12.077vw;
	}
	#catalog .catalog_list h3 {
		margin-bottom: 6.401vw;
		padding: 3.623vw 0;
		font-size: 4.348vw;
		line-height: 2.345vw; /* 53.925% */
		letter-spacing: 0.609vw;
	}
	#catalog .catalog_list .block {
		margin-bottom: 12.077vw;
		justify-content: space-between;
		gap: 7.005vw 0;
	}
	#catalog .catalog_list .block .parts {
		width: 41.908vw;
	}
	#catalog .catalog_list .block .parts a .ttl {
		padding-right: 10.164vw;
		margin-top: 1.691vw;
		font-size: 3.382vw;
		line-height: 5.797vw; /* 171.429% */
		letter-spacing: 0.473vw;
	}
	#catalog .catalog_list .block .parts a .ttl::after {
		width: 5.797vw;
		height: 5.797vw;
	}


	.page_en_ttl {
		margin-bottom: 0;
		font-size: 6.763vw;
		line-height: 7.971vw; /* 117.857% */
		letter-spacing: 0.947vw;
	}
	.page_h2_ttl {
		font-size: 3.623vw;
		line-height: normal;
		letter-spacing: 0.507vw;
	}
	/* company */
	#company .inner_mv_wrap {
		background: url(../../images/src/company/sp/mv.webp) no-repeat left top / cover;
	}
	#company .sec01 {
		padding: 12.077vw 0;
	}
	#company .sec01 .flex {
		margin: 6.039vw 4.831vw 0;
		display: block;
	}
	#company .sec01 .text_block {
		width: auto;
	}
	#company .sec01 .text_block h3 {
		margin-bottom: 3.986vw;
		font-size: 5.217vw;
		line-height: 8.138vw; /* 156% */
		letter-spacing: 0.73vw;
		white-space: nowrap;
	}
	#company .sec01 .text_block h3 span {
		font-size: 5.217vw;
		line-height: 8.138vw; /* 156% */
		letter-spacing: 0.73vw;
	}
	#company .sec01 .text_block h3 span::before,
	#company .sec01 .text_block h3 span::after {
		width: 1.691vw;
		height: 2.415vw;
	}
	#company .sec01 .text_block h3 span::before {
		left: -2.415vw;
	}
	#company .sec01 .text_block h3 span::after {
		right: -0.483vw;
	}
	#company .sec01 .text_block .txt {
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#company .sec01 .text_block .ceo_name {
		margin-top: 2.415vw;
		font-size: 4.348vw;
		line-height: 7.246vw;
		letter-spacing: 0.609vw;
	} 
	#company .sec01 .text_block .ceo_name span {
		display: block;
		font-size: 3.382vw;
		line-height: 7.246vw; /* 214.286% */
		letter-spacing: 0.473vw;
	}
	#company .sec01 .img {
		margin: 8.454vw auto 0;
		width: 57.729vw;
	}
	#company .sec02 {
		padding: 12.077vw 4.831vw;
	}
	#company .sec02 table {
		margin-top: 8.454vw;
	}
	table.tb01 tr th {
		display: block;
		padding: 4.831vw 0 0;
		width: 100%;
		text-align: left;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	table.tb01 tr td {
		display: block;
		padding: 1.932vw 0 4.831vw;
	}
	table.tb01 tr td p {
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	table.tb01 tr td iframe {
		padding: 4.831vw 0 3.623vw;
		height: 45.894vw;
	}
	table.tb01 tr td .gmap {
		margin-bottom: 7.85vw;
	}
	table.tb01 tr td .gmap a {
		font-size: 3.382vw;
		line-height: 150%; /* 42px */
		letter-spacing: 0.473vw;
		padding-right: 11.473vw;
	}
	table.tb01 tr td .gmap a::after {
		width: 8.696vw;
		height: 8.696vw;
	}
	#company .sec02 table tr td li {
		padding-left: 3.623vw;
		font-size: 3.382vw;
		font-style: normal;
		font-weight: 400;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#company .sec02 table tr td li::before {
		width: 1.57vw;
		height: 1.57vw;
		top: 3vw;
		bottom: auto;
	}
	#company .sec03 {
		padding: 12.077vw 4.831vw 16.908vw;
	}
	#company .sec03 .ttlflex {
		margin-top: 8.575vw;
	}
	#company .sec03 .ttlflex li {
		padding: 0.604vw 0 1.087vw;
		font-size: 3.623vw;
		line-height: 7.246vw; /* 200% */
		letter-spacing: 0.507vw;
	}
	#company .sec03 .history_block .left_cl,
	#company .sec03 .history_block .right_cl {
		padding: 18.116vw 0 0;
		width: 50%;
	}
	#company .sec03 .history_block {
		position: relative;
	}
	#company .sec03 .history_block .box {
		margin: 0 0 6.039vw auto;
		width: 42.754vw;
	}
	#company .sec03 .history_block .y1986 {
		margin-top: 70px;
	}
	#company .sec03 .history_block .y1987 {
		margin-bottom: 180px;
	}
	#company .sec03 .history_block .y1989,
	#company .sec03 .history_block .left_cl .y2014 {
		margin-top: auto;
	}
	#company .sec03 .history_block .y2007 {
		margin-top: 8.454vw;
	}
	#company .sec03 .history_block .y2011 {
		margin-bottom: 8.454vw;
	}
	#company .sec03 .history_block .right_cl .y2014 {
		margin-bottom: 122.971vw;
	}
	#company .sec03 .history_block .box .year {
		margin-bottom: 1.449vw;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#company .sec03 .history_block .box .year span {
		padding-right: 2.415vw;
		font-size: 6.28vw;
		line-height: 2.345vw; /* 37.333% */
		letter-spacing: 0.628vw;
	}
	#company .sec03 .history_block .box .txt {
		font-size: 3.14vw;
		line-height: 5.797vw; /* 184.615% */
		letter-spacing: 0.44vw;
	}
	#company .sec03 .history_block .box .img {
		margin-top: 2.415vw;
	}
	
	
	#company .sec03 .history_block .left_cl {
		padding-right: 50px;
	}
	#company .sec03 .history_block .center_cl {
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		margin: auto;
		padding-top: 5.314vw;
		width: 22.947vw;
		height: 100%;
		z-index: -1;
	}
	#company .sec03 .history_block .center_cl p {
		font-size: 5.314vw;
		line-height: 2.345vw; /* 44.121% */
		letter-spacing: 0.531vw;
	}
	#company .sec03 .history_block .center_cl .seireki {
		margin-top: 2.778vw;
		font-size: 2.899vw;
		line-height: 3.382vw; /* 116.667% */
		letter-spacing: 0.406vw;
	}

	#company .sec03 .history_block:nth-of-type(2) .right_cl {
		margin-top: auto;
	}
	/* about us */
	
	#aboutus .inner_mv_wrap {
		background: url(../../images/src/about/sp/mv.webp) no-repeat left top / cover;
	}
	#aboutus .en_ttl {
		margin-bottom: 0;
		font-size: 10.87vw;
		line-height: 10.87vw; /* 100% */
		letter-spacing: 1.522vw;
	}
	#aboutus .sec01 {
		padding: 19.324vw 4.831vw 9.662vw;
	}
	#aboutus .sec01 .text_block {
		width: auto;
		margin: 7.246vw 0 0;
		flex-shrink: inherit;
		order: 2;
	}
	#aboutus .sec01 .img {
		order: 1;
		display: flex;
		align-items: center;
	}
	#aboutus .sec01 .block:nth-of-type(even) .text_block {
		margin: 7.246vw 0 0;
	}
	#aboutus .sec01 .block.y1964 .text_block {
		margin-right: 0;
	}
	#aboutus .sec01 .en {
		margin-left: -6.401vw;
		font-size: 18.841vw;
		line-height: 4.097vw; /* 21.745% */
		letter-spacing: 0.565vw;
		text-align: center;
	}
	#aboutus .sec01 h2 {
		margin-bottom: 6.401vw;
		font-size: 5.556vw;
		line-height: 7.005vw; /* 126.087% */
		letter-spacing: 0.778vw;
		text-align: center;
	}
	#aboutus .sec01 .year {
		font-size: 11.353vw;
		line-height: 2.345vw; /* 20.652% */
		letter-spacing: 1.135vw;
		text-align: left;
	}
	#aboutus .sec01 .seireki {
		margin: 5.314vw 0 0;
		font-size: 3.865vw;
		font-style: normal;
		font-weight: 400;
		line-height: 4.831vw; /* 125% */
		letter-spacing: 0.541vw;
	}
	#aboutus .sec01 .txt {
		font-size: 3.382vw;
		line-height: 7.488vw; /* 221.429% */
		letter-spacing: 0.473vw;
	}

	#aboutus .sec01 .block {
		margin-bottom: 13.285vw;
		justify-content: space-between;
		gap: 0;
	}
	#aboutus .sec01 .block .img {
		width: 100%;
		flex-shrink: inherit;
		justify-content: space-between;
	}
	#aboutus .sec01 .y1946 .img  img{
		width: 48.309vw;
	}
	#aboutus .sec01 .y1964 .img {
		position: relative;
		margin:0;
	}
	#aboutus .sec01 .y1964 .img::before {
		top: -4.039vw;
		left: -4.831vw;
		width: 18.237vw;
		height: 36.836vw;
	}
	#aboutus .sec01 .y1964 .img img {
		width: 46.739vw;
	}
	#aboutus .sec01 .y1975 .img {
		margin-right: 0;
		gap: 0 3.623vw;
	}
	#aboutus .sec01 .y1975 .img .sp img {
		padding-top: 7.005vw;
	}
	#aboutus .sec01 .y1975 .img02 {
		margin-right: -5vw;
	}
	#aboutus .sec01 .y1986 .img {
		margin-left: -4.831vw;
	}
	#aboutus .sec01 .y1986 .img img {
		width: 51.812vw;
	}
	#aboutus .sec01 .y1989 .img {
		width: 708px;
		margin-right: 0;
	}
	#aboutus .sec01 .y1989 .img img {
		width: 51.812vw;
	}
	#aboutus .sec01 .y1919 .img {
		margin-left: 0;
	}
	#aboutus .sec01 .y1919 .img img {
		width: 52.415vw;
	}
	#aboutus .sec02 {
		padding: 12.077vw 4.831vw;
		width: auto;
		max-width: initial;
	}
	#aboutus .sec02 .block {
		margin-top: 6.039vw;
		display: block;
	}
	#aboutus .sec02 .block + .block {
		margin-top: 7.246vw;
		display: flex;
	}
	
	#aboutus .sec02 .block .img {
		margin-top: 7.246vw;
		width: 100%;
	}
	#aboutus .sec02 .block .text_block {
		width: 100%;
		display: block;
	}
	#aboutus .sec02 .block .text_block p {
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#aboutus .sec02 .block .text_block .marker {
		white-space: nowrap;
		font-size: 5.072vw;
		line-height: 9.42vw; /* 185.714% */
		letter-spacing: 0.71vw;
	}
	
	#aboutus .sec02 .block:last-of-type .text_block {
		order: 1;
	}
	#aboutus .sec02 .block:last-of-type .img {
		order: 2;
	}
	#aboutus .sec03 {
		padding: 12.077vw 4.831vw;
	}
	#aboutus .sec03 .inner_wrap {
		margin-top: 6.039vw;
	}
	#aboutus .sec03 .page_en_ttl span {
		font-size: 6.763vw;
		line-height: 7.971vw; /* 117.857% */
		letter-spacing: 0.947vw;
	}
	#aboutus .sec03 .inner_wrap .txt {
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#aboutus .sec03 .inner_wrap .txt .kome{
		font-size: 3.14vw;
		line-height: 6.763vw;
		letter-spacing: 0.44vw;
	}
	#aboutus .sec03 .swiper_03 {
		margin-top: 4.831vw;
	}
	#aboutus .sec03 .swiper_03 .swiper-wrapper .swiper-slide {
		width: 50vw; 
	}
	#aboutus .sec03 .swiper_03 .swiper-wrapper .swiper-slide a::before {
		width: 7.971vw;
		height: 7.971vw;
	}
	#aboutus .sec03 .swiper_03 .swiper-wrapper .swiper-slide a {
		height: 31.884vw;
	}
	#aboutus .sec03 .image {
		margin: 10.628vw 0 0;
		width: auto;
		max-width: initial;
	}
	#aboutus .sec03 .swiper_03 .swipebtn {
		width: 100%;
	}
	#aboutus .sec03 .swiper-button-next,
	#aboutus .sec03 .swiper-button-prev {
		top: 22vw;
		width: 7.729vw;
		height: 7.729vw;
	}
	#aboutus .sec03 .swiper-button-next {
		right: 0;
	}
	#aboutus .sec03 .swiper-button-prev {
		left: 0;
	}
	#aboutus .sec03 .image .img01 {
		order: 2;
		width: 100%;
	}
	#aboutus .sec03 .image .img02 {
		order: 1;
		width: 100%;
	}
	#aboutus .sec03 .image .overtext {
		display: none;
	}
	#aboutus .sec04 {
		padding: 12.077vw 4.831vw;
	}
	#aboutus .sec04 .txt {
		margin: 6.039vw 0 4.831vw;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#aboutus .sec04 .btn01 {
		margin-top: 7.246vw;
		width: 65.217vw;
	}
	#aboutus .sec04 .arrow_icon:before,
	#aboutus .sec04 .arrow_icon:after {
		background: url(../../images/src/common/btn_arrow_green.svg) no-repeat center top / 2.778vw;
	}
	/* RECURIT */
	#recruit .inner_mv_wrap {
		background: url(../../images/src/recruit/sp/mv.webp) no-repeat left top / cover;
	}
	#recruit .sec01 {
		padding: 0;
	} 
	#recruit .sec01 .category {
		margin: 9.662vw 4.831vw 12.077vw;
	}
	#recruit .sec01 .category li {
		width: 42.754vw;
	}
	#recruit .sec01 .category li a {
		height: 15.942vw;
        display: flex;
        align-items: center;
	}
	#recruit .sec01 .video {
		margin: 7.246vw 4.831vw 13.043vw;
	}
	#recruit .sec01 #work,
	#recruit .sec02 #roundtable,
	#recruit .sec03 #benefits,
	#recruit .sec03 #recruitment {
		margin-top: -12.077vw;
		padding-top: 12.077vw;
	}
	#recruit .sec01 #job01,
	#recruit .sec01 #job03 {
		margin-bottom: 21.739vw;
		padding: 12.077vw 4.831vw 0;
	}
	#recruit .sec01 #job02,
	#recruit .sec01 #job04 {
		padding: 13.285vw 4.831vw 9.662vw;
	}
	#recruit .sec01 #job02 {
		margin-bottom: 14.493vw;
	}
	#recruit .sec01 #job01 .flex,
	#recruit .sec01 #job03 .flex {
		justify-content: space-between;
		gap: 0;
	}
	#recruit .sec01 #job02 .flex,
	#recruit .sec01 #job04 .flex {
		justify-content: space-between;
		gap: 0;
	}
	#recruit .sec01 .job .img {
		width: 100%;
		order: 2;
	}
	#recruit .sec01 .job .text_block {
		margin-bottom: 6.039vw;
		width: 100%;
		order: 1;
	}
	#recruit .sec01 #job01 .text_block,
	#recruit .sec01 #job01 .text_block {
		padding-right: 0;
	}
	#recruit .sec01 #job02 .text_block,
	#recruit .sec01 #job04 .text_block {
		padding-left: 0;
	}
	
	#recruit .sec01 .job .text_block::before {
		top: -18.319vw;
		font-size: 29.097vw;
		line-height: 39.028vw; /* 134.133% */
	}
	#recruit .sec01 #job02 .text_block::before,
	#recruit .sec01 #job04 .text_block::before  {
		top: -15.319vw;
		left: auto;
		right: 0;
	}
	#recruit .sec01 .job .text_block h3 {
		margin-bottom: 8.454vw;
		font-size: 7.005vw;
		line-height: 5.556vw; /* 79.31% */
	}
	#recruit .sec01 .job .text_block ul li {
		margin-bottom: 1.812vw;
		padding-left: 7.85vw;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#recruit .sec01 .job .text_block ul li::before {
		top: 1.329vw;
		width: 5.314vw;
		height: 5.314vw;
	}
	#recruit .sec02 {
		padding: 12.077vw 0;
	}
	#recruit .sec02 .txt {
		margin-top: 7.246vw;
		font-size: 3.623vw;
		line-height: 7.246vw; /* 200% */
		letter-spacing: 0.507vw;
	}
	#recruit .sec02 .img01 {
		margin: 4.831vw auto 7.246vw;
	}
	#recruit .sec02 .roundtable {
		margin-bottom: 9.662vw;
	}
	#recruit .sec02 .roundtable .flex {
		gap: 8.454vw 0;
	}
	#recruit .sec02 .roundtable::before {
		top: 0;
		border-bottom: 10.87vw solid #ECF5F8;
	}
	#recruit .sec02 .roundtable.odd::before,
	#recruit .sec02 .roundtable.even::before {
		left: 0;
		right: auto;
		width: 58.816vw;
		border-left: 0;
		border-right: 5vw solid transparent;
	}
	#recruit .sec02 .roundtable.even::before {
		width: 82.246vw;
	}
	#recruit .sec02 .roundtable .img {
		margin: 0 auto;
		width: 60.386vw;
		flex: inherit;
		order: 2;
	} 
	#recruit .sec02 .roundtable .text_block {
		margin: 0 4.831vw;
		width: 100%;
		flex: inherit;
	}
	#recruit .sec02 .roundtable h3 {
		margin: 2.415vw 0 5.918vw;
		font-size: 5.072vw;
		line-height: 5.314vw; /* 104.762% */
		letter-spacing: 0.71vw;
	}
	#recruit .sec02 .roundtable h4 {
		margin-bottom: 6.039vw;
		padding-left: 3.623vw;
		font-size: 4.106vw;
		line-height: 7.246vw; /* 176.471% */
		letter-spacing: 0.575vw;
		border-left-width: 0.604vw;
	}
	
	#recruit .sec02 .roundtable table th {
		width: 14.614vw;
		letter-spacing: 0.473vw;
	}
	#recruit .sec02 .roundtable table th span {
		padding: 0.966vw 1.449vw;
		font-size: 3.382vw;
		line-height: 5.314vw; /* 157.143% */
	}
	#recruit .sec02 .roundtable table td {
		padding: 0 0 5.797vw 3.865vw;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#recruit .sec03 {
		padding: 12.077vw 0;
	}
	#recruit .sec03 .odd,
	#recruit .sec03 .even {
		padding: 12.077vw 4.831vw;
		gap: 0;
	}
	#recruit .sec03 .img {
		width: 100%;
		order: 1;
	}
	#recruit .sec03 .text_block {
		margin-top: 6.039vw;
		width: 100%;
		order: 2;
	}
	#recruit .sec03 .text_block h3 {
		margin-bottom: 3.623vw;
		font-size: 7.488vw;
		line-height: 4.545vw; /* 60.704% */
		letter-spacing: 1.048vw;
	}
	#recruit .sec03 .text_block .txt {
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#recruit .sec03 .text_block ul {
		margin-top: 4.831vw;
		padding: 2.899vw 3.623vw;
		justify-content: left;
		gap: 0 3.623vw;
	}
	#recruit .sec03 .text_block ul li {
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#recruit .sec04 {
		padding: 12.077vw 0;
	}
	
	#recruit .sec04 .txt {
		margin: 6.039vw 0;
		font-size: 3.623vw;
		line-height: 7.246vw; /* 200% */
		letter-spacing: 0.507vw;
	}
	#recruit .sec04 table {
		width: auto;
		max-width: initial;
		margin: 0 4.831vw;
	}
	#recruit .sec04 table th {
		display: block;
		padding: 2.657vw 6.039vw;
		width: 100%;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	
	#recruit .sec04 table td {
		display: block;
		padding: 2.657vw 6.039vw;
	}
	#recruit .sec04 table td p {
		margin-bottom: 4.831vw;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#recruit .sec04 table td .ttl {
		margin-bottom: 1.691vw;
		padding: 0.362vw 1.932vw;
		font-size: 3.382vw;
		letter-spacing: 0.473vw;
	}
	#recruit .sec04 table td .kome {
		margin-top: 0;
	}
	#recruit .sec04 table td .kome span {
		font-size: 3.14vw;
		line-height: 6.522vw; /* 207.692% */
		letter-spacing: 0.44vw;
	}
	#recruit .sec04 table td .border {
		margin-bottom: 6.039vw;
		padding: 2.415vw 6.039vw 2.415vw 0;
	}

	/* LEISURE */
	#leisure .swiper_leisure {
		margin-top: 12.077vw;
		overflow: hidden;
	}
	#leisure .breadcrumbs {
		top: 12.5vw;
		margin: -17.715vw 0 11.715vw;
		background: transparent;
		position: relative;
		z-index: 10;
	}
	#leisure .sec01 {
		margin-top: 0;
		padding-top: 10.87vw;
	}
	#leisure .sec01::before {
		top: -11.715vw;
		height: 22.101vw;
	}
	#leisure .sec01 .block01 .txt_box {
		width: auto;
		max-width: initial;
		margin: 0 4.831vw 6.039vw;
		font-size: 4.154vw;
		line-height: 8.309vw; /* 200% */
		letter-spacing: 0.582vw;
	}
	#leisure .sec01 .block01 .txt_box::before,
	#leisure .sec01 .block01 .txt_box::after {
		width: 8.333vw;
		height: 12.802vw;
	}

	#leisure .sec01 .block01 .txt_box .js_count {
		font-size: 8.948vw;
		line-height: 8.309vw;
		letter-spacing: 1.253vw;
	}
	#leisure .sec01 .block01 .txt_box .kome {
		font-size: 2.081vw;
		line-height: 4.757vw; /* 228.571% */
		letter-spacing: 0.291vw;
	}
	#leisure .sec01 .block01 .logo {
		margin: 0 6.039vw;
		width: auto;
		max-width: initial;
	}
	#leisure .sec01 .block02 {
		margin: 8.454vw 4.831vw 9.662vw;
		width: auto;
		max-width: initial;
	}
	#leisure .sec01 .block02 .swiper_leisure03 img {
		height: 62.802vw;
	}
	#leisure .sec01 .block02 .img {
		top: 48.43vw;
		bottom: auto;
		right: 0;
		width: 50vw;
	}
	#leisure .sec01 .block02 .box {
		margin: 22.826vw 0 0 0;
		padding: 0;
		width: auto;
	}
	#leisure .sec01 .block02 .box p {
		font-size: 3.14vw;
		line-height: 6.763vw; /* 215.385% */
		letter-spacing: 0.44vw;
	}
	#leisure .sec02 {
		padding: 10.87vw 0 12.077vw;
	}
	#leisure .sec02 .flex {
		justify-content: center;
	}
	#leisure .sec02 .flex .left {
		padding: 4.106vw 4.831vw 7.971vw;
		width: 100%;
		box-sizing: border-box;
	}
	#leisure .sec02 .flex .left .f_open_c {
		font-size: 15.217vw;
		line-height: 2.657vw; /* 17.46% */
		letter-spacing: 1.217vw;
	}
	#leisure .sec02 .flex .left h2 {
		padding-left: 5.072vw;
		margin-bottom: 3.623vw;
		font-size: 5.314vw;
		line-height: 5.314vw; /* 100% */
		letter-spacing: 0.744vw;
	}
	#leisure .sec02 .flex .left .txt {
		padding-left: 5.072vw;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	
	#leisure .sec02 .flex .right {
		margin: 0 3.14vw;
		height: 89.372vw;
		box-sizing: border-box;
		width: 100%;
	}
	#leisure .sec02 .flex .right::before {
		width: 63.768vw;
		height: 63.889vw;
	}
	
	#leisure .sec02 .flex .right div {
		width: 43.478vw;
	}
	#leisure .sec03 {
		margin: 12.077vw 4.831vw;
	}
	#leisure .sec03 .flex {
		margin: 4.831vw 0 12.077vw;
	}
	#leisure .sec03 .flex .img {
		margin: 8.454vw auto 0;
		width: 57.729vw;
		order: 2;
	}
	#leisure .sec03 .flex .text_block {
		width: 100%;
		order: 1;
	}
	#leisure .sec03 .flex .text_block h3 {
		font-size: 5.217vw;
		line-height: 8.138vw; /* 156% */
		letter-spacing: 0.73vw;
		text-align: center;
	}
	#leisure .sec03 .flex .text_block .txt {
		margin: 3.623vw 0 2.415vw;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#leisure .sec03 .flex .text_block .ceo_name {
		font-size: 3.382vw;
		line-height: 7.246vw; /* 214.286% */
		letter-spacing: 0.473vw;
	}
	#leisure .sec03 .flex .text_block .ceo_name span {
		font-size: 4.348vw;
		line-height: 7.246vw;
		letter-spacing: 0.609vw;
	}
	
	#leisure .sec03 .tb01 {
		border: 1px solid #DEDEDE;
	}
	#leisure .sec03 .tb01 tr {
		border-top: 1px solid #DEDEDE;
		border-bottom: 1px solid #DEDEDE;
	}
	#leisure .sec03 .tb01 th {
		padding: 2.657vw 6.039vw;
	}
	#leisure .sec03 .tb01 td {
		padding: 2.657vw 6.039vw 4.831vw;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
	}
	#leisure .sec04 {
		padding: 13.285vw 0;
	}	
	#leisure .sec04 h2 {
		margin-bottom: 8.454vw;
	}
	#leisure .sec04 .flow {
		margin: 0 4.831vw;
		width: auto;
		max-width: initial;
		padding: 5.797vw 4.831vw 40vw;
	}
	#leisure .sec04 .triangle {
		margin: 1.208vw auto 2.415vw;
		width: 15.459vw;
	}
	#leisure .sec04 .flow::before {
		width: 14.493vw;
		height: 14.493vw;
	}
	#leisure .sec04 .flow01::after,
	#leisure .sec04 .flow02::after,
	#leisure .sec04 .flow03::after {
		top: auto;
		bottom: -5vw;
		right: 0;
		left: 0;
		margin: auto;
	}
	#leisure .sec04 .flow01::after {
		width: 51.208vw;
		height: 40.58vw;
	}
	#leisure .sec04 .flow02::after {
		bottom: -2vw;
		width: 51.208vw;
		height: 44.58vw;
	}
	#leisure .sec04 .flow03::after {
		width: 51.208vw;
		height: 40.58vw;
	}
	#leisure .sec04 .flow .flex {
		gap: 0;
	}
	#leisure .sec04 .flow .flex .img01 {
		margin: 0 0 5.556vw 6.039vw;
		display: flex;
		justify-content: left;
		gap: 0 4.831vw;
		align-items: center;
	}
	#leisure .sec04 .flow .flex .img01 img {
		width: 20.531vw;
	}
	#leisure .sec04 .flow .flex .txtarea {
		width: 100%;
	}
	#leisure .sec04 .flow .flex .ttl {
		margin-bottom: 0;
		font-size: 4.348vw;
		line-height: 7.488vw; /* 172.222% */
		letter-spacing: 0.609vw;
	}
	#leisure .sec04 .flow .flex .txt {
		font-size: 3.14vw;
		line-height: 6.763vw; /* 215.385% */
		letter-spacing: 0.44vw;
	}
	
	#leisure .sec04 .flow .flex .kome {
		font-size: 3.14vw;
		line-height: 6.522vw; /* 207.692% */
		letter-spacing: 0.44vw;
		margin-left: 3.14vw;
		text-indent: -3.14vw;
	}
	#leisure .sec05 {
		padding: 12.077vw 4.831vw 16.908vw;
	}
	#leisure .sec05 .txt {
		margin: 6.039vw 0 3.382vw;
		font-size: 3.382vw;
		line-height: 6.763vw; /* 200% */
		letter-spacing: 0.473vw;
		text-align: left;
	}
	#leisure .sec05 .kome {
		margin-bottom: 9.662vw;
		font-size: 3.14vw;
		line-height: 6.522vw; /* 207.692% */
		letter-spacing: 0.44vw;
		margin-left: 3.14vw;
		text-indent: -3.14vw;
	}
	#leisure .contact_area {
		background: url(../../images/src/leisure/sp/contact_bg.png) no-repeat center top;
		background-size: cover;
	}
}

/* 印刷用 */
@media print {
	body { zoom: 0.6; -webkit-print-color-adjust: exact; }
}

/* 印刷用 IE10以上 */
@media print and (-ms-high-contrast:none) {
	@page { size: A4; margin: 12.7mm 9.7mm; }
	body { zoom: 1.8; width: 1200px; transform: scale(0.5); transform-origin: 0 0; }
}



.top_mv .top_mv_wrap:after {
  content: "";
  position: absolute;
  top: 104px; /*  上部バーの高さ分  */
  left: 0;
  width: 280px;
  height: 280px;
  background: url(../../images/src/top/logo_80th.png) no-repeat center center;
  background-size: contain;
}
@media screen and (max-width:828px) {
  .top_mv .top_mv_wrap:after {
    top: 12.077vw; /*  上部バーの高さ分  */
    width: 36vw;
    height: 36vw;
    background: url(../../images/src/top/sp/logo_80th.png) no-repeat center center;
    background-size: contain;
  }
}
