/*--------------------------------
main
--------------------------------*/
/*- carousel ----------*/
#mv {
	padding: 0;
}
#mv .carousel-caption {
	display: flex!important;
	align-items: center;
	color: #464646;
	text-align: left;
	right: 20%;
	bottom: 0;
	left: 20%;
	height: 100%;
}
.carousel-control-prev,
.carousel-control-next {
	opacity: 1;
}
.carousel-control-prev-icon,
.carousel-control-next-icon {
	width: 68px;
	height: 68px;
}
.carousel-dark .carousel-control-prev-icon,
.carousel-dark .carousel-control-next-icon {
	filter: none;
}
.carousel-control-prev-icon {
	background-image: url("../img/top/icon-prev.png");
}
.carousel-control-next-icon {
	background-image: url("../img/top/icon-next.png");
}
.carousel-indicators {
	bottom: -60px;
}
.carousel-dark .carousel-indicators [data-bs-target] {
	width: 80px;
	background-color: #C7C7C7;
	margin-right: 8px;
	margin-left: 8px;
	opacity: 1;
}
.carousel-dark .carousel-indicators [data-bs-target].active {
	background-color: #2C79E2;
}
.carousel-dark .carousel-indicators .pausebtn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0 5px;
	font-size: 12px;
	font-weight: 600;
	border: 2px solid #464646;
	border-radius: 20rem;
	min-width: 90px;
	height: 26px;
	margin-right: 8px;
	margin-left: 8px;
	cursor: pointer;
}
.carousel-dark .carousel-indicators .pausebtn img {
	width: 10px;
}
/* carousel_01 */
#mv .carousel_01 {
	text-shadow: 0 0 10px #fff;
}
#mv .carousel_01 .subttl {
	font-size: min(32px, 4.8vw);
	font-weight: 700;
}
#mv .carousel_01 h1 {
	font-size: min(65px, 8.2vw);
	font-weight: 700;
	letter-spacing: 5px;
	margin: 2vw 0 4vw 0;
}
#mv .carousel_01 .txt {
	font-size: min(23px, 3.5vw);
	font-weight: 700;
	color: #2C79E2;
	letter-spacing: 5px;
	text-align: center;
}
/* carousel_02 */
#mv .carousel_02 h1 {
	font-size: min(35px, 5.5vw);
	font-weight: 700;
	color: #2C79E2;
}
#mv .carousel_02 h1 .fs-120 {
	font-size: 120%;
	background: linear-gradient(transparent 70%, rgba(98, 203, 140, .2) 70%);
}
#mv .carousel_02 .accent {
	color: #62CB8C;
}
#mv .carousel_02 .txt_01 {
	font-size: min(32px, 4.8vw);
	color: #2C79E2;
	margin-top: 2vw;
}
#mv .carousel_02 .txt_02 {
	font-size: min(24px, 4.2vw);
	font-weight: 700;
	margin-top: 5vw;
}
#mv .carousel_02 .txt_02 .accent {
	font-size: 130%;
}
#mv .carousel_02 .txt_03 {
	font-size: min(22px, 3.5vw);
	margin-top: 4.2vw;
	margin-bottom: 6vw;
}
#mv .carousel_02 a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex-flow: column;
	font-size: min(23px, 4.2vw);
	font-weight: 700;
	color: #fff;
	letter-spacing: 4px;
	max-width: 334px;
	width: 55vw;
	max-height: 80px;
	height: 15vw;
	background-color: #2C79E2;
	border-radius: 20rem;
}
#mv .carousel_02 a .small {
	font-size: min(19px, 3.2vw);
	font-weight: 400;
}
/*- services ----------*/
#SERVICE {
	background-color: #F6F6F6;
}
#SERVICE .search {
  display: flex;
  justify-content: center;
	flex-wrap: wrap;
	gap: 20px;
}
#SERVICE .search li {
	width: calc((100% - 20px * 4) / 5);
}
#SERVICE .search p {
	display: flex;
	align-items: center;
	justify-content: center;
	color: #fff;
	height: 60px;
	background-color: #C7C7C7;
	border-radius: 20rem;
  cursor: pointer;
}
#SERVICE .search p.active {
	background-color: #2C79E2;
}
#SERVICE .panel {
  display: flex;
  flex-wrap: wrap;
	gap: 30px;
	margin-top: 50px;
}
#SERVICE .panel li {
  display: none;
  width: calc((100% - 30px * 2) / 3);
}
#SERVICE .panel li.digpanel {
  width: calc((100% - 30px) / 2);
}
#SERVICE .panel li.active {
  display: block;
}
#SERVICE .panel a {
	display: block;
	background-color: #fff;
	height: 100%;
}
#SERVICE .panel .item {
	gap: 20px;
}
#SERVICE .panel .item .icon img {
	max-width: 72px;
	min-width: 72px;
}
#SERVICE .panel .item .ttl {
	font-size: 24px;
	font-weight: 700;
}
#SERVICE .panel .item .txt {
	font-size: 15px;
}
#SERVICE .panel .item .small {
	font-size: 12px;
	color: #8C8C8C;
}
#SERVICE .panel .hashtag .d-flex {
	gap: 10px;
}
#SERVICE .panel .hashtag p {
	font-size: 12px;
	font-weight: 700;
	color: #fff;
	background-color: #2C79E2;
	border-radius: 20rem;
	padding: 2px 10px;
}
#SERVICE .panel .hashtag p.campaign {
	color: #2C79E2;
	background-color: #FAEE8D;
}
/*- news ----------*/
#NEWS .newslist a {
	position: relative;
	display: flex;
	gap: 16px 50px;
  text-decoration: none;
  border-top: 1px solid #DADADA;
  padding: 36px 43px 36px 15px;
}
#NEWS .newslist li:last-child a {
  border-bottom: 1px solid #DADADA;
}
#NEWS .newslist time {
  display: inline-block;
	font-size: 15px;
	min-width: 112px;
}
#NEWS .newslist p {
  display: inline-block;
	font-weight: 700;
}
#NEWS .newslist .ttl:after{
  content: "";
	position: absolute;
  display: inline-block;
	top: 0;
	right: 0;
	bottom: 0;
	width: 28px;
	height: 28px;
	background: url("../img/top/icon-circle-right.png") no-repeat center / cover;
	margin: auto 0;
}
/*- faqs ----------*/
#FAQ {
	background-color: #F6F6F6;
}
#FAQ .title {
	position: relative;
	display: flex;
	align-items: center;
	gap: 45px;
	background-color: #fff;
	padding: 16px 71px 16px 16px;
	cursor: pointer;
	transition: .3s;
}
#FAQ .title:after,
#FAQ .title.open:after {
	content: "";
	position: absolute;
	top: 0;
	right: 30px;
	bottom: 0;
	width: 25px;
	height: 25px;
	margin: auto 0;
}
#FAQ .title:after {
	background: url("../img/top/icon-plus.png") no-repeat center / contain;
}
#FAQ .title.open:after {
	background: url("../img/top/icon-minus.png") no-repeat center / contain;
}
#FAQ .title:hover {
	opacity: .8;
}
#FAQ .accordion-item {
	font-size: 1rem;
	font-weight: 700;
	border: none;
}
#FAQ .accordion-item img {
	max-width: 68px;
}
#FAQ .content {
	display: none;
	align-items: center;
	gap: 45px;
	line-height: 2;
	padding: 16px;
}
#FAQ .content a {
	color: #62CB8C;
	text-decoration: underline;
}
#FAQ .content .d-flex {
	gap: 45px;
}
/*- who we are ----------*/
#COMPANY .box {
	position: relative;
	background: #2C79E2 url("../img/top/whoweare_bg02.png") no-repeat bottom left / cover;
	border-radius: 20px;
	z-index: -1;
}
#COMPANY .box:before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	width: 257px;
	height: 92px;
	background: url("../img/top/whoweare_bg01.jpg") no-repeat top left / cover;
	z-index: -1;
}
#COMPANY .box .subttl {
	font-size: 26px;
	font-weight: 700;
	color: #2C79E2;
	height: 73px;
}
#COMPANY .box .content {
	color: #fff;
	max-width: 620px;
	padding: 80px 0 80px 80px;
}
#COMPANY .box .content .ttl {
	font-size: 46px;
	font-weight: 700;
}
#COMPANY .box .content .txt {
	font-size: 18px;
	line-height: 2;
	margin-top: 60px;
}

/*--------------------------------
media
--------------------------------*/
/*- min ----------*/
@media (min-width: 768px) {
	#mv .carousel_01 .subttl {
		font-size: 1.67vw;
	}
	#mv .carousel_01 h1 {
		font-size: 3.39vw;
		margin: .52vw 0 1.56vw 0;
	}
	#mv .carousel_01 .txt {
		font-size: 1.2vw;
	}
	#mv .carousel_02 h1 {
		font-size: 1.65vw;
	}
	#mv .carousel_02 .txt_01 {
		font-size: 1.25vw;
		margin-top: 1.57vw;
	}
	#mv .carousel_02 .txt_02 {
		font-size: 1.5vw;
		margin-top: 4.17vw;
	}
	#mv .carousel_02 .txt_03 {
		font-size: 1.2vw;
		margin-top: 1.25vw;
		margin-bottom: 3.65vw;
	}
	#mv .carousel_02 a {
		font-size: 1.2vw;
		width: 18vw;
    height: 4.17vw;
	}
	#mv .carousel_02 a .small {
		font-size: .98vw;
	}
}
@media (min-width: 992px) {
	#SERVICE .panel li.digpanel.w-100 a {
		display: flex;
		align-items: center;
	}
}
/*- max ----------*/
@media (max-width: 991px) {
	#SERVICE .search li {
		width: 140px;
	}
	#SERVICE .search p {
		font-size: 16px;
		height: 40px;
	}
	#SERVICE .panel li {
		width: calc((100% - 30px) / 2);
	}
	#SERVICE .panel li.digpanel {
		width: 100%;
	}
}
@media (max-width: 767px) {
	.carousel-control-prev-icon,
	.carousel-control-next-icon {
		width: 50px;
		height: 50px;
	}
	#mv .carousel-caption {
		align-items: start;
		right: 10%;
		left: 10%;
		padding-top: 30px;
	}
	#SERVICE .panel li {
		width: 100%;
	}
	#NEWS .newslist a {
		flex-flow: column;
	}
	#FAQ .title,
	#FAQ .content .d-flex {
		gap: 16px;
	}
	#COMPANY .box {
		background: #2C79E2 url("../img/top/whoweare_bg02.png") no-repeat bottom right / 200%;
	}
	#COMPANY .box .content {
		max-width: 100%;
		padding: 40px;
	}
	#COMPANY .box .subttl {
		font-size: 24px;
	}
	#COMPANY .box .content .ttl {
		font-size: 28px;
	}
	#COMPANY .box .content .txt {
		font-size: 16px;
		margin-top: 30px;
		margin-bottom: 50vw;
	}
}
