@charset "utf-8";

:root{
	--itemBFm: "Yu Mincho", "游明朝", "YuMincho", serif;
	--itemBFg: "Yu Gothic", "游ゴシック", "YuGothic", sans-serif;
	--itemBC_red: #e9564c;
	--itemBC_orange: #f1882e;
	--itemBC_lime: #cde861;
	--itemBC_green: #007d41;
	--itemBC_greenlight: #daeee9;
	--itemBC_greengray: #f5f8f5;
	--itemBC_black: #3e3a39;
	--itemComp_orange: #ec6633;
	--itemComp_green: #44a894;
	--itemComp_brown: #c18e8a;
}

body sup{
	font-size: 1rem;
}
.iArv {
	position: relative;
	margin-top: -5px;
	overflow: hidden;
	font-family: var(--itemBFg), serif;
	color: var(--itemBC_black);
	* {
		box-sizing: border-box;
	}
	section:not(.voi1):not(.voi2):not(.comp):not(.enjoy){
		margin: auto;
		width: 1000px;
	}
	section:not(.mv):not(.item1):not(.voi1):not(.voi2):not(.item2){
		padding-bottom: 80px;
	}
	h2 {
		font-size: 2.5rem;
		color: var(--itemBC_green);
		font-weight: 600;
		letter-spacing: 2px;
	}
	h3 {
		font-size: 2rem;
		letter-spacing: 1px;
	}
	p{
		font-size: 1.3rem;
		font-weight: 500;
	}
	img{
		display: block;
		margin: auto;
	}
	.num{
		font-family: "Noto Sans", sans-serif;
	}
	.notes{
		margin: 0 auto;
		font-size: .7rem;
		width: 850px;
		letter-spacing: 0;
	}
	.bdr{
		margin-left: .5rem;
		padding: .5rem;
		border: 1px solid var(--itemBC_black)
	}
	.green_under{
		border-bottom: 2px solid var(--itemBC_green);
	}
	.white_under{
		border-bottom: 2px solid #fff;
	}
	.Tgreen{
		color: var(--itemBC_green);
	}
	.Tlime{
		color: var(--itemBC_lime);
	}
	marker.bg_lime{
		color: var(--itemBC_black);
		font-weight: bold;
		padding: .2rem .5rem;
		background: var(--itemBC_lime);
	}
	.center_img {
		margin: 0 calc(50% - 60vw) 0;
		width: 120vw;
		height: auto;
		margin-top: -9vw;
		@media screen and (min-width: 1728px) {
			margin: -6vw calc(50% - 50vw) 0;
			width: 100vw;
		}
	}
	.badge{
		position: absolute;
		display: flex;
		flex-direction: column;
		z-index: 1;
	}
	.badge li{
		margin-bottom: .5rem;
		width: 130px;
	}
	.badge img{
		width: 100%;
		height: auto;
	}
}

.iArv .mv{
	h2{
		position: absolute;
		top: 13vw;
		right: 8vw;
		margin: auto;
		color: #fff;
		text-align: center;
		z-index: 2;
		width: 9vw;
		@media screen and (min-width: 1728px){
			top: 10vw;
			right: 5vw;
			width: 7vw;;
		}
		@media screen and (min-width: 2241px){
			right: 1vw;
		}
	}
	h2 img{
		width: 100%;
		height: auto;
	}
	.badge {
		bottom: 200px;
		left: 180px;
		@media screen and (min-width: 1728px) {
			bottom: 10vw;
			left: 6.5vw;
		}
		@media screen and (min-width: 2241px){
			bottom: 11vw;
			left: 5vw;
		}
	}
}

.iArv .app_bg{
	padding-top: 80px;
	background: url(/images/item/sup/arv/app_bg.jpg) 0 0 / 100% 100% no-repeat;
}
.iArv .app{
	text-align: center;
	h2{
		padding-bottom: 3rem;
	}
	h2 img{
		margin-bottom: 10px;
		width: 50%;
	}
	ul{
		padding-bottom: 50px;
		font-size: 1.5rem;
	}
	li{
		position: relative;
		color: var(--itemBC_green);
		font-weight: 600;
		width: 340px;
	}
	li::after {
		content: "";
		position: absolute;
		top: 0;
		right: 0;
		bottom: 0;
		margin: auto;
		display: block;
		width: 26px;
		height: 26px;
		background: url(/images/item/sup/arv/app_arr.svg) center / contain no-repeat;
	}
	li:last-of-type::after{
		content: none;
	}
	li span{
		color: var(--itemBC_black);
	}
}

.iArv .voi1 {
	width: 100%;
	.tit_bg{
		padding: 20px 0;
		background: url(/images/item/sup/arv/voi_tit_bg.jpg) center / 100% 100% no-repeat;
		text-align: center;
	}
	h2{
		position: relative;
		display: inline-block;
		color: #fff;
	}
	h2::before,
	h2::after {
		content: "";
		position: absolute;
		top: 0;
		margin: auto;
		display: block;
		width: 45px;
		height: 53px;
		background: url(/images/item/sup/arv/voi_point.svg) center / contain no-repeat;
	}
	h2::before {
		left: -4rem;
	}
	h2::after {
		right: -4rem;
		transform: scaleX(-1);
	}
	.fle img{
		width: calc(100% / 3);
		height: auto;
	}
	.notes{
		margin-top: -3rem;
		width: 80%;
	}
}

.iArv .cta{
	padding-top: 80px;
	a {
		background: var(--itemBC_green);
		color: #fff;
	}
}

.iArv .cause_bg{
	padding-top: 80px;
	background: url(/images/item/sup/arv/cause_bg.jpg) center bottom / 100% 100% no-repeat;
}
.iArv .cause{
	color: #fff;
}
.iArv .cause1 {
	li{
		color: #fff;
	}
	li:first-of-type{
		flex-direction: row-reverse;
	}
	.check{
		width: 500px;
	}
	li:last-of-type .txt{
		margin-left: 50px;
		margin-right: -50px;
	}
	h3{
		position: relative;
	}
	h3::before{
		content: "";
		margin-right: .5rem;
		display: inline-block;
		vertical-align: text-bottom;
		width: 45px;
		height: 30px;
		background: url(/images/item/sup/arv/cause_check.svg) center / contain no-repeat;
	}
	h3::after{
		content: "";
		position: absolute;
		top: 0;
		bottom: 0;
		margin: auto;
		width: 300px;
		height: 1px;
		border-top: 1px solid #fff;
	}
	.check p{
		font-size: 2rem;
	}
	.msg{
		padding-top: 80px;
		padding-bottom: 50px;
		font-size: 1.8rem;
		color: #fff;
		line-height: 1.8;
		letter-spacing: 2px;
	}
}
.iArv .cause2 {
	padding-top: 80px;
	li{
		position: relative;
		margin: auto;
		margin-bottom: 80px;
		padding: 50px 110px;
		line-height: 2;
		width: 900px;
		background: var(--itemBC_greengray);
		border-radius: 20px;
	}
	h2{
		color: var(--itemBC_green);
		font-size: 2.2rem;
		font-weight: 600;
	}
	.num{
		position: absolute;
		top: -10px;
		left: 40px;
		font-size: 4.5rem;
	}
	.num::after{
		content: "";
		position: absolute;
		top: 90px;
		left: -20px;
		width: 150px;
		transform: rotate(-50deg);
		border-top: 1px solid var(--itemBC_green);
	}
	img{
		margin: 30px auto;
		width: 100%;
		height: auto;
	}
}

.iArv .badcycle_bg{
	text-align: center;
	background: url(/images/item/sup/arv/badcycle_bg.jpg) center / 100% auto no-repeat;
	@media screen and (min-width: 2241px){
		padding-top: 100px;
	}
}
.iArv .badcycle{
	h2{
		color: var(--itemBC_black);
	}
	h2 span{
		font-size: 1.5em;
		font-weight: bold;
		border-bottom: 2px solid var(--itemBC_orange);
	}
	img{
		margin: 50px auto;
		width: 80%;
		height: auto;
	}
}

.iArv .care_bg{
	position: relative;
	padding: 100px 0 200px;
	z-index: 2;
	background: url(/images/item/sup/arv/care_bg.png) center bottom/ 100% auto no-repeat;
}
.iArv .care{
	div:first-of-type{
		width: 60%;
	}
	div:last-of-type{
		width: 30%;
	}
	h2{
		color: var(--itemBC_green);
	}
	.name{
		margin: 50px auto;
		font-size: 1.5rem;
	}
	.txt{
		line-height: 2;
		font-weight: 600;
	}
	img{
		width: 100%;
		height: auto;
	}
}

.iArv .item1{
	padding-bottom: 0;
}
.iArv .item1s{
	.center_img{
		margin-top: -20vw;
		position: relative;
		z-index: 1;
		@media screen and (min-width: 1728px) {
			margin-top: -20vw;
		}
	}
	h2{
		position: absolute;
		top: 24vw;
		right: 0;
		left: 0;
		margin: auto;
		color: #fff;
		text-align: center;
		z-index: 2;
		@media screen and (min-width: 1728px){
			top: 23vw;
		}
	}
	.badge{
		position: absolute;
		top: 46vw;
		right: 12vw;
		display: flex;
		flex-direction: column;
		@media screen and (min-width: 1728px){
			top: 43vw;
			right: 5vw;;
		}
	}
}
.iArv .item2s{
	h2{
		position: relative;
		margin-bottom: 80px;
		z-index: 2;
		font-size: 3rem;
		font-weight: 600;
		text-align: center;
		line-height: 1.4;
		letter-spacing: 4px;
	}
	.poab{
		right: 120px;
		top: -50px;
		z-index: 2;
	}
	.notes{
		padding-top: 80px;
	}
}

.iArv .voi2 {
	width: 100%;
	height: auto;
	.tit_bg{
		position: relative;
		margin: 0 -1%;
		padding: 20px 0;
		text-align: center;
		z-index: 2;
		transform: rotate(-3deg);
		background: url(/images/item/sup/arv/voi_tit_bg.jpg) center / 100% 100% no-repeat;
	}
	h2{
		position: relative;
		display: inline-block;
		color: #fff;
	}
	h2::before,
	h2::after {
		content: "";
		position: absolute;
		top: 0;
		margin: auto;
		display: block;
		width: 45px;
		height: 53px;
		background: url(/images/item/sup/arv/voi_point.svg) center / contain no-repeat;
	}
	h2::before {
		left: -4rem;
	}
	h2::after {
		right: -4rem;
		transform: scaleX(-1);
	}
	.voi2_1{
		position: relative;
		z-index: 1;
		margin-top: -5vw;
	}
	.voi2_2{
		margin-top: -6vw;
		z-index: 2;
	}
	.voi2_3{
		margin-top: -6vw;
		z-index: 3;
	}
	img{
		width: 100vw;
		height: auto;
	}
	.txt{
		position: absolute;
		top: 60px;
		right: 0;
		left: 0;
		margin: auto;
		padding: 100px 0;
		font-size: 20px;
		width: 1000px;
		@media screen and (min-width: 1728px){
			top: 20px;
		}
		@media screen and (min-width: 2239px){
			top: 220px;
		}
	}
	.txt h3,.txt .name{
		color: var(--itemBC_green);
		font-size: 3rem;
		padding-bottom: 20px;
		font-weight: 600;
		@media screen and (min-width: 2239px){
			padding-bottom: 40px;
		}
	}
	.txt .name{
		font-size: 2rem;
	}
	.txt .cmt{
		padding-top: 10px;
		padding-bottom: 40px;
		font-size: 1.5rem;
		letter-spacing: 1px;
		@media screen and (min-width: 1728px){
			padding-top: 40px;
			padding-bottom: 70px;
			line-height: 2;
		}
	}
	.txt img{
		margin-right: 20px;
		width: 400px;
		height: auto;
		@media screen and (min-width: 1728px){
			width: 500px;
		}
	}
	.voi2_2 .txt{
		right: 4vw;
		left: auto;
		color: #fff;
		width: 760px;
		@media screen and (min-width: 1728px){
			right: 10vw;
		}
		@media screen and (min-width: 2239px){
			right: 21vw;
		}
	}
	.voi2_2 h3,.voi2_2 .name{
		color: #fff;
	}
}

.iArv .comp_bg{
	position: relative;
	margin-top: -6vw;
	padding-top: 8vw;
	background: url(/images/item/sup/arv/comp_bg1.jpg) center top / 100% auto no-repeat;
	background-attachment: fixed;
	&::before {
		content: "";
		position: absolute;
		inset: 0 0 auto 0;
		background: url(/images/item/sup/arv/comp_bg2.png) no-repeat left top;
		pointer-events: none;
	}
}
.iArv .comp{
	text-align: center;
	position: relative;
	z-index: 1;
	article:nth-of-type(2){
		padding-top: 220px;
		padding-bottom: 220px;
	}
	h3{
		margin: auto;
		width: 600px;
		font-size: 3rem;
		font-weight: 600;
	}
	h4{
		margin-top: 40px;
		margin-bottom: 40px;
		font-weight: 500;
	}
	li{
		padding: 0 40px;
		width: 420px;
		height: 522px;
	}
	video{
		object-fit: cover;
	}
	.bgc{
		padding: .5rem 1rem;
		display: block;
		color: #fff;
		width: 100%;
		font-size: 1.8rem;
		line-height: 1.2;
		font-weight: 600;
		letter-spacing: .05rem;
	}
	h3 .fontc{
		font-size: 3rem;
  letter-spacing: 2px;
  font-weight: 600;		
	}
	.txt{
		padding: 40px 0;
		font-size: 1.5rem;
		line-height: 2.2;
		letter-spacing: 2px;
		font-weight: 600;
	}
	.notes{
		margin-top: 10px;
		text-align: left;
		width: 100%;
	}
	.bgimg{
		position: absolute;
		width: 25vw;
		height: auto;
		top: -100px;
	}
	.bgimg.head{
		top: -50px;
	}
	.video_wrap{
		height: 285px;
		background-color: #fff;
	}
}
.iArv .comp1{
	margin-top: 80px;
	.bgc{
		background: var(--itemComp_orange);
	}
	.fontc{
		color: var(--itemComp_orange);
	}
	.bgimg{
		right: 0;
	}
}
.iArv .comp2{
	.bgc{
		background: var(--itemComp_green);
	}
	.fontc{
		color: var(--itemComp_green);
	}
	.bgimg{
		left: 0;
	}
}
.iArv .comp3{
	.bgc{
		background: var(--itemComp_brown);
	}
	.fontc{
		color: var(--itemComp_brown);
	}
	.bgimg{
		right: 0;
	}
}

.iArv .compend_bg{
	position: relative;
	padding: 130px 0 180px;
	z-index: 1;
	background: url(/images/item/sup/arv/comp_end_bg.png) center top / 100% 100% no-repeat;
}
.iArv .compend{
	img{
		width: 100%;
		height: auto;
	}
	p{
		position: absolute;
		top: 200px;
		left: 460px;
		font-size: 1.8rem;
		letter-spacing: 1px;
		line-height: 2;
	}
}

.enjoy img{
	position: relative;
	margin-top: -150px;
	width: 100%;
	height: auto;
	z-index: 1;
}

.iArv .item2_bg{
	background: url(/images/item/sup/arv/item2_bg.jpg) center top / 100% auto no-repeat;
	margin-top: -240px;
	padding-top: 190px;
}
.iArv .item2{
 h2{
		color: #fff;
		text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
	}
	.badge{
		display: flex;
		flex-direction: initial;
		margin: 40px auto;
		width: 590px;
	}
	.badge li{
		margin: 0 10px;
	}
	.notes{
		margin-top: 250px;
		width: 590px;
	}
	.itemimg{
		position: relative;
		margin-top: -100px;
		z-index: 1;
	}
}

.iArv .voi3_bg{
	padding-top: 80px;
	background: url(/images/item/sup/arv/voi3_bg.jpg) center / cover no-repeat;
}
.iArv .voi3{
	article .fle {
		padding: 70px 0;
	}
	article{
		margin: auto;
		width: 900px;
	}
	article:nth-of-type(odd) .fle {
		flex-direction: row-reverse;
	}
	article::after{
		content: "";
		margin-right: 1rem;
		display: inline-block;
		width: 100%;
		height: 100px;
		background: url(/images/item/sup/arv/voi3_line.svg) center / contain no-repeat;
	}
	h3{
		color: var(--itemBC_green);
		font-weight: 600;
	}
	.fle div:not(.txt){
		width: 350px;
	}
	.txt{
		width: 450px;
	}
	.cmt{
		padding: 40px 0;
		line-height: 2
	}
	article.voi3_3{
		margin: 0 -100px;
		width: 1100px;
	}
	.notes{
		margin-top: -30px;
		width: 1000px;
	}
}
.iArv .voi3{
	img{
		width: 100%;
		height: auto;
	}
	.poab{
		width: 200px;
		bottom: -70px;
		filter: drop-shadow(1px 1px 3px rgba(0,0,0,.2))
	}
	.voi3_1 .poab{
		left: -100px;
	}
	.voi3_2 .poab{
		right: -100px;
	}
	.voi3_3 .fle div.pore{
		width: 350px;
		padding-right:20px;
	}
	.voi3_3 .txt{
		width: 680px;
	}
	.voi3_3 .fle .fle{
		width: 100%;
		flex-direction: row;
		padding: 0;
	}
	.voi3_3 .fle .fle div:first-of-type{
		width: 420px;
	}
	.voi3_3 .fle .fle div:last-of-type{
		width: 200px;
	}
	.voi3_3 h3{
		padding-top: 40px
	}
		.voi3_3 .cmt{
		padding: 0;
	}
}

.iArv .sus_bg{
	padding: 100px;
	color: #fff;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
	background: url(/images/item/sup/arv/sus_bg.jpg) center / cover no-repeat;
}
.iArv .sus1{
	h2,p{
		color: #fff;
	}
	h2{
		padding: 100px 0;
	}
	p{
		line-height: 2;
	}
	.notes{
		width: 100%
	}
}
.iArv .sus2{
	h3{
		padding-bottom: 20px;
		color: var(--itemBC_green);
		font-weight: bold;
	}
	li{
		color: var(--itemBC_black);
		padding: 80px 0;
		line-height: 1.8;
	}
	div:first-of-type{
		width: 600px;
	}
	div:last-of-type{
		width: 300px;
	}
	img{
		width: 300px;
		height: auto;
	}
	.notes{
		margin-top: 20px;
		width: auto;
	}
}

.iwrap.iArv .qa{
	position: relative;
	padding-top: 80px;
	&::before {
		content: "";
		position: absolute;
		top: 0;
		left: 50%;
		height: 540px;
		width: 100vw;
		background-color: var(--itemBC_greenlight);
		transform: translateX(-50%);
		z-index: -1;
	}
	h2{
		letter-spacing: 1px;
		margin-bottom: 20px;
	}
	dl img{
		display: inline-block;
		margin-right: .5rem;
		vertical-align: text-bottom;
	}
	dt{
		background: url(/images/item/sup/arv/qa_qline.svg) center bottom/ 100% auto no-repeat;
		color: var(--itemBC_green);
		font-size: 1.8rem;
		padding: 30px 0;
		font-weight: 500;
	}
	dt.acoA.active::before{
		content: none;
	}
	dt::after{
		content: url(/images/item/sup/arv/qa_qarr.svg);
		position: absolute;
		top: 2rem;
		right: 1rem;
		margin: auto;
		display: block;
		width: 3rem;
		transition: all 0.4s ease-out;
	}
	dt.active::after{
		transform: rotate(180deg);
		top: 1rem;
	}
	dd{
		margin-bottom: 80px;
		padding: 40px 0;
		border: none;
		background: url(/images/item/sup/arv/qa_aline.svg) center bottom / 100% auto no-repeat;
	}
	p:first-of-type{
		color: var(--itemBC_red);
		font-size: 1.8rem;
		font-weight: 500;
	}
	p:last-of-type{
		padding-left: 3rem;
		padding-right: 10rem;
	}
}

#Buy{
	h2 {
		color: var(--itemBC_black);
		font-weight: 500;
		letter-spacing: 2px;
		border-bottom: 2px solid var(--itemBC_green);
	}
	h3{
		color: var(--itemBC_green);
		letter-spacing: 5px;
		text-align: center;
		font-weight: 600;
	}
	h4{
		margin-top: 30px;
	}
	.itemimg{
		margin: auto;
	}
	.badge{
		top: 390px;
		right: 130px;
	}
}

.compo.kanyo{
	width: 390px;
	dl{
			width: auto;
	}
	dt {
			width: 300px;
	}
	dd{
			width: 50px;
	}
}

.ispec .bdr{
	margin-left: .5rem;
	padding: .2rem;
	border: 1px solid var(--itemBC_black)
}