@charset "utf-8";


/**
* Project
**/

.p-fixed {
	position: fixed;
	bottom: 40px;
	right: 48px;
	width: 160px;
	z-index: 2;
}

@media only screen and (max-width: 767px) {
    .p-fixed {
    	display: none;
    }
}

.p-fixed a {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	width: 160px;
	height: 160px;
	border-radius: 160px;
	background-color: #EF8200;
	background-image: url(../img/fixed-bg.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.p-fixed__icon {
	display: block;
	width: 46px;
	margin: 0 auto 10px;
}

.p-fixed__desc {
	color: var(--color_bg);
	font-size: min(1.8vw,22px);
	line-height: 1.1;
	font-weight: 700;
}

.p-fixed__small {
	display: block;
	margin-top: 6px;
	font-size: min(1.1vw,12px);
	text-align: center;
	line-height: 1.2;
	color: #fff;
}

.p-mv__logo {
	position: absolute;
	top: 18px;
	left: 18px;
	width: min(18vw,316px);
	z-index: 1;
}


@media only screen and (max-width: 767px) {
    .p-mv__logo {
    	top: 10vw;
    	left: 5vw;
    	width: 38vw;
    }
}

.p-mv {
	position: relative;
	overflow: hidden;
	max-height: 100vh;
	min-height: min(50vw, 1100px);
}


@media only screen and (max-width: 767px) {
    .p-mv {
    	width: 100%;
        height: 100vh;
        max-height: auto;
        min-height: auto;
    }
}

.p-mv__img {
	position: relative;
}

.p-mv__inner,
.p-mv__img,
.p-mv__img picture {
	height: 100%;
}

.p-mv__wrap {
    display: flex;
    flex-direction: column;
    gap: 3vw;
	position: absolute;
	top: 50%;
	left: 5vw;
	transform: translate(0,-50%);
	width: min(46vw, 1000px);
}

@media only screen and (max-height: 1100px) {
	.p-mv__wrap {
		top: 54%;
		width: min(42vw, 1000px);
	}
}

@media only screen and (max-width: 767px) {
    .p-mv__wrap {
    	top: 30vw;
    	left: 50%;
    	transform: translate(-50%,0);
    	width: 87%;
    }
}

@media only screen and (max-width: 767px) {
    .p-mv__btn {
    	display: none;
    }
}


@media only screen and (max-width: 767px) {
    .p-mv__img img {
    	position: absolute;
    	width: 100%;
    	height: 100%;
    	object-fit: cover;
    }
}

.p-mv__btnMain {
	width: 75%;
}

.p-mv__submit {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;;
	padding: min(0.8vw,18px) 20px min(0.9vw,20px);
	text-align: center;
	font-size: min(2vw,36px);
	font-weight: 600;
	color: var(--color_bg);
	background: var(--color_accent1);
	border-radius: 50px;
}

@media only screen and (max-width: 1600px) {
    .p-mv__submit {
    	font-size: min(1.6vw,20px);
    }
}


@media only screen and (max-width: 1400px) {
    .p-mv__btnTxt {
    	font-size: min(1.6vw,20px);
    }
}

.p-mv__submit i {
	display: inline-flex;
	max-width: min(3.2vw,63px);
}

.p-mv__submit:hover {
	background: var(--color_accent2);
	opacity: 1;
}

.p-mv__submit:after {
	position: absolute;
	top: 50%;
	right: 6%;
	content: "";
	width: min(1.3vw,26px);
	height: min(1.3vw,26px);
	transform: translate(0,-50%);
	background-image: url(../img/icon-arrow.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.p-mv__btnTxt {
	display: block;
	margin-bottom: min(0.8vw, 13px);
	font-size: min(1.4vw,28px);
	font-weight: 600;
	line-height: 1.4;
	color: var(--color_accent1);
	text-align: center;
}

@media only screen and (max-width: 1600px) {
    .p-mv__btnTxt {
    	font-size: min(1.4vw,20px);
    }
}

@media only screen and (max-width: 1400px) {
    .p-mv__btnTxt {
    	font-size: min(1.2vw,20px);
    }
}

.p-mv__btnInner {
	position: relative;
	display: flex;
	align-items: center;
	gap: 2.8vw;
	padding: min(9vw,179px) min(4vw,68px) min(2.2vw,50px);
	background: rgba(255,255,255,0.5);
	border-radius: 15px;
}

.p-mv__offer {
	position: absolute;
	top: -5vw;
	left: 50%;
	transform: translate(-50%,0);
	width: 79%;
}

.p-mv__ttl {
	width: 71%;
	margin: 0 auto min(7.2vw,84px);
}

@media only screen and (max-height: 1100px) {
    .p-mv__ttl {
    	width: 62%;
    	margin: 0 auto min(2.8vw,84px);
    }
}

@media only screen and (max-width: 767px) {
    .p-mv__ttl {
    	width: 100%;
    	margin: 0 auto;
    }
}

.p-mv__btnImg {
	position: absolute;
	right: 0;
	bottom: 0;
	width: 32%;
}

@media only screen and (max-width: 767px) {
	.p-mv__btnImg {
		position: absolute;
		right: 0;
		bottom: 0;
		width: 29vw;
	}
}

.p-mv__spBtn {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-image: url(../img/spbtn-bg.svg);
	background-size: cover;
	background-position: center;
	background-size: cover;
	z-index: 1;
}

.p-mv__spLink {
	color: var(--color_bg);
	position: relative;
	display: block;
	padding: 2vw 12vw 2.6vw 3.8vw;
}

.p-mv__spNote {
	position: relative;
	display: flex;
	align-items: center;
	gap: 2vw;
	font-size: 5.45vw;
	font-weight: 800;
	padding-right: 2vw;
	width: 70vw;
}

.p-mv__spNote:after {
	position: absolute;
	top: 50%;
	right: 6%;
	content: "";
	width: 3vw;
	height: 3vw;
	transform: translate(0, -50%);
	background-image: url(../img/icon-arrow.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

.p-mv__spNote i {
	width: 8vw;
}

.p-mv__spSmall {
	font-size: 3vw;
}

.l-achievement {
	padding: min(13vw,129px) 0;
	background-image: url(../img/achievement-bg.jpg);
	background-position: center;
	background-size: cover;
}

.p-achievement {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
}

.p-achievement__head {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-bottom: min(2vw,32px);
}

@media only screen and (max-width: 767px) {
    .p-achievement__head {
    	position: relative;
    	margin-bottom: 3.8vw;
    	padding: 0 8vw;
    }
}

.p-achievement__ttl {
	position: relative;
	padding: 0 min(8vw,70px);
	font-size: min(3.2vw,46px);
	line-height: 1.4;
	font-weight: 800;
	color: var(--color_bg);
}

@media only screen and (max-width: 767px) {
    .p-achievement__ttl {
    	font-size: 5.8vw;
    	padding: 0 6vw;
    }
}

.p-achievement__ttl:before {
	content: "";
	position: absolute;
	left: 0;
	top: 50%;
	width: min(4vw, 84px);
	height: min(8vw, 158px);
	transform: translate(0, -50%);
	background: url(../img/icon-deco-l.svg);
	background-size: 100%;
	background-repeat: no-repeat;
}

@media only screen and (max-width: 767px) {
    .p-achievement__ttl:before {
    	width: 7vw;
    	height: 13vw;
    }
}

.p-achievement__ttl:after {
	content: "";
	position: absolute;
	right: 0;
	top: 50%;
	width: min(4vw, 84px);
	height: min(8vw, 158px);
	transform: translate(0, -50%);
	background: url(../img/icon-deco-r.svg);
	background-size: 100%;
	background-repeat: no-repeat;
}

@media only screen and (max-width: 767px) {
    .p-achievement__ttl:after {
    	width: 7vw;
    	height: 13vw;
    }
}

.p-achievement__ttl strong {
	color: var(--color_sub);
}

.p-achievement__cont {
	font-size: ;
	text-align: center;
}

.p-achievement__subttl {
	margin-bottom: min(1.2vw,12px);
	font-size: min(2vw,36px);
	font-weight: 700;
	color: var(--color_bg);
}

@media only screen and (max-width: 767px) {
    .p-achievement__subttl {
    	margin-bottom: 1.2vw;
    	font-size: 3.8vw;
    }
}

.p-achievement__unit {
	padding: 4px 20px 6px;
	font-size: min(3.2vw,38px);
	color: var(--color_bg);
	background: var(--color_accent1);
	line-height: 1.4;
	border-radius: 6px;
	font-weight: 700;
}

@media only screen and (max-width: 767px) {
    .p-achievement__unit {
    	padding: 4px 16px 6px;
    	font-size: 4.8vw
    }
}

.p-achievement__note {
	display: block;
	margin-top: min(1.2vw,16px);
	font-size: min(1.8vw,16px);
	color: var(--color_bg);
}

@media only screen and (max-width: 767px) {
    .p-achievement__note {
    	margin-top: 1.2vw;
    	font-size: 3vw;
    }
}

.l-about {
	padding: min(10vw,100px) min(4vw,40px) min(6vw,60px);
	background: var(--color_main);
}

@media only screen and (max-width: 767px) {
    .l-about {
    	padding: 10vw 5.8vw 5.8vw;
    }
}


.p-about__head {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-bottom: min(5vw,58px);
}

.p-about__ttl {
	font-size: min(3.2vw,46px);
	line-height: 1.4;
	font-weight: 800;
	color: var(--color_bg);
}

@media only screen and (max-width: 767px) {
    .p-about__ttl {
    	font-size: 6.2vw;
    }
}

.p-about__ttl strong {
	margin-right: 8px;
	padding: 0px 8px 1px;
	color: var(--color_main);
	background: #FFFB00;
	line-height: 1.2;
	display: inline-block;
}

.p-about__desc {
	margin-top: min(2.8vw,32px);
	color: var(--color_bg);
	font-size: min(2vw,24px);
}


@media only screen and (max-width: 767px) {
	.p-about__desc {
		margin: 5.8vw 0 4vw;
		font-size: 3.6vw;
	}
}

.p-about__img {
	width: 100%;
	margin: 0 auto;
}


@media only screen and (max-width: 767px) {
	.p-about__img {
		width: 68%;
		margin: 0 auto;
	}
}


.p-about__cont {
	max-width: 843px;
	margin: 0 auto;
}

.p-about__last {
	margin-top: min(1.2vw,12px);
	font-size: min(2.2vw,36px);
	text-align: center;
	color: #FFFB00;
	font-weight: 700;
	line-height: 1.1;
}

@media only screen and (max-width: 767px) {
	.p-about__last {
		margin-top: 2.8vw;
		font-size: 5.8vw;
	}
}

.p-about__last strong {
	font-size: min(4vw,68px);
	font-family: "Afacad", sans-serif;
}

@media only screen and (max-width: 767px) {
	.p-about__last strong {
		font-size: 10.8vw;
	}
}

@media only screen and (max-width: 767px) {
	.p-about__last span {
		margin-left: -2px;
	}
}

.p-about__last small {
	margin-left: -8px;
	font-size: min(2vw,32px);
}

@media only screen and (max-width: 767px) {
	.p-about__last small {
		margin-left: -10px;
		font-size: 4.8vw;
	}
}

.l-need {
	padding: min(14vw,140px) min(4vw,40px);
}

@media only screen and (max-width: 767px) {
	.l-need {
		padding: 10vw 5.8vw;
	}
}

.p-need__accord {
	max-width: 1200px;
	margin: 0 auto;
	/*padding: min(4vw,58px) min(4vw,58px);*/
	background: #FFF8E6;
	border-radius: 10px;
}

@media only screen and (max-width: 767px) {
	.p-need__accord {
		/*padding: 8vw 4.4vw 7.8vw;*/
	}
}

.p-need__accordTtl {
	position: relative;
	text-align: center;
	cursor: pointer;
	padding: min(4vw,58px) min(4vw,58px);
}

@media only screen and (max-width: 767px) {
	.p-need__accordTtl {
		padding: 8vw 4.4vw 7.8vw;
	}
}

.p-need__accordTtl:after {
	content: "";
	position: absolute;
	top: 50%;
	right: 60px;
	content: "";
	width: min(3.2vw,44px);
	height: min(3.2vw,44px);
	background-image: url(../img/icon-plus.svg);
	background-size: 100%;
	transform: translate(0,-50%);
}

@media only screen and (max-width: 767px) {
	.p-need__accordTtl:after {
		right: 5vw;
		width: 6vw;
		height: 6vw;
	}
}

.p-need__accordTtl.is-active:after {
	width: min(3.2vw,44px);
	height: min(3.2vw,44px);
	background-image: url(../img/icon-minus.svg);
	background-size: 100%;
	transform: translate(0,-50%);
}

@media only screen and (max-width: 767px) {
	.p-need__accordTtl.is-active:after  {
		width: 6vw;
		height: 6vw;
	}
}

.p-need__accordTtl span {
	font-size: min(3.2vw,34px);
	font-weight: 800;
	text-align: center;
	color: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.p-need__accordTtl span {
		font-size: 4.8vw;
	}
}

.p-need__accordCont {
  /*max-height: 0;*/
  display: none;
  overflow: hidden;
  transition: max-height 0.3s ease;
  padding: 0 min(4vw,58px);
}

@media only screen and (max-width: 767px) {
	.p-need__accordCont {
		padding: 0 5.4vw;
	}
}

.p-need__accordTtl.is-active + .p-need__accordCont {
	padding-bottom: min(4vw,58px);
}

@media only screen and (max-width: 767px) {
	.p-need__accordTtl.is-active + .p-need__accordCont {
		padding-bottom: 4.4vw;
	}
}

.p-need__accordDesc {
	padding-top: 0;
	text-align: center;
	font-size: min(1.8vw,20px);
	line-height: 1.6;
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	.p-need__accordDesc {
		padding-top: 0;
		font-size: 3.4vw;
	}
}

.p-need__accordDesc span {
	color: var(--color_accent1);
	font-weight: 700;
}

.p-need__accordList {
	display: flex;
	gap: min(2.2vw,28px);
	margin-top: min(5.8vw,40px);
}

@media only screen and (max-width: 767px) {
	.p-need__accordList {
		flex-direction: column;
		gap: 3.8vw;
	}
}

.p-need__power {
	width: 50%;
	padding: min(2vw,28px);
	background: var(--color_bg);
	border-radius: 12px;
}

@media only screen and (max-width: 767px) {
	.p-need__power {
		width: 100%;
		padding: 3.8vw 3.8vw 5.8vw;
	}
}

.p-need__powerTtl {
	padding: min(1.2vw,8px) min(2vw,20px);
	text-align: center;
	font-size: min(2vw,26px);
	font-weight: 600;
	line-height: 1.4;
	color: var(--color_bg);
	border-radius: 6px;
	background: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.p-need__powerTtl {
		padding: 2vw 2.8vw;
		font-size: 4.4vw;
		border-radius: 4px;
	}
}

.p-need__powerList {
	display: flex;
	justify-content: center;
	gap: min(2vw,20px);
	justify-content: center;
	margin: min(4vw,70px) 0px min(2.8vw,40px);
}

@media only screen and (max-width: 767px) {
	.p-need__powerList {
		margin: 5.8vw 0px 3.8vw;
	}
}

.p-need__powerItem {
	text-align: center;
}

.p-need__powerList.is-2column {

}

.p-need__powerList.is-2column .p-need__powerItem {
	width: 50%;
	margin: 0 auto 12px;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-need__powerList.is-2column .p-need__powerItem {
		margin: 0 auto;
	}
}

.p-need__powerTxt {
	font-size: min(1.2vw,16px);
	font-weight: 700;
}

@media only screen and (max-width: 767px) {
	.p-need__powerTxt {
		font-size: 3.6vw;
	}
}

.p-need__powerIcon {
	display: block;
	width: min(12vw,107px);
	margin: 0 auto 12px;
}

@media only screen and (max-width: 767px) {
	.p-need__powerIcon {
		width: 63%;
		margin: 0 auto;
	}
}

.p-need__powerList.is-3column .p-need__powerItem {
	width: 30%;
	margin: 0 auto 12px;
}

.p-need__powerCat {
	display: flex;
	gap: 12px;
}

@media only screen and (max-width: 767px) {
	.p-need__powerCat {
		flex-direction: column;
		gap: 5.8vw;
	}
}

.p-need__powerItem {
	width: 50%;
}

@media only screen and (max-width: 767px) {
	.p-need__powerItem {
		width: 100%;
	}
}

.p-need__powerSubttl {
	display: block;
	margin-bottom: min(1.2vw,12px);
	padding: min(0.4vw,8px) min(1.2vw,20px);
	font-size: min(1.2vw,16px);
	color: var(--color_bg);
	background: var(--color_main);
	font-weight: 700;
	border-radius: 50px;
	line-height: 1.4;
}

@media only screen and (max-width: 767px) {
	.p-need__powerSubttl {
		margin-bottom: 2.8vw;
		padding: 2vw 2.8vw;
		font-size: 4vw;
		line-height: 1.1;
	}
}

.p-need__powerSubttl.is-point {
	background: var(--color_main2);
}

.p-need__powerInner {
	padding: 0 8px;
}

@media only screen and (max-width: 767px) {
	.p-need__powerInner {
		padding: 0 2vw;
	}
}

.p-need__powerReason {
	display: flex;
	align-items: center;
	gap: min(0.4vw,4px);
	font-size: min(1.2vw,16px);
	font-weight: 500;
	line-height: 1.6;
}

@media only screen and (max-width: 767px) {
	.p-need__powerReason {
		gap: 1.2vw;
		font-size: 3.6vw;
	}
}

.p-need__powerReason img {
	width: 12px;
}

@media only screen and (max-width: 767px) {
	.p-need__powerReason img {
		width: 4vw;
	}
}

.p-need__powerCatch {
	margin: min(3.8vw,32px) 0;
	font-size: min(2vw,26px);
	font-weight: 600;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-need__powerCatch {
		margin: 5.8vw 0 3.2vw;
		font-size: 4.4vw;
		line-height: 2;
	}
}

.p-need__powerCatch strong {
	margin-left: 4px;
	padding: 0 min(0.8vw,10px);
	color: var(--color_bg);
	background: var(--color_accent1);
}

@media only screen and (max-width: 767px) {
	.p-need__powerCatch strong {
		padding: 4px 12px;
	}
}
.p-need__powerArrow {
	display: block;
	max-width: 34px;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
	.p-need__powerArrow {
		width: 5.2vw;
	}
}

.p-battery {
	display: flex;
	align-items: center;
	gap: min(6vw,68px);
	width: 100%;
	margin-top: min(4.8vw,40px);
	padding: min(2.8vw,28px) min(12vw,120px);
	background-image: url(../img/accord-bg.svg);
	background-repeat: no-repeat;
	background-size: cover;
	border-radius: 16px;
	color: var(--color_bg);
}

@media only screen and (max-width: 960px) {
	.p-battery {
		padding: min(2.8vw,28px) min(5vw,120px) ;
	}
}


@media only screen and (max-width: 767px) {
	.p-battery {
		flex-direction: column;
		padding: 8vw 6.8vw 6.8vw;
		background-image: url(../img/accord-bg-sp.svg);
		background-repeat: no-repeat;
		background-size: cover;
	}
}

.p-battery__name {
	display: inline-block;
	position: relative;
	padding : 0 6px 12px;
	font-size: min(3.2vw,48px);
	font-weight: 700;
	line-height: 1.2;
	white-space: nowrap;
}

@media only screen and (max-width: 767px) {
	.p-battery__name {
		font-size: 9.8vw;
		padding : 0 2px 12px;
	}
}

.p-battery__name:after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 10px;
	background: var(--color_accent2);
}

@media only screen and (max-width: 767px) {
	.p-battery__name:after {
		height: 1.8vw;
		height: 6px;
	}
}

.p-battery__txt {
	width: 40%;
}

@media only screen and (max-width: 767px) {
	.p-battery__txt {
		width: 100%;
		text-align: center;
	}
}

.p-battery__img {
	width: 60%;
}

@media only screen and (max-width: 767px) {
	.p-battery__img {
		width: 100%;
	}
}

.p-battery__list {
	margin-top: 48px;
}

@media only screen and (max-width: 767px) {
	.p-battery__list {
		margin-top: 5.8vw;
	}
}

.p-battery__list li {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	font-size: min(2vw,24px);
}

@media only screen and (max-width: 767px) {
	.p-battery__list li {
		margin-bottom: 1.2vw;
		font-size: 4.4vw;
	}
}

.p-battery__list li img {
	display: block;
	width: 24px;
}

@media only screen and (max-width: 767px) {
	.p-battery__list li img {
		width: 5.8vw;
	}
}

.l-revenue {
	padding: min(10vw,120px) min(4vw,40px) min(10vw,100px);
	background-color: #EEF8FF;
}

@media only screen and (max-width: 767px) {
	.l-revenue {
		padding: 10vw 5.8vw;
	}
}

.p-revenue__ttl {
	margin-bottom: min(4.8vw,60px);
	font-size: min(3.2vw,46px);
	font-weight: 800;
	text-align: center;
	color: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.p-revenue__ttl {
		font-size: 6.8vw;
	}
}

.p-revenue__ttl span {
	position: relative;
	padding-bottom: 0;
}

@media only screen and (max-width: 767px) {
	.p-revenue__ttl span {
		display: inline-block;
		padding-bottom: 2.8vw;
		line-height: 1.2;
	}
}

.p-revenue__ttl span:after {
	position: absolute;
	bottom: -2px;
	left: 0;
	content: "";
	width: 100%;
	height: 6px;
	background: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.p-revenue__ttl span:after {
		height: 1.2vw;
	}
}

.p-revenue__desc {
	font-size: min(2vw,24px);
	text-align: center;
	font-weight: 500;
	line-height: 1.5;
}

@media only screen and (max-width: 767px) {
	.p-revenue__desc {
		font-size: 3.6vw;
		margin: 8vw 0;
		line-height: 1.6;
	}
}

.p-revenue__desc strong {
	font-size: min(2.4vw,30px);
	text-align: center;
	font-weight: 700;
	color: var(--color_accent1);
}

@media only screen and (max-width: 767px) {
	.p-revenue__desc strong {
		font-size: 4.4vw;
		font-weight: 700;
	}
}
.p-revenue__img {
	max-width: 1200px;
	margin:  min(5vw,58px) auto min(5.8vw,60px);
	padding: min(5vw,50px) min(12vw,120px) min(5.8vw,60px);
	text-align: center;
	background-color: var(--color_bg);
	border-radius: 16px;
}

@media only screen and (max-width: 767px) {
	.p-revenue__img {
		margin:  5.8vw auto;
		padding: 8vw 5.8vw;
	}
}

.p-revenue__img img {
	max-width: 944px;
}

.p-revenue__catch {
	font-size: min(2vw,24px);
	font-weight: 500;
	text-align: center;
	line-height: 1.6;
}

@media only screen and (max-width: 767px) {
	.p-revenue__catch {
		font-size:4vw;
		line-height: 1.8;
	}
}

.p-revenue__catch span {
	font-size: min(2.2vw,28px);
	font-weight: 700;
}

@media only screen and (max-width: 767px) {
	.p-revenue__catch span {
		font-size: 4.2vw;
	}
}

.p-revenue__catch strong {
	font-size: min(2.4vw,30px);
	font-weight: 700;
	color: var(--color_accent1);
}

@media only screen and (max-width: 767px) {
	.p-revenue__catch strong {
		font-size: 4.4vw;
	}
}

.p-revenue__bg {
	padding: 0 6px;
	line-height: 1.8;
	background: #FFFB00;
}

.p-revenue__last {
	font-size: min(2vw,24px);
	font-weight: 500;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-revenue__last {
		font-size: 4vw;
	}
}

.p-revenue__last strong {
	font-weight: 800;
}

.p-revenue__last strong b {
	color: var(--color_accent1);
	font-size: min(2.4vw,30px);
}

@media only screen and (max-width: 767px) {
	.p-revenue__last strong b {
		font-size: 4.4vw;
	}
}

.l-point {
	padding: min(13vw,130px) min(4vw,40px) min(13vw,136px);
}

@media only screen and (max-width: 767px) {
	.l-point {
		padding: 10vw 5.8vw 0;
	}
}

.p-point__ttl {
	margin-bottom: min(5.8vw,78px);
	font-size: min(3.2vw,36px);
	font-weight: 800;
	line-height: 1.4;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-point__ttl {
		line-height: 1.7;
	}
}

.p-point__ttl small {
	display: block;
	font-size: min(3.2vw,36px);
	font-weight: 800;
}

@media only screen and (max-width: 767px) {
	.p-point__ttl small {
		font-size: 4vw
	}
}

.p-point__ttl strong {
	font-size: min(4vw,50px);
	color: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.p-point__ttl strong {
		font-size: 5.8vw;
	}
}

.p-point__item {
	margin-bottom: min(3.4vw,34px);
	padding: min(3.2vw,36px) min(3.8vw,42px);
	border-radius: 12px;
	background: #EEF8FF;
}

@media only screen and (max-width: 767px) {
	.p-point__item {
		margin-bottom: 4.4vw;
		padding: 5.8vw 5.4vw;
	}
}

.p-point__cont {
	max-width: 1027px;
	margin: 0 auto;
}

.p-point__dt {
	display: flex;
	align-items: center;
	gap: min(2.8vw,28px);
	padding-bottom: min(2.8vw,28px);
	border-bottom: 1px solid #8F8F8F;
	font-size: min(3vw,30px);
	font-weight: 500;
	color: var(--color_main);
}

@media only screen and (max-width: 767px) {
	.p-point__dt {
		flex-direction: column;
		gap: 3.8vw;
		font-size: 5.8vw;
		line-height: 1.4;
		padding-bottom: 5.8vw;
		text-align: center;
	}
}

.p-point__dt span {
	font-weight: 700;
}

.p-point__icon {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	gap: 0px;
	width: min(7vw,80px);
	height: min(7vw,80px);
	color: var(--color_bg);
	background: var(--color_main2);
	border-radius: 80px;
	font-family: "Afacad", sans-serif;
}

@media only screen and (max-width: 767px) {
	.p-point__icon {
		width: 14.2vw;
		height: 14.2vw;
		border-radius: 14.2vw;
	}
}

.p-point__icon small {
	display: block;
	font-size: min(1.2vw,16px);
	text-align: center;
	line-height: 1;
}

@media only screen and (max-width: 767px) {
	.p-point__icon small {
		font-size: 3.2vw;
	}
}

.p-point__icon strong {
	display: block;
	font-size: min(2.4vw,34px);
	text-align: center;
	line-height: 0.8;
}

@media only screen and (max-width: 767px) {
	.p-point__icon strong {
		font-size: 6.8vw;
		line-height: 0.8;
	}
}

.p-point__dd {
	padding: min(3vw,34px) 0 0;
}

@media only screen and (max-width: 767px) {
	.p-point__dd {
		padding: 5.8vw 0 0;
	}
}

.p-point__dd h5 {
	margin-bottom: min(2.4vw,24px);
	font-size: min(1.9vw,22px);
	font-weight: 700;
}

@media only screen and (max-width: 767px) {
	.p-point__dd h5 {
		margin-bottom: 5.8vw;
		font-size: 4.4vw;
	}
}

.p-point__dd p {
	font-size: min(1.4vw,18px);
}

@media only screen and (max-width: 767px) {
	.p-point__dd p {
		font-size: 4vw;
	}
}

.p-point__last {
	margin: min(8vw,80px) 0 min(10vw,100px);
	font-size: min(2.6vw,30px);
	font-weight: 700;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-point__last {
		margin: 5.8vw 0 8vw;
		font-size: 4.4vw;
	}
}

.p-point__last strong {
	font-weight: 800;
}
.p-point__last strong b {
	color: var(--color_accent1);
	font-size: min(2.8vw,36px);
}

@media only screen and (max-width: 767px) {
	.p-point__last strong b {
		font-size: 4.8vw;
	}
}

.c-cv__btn {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px min(3vw,30px) 26px;
	background-image: url(../img/btn-bg.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
	border-radius: 16px;
	max-width: 1200px;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
	.c-cv__btn {
		margin: 0 calc(50% - 50vw);
		width: 100vw;
		font-size: 4.4vw;
		padding: 5vw 5.8vw;
		background-image: url(../img/btn-bg-sp.svg);
		background-repeat: no-repeat;
		background-size: cover;
		background-position: center;
		border-radius: 0;
	}
}

.c-cv__inner {
	position: relative;
	display: flex;
	gap: 12px;
	padding-right: 23%;
}

@media only screen and (max-width: 767px) {
	.c-cv__inner {
		width: 100%;
		padding-right: 20%;
	}
}

.c-cv__left {
	width: ;
}

@media only screen and (max-width: 767px) {
	.c-cv__left {
		width: 93%;
	}
}

.c-cv__ttl {
	margin-bottom: min(0.8vw,12px);
	font-size: min(2vw,26px);
	color: var(--color_bg);
	font-weight: 700;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.c-cv__ttl {
		margin-bottom: 2vw;
	    font-size: 3.7vw;
	    line-height: 1.4;
	    text-align: center;
	    letter-spacing: -0.001em;
	}
}

.c-cv__submit {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	max-width: min(100%,533px);
	width: min(37vw, 533px);
	padding: min(1.6vw,24px) 20px;
	color: var(--color_accent1);
	font-size: min(2vw,28px);
	font-weight: 700;
	background: var(--color_bg);
	border-radius: 50px;
}

@media only screen and (max-width: 767px) {
	.c-cv__submit {
		padding: 3vw 1vw 3.2vw;
		font-size: 4.2vw;
		gap: 1.8vw; 
		width: 100%;
	}
}

.c-cv__submit i {
	display: block;
	max-width: min(3.2vw,42px);
	line-height: 1;
}

@media only screen and (max-width: 767px) {
	.c-cv__submit i {
		max-width: 6.8vw;
	}
}

.c-cv__submit:after {
	position: absolute;
	top: 50%;
	right: 7%;
	content: "";
	width: min(1.3vw,26px);
	height: min(1.3vw,26px);
	transform: translate(0,-50%);
	background-image: url(../img/icon-arrow-orange.svg);
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center;
}

@media only screen and (max-width: 767px) {
	.c-cv__submit:after {
		width: 3.4vw;
		height: 3.4vw;
	}
}

.c-cv__right {
	position: absolute;
	bottom: -26px;
	right: -20px;
	width: 38%;
}

@media only screen and (max-width: 767px) {
	.c-cv__right {
		bottom: -5vw;
		right: -12vw;
		width: 38%;
	}
}

.l-merit {
	padding: min(12vw,120px) min(4vw,40px) min(8vw,80px);
	background: #FFF8E6;
}

@media only screen and (max-width: 767px) {
	.l-merit {
		padding: 10vw 5.8vw 0;
	}
}

.p-merit__head {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	margin-bottom: min(5vw,50px);
}

@media only screen and (max-width: 767px) {
	.p-merit__head {
		margin-bottom: 8vw;
	}
}

.p-merit__ttl {
	margin-bottom: min(4vw,40px);
	font-size: min(3.2vw,36px);
	font-weight: 800;
	line-height: 1.4;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-merit__ttl {
		margin-bottom: 3.8vw;
		font-size: 6vw;
	}
}

.p-merit__icon {
	display: block;
	max-width: min(5vw,114px);
	margin: 0 auto 20px;
}

@media only screen and (max-width: 767px) {
	.p-merit__icon {
		max-width: 18vw;
		margin: 0 auto 5.8vw;
	}
}

.p-merit__desc {
	text-align: center;
	font-weight: 500;
	font-size: min(1.8vw,20px);
}

@media only screen and (max-width: 767px) {
	.p-merit__desc {
		font-size: 3.8vw;
		line-height: 1.8;
	}
}

.p-merit__list {
	max-width: 1200px;
	margin: 0 auto;
}

.p-merit__item {
	padding: min(5.8vw,58px) min(5.8vw,58px);
	border-bottom: 1px solid #d3d3d3;
}

@media only screen and (max-width: 767px) {
	.p-merit__item {
		padding: 8vw 0;
	}
}

.p-merit__item:last-child {
	padding: min(4vw,40px) min(5.8vw,58px) 0;
	border: 0;
}

@media only screen and (max-width: 767px) {
	.p-merit__item:last-child {
		padding: 8vw 0 0;
		border: 0;
	}
}

.p-merit__dl {
	display: flex;
	align-items: center;
	gap: min(5vw,50px);
	max-width: 960px;
	margin: 0 auto;
}

@media only screen and (max-width: 767px) {
	.p-merit__dl {
		flex-direction: column;
		padding: 0;
		gap: 8vw;
	}
}

.p-merit__itemIcon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 135px;
	height: 135px;
	border-radius: 135px;
	background-color: var(--color_bg);
}

@media only screen and (max-width: 767px) {
	.p-merit__itemIcon {
		margin: 0 auto;
		width: 30vw;
		height: 30vw;
		border-radius: 30vw;
	}
}

@media only screen and (max-width: 767px) {
	.p-merit__dt {
		margin: 0 auto;
	}
}

.p-merit__itemIcon img {
	width: 90px;
}

@media only screen and (max-width: 767px) {
	.p-merit__itemIcon img {
		width: 70%;
	}
}

.p-merit__dd h5 {
	margin-bottom: min(1.6vw,20px);
	font-size: min(2.4vw,30px);
	font-weight: 700;
	line-height: 1.4;
}

@media only screen and (max-width: 767px) {
	.p-merit__dd h5 {
		margin-bottom: 3.8vw;
		font-size: 6.2vw;
	}
}

.p-merit__dd h5 strong {
	color: var(--color_accent1);
}

.p-merit__dd p {
	font-size: min(1.4vw,18px);
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	.p-merit__dd p {
		font-size: 3.8vw;
		line-height: 1.8;
	}
}

.p-merit__last {
	margin: min(8vw,80px) 0 min(8vw,80px);
	font-size: min(2.4vw,30px);
	font-weight: 700;
	text-align: center;
	line-height: 1.8;
}

@media only screen and (max-width: 767px) {
	.p-merit__last {
		margin: 5.8vw 0 8vw;
		font-size: 4.8vw;
		text-align: left;
	}
}

.p-merit__last strong {
	font-weight: 800;
}

.p-merit__last strong b {
	color: var(--color_accent1);
	font-size: min(2.4vw,30px);
}

@media only screen and (max-width: 767px) {
	.p-merit__last strong b {
		font-size: 5vw;
	}
}

.l-footer {
	padding: min(10vw,100px) min(4vw,40px) min(8.5vw,85px);
}

@media only screen and (max-width: 767px) {
	.l-footer {
		padding: 12vw 5.8vw 8.5vw;
	}
}

.p-footer__top {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(4vw,40px);
}

@media only screen and (max-width: 767px) {
	.p-footer__top {
		flex-direction: column;
		gap: 4vw;
	}
}

.p-footer__btm {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

@media only screen and (max-width: 960px) {
	.p-footer__btm {
		flex-direction: column;
		gap: 4vw;
	}
}

@media only screen and (max-width: 767px) {
	.p-footer__btm {
		flex-direction: column;
	}
}

.p-footer__left {
	display: flex;
	align-items: center;
	gap: min(5vw,60px);
}

@media only screen and (max-width: 767px) {
	.p-footer__left {
		flex-direction: column;
		gap: 8.8vw;
	}
}

.p-footer__logo {
	display: block;
	width: min(18vw, 316px);
}

@media only screen and (max-width: 767px) {
	.p-footer__logo {
		width: 88%;
	}
}

.p-footer__address {
	font-size: min(1.2vw,16px);
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	.p-footer__address {
		font-size: 3.7vw;
		text-align: center;
		line-height: 2;
	}
}

.p-footer__address strong {
	font-size: min(1.4vw,18px);
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	.p-footer__address strong {
		font-size: 3.8vw;
	}
}

.p-footer__copy {
	font-size: min(0.9vw,12px);
	font-weight: 500;
}

@media only screen and (max-width: 767px) {
	.p-footer__copy {
		margin-top: 10.8vw;
		font-size: 2.8vw;
		letter-spacing: -0.02em;
	}
}

.p-footer__top {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: min(4vw,40px);
	margin-bottom: min(12vw,120px);
}

@media only screen and (max-width: 767px) {
	.p-footer__top {
		margin-bottom: 16vw;
	}
}

.p-footer__btn {
	position: relative;
	display: block;
	max-width: 576px;
	width: 50%;
	padding: 26px 20px 24px;
	font-size: min(1.4vw,24px);
	font-weight: 700;
	color: var(--color_bg);
	background: var(--color_main2);
	border-radius: 50px;
	text-align: center;
}

@media only screen and (max-width: 767px) {
	.p-footer__btn {
		width: 100%;
		padding: 4.8vw 5.8vw;
		font-size: 3.8vw;
	}
}

.p-footer__btn.is-contact {
	background: var(--color_main);
}

.p-footer__btn:after {
    position: absolute;
    top: 50%;
    right: 6%;
    content: "";
    width: min(1.1vw, 20px);
    height: min(1.1vw, 20px);
    transform: translate(0, -50%);
    background-image: url(../img/icon-arrow.svg);
    background-repeat: no-repeat;
    background-size: cover;
    background-position: center;
}

@media only screen and (max-width: 767px) {
	.p-footer__btn:after {
		width: 3.4vw;
		height: 3.4vw;
	}
}



/**
* Animation
**/

.js-body {
	opacity: 0;
	visibility: hidden;
	transition-duration: 6s;
	transition-timing-function: cubic-bezier(.19,1,.22,1);
}

.js-body.is-active {
	opacity: 1;
	visibility: inherit;
}

.js-mv__img {
	transform: scale(1.08);
	transition-duration: 6s;
	filter: blur(6px);
	transition-timing-function: cubic-bezier(.19,1,.22,1);
}

.js-mv__img.is-active {
	transform: scale(1);
	filter: blur(0);	
}

.js-mv__ttl {
	opacity: 0;
	filter: blur(6px);
	transition-duration: 2s;
	transition-timing-function: cubic-bezier(.19,1,.22,1);
}

.js-mv__ttl.is-active {
	opacity: 1;
	filter: blur(0);	
}

.js-mv__ttl {
	opacity: 0;
	filter: blur(6px);
	transition-duration: 2s;
	transition-timing-function: cubic-bezier(.19,1,.22,1);
}

.js-mv__subttl {
	opacity: 0;
	filter: blur(6px);
	transition-duration: 2s;
	transition-timing-function: cubic-bezier(.19,1,.22,1);
}

.js-mv__subttl.is-active {
	opacity: 1;
	filter: blur(0);	
}

.js-mv__scroll,
.js-mv__logo {
	transition-duration: 2s;
	opacity: 0;
	transition-timing-function: cubic-bezier(.19,1,.22,1);
}

.js-mv__scroll.is-active,
.js-mv__logo.is-active {
	opacity: 1;
}

.js-dummy {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
}

.js-dummy__wrap {
	display: inline-block;
	position: relative;
}
