html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	padding: 0;
	width: 100%;
	height: 100%;
	background: #ffffff;
	color: var(--text-color);
	font-family: 'Noto Sans JP', sans-serif;
	font-size: min(16px, 4.1vw);
	font-style: normal;
	font-weight: 400;
	font-feature-settings: 'palt';
	letter-spacing: .04em;
	line-height: 2;
	-webkit-text-size-adjust: 100%;
}

@font-face {
  font-family: 'Moderniz';
  font-style: normal;
  font-weight: 400;
  /* 記述を一つにまとめ、カンマで区切るのが標準的 */
  src: url('../fonts/Moderniz.woff2') format('woff2'),
       url('../fonts/Moderniz.woff') format('woff');
}

:root {
	--text-color: #343434;
	--blue-color: #1BB5D0;
	--gray-color: #F5F5F5;
	--beige-color: #DED8C7;
}

img {
	display: block;
}

header {
	position: fixed;
	margin: min(20px, 5vw) min(40px, 5vw);
	z-index: 10;
}

header nav {
	display: flex;
	height: min(50px, 8.97vw);
	font-family: 'Moderniz';
	font-size: 12px;
	line-height: 1;
}

header nav .wrapper_link {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 0 1.875vw;
	align-items: center;
	gap: 0 1.875vw;
}

header nav > a {
	display: flex;
	width: fit-content;
	height: 100%;
	align-items: center;
	pointer-events: none;
}

header nav .logo_header {
	width: min(165px, 34.1vw);
	z-index: 1;
}

header nav .wrapper_link a {
	position: relative;
	top: .3em;
}

.wrapper_link_sp {
	display: none;
}

.ham {
	display: none;
}

main {
	width: 100vw;
	height: 100svh;
	overflow-x: hidden;
}

main .main_photos {
	width: 46.46%;
	max-width: 1010px;
	/*	width: min(892px, 100vw);*/
	height: 100%;
	background: var(--gray-color);
	border-radius: min(120px, 15.38vw) 0 0 min(120px, 15.38vw);
	overflow: hidden;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 1;
}

main .main_photos img {
	position: absolute;
	object-fit: cover;
}

main .main_photos img.main_photo01 {
	width: 28.76%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	left: 6.29%;
	top: 3%;
}

main .main_photos img.main_photo02 {
	width: 28.76%;
	aspect-ratio: 32 / 75;
	border-radius: 160px;
	left: 6.29%;
	top: 28.7%;
}

main .main_photos img.main_photo03 {
	width: 56.18%;
	aspect-ratio: 125 / 64;
	border-radius: 160px;
	left: 39.33%;
	top: 10.19%;
}

main .main_photos img.main_photo04 {
	width: 56.18%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	left: 39.33%;
	top: 36.67%;
}

main .main_photos img.main_photo05 {
	width: 27.53%;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	left: 74.16%;
	top: 80.83%;
}

main .top_news {
	display: flex;
	font-size: min(14px, 3.59vw);
	align-items: center;
	line-height: 1.25;
	white-space: nowrap;

}

main .top_news li:nth-child(2n+1) {
	width: 4em;
	color: var(--blue-color);
	font-weight: 600;
}

main .top_news time {
	padding: 0 1em 0 0;
}

.circle {
	position: absolute;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	z-index: 0;
}

.circle.blue {
	border-style: solid;
	border-color: var(--blue-color);
}

.circle.water {
	border-color: #6DD8EA;
}

.circle.beige {
	border-style: solid;
	border-color: var(--beige-color);
}

main > .circle {
	opacity: .75;
	filter: blur(1rem);
}

main .main_copy01 {
	width: min(715px, 82.05vw);
	transform: rotate(-8deg);
	position: absolute;
	left: 120px;
	bottom: 54svh;
	z-index: 2;
}

main h1 {
	font-size: min(22px, 4.1vw);
	letter-spacing: .1em;
	position: absolute;
	left: 120px;
	bottom: 42svh;
	z-index: 2;
}

main h1 small {
	display: block;
	font-size: min(14px, 2.82vw);
	letter-spacing: .04em;
}

main h2 {
	font-family: 'Moderniz';
	font-size: min(20px, 3.59vw);
	letter-spacing: .06em;
	position: absolute;
	left: 120px;
	bottom: 27svh;
	z-index: 1;
}

main > p {
	font-size: 14px;
	position: absolute;
	left: 120px;
	bottom: 20svh;
	z-index: 1;
}

main > span {
	display: block;
	width: fit-content;
	font-family: 'Oswald';
	font-size: min(14px, 2.56vw);
	font-weight: 700;
	line-height: 1;
	transform: rotate(90deg);
	position: absolute;
	left: 60px;
	bottom: 24svh;
}

main > span::before {
	content: '';
	width: 6em;
	height: 1px;
	background: var(--text-color);
	position: absolute;
	top: .5em;
	left: -6.75em;
}

main .main_news {
	display: flex;
	padding: 0 60px;
	width: calc((100% - 120px) - (100% - 1000px)/2);
	height: 7.41svh;
	background: #ffffff;
	border-radius: .5rem;
	box-shadow: 0px .2rem .4rem rgba(0, 0, 0, .2);
	align-items: center;
	position: absolute;
	bottom: 6.48svh;
	left: 120px;
	z-index: 1;
}

main .main_news p {
	font-size: 14px;
	line-height: 1.25;
}

#aboutus {
	padding: 110px 0 70px;
}

#aboutus .wrapper_aboutus {
	margin: 0 auto;
	width: min(1000px, 90vw);
	position: relative;
}

#aboutus :is(h2, p, .fig_kart01) {
	position: relative;
	z-index: 1;
}

h2.sec_h2 {
	color: transparent;
	font-family: 'Moderniz';
	font-size: 60px;
	line-height: 1;
	-webkit-text-stroke: 1px var(--text-color);
	text-stroke: 1px var(--text-color);
	paint-order: stroke;
}

.center {
	text-align: center;
}

#aboutus .wrapper_aboutus h3 {
	margin: 1.5em 0 0;
	color: var(--blue-color);
	font-size: 20px;
	font-weight: 600;
}

#aboutus .wrapper_aboutus p {
	margin: .5em 0 0;
	font-size: 14px;
	line-height: 2.15;
}

#aboutus .wrapper_aboutus img.fig_kart01 {
	margin: 3rem 0 0;
	width: min(422px, 43.33vw);
}

#aboutus .wrapper_aboutus img.about01 {
	width: min(300px, 53.08vw);
	border-radius: .625rem;
	position: absolute;
	right: 253px;
	bottom: 70px;
	z-index: 0;
}

#aboutus .wrapper_aboutus img.about02 {
	width: min(320px, 42.82vw);
	border-radius: 1.25rem;
	position: absolute;
	right: 0;
	bottom: 30px;
	z-index: 0;
}

#business {
	padding: min(130px, 32.82vw) 0 min(350px, 44.62vw);
	background: var(--gray-color);
	border-radius: min(120px, 15.38vw) min(120px, 15.38vw) 0 0;
	position: relative;
	overflow: hidden;
}

#business :is(h2, h3, h4, ol) {
	position: relative;
	z-index: 1;
}

#business .circle {
	position: absolute;
	z-index: 0;
}

.sec_h3 {
	margin: .5em 0 0;
	color: var(--blue-color);
	font-size: min(16px, 3.59vw);
	font-weight: 500;
}

#business h4 {
	margin: .75em 0 0;
	font-size: min(24px, 5.13vw);
	font-weight: 600;
}

#business ol {
	display: flex;
	margin: min(70px, 12.82vw) auto;
	justify-content: center;
	gap: 0 12px;
}

#business ol li {
	width: 241px;
	height: 430px;
}

#business ol li div {
	width: 100%;
	height: 100%;
	background: #ffffff;
	border-radius: .625rem;
	box-shadow: 0px .2rem .4rem rgba(0, 0, 0, .2);
}

#business ol li img {
	width: 100%;
	height: 215px;
	border-radius: .625rem .625rem 0 0;
	object-fit: cover;
}

#business ol li h5 {
	margin: 20px 0 0;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .1em;
	position: relative;
}

#business ol li h5::after {
	content: '';
	margin: 0 auto;
	width: 2.5em;
	height: 2px;
	background: var(--blue-color);
	position: absolute;
	bottom: -1em;
	right: 0;
	left: 0;
}

#business ol li:nth-child(n+2) h5 {
	margin-top: calc(20px + 1.5em);
}

#business ol li p {
	margin: 2.5em 0 0;
	padding: 0 min(20px, 5vw);
	font-size: 14px;
	text-align: left;
	line-height: 1.5;
}

#business > a {
	display: flex;
	margin: 3em auto 0;
	width: 20em;
	height: 4em;
	background: #ffffff;
	border: 2px solid var(--blue-color);
	border-radius: 2em;
	color: var(--blue-color);
	font-size: 14px;
	font-weight: 600;
	justify-content: center;
	align-items: center;
	box-shadow: 0 .2rem .4rem rgba(0, 0, 0, .2);
	transition: .3s;
	position: relative;
}

#business > a span {
	display: block;
	margin: auto 0;
	width: 1em;
	height: 1em;
	background: var(--blue-color);
	border-radius: 50%;
	position: absolute;
	top: 0;
	bottom: 0;
	right: 1.5em;
}

#business > a span::before {
	content: '';
	margin: auto;
	width: .35em;
	height: .35em;
	border-top: 1.5px solid #ffffff;
	border-right: 1.5px solid #ffffff;
	transform: rotate(45deg);
	position: absolute;
	top: 0;
	right: .1em;
	bottom: 0;
	left: 0;
}

#business > strong {
	display: block;
	color: #ffffff;
	font-family: 'Moderniz';
	font-size: min(60px, 10.26vw);
	text-align: left;
	line-height: 1;
	white-space: nowrap;
	position: absolute;
	mix-blend-mode: hard-light;
	opacity: .8;
}

#business > strong.b_copy01 {
	width: 100%;
	bottom: 345px;
	left: 0;
	animation: loop-slide 90s infinite linear 1s both;
}

@keyframes loop-slide {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

#business > strong.b_copy02 {
	width: 100%;
	bottom: 250px;
	left: -600%;
	animation: loop-slide-r 90s infinite linear 1s both;
}

@keyframes loop-slide-r {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(100%);
  }
}

#monsterkart {
	margin: -120px 0 0;
	padding: min(140px, 23.08vw) 0 90px;
	background: var(--blue-color);
	border-radius: min(120px, 15.38vw) min(120px, 15.38vw) 0 0;
	overflow: hidden;
	position: relative;
	z-index: 1;
}

#monsterkart .circle {
	z-index: 0;
}

#monsterkart > :is(h2, h3, h4, h5, p, ul) {
	position: relative;
	z-index: 1;
}

#monsterkart h2 {
	-webkit-text-stroke: 1px #ffffff;
	text-stroke: 1px #ffffff;
}

#monsterkart h2 span {
	margin-left: .35em;
}

#monsterkart h3 {
	color: #ffffff;
}

#monsterkart h4 {
	margin: 2em 0 0;
	color: #ffffff;
	font-size: min(22px, 4.1vw);
	font-weight: 900;
	letter-spacing: .08em;
}

#monsterkart > figure {
	margin: 0 auto;
	width: min(430px, 65.64vw);
	position: relative;
}

#monsterkart > figure::before,
#monsterkart > figure::after {
	content: '';
	width: min(59px, 7.95vw);
	height: min(110px, 14.87vw);
	background: url(../images/fig_thunder_w.svg) no-repeat 50% 50%;
	background-size: 100%;
	position: absolute;
	top: -1.5rem;
	left: -7rem;
}

#monsterkart > figure::after {
	transform: scaleX(-1);
	left: auto;
	right: -7rem;
}

#monsterkart .machines {
	margin: 1.5rem auto 0;
	width: 860px;
	filter: drop-shadow(0 1rem .5rem rgba(0, 0, 0, .3));
}

#monsterkart ul {
	display: flex;
	flex-wrap: wrap;
	margin: -80px auto 0;
	width: min(1000px, 90vw);
	justify-content: space-between;
	gap: .25rem 30%;
}

#monsterkart ul li {
	font-family: 'Oswald';
	font-size: min(105px, 16.67vw);
	font-weight: 700;
	line-height: 1;
}

#monsterkart ul li:nth-child(-n+2) {
	background: linear-gradient(180deg, #FFC1FB, #3EE9FF);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
	letter-spacing: .03em;
}

#monsterkart ul li:nth-child(n+3) {
	color: #ffffff;
	font-size: min(34px, 6.41vw);
	letter-spacing: .06em;
}

#monsterkart ul li:nth-child(3) {
	padding-left: .4em;
}

#monsterkart ul li:nth-child(4) {
	padding-right: .35em;
}

#monsterkart > strong {
	display: flex;
	margin: -45px auto 0;
	padding: 0 0 0 1.75em;
	width: 340px;
	height: 70px;
	border: 3px solid #ffffff;
	border-radius: 35px;
	color: #ffffff;
	font-size: 22px;
	font-weight: 600;
	justify-content: center;
	align-items: center;
	position: relative;
}

#monsterkart > strong figure {
	margin: auto 0;
	padding: 8px 6px 8px 10px;
	width: min(52px, 13.33vw);
	height: min(52px, 13.33vw);
	border: 2px solid #ffffff;
	border-radius: 50%;
	position: absolute;
	top: 0;
	bottom: 0;
	left: 6px;
}

#monsterkart h5 {
	margin: 1.75em 0 0;
	color: #ffffff;
	font-size: min(26px, 5.64vw);
	font-weight: 600;
	text-align: center;
	line-height: 1.35;
	letter-spacing: .06em;
}

#monsterkart h5 br {
	display: none;
}

#monsterkart > p {
	margin: 1em auto 0;
	width: min(1000px, 90vw);
	color: #ffffff;
	font-size: 14px;
	text-align: left;
	letter-spacing: .08em;
}

#monsterkart > ol {
	display: flex;
	flex-wrap: wrap;
	margin: 40px auto 0;
	width: min(1000px, 90vw);
	justify-content: space-between;
	gap: 20px 0;
	position: relative;
	z-index: 1;
}

#monsterkart > ol li:nth-child(-n+4) {
	width: min(230px, 42.56vw);
	height: min(230px, 42.56vw);
	border: 3px solid #ffffff;
	border-radius: .625rem;
	object-fit: cover;
}

#monsterkart > ol li:nth-child(-n+4) img {
	border-radius: .5rem;
}

#monsterkart > ol li:nth-child(n+5) {
	display: flex;
	flex-wrap: wrap;
	width: 316px;
	height: 90px;
	background: #ffffff;
	border: 3px solid var(--blue-color);
	border-radius: .625rem;
	color: var(--blue-color);
	font-size: 22px;
	font-weight: 600;
	line-height: 1.25;
	justify-content: center;
	align-items: center;
}

#monsterkart > ol li:nth-child(n+5) small {
	display: block;
	font-size: 80%;
	font-weight: 400;
}

#monsterkart > span {
	width: 100%;
	height: 390px;
	background: var(--blue-color) url(../images/bg_monsterkart.webp) no-repeat 50% 100%;
	background-size: cover;
	background-attachment: fixed;
	position: absolute;
	bottom: 0;
	left: 0;
	z-index: 0;
}

#mk_detail {
	padding: 60px 0 70px;
	background: var(--beige-color);
	position: relative;
	z-index: 1;
}

#mk_detail > img {
	width: min(380px, 71.79vw);
	filter: drop-shadow(0 1rem .5rem rgba(0, 0, 0, .3));
	position: absolute;
	top: -65px;
	left: calc((100vw - 920px)/2);
}

#mk_detail > div {
	margin: 0 0 0 calc(50vw + 12px);
}

#mk_detail > div h2 {
	margin: 0 0 1em;
	font-size: min(28px, 5.64vw);
	font-weight: 600;
	line-height: 1.5;
	letter-spacing: .1em;
}

#mk_detail > div h2 small {
	display: block;
	font-size: 50%;
	letter-spacing: .06em;
}

#mk_detail > div span {
	display: block;
	margin: 1.25em 0 0;
	width: fit-content;
	border-bottom: 1px solid;
	font-size: min(14px, 3.59vw);
	line-height: 1;
}

#mk_detail > a {
	display: block;
	margin: min(110px, 20.51vw) auto 0;
	width: fit-content;
	border-bottom: 1px solid;
	font-size: 14px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: .15em;
}

#strength {
	padding: min(130px, 32.82vw) 0 120px;
	background: url(../images/bg_strength.webp) no-repeat 50% 50%;
	background-size: cover;
	background-attachment: fixed;
}

#strength h4 {
	margin: .5em 0 0;
	font-size: min(24px, 5.13vw);
	font-weight: 600;
}

#strength ul {
	display: flex;
	flex-wrap: wrap;
	margin: min(80px, 15.38vw) auto 0;
	width: min(1000px, 90vw);
	justify-content: center;
	gap: 0 80px;
}

#strength ul li {
	display: flex;
	flex-wrap: wrap;
	width: min(280px, 42.31vw);
	aspect-ratio: 1 / 1;
	background: #ffffff;
	border: min(50px, 7.69vw) solid #6CD8EA;
	border-radius: 50%;
	font-size: min(18px, 3.59vw);
	font-weight: 600;
	line-height: 1.35;
	-webkit-text-stroke: .3em #ffffff;
	text-stroke: .3em #ffffff;
	paint-order: stroke;
	justify-content: center;
	align-items: center;
}

#strength ul li strong {
	display: block;
	color: var(--blue-color);
	font-size: min(24px, 4.62vw);
	font-weight: 600;
}

#company {
	padding: min(130px, 32.82vw) 0 min(170px, 41.03vw);
}

#company > ul {
	display: flex;
	flex-wrap: wrap;
	margin: 80px auto 0;
	width: min(1000px, 90vw);
}

#company > ul li:nth-child(2n+1) {
	padding: 1rem 0;
	width: 20%;
	font-size: min(18px, 4.1vw);
	font-weight: 600;
}

#company > ul li:nth-child(2n) {
	padding: 1rem 0;
	width: 80%;
	font-size: min(16px, 3.59vw);
	font-weight: 500;
}

#company > ul li:not(:nth-last-child(-n+2)) {
	border-bottom: 1px solid #DFE3EF;
}

#company > ul li:nth-child(2) br {
	display: none;
}

footer {
	display: flex;
	height: min(60px, 15.38vw);
	background: #000000;
	font-family: 'Oswald';
	font-weight: 300;
	color: #ffffff;
	letter-spacing: .2em;
	justify-content: center;
	align-items: center;
}






@media (any-hover: hover) {

	#business > a:hover {
		box-shadow: 0 0 0 rgba(0, 0, 0, .5);
	}

}





@media (768px <= width <= 1024px) {

	main .main_news {
		width: calc(100vw - 120px - 5vw);
	}

	#business .slick_list {
		margin: 0 0 0 5vw;
		width: 95vw;
	}

	#business ol li {
		padding: 0 2.5vw 5vw 0;
	}

	#business ol li h5 {
		margin-top: 1em !important;
	}

	ul.slick-dots {
		display: flex;
		bottom: -5vw;
		justify-content: center;
		gap: 0 .5rem;
	}

	ul.slick-dots li {
		width: 20px !important;
		height: 20px !important;
	}

	ul.slick-dots li button {
		width: 20px !important;
		height: 20px !important;
		background: transparent;
		border: 1px solid var(--text-color);
		border-radius: 50%;
	}

	ul.slick-dots li.slick-active button {
		background: var(--text-color);
	}

	#monsterkart ul li {
		font-size: 10vw;
	}

	#monsterkart ul li:nth-child(n+3) {
		padding: 0;
		font-size: 3.59vw;
	}

	#monsterkart > strong {
		margin-top: -30px;
		transform: scale(.8);
	}

	#monsterkart h5 {
		font-size: 22px;
	}

	#monsterkart > ol li:nth-child(-n+4) {
		width: 21vw;
		height: 21vw;
	}

	#monsterkart > ol li:nth-child(n+5) {
		width: 29vw;
	}

	#mk_detail > img {
		left: 5vw;
	}

	#mk_detail > div {
		margin: 0 0 0 55vw;
	}

	#strength ul {
		gap: 0 3vw;
	}

	#strength ul li {
		width: 28vw;
		height: 28vw;
		border: 40px solid #6CD8EA;
	}

	#strength ul li strong {
		white-space: nowrap;
	}





}






@media (width <= 767px) {

	header {
		width: 90vw;
	}

	.ham {
		display: block;
		margin: auto 0;
		width: 8.97vw;
		height: 8.97vw;
		background: #ffffff;
		border: .5vw solid var(--blue-color);
		border-radius: 50%;
		transition: .5s;
		position: absolute;
		top: 0;
		bottom: 0;
		right: 0;
		cursor: pointer;
		z-index: 1;
	}

	.ham_line {
		width: 1.28vw;
		height: 1.28vw;
		background: var(--blue-color);
		border-radius: 50%;
		transition: .5s;
		position: absolute;
		top: calc(50% - .64vw);
	}

	:is(.ham_line1, .ham_line4) {
		left: 1vw;
	}

	.ham_line2 {
		left: calc(50% - .64vw);
	}

	:is(.ham_line3, .ham_line5) {
		right: 1vw;
	}

	.ham.clicked {
		transform: rotate(180deg);
	}

	.clicked .ham_line1 {
    top: 1.75vw;
    left: 1.75vw;
	}

	.clicked .ham_line2 {

	}

	.clicked .ham_line3 {
    top: 1.75vw;
    right: 1.75vw;
	}

	.clicked .ham_line4 {
		top: auto;
    bottom: 1.75vw;
    left: 1.75vw;
	}

	.clicked .ham_line5 {
		top: auto;
    bottom: 1.75vw;
    right: 1.75vw;
	}

	header nav > a {
		pointer-events: auto;
	}

	header nav .wrapper_link {
		display: none;
	}

	.wrapper_link_sp {
		display: flex;
		flex-wrap: wrap;
		padding: 26svh 10vw;
		width: 100vw;
		min-height: 100svh;
		background: #ffffff;
		transition: .5s;
		opacity: 0;
		pointer-events: none;
		position: fixed;
		top: 0;
		left: 0;
		z-index: 9;
	}

	.wrapper_link_sp.clicked {
    opacity: 1;
    overflow-y: scroll;
    pointer-events: auto;
	}

	.wrapper_link_sp > a {
		display: block;
		width: 100%;
		font-family: 'Moderniz';
		font-size: 5.13vw;
		top: 0;
	}

	main {
		padding: 33.33vw 0 30.77vw;
		height: auto;
	}

	main :is(.main_copy01, h1, h2, p, .main_news) {
		position: relative;
		left: auto;
		bottom: auto;
	}

	main .main_copy01 {
		margin: 0 auto;
	}

	main h1 {
		margin: 6.41vw 0 0;
		padding: 0 0 0 5vw;
	}

	main .main_photos {
		margin: 5vw 0 0;
		width: 100vw;
		height: 117.44vw;
		position: relative;
		top: auto;
		right: auto;
	}

	main .main_photos img.main_photo01 {
		width: 27.69vw;
		top: 7.95vw;
		left: 17.95vw;
	}

	main .main_photos img.main_photo02 {
		width: 27.69vw;
		border-radius: 13.85vw;
		top: 39.23vw;
		left: 17.95vw
	}

	main .main_photos img.main_photo03 {
		width: 40.51vw;
		border-radius: 10.38vw;
		top: 7.95vw;
		left: auto;
		right: 3.33vw;
	}

	main .main_photos img.main_photo04 {
		width: 47.18vw;
		top: 35.64vw;
		left: auto;
		right: 3.33vw;
	}

	main .main_photos img.main_photo05 {
		width: 27.95vw;
		top: auto;
		left: auto;
		bottom: 3.33vw;
		right: 5vw;
	}

	main h2 {
		margin: 6.15vw 0 0;
		padding: 0 5vw;
	}

	main > p {
		padding: 0 5vw;
		font-size: 3.59vw;
	}

	main .main_news {
		margin: 6.15vw auto 0;
		padding: 0 2.5vw;
		width: 95vw;
		height: 17.95vw;
		box-shadow: 0px .2rem .4rem rgba(0, 0, 0, .2);
	}

	main .top_news li:nth-child(2n) {
		display: flex;
		width: calc(90vw - 4em);
	}

	main .top_news li:nth-child(2n) a {
		width: 100%;
	  text-overflow: ellipsis;
		white-space: nowrap;
	  overflow: hidden;
	}

	main .main_news p {
		font-size: 3.59vw;
	}

	main > span {
		left: 5vw;
		bottom: auto;
		top: 161.5vw;
		z-index: 2;
	}

	main > .circle {
		filter: blur(.25rem);
	}

	#aboutus {
		padding: 0 0 20.51vw;
	}

	#aboutus h2.sec_h2 {
		font-size: 11.93vw;
		text-align: center;
	}

	#aboutus .wrapper_aboutus h3 {
	 font-size: 5.13vw;
	}

	#aboutus .wrapper_aboutus p {
	 font-size: 3.59vw;
	}

	#aboutus .wrapper_aboutus img.fig_kart01 {
		margin: 15.38vw 0 36vw;
	}

	#aboutus .wrapper_aboutus img.about01 {
		right: auto;
		left: 0;
		bottom: -36vw;
	}

	#aboutus .wrapper_aboutus img.about02 {
		bottom: -26vw;
	}

	#business h2.sec_h2 {
		font-size: 11.93vw;
	}

	#business .slick_list {
		padding: 0 0 0 5vw;
		width: 100vw;
		overflow: hidden;
	}

	#business ol {
		justify-content: flex-start;
	}

	#business ol li {
		padding: 0 3.85vw 5vw 0;
		width: 65.64vw;
		height: 115.26vw;
	}

	#business ol li img {
		height: 55.13vw;
	}

	#business ol li h5 {
		font-size: 4.62vw;
	}

	#business ol li.line2 h5 {
		margin-top: 5vw;
	}

	#business ol li:not(.line2) h5 {
		margin-top: calc(5vw + 1.5em);
	}

	#business ol li p {
		font-size: 3.59vw;
	}

	ul.slick-dots {
		display: flex;
		bottom: -10vw;
		justify-content: center;
		gap: 0 .5rem;
	}

	ul.slick-dots li {
		width: 4.1vw !important;
		height: 4.1vw !important;
	}

	ul.slick-dots li button {
		width: 4.1vw !important;
		height: 4.1vw !important;
		background: transparent;
		border: 1px solid var(--text-color);
		border-radius: 50%;
	}

	ul.slick-dots li.slick-active button {
		background: var(--text-color);
	}

	#business > a {
		margin-top: 17.95vw;
		width: 65.64vw;
		height: 3.75em;
		font-size: 3.59vw;
	}

	#business > strong.b_copy01 {
		bottom: 51.28vw;
		left: 0;
	}

	#business > strong.b_copy02 {
		bottom: 38.46vw;
		left: -600%;
	}

	#monsterkart {
		margin: -15.38vw 0 0;
	}

	#monsterkart h2 {
		font-size: 12.25vw;
	}

	#monsterkart h2 span {
		display: block;
		margin-left: 0;
	}

	#monsterkart > figure::before {
		top: -5vw;
		left: -12vw;
	}

	#monsterkart > figure::after {
		top: -5vw;
		right: -12vw;
	}

	#monsterkart .machines {
		margin: 5vw 0 0 -27vw;
		max-width: initial;
		width: 149.23vw;
	}

	#monsterkart ul {
	    margin: -9vw auto 0;
	    gap: 0 0;
	    position: relative;
	    z-index: 1;
	}

	#monsterkart ul li {
		padding: 0 !important;
	}

	#monsterkart ul li:nth-child(n+3) {
		letter-spacing: .04em;
	}

	#monsterkart > strong {
		margin-top: 5vw;
	    width: 90vw;
	    height: 17vw;
	    border: .77vw solid #ffffff;
	    border-radius: 8.5vw;
	    font-size: 5.64vw;
	    font-weight: 600;
	}

	#monsterkart > strong figure {
	    padding: 2vw 1vw 2vw 2.75vw;
	    width: 13.5vw;
	    height: 13.5vw;
	    border: .77vw solid #ffffff;
	    left: 1.25vw;
	}

	#monsterkart h5 {
		margin-top: 5vw;
		letter-spacing: .08em;
	}

	#monsterkart h5 br {
		display: inline;
	}

	#monsterkart > p {
		font-size: 3.59vw;
	}

	#monsterkart > ol {
		margin-top: 15.38vw;
		gap: 0;
	}

	#monsterkart > ol :is(li:nth-child(3), li:nth-child(4), li:nth-child(5)) {
		margin-top: 5vw;
	}

	#monsterkart > ol li:nth-last-child(-n+2) {
		margin-top: 2.5vw;
	}

	#monsterkart > ol li:nth-child(n+5) {
		width: 90vw;
		height: 23.08vw;
		border: .77vw solid var(--blue-color);
		font-size: 5.64vw;
		line-height: 1.35;
	}

	#monsterkart > span {
		height: 176.92vw;
		background-attachment: scroll;
	}

	#mk_detail {
		padding: 76.92vw 0 20.51vw
	}

	#mk_detail > img {
		margin: 0 auto;
		top: -15.38vw;
		right: 0;
		left: 0;
	}

	#mk_detail > div {
		margin: 0;
		padding: 0 15.38vw;
	}

	#mk_detail > div span:first-of-type {
		letter-spacing: 0;
	}

	#mk_detail > a {
	    font-size: 3.59vw;
	}

	#strength {
		padding-bottom: 30.77vw;
		background: url(../images/bg_strength.webp) no-repeat 79% 10%;
    	background-size: 400%;
		background-attachment: scroll;
	}

	#strength h2 {
		font-size: 11.25vw;
	}

	#strength ul {
		gap: 3.85vw 5.38vw;
	}

	#strength ul li strong {
		white-space: nowrap;
	}

	#company h2 {
		font-size: 12.25vw;
	}

	#company > ul li:nth-child(2n+1) {
		width: 25%;
	}

	#company > ul li:nth-child(2n) {
		width: 75%;
	}

	#company > ul li br {
		display: inline;
	}




}





















