@charset "UTF-8";
/* CSS Document */

#by {
		font-family: Optima, Candara, 'Noto Sans', source-sans-pro, sans-serif;
		font-family:'Noto Sans JP', "Hiragino Sans", "Hiragino Kaku Gothic ProN", Meiryo, "sans-serif";
		font-size: 12px;
		line-height: 2.0em;
	    overflow: hidden;
		width: 100%;
	    margin: 0 auto;
		color: #000;
	}
img {
		width: 100%;
	    object-fit: cover;
}

a {
	text-decoration: none;
	color: #000;
}

ul,li {
	list-style: none;
	padding: 0;
	margin: 0;
}

#main_visual {
	margin: 0 auto 10%;
	position: relative;
	background-color: #fdfd96;
	width: 100%;
	height: 400px;
}


#main_visual .main_ttl{
	width: 78%;
	position: absolute;
	left: 42%;
	top: 50%;
	transform: translate(-50%,-50%);
}

@media only screen and (min-width: 768px){
	#main_visual {
	height: 650px;
}
	#main_visual .main_ttl{
	width: 41%;
	top: 50%;
	left: 45%;
	}
}

#by .read{
	margin: 5% auto ;
	text-align: center;
	font-size: 15px;
	
}

#by .read .marker{

  background:linear-gradient(transparent 50%, rgba(255, 202, 128) 50%);
  display: inline;

  /* 背景の繰り返しを停止 */
  background-repeat: no-repeat;

  /* マーカーの横方向を0にして縮める */
  background-size: 0% 100%;

  /* マーカーが引かれる速度を指定 */
  transition:background-size 1.5s;
}
/* マーカーが引かれる際に付与するクラス */
#by .read .marker.on {
  /* 横方向を100%にして、マーカーを引く */
  background-size: 100% 100%;
}

@media only screen and (min-width: 768px){
	#by .read{
		font-size: 23px;
		text-align: center;
		margin: 0 auto 7%;
	}

}

#by .no{
	
}

#by .no .no_img{
	width: 10%;
	margin: 10% auto 5%;
}

#by .box {
    padding: 1.5em 1em;
    margin: 2em 1em 5em;
    border: solid 1px #000000;
	text-align: center;
}
#by .box p {
    margin: 0; 
    padding: 0;
	text-align: center;
}

#by .box .point{
	width: 80%;
	margin: 5% auto;
}

#by .box .po_txt{
	
}

@media only screen and (min-width: 768px){
	#by .flex{
		display: flex;
        justify-content: space-around;
        width: 1200px;
		margin: 0 auto;
	}
	#by .flex .child{
		width: 30%;
	}
	
	#by .no .no_img{
	width: 8%;
	margin: 0 auto;
	}
	#by .box {
    margin: 2em auto 10em;
    }
	#by .box p {
	font-size: 15px;
	}
	#by .box .po_txt {
    font-size: 15px;
	}

}

#by .app{
	text-align: center;
	margin: 0 auto 10%;
}

#by .step{
	width: 23%;
	margin: 0 auto;
	position: relative;
	display: inline-block;
	margin-bottom: 1em;
}
#by .step:before{
  content: '';
  position: absolute;
  bottom: -10px;
  display: inline-block;
  width: 45px;
  height: 2px;
  left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
  background-color: black;
  border-radius: 2px;
}

#by .step_txt{
	margin: 0 auto;
	padding: 10px;
}

#by .app01{
	width: 85%;
	margin: 10% auto;
}

@media only screen and (min-width: 768px)  {
	#by .app{
	text-align: center;
	margin: 0 auto;
	}
	#by .step_p{
	display: flex;
    align-items: center;
	margin: 10% auto;
	width: 900px;
	}
	#by .step_txt{
	text-align: center;
	width: 44%;
	padding: 0;
	}
	#by .app01{
	width: 43%;
	margin: 5% auto;
	}

	#by .step{
	width: 10%;
	}


}

#by .button-all{
	display: flex;
    justify-content: center;
    align-items: center;
    width: 76%;
    margin: 15% auto;
    padding: .7em 1.8em;
    border: none;
    border-radius: 5px;
    background-color: #000;
    color: #fff;
    font-size: 1em;
		
}

@media only screen and (min-width: 768px)  {
	#by .button-all{
	width: 37%;
	font-size: 1.5em;
	margin: 7% auto 15%;
	}
	
}

#by .present{
	margin: 0 auto;
	padding: 10px;
}


@media only screen and (min-width: 768px)  {
	#by .present{
	padding: 0;
	}
	#by .present p{
		text-align: center;
		}

}

#by .kiyaku{
	margin: 10% auto 12%;
}

#by .kiyaku .kiyaku_txt{
	border: solid 1px #000;
	padding: 10px;
	max-width: 95%;
	margin: 0 auto;
}

#by .kiyaku p{
	text-align: center;
	font-weight: 600;
	margin-bottom: 2%;
    font-size: 14px;
}
@media only screen and (min-width: 768px)  {
	#by .kiyaku .kiyaku_txt{
		width: 900px;
		margin: 0 auto;
		padding: 50px;
	}
}

#by .kiyaku .kiyaku_txt .line{
	text-decoration: underline;
	
}
/*////pcview////*/
   .spview {
        display: none;
    }    
    .pcview {
        display: block;
    }
@media only screen and (max-width: 768px)  {
   .spview {
        display: block;
    }    
   .pcview {
        display: none;
    }    
}

#by .flex .box .highlight{
	background: linear-gradient(transparent 50%, #fdfd96 50%);
}

#by .read .read_txt{
	font-size: 12px;
	margin: 4% auto;
}

#by .read .limited{
	font-size: 11px;
	margin: 0 auto 1%;
    display: inline-block;
	
}

#by .read .read_txt .po_col{
	color: #0044D0;
	font-weight: 600;
}

#by .read .read_txt .date{
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 8px;
	
}

.anim{
	opacity: 0;
	transition: 2.5s all 0s ease;
}
.anim.ac{
	opacity: 1;
}

.anim-left {
	opacity: 0;
}
	
.anim-left.acl {
	opacity: 1;
	width: 100%;
	height: 13px;
	white-space: nowrap;
	overflow: hidden;
	animation: paint 0.3s forwards linear;
}
@keyframes paint {
	 from {
		  width: 0%;
		}
		to {
			width: 100%;
		}
	}