@charset 'UTF-8';

@media only screen and (min-width:1100px) {
.lifetime .sp-only {
	display: none
}
}
.lifetime .pc-only {
	display: none
}

@media only screen and (min-width:1100px) {
.lifetime .pc-only {
	display: block
}
}


.lifetime{
	padding-bottom:1px;
	background:#fff;
	overflow:hidden;
}
.lifetime .lifetime__body{
	max-width:1366px;
	margin:0 auto;
	position:relative;
}
.lifetime img{
	width:100%;
	height:auto;
}

.lifetime #lifetime__section01{margin-bottom:-2px;background:#f3f2f2;}

.lifetime #lifetime__section02{}
.lifetime #lifetime__section02 picture{width:100%;margin:0;}
.lifetime #lifetime__section02 .lifetime__text_wrap{width:100%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.lifetime #lifetime__section02 p{margin:-7% 0 4%;color:#1a1a1a;font-size:3.2vw;line-height:158%;text-align:center;}
.lifetime #lifetime__section02 h3{color:#000064;font-size:6vw;font-weight:700;line-height:100%;text-align:center;}

.lifetime #lifetime__section03{margin-bottom:-40px;padding:60px 0 10px;background:#dfebf9;}
.lifetime #lifetime__section03 picture{display:block;width:89.467%;margin:0 auto;}
.lifetime #lifetime__section03 .lifetime__txtbox{width:66.667%;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);}
.lifetime #lifetime__section03 .lifetime__txtbox p{color:#fff;font-size:2.934vw;line-height:145%;text-align:center;}
.lifetime #lifetime__section03 .lifetime__txtbox p + p{margin-top:0.3em;padding-top:0.3em;border-top:0.267vw solid #fff;}
.lifetime #lifetime__section03 .lifetime__txtbox strong{font-size:3.6vw;font-weight:900;line-height:160%;}
.lifetime #lifetime__section03 .lifetime__txtbox .txt-l{display:inline;font-size:4.8vw;}


@media only screen and (min-width: 1100px) {

.lifetime #lifetime__section01{margin-bottom:-2px;}

.lifetime #lifetime__section02{}
.lifetime #lifetime__section02 picture{}
.lifetime #lifetime__section02 .lifetime__text_wrap{}
.lifetime #lifetime__section02 p{margin:0 0 30px;font-size:18px;line-height:200%;}
.lifetime #lifetime__section02 h3{font-size:45px;line-height:100%;}

.lifetime #lifetime__section03{margin-bottom:-40px;padding:60px 0 10px;}
.lifetime #lifetime__section03 picture{width:100%;max-width:792px;}
.lifetime #lifetime__section03 .lifetime__txtbox{width:650px;}
.lifetime #lifetime__section03 .lifetime__txtbox p{font-size:22px;}
.lifetime #lifetime__section03 .lifetime__txtbox p + p{margin-top:0.25em;padding-top:0.4em;border-top-width:2px;}
.lifetime #lifetime__section03 .lifetime__txtbox strong{font-size:27px;}
.lifetime #lifetime__section03 .lifetime__txtbox .txt-l{font-size:36px;}
	
}



/* ---------------------------------------------- */
/* スライダー  */
/* ---------------------------------------------- */
.lifetime__contentsTitle {
  font-size: 20px;
  font-weight: 700;
  line-height: 1.5;
  text-align: center;
  letter-spacing: .08em;
  color: #fff;
}
@media only screen and (min-width: 1024px) {
.lifetime__contentsTitle {
	font-size: 28px;
}
}
@media only screen and (min-width: 1100px) {
.o-top__contentsTitle {
	font-size: 28px;
}
}

.o-top__program {
	margin-bottom: 50px;
	padding: 40px 0;
	background: #1a274d;
}

@media only screen and (min-width:1024px) {
.o-top__program {
	padding: 48px 0
}
}
.o-top__program__list {
	display: block;
	margin: 0 0 68px;
	padding: 32px 0 0;
	opacity: 0
}

@media only screen and (min-width:768px) {
.o-top__program__list {
	width: 330px;
	margin: 0 auto 68px
}
}

@media only screen and (min-width:1024px) {
.o-top__program__list {
	width: 310px;
	margin: 0 auto 72px
}
}

@media only screen and (min-width:1100px) {
.o-top__program__list {
	width: 978px;
	padding: 40px 0 0
}
}
.o-top__program__list.slick-initialized {
	opacity: 1
}
.o-top__program__list .slick-next, .o-top__program__list .slick-prev {
	top: 50%;
	right: -61px;
	width: 50px;
	height: 50px;
	transform: translateY(-50%);
	background-color: #fff
}
.o-top__program__list .slick-next::before, .o-top__program__list .slick-prev::before {
	content: none
}
.o-top__program__list .slick-next::after, .o-top__program__list .slick-prev::after {
	top: 17px;
	left: 14px;
	width: 15px;
	height: 15px;
	transform: rotate(45deg);
	border-top: 3px solid #560101;
	border-right: 3px solid #560101;
	background: 0 0
}

@media only screen and (min-width:1024px) {
.o-top__program__list .slick-next:hover, .o-top__program__list .slick-prev:hover {
	opacity: .7
}
}

@media only screen and (min-width:1024px) {
.o-top__program__list .slick-next:hover::after, .o-top__program__list .slick-prev:hover::after {
	opacity: .7
}
}
.o-top__program__list .slick-prev {
	left: -61px
}
.o-top__program__list .slick-prev::after {
	left: 20px;
	transform: rotate(-135deg)
}
.o-top__program__list .slick-dots {
	position: absolute;
	right: -15px;
	bottom: -68px;
	display: flex;
	height: 40px;
	margin: 0;
	padding: 0 30px 0 16px;
	background-color: #333;
	align-items: center
}

@media only screen and (min-width:1024px) {
.o-top__program__list .slick-dots {
	top: auto;
	right: -61px;
	bottom: -72px;
	padding-right: 24px
}
}
.o-top__program__list .slick-dots::before {
	position: absolute;
	top: 0;
	left: -12px;
	content: '';
	border-top: 20px solid transparent;
	border-right: 6px solid #333;
	border-bottom: 20px solid #333;
	border-left: 6px solid transparent
}
.o-top__program__list .slick-dots li {
	width: 8px;
	height: 8px;
	margin: 0 4px
}
.o-top__program__list .slick-dots li.slick-active button {
	border: 0;
	background-color: #b11a26
}
.o-top__program__list .slick-dots button {
	width: 8px;
	height: 8px;
	background: #fff;
}
.o-top__program__item {
	min-width: 314px;
	margin: 0 7px;
	border-radius: 6px;
	background-color: hsla(0,0%,100%,.8)
}

@media only screen and (max-width:374.98px) {
.o-top__program__item {
	min-width: 0
}
}

@media only screen and (min-width:1024px) {
.o-top__program__item {
	width: 310px;
	min-width: 0
}
}
.o-top__program__item:nth-child(even) .o-top__program__name {
	color: #fff
}

@media only screen and (min-width:1024px) {
.o-top__program__item:hover img {
	transform: scale(1.1)
}
}

@media only screen and (min-width:1024px) {
.o-top__program__item:hover .o-top__program__name {
	opacity: .6
}
}
.o-top__program__item a {
	display: block;
	padding: 8px 8px 16px
}
.o-top__program__img {
	overflow: hidden;
	border-radius: 6px
}
.o-top__program__img img {
	width: 100%;
	height: auto;
	transition-duration: .3s;
	border-radius: 6px;
	aspect-ratio: 16/9;
	object-fit: cover
}
.o-top__program__name {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	display: -webkit-box;/*! autoprefixer: off */
	overflow: hidden;
	min-height: 48px;
	max-height: 48px;
	margin: 10px 2px 0;
	transition-duration: .3s;
	color: #fff;
	-webkit-box-orient: vertical;/*! autoprefixer: on */
	-webkit-line-clamp: 2
}
.o-top__program__item.is-live {
	margin: 0 8px;
	background-color: rgba(0,0,0,0)
}
.o-top__program__item.is-live a {
	padding: 0
}
.o-top__program__item.is-live .o-top__program__img {
	padding: 0;
	border: 1px solid #fff
}
.o-top__program__item.is-live .o-top__program__name {
	font-size: 14px;
	font-weight: 400;
	position: relative;
	min-height: 42px;
	max-height: 42px;
	margin: 16px 0 0 0;
	padding-right: 24px;
	color: #fff
}
.o-top__program__item.is-live .o-top__program__name::after {
	position: absolute;
	right: 0;
	bottom: 0;
	content: '';
	border-bottom: 20px solid #b11a26;
	border-left: 15px solid transparent
}
.o-top__program__list {
	margin-bottom: 51px
}

@media only screen and (min-width:1024px) {
.o-top__program__list {
	margin-bottom: 72px
}
}
.o-top__program__list.is-live .slick-dots {
	right: auto;
	bottom: -51px;
	left: 50%;
	height: 29px;
	margin: 0;
	padding: 0 16px 0;
	transform: translateX(-50%);
	border-radius: 6px;
	background-color: #333
}

@media only screen and (min-width:1024px) {
.o-top__program__list.is-live .slick-dots {
	top: auto;
	bottom: -72px
}
}
.o-top__program__list.is-live .slick-dots::before {
	content: none
}
.o-top__program.o-top__program--recommended .o-top__program__list .slick-next, .o-top__program.o-top__program--recommended .o-top__program__list .slick-prev {
	transform: translateY(-20%)
}
.o-top__program.o-top__program--recommended .o-top__program__item {
	border-radius: 6px;
	background-color: rgba(255,255,255,.8);
	margin-block: 0;
	margin-inline: 8px
}
.o-top__program.o-top__program--recommended .o-top__program__item:nth-child(even) .o-top__program__name {
	color: #fff
}

@media only screen and (min-width:1024px) {
.o-top__program.o-top__program--recommended .o-top__program__item:hover img {
	transform: scale(1.1)
}
}

@media only screen and (min-width:1024px) {
.o-top__program.o-top__program--recommended .o-top__program__item:hover .o-top__program__name {
	opacity: .6
}
}
.o-top__program.o-top__program--recommended .o-top__program__item a {
	display: block;
	background: 0 0;
	padding-block: 8px 16px;
	padding-inline: 8px
}
.o-top__program.o-top__program--recommended .o-top__program__img {
	line-height: 0;
	overflow: hidden;
	border-radius: 6px
}
.o-top__program.o-top__program--recommended .o-top__program__img img {
	width: 100%;
	height: auto;
	transition-duration: .3s;
	border-radius: 6px;
	aspect-ratio: 16/9;
	object-fit: cover
}
.o-top__program.o-top__program--recommended .o-top__program__name {
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	display: -webkit-box;
	overflow: hidden;
	min-height: 48px;
	max-height: 48px;
	transition-duration: .3s;
	color: #fff;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	margin-block: 10px 0;
	margin-inline: 2px
}
.o-top__program+.o-top__program {
	padding-block-start: 0
}
.o-top__program__list {
	width: 100%;
	margin: 32px auto 60px;
	padding: 0 16px;
	opacity: 1
}

@media only screen and (min-width:768px) {
.o-top__program__list {
	display: flex;
	width: min(1000px, 100% - 140px);
	margin: 40px auto;
	padding: 0;
	justify-content: center
}
}
.o-top__program__list .slick-next, .o-top__program__list .slick-prev {
	width: 40px;
	height: 40px;
	transform: translateY(-50%);
	border-radius: 40px
}
.o-top__program__list .slick-next::after, .o-top__program__list .slick-prev::after {
	top: 12px
}
.o-top__program__list .slick-next {
	right: -50px
}
.o-top__program__list .slick-next::after {
	left: 10px
}
.o-top__program__list .slick-prev {
	left: -50px
}
.o-top__program__list .slick-prev::after {
	left: 16px
}
.o-top__program__list .slick-dots {
	bottom: -34px;
	left: 50%;
	height: auto;
	transform: translateX(-50%);
	background: 0 0;
	justify-content: center
}

@media only screen and (min-width:768px) {
.o-top__program__list .slick-dots {
	bottom: -46px
}
}
.o-top__program__list .slick-dots::before {
	content: none
}
.o-top__program__item {
	min-width: auto;
	margin: 0;
	padding: 0 8px;
	background: 0 0
}
.o-top__program__item a {
	overflow: hidden;
	padding: 0 0 16px;
	border-radius: 8px;
	background: linear-gradient(to bottom, rgba(255,255,255,0) 10px, #fff 10px)
}
.o-top__program__img {
	border-radius: 0
}
.o-top__program__img img {
	border-radius: 0;
	aspect-ratio: 320/180
}
.o-top__program__title {
	font-size: 14px;
	font-weight: 400;
	line-height: 1.5;
	position: relative;
	overflow: hidden;
	width: calc(100% - 32px);
	height: 3em;
	height: 3em;
	margin: 16px auto 0;
	color: #333
}
.o-top__program__title.over {
	padding-right: 14px
}

@media only screen and (min-width:1100px) {
.o-top__program__title.over {
	padding-right: 14px
}
}
.o-top__program__title.over:after {
	position: absolute;
	right: 0;
	bottom: 0;
	display: flex;
	content: '...';
	justify-content: center;
	align-items: center
}

@media only screen and (min-width:1100px) {
.o-top__program__title.over:after {
	width: 19px;
	height: 16px
}
}
.lifetime .o-top__program {
	position: relative;
	z-index: 10;
	margin-top: 0;
	margin-bottom: 50px;
}
@media only screen and (min-width:1100px) {
.lifetime .o-top__program {
	margin-top: -40px;
}
}
.lifetime .o-top__program__name {
	line-height: 1.5;
	display: -webkit-box;
	overflow: hidden;
	min-height: auto;
	max-height: none;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2
}
.lifetime .o-top__program__list .slick-next, .lifetime .o-top__program__list .slick-prev {
	width: 32px;
	height: 32px;
	background: #585858
}
.lifetime .o-top__program__list .slick-next::after, .lifetime .o-top__program__list .slick-prev::after {
	width: 8px;
	height: 8px;
	border-top: 1px solid #fff;
	border-right: 1px solid #fff
}
.lifetime .o-top__program__list .slick-prev::after {
	left: 14px
}
.lifetime .o-top__program__list .slick-next::after {
	left: 11px
}
.lifetime .o-top__program.o-top__program--recommended .o-top__program__item {
	margin: 0;
	background: 0 0
}
.lifetime .o-top__program.o-top__program--recommended .o-top__program__item:first-child {
	margin-left: -36px
}

@media only screen and (min-width:769px) {
.lifetime .o-top__program.o-top__program--recommended .o-top__program__item:first-child {
	margin-left: 0
}
}
.lifetime .o-top__program__name {
	font-size: 14px;
	line-height: 21px;
	color: #fff;
	margin-inline: 0
}
.lifetime .o-top__program__img {
	height: 120px;
	border: 1px solid #999
}

@media only screen and (min-width:768px) {
.lifetime .o-top__program__img {
	height: auto
}
}
.lifetime .o-top__program.o-top__program--recommended .o-top__program__item:nth-child(even) .o-top__program__name {
	color: #fff
}
 @media only screen and (max-width:768px) {
.lifetime .o-top__program__list {
	display: block;
	width: 100%;
	padding: 16px
}
.lifetime .o-top__program__list .slick-list {
	overflow: visible
}
.lifetime .o-top__program__list .slick-slide {
	width: 230px!important;
	margin-right: 16px
}
.lifetime .o-top__program__list .slick-slide a {
	padding-inline: 0
}
}
.o-top__program__list .slick-dots {
	bottom: -16px
}
 @media only screen and (min-width:1100px) {
.o-top__program__list .slick-dots {
 bottom: -34px
}
}
 @media screen and (min-width:767px) and (max-width:768px) {
.o-top__program__list .slick-track {
 transform: translate3d(36px, 0, 0)!important
}
}
.o-top__program .cardCarousel {
	margin-bottom: 40px
}
 @media only screen and (min-width:1100px) {
.o-top__program .cardCarousel {
 margin-bottom: 60px
}
}


/* ---------------------------------------------- */
/* 購入ボタン  */
/* ---------------------------------------------- */
.lifetime__buy-btn {
	position: fixed;
	z-index: 30;
	right: 16px;
	bottom: 16px;
	box-sizing: border-box;
	width: 166px;
	height: 72px;
	padding: 12px;
	transition: .3s;
	color: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 4px;
	background: linear-gradient(180deg, #e7021a 11.81%, #92010c 100%);
	box-shadow: 0 0 4px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.3);
	gap: 8px
}
@media only screen and (min-width:768px) {
.lifetime__buy-btn {
width:200px;
height:85px;
padding:16px
}
}
.lifetime__buy-btn:hover {
	opacity: .8
}
.lifetime__buy-btn .lifetime__buy-icon {
	display: block;
	width: 24px;
	margin-inline: auto
}
.lifetime__buy-btn .lifetime__buy-icon img {
	display: block;
	width: 100%;
	height: auto
}
.lifetime__buy-btn .lifetime__buy-text {
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	position: relative;
	display: block;
	margin-top: 8px;
	color: #fff
}
@media only screen and (min-width:768px) {
.lifetime__buy-btn .lifetime__buy-text {
margin-top:10px;
text-align:center
}
}
.lifetime__buy-btn .lifetime__buy-text:after {
	position: absolute;
	top: 5px;
	right: 4px;
	width: 8px;
	height: 8px;
	content: '';
	transform: rotate(45deg);
	border-top: 2px solid #fff;
	border-right: 2px solid #fff
}

.lifetime__buy-btn {
	position: fixed;
	z-index: 30;
	right: 16px;
	bottom: 16px;
	box-sizing: border-box;
	width: 166px;
	height: 72px;
	padding: 12px;
	transition: .3s;
	color: #fff;
	border: 1px solid #f5f5f5;
	border-radius: 4px;
	background: linear-gradient(180deg, #e7021a 11.81%, #92010c 100%);
	box-shadow: 0 0 4px rgba(0,0,0,.3), 0 4px 16px rgba(0,0,0,.3);
	gap: 8px
}
@media only screen and (min-width:768px) {
.lifetime__buy-btn {
width:200px;
height:85px;
padding:16px
}
}
.lifetime__buy-btn:hover {
	opacity: .8
}
.lifetime__buy-btn .lifetime__buy-icon {
	display: block;
	width: 24px;
	margin-inline: auto
}
.lifetime__buy-btn .lifetime__buy-icon img {
	display: block;
	width: 100%;
	height: auto
}
.lifetime__buy-btn .lifetime__buy-text {
	font-size: 17px;
	font-weight: 700;
	line-height: 1;
	position: relative;
	display: block;
	margin-top: 8px;
	color: #fff
}

@media only screen and (min-width:768px) {
.lifetime__buy-btn .lifetime__buy-text {
margin-top:10px;
text-align:center
}
}
.lifetime__buy-btn .lifetime__buy-text:after {
	position: absolute;
	top: 5px;
	right: 4px;
	width: 8px;
	height: 8px;
	content: '';
	transform: rotate(45deg);
	border-top: 2px solid #fff;
	border-right: 2px solid #fff
}