html{
	scroll-behavior: smooth;
	color:#333;
}
body,html{
	margin:0;
	padding:0;
}
h1{
	margin:0 auto 0 auto;
	padding:0;
}
h1 img{
	width:100%;
	display: block;
	margin:0;
}
.lead{
	background: #ff329b;
	padding:10px;
	text-align: center;
	font-weight:bold;
	color:#FFF;
}
.ef-h2{
	font-weight:bold;
	font-size: clamp(16px, 5vw, 18px); /* デバイスに応じたフォントサイズ調整 */
	line-height: 1.5em;
	border: #FFF dotted 1px;
	padding:20px 8px;
	margin:0;
}
.ef-h2 span{
font-style: italic;
	font-size: clamp(18px, 5.6vw, 22px); /* デバイスに応じたフォントサイズ調整 */
	margin-bottom:10px;
	display: inline-block;
	/*white-space: nowrap;  改行されないように設定 */
}
.ef-p{
	font-size:14px;
	color:#333;
	margin:20px 16px;
}
.osusume{
	width:100%;
	aspect-ratio:1500 / 709;
	background: url("../img/osusume_bg@2x.png") no-repeat center center;
	background-size: contain;
	position: relative;
	margin-bottom:20px;
}
.osusume-box{
	position: absolute;
	top:50%;
	left:40px;
	transform: translateY(-50%);
	font-size:16px;
}
.osusume-box h3{
	position: relative;
	display: inline-block;
	/*padding:0 1em;*/
	font-size:18px;
	font-weight:bold;
	padding: 0 auto 6px auto;
	margin-top:5px;
	margin-bottom:20px;
}
.osusume-box h3::before,
.osusume-box h3::after{
	content:'';
	display: inline-block;
	width:14px;
	height:22px;
	background-size: contain;
	background-repeat: no-repeat;
	vertical-align: middle;
}

.osusume-box h3::before{
	background: url(../img/osusume-before.png) no-repeat;
	margin-right:8px;
	background-size: 14px;
}
.osusume-box h3::after{
	background: url(../img/osusume-after.png) no-repeat;
	margin-left:8px;
	background-size: 14px;
}
.osusume-box ul{
	margin:0 0 5px 0;
	padding:0;
	list-style-type: none;
	
}
.osusume-box ul li{
	margin:0 0 10px 0 ;
	padding-left:20px;
	background: url("../img/check.png") no-repeat center left;
	background-size: 16px;

}
.osusume-box strong{
	font-weight:bold;
	background:linear-gradient(transparent 80%, #ff6 80%);
}
.osusume-box span{
	display: inline-block;
	margin-left:20px;
}
.btn-box{
	margin:10px 0 20px 0;
	padding:20px 10px 10px 10px;
	border: #333 dotted 1px;
	font-size:14px;
	text-align: center;
}
.ef-btn{
	background : linear-gradient(90deg, rgba(236, 35, 126, 1) 0%, rgba(248, 218, 143, 1) 99.61%);
	filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#EC237E',endColorstr='#F8DA8F' , GradientType=1);
	border-bottom:#ccc solid 7px;
}
.line-btn{
	background :#00b900;
	border-radius : 60px;
	-moz-border-radius : 60px;
	-webkit-border-radius : 60px;
	border-bottom:#039103 solid 7px;
}
.ef-btn,.line-btn{
	color:#FFF;
	font-weight:bold;
	font-size:18px;
	height:90px;
	display: flex;
	align-items: center;
	justify-content: center;
	width:80%;
	margin:10px auto 10px auto;
	border-radius : 60px;
	-moz-border-radius : 60px;
	-webkit-border-radius : 60px;
	
}

.btn-box a{
	color:#FFF;
	text-decoration: none;
	display: block;
	
}

.ef-footer{
	background: #e8e8e8;
	text-align: center;
	padding:20px;
}
.logo{
	width:10%;
}
.ef-footer-ul{
	list-style: none;
	margin:0;
	padding:0;
	display: inline;
}
.ef-footer-ul li{
    position: relative;
	display: inline;
	margin:0 5px;
	padding:0 0 0 10px;
	font-size:13px;
  }
 
.ef-footer-ul li:before {
    content: "";
    position: absolute;
    top: .45em;
    left: 0;
    -webkit-transform: rotate(45deg);
    -ms-transform: rotate(45deg);
    transform: rotate(45deg);
    width: 5px;
    height: 5px;
    border-top: 2px solid #ff329b;
    border-right: 2px solid #ff329b;
  }
.b-txt{
	font-weight: bold;
	font-size:14px;
	margin:20px auto 10px auto;
}
.ef-copy{
	color:#666;
	font-size:12px;
	margin:20px auto 0 auto;
}
.ef-footer-ul a{
	color:#333;
	text-decoration: none;
}








/* ------------------------------------------------------------ */
@media (max-width: 500px) {

.osusume-box{
	left:16px;
	font-size:14px;
}
.osusume-box ul li{
	margin:0 0 5px 0 ;

}
.osusume-box h3{
	margin-bottom:10px;
}	
}

/* ------------------------------------------------------------ */
@media (max-width: 400px) {
.ef-btn,.line-btn{
	width:90%;
}	
}
/* ------------------------------------------------------------ */
@media (max-width: 321px) {
.ef-btn,.line-btn{
	width:96%;
}	
}