@charset "UTF-8";
/* base
========================= */
body{
	width: 100%;
	background: #fff;
	font-family: "Zen Kaku Gothic New", sans-serif;
	font-weight: 700;
	font-style: normal;
	font-feature-settings: "palt";
	color: #2c2c2c;
	font-size: 1.6rem;
	line-height: 1.8;
	box-sizing: border-box;
	text-align: center;
	position: relative;
	letter-spacing: -.05em;
}
.f-small{
	font-size: 85%;
	font-weight: 500;
}
.f-large{
	font-size: 140%;
	line-height: 1.2;
}
.alignleft{
	text-align: left;
}
.alignright{
	text-align: right;
}
.bold{
	font-weight: bold;
}
.c-or{
	color: #ff6529;
}
.c-gr{
	color: #46b982;
}
/* flex */
@media (min-width: 750px){
	.dispflex{
		display: flex;
	}
}
.dispinblock{
	display: inline-block;
}
.animation{
	opacity : 0;
	visibility: hidden;
	transition: .5s;
	transform: translateX(-30px);
}
.animation.active{
	opacity: 1;
	visibility: visible;
	transform: translateX(0);
}
/* layout */
.inner{
	width: 92%;
	margin-left: auto;
	margin-right: auto;
}
/*PC*/
@media (min-width: 750px){
	.inner{
		max-width: 1000px;
	}
}
/* hover */
@media (min-width: 750px){
	.hov{
		-webkit-backface-visibility: hidden;
			backface-visibility: hidden;
		-webkit-transition: .3s ease-in;
		-moz-transition: .3s ease-in;
		-ms-transition: .3s ease-in;
		transition: .3s ease-in;
		opacity: 1;
		filter: alpha(opacity=100);
	}
	.hov:hover{
		filter: alpha(opacity=70);
		opacity: .7;
		text-decoration: none;
		cursor: pointer!important;
	}
	.hov:hover a{
		text-decoration: none;
	}
}
/* margin */
.mb1{
	margin-bottom: 1rem;
}
.mb2{
	margin-bottom: 2rem;
}
.mb3{
	margin-bottom: 3rem;
}
section{
	padding-bottom: 5rem;
}
h2{
	font-size: 3rem;
	line-height: 1.3;
	margin-bottom: 2rem;
}
.box{
	background: #FFF;
	padding: 2rem;
	-webkit-border-radius: 15px;
	        border-radius: 15px;
}
.dash-frame{
	background: #FFF;
	-webkit-border-radius: 5px;
	        border-radius: 5px;
	border: #FF6529 2px dashed;
	font-size: 2.2rem;
	line-height: 1.2;
	padding: 1rem;
}
.btn{
	display: block;
	width: calc(576 / 750 * 100vw);
	margin-left: auto;
	margin-right: auto;
	max-width: 480px;
}
/*PC*/
@media (min-width: 750px){
	.mb2{
		margin-bottom: 4rem;
	}
	.mb3{
		margin-bottom: 5rem;
	}
	section{
		padding-bottom: 6rem;
	}
	h2{
			font-size: 6rem;
			margin-bottom: 5rem;
	}
	.box{
		padding: 6rem;
	}
	.dash-frame{
		background: #FFF;
		-webkit-border-radius: 10px;
		        border-radius: 10px;
		border: #FF6529 3px dashed;
		font-size: 4rem;
		padding: 1.5rem;
		max-width: 800px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* header
========================= */
header{
	padding: 2rem 0;
}
header .h-logo{
	width: calc(405 / 750 * 100vw);
	margin-left: auto;
	margin-right: auto;
	line-height: 1;
}
/*PC*/
@media (min-width: 750px){
	header{
		padding: 3rem 0;
	}
	header .h-logo{
		width: 405px;
		margin-left: 0;
		margin-right: auto;
		line-height: 1;
	}
}

/* mainvisual
========================= */
section#mainvisual{
	padding-bottom: 0;
}
/*PC*/
@media (min-width: 750px){
	section#mainvisual .dispflex p{
		width: 100%;
	}
}

/* campaign
========================= */
section#campaign{
	background: #FFF4BE;
	padding-top: 4rem;
	margin-bottom: 0;
}
section#campaign .tit-area{
	position: relative;
}
section#campaign h2{
	background: url("../img/slash_sp.png") no-repeat center bottom;
	-webkit-background-size: 90%;
	     -o-background-size: 90%;
	        background-size: 90%;
}
section#campaign .free{
	width: 50px;
	height: 50px;
	position: absolute;
	top: 15px;
	left: 15px;
}
section#campaign .box{
	border: #FFD928 3px solid;
	position: relative;
}
section#campaign .box .top{
	background: #FFD928;
	-webkit-border-radius: 30px;
	        border-radius: 30px;
	font-size: 2rem;
	display: inline-block;
	padding: 0 2rem;
}
section#campaign .left.box .icon{
	width: calc(200 / 750 * 100vw);
	position: absolute;
	left: -1.5rem;
	top: -1.5rem;
}
section#campaign .box .c-or{
	font-size: 3rem;
	line-height: 1.2;
}
section#campaign sup{
	color: #2C2C2C;
	font-size: 1.8rem;
}
section#campaign .plus{
	position: relative;
	z-index: 1;
	width: calc(90 / 750 * 100vw);
	margin-left: auto;
	margin-right: auto;
	margin-top: -1rem;
}
section#campaign .right.box{
	margin-top: -1rem;
}
section#campaign .right.box .icon{
	width: calc(120 / 750 * 100vw);
	position: absolute;
	right: -1.5rem;
	bottom: -1.5rem;
}

/*PC*/
@media (min-width: 750px){
	section#campaign{
		padding-top: 8rem;
	}
	section#campaign h2{
		background: url("../img/slash_pc.png") no-repeat center bottom;
		-webkit-background-size: 905px;
		     -o-background-size: 905px;
		        background-size: 905px;
	}
	section#campaign .free{
		width: 72px;
		height: 72px;
		position: static;
		margin-right: 1rem;
	}
	section#campaign h2{
		display: flex;
		-webkit-justify-content: center;
		        justify-content: center;
		    -webkit-align-items: center;
		            align-items: center;
	}
	section#campaign .dispflex{
		position: relative;
		gap: 60px;
	}
	section#campaign .plus{
		position: absolute;
		z-index: 1;
		width: 90px;
		margin-top: 0;
		top: 50%;
		left: 50%;
		margin-top: -45px;
		margin-left: -45px;
	}
	section#campaign .dispflex .box{
		width: 100%;
		padding: 3rem;
	}
	section#campaign .box .c-or{
		font-size: 4.2rem;
	}
	section#campaign .left.box .icon{
		width: 150px;
		left: -3rem;
		top: -3rem;
	}
	section#campaign .right.box .icon{
		width: 95px;
		right: -3rem;
		bottom: -3rem;
	}
}

/* bichiku
========================= */
section#bichiku{
	background: #E3F7F1;
	padding-top: 4rem;
}
section#bichiku h2 span.f-small{
	color: #2c2c2c;
}
section#bichiku .price-area{
	display: flex;
	-webkit-align-items: center;
	        align-items: center;
}
section#bichiku .price-area .nomi{
	width: 195px;
}
section#bichiku .price-area .left p{
	line-height: 1.2;
}
section#bichiku .price-area .left .dispinblock{
	font-size: 2.6rem;
}
section#bichiku .price-area .left .dispinblock.c-gr{
	border-bottom: 5px solid #ffd928;
}

/*PC*/
@media (min-width: 750px){
	section#bichiku{
		padding-top: 8rem;
	}
	section#bichiku h2 span.f-small{
		font-size: 4rem;
	}
	section#bichiku .image{
		max-width: 700px;
		margin-left: auto;
		margin-right: auto;
	}
	section#bichiku .price-area{
		max-width: 80%;
		margin-left: auto;
		margin-right: auto;
	}
	section#bichiku .price-area .left{
		width: calc( 100% - 200px );
		text-align: left;
		font-size: 3.2rem;
	}
	section#bichiku .price-area .left .dispinblock{
		font-size: 4rem;
	}
	section#bichiku .text-area{
		max-width: 80%;
		margin-left: auto;
		margin-right: auto;
		margin-top: -3rem;
		font-size: 2rem;
	}
}

/* about
========================= */
section#about{
	background: url("../img/about-bg.jpg") repeat;
	-webkit-background-size: 100px;
	     -o-background-size: 100px;
	        background-size: 100px;
	padding-top: 4rem;
	position: relative;
}
section#about .top{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 20px;
	background: url("../img/slash-bg.png") repeat-x;
	-webkit-background-size: 29px 20px;
	     -o-background-size: 29px 20px;
	        background-size: 29px 20px;
}
section#about h2{
	color: #FFF;
}
section#about .youtube {
  width: 100%;
  aspect-ratio: 16 / 9;
}
section#about .youtube iframe {
  width: 100%;
  height: 100%;
}
section#about .kyoten{
	background: #FFF;
	padding: 2rem;
}
section#about .kyoten h3{
	font-size: 2.4rem;
	line-height: 1.2;
}
section#about .kyoten h3 .c-or{
	border-bottom: 3px solid #ff6529;
}
section#about .osusume h2{
	background: url("../img/slash2_sp.png") no-repeat center bottom;
	-webkit-background-size: 100%;
	     -o-background-size: 100%;
	        background-size: 100%;
	color: #FFF;
}
section#about .osusume .dispflex{
	display: flex;
	-webkit-flex-wrap: wrap;
	    -ms-flex-wrap: wrap;
	        flex-wrap: wrap;
	gap: 10px
}
section#about .osusume li{
	width: calc( ( 100% - 10px ) / 2);
}
section#about .osusume .bet{
	font-size: 2.5rem;
	color: #FFF;
	border: 2px solid #fff;
	margin: 2rem 0;
}

/*PC*/
@media (min-width: 750px){
	section#about{
		padding-top: 8rem;
	}
	section#about .youtube {
	  max-width: 750px;
	  aspect-ratio: 16 / 9;
	  margin-left: auto;
	  margin-right: auto;
	}
	section#about .kyoten{
		padding: 6rem;
		margin-bottom: 8rem;
	}
	section#about .kyoten h3{
		font-size: 5rem;
	}
	section#about .kyoten .image{
		max-width: 825px;
		margin-left: auto;
		margin-right: auto;
	}
	section#about .osusume h2{
		background: url("../img/slash2.png") no-repeat center bottom;
		-webkit-background-size: 675px;
		     -o-background-size: 675px;
		        background-size: 675px;
		color: #FFF;
	}
	section#about .osusume .dispflex{
		gap: 13px
	}
	section#about .osusume li{
		width: calc( ( 100% - 39px ) / 4);
		max-width: 240px;
		margin-left: auto;
		margin-right: auto;
	}
	section#about .osusume .bet{
		font-size: 5rem;
		border: 5px solid #fff;
		margin: 3rem 0;
	}
	section#about .illust{
		max-width: 939px;
		margin-left: auto;
		margin-right: auto;
	}
}

/* step
========================= */
section#step{
	margin-top: 4rem;
}
section#step h2{
	margin-bottom: 0;
}

/*PC*/
@media (min-width: 750px){
	section#step{
		margin-top: 8rem;
	}
}


/* plan
========================= */
section#plan{
	padding-top: 4rem;
	background: #E3F7F1;
}
section#plan .sc-hint{
    overflow:auto;
}
section#plan .sc-hint img{
	display: block;
	width: calc(1000 / 750 * 100vw);
	max-width: 1000px;
}
section#plan .scroll-hint-text{
	font-weight: bold;
	margin-top:0;
}

/*PC*/
@media (min-width: 750px){
	section#plan{
		padding-top: 8rem;
	}
	section#plan .dispflex{
		gap: 40px;
	}
	section#plan .sc-hint{
	  overflow: none;
	}
	section#plan .sc-hint img{
		display: block;
		width: 1000px;
	}
}

/* area
========================= */
section#area{
	margin-top: 4rem;
}

/*PC*/
@media (min-width: 750px){
	section#area h2 .f-small{
		font-size: 4rem;
	}
}

/* case
========================= */
section#case{
	padding-top: 4rem;
	background: #F0F0F0;
}
section#case .box .image{
	width: 50%;
	margin-left: auto;
	margin-right: auto;
}
.arr{
	margin: 1rem auto;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #ff6529;
}

/*PC*/
@media (min-width: 750px){
	section#case{
		padding-top: 8rem;
	}
	section#case .wrap{
		gap: 40px;
	}
	section#case .box{
		width: 100%;
		padding: 3rem;
		margin-bottom: 0;
	}
	section#case .box.left .image{
		width: 205px;
		margin-bottom: 16px;
	}
	section#case .box.right .image{
		width: 260px;
	}
	.arr{
		margin: 1rem auto;
	  width: 0;
	  height: 0;
	  border-left: 20px solid #ff6529;
	  border-top: 20px solid transparent;
	  border-bottom: 20px solid transparent;
	}
	section#case .text-area{
		width: 100%;
	}
	section#case .text-area p{
		display: inline-block;
		vertical-align: middle;
	}
	section#case .text-area p.left{
		text-align: left;
		margin-right: 1rem;
		font-size: 1.8rem;
	}
	section#case .text-area p.f-large{
		margin-left: -1.5rem;
	}
}

/* flow
========================= */
section#flow{
	padding-top: 4rem;
	background: #42b78b;
}
section#flow h2{
	color: #FFF;
}
section#flow li{
	padding: 1rem;
	position: relative;
	background: #FFF;
	-webkit-border-radius: 5px;
	        border-radius: 5px;
}
section#flow li.third{
	background: #fff4be;
}
section#flow li .want{
	position: absolute;
	right: -10px;
	top: -10px;
	width: 60px;
}
section#flow li .no{
	font-size: 3rem;
	line-height: 1;
	margin-bottom: 0.5rem;
}
section#flow li .text{
	font-size: 2rem;
}
section#flow .arr{
	margin: 1rem auto;
  width: 0;
  height: 0;
  border-left: 20px solid transparent;
  border-right: 20px solid transparent;
  border-top: 20px solid #ffd928;
}
section#flow .text-last{
	color: #FFF;
}

/*PC*/
@media (min-width: 750px){
	section#flow ul.dispflex{
		-webkit-align-items: center;
		        align-items: center;
	}
	section#flow li{
		width: 140px;
		height: 324px;
		display: flex;
		-webkit-flex-direction: column;
		    -ms-flex-direction: column;
		        flex-direction: column;
		-webkit-align-items: center;
		        align-items: center;
	}
	section#flow li .text{
		-ms-writing-mode: tb-rl;
  	writing-mode: vertical-rl;
	  text-align: left;
	  font-size: 2.4rem;
	}
	section#flow li .no{
		font-size: 4rem;
		margin-bottom: 2rem;
	}
	section#flow .arr{
		margin: 1rem auto;
	  width: 0;
	  height: 0;
	  border-left: 20px solid #ffd928;
	  border-top: 20px solid transparent;
	  border-bottom: 20px solid transparent;
	  margin-left: 30px;
	}
	section#flow li .want{
		top: -20px;
		right: -20px;
	}
	section#flow .text-last{
		font-size: 2.8rem;
	}
}

/* qa
========================= */
section#qa{
	margin-top: 4rem;
}

/* footer
========================= */
footer{
	padding: 3rem 0;
}
footer a{
	color: #2c2c2c;
}


















