@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300..500&display=swap');

main {
	font-family: "Noto Sans JP", sans-serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
	line-height:1.75;
	margin-top:20px;
	color:#221815;
}

main > section{
	width:100%;
	margin-bottom:0;
}
main > section > div{
	width:870px;
	margin:auto;
	padding:3.5em 0;
}

section.top{
	background:#d8eef1;
	background:url(../images/line/top_bg.png) no-repeat;
	background-size:cover;
	background-position:bottom center;
}
.top h1{
	text-align:center;
	font-weight:500;
	font-size:4.2rem;
}
.top h1 img{
	width:397.5px;
	margin-top:0.5em;
	margin-bottom:0.3em;
}

.top .annoTxt{
	text-align:right;
	font-size:1.4rem;
	font-weight:300;
	margin-top:-1em;
	margin-bottom:calc(4.5% + 1em);
}

.top .copyTxt{
	font-size:2rem;
	text-align:center;
}
.top .copyTxt span{
	font-size:2.1rem;
	font-weight:500;
	color:#F22100;
}

.top .capImgs{
	position:relative;
}
.top .capImgs li{
	position:absolute;
	left:50%;
	top:0;
	margin-left:-98px;
	opacity:0;
	transition:opacity 0.5s;
}
.top .capImgs img{
	width:197px;
}

.top .capImgs li.anim{
	opacity:1;
}

.top .capTxts{
	display:flex;
	flex-wrap:wrap;
	justify-content:space-between;
}
.top .capTxts {
}

.top .capTxts li{
	position:relative;
	margin-bottom:35px;
}
.top .capTxts li:first-child{
	display:none;
}
.top .capTxts img{
	width:334px;
}
.top .capTxts li > img{
	position:absolute;
	top:0;
	left:0;
	opacity:0;
	transition:opacity 0.5s;
}
.top .capTxts li.anim > img{
	opacity:1;
}
.top .capTxts li > picture{
	transition:opacity 0.5s;
}
.top .capTxts li.anim > picture{
	opacity:0;
}
.top .capTxts li p{
	width:300px;
	font-size:1.4rem;
	font-weight:300;
	text-indent:-1em;
	padding-left:1em;
	margin-left:auto;
	margin-top:1em;
}

.top .btnBox{
}

.lineBtn{
	background:white;
	font-weight:500;
	font-size:2.5rem;
	color:#27A0B1;
	text-align:center;
	position:relative;
	padding:0.5em 2.5em;
	border-radius:0.4em;
	letter-spacing:0.2em;
	display:inline-block;
	box-shadow: 5px 5px 0px 0px rgba(0, 0, 0, 0.1);
}
.lineBtn::after{
	content:"";
	background:url(../images/line/btn_arrow.png) no-repeat;
	background-size:contain;
	width:1em;
	height:1em;
	position:absolute;
	right:0.5em;
	top:50%;
	transform:translate(0, -50%);
}

.titleBorder{
	position:relative;
}
.titleBorder::before{
	content:"";
	width:100%;
	height:100%;
	background:url(../images/line/title_box.png) no-repeat;
	background-size:contain;
	background-position:center;
	text-align:center;
	position:absolute;
	left:0;
	top:0;
}
.titleBorder > span{
	position:relative;
}

main section h2{
	font-weight:500;
	color:#27A0B1;
	font-size:2.2rem;
	display:inline-block;
	padding:0.3em 3em;
	margin:auto;
}

section.about{
	background:#f5f4ef;
}

.about > div > .textCenter > p{
	font-size:1.8rem;
	margin-top:2em;
}
.about .example{
	color:#F22100;
	font-size:1.4rem;
	text-decoration:underline;
	text-decoration-color:#032c48;
	text-underline-offset:0.6em;
}

.about > div > ul{
	display:flex;
	gap:46px;
	position:relative;
	margin:auto;
	margin-bottom:5em;
	width:766px;
}
.about > div > ul > li img{
	position:relative;
}
.about > div > ul p{
	margin-top:2em;
	font-size:1.6rem;
}
/*.about > div > ul > li:nth-child(2) > p:last-child{
	position:absolute;
	left:0;
	top:100%;
	width:100%;
	margin-top:2em;
	font-size:1.4rem;
	font-weight:300;
	text-indent:-1em;
	padding-left:1em;
}*/
.about > div > ul::before{
	content:"";
	background:url(../images/line/list_bg1.png) no-repeat;
	background-size:100%;
	width:870px;
	height:150px;
	position:absolute;
	left:50%;
	top:53%;
	transform:translate(-50%, -100%);
}

.func h2{
	font-size:2.6rem;
	padding-top:0.4em;
	padding-bottom:0.4em;
	margin-bottom:1em;
}

.func > div > ul{
	display:flex;
	justify-content:space-between;
	position:relative;
	margin:auto;
	margin-bottom:3em;
	width:766px;
}
.func > div > ul > li{
	width:220px;
}
.func > div > ul dt{
	text-align:center;
	font-size:2rem;
	font-weight:500;
	border-bottom:1px solid #27A0B1;
	padding-bottom:0.3em;
	margin-bottom:0.8em;
}
.func > div > ul dt img{
	width:83px;
	display:block;
	margin:0.5em auto;
}
.func .note{
	font-size:2rem;
	position:relative;
	width:766px;
	margin:auto;
}
.func .note p{
	position:relative;
	text-align:center;
}
.func  .note::before{
	content:"";
	position:absolute;
	width:100%;
	height:1em;
	border-radius:1em;
	background:#DFF1F3;
	left:0;
	bottom:-0.2em;
}

.steps{
	background:#f5f4ef;
}

.steps > div > p{
	text-align: right;
	font-size:1.4rem;
	font-weight:300;
	text-indent:-1em;
	padding-left:1em;
	margin-left:auto;
	margin-top:1em;
}

.steps h2{
	background:white;
	border-radius:2em;
	margin-bottom:2em;
}
.steps > div > ul{
	width:766px;
	margin:auto;
}
.steps > div > ul > li{
	padding-bottom:4em;
}
.steps > div > ul > li:last-child{
	padding-bottom:2em;
}
.steps > div > ul > li::before{
	content:"";
	display:block;
	background:url(../images/line/step1.png) no-repeat;
	background-size:100%;
	width:870px;
	height:0;
	padding-bottom:14.8%;
	margin-left:-52px;
}
.steps > div > ul > li:nth-child(2)::before{
	background-image:url(../images/line/step2.png);
}
.steps > div > ul > li:nth-child(3)::before{
	background-image:url(../images/line/step3.png);
}

.steps .stepTitle{
	font-weight:500;
	font-size:2rem;
	margin-bottom:1em;
}
.steps .stepTitle > span{
	color:#F22100;
}
.friendIcon{
	height:1.3em !important;
	width:auto;
	display:inline-block;
	margin-right:0.5em;
}

.step_lr{
	display:flex;
	justify-content:space-between;
}


.step_lr > div:last-child{
	width:309px;
	background:url(../images/line/list_bg3.png) no-repeat;
	background-size:contain;
	background-position:center center;
}
.stepImg{
	background:url(../images/line/list_bg2.png) no-repeat;
	background-size:contain;
	background-position:center center;
	text-align:center;
	padding-top:8px;
}
.stepImg img{
	width:602px;
}
.stepImgr{
	width:123px;
	position:relative;
	margin:auto;
}
.stepImgr br{
	display:none;
}

.stepImgr p{
	width:387px;
	height:86px;
	position:absolute;
	font-size:1.4rem;
	font-weight:500;
	color:#F22100;
	right:95px;
	bottom:-20px;
	background:url(../images/line/img_step2_line.png) no-repeat;
	background-size:contain;
}
.stepImgr p span{
	position:absolute;
	left:0.2em;
	bottom:0.5em;
	width:100%;
	display:inline-block;
}


.popupBox{
	position:fixed;
	left:0;
	top:0;
	width:100%;
	height:100%;
	z-index:2;
	display:none;
}
.popupBox >  .popupBack{
	display:block;
}
.popupBox > div{
	position:absolute;
	left:50%;
	top:50%;
	transform:translate(-50%, -50%);
	z-index:22;
	padding:27px 50px;
	background:white;
}
.popupBox p{
	margin:-1em 0 2em;
}
@media screen and (max-width:768px){
	.popupBox{
		display:none !important;
	}
}

footer::before{
	background-image:url(../images/line/bg_footer.png);
}

@media screen and (max-width:768px){
	main {
		margin-top:0;
		border-top:10px solid #f5f4ef;
	}
	main > section > div {
		width:auto;
	}
	section.top{
		background-image:url(../images/line/top_bg_sp.png);
		background-position:center center;
	
	}
	section.top{
		padding-bottom:3em;
	}
	.top h1{
		font-size:7.69vw;
	}
	.top h1 img{
		width:100%;
		margin-top:1em;
	}
	.top .capImgs{
		margin-top:1em;
		margin-bottom:2em;
	}
	.top .capImgs li{
		position:absolute;
		left:0;
		top:0;
		margin-left:auto;
		text-align:center;
	}
	.top .capImgs li:first-child{
		position:relative;
	}
	.top .capImgs img{
		width:56.4%;
	}
	
	.top .capTxts{
		display:block;
		position:relative;
	}
	.top .capTxts li{
		position:absolute;
		width:100%;
		opacity:0;
		transition:opacity 0.5s;
	}
	.top .capTxts li:first-child{
		display:block;
	}
	.top .capTxts li:last-child{
		position:relative;
	}
	.top .capTxts li > img{
		display:none;
	}
	.top .capTxts li:first-child > img{
		display:block;
	}
	.top .capTxts li p{
		width:auto;
		font-size:3.08vw;
	}
	.top .capTxts img{
		width:100%;
	}
	.top .copyTxt{
		font-size:4.29vw;
	}
	.top .copyTxt span{
		font-size:4.5vw;
	}
	.top .capTxts li.anim{
		opacity:1;
	}
	.top .capTxts li.anim > picture{
		opacity:1;
	}
	.lineBtn{
		width:100%;
		font-size:4.78vw;
		padding-left:0;
		padding-right:0;
	}
	
	main section h2{
		font-size:4.87vw;
		padding:0.5em 0;
		width:100%;
		letter-spacing:0.2em;
	}
	.about > div > .textCenter > p{
		font-size:4.36vw;
	}
	
	.about > div > ul{
		display:block;
		width:64%;
	}
	.about > div > ul p{
		font-size:3.846vw;
		margin-top:2em;
		margin-bottom:3em;
	}
	.about > div > ul p sup{
		font-size:60%;
	}
	.about > div > ul p sup.pa{
		position:absolute;
	}
	.about > div > ul > li{
		position:relative;
	}
/*	.about > div > ul > li:nth-child(2) > p:last-child{
		position:static;
		margin-top:-3em;
		font-size:3.0769vw;
	}*/
	.about > div > ul::before{
		background-image:url(../images/line/list_bg1_sp.png);
		width:90%;
		height:0;
		padding-bottom:560%;
		left:-37%;
		background-size:contain;
		transform:translate(0, -50%);
	}
	
	.func h2{
		font-size:4.87vw;
		letter-spacing:0;
		margin-bottom:2em;
	}
	
	.func > div > ul{
		display:block;
		width:auto;
	}
	.func > div > ul > li{
		width:auto;
		margin-bottom:3em;
	}
	.func > div > ul dt img{
		width:20%;
	}
	.func > div > ul dt{
		font-size:5.769vw;
		letter-spacing:0.2em;
	}
	.func > div > ul dd{
		font-size:3.846vw;
	}
	
	.func .note{
		width:auto;
		font-size:4.35897vw;
	}
	
	.steps > div > ul{
		width:auto;
	}
	.steps > div > ul > li{
		padding-bottom:3em;
	}

	.steps > div > ul > li::before{
		background-image:url(../images/line/step1_sp.png);
		width:100%;
		padding-bottom:25.294117647058823529411764705882%;
		margin-left:auto;
	}
	.steps > div > ul > li:nth-child(2)::before{
		background-image:url(../images/line/step2_sp.png);
	}
	.steps > div > ul > li:nth-child(3)::before{
		background-image:url(../images/line/step3_sp.png);
	}
	.steps .stepTitle{
		text-align:center;
		font-size:5.385vw;
		margin-top:1em;
	}
	.steps p{
		font-size:3.846vw;
	}
	.step_lr{
		display:block;
	}
	.step_lr > div{
		text-align:center;
	}
	.step_lr > div:last-child{
		width:auto;
	}
	.stepBtn{
		text-align:center;
	}
	.stepBtn img{
		width:60%;
	}
	.frendBox{
		text-align:left;
		display:inline-block;
		position:relative;
		left:1em;
	}
	.friendIcon{
		position:absolute;
		left:-3em;
		top:0.5em;
		width:auto;
		height:2em !important;
	}
	.stepImgr{
		width:60%;
	}
	.stepImgr br{
		display:initial;
	}
	.stepImgr p{
		width:105%;
		margin-left:-2.5%;
		position:static;
		background:none;
		text-align:center;
		font-weight:500;
		margin-top:2em;
	}
	.stepImgr p span{
		position:static;
	}
	
	.steps li:nth-child(3) p{
		text-align:center;
	}
	
	.step_lr > div:last-child{
		background:none;
	}
	.steps > div > ul > li:nth-child(2) .stepImgr{
		position:relative;
	}
	.steps > div > ul > li:nth-child(2) .stepImgr::before{
		content:"";
		position:absolute;
		background:url(../images/line/list_bg2_sp.png) no-repeat;
		width:80%;
		height:0;
		padding-bottom:290%;
		left:-43%;
		top:50%;
		background-size:contain;
		transform:translate(0, -50%);
	}
	.steps > div > ul > li:nth-child(2) .stepImgr img{
		position:relative;
	}
	.steps > div > p{
		text-align:center;
	}

}

