.visual {
	position: relative;
	padding: 250px 0;
	box-sizing: border-box;
}
.visual:after {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background: linear-gradient(270deg, rgba(0, 0, 0, 0.00) 50%, #080C13 70.26%);
}
.visual .video {
	position: absolute;
	top: 0;
	right: 0;
	width: 70%;
	max-width: 1560px;
	height: 100%;
}
.visual .video video {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.visual .txt_box {
	position: relative;
	gap: 80px;
	z-index: 1;
}
.visual .txt_box .txt {
	gap: 40px;
}
.visual .txt_box .txt .tit {
	font-size: 64px;
	line-height: 1.2;
}
.visual .txt_box .txt .tit .m {
	display: none;
}
.visual .txt_box .txt p {
	font-size: 32px;
	word-break: keep-all;
}
.visual .txt_box .txt p .m {
	display: none;
}



.sec {
	padding: 160px 0;
	box-sizing: border-box;
}
.sec .inner {
	gap: 80px;
}
.sec .tit_box {
	gap: 24px;
}
.sec .tit_box .tit {
	font-size: 48px;
	line-height: 1.2;
}
.sec .tit_box .tit strong {
	font-weight: 600;
	word-break: keep-all;
}
.sec .tit_box p {
	font-size: 32px;
	line-height: 1.2;
	word-break: keep-all;
}
.sec .grid .item .txt_box {
	gap: 16px;
}
.sec .grid .item .txt_box strong {
	font-size: 32px;
	line-height: 1.2;
}
.sec .grid .item .txt_box p {
	font-size: 20px;
}



.sec01 .grid {
	gap: 24px;
}
.sec01 .grid .item {
	width: calc(20% - 20px);
	gap: 40px;
	transition: all .3s;
}
.sec01 .grid .item .icon {
	position: relative;
	width: 220px;
	height: 220px;
	border-radius: 50%;
	background: var(--dark);
	margin: 0 auto;
    box-sizing: border-box;
}
.sec01 .grid .item .icon > * {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
}



.sec02 .grid {
	gap: 20px;
}
.sec02 .grid .item {
	width: calc(33.333% - 14px);
	gap: 40px;
}
.sec02 .grid .item .img {
	position: relative;
	background: var(--dark);
	padding: 80px 70px;
	border-radius: 20px;
	box-sizing: border-box;
	overflow: hidden;
}
.sec02 .grid .item .img img {
	width: 90%;
	max-width: 380px;
	margin: 0 auto;
	transform: scale(1);
	transition: transform .5s;
}
.sec02 .grid .item .img:hover img {
	transform: scale(1.05);
}



.sec03 .inner {
	gap: 160px;
}
.sec03 .box {
	padding: 80px;
	border-radius: 30px;
	box-sizing: border-box;
}
.sec03 .info_box {
	gap: 100px;
}
.sec03 .info_box .text_box {
	flex: 1;
	gap: 60px;
}
.sec03 .info_box .text_box .tit_box {
	gap: 60px;
}
.sec03 .info_box .text_box > div > a {
	font-size: 20px;
	text-decoration: underline;
}
.sec03 .info_box .list_box {
	flex: 1;
	max-width: 686px;
	overflow: hidden;
}
.sec03 .info_box .list_box > div {
	padding: 40px;
	border-bottom: 1px solid rgba(255,255,255,0.5);
	gap: 16px;
	font-size: 20px;
	box-sizing: border-box;
}
.sec03 .info_box .list_box > div:first-child {
	border-top: 1px solid rgba(255,255,255,0.5);
}
.sec03 .info_box .list_box > div strong {
	font-size: 32px;
}
.sec03 .text {
	font-size: 40px;
	line-height: 1.2;
	word-break: keep-all;
}
.sec03 .calc_box {
	gap: 60px;
}
.sec03 .calc_box .tit_box {
	border-bottom: 1px solid var(--white);
	padding-bottom: 60px;
}
.sec03 .calc_box .desc {
	font-size: 20px;
	line-height: 1.2;
}
.sec03 .calc_box .info_grid {
	gap: 60px;
}
.sec03 .calc_box .info_grid > div {
	flex: 1;
	gap: 16px;
	font-size: 20px;
}
.sec03 .calc_box .info_grid > div input {
	width: 100%;
	padding: 20px 30px;
	border-radius: 20px;
	background: var(--dark);
	font-size: 32px;
	font-weight: 500;
	font-family: 'Paperlogy';
	line-height: 1.2;
	color: var(--white);
	box-sizing: border-box;
}
.sec03 .calc_box .info_grid > div input::-webkit-input-placeholder {
	color: var(--white);
}
.sec03 .calc_box .info_grid > div input:-moz-placeholder {
	color: var(--white);
}
.sec03 .calc_box .info_grid > div input::-moz-placeholder {
	color: var(--white);
}
.sec03 .calc_box .info_grid > div input:-ms-input-placeholder {
	color: var(--white);
}
.sec03 .calc_box .grid_box > div {
	flex: 1;
	max-width: 395px;
	padding: 40px;
	gap: 16px;
	font-size: 20px;
	line-height: 1.2;
	box-sizing: border-box;
}
.sec03 .calc_box .grid_box > div:last-child {
	max-width: 100%;
}
.sec03 .calc_box .grid_box > div > div {
	font-size: 32px;
	font-weight: 600;
	font-family: 'Paperlogy';
	line-height: 1.2;
}
.sec03 .calc_box .danger {
	color: #f00;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.2;
}


.sec04 .inner {
	gap: 40px;
}
.sec04 .list {
	border-top: 1px solid rgba(255,255,255,0.5);
}
.sec04 .list .item {
	border-bottom: 1px solid rgba(255,255,255,0.5);
	box-sizing: border-box;
}
.sec04 .list .item .ques_btn {
	position: relative;
	width: 100%;
	font-size: 24px;
	line-height: 1.2;
	text-align: left;
	padding: 40px 80px 40px 40px;
	background: transparent;
	transition: all .3s;
	box-sizing: border-box;
}
.sec04 .list .item .ques_btn:hover {
	background: rgba(255, 255, 255, 0.07);
}
.sec04 .list .item .ques_btn:after {
	content: '';
	position: absolute;
	top: 39px;
    right: 30px;
	display: block;
	width: 32px;
	height: 32px;
	background: url("../images/ic_plus.svg")no-repeat 50% 50% / 100%;
}
.sec04 .list .item.open {
	background: rgba(255, 255, 255, 0.07);
}
.sec04 .list .item.open .ques_btn:after {
	background-image: url("../images/ic_minus.svg");
}
.sec04 .list .item .answer {
	display: none;
	border-top: 1px dashed rgba(255,255,255,0.5);
	padding: 40px;
	font-size: 24px;
	line-height: 1.4;
	box-sizing: border-box;
}
.sec04 .list .item.open .answer {
	display: block;
}


.sec05 .box {
	background: var(--dark);
	border-radius: 30px;
	gap: 60px;
	padding: 80px 20px;
	box-sizing: border-box;
}
.sec05 .box h3 {
	min-height: 230px;
	font-size: 96px;
	word-break: keep-all;
	line-height: 1.2;
}






@media screen and (max-width: 1440px) {
	.sec05 .box h3 {
		min-height: 190px;
		font-size: 78px;
	}
}
@media screen and (max-width: 1280px) {
	.visual {
		padding: 200px 0 160px;
	}
	.visual .txt_box .txt .tit {
    	font-size: 48px;
	}
	.visual .txt_box .txt p {
		font-size: 24px;
	}


	.sec {
		padding: 120px 0;
	}
	.sec .tit_box .tit {
    	font-size: 36px;
	}
	.sec .tit_box p {
    	font-size: 24px;
	}
	.sec .grid .item .txt_box {
		gap: 10px;
	}
	.sec .grid .item .txt_box strong {
    	font-size: 24px;
	}
	.sec .grid .item .txt_box p {
		font-size: 16px;
	}


	.sec01 .grid .item {
		gap: 20px;
	}
	.sec01 .grid .item .icon {
		width: 165px;
		height: 165px;
	}
	.sec01 .grid .item .icon > * {
		width: 100px!important;
		height: 100px!important;
	}


	.sec02 .grid .item {
		gap: 20px;
	}


	.sec03 .inner {
		gap: 120px;
	}
	.sec03 .info_box {
		gap: 50px;
	}
	.sec03 .box {
    	padding: 50px;
	}
	.sec03 .calc_box .info_grid {
		gap: 30px;
	}
	.sec03 .calc_box .info_grid > div input {
		padding: 20px;
		font-size: 20px;
	}
	.sec03 .calc_box .grid_box > div {
		max-width: 250px;
		padding: 20px;
	}
	.sec03 .calc_box .grid_box > div > div {
    	font-size: 24px;
	}
	.sec03 .calc_box .danger {
		font-size: 20px;
	}


	.sec04 .list .item .ques_btn {
		font-size: 20px;
		padding: 25px 55px 25px 25px;
	}
	.sec04 .list .item .ques_btn:after {
		top: 26px;
		right: 20px;
		width: 20px;
		height: 20px;
	}
	.sec04 .list .item .answer {
		padding: 25px;
		font-size: 20px;
	}


	.sec05 .box h3 {
        min-height: 155px;
        font-size: 64px;
    }
}
@media screen and (max-width: 1024px) {
	.visual {
        padding: 100px 0 33%;
		text-align: center;
    }
	.visual:after {
		background: linear-gradient(0deg, rgba(8, 12, 19, 0.1) 24%, #080C13 47.26%);
	}
	.visual .txt_box {
		gap: 40px;
	}
	.visual .txt_box .txt .tit {
		font-size: 32px;
	}
	.visual .txt_box .txt .tit .m {
		display: block;
	}
	.visual .txt_box .txt p {
		font-size: 18px;
	}
	.visual .txt_box .txt p .m {
		display: none;
	}
	.visual .video {
		top: auto;
		bottom: 0;
		width: 100%;
		max-width: 100%;
		height: auto;
	}
	.visual .video video {
		position: static;
	}


	.sec {
        padding: 80px 0;
    }
	.sec .inner {
		gap: 40px;
	}
	.sec .tit_box {
		gap: 14px;
	}
	.sec .tit_box .tit {
        font-size: 24px;
    }
	.sec .tit_box p {
        font-size: 16px;
    }
	.sec .grid .item .txt_box strong {
        font-size: 20px;
    }
	.sec .grid .item .txt_box p {
        font-size: 14px;
    }


	.sec01 .grid {
		gap: 24px 16px;
		justify-content: center;
	}
	.sec01 .grid .item {
		width: calc(33.333% - 11px);
	}


	.sec02 .grid {
		gap: 12px;
	}
	.sec02 .grid .item {
    	width: calc(33.333% - 8px);
	}
	.sec02 .grid .item .img {
		padding: 35px 40px;
	}


	.sec03 .box {
        padding: 25px;
    }
	.sec03 .info_box .text_box > div > a {
    	font-size: 16px;
	}
	.sec03 .info_box .text_box .glass_btn {
		justify-content: start;
	}
	.sec03 .info_box .list_box {
		max-width: 300px;
	}
	.sec03 .info_box .list_box > div {
    	padding: 20px;
		font-size: 16px;
	}
	.sec03 .info_box .list_box > div strong {
		font-size: 24px;
	}
	.sec03 .text {
    	font-size: 24px;
	}
	.sec03 .calc_box {
		gap: 30px;
	}
	.sec03 .calc_box .tit_box {
		padding-bottom: 30px;
	}
	.sec03 .calc_box .desc {
    	font-size: 16px;
	}
	.sec03 .calc_box .info_grid > div {
		font-size: 16px;
	}
	.sec03 .calc_box .info_grid > div input {
        padding: 15px;
        font-size: 15px;
        border-radius: 10px;
    }
	.sec03 .calc_box .grid_box > div {
		max-width: 185px;
		font-size: 16px;
		padding: 15px;
	}
	.sec03 .calc_box .grid_box > div > div {
        font-size: 20px;
    }
	.sec03 .calc_box .glass_btn {
		justify-content: start;
	}
	.sec03 .calc_box .danger {
        font-size: 16px;
    }


	.sec04 .list .item .ques_btn {
        font-size: 16px;
        padding: 20px 40px 20px 15px;
    }
	.sec04 .list .item .ques_btn:after {
        top: 22px;
        right: 15px;
        width: 15px;
        height: 15px;
    }
	.sec04 .list .item .answer {
        padding: 15px;
        font-size: 16px;
    }


	.sec05 .box {
		gap: 30px;
		padding: 50px 20px;
	}
	.sec05 .box h3 {
        min-height: 115px;
        font-size: 48px;
    }
}
@media screen and (max-width: 768px) {
	.visual {
        padding: 120px 0 33%;
	}



	.sec01 .grid .item {
        width: calc(50% - 8px);
    }


	.sec02 .grid {
		gap: 20px;
	}
	.sec02 .grid .item {
		width: 100%;
	}
	.sec02 .grid .item .img {
        padding: 20px 40px;
    }
	.sec02 .grid .item .img img {
		max-width: 230px;
	}


	.sec03 .info_box .text_box {
		flex: none;
		width: 100%;
	}
	.sec03 .info_box .text_box .tit_box {
		gap: 25px;
	}
	.sec03 .info_box .list_box {
		flex: none;
		width: 100%;
		max-width: 100%;
	}
	.sec03 .info_box .list_box > div {
        padding: 15px 10px;
        font-size: 14px;
    }
	.sec03 .info_box .list_box > div strong {
        font-size: 20px;
    }
	.sec03 .text {
        font-size: 20px;
    }
	.sec03 .calc_box .info_grid {
        gap: 15px;
    }
	.sec03 .calc_box .info_grid > div {
		flex: none;
		width: 100%;
	}
	.sec03 .calc_box .grid_box > div:last-child {
		flex: none;
		width: 100%;
	}


	.sec05 .box h3 {
        min-height: 75px;
        font-size: 30px;
    }
}
@media screen and (max-width: 480px) {
	.visual {
		padding-bottom: 43%;
	}
	.visual:after {
		background: linear-gradient(0deg, rgba(8, 12, 19, 0.1) 15%, #080C13 35.26%);
	}


	.sec01 .grid .item {
        gap: 10px;
    }
	.sec01 .grid .item .icon {
        width: 135px;
        height: 135px;
    }
	.sec01 .grid .item .icon > * {
        width: 80px !important;
        height: 80px !important;
    }
}
@media screen and (max-width: 380px) {
	.visual:after {
        background: linear-gradient(0deg, rgba(8, 12, 19, 0.1) 10%, #080C13 25.26%);
    }
	.visual .txt_box .txt {
		gap: 25px;
	}
	.visual .txt_box .txt .tit {
        font-size: 28px;
    }
	.visual .txt_box .txt p {
        font-size: 16px;
    }
	.visual .txt_box .txt p .m {
		display: block;
	}


	.sec01 .grid .item {
		width: 100%;
	}


	.sec03 .box {
		border-radius: 15px;
		padding: 20px;
	}
	.sec03 .calc_box .grid_box > div {
		flex: none;
		width: 100%;
		max-width: 100%;
	}


	.sec05 .box h3 {
        min-height: 108px;
    }
}