@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700&family=Roboto:wght@300;500&display=swap');

html{
	min-width: 100%;
	min-height: 100%;
}
body{
	margin: 0;
	padding: 0;
}

body #lp{
	padding: 0;
	margin: 0 0 106px;
	font-family: "Roboto", "Noto Sans JP",sans-serif !important;
	color: #505050;
	font-size: 18px;
	font-weight: 400;
}
@media (max-width: 600px){
	body #lp{
		font-size: 16px;
	}
}
body *{
	box-sizing:border-box;
}
#lp h1,#lp h2,#lp h3,#lp h4,#lp h5,#lp p{
	margin: 0px;
	padding: 0px;
	font-size: inherit;
}


#lp h1,#lp h2,#lp h3,#lp h4,#lp h5{
	font-weight: 700;
}
#lp img{
	max-width: 100%;
	height: auto;
}
#lp ul{
	margin: 0;
	padding: 0 0 0 20px;
}
#lp li{
	margin-bottom: 10px;
}
#lp p{
	margin: 0 0 30px;
	line-height: 1.5;
}
@media(min-width:701px){
	#lp .sp{
		display: none !important;
	}
}
@media(max-width:700px){
	#lp .pc{
		display: none !important;
	}
	#lp .spleft{
		text-align: left;
	}
	#lp .spcenter{
		text-align: center;
	}
}
#lp table{
	border-collapse: collapse;
	width: 100%;
	background-color: #FFF;
}
#lp td,#lp th{
	padding: 8px;
	border:1px solid #817f7f;
	font-family: "Roboto", "Noto Sans JP", sans-serif;
}
#lp th{
	white-space: nowrap;
	background-color: #EEE
}
@media (max-width:700px){
	#lp th{
		white-space: normal;
	}
}
#lp .p20{
	padding: 20px;
}
#lp .p40{
	padding: 40px;
}
#lp .mt10{
	margin-top: 10px;
}
#lp .mt20{
	margin-top: 20px;
}
#lp .mt40{
	margin-top: 40px;
}
#lp .mt60{
	margin-top: 60px;
}
#lp .mt80{
	margin-top: 80px;
}
#lp .mb0{
	margin-bottom: 0px !important;
}
#lp .mb5{
	margin-bottom: 5px !important;
}
#lp .mb10{
	margin-bottom: 10px !important;
}
#lp .mb20{
	margin-bottom: 20px !important;
}
#lp .mb40{
	margin-bottom: 40px !important;
}
#lp .mb60{
	margin-bottom: 40px !important;
}
#lp .my10{
	margin-top: 10px !important;
	margin-bottom: 10px !important;
}
#lp .my20{
	margin-top: 20px !important;
	margin-bottom: 20px !important;
}
#lp .my40{
	margin-top: 40px !important;
	margin-bottom: 40px !important;
}
#lp .mxauto{
	margin-left: auto;
	margin-right: auto;
}
#lp .bold{
	font-weight: bold;
}
#lp .center{
	text-align: center;
}
#lp .relative{
	position: relative;
}
#lp .block{
	display: block;
}
#lp .inline-block{
	display: inline-block;
}
#lp .bgpink{
	background: url(./images/bg_new.png) top left;
	background-size: 80px;
}
#lp .bgpurple{
	background-color: #d7edf1;
}
#lp .bgwhite{
	background-color: #FFF;
}
#lp .bgblack{
	background-color: #000;
	color: #FFF;
}
#lp .innershadow{
	background-color: #FFF;
	box-shadow: inset 2px 2px 8px rgba(0, 0, 0, 0.25);
}
#lp .red{
	color: #FF3566;
}
#lp .roboto{
	font-family: Roboto, sans-serif;
}
#lp .f-small{
	font-size: 14px;
}
#lp .f-regular{
	font-size: 18px;
}
#lp .f-medium{
	font-size: 20px;
}
#lp .f-large{
	font-size: 22px;
}
#lp .f-xlarge{
	font-size: 24px;
}
#lp .f-xxlarge{
	font-size: 30px;
}
#lp .f-xxxlarge{
	font-size: 40px;
}
#lp .f-smaller{
	font-size: 0.8em;
}
#lp .f-eng{
	font-family: "Roboto", sans-serif;
}
#lp .f-larger{
	font-size: 1.5em;
}
@media (min-width: 901px){
	#lp .flex{
		display: flex;
		gap:20px;
	}
	#lp a,#lp button{
		transition:transform 0.5s ease;
	}
	#lp a:hover,#lp button:hover{
		transform:scale(1.1);
	}
}
@media (max-width: 900px){
	#lp .f-larger{
		font-size: 1.25em;
	}
	#lp .f-large{
		font-size: 18px;
	}
	#lp .f-xlarge{
		font-size: 20px;
	}
	#lp .f-xxlarge{
		font-size: 22px;
	}
	#lp .f-xxxlarge{
		font-size: 22px;
	}
	#lp .p40{
		padding: 20px;
	}
	#lp .mt80{
		margin-top: 60px;
	}
}
#lp a{
	color: inherit;
	text-decoration: underline;
}
#lp .flex-none{
	flex:0 0 auto;
}
#lp .justify-between{
	justify-content:space-between;
}
#lp .justify-evenly{
	justify-content:space-evenly;
}
#lp .justify-center{
	justify-content:center;
}
#lp .justify-start{
	justify-content:flex-start;
}
#lp .justify-end{
	justify-content:flex-end;
}
#lp .items-center{
	align-items:center;
}
#lp .items-start{
	align-items:flex-start;
}
#lp .items-end{
	align-items:flex-end;
}
#lp .hidden{
	display: none;
}
#lp .button{
	color: #FFF;
    padding: 10px 40px 10px 40px;
	text-decoration: none;
    margin-left: auto;
    margin-right: auto;
    display: inline-block;
    border-radius: 50px;
    text-align: center;
    min-width: 200px;
    font-size: 24px;
}
#lp .button.power{
    padding: 10px 40px 10px 100px;
    background: #5C5C5C url(./images/power.svg) no-repeat 15px 50%;	
}
@media (max-width: 600px){
	#lp .button.power{
	    padding: 10px 20px 10px 50px;
	    background-size: 25px;
	}
}
#lp section{
	padding: 100px 40px;
}
#lp section .inner{
	max-width: 1000px;
	margin:auto;
}
#lp section h1{
	text-align: center;
	font-size: 32px;
	margin-bottom: 30px;
}
#lp section h2{
	font-size: 21px;
	margin-bottom: 30px;
}
#lp section ul.note li{
	list-style-type: none;
	position: relative;
	font-size: 13px;
	margin-bottom: 5px;
}
#lp section ul.note.count li{
	padding-left: 5px;
}
#lp section ul.note li:before{
	position: absolute;
	content: "※";
	left: -20px;
	top: 0px;
}
#lp section ul.note.count li.num1:before{
	content: "※1";
}
#lp section ul.note.count li.num2:before{
	content: "※2";
}
#lp section ul.note.count li.num3:before{
	content: "※3";
}
#lp section ul.note.count li.num4:before{
	content: "※4";
}
#lp section ul.note.count li.num5:before{
	content: "※5";
}
@media(max-width: 600px){
	#lp section{
		padding: 50px 20px;
	}
	#lp section h1{
		font-size: 21px;
	}
	#lp section h2{
		font-size: 16px;
	}
}
#lp .mv{
	padding: 0 20px;
	position: relative;
}
#lp .mv .inner{
	width: 100%;
    max-width: 1400px;
	background: url(./images/line_living.png) no-repeat 50% 80%;
	background-size: cover;
	padding: 0px 0px 50px;
}
#lp .mv .flex{
    max-width: 1000px;
    margin: auto;
    align-items: flex-end;
    transform: translateY(-30px);
}
#lp .mv .bg_ribbon{
	height: 60px;
	background: url(./images/bg_ribbon.png) no-repeat 100% 50%;
	color: #FFF;
	font-size: 30px;
	line-height: 60px;
	overflow: hidden;
	text-align: right;
	padding-right: 68px;
	position: absolute;
	right: 45%;
	width: 140%;
	bottom: 110px;
}
#lp .mv .bg_ribbon2{
	height: 60px;
	background: url(./images/bg_ribbon2.png) no-repeat 0% 50%;
	position: absolute;
	left: 52%;
	width: 100%;
	bottom: 90px;
}
@media(max-width: 900px){
	#lp .mv .inner{
		max-width: 700px;
	}
	#lp .mv .bg_ribbon{
		right: 0px;
		font-size: 24px;
	}
	#lp .mv .bg_ribbon2{
		display: none;
	}
}
@media(max-width: 600px){
	#lp .mv .bg_ribbon{
		font-size: 18px;
	}
}
#lp .tokutenwrap{
	background: #C5E7EE none;
	border-radius: 40px;
	text-align: center;
	max-width: 1000px;
	padding: 0 20px 10px;
}
#lp .tokuten{
	background: url(./images/tokuten1.png) no-repeat 0px 20px;
	padding: 20px 20px 0px 80px;
	cursor: pointer;
	 position: relative;
}
#lp .tokutenwrap.num2 .tokuten{
	background: url(./images/tokuten2.png) no-repeat 0px 20px;
}
#lp .tokutenwrap.num3 .tokuten{
	background: url(./images/tokuten3.png) no-repeat 0px 20px;
}
#lp .tokutenwrap.num4 .tokuten{
	background: url(./images/tokuten4.png) no-repeat 0px 20px;
}
#lp .period-container {
  max-width: 50%;
  margin-left: auto;
  margin-right: auto;
  border: solid #ff0000;
  position: relative;
}
#lp .ended-overlay {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: rgba(150, 150, 150, 0.8);
  z-index: 8;
}
#lp .tokuten-end{
	position: absolute;
	top: 20px;
	left: 20px;
	width: 125px;
	height: 125px;
	z-index: 9999;
	pointer-events: none;
}
#lp .tokuten-end .img{
	max-width: 100%;
	max-height: 100%;
	opacity: 1 !important;
	object-fit: contain;
}
#lp .tokutenwrap .overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(150, 150, 150, 0.8);
	z-index: 5;
	border-radius: 40px;
	pointer-events: none;
}

@media(max-width: 700px){
	#lp .tokuten{
		background-size: 50px !important;
		padding: 20px 0px 0px 50px;
	}
  	#lp .tokuten-end {
    	width: 70px !important;
    	height: 70px !important;
    	top: 10px !important;
  	}
}
#lp .tokuten .vector{
	background: url(./images/vector.svg) no-repeat 0px 0%;
	width: 78px;
	height: 30px;
	color: #FFF;
	font-size: 11px;
	margin: auto auto 10px;
	padding: 3px;
	transition: transform ease 0.2s;
}
#lp .tokuten .vector span:before{
	content: "くわしく";
}
#lp .tokuten.open .vector span:before{
	content: "とじる";
}
#lp .tokuten.open .vector{
	transform: rotate(180deg);
}
#lp .tokuten .vector span{
	display: block;
}
#lp .tokuten.open .vector span{
	transform: rotate(180deg);
}
#lp .tokutendetail{
	background-color: #FFF;
	border-radius: 20px;
	text-align: left;
	max-height: 0px;
	overflow: hidden;
	transition: ease 0.8s;
	margin-bottom: 0px;
}
#lp .tokutendetail .summer_tokuten_closed {
	display: none;
}
#lp .open + .tokutendetail .summer_tokuten_closed {
	position: absolute;
	display: block;
	background: #cccccca3;
	text-align: center;
	color: red;
	border: 1px solid red;
}
#lp .tokutenwrap.disabled{
	background-color: #cccccc;
	position: relative;
}
#lp .tokutenwrap.disabled > *{
	opacity: 0.2;
}
#lp .tokutenwrap.disabled > div.tokutendetail{
	opacity: 0.6;
}
#lp .tokutenwrap.disabled:before{
    box-sizing: border-box;
    content: "終了";
    position: absolute;
    top: 20px;
    left: 12px;
    width: 120px;
    height: 120px;
    border-radius: 100px;
    padding-top: 12px;
    background-color: #d3cfcf9c;
    opacity: 1;
    z-index: 2;
    color: #FF3566;
    font-size: 40px;
    font-weight: bold;
    text-align: center;
    transform: rotate(-10deg);
    border: 6px solid #FF3566;
}

#lp .tokutenwrap.disabled:after{
	content: "しました";
    position: absolute;
    top: 90px;
    left: 12px;
    opacity: 1;
    z-index: 3;
    color: #FF3566;
    width: 120px;
    text-align: center;
    font-size: 20px;
    transform: rotate(-10deg) translate(4px, -2px);
    font-weight: bold;
}

#lp .date-period.disabled{
	background-color: #cccccc;
	position: relative;
}
#lp .date-period.disabled > p {
	opacity: 0.2;
}
#lp .date-period.disabled > div.tokutendetail{
	opacity: 0.6;
}

#lp .open + .tokutendetail{
	max-height: 5000px;
	margin-bottom: 10px;
}

#lp .rounded{
	border-radius: 40px;
	position: relative;
}
#lp .rounded.r30{
	border-radius: 30px;
}
#lp .rounded.r20{
	border-radius: 20px;
}
#lp .btns button.selected{
	background-color: #F6A5A5;
}
#lp ol.number{
	list-style-type: none;
	padding: 0 30px 0 50px;
}

#lp ol.number li{
	position: relative;
	margin-bottom: 30px;
}
#lp ol.number li:before{
	font-family: Roboto, sans-serif;
	content: "1";
	position: absolute;
	display: block;
	left: -40px;
	top: 0px;
	width: 30px;
	height: 30px;
	line-height: 30px;
	border-radius: 30px;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	background-color: #9F97C6;
	color: #FFF;
}
#lp ol.number li.num2:before{
	content: "2";
}
#lp ol.number li.num3:before{
	content: "3";
}
#lp ol.number li.num4:before{
	content: "4";
}
#lp ol.number li.num5:before{
	content: "5";
}
#lp ol.number li.num6:before{
	content: "6";
}
#lp ol.number li.num7:before{
	content: "7";
}
#lp ol.number li.num8:before{
	content: "8";
}
#lp .steps > div{
	position: relative;
}
#lp .steps > div:after{
	display: block;
	position: absolute;
	right: -25px;
	top: 50%;
	width: 30px;
	height: 30px;
	background-color: #0000006e;
	background-image: url(./images/chevron.svg);
	background-repeat: no-repeat;
	background-position: 57% 50%;
	content: "";
	color: #FFF;
	z-index: 2;
	border-radius: 30px;
	text-align: center;
	font-size: 30px;
	line-height: 30px;
	transform: translateY(-50%);
}
#lp .steps > div.last:after{
	display: none;
}
@media(max-width: 900px){
	#lp .steps > div{
		margin-bottom: 20px;
	}
	#lp .steps > div:after{
		right: 50%;
		top: auto;
		bottom: -26px;
		transform: translate(50%,0) rotate(90deg);
	}
}

.qa{
	padding: 0 0 20px 60px;
	position: relative;
}
.q:before{
	font-family: Roboto, sans-serif;
	content: "Q";
	position: absolute;
	display: block;
	left: -0px;
	top: 0px;
	width: 40px;
	height: 40px;
	line-height: 40px;
	border-radius: 40px;
	text-align: center;
	font-size: 30px;
	background-color: #9F97C6;
	color: #FFF;
	font-weight: normal;
}
.q{
	font-weight: bold;
	font-size: 20px;
	padding-top: 5px;
	padding-bottom: 10px;
	cursor: pointer;
}
.a{
	overflow: hidden;
	max-height: 0px;
	transition: linear 0.5s;
	padding: 0 0 0 40px;
	position: relative;
}
.a:before{
	font-family: Roboto, sans-serif;
	content: "A: ";
	text-align: center;
	font-size: 30px;
	color: #D67593;
	position: absolute;
	left: 0px;
	top: 0px;
}
.open .a{
	max-height: 500px;
}
.a span{
	display: inline-block;
	padding: 0 0 10px;
}
.suggestion .icon{
	width: 77px;
	position: absolute;
	left: -40px;
	top: -30px;
}
.suggestion .icon.right{
	left: auto;
	right: -40px;
}
@media(max-width: 900px){
	.suggestion img{
		float: none !important;
	    transform: none !important;
	    margin: auto auto 12px;
	    display: block;
	}
	.suggestion .innershadow{
		margin-bottom: 20px;
		text-align: center;
	}
	.suggestion .innershadow:last-child{
		padding-bottom: 20px !important;
	}
	.suggestion .icon,.suggestion .icon.right{
		left: -20px;
		top: -10px;
		right: auto;
	}
	.suggestion br[clear=all]{
		display: none;
	}
}













/**/