/*----------------------------------------------------
** WEB COMBO / exsample.css *ページに合わせてファイル名を変更する
** Ver.1.0.0
** copyright 2020 GRANTEST Inc.
**----------------------------------------------------
** Common settings
**----------------------------------------------------*/
/*共通のスタイルをここに記載*/
main{
	background-color: #fff;
}
div.pageheader div.inner > h3{
	color: #fff;
}
 #pageheader figure img {
    width: 100%;
    object-fit: cover;
    object-position: bottom center;
}
span.opa {
  width: 0;
  height: 0;
  display: block;
  opacity: 0;
  overflow: hidden;
}
/*色変*/
.green{
	color: #00a79e;
}
/*こめ*/
.kome{
	display: flex;
	font-size: 0.9rem;
}
.kome::before{
	content: "※";
	flex: none;
	margin-right: 0.15rem;
	font-size: 0.9rem;
}
/*画像*/
figure{
}
figure picture{
	width: 100%;
	height: 100%;
	display: block;
}
figure img{
	width: 100%;
	height: auto;
	object-fit: cover;
}
/*ボタン*/
div.btn.line a{
	background-color: #06c755;
}
/*LINE相談について*/
.line_about{
	box-sizing: border-box;
}
.line_about > p{
	line-height: 2em;
}
.line_about > p:not(:first-of-type){
	margin-top: 0.5rem;
}
/*各コンテンツタイトル*/
.contents_title{
  text-align: center;
  font-weight: 700;
  position: relative;
  z-index: 1;
}
.contents_title .free{
  background-color: #fff;
	color: #00a79e;
	border: solid 2px #00a79e;
  padding: 0.1rem 1rem;
  border-radius: 5px;
  position: relative;
  z-index: 1;
  font-weight: 700;
  margin: 0 auto 0.8rem auto;
  display: table;
}
.contents_title .free::after{
	content: "";
  width: 0.72rem;
  height: 0.72rem;
  border-right: solid 2px #00a79e;
  background-color: #fff;
  position: absolute;
  left: 50%;
  transform: translateX(-50%) rotate(45deg);
  bottom: -0.4rem;
  z-index: -1;
  border-radius: 0 0 0.2rem 0;
  border-bottom: 2px solid #00a79e;
}
/*LINEエリア*/
.line_area{
	box-sizing: border-box;
	background-color: #f2f2f6;
	position: relative;
	z-index: 1;
	overflow: hidden;
}
.line_area::before{
	content: "";
	width: 100vw;
	height: 50px;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 2;
}
.line_area .worried_list{
	width:calc(100% - (150px - 2em));
	margin: 0 auto;
	position: relative;
	z-index: 1;
	list-style: none;
	list-style-position: outside;
	display: flex;
}

.line_area .worried_list::before,
.line_area .worried_list::after{
	content: "";
	width: 80px;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	position: absolute;
	bottom: 0;
}
.line_area .worried_list::before{
	background-image: url("/img2021/line/worried/left.webp");
	left: -92px;
	height: 140px;
}
body.safari .line_area .worried_list::before{
	background-image: url("/img2021/line/worried/left.png")
}
.line_area .worried_list::after{
	background-image: url("/img2021/line/worried/right.webp");
	right: -92px;
	height: 123px;
}
body.safari .line_area .worried_list::after{
	background-image: url("/img2021/line/worried/right.png")
}
.line_area .worried_list li{
	background-color: #fff;
	border-radius: 0.5rem;
	position: relative;
	z-index: 1;
	padding: 0.75rem 0.75rem;
	font-weight: 700;
	box-sizing: border-box;
}
.line_area .line_text{
	margin-top: 20px;
}
.line_area .line_text > p{
	line-height: 2em;
}
.line_area .line_text > p:not(:first-of-type){
	margin-top: 0.5rem;
}
.line_area .line_text .btn{
	margin-top: 20px;
}
/*ご利用の流れ*/
.flow{
	box-sizing: border-box;
	position: relative;
	z-index: 1;
}
.flow::before{
	content: "";
	width: 100vw;
	height: 50px;
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	background-color: #f2f2f6;
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	z-index: 2;
}
.flow article{
	border: solid 2px #00a79e;
	box-sizing: border-box;
	display: flex;
	position: relative;
	z-index: 1;
}
.flow article::before,
.flow article::after{
	content: "";
  width: 1.5rem;
  height: 1.5rem;
  border-right: 2px solid #00a79e;
  border-bottom: 2px solid #00a79e;
  position: absolute;
  left: 0;
  transform: rotate(45deg);
}
.flow article::before{
  bottom: -2rem;
}
.flow article::after{
  bottom: -2.75rem;
}
.flow article:last-of-type::before,
.flow article:last-of-type::after{
	display: none;
}
.flow article .f_text{
}
.flow article .f_text > h2{
	position: relative;
  z-index: 1;
  min-height: 60px;
  padding-left: calc(60px + 1em);
  font-size: 16px;
  font-weight: 700;
  padding-top: 1em;
  box-sizing: border-box;
	overflow: hidden;
}
.flow article .f_text > h2 .f_num{
	width: 80px;
  height: 80px;
  position: absolute;
  top: -20px;
  left: -20px;
  display: flex;
  background-color: #fff;
  border: solid 2px #00a79e;
  border-radius: 50%;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  padding-top: 15px;
  padding-left: 12px;
}
.flow article .f_text > h2 .f_num span{
	color: #00a79e;
	font-size: 28px;
	line-height: 1em;
}
.flow article .f_text > h2 .f_num span::before{
	content: "STEP";
  display: table;
  color: #00a79e;
  font-size: 0.9rem;
  line-height: 1em;
}
.flow article .f_text > .f_in_text{
	padding: 0.75rem 1em 1em 1em;
	box-sizing: border-box;
}
.flow article .f_text > .f_in_text p{
	line-height: 1.8rem;
}
.flow article .f_text > .f_in_text p:not(:first-of-type){
	margin-top: 0.5rem;
}
.flow article .f_text > .f_in_text p.kome{
	line-height: 1.25em;
}
.flow article .f_text > .f_in_text .btn{
	margin-top: 1rem;
}
.flow article figure{
}
.flow article figure img{
	aspect-ratio:1.414/1;
}
@media only screen and (-webkit-min-device-pixel-ratio:2), (min-resolution: 2dppx){
	
	/*レティーナディスプレイ用のスタイルをここに記載*/
	
}
@media screen and (max-width:767px){
	
	/*スマートフォン用のスタイルをここに記載*/
	/*共通*/
	div.btn{
		display: table;
		margin: 0 auto;
	}
	div.btn a{
		line-height: 50px;
		display: block;
		padding: 0 4em 0 2em;
		background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M15.979%200c-8.565%200-15.541%206.741-15.957%2015.2h23.083l-7.68-7.691c-0.309-0.309-0.309-0.821%200-1.131s0.821-0.309%201.131%200l9.611%209.621-9.611%209.621c-0.16%200.16-0.363%200.235-0.565%200.235s-0.405-0.075-0.565-0.235c-0.309-0.309-0.309-0.821%200-1.131l7.68-7.691h-23.083c0.416%208.459%207.392%2015.2%2015.957%2015.2%208.832%200%2016-7.168%2016-16s-7.168-16-16-16z%22%20%2F%3E%3C%2Fsvg%3E');
		background-repeat: no-repeat;
		background-size: 30px;
		background-position: right 1em center;
		box-sizing: border-box;
		background-color: #00a79e;
		border-radius: 4.5px;
		color: #fff;
		font-weight: 700;
		font-size: 16px;
		text-align: center;
	}
	/*各コンテンツタイトル*/
	.contents_title{
		font-size: 18px;
		margin-bottom: 20px;
	}
	/*コンテンツ*/
	/*LINE相談について*/
	.line_about{
		padding: 70px 1em 20px;
	}
	.line_about p br.none{
		display: none;
	}
	.line_about .btn{
		margin-top: 20px;
	}
	/*LINEエリア*/
	.line_area{
		padding: 80px 1em 20px;
	}
	.line_area .worried_list{
		flex-direction: column;
		gap:0.75rem;
	}
	.line_area .line_text br.none{
		display: none;
	}
	.line_area .btn{
		margin-top: 20px;
	}
	/*ご利用の流れ*/
	.flow{
		padding: 80px 1em 80px;
	}
	.flow article{
		flex-direction: column;
		padding-bottom: 1rem;
	}
	.flow article:not(:first-of-type){
		margin-top: 3.75rem;
	}
	.flow article figure{
		width: calc(100% - 2rem);
		margin: 0 auto;
	}
}
@media screen and (max-width:320px){
	
	/*小さいサイズのスマートフォン用のスタイルをここに記載*/
	
}
@media screen and (min-width:768px) and (max-width:1099px){
	
	/*タブレット用のスタイルをここに記載*/
	/*共通*/
	div.btn{
		display: table;
		margin: 0 auto;
	}
	div.btn a{
		line-height: 60px;
		display: block;
		padding: 0 4em 0 2em;
		background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M15.979%200c-8.565%200-15.541%206.741-15.957%2015.2h23.083l-7.68-7.691c-0.309-0.309-0.309-0.821%200-1.131s0.821-0.309%201.131%200l9.611%209.621-9.611%209.621c-0.16%200.16-0.363%200.235-0.565%200.235s-0.405-0.075-0.565-0.235c-0.309-0.309-0.309-0.821%200-1.131l7.68-7.691h-23.083c0.416%208.459%207.392%2015.2%2015.957%2015.2%208.832%200%2016-7.168%2016-16s-7.168-16-16-16z%22%20%2F%3E%3C%2Fsvg%3E');
		background-repeat: no-repeat;
		background-size: 30px;
		background-position: right 1em center;
		box-sizing: border-box;
		background-color: #00a79e;
		border-radius: 4.5px;
		color: #fff;
		font-weight: 700;
		text-align: center;
		font-size: 18px;
	}
	/*コンテンツ*/
	/*コンテンツタイトル*/
	.contents_title{
		font-size: 24px;
		margin-bottom: 25px;
	}
	/*LINE相談について*/
	.line_about{
		padding: 100px 1em;
	}
	.line_about p{
		text-align: center;
	}
	.line_about .btn{
		margin-top: 20px;
	}
	/*LINEエリア*/
	.line_area{
		padding: 120px 1em 100px 1em;
	}
	.line_area::before{
		width: 400px;
    height: 85px;
		left: 50%;
		transform: translateX(-50%);
	}
	.line_area .worried_list{
		width: calc(100% - (300px - 2em));
		gap:1rem;
		flex-wrap: wrap;
	}
	.line_area .worried_list::before{
		left: -100px;
	}
	.line_area .worried_list::after{
		right: -100px;
	}
	.line_area .worried_list li{
		width: calc(50% - 0.5rem);
		padding: 1rem;
	}
	.line_area .line_text > p{
		text-align: center;
	}
	.line_area .btn{
		margin-top: 20px;
	}
	/*ご利用の流れ*/
	.flow{
		padding: 120px 1em 100px 1em;
	}
	.flow::before{
		width: 400px;
    height: 85px;
    left: 50%;
    transform: translateX(-50%);
	}
	.flow article{
		padding-bottom: 1rem;
		padding-right: 1rem;
	}
	.flow article::before,
	.flow article::after{
		left: 0.75rem;
	}
	.flow article:not(:first-of-type){
		margin-top: 3.75rem;
	}
	.flow article .f_text{
		width: 50%;
	}
	.flow article .f_text{
	}
	.flow article .f_text > h2{
		font-size: 18px;
		min-height: 70px;
	}
	.flow article .f_text > h2 .f_num {
  	width: 90px;
  	height: 90px;
	}
	.flow article figure{
		width: 50%;
		margin-top: 1rem;
	}
	
	
}
@media (orientation: landscape) and (max-width:568px){
	
	/*小さいサイズのスマートフォン用横向きのスタイルをここに記載*/
	
}
@media (orientation: landscape) and (min-width:569px) and (max-width:724px){
	
	/*大きいサイズのスマートフォン用横向きのスタイルをここに記載*/
	
}
@media (orientation: landscape) and (min-width:725px) and (max-width:1099px){
	
	/*タブレット用横向きのスタイルをここに記載*/
}
@media screen and (min-width:1100px){
	
	/*PC用のスタイルをここに記載*/
	/*共通*/
	div.btn{
		display: table;
		margin: 0 auto;
	}
	div.btn a{
		line-height: 60px;
    display: block;
    padding: 0 3em 0 1em;
    background-image: url('data:image/svg+xml;charset=UTF-8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%2032%2032%22%3E%3Cpath%20fill%3D%22%23fff%22%20d%3D%22M15.979%200c-8.565%200-15.541%206.741-15.957%2015.2h23.083l-7.68-7.691c-0.309-0.309-0.309-0.821%200-1.131s0.821-0.309%201.131%200l9.611%209.621-9.611%209.621c-0.16%200.16-0.363%200.235-0.565%200.235s-0.405-0.075-0.565-0.235c-0.309-0.309-0.309-0.821%200-1.131l7.68-7.691h-23.083c0.416%208.459%207.392%2015.2%2015.957%2015.2%208.832%200%2016-7.168%2016-16s-7.168-16-16-16z%22%20%2F%3E%3C%2Fsvg%3E');
    background-repeat: no-repeat;
    background-size: 30px;
    background-position: right 1em center;
    box-sizing: border-box;
    background-color: #00a79e;
    border-radius: 4.5px;
    color: #fff;
    font-weight: 700;
    text-align: center;
    font-size: 18px;
	}
	/*各コンテンツタイトル*/
	.contents_title{
		font-size: 24px;
		margin-bottom: 25px;
	}
	/*コンテンツ*/
	/*LINE相談について*/
	.line_about{
		padding: 100px calc((100vw - 1100px) / 2);
	}
	.line_about p{
		text-align: center;
	}
	.line_about .btn{
		margin-top: 20px;
	}
	/*LINEエリア*/
	.line_area{
		padding: 120px calc((100vw - 1100px) / 2) 100px calc((100vw - 1100px) / 2);
	}
	.line_area::before{
		width: 400px;
    height: 85px;
		left: 50%;
		transform: translateX(-50%);
	}
	.line_area .worried_list{
		gap:1rem;
		flex-wrap: wrap;
		width: 830px;
	}
	.line_area .worried_list::before{
		left: -100px;
	}
	.line_area .worried_list::after{
		right: -100px;
	}
	.line_area .worried_list li{
		width: calc(50% - 0.5rem);
		padding: 1rem;
	}
	.line_area .line_text > p{
		text-align: center;
	}
	.line_area .btn{
		margin-top: 20px;
	}
	/*ご利用の流れ*/
	.flow{
		padding: 120px calc((100vw - 1100px) / 2) 100px calc((100vw - 1100px) / 2);
	}
	.flow::before{
		width: 400px;
    height: 85px;
    left: 50%;
    transform: translateX(-50%);
	}
	.flow article{
		padding-bottom: 1rem;
		padding-right: 1rem;
	}
	.flow article::before,
	.flow article::after{
		left: 0.75rem;
	}
	.flow article:not(:first-of-type){
		margin-top: 3.75rem;
	}
	.flow article .f_text{
		width: 50%;
	}
	.flow article .f_text{
	}
	.flow article .f_text > h2{
		font-size: 18px;
		min-height: 70px;
	}
	.flow article .f_text > h2 .f_num {
  	width: 90px;
  	height: 90px;
	}
	.flow article figure{
		width: 50%;
		margin-top: 1rem;
	}
}