@import url('https://fonts.googleapis.com/css2?family=Antonio:wght@100..700&family=Bebas+Neue&display=swap');
.mainvis{
	 margin:0 auto 50px;
	 font-size:0;
}
.mainvis img{
	width:100%;
}
.mainvis h1{
	margin:25px auto;
	color:#FF8A01;
	font-size:32px;
	text-align:center;
	font-weight:700;
}

.faq{
	width:90%;
	max-width:1240px;
	margin:0 auto;
}

.faq dl dt{
	position:relative;
	padding:17px 0 0;
	margin:0 0 45px;
	cursor:pointer;
}
.faq dl dt::before{
	position:absolute;
	top:0;
	left:29px;
	content:"";
	width:66px;
	height:100px;
	background:url(../img/icon_q.png) no-repeat;
	background-size:100%;
}
.faq dl dt div{
	height:92px;
	padding:34px 0 0 112px;
	border-radius:25px;
	background-image: url(../img/icon_open.svg), linear-gradient(180deg, #52BFFF 0%, #0098F0 100%);
	background-repeat: no-repeat,no-repeat;
	background-size:40px 40px, auto;
	background-position:right 33px center, center;
	color:#fff;
	font-size: 32px;
	font-weight: 700;
	letter-spacing: -1.6px;
	line-height:1;
	box-sizing: border-box;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
.faq dl dt.open div{
	background-image: url(../img/icon_close.svg), linear-gradient(180deg, #52BFFF 0%, #0098F0 100%);
}
.faq dl dt:nth-of-type(even) div{
	background-image: url(../img/icon_open.svg), linear-gradient(180deg, #98D9FF 0%, #52BFFF 100%);
}
.faq dl dt:nth-of-type(even).open div{
	background-image: url(../img/icon_close.svg), linear-gradient(180deg, #98D9FF 0%, #52BFFF 100%);
}

.faq dl dd{
	display:none;
	margin:0 0 48px 9%;
	padding:0 0 0 16.8%;
	background:url(../img/icon_a.png) no-repeat;
	background-position:left top;
	background-size:14.5% auto;
}
.faq dl dd > div{
  position: relative;
  margin:0;
  padding: 30px 3.8%;
  border: 1px solid #52bfff;
  border-radius: 25px;
  background-color: #ffffff;
  text-align: left;
  filter: drop-shadow(4px 4px 4px rgba(0, 0, 0, 0.15));
}
.faq dl dd > div::before {
	content: "";
	position: absolute;
	top: 60px;
	left: 0;
	border-style: solid;
	border-width: 12.5px 43px 12.5px 0;
	border-color: transparent #52bfff transparent transparent;
	translate: -100% -50%;
}
.faq dl dd > div::after {
	content: "";
	position: absolute;
	top: 60px;
	left: 0;
	border-style: solid;
	border-width: 11.5px 39.4px 11.5px 0;
	border-color: transparent #ffffff transparent transparent;
	translate: -100% -50%;
}


.work{
	margin:20px auto 0;
}
.work img{
	width:100%;
}
.work > li:first-child{
	margin:0 0 30px;
}
.work > li > ul{
	display:flex;
	justify-content:space-between;
	flex-wrap:wrap;
}
.work > li > ul > li:nth-of-type(1){
	width:15%;
	font-size:0;
}
.work > li > ul > li:nth-of-type(2){
	display:flex;
	align-items:center;
	flex-wrap:wrap;
	width:57%;
}
.work > li > ul > li:nth-of-type(3){
	display:flex;
	align-items:center;
	width:25%;
}
.work > li > ul > li div{
	font-size:16px;
	font-weight:700;
	line-height:1;
}
.work > li > ul > li a{
	display:flex;
	justify-content:center;
	align-items:center;
	width:100%;
	height:50px;
	color:#000;
	border:1px solid #000;
	font-family: "Bebas Neue";
	font-size:24px;
	line-height:1;
}
.work > li > ul > li h4{
	width:50%;
	padding:0 0 8px;
	margin:0 0 15px;
	border-bottom:1px solid #FF7A00;
	font-size:20px;
	font-family: "Antonio", sans-serif;
}
.work > li > ul > li div span{
	display:block;
	margin:10px 0 0;
	font-size:24px;
	font-weight:700;
	font-family: "Antonio", sans-serif;
}


@media screen and (max-width: 980px) {
	.faq dl dt{
		padding:13px 0 0;
		margin:0 0 30px;
	}
	.faq dl dt::before{
		left:5.9%;
		width:13.8%;
		height:auto;
		aspect-ratio:49 / 75;
	}
	.faq dl dt div{
		display:flex;
		align-items:center;
		padding:0 15.5% 0 23.5%;
		font-size: 20px;
		line-height:1.2;
		background-size:5.6% , auto;
		background-position:right 5.6% center, center;
	}
	.faq dl dd{
		margin:0 0 48px;
		padding:0;
		background:none;
	}
	.faq dl dd > div{
		padding:0;
		border:none;
		filter:none;
	}
	.faq dl dd > div::before, .faq dl dd > div::after{
		border:none;
	}

	.work{
		width:100%;
	}
	.work > li{
		width:100%;
	}
	.work > li:last-child{
		padding:0;
	}
	.work > li > ul{
		position:relative;
		display:grid;
		grid-template-columns:34% 62%;
		margin:20px auto 0;
	}
	.work > li > ul > li:nth-of-type(1){
		width:100%;
		grid-column:1 / 2;
		grid-row:1 / 3;
	}
	.work > li > ul > li:nth-of-type(2){
		width:100%;
		margin:0 0 20px;
		grid-column:2 / 3;
		grid-row:1 / 2;
	}
	.work > li > ul > li:nth-of-type(3){
		width:100%;
		grid-column:2 / 3;
		grid-row:2 / 3;
	}
	.work > li > ul > li div{
		line-height:1.4;
	}
	.work > li > ul > li a{
		width:auto;
		height:37px;
		aspect-ratio:150 / 37;
		font-size:18px;
	}
	.work > li > ul > li h4{
		width:90%;
	}
}
