@charset "utf-8";

/* -----------------------------------------------------------
	タイトルの飾り
--------------------------------------------------------------*/
#business .lower-ttl-area .deco-wrap {
	position: absolute;
	display: flex;
	align-items: flex-end;
	gap: 20px;
	right: 18%;
	bottom: -30px;
}
@media screen and (max-width: 768px){
	#business .lower-ttl-area .deco-wrap {
		gap: 10px;
		right: 5%;
		bottom: -30px;
	}
	
	#business .lower-ttl-area .deco-wrap .deco01 img {
		width: 25px;
	}
	#business .lower-ttl-area .deco-wrap .deco02 img {
		width: 75px;
	}
	#business .lower-ttl-area .deco-wrap .deco03 img {
		width: 30px;
	}
	}



/* -----------------------------------------------------------
	事業内容
--------------------------------------------------------------*/
.top-business-area {
	position: relative;
	padding: 0px 0 100px;
}

.top-business-area .catch {
	text-align: center;
	margin-bottom: 40px;
}

/*事業内容*/
.top-business-area .business-list {
	display: flex;
	justify-content: center;
	gap: 10px;
}

.top-business-area .business-list li {
	width: calc(100% / 3 - 10px);
	background-color: #fff;
	border-radius: 30px;
	overflow: hidden;
	position: relative;
	box-shadow: 7px 14px 20px 0px rgba(0, 0, 0, 0.16);
}
.top-business-area .business-list li a {
	width: 100%;
	height: 100%;
}

.top-business-area .business-list li a .img-wrap {
	height: 340px;
	width: 100%;
}
.top-business-area .business-list li a .img-wrap img {
	height: 100%;
	width: 100%;
	object-fit: cover;
}

.top-business-area .business-list li a .txt-wrap {
	padding: 40px 30px 60px;
}

.top-business-area .business-list li a .txt-wrap .ttl {
	font-size: 3rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 60px;
	position: relative;
}
.top-business-area .business-list li a .txt-wrap .ttl::before {
	content: "";
	width: 200px;
	height: 2px;
	background-color: #D04641;
	position: absolute;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
	bottom: -30px;
}
.top-business-area .business-list li.list-hotel a .txt-wrap .ttl::before {
	background-color: #47D15D;
}
.top-business-area .business-list li.list-amusement a .txt-wrap .ttl::before {
	background-color: #51A6DE;
}

.top-business-area .business-list li a .txt-wrap .catch {
	font-size: 2.5rem;
	margin-bottom: 20px;
}

/*ボタン*/
.s-btn {
	text-align: right;
	position: absolute;
	right: 20px;
	bottom: 20px;
	display: flex;
    align-items: center;
    justify-content: center;
	color: #6C6C6C;
}
.s-btn::after {
    content: "\f061";
    color: #fff;
    font: 900 1rem / 1 'Font Awesome 5 Free';
    position: relative;
    right: 0px;
    z-index: 2;
    background: #D04641;
    border-radius: 50%;
    width: 25px;
    height: 25px;
    text-align: center;
    transition: all .4s;
    margin-left: 10px;
	line-height: 2.5;
}
.top-business-area .business-list li.list-hotel a .s-btn::after {
	background-color: #47D15D;
}
.top-business-area .business-list li.list-amusement a .s-btn::after {
	background-color: #51A6DE;
}
.top-business-area .business-list li a:hover .s-btn::after {
    right: -5px;
}


/*飾り*/
.top-business-area .deco-wrap {
    display: flex;
	justify-content: center;
    gap: 40px;
    align-items: flex-end;
	position: absolute;
	top: -50px;
	left: 50%;
    transform: translateX(-50%);
    -webkit-transform: translateX(-50%);
    -ms-transform: translateX(-50%);
}

.top-business-area .deco.circle01,
.top-business-area .deco.circle02 {
	position: absolute;
}
.top-business-area .deco.circle01 {
	top: -100px;
	right: 30px;
}
.top-business-area .deco.circle02 {
	right: 220px;
    top: 150px;
}


@media screen and (max-width: 768px){
	.top-business-area {
		position: relative;
		margin-top: 0px;
		border-radius: 30px;
		padding: 0px 0 50px;
	}

	.top-business-area .catch {
		text-align: center;
		margin-bottom: 20px;
	}

	/*事業内容*/
	.top-business-area .business-list {
		display: flex;
		justify-content: center;
		gap: 10px;
		flex-direction: column;
	}

	.top-business-area .business-list li {
		width: 100%;
		border-radius: 20px;
	}

	.top-business-area .business-list li a .img-wrap {
		height: 200px;
		width: 100%;
	}

	.top-business-area .business-list li a .txt-wrap {
		padding: 30px 20px 40px;
	}

	.top-business-area .business-list li a .txt-wrap .ttl {
		font-size: 2.5rem;
		text-align: center;
		margin-bottom: 30px;
	}
	.top-business-area .business-list li a .txt-wrap .ttl::before {
		content: "";
		width: 200px;
		height: 2px;
		background-color: #D04641;
		position: absolute;
		left: 50%;
		transform: translateX(-50%);
		-webkit-transform: translateX(-50%);
		-ms-transform: translateX(-50%);
		bottom: -15px;
	}
	.top-business-area .business-list li.list-hotel a .txt-wrap .ttl::before {
		background-color: #47D15D;
	}
	.top-business-area .business-list li.list-amusement a .txt-wrap .ttl::before {
		background-color: #51A6DE;
	}

	.top-business-area .business-list li a .txt-wrap .catch {
		font-size: 2rem;
		margin-bottom: 20px;
		text-align: left;
	}

	/*ボタン*/
	.s-btn::after {
		right: 0px;
		border-radius: 50%;
		width: 22px;
		height: 22px;
		margin-left: 10px;
		line-height: 2.3;
	}
	.top-business-area .business-list li a:hover .s-btn::after {
		right: -5px;
	}
	}


/* -----------------------------------------------------------
	文字スライド
--------------------------------------------------------------*/
.scroll-infinity {
	margin-top: 80px;
}
.scroll-infinity.scroll02 {
	margin-top: 0px;
}


@keyframes infinity-scroll-left {
from {
  transform: translateX(0);
}
  to {
  transform: translateX(-100%);
}
}
.scroll-infinity__wrap {
  display: flex;
  overflow: hidden;
}
.scroll-infinity__list {
  display: flex;
  list-style: none;
  padding: 0
}
.scroll-infinity__list--left {
  animation: infinity-scroll-left 80s infinite linear 0.5s both;
}
.scroll-infinity__item {
  width: calc(160vw / 1);
}
.scroll-infinity__item>img {
  width: 100%;
}
	
	
@keyframes infinity-scroll-right {
from {
  transform: translateX(-100%);
}
  to {
  transform: translateX(0%);
}
}
.scroll-infinity__list--right{
  animation :infinity-scroll-right 80s infinite linear 0.5s both;
}


@media screen and (max-width: 768px){
	.scroll-infinity {
		margin-top: 30px;
	}
	.scroll-infinity.scroll02 {
		margin-top: 0px;
	}


	@keyframes infinity-scroll-left {
	from {
	  transform: translateX(0);
	}
	  to {
	  transform: translateX(-100%);
	}
	}
	.scroll-infinity__wrap {
	  display: flex;
	  overflow: hidden;
	}
	.scroll-infinity__list {
	  display: flex;
	  list-style: none;
	  padding: 0
	}
	.scroll-infinity__list--left {
	  animation: infinity-scroll-left 80s infinite linear 0.5s both;
	}
	.scroll-infinity__item {
	  width: 1145px;
	}
	.scroll-infinity__item>img {
	  width: 100%;
	}


	@keyframes infinity-scroll-right {
	from {
	  transform: translateX(-100%);
	}
	  to {
	  transform: translateX(0%);
	}
	}
	.scroll-infinity__list--right{
	  animation :infinity-scroll-right 80s infinite linear 0.5s both;
	}
	}







