@charset "utf-8";
/*
 * page.css
 * 
 */


.colorBlue{color:#CC0000;}


/*** タブレット 768x ~ 959px***/
@media screen and (max-width: 959px) {
.youtube-video iframe{
	width: 86%;
	height: 390px;
}
	.downloadArea{
	width: 86%;
}
} 
@media screen and (max-width: 1024px) {
	.evLife { padding: 30px 0;}
	.evLife .start{display:block;} 
	.evLife .start > li{
		padding: 20px;
		margin-bottom: 15px;
	}
	.evLife li .step{
		padding:0 0 0 50px;
		margin-bottom: 15px;
		background-position: left center;
		background-size:40px;
		text-align:left;
		font-size:2rem;
	}
	.evLife .introd li{font-size:1.3rem;}
	.evLife .notes { margin-top: 0;} 
	.evLife .monthPlan li{font-size:1.5rem;}
	
	.startService { padding: 30px 0;}
	.startService .steps{display:block;}
	.startService .steps > li{ border:0; }
	.startService .title{
		justify-content:flex-start;
		padding: 0 12px;
		height:76px;
		line-height: 1.33; 
	}
	.startService .steps > li + li .title{
		margin-left:0;
		background: #AAAEB0;
	}
	.startService .title .step{
		padding-left: 60px;
		font-size:1.6rem;
	}
	.startService .title .step:before{
		width:50px;
		height:50px;
	}
	.startService li .con { padding: 12px 20px;}
	.startService li .img { margin: 0 0 12px;}
	.startService li .img img { height: 60px;}
	.startService .introd li{font-size:1.2rem;}
	.startService .points{ 
		margin-top:1px;
		border:0;
	}
	.startService .points .th{
		display:block;
		padding:6px 10px;
		width:100%;
		text-align:left;
		font-size:1.5rem;
	}
	.startService .points .td{
		display:block;
		padding:6px 10px;
		font-size:1.3rem;
	}
	
	.contactWrap { padding: 35px 0; }
	.contactWrap .hdL{margin-bottom:15px;}
	.contactWrap .email{font-size: 3.4rem;}
	.contactWrap .link span{
		    font-size: 1.5rem;
	}
	.contactWrap .link a{
		margin: 18px auto 0;
    height: 85px;
    background-size: 18px;
    font-size: 2.3rem;
    padding-top: 5px;
	}
	.contactWrap .note{
		margin-top:10px;
		font-size:1.3rem;
	}
	
}

/*** スマホ***/

@media screen and (max-width: 1024px) {
	#footerlink .link_box{
		display: flex;
    flex-wrap: wrap;
    text-align: center;
	}
	#footerlink .link_box li{
		margin-bottom: 20px;
	}
	#footerlink .link_box li+li{
		margin-bottom: 20px;
	}
}


/* mv */

.mv__container {
	max-width: 1440px;
	margin: 0 auto;
  }
  
  .mv__container {
	max-width: 1280px;
	margin: 0 auto;
  }
  
  li.example-item > .mv__atttention {
	font-size: 25%;
	padding: 10px 0;
  }
  
  span.mv__atttention {
	font-size: 12px;
	text-align: left;
  }
  
  .mv__container li.example-item {
	font-size: 48px;
	width: 50%;
  }
  
  .mv__container ul.examples-items {
	display: flex;
	padding: 0 20px;
  }
  
  .mv__container p.normal > img {
	object-fit: cover;
	width: 401px;
  }
  
  .mv__container li.image-wrap {
	width: 50%;
  }
  
  .mv-button-wrap a {
    display: inline-block;
    width: 380px;
    padding: 20px 0;
    margin: 16px auto;
    background-color: #333;
    color: #FFF;
    text-decoration: none;
    text-align: center;
    border-radius: 35px;
    font-size: 40%;
    box-shadow: 0px 4px 10px #00000039;
	background-image: url(file:///C:/Users/user/Documents/LP/PRIEV_LP/img/right.png);
    background-position: right 14px center;
	background-repeat: no-repeat;
  }
  
  .mv-button-wrap a:first-child {
	background-color: #CC0000;
  }

  .mv-button-wrap a:hover {
	transform: translate3d(0, 5px, 0);
	background-repeat: no-repeat;
	background-position: right 14px center;
	box-shadow: none;
	transition: .3s;
  }

  	.sp-mv-button-wrap {
		display: none;
	}


@media screen and (max-width: 1200px){
	body section.mv {
		color: #787878;
		background: #f4fcfc;
		padding-bottom: 35px;
	}

	body .mv__container p.normal > img {
		/* width: 100%; */
		margin-left: 0;
	}

	.mv__container li.example-item {
		width: 100%;
	}
	body li.example-item > p {
		font-size: 2.8rem;
		margin-bottom: 16px;
		text-align: center;
	}

	body .mv__container li.image-wrap {
		width: 100%;
		text-align: center;
		margin: 0 auto;
	}
	.mv__container ul.examples-items {
		flex-direction: column
	}
	.mv-button-wrap {
		display: none;
	}
	.sp-mv-button-wrap a {
    display: inline-block;
    width: 360px;
    padding: 20px 0;
    margin: 16px auto;
    background-color: #333;
    color: #FFF;
    text-decoration: none;
    text-align: center;
    border-radius: 35px;
    font-size: 2rem;
    box-shadow: 0px 4px 10px #00000039;
	background-image: url(file:///C:/Users/user/Documents/LP/PRIEV_LP/img/right.png);
    background-position: right 14px center;
	background-repeat: no-repeat;
  }
  
	.sp-mv-button-wrap a:first-child {
		background-color: #CC0000;
	}

	.sp-mv-button-wrap a:hover {
		transform: translate3d(0, 5px, 0);
		background-repeat: no-repeat;
		background-position: right 14px center;
		box-shadow: none;
		transition: .3s;
	}
	.sp-mv-button-wrap {
		display: flex;
        justify-content: center;
        align-items: center;
	}
}
  


/*top*/
.fixedBox{
  background: #FFC846;
  color: #000;
  padding: 4rem 0 2rem;
  /*position: fixed;*/
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 9;
  opacity: 0;
  transition: opacity .3s;
  /*pointer-events: none;*/
  opacity: 1!important;
}
.fixedBox.active{
  opacity: 1;
  pointer-events: auto;
}
.fixedBox .new_inner{
  max-width: 90rem;
}
.fixedBox dl{
  display: flex;
  justify-content: space-between;
}
.fixedBox dt{
  width: 66rem;
}
.fixedBox dd{
  max-width: calc(100% - 66rem);
  font-size: 6.6rem;
  display: flex;
  align-items: center;
  font-weight: 900;
}
.fixedBox dd font{
  font-size: 21.3rem;
  line-height: .9;
  font-style: italic;
  font-weight: bold;
  margin-right: 1.3rem;
  margin-top: -3rem;
  font-weight: bold;
  position: relative;
}
.fixedBox dd font:before{
  content: '';
  position: absolute;
  left: -.7rem;
  top: 1.2rem;
  z-index: 1;
  width: 3rem;
  height: 3.2rem;
  background: url(../img/icon_fixed.svg)no-repeat left top;
  background-size: 100% auto;
}
.fixedBox .p01{
  font-size: 3.8rem;
  line-height: 1.57;
  letter-spacing: .05em;
  font-weight: bold;
  margin-bottom: .8rem;
}
.fixedBox .p01 font{
  font-size: 1.6rem;
  vertical-align: super;
}
.fixedBox .p02{
  font-size: 1.2rem;
  line-height: 1.66;
  letter-spacing: 0.025em;
}

.hdM{
  font-size: 3.8rem;
  line-height: 1.34;
  font-weight: 900;
  letter-spacing: 0.025em;
  text-align: center;
  margin-bottom: 5rem;
}
@media screen and (max-width: 1024px) {
	.fixedBox{
	  background: #FFC846;
	  color: #000;
	  padding: 2rem 0;
	  /*position: fixed;*/
	  bottom: 0;
	  left: 0;
	  right: 0;
	  z-index: 9;
	  opacity: 0;
	  transition: opacity .3s;
	  /*pointer-events: none;*/
	  opacity: 1!important;
	}
	.fixedBox.active{
	  opacity: 1;
	  pointer-events: auto;
	}
	.fixedBox .new_inner{
	  max-width: 90rem;
	}
	.fixedBox dl{
	  display: flex;
	  justify-content: space-between;
	}
	.fixedBox dt{
	  width: calc(100% - 9rem);
	}
	.fixedBox dd{
	  max-width: 9rem;
	  font-size: 3.7rem;
	  display: flex;
	  /*align-items: flex-end;*/
		align-items: center;
	  font-weight: 900;
	      margin-top: -7rem;
	}
	.fixedBox dd font{
	  font-size: 11rem;
	  line-height: .9;
	  font-style: italic;
	  font-weight: bold;
	  margin-right: 5px;
	  margin-top: 0rem;
	  font-weight: bold;
	  position: relative;
	}
	.fixedBox dd font:before{
	  content: '';
	  position: absolute;
	  left: -.4rem;
	  top: .6rem;
	  z-index: 1;
	  width: 1.5rem;
	  height: 1.6rem;
	  background: url(../img/icon_fixed.svg)no-repeat left top;
	  background-size: 100% auto;
	}
	.fixedBox .p01{
	  font-size: 1.5rem;
	  line-height: 1.57;
	  letter-spacing: 0em;
	  font-weight: bold;
	      margin-bottom: 2.4rem;
    margin-top: 1rem;
	}
	.fixedBox .p01 font{
	  font-size: 1.2rem;
	  vertical-align: super;
	}
	.fixedBox .p02{
	  font-size: 1rem;
	  line-height: 1.66;
	  letter-spacing: 0.025em;
		   /* max-width: 95%;*/
		width: 137%;
	}
	.hdM{
	  font-size: 2.8rem;
	  line-height: 1.34;
	  font-weight: 900;
	  letter-spacing: 0.025em;
	  text-align: center;
	  margin-bottom: 2.5rem;
	}
}
/*topService*/
.topService{
  padding: 13.6rem 0;
}
.topService .hdM{
  margin-bottom: 6rem;
}
.topServiceDl{
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
}
.topServiceDl dd{
  margin-left: 8.9rem;
  width: 38rem;
  position: relative;
}
.topServiceDl dt{
  width: calc(100% - 8.9rem - 38rem + 22rem);
}
.animated{
  animation-delay: .3s;
}
.bubbleIconWrap{
	position: relative;
}
.bubbleIcon{
  content: '';
  position: absolute;
  right: calc(100% + .76rem);
  bottom: calc(100% - 2.2rem);
  z-index: 1;
  width: 10rem;
  height: 8rem;
  background: url(../img/top/icon_bubble.svg)no-repeat;
  background-size: 100% auto;
}
.topServiceDl .ttlP{
  font-size: 3.4rem;
  line-height: 1.58;
  font-weight: bold;
  letter-spacing: 0.05em;
  margin-bottom: 3rem;
  color: #CC0000;
}
.topServiceDl .ttlP font{
  vertical-align: super;
  font-size: 1.4rem;
}
.topServiceDl .txtP{
  font-size: 2rem;
  line-height: 2;
  font-weight: bold;
  letter-spacing: 0em;
  margin-bottom: 3rem;
}
.topServiceDl .txtP font{
  vertical-align: super;
  font-size: 1.2rem;
}
.topServiceDl .noticeP{
  font-size: 1.1rem;
  line-height: 1.66;
}

.topServiceDl > dt > p {
    margin-bottom: 2rem !important;
}

.checkmark{
	padding-left: 35px;
	position:relative;
}

.checkmark:before,
.checkmark:after{
	content:"";
	display:block;
	position:absolute;
}
.checkmark:before{
	width: 30px;
	height: 30px;
	border-radius:50px;
	background:#ffffff;
	border: 1px solid #CC0000;
	left:0;
	top: -3px;
}
.checkmark:after{
	border-left: 2px solid #CC0000;
	border-bottom: 2px solid #CC0000;
	width: 20px;
	height: 10px;
	-webkit-transform:rotate(-45deg);
	transform:rotate(-45deg);
	left:5px;
	top: 5px;
}
  
@media screen and (max-width: 1024px) {
	body .checkmark:before {
		width: 25px;
		height: 25px;
		border-radius: 50px;
		background: #ffffff;
		border: 1px solid #CC0000;
		left: 0;
		top: 0px;
	}

	body .checkmark:after {
		border-left: 2px solid #CC0000;
		border-bottom: 2px solid #CC0000;
		width: 15px;
		height: 5px;
		-webkit-transform: rotate(-45deg);
		transform: rotate(-45deg);
		left: 5px;
		top: 10px;
	}
}


@media screen and (max-width: 1024px) {
	.topService{
	  padding: 5rem 0;
	}
	.topService .hdM{
	  margin-bottom: 2.5rem;
	}
	.topServiceDl{
	  display: block;
	  align-items: flex-end;
	  justify-content: space-between;
	}
	.topServiceDl dd{
	  margin-left: 0;
	  width: auto;
	  position: relative;
	  text-align: center;
	}
	.topServiceDl dt{
		margin-bottom: 3rem;
	  width: auto;
	  margin-left: 0;
	}
	.animated{
	  animation-delay: .3s;
	}
	.bubbleIconWrap{
		position: relative;
	}
	.bubbleIcon{
	  content: '';
	  position: absolute;
	  right: calc(100% + .38rem);
	  bottom: calc(100% - 1.1rem);
	  z-index: 1;
	  width: 8rem;
      height: 7rem;
	}
	.meritUl03 .bubbleIcon{
		    right: calc(100% + -6.62rem);
	}
	.topServiceDl .bubbleIcon{
	bottom: 89%;
    left: 9%;
	}
	.topServiceDl .ttlP{
	  font-size: 2rem;
	  line-height: 1.58;
	  font-weight: bold;
	  letter-spacing: 0.05em;
	  margin-bottom: 1.5rem;
	  color: #CC0000;
	  padding-top: 1em;
	}
	.topServiceDl .ttlP font{
	  vertical-align: super;
	  font-size: .5em;
	}
	.topServiceDl .txtP{
	  font-size: 1.4rem;
	  line-height: 2;
	  font-weight: bold;
	  letter-spacing: 0em;
	  margin-bottom: 1.5rem;
          position: relative;
	}
	.topServiceDl .txtP font{
	  vertical-align: super;
	  font-size: .6em;
	}
	.topServiceDl .noticeP{
	  font-size: 1.1rem;
	  line-height: 1.66;
	}
}
/*topContact*/
.topContact{
	background: #CC0000;
	padding: 5rem 0;
	color: #fff;
}
.topContactTxt01{
	text-align: center;
	font-size: 2.4rem;
	line-height: 1.33;
	letter-spacing: .1em;
	margin-bottom: 2.8rem;
}
.topContactTxt02{
	text-align: center;
	font-size: 2.8rem;
	line-height: 1.33;
	letter-spacing: .025em;
	margin-bottom: 4rem;
}
.topContactUl{
	display: flex;
	justify-content: center;
}
.topContactUl li{
	margin: 0 2rem;
}
.btnLink01{
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 56rem;
	max-width: 100%;
	height: 8rem;
	border-radius: 4rem;
	color: #CC0000;
	font-size: 2.8rem;
	letter-spacing: .1em;
	font-weight: bold;
	background: #FFF;
	text-decoration: none;
	box-shadow: 0px 4px 10px #00000039;
}

.btnLink01:hover {
    opacity: 0.8;
    transition: all 0.5s !important;
    -moz-transition: all 0.5s !important;
    -webkit-transition: all 0.5s !important;
}

.btnLink01.border{
	border: .3rem solid currentColor;
	font-size: 2.2rem;
	letter-spacing: 0.05em;
}
.btnLink01.black{
    background: #fff;
    background-size: 3.7rem auto;
    color: #333;
}


@media screen and (max-width: 1024px) {
	.topContact{
		background: #CC0000;
		padding: 3rem 0;
		color: #fff;
	}
	.topContactTxt01{
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.33;
		letter-spacing: .1em;
		margin-bottom: 2rem;
	}
	.topContactTxt02{
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.33;
		letter-spacing: .025em;
		margin-bottom: 2rem;
	}
	.topContactUl{
		display: block;
		justify-content: center;
		text-align: center;
	}
	.topContactUl li{
		margin: 0;
	}
	.topContactUl li+li{
		margin-top: 1.5rem;
	}
	.btnLink01{
		display: inline-flex;
	    align-items: center;
	    justify-content: center;
	    min-width: 30rem;
	    max-width: 100%;
	    height: 6rem;
	    border-radius: 4rem;
	    color: #CC0000;
	    font-size: 1.8rem;
	    letter-spacing: .1em;
	    font-weight: bold;
	}
	.btnLink01.border{
		border: .2rem solid currentColor;
		font-size: 1.5rem;
		letter-spacing: 0.05em;
	}
	.btnLink01.black{
	    background: #333;
	    color: #FFF;
	}
}
/*topSolve*/
.topSolve{
	padding: 13rem 0;
}
.topSolveP01{
	font-size: 3.6rem;
	line-height: 1.66;
	font-weight: bold;
	letter-spacing: 0.025em;
	margin-bottom: 3.4rem;
}
.topSolveBox{
	position: relative;
	text-align: center;
	display: flex;
}
.topSolvePerson{
	width: 35.7rem;
	margin: 0 auto;
}

.topSolvePerson > p {
    position: absolute;
    font-size: 30px;
    color: #CC0000;
    font-weight: 700;
    left: 7rem;
    top: 9rem;
}

.topSolvePerson {
    position: relative;
}

.topSolveBubble01{
	position: relative;
	z-index: 1;
}

.topSolveBubble01 > p {
    position: absolute;
    font-size: 34px;
    color: #CC0000;
    font-weight: 700;
    left: 10rem;
    top: 8rem;
}

.topSolveBubble02{
	position: relative;
	z-index: 1;
	width: 30.1rem;
}

.topSolveBubble02 > p.ttlP {
	position: absolute;
    font-size: 28px;
    color: #CC0000;
    font-weight: 700;
    left: 4.4rem;
    top: 6.5rem;
}

.topSolveBubble03{
	position: relative;
	z-index: 1;
}

.topSolveBubble03 > p {
    position: absolute;
    font-size: 34px;
    color: #CC0000;
    font-weight: 700;
    left: 5rem;
    top: 7.2rem;
}

.topSolveArrow{
	margin: 3rem 0 4.2rem;
	text-align: center;
}
.topSolveP02{
	text-align: center;
	zoom: 1.5;
}
.topSolveP02 span{
	display: inline-block;
	font-size: 3.8rem;
	font-weight: bold;
	padding: 0 1rem .7rem;
}

p.topSolveP02 > span > img {
    width: 300px;
    padding-right: 10px;
}

.topService .hdM > img {
    width: 300px;
    padding-right: 10px;
}

.topSolveP02 span {
    border-top-left-radius: 50px;
    border-top-right-radius: 50px;
    border-bottom-left-radius: 20px;
    border-bottom-right-radius: 20px;
    background: linear-gradient(transparent 50%,  #ffdddc 0%);
    background-position: 0;
    background-size: 0;
    background-repeat: no-repeat;
    transition: background 1.5s;
}

.topSolveP02 span[class="active"] {
    background-size: 100% ;
}


@media screen and (max-width: 1024px) {
	.topSolve{
		padding: 5rem 0;
	}
	.topSolveP01{
		font-size: 2.4rem;
		line-height: 1.66;
		font-weight: bold;
		letter-spacing: 0.025em;
		margin-bottom: 6rem;
		text-align: center;
	}
	.topSolveBox{
		position: relative;
		text-align: center;
		max-width: 34.5rem;
		margin: 0 auto;
	}
	.topSolvePerson{
		width: 18rem;
		height: 12.6rem;
		margin: 0 auto;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.topSolvePerson img{
		height: 9rem;
	}
	.topSolveBubble01{
		z-index: 1;
		width: 15rem;
	}
	.topSolveBubble01 > p {
		position: absolute;
        font-size: 11px;
        color: #CC0000;
        font-weight: 700;
        left: 3.3rem;
        top: 2.5rem;
	}
	.topSolveBubble02{
		z-index: 1;
		width: 15rem;
	}
	.topSolveBubble02 > p.ttlP {
		position: absolute;
		font-size: 11px;
		color: #CC0000;
		font-weight: 700;
		left: 1.8rem;
		top: 2.5rem;
	}
	.topSolveBubble03 {
        z-index: 1;
        width: 15rem;
    }
    .topSolveBubble03 > p {
        position: absolute;
        font-size: 12px;
        color: #CC0000;
        font-weight: 700;
        left: 1.5rem;
        top: 2.4rem;
    }
	.topSolveArrow{
		margin: 1.5rem 0 2.1rem;
		text-align: center;
	}
	.topSolveArrow img{
		width: 3.5rem;
	}
	.topSolveP02{
		text-align: center;
		zoom: 1.2;
	}
	.topSolveP02 span{
		display: inline-block;
		font-size: 2rem;
		font-weight: bold;
		padding: 0 .5rem .4rem;
	}
	p.topSolveP02 > span > img {
		width: 170px;
	}
	.topService .hdM > img {
		width: 200px;
	}
	
}
/*topMerit*/
.topMerit{
	padding: 13.7rem 0 5rem;
	background: #FFF;
}
.topMerit .hdM{
	margin-bottom: 3.4rem;
}
.topMeritBox{
	margin-bottom: 3.45rem;
	display: flex;
	justify-content: center;
}
.topMeritBoxP01{
	padding-top: 2.1rem;
}
.topMeritBoxP02{
	margin: 0 2.6rem 0 .3rem;
}
.topMeritBoxP02 img{
	height: 19.1rem;
}
.topMeritBoxP03{
	font-size: 3.6rem;
	line-height: 1.66;
	font-weight: bold;
	color: #CC0000;
	padding-top: 4.3rem;
}
.topMeritList{
	display: flex;
	margin: 0 -2.3rem;
}
.topMeritList li{
	width: calc(50% - 4.6rem);
	margin: 0 2.3rem;
}
.topMeritList .boxP{
	border: .3rem solid #CC0000;
	border-radius: 2rem;
	background: #fff;
	padding: 2.8rem 2rem 2rem;
}
.topMeritList .stepP{
	text-align: center;
}
.topMeritList .bubbleIconWrap{
	display: inline-block;
}
.topMeritList .ttlP{
	font-size: 3.2rem;
	font-weight: bold;
	margin: 2.2rem 0 2.6rem;	
	text-align: center;
	color: #CC0000;
}
.topMeritList .txtP{
	font-size: 1.5rem;
	line-height: 1.86;
}
.topMeritList .noticeP{
	font-size: 1.2rem;
	line-height: 1.66;
	margin-top: 1.3rem;
}
.topMeritBtn01{
	text-align: center;
	margin-top: 1.3rem;
}
.topMeritBtn02{
	text-align: center;
	margin-top: 4rem;
}
.superFont{
	vertical-align: super;
	font-size: 0.6em;
}
.topMeritList .ttlP .superFont{
	font-size: 0.5em;
}


.topMerit02{
	padding: 14rem 0;
	background: #f7f7f7;
}
.topMerit02 .btnLink01{
	padding: 0 7rem 0 2.5rem;
}
.topMerit02 .topMeritList .ttlP,
.topMerit02 .topMeritBoxP03{
	color: #28A880;
}
.topMerit02 .topMeritList .boxP{
	border-color: #28A880;
}

.topMerit .hdM > img {
    width: 300px;
    padding-right: 10px;
}

/* accordion */
.accordion {
    padding-bottom: 50px;
}

.accordion .toggle {
    display: none;
}

.accordion .Label {
    text-indent: -1rem;
}
.accordion .Label, .accordion .content {
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    transform: translateZ(0);
    transition: all 0.3s;
}

.accordion .Label {
    padding: 15px 20px 15px 25px;
    display: block;
    color: #333;
    font-size: 18px;
    font-weight: bold;
    border-bottom: 1px solid #333;
    cursor: pointer;
    position: relative;
	text-indent: -1.5em;
    padding-left: 1.5em;
}

.accordion .Label::before, .accordion .Label::after {
    content: '';
    position: absolute;
    right: 10px;
    width: 15px;
    height: 1px;
    background-color: #333;
    top: 50%;
}

.accordion .Label::before {
    transition: transform 0.5s linear;
    transform: translateY(-50%) rotate(90deg);
}

.accordion .content {
    height: 0;
    margin-bottom: 10px;
    padding: 0 20px;
    display: none;
}

.accordion .toggle:checked + .Label {
    border-bottom: none;
}

.accordion .toggle:checked + .Label + .content, .accordion .toggle:checked + .Label + .content + .content, .accordion .toggle:checked + .Label + .content + .content + .content, .accordion .toggle:checked + .Label + .content + .content + .content + .content {
    display: block;
    height: auto;
    padding: 20px;
    transition: all .3s;
    border-bottom: 1px solid #333;
}

.accordion .toggle:checked + .Label:before {
    transform: rotate(-0deg) !important;
}

span.q {
    color: #CC0000;
    padding-right: 5px;
}


@media screen and (min-width: 768px) and (max-width: 1140px) {
	.topMeritList .ttlP{
		font-size: 2.7rem;
	}
}
@media screen and (max-width: 1024px) {
	.topMerit{
		padding: 5rem 0;
		background: #FFF;
	}
	.topMerit .hdM{
		margin-bottom: 2.5rem;
	}
	.topMeritBox{
		margin-bottom: 2rem;
		display: flex;
		justify-content: center;
		text-align: center;
		flex-wrap: wrap;
	}
	.topMeritBoxP01{
		padding-top: 1rem;
		width: 16rem;
	}
	.topMeritBoxP02{
		margin: 0 2.6rem 0 1rem;
		width: 9rem;
	}
	.topMeritBoxP02 img{
		height: auto;
	}
	.topMeritBoxP03{
		width: 100%;
		font-size: 2rem;
		line-height: 1.66;
		font-weight: bold;
		color: #CC0000;
		padding-top: 2rem;
	}
	.topMeritList{
		display: block;
		margin: 0;
	}
	.topMeritList li{
		width: auto;
		margin: 0 0 2rem;
	}
	.topMeritList .boxP{
		border: .3rem solid #CC0000;
		border-radius: 1.5rem;
		background: #fff;
		padding: 2.8rem 2rem 2rem;
	}
	.topMeritList .stepP{
		text-align: center;
	}
	.topMeritList .bubbleIconWrap{
		display: inline-block;
	}
	.topMeritList .ttlP{
		font-size: 2.7rem;
		font-weight: bold;
		margin: 2.2rem 0 2.6rem;	
		text-align: center;
		color: #CC0000;
	}
	.topMeritList .txtP{
		font-size: 1.5rem;
		line-height: 1.86;
	}
	.topMeritList .noticeP{
		font-size: 1.2rem;
		line-height: 1.66;
		margin-top: 1.3rem;
	}
	.topMeritBtn01{
		text-align: center;
		margin-top: 1.3rem;
	}
	.topMeritBtn02{
		text-align: center;
		margin-top: 2rem;
	}
	.superFont{
		vertical-align: super;
		font-size: 0.6em;
	}
	.topMeritList .ttlP .superFont{
		font-size: 0.5em;
	}


	.topMerit02{
		padding: 5rem 0;
		background: #f7f7f7;
	}
	.topMerit02 .btnLink01{
    	padding: 0 4.4rem 0 1.5rem;
	}
	.topMerit02 .topMeritList .ttlP,
	.topMerit02 .topMeritBoxP03{
		color: #28A880;
		padding-bottom: 2rem;
	}
	.topMerit02 .topMeritList .boxP{
		border-color: #28A880;
	}
	.topMerit .hdM > img {
		width: 200px;
		padding-right: 10px;
	}
}

/*topStep*/
.topStep{
	padding: 14rem 0;
}
.topStep .new_inner{
	max-width: 1140px;
}
.topStep .hdM{
	margin-bottom: 3rem;
}
.topStepList{

}
.topStepList li{
	border: .3rem solid #CC0000;
	border-radius: 2.3rem;
	padding: 2rem 1rem;
	min-height: 20rem;
	display: flex;
	align-items: center;
}
.topStepList li+li{
	position: relative;
	margin-top: 6rem;
}
.topStepList li+li:before{
	content: '';
	position: absolute;
	top: -6rem;
	left: 0;
	right: 0;
	z-index: 1;
	height: 6rem;
}
.topStepList dl{
	width: 100%;
	display: flex;
	align-items: center;
}
.topStepList dt{
	width: 10.3rem;
	text-align: center;
}
.topStepList dd{
	width: calc(100% - 10.3rem);
	border-left: 1px solid #CC0000;
	padding: 0 4rem;
}
.topStepList .ttlP{
	font-size: 2.3rem;
	font-weight: bold;
	margin-bottom: 1.5rem;
}
.topStepList .txtP{
	font-size: 1.6rem;
	line-height: 1.75;
}
.topStepList .noticeP{
	font-size: 1.2rem;
	line-height: 1.66;
	margin-top: 1rem;
	white-space: nowrap;
}
.topStepList .boxP{
	display: flex;
	align-items: center;
	justify-content: space-between;
}
.topStepList .contP{
	max-width: calc(100% - 20rem);
}
.topStepList .imgP02{
	display: flex;
	justify-content: center;
	min-width: 18rem;
	margin-left: 2rem;
}
.topStepList .imgP02 img{
	height: 16rem;
}
.topStepList li:last-of-type .contP{
	max-width: calc(100% - 28rem);
}

.topStepList .imgP{
	display: flex;
}
.topStepList .imgP img{
	height: 10rem;
}
.topStepList .imgP img+img{
	margin-left: 1.7rem;
}

.qrCode{
	/*margin: 0 3.4rem 0 1.2rem;*/
	margin: 0 1.2rem 0 1.2rem;
}
.qrCode02{
	margin: 0 1rem;
}
.topStepNotice{
	font-size: 1.4rem;
	font-weight: bold;
	margin-top: 2rem;
	letter-spacing: -0.02em;
}

@media screen and (max-width: 1024px) {
	.topStep{
		padding: 5rem 0;
	}
	.topStep .new_inner{
		max-width: 111rem;
	}
	.topStep .hdM{
		margin-bottom: 2rem;
	}
	.topStepList{

	}
	.topStepList li{
		border: .2rem solid #CC0000;
		border-radius: 1.2rem;
		padding: 2rem 1.5rem;
		min-height: auto;
		display: block;
		align-items: center;
	}
	.topStepList li+li{
		position: relative;
		margin-top: 3rem;
	}
	.topStepList li+li:before{
		content: '';
		position: absolute;
		top: -3rem;
		left: 0;
		right: 0;
		z-index: 1;
		height: 3rem;
	}
	.topStepList dl{
		width: 100%;
		display: block;
		align-items: center;
	}
	.topStepList dt{
		width: auto;
		text-align: center;
	}
	.topStepList dd{
		width: auto;
		border: 0;
		border-top: 1px solid #CC0000;
		padding: 1.5rem 0 0;
		margin-top: 1.5rem;
	}
	.topStepList .ttlP{
		font-size: 2rem;
		font-weight: bold;
		margin-bottom: 1rem;
		text-align: center;
	}
	.topStepList .txtP{
		font-size: 1.4rem;
		line-height: 1.75;
	}
	.topStepList .noticeP{
		font-size: 1.2rem;
		line-height: 1.66;
		margin-top: 1rem;
		white-space: normal;
	}
	.topStepList .boxP{
		display: block;
		align-items: flex-end;
		justify-content: space-between;
	}
	.topStepList .contP{
		max-width: none;
	}
	.topStepList li:last-of-type .contP {
	    max-width: none;
	}
	.topStepList .imgP02{
		width: auto;
		min-width: auto;
		margin-left: 0;
	}
	.topStepList .imgP{
		display: flex;
		justify-content: center;
		margin-top: 2rem;
	}
	.topStepList .imgP img{
		width: 9.1rem;
	}
	.topStepList .imgP img+img{
		margin-left: 1.7rem;
	}
	.topStepNotice{
		font-size: 1.2rem;
		font-weight: bold;
		margin-top: 1rem;
		letter-spacing: -0.02em;
	}
}

/*fee*/
.feeWrap{
	background: #D3E7EA;
	padding: 5rem 0 8rem;
}
.feeP01{
	text-align: center;
	font-size: 2.66rem;
	line-height: 1.64;
	margin-bottom: 4.3rem;
	font-weight: bold;
	letter-spacing: .1em;
}
.feeAnchor{
	display: grid;
	grid-template-columns: repeat(3,1fr);
	grid-gap: 4rem;
	margin-bottom: 18rem;
}
.feeAnchor a{
	display: block;
	border-radius: 2rem;
	border: .3rem solid currentColor;
	color: #389CD6;
	padding: 2.5rem 1.5rem 5.5rem;
    text-align: center;
}
.feeAnchor li:nth-of-type(2) a{
	color: #859198;
}
.feeAnchor li:nth-of-type(3) a{
	color: #9D9261;
}
.feeAnchor .planP{
	font-size: 0;
}
.feeAnchor .planP img{
	height: 1.5rem;
}
.feeAnchor .ttlP{
	font-size: 2.6rem;
	font-weight: 900;
	margin: .6rem 0 -1rem;
}
.feeAnchor .imgP img{
	width: 17rem;
}
.feeAnchor .txtP{
	margin-top: -.9rem;
	font-size: 1.7rem;
	line-height: 1.58;
	font-weight: bold;
}

.feeBox{
	background: #fff;
	border-radius: 2rem;
	padding: 0rem 6.5rem 7rem;
}
.feeItem{
	padding-top: 5.5rem;
	color: #389FD9;
}
.feeItem+.feeItem{
	padding-top: 9rem;
	margin-top: 10rem;
	border-top: 1px solid #A8A8A8;
}
.feeItemHd{
	font-size: 3.2rem;
	line-height: 1.625;
	font-weight: bold;
	text-align: center;
	margin-bottom: .5rem;
}
.feeItemDl01{
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 4.9rem;
}
.feeItemDl01 dt img{
	width: 28rem;
	margin-right: 2rem;
}
.feeItemDl01 dd{
}
.feeItemDl01 .planP img{
	height: 1.8rem; 
}
.feeItemDl01 .ttlP{
	font-size: 4.4rem;
	line-height: 1.32;
	font-weight: 900;
	margin: .7rem 0 1.5rem;
}
.feeItemDl01 .txtP{
	font-size: 1.5rem;
	line-height: 1.73;
	font-weight: bold;
	color: #000000;
}
.feePrice{
	background: #D3E7EA;
	border-radius: 2.2rem;
	padding: 3.3rem 2.5rem 2.4rem;
	position: relative;
	margin-bottom: 3.2rem;
}
.feePrice:after{
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
	border: 1rem solid transparent;
	border-top: 1.8rem solid #D3E7EA;
}
.feePriceTop{
	white-space: nowrap;
	color: #000;
	position: absolute;
	top: -4.2rem;
	left: 50%;
	z-index: 1;
	transform: translateX(-50%);
	border: .3rem solid #fff;
	border-radius: 2rem;
	background: #FFC346;
	font-size: 2.8rem;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	height: 5.5rem;
	padding: 0 3rem;
}
.feePriceList{
	display: flex;
	justify-content: center;
	margin: 0 -.8rem;
}
.feePriceList li{
	width: calc(20% - 1.6rem);
	margin: 0 .8rem;
	background: #fff;
	border-radius: 2rem;
	height: 15.6rem;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	text-align: center;
}
.feePriceList .itemName{
	font-size: 2rem;
	font-weight: bold;
	line-height: 1.35;
}
.feePriceList .itemPrice{
	font-size: 3rem;
	font-weight: bold;
	color: #000000;
}
.feePriceList .itemPrice font{
	font-size: 9.7rem;
	line-height: 1.1;
	font-style: italic;
	color: #389FD9;
}
.feePriceList .timeP{
	font-size: 3rem;
	line-height: 1.3;
	font-weight: 900;
}
.monthlyBox{

}
.monthlyRent{
	display: flex;
	align-items: center;
	justify-content: center;
}
.monthlyRent .p01{
	font-size: 2.8rem;
	margin-right: 1.7rem;
	color: #000;
}
.monthlyRent .p02{
	font-size: 11rem;
	line-height: 1.1;
	margin-right: 1.1rem;
}
.monthlyRent .p03{
	font-size: 4rem;
	font-weight: bold;
	color: #000;
	display: flex;
	align-items: center;
    margin-top: 3.5rem;
}
.monthlyRent .p03 font{
	font-size: 1.4rem;
	margin-top: .5rem;
	writing-mode: vertical-rl;
	writing-mode: tb-rl;
	white-space: nowrap;
}
.monthlyDistance{
	border-top: .3rem solid currentColor;
	padding-top: 1.4rem;
	display: flex;
	justify-content: space-between;
	max-width: 70rem;
	margin: 1.1rem auto 0;
	font-size: 1.6rem;
}
.monthlyDistance .leftP,
.monthlyDistance .rightP{
	display: flex;
	align-items: flex-end;
	color: #000;
}
.monthlyDistance .p01{
	font-weight: bold;
}
.monthlyDistance .p02{
	margin-left: .5rem;
}
.monthlyDistance .p02 font{
	font-size: 3.7rem;
	line-height: 1;
	margin: 0 .5rem;
	color: #389FD9;
}
.monthlyDistance .p02 font.jap{
	font-size: 2rem;
}
.monthlyNotice{
	text-align: right;
	font-size: 1.2rem;
	color: #000;
	max-width: 70rem;
	margin: 1rem auto 0;
}
.feeItemBtn{
	display: flex;
	justify-content: center;
	margin-top: 4.5rem;
}
.feeItemBtn .btnLink01{
	margin: 0 1rem;
	font-size: 1.8rem;
	letter-spacing: 0;
	height: 6.4rem;
	min-width: 40rem;
	padding: 0 4.3rem 0 0;
}

.monthlyDistance.middle .leftP, 
.monthlyDistance.middle .rightP{
	align-items: center;
}
.feeItem:nth-of-type(2) .feePriceList .itemPrice font,
.feeItem:nth-of-type(2) .monthlyDistance .p02 font,
.feeItem:nth-of-type(2){
	color: #859198;
}
.feeItem:nth-of-type(2) .feePrice{
	background: #D2D2D2;
}
.feeItem:nth-of-type(2) .feePrice:after{
	border-top-color: #D2D2D2;
}

.feeItem:nth-of-type(3) .feePriceList .itemPrice font,
.feeItem:nth-of-type(3) .monthlyDistance .p02 font,
.feeItem:nth-of-type(3){
	color: #9D9261;
}
.feeItem:nth-of-type(3) .feePrice{
	background: #E5DBA9;
}
.feeItem:nth-of-type(3) .feePrice:after{
	border-top-color: #E5DBA9;
}

.feeNotice{
	font-size: 1.2rem;
	line-height: 1.66;
	margin-top: 2rem;
}

/*** スマホ 320px ~ 1024px***/
@media screen and (max-width: 1024px) {
	.feeWrap{
		background: #D3E7EA;
		padding: 5rem 0;
	}
	.feeP01{
		text-align: center;
		font-size: 1.6rem;
		line-height: 1.64;
		margin-bottom: 2rem;
		font-weight: bold;
		letter-spacing: .1em;
	}
	.feeAnchor{
		display: grid;
		grid-template-columns: repeat(1,1fr);
		grid-gap: 2rem;
		margin-bottom: 3rem;
	}
	.feeAnchor a{
		display: block;
    border-radius: 2rem;
    border: 0.3rem solid currentColor;
    color: #389CD6;
    padding: 1.5rem 1rem 1.5rem;
    text-align: left;
    padding-left: 18px;
    padding-right: 12em;
    position: relative;
	}
	.feeAnchor li:nth-of-type(2) a{
		color: #859198;
	}
	.feeAnchor li:nth-of-type(3) a{
		color: #9D9261;
	}
	.feeAnchor .planP{
	}
	.feeAnchor .ttlP{
		font-size: 5.6vw;
    font-weight: 900;
    margin: 0.6rem 0 1.2rem;
	}
	.feeAnchor .imgP img{
		width: 11rem;
    position: absolute;
    right: 4rem;
    top: 13%;
	}
	.feeAnchor .txtP{
		margin-top: -.9rem;
		font-size:12px;
		line-height: 1.58;
		font-weight: bold;
	}

	.feeBox{
		background: #fff;
		border-radius: 2rem;
		padding: 0rem 1.5rem 3rem;
	}
	.feeItem{
		color: #389FD9;
		padding-top: 3rem;
	}
	.feeItem+.feeItem{
		padding-top: 3rem;
		margin-top: 3rem;
		border-top: 1px solid #A8A8A8;
	}
	.feeItemHd{
		font-size: 1.8rem;
		line-height: 1.625;
		font-weight: bold;
		text-align: center;
		margin-bottom: .5rem;
	}
	.feeItemDl01{
		display: block;
		align-items: center;
		justify-content: center;
		margin-bottom: 3rem;
	}
	.feeItemDl01 dt{
		text-align: center;
		    margin: -2em auto;
	}
	.feeItemDl01 dt img{
		width: 28rem;
		margin-right: 0;
	}
	.feeItemDl01 dd{
		margin-top: 1rem;
	}
	.feeItemDl01 .planP{
		text-align: center;
	}
	.feeItemDl01 .planP img{
		height: 1.8rem; 
	}
	.feeItemDl01 .ttlP{
		text-align: center;
		font-size: 2.8rem;
		line-height: 1.32;
		font-weight: 900;
		margin: .7rem 0 2rem;
	}
	.feeItemDl01 .txtP{
		font-size: 1.5rem;
		line-height: 1.73;
		font-weight: bold;
		color: #000000;
		max-width: none;
		text-align: center;
	}
	.feePrice{
		background: #D3E7EA;
		border-radius: 1.1rem;
		padding: 3rem 1.5rem 2rem;
		position: relative;
		margin-bottom: 3.2rem;
	}
	.feePrice:after{
		content: '';
		position: absolute;
		top: 100%;
		left: 50%;
		z-index: 1;
		transform: translateX(-50%);
		border: 1rem solid transparent;
		border-top: 1.8rem solid #D3E7EA;
	}
	.feePriceTop{
		white-space: nowrap;
		color: #000;
		position: absolute;
		top: -2rem;
		left: 50%;
		z-index: 1;
		transform: translateX(-50%);
		border: .2rem solid #fff;
		border-radius: 1rem;
		background: #FFC346;
		font-size: 1.2rem;
		font-weight: bold;
		display: flex;
		justify-content: center;
		align-items: center;
		height: 3.5rem;
		padding: 0 1rem;
	}
	.feePriceList{
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		margin: 0 -.5rem;
	}
	.feePriceList li{
		width: calc(50% - 1rem);
		margin: 0 .5rem 1rem;
		background: #fff;
		border-radius: 1rem;
		height: 10.6rem;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		text-align: center;
	}
	.feePriceList li:last-of-type{
		width: calc(100% - 1rem);
		height: 7rem;
	}
	.feePriceList .itemName{
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.35;
	}
	.feePriceList .itemPrice{
		font-size: 2rem;
		font-weight: bold;
		color: #000000;
	}
	.feePriceList .itemPrice font{
		font-size: 6rem;
		line-height: 1.1;
		font-style: italic;
		color: #389FD9;
	}
	.feePriceList .timeP{
		font-size: 2rem;
		line-height: 1.3;
		font-weight: 900;
	}
	.monthlyBox{

	}
	.monthlyRent{
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.monthlyRent .p01{
		font-size: 2rem;
		margin-right: .7rem;
		color: #000;
	}
	.monthlyRent .p02{
		font-size: 6rem;
		line-height: 1.1;
		margin-right: .7rem;
	}
	.monthlyRent .p03{
		font-size: 3rem;
		font-weight: bold;
		color: #000;
		display: flex;
		align-items: center;
	    margin-top: 1rem;
	}
	.monthlyRent .p03 font{
		font-size: 1rem;
		margin-top: .3rem;
		writing-mode: vertical-rl;
		writing-mode: tb-rl;
	}
	.monthlyDistance{
		border-top: .2rem solid currentColor;
		padding-top: 1.4rem;
		display: block;
		justify-content: space-between;
		max-width: 70rem;
		margin: 1.1rem auto 0;
		font-size: 1.2rem;
	}
	.monthlyDistance .leftP,
	.monthlyDistance .rightP{
		display: flex;
		justify-content: center;
		align-items: flex-end;
		color: #000;
	}
	.monthlyDistance .p01{
		font-weight: bold;
	}
	.monthlyDistance .p02{
		margin-left: .5rem;
	}
	.monthlyDistance .p02 font{
		font-size: 3.7rem;
		line-height: 1;
		margin: 0 .5rem;
		color: #389FD9;
	}
	.monthlyDistance .p02 font.jap{
		font-size: 1.8rem;
	}
	.monthlyNotice{
		text-align: center;
		font-size: 1.2rem;
		color: #000;
		max-width: 70rem;
		margin: 1rem auto 0;
	}
	.feeItemBtn{
		display: block;
		justify-content: center;
		margin-top: 2rem;
		text-align: center;
	}
	.feeItemBtn li+li{
		margin-top: 1.5rem;
	}
	.feeItemBtn .btnLink01{
		margin: 0 auto;
		font-size: 1.4rem;
		letter-spacing: 0;
		height: 4.5rem;
		min-width: 31.5rem;
		max-width: 100%;
		padding: 0 3rem 0 0;
		background-size: 2rem auto;
	}
	.feeNotice{
		font-size: 1.2rem;
		line-height: 1.66;
		margin-top: 1.5rem;
	}
}

/*merit*/
.meritSec01{
	padding: 12.7rem 0 9.5rem;
	color: #3897D1;
	background: #CBDFE2;
}
.meritBox{
	background: #fff;
	border-radius: 2rem;
	padding: 7rem 8rem 9.5rem;
	position: relative;
}
.meritHd{
	background: #3897D1;
	color: #fff;
	position: absolute;
	left: 50%;
	top: 0;
	z-index: 1;
	white-space: nowrap;
	transform: translate(-50%,-50%);
	font-size: 3.2rem;
	font-weight: bold;
	letter-spacing: 0.05em;
	border-radius: 3.1rem;
	height: 6.2rem;
	padding: 0 3.3rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.meritDl01{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-bottom: 5rem;
}
.meritDl01 dt{
	font-size: 3.2rem;
	line-height: 1.625;
	font-weight: bold;
}
.meritDl01 dd{
	width: 18.1rem;
}
.meritItem+.meritItem{
	padding-top: 9rem;
	margin-top: 9rem;
	border-top: 1px solid currentColor;
}
.meritItemStep{
	text-align: center;
	margin-bottom: 1rem;
}
.meritItemStep img{
	height: 2rem;
}
.meritItemHd{
	text-align: center;
	font-size: 3.8rem;
	line-height: 1.34;
	font-weight: bold;
	margin-bottom: 5rem;
}
.meritUl01{
	display: flex;
	margin-left: -7rem;
}
.meritUl01 li{
	padding-left: 3.5rem;
	margin-left: 3.5rem;
	width: 33.33%;
}
.meritUl01 li+li{
	border-left: 1px solid currentColor;
}
.meritUl01 .ttlP{
	text-align: center;
	font-size: 3rem;
	line-height: 1.33;
	font-weight: bold;
	margin-bottom: 2.6rem;
}
.meritUl01 .imgP{
	text-align: center;
	margin-bottom: 2.6rem;
}
.meritUl01 .imgP img{
	width: 23rem;
}
.meritUl01 .txtP{
	color: #1A1A1A;
	font-size: 1.6rem;
	line-height: 1.875;
}
.quicknotes{
	font-size: 1.1rem;
    margin-top: 1em;
	text-align:center;
	color: black;
}

.meritUl01 .quicknotes{
	text-align: left;
}

.meritItemHd02{
	font-size: 3.2rem;
	line-height: 1.33;
	font-weight: bold;
	text-align: center;
	margin-bottom: 2.2rem;
	color: #000000;
}
.meritUl02{
	display: flex;
	justify-content: center;
	margin-bottom: 5rem;
}
.meritUl02 li+li{
	position: relative;
	margin-left: 10rem;
}
.meritUl02 li+li:before{
	content: '';
	position: absolute;
	left: -10rem;
	top: 0;
	width: 10rem;
	height: 100%;
	z-index: 1;
}
.meritUl02 dl{
	display: flex;
	align-items: center;
}
.meritUl02 dt{
	width: 20rem;
	margin-right: 1.3rem;
}
.meritUl02 dd{

}
.meritUl02 .ttlP{
	font-size: 2.2rem;
	font-weight: bold;
	line-height: 1.63;
	margin-bottom: 2.3rem;
	white-space: nowrap;
}
.meritUl02 .margin4{
	    margin-bottom: 4rem;
}
.meritUl02 .txtP{
	color: #000;
	font-size: 1.6rem;
	line-height: 1.875;
}
.meritUl03{
	border: .3rem solid #CACACA;
	border-radius: 2.2rem;
	padding: 4rem 3rem;
	display: flex;
	justify-content: space-between;
	color: #000;
}
.meritUl03 li{
	width: calc(50% - 1rem);
}

.meritUl03 .ttlP{
	font-size: 2rem;
	line-height: 1.7;
	font-weight: bold;
	margin-bottom: 1.5rem;
}
.meritUl03 .txtP{
	font-size: 1.6rem;
	line-height: 1.875;
}
.meritUl03 dl{
	display: flex;
	align-items: flex-end;
	height: 100%;
}
.meritUl03 dt{
	margin-right: 1.5rem;
	width: 24rem;
	height: 100%;
}
.meritUl03 dd{
	width: 15rem;
}
.meritBtn {
    text-align: center;
    margin-top: 5rem;
}

.meritDl02{
	display: flex;
	justify-content: space-between;
	position: relative;
}
.meritDl02:before{
	content: '';
	position: absolute;
	top: 8.5rem;
	left: 0;
	transform: translateY(-50%);
	width: 100%;
	height: 2.2rem;
}
.meritDl02 dt,
.meritDl02 dd{
	width: 50%;
}
.meritDl02 dt{
	padding-right: 3rem;
	color: #808990;
}
.meritDl02 dd{
	padding-left: 3rem;
}
.meritDl02 .stepP{
	border-radius: 50%;
	width: 16rem;
	height: 16rem;
	margin: 1rem auto 4.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	border: .3rem solid currentColor;
	font-size: 2.2rem;
	position: relative;
	background: #fff;
}
.meritDl02 .ttlP{
	font-size: 2rem;
	line-height: 1.35;
	font-weight: bold;
	margin-bottom: 1.5rem;
}
.meritDl02 .txtP{
	font-size: 1.6rem;
	line-height: 1.875;
	color: #000;
}
.meritDl02 ul{
	display: flex;
	justify-content: space-between;
}
.meritDl02 li{
	width: calc(50% - 1rem);
}
.meritBtn02 {
    text-align: center;
    margin-top: 7rem;
}

.meritSec02{
	padding: 12.7rem 0 9.5rem;
	color: #289F80;
	background: #CFE3CF;
}
.meritSec02 .meritHd{
	background: #289F80;
}
.meritItemHd font{
	font-size: 5.5rem;
	line-height: 1;
}
.meritItemHd .superFont{
	font-size: 2rem;
}
.meritP01{
	text-align: center;
	font-size: 2.2rem;
	line-height: 1.9;
	font-weight: bold;
	margin-bottom: 2.7rem;
	color: #000;
}
.meritP02{
	margin-bottom: -23rem;
	text-align: center;
}
.meritP02 img{
	width: 40rem;
}
.meritUl04{
	display: flex;
	justify-content: center;
	text-align: center;
}
.meritUl04 li+li{
	margin-left: 24rem;
}
.meritUl04 .imgP{
	margin-bottom: 1rem;
}
.meritUl04 .imgP img{
	width: 22rem;
}
.meritUl04 .txtP{
	font-size: 2rem;
	line-height: 1.35;
	margin-bottom: 1rem;
	color: #000;
}
.meritUl04 .ttlP{
	font-size: 2.8rem;
	font-weight: 900;
}
.meritDl03{
	border: .3rem solid #CACACA;
	border-radius: 2.2rem;
	padding: 4rem 2rem;
	color: #000;
	margin-top: 5rem;
	    margin-bottom: 4rem;
}
.meritDl03 dt{

}
.meritDl03 dd{
	max-width: 60rem;
	margin: 0 auto;
	font-size: 1.6rem;
	line-height: 1.875;
	margin-top: 2rem;
	    text-align: center;
	
}
.meritDl03 dd span{
	font-size: 1.1rem;
}
.meritDl03 .topSolveP02 span {
    font-size: 2.2rem;
    padding: 0 .5rem 0.2rem;
}
.meritUl01 .noticeP{
	color: #000;
	font-size: 1.1rem;
	margin-top: 1rem;
	/*white-space: nowrap;*/
}
.meritUl01 .txtP{
	min-width: 24rem;
}
.meritSec02 .meritUl01 .imgP img{
	width: 15rem;
}
.meritSec02 .meritUl01 .ttlP{
	margin-bottom: 1.6rem;
}
.meritSec02 .meritUl01 .imgP{
	margin-bottom: 1.6rem;
}
.meritList+.meritList{
	margin-top: 18rem;
}
.meritSec02 .meritItemHd02{
	margin-bottom: 5rem;
}

.meritUl01 .txtP02{
	text-align: center;
	color: #000;
	font-size: 14px;
}
.meritList .itemPrice{
	text-align: center;
	font-size: 3.5rem;
	font-weight: bold;
	color: #000000;
}
.meritList .itemPrice font{
	font-size: 10.5rem;
	line-height: 1.1;
	font-style: italic;
	color: #289F80;
}


@media screen and (min-width: 768px) and (max-width: 1140px) {
	.meritBox{
		padding: 7rem 2rem 9.5rem;
	}
}
/*** スマホ 320px ~ 1024px***/
@media screen and (max-width: 1024px) {

	.meritSec01{
		padding: 5rem 0;
		color: #3897D1;
		background: #CBDFE2;
	}
	.meritBox{
		background: #fff;
		border-radius: 1rem;
		padding: 3rem 1.5rem 3rem;
		position: relative;
	}
	.meritHd{
		background: #3897D1;
		color: #fff;
		position: absolute;
		left: 50%;
		top: 0;
		z-index: 1;
		white-space: nowrap;
		transform: translate(-50%,-50%);
		font-size: 1.6rem;
		font-weight: bold;
		letter-spacing: 0.05em;
		border-radius: 2.5rem;
		height: 4rem;
		padding: 0 1.5rem;
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.meritDl01{
		display: flex;
		justify-content: center;
		align-items: center;
		margin-bottom: 2.5rem;
	}
	.meritDl01 dt{
		font-size: 1.8rem;
		line-height: 1.625;
		font-weight: bold;
	}
	.meritDl01 dd{
		width: 9rem;
	}
	.meritItem+.meritItem{
		padding-top: 4rem;
		margin-top: 4rem;
		border-top: 1px solid currentColor;
	}
	.meritItemStep{
		text-align: center;
		margin-bottom: 1rem;
	}
	.meritItemStep img{
		height: 2rem;
	}
	.meritItemHd{
		text-align: center;
		font-size: 2.4rem;
		line-height: 1.34;
		font-weight: bold;
		margin-bottom: 2.5rem;
	}
	.meritUl01{
		display: block;
		margin-left: 0;
	}
	.meritUl01 li{
		padding-left: 0;
		margin-left: 0;
		width: auto;
	}
	.meritUl01 li+li{
		border-left: 0px solid currentColor;
		border-top: 1px solid currentColor;
		padding-top: 2rem;
		margin-top: 2rem;
	}
	.meritUl01 .ttlP{
		text-align: center;
		font-size: 2rem;
		line-height: 1.33;
		font-weight: bold;
		margin-bottom: 1.3rem;
	}
	.meritUl01 .imgP{
		text-align: center;
		margin-bottom: 1.3rem;
	}
	.meritUl01 .imgP img{
		width: 15rem;
	}
	.meritUl01 .txtP{
		color: #1A1A1A;
		font-size: 1.2rem;
		line-height: 1.875;
		text-align: center;
	}

	.meritItemHd02{
		font-size: 2.1rem;
		line-height: 1.33;
		font-weight: bold;
		text-align: center;
		margin-bottom: 1.1rem;
		color: #000000;
	}
	.meritUl02{
		display: block;
		justify-content: center;
		margin-bottom: 2.5rem;
	}
	.meritUl02 li+li{
		position: relative;
		margin-left: 0rem;
		margin-top: 4rem;
	}
	.meritUl02 li+li:before{
		content: '';
		left: 0;
    right: 0;
    margin: 0 auto;
    top: -54%;
		width: 10rem;
		height: 100%;
		z-index: 1;
		transform: rotateZ(90deg);
	}
	.meritUl02 dl{
		display: block;
		align-items: center;
	}
	
	.meritUl02 dt{
		width: auto;
		margin-right: 0rem;
		margin-bottom: 1rem;
		text-align: center;
	}
	.meritUl02 dt img{
		width: 15rem;
	}
	.meritUl02 dd{

	}
	.meritUl02 .ttlP{
		font-size: 1.6rem;
		font-weight: bold;
		line-height: 1.63;
		margin-bottom: 2.3rem;
		white-space: normal;
		text-align: center;
	}
	.meritUl02 .txtP{
		color: #000;
		font-size: 1.2rem;
		line-height: 1.875;
		text-align: center;
	}
	.meritUl03{
		border: .2rem solid #CACACA;
		border-radius: 1.1rem;
		padding: 2rem 1.5rem;
		display: block;
		justify-content: space-between;
		color: #000;
		    margin-top: 5em;
    text-align: center;
	}
	.meritUl03 li{
		width: auto;
	}
	.meritUl03 li+li{
		margin-top: 3rem;
	}

	.meritUl03 .ttlP{
		font-size: 1.7rem;
		line-height: 1.7;
		font-weight: bold;
		margin-bottom: 1.5rem;
	}
	.meritUl03 .txtP{
		font-size: 1.3rem;
		line-height: 1.875;
	}
	.meritUl03 dl{
		display: block;
		align-items: flex-end;
		height: 100%;
	}
	.meritUl03 dt{
		margin-right: 0rem;
		margin:0 auto 1rem;
		width: auto;
		height: 100%;
	}
	.meritUl03 dd{
		margin:0 auto 1rem;
		width: auto;
		text-align: center;
	}
	.meritUl03 dd img{
		width: 15rem;
	}
	.meritBtn {
	    text-align: center;
	    margin-top: 2.5rem;
	}

	.meritDl02{
		display: block;
		justify-content: space-between;
		position: relative;
		text-align: center;
	}
	.meritDl02:before{
		content: none;
		position: absolute;
		top: 8.5rem;
		left: 0;
		transform: translateY(-50%);
		width: 100%;
		height: 2.2rem;
	}
	.meritDl02 dt,
	.meritDl02 dd{
		width: auto;
	}
	.meritDl02 dt{
		padding-right: 0rem;
		color: #808990;
	}
	.meritDl02 dd{
		padding-left: 0rem;
		padding-top: 2rem;
		margin-top: 2rem;
		background: none;
		border-top: 2px dotted #CACACA;
	}
	.meritDl02 .stepP{
		border-radius: 50%;
		width: 12rem;
		height: 12rem;
		margin: 1rem auto 2.4rem;
		display: flex;
		justify-content: center;
		align-items: center;
		border: .3rem solid currentColor;
		font-size: 1.8rem;
		position: relative;
		background: #fff;
	}
	.meritDl02 .ttlP{
		font-size: 1.5rem;
		line-height: 1.35;
		font-weight: bold;
		margin-bottom: 1.5rem;
	}
	.meritDl02 .txtP{
		font-size: 1.2rem;
		line-height: 1.875;
		color: #000;
	}
	.meritDl02 ul{
		display: block;
		justify-content: space-between;
	}
	.meritDl02 li{
		width: auto;
		margin-bottom: 1rem;
	}
	.meritBtn02 {
	    text-align: center;
	    margin-top: 3rem;
	}
	.meritBtn02 .btnLink01{
		min-width: 100%;
	}

	.meritSec02{
		padding: 5rem 0;
		color: #289F80;
		background: #CFE3CF;
	}
	.meritSec02 .meritHd{
		background: #289F80;
	}
	.meritItemHd font{
		font-size: 2.5rem;
		line-height: 1;
	}
	.meritP01{
		text-align: center;
		font-size: 1.1rem;
		line-height: 1.9;
		font-weight: bold;
		margin-bottom: 1.3rem;
		color: #000;
	}
	.meritP02{
		margin-bottom: 0;
		text-align: center;
	}
	.meritP02 img{
		width: 20rem;
	}
	.meritUl04{
		display: flex;
		justify-content: center;
		text-align: center;
		margin-top: -2.5rem;
	}
	.meritUl04 li+li{
		margin-left: 2rem;
	}
	.meritUl04 .imgP{
		margin-bottom: 1rem;
	}
	.meritUl04 .imgP img{
		width: 11rem;
	}
	.meritUl04 .txtP{
		font-size: 10px;
		line-height: 1.35;
		margin-bottom: 1rem;
		color: #000;
	}
	.meritUl04 .ttlP{
		font-size: 1.8rem;
		font-weight: 900;
	}
	.meritDl03{
		border: .2rem solid #CACACA;
		border-radius: 1.1rem;
		padding: 2rem 1.5rem;
		color: #000;
		margin-top: 2.5rem;
		margin-bottom: 2rem;
	}
	.meritDl03 dt{

	}
	.meritDl03 dd{
		max-width: 47rem;
		margin: 0 auto;
		font-size: 1.2rem;
		line-height: 1.875;
		margin-top: 1rem;
	}
	.meritDl03 .topSolveP02 span {
	    font-size: 1.4rem;
	    padding: 0 .5rem 0.2rem;
	}
	.meritUl01 .noticeP{
		color: #000;
		font-size: 1.1rem;
		margin-top: 1rem;
		text-align: center;
		white-space: normal;
	}
	.meritUl01 .txtP{
		min-width: 24rem;
	}
	.meritSec02 .meritUl01 .imgP img{
		width: 12rem;
	}
	.meritSec02 .meritUl01 .ttlP{
		margin-bottom: 1rem;
	}
	.meritSec02 .meritUl01 .imgP{
		margin-bottom: 1rem;
	}
	.meritList+.meritList{
		margin-top: 5rem;
	}
	.meritSec02 .meritItemHd02{
		margin-bottom: 2.5rem;
	}

	.meritUl01 .txtP02{
		text-align: center;
		color: #000;
	}
	.meritList .itemPrice{
		text-align: center;
		font-size: 3.5rem;
		font-weight: bold;
		color: #000000;
	}
	.meritList .itemPrice font{
		font-size: 10.5rem;
		line-height: 1.1;
		font-style: italic;
		color: #289F80;
	}
}

/*0928*/
@media screen and (min-width: 768px){
	
	@keyframes fadeInUp {
	    0% {
	        opacity: 0;
	        -webkit-transform: translateY(30px);
	        -ms-transform: translateY(30px);
	        transform: translateY(30px)
	    }

	    100% {
	        opacity: 1;
	        -webkit-transform: translateY(0);
	        -ms-transform: translateY(0);
	        transform: translateY(0)
	    }
	}
	.bubbleIcon.animated{
	  animation-delay: .5s;
	}
	.wow{
	  opacity: 0;
	}
	
}


.is-hidden{
	visibility: hidden;
  opacity: 0;
}

/* 20240620 */
.stepP > img {
    width: 25%;
    max-width: 65px;
}

ul.topStepList dt > img {
    width: 60%;
    max-width: 70px;
}

.campaign-text {
	font-size: 2.4rem;
	color: #CC0000;
	font-weight: bold;
	margin-top: 16px;
}

.sp-campaign-text {
	display: none;

}
.campaign-text-cta {
	text-align: center;
	color: #FFE600;
	font-weight: bold;
	text-align: center;
    font-size: 2.8rem;
    line-height: 1.33;
    letter-spacing: .1em;
	margin-top: 2.8rem;
	margin-bottom: 2.8rem;
}



@media screen and (max-width: 1024px) {
	.campaign-text {
	display: none;
}
.sp-campaign-text {
	display: block;
	font-size: 2rem;
	color: #CC0000;
	font-weight: bold;
	margin-top: 16px;
	text-align: center;

}
	.campaign-text-cta {
	text-align: center;
	color: #FFE600;
	font-weight: bold;
	text-align: center;
    font-size: 2rem;
    line-height: 1.33;
    letter-spacing: .1em;
	margin-top: 2rem;
	margin-bottom: 2rem;
}
}
