@charset "utf-8";

/* ----------------------------- guide ------------------------------- */
.mainImg {
	background-image: url(../images/guide/main_img.jpg);
}
#main .termsBox {
	padding-bottom: 234px;
	position: relative;
}
#main .termsBox .headLine01 {
	margin-bottom: 125px;
}
#main .termsBox::before {
	width: 190px;
	height: 270px;
	position: absolute;  
	top: 5px;
	right: -118px;  
	opacity: 0.4;
	border-radius: 50px;
	background-image: -webkit-linear-gradient( 90deg, rgb(250,112,154) 0%, rgb(252,169,109) 53%, rgb(254,225,64) 100%);
	content: ""; 
}
#main .termsBox .txtInner {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
}
#main .termsBox .txtInner .txtBox {
	width: 575px;
}
#main .termsBox .txtInner .txtBox h4 {
	margin: 0 -5px 43px;
	color: #368c9b;
	font-size: 28px;
	font-weight: 300;
}
#main .termsBox .txtInner .txtBox p {
	font-weight: 300;
	line-height: 1.75;
}
#main .termsBox .txtInner .noteBox {
	padding-bottom: 31px;
	margin-top: 76px;
	width: 440px;
	overflow: hidden;
	border-radius: 10px;
	background-color: #EBF3F5;
}
#main .termsBox .txtInner .noteBox .ttl {
	padding: 15px 37px 14px;
	color: #FFF;
	font-size: 18px;
	background-color: #368C9B;
}
#main .termsBox .txtInner .noteBox ul {
	margin: 27px 15px 0 66px;
}
#main .termsBox .txtInner .noteBox li {
	margin-bottom: 15px;
	position: relative;
	color: #368c9b;
	font-size: 18px;
	line-height: 1.7;
	letter-spacing: 0.05em;	
}
#main .termsBox .txtInner .noteBox li:last-child {
	margin-bottom: 0;
} 
#main .termsBox .txtInner .noteBox li .num {
	width: 22px;
	height: 22px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	position: absolute;
	left: -29px; 
	top: 4px;
	padding: 0 0 1px 2px;
	color: #FFF;
	font-size: 16px;
	text-align: center;
	border-radius: 50%;
	background-color: #368C9B;
}
#main .flowBox {
	padding: 110px 0 130px;
	position: relative;
	background-color: #EBF3F5;
}
#main .flowBox::before {
	width: 84px;  
	height: 198px;
	position: absolute;  
	top: -99px;
	left: calc(50% - 550px);  
	opacity: 0.4;
	border-radius: 50px;
	background-image: -webkit-linear-gradient( 90deg, rgb(32,226,215) 0%, rgb(141,240,190) 49%, rgb(249,254,165) 100%);
	content: ""; 
}
#main .flowBox .flowInner {
	margin: 0 auto 77px;
	min-height: 252px;
	max-width: 900px;
	padding: 58px 61px 20px 38px;
	position: relative;
	display: flex;
	flex-wrap: wrap;
	border-radius: 10px;
	border: 2px solid #368C9B;
	justify-content: space-between;
	background-color: #FFF;
}
#main .flowBox .flowInner:last-child {
	margin-bottom: 0;
}
#main .flowBox .flowInner::before {
	position: absolute;
	left: 50%;
	bottom: -77px;
	width: 2px;
	height: 77px;
	background-color: #368C9B;
	transform: translatex(-50%);
	content: ""
}
#main .flowBox .flowInner:last-of-type:before {
	display: none;
}
#main .flowBox .flowInner .num {
	position: absolute;
	letter-spacing: 0.05em;
	top: -32px;
	width: 62px;
	height: 62px;
	text-align: center;
	border-radius: 50%;
	left: 50%;
	z-index: 10;
	color: #FFF;
	font-weight: 700;
	font-size: 28px;
	line-height: 62px;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	transform: translatex(-50%);
	background-color: #368C9B;
}
#main .flowBox .flowInner .phoBox {
	width: 200px;
	text-align: center;
}
#main .flowBox .flowInner .txtBox {
	margin-top: -5px;
	width: 560px;
}
#main .flowBox .flowInner .txtBox h4 {
	margin-bottom: 18px;
	color: #368c9b;
	font-size: 28px;
	font-weight: 300;
	line-height: 1.5;
	letter-spacing: 0.05em;
}
#main .flowBox .flowInner .txtBox p {
	font-weight: 300;
	margin: 0 5px;
	line-height: 1.75;
	text-align: justify;
}
#main .faqBox {
	padding: 117px 0 110px;
	position: relative;
}
#main .faqBox::before {
	width: 105px;  
	height: 255px;
	position: absolute;  
	left: 0;  
	top: 123px;
	opacity: 0.2;
	border-radius: 50px;
	background-image: -webkit-linear-gradient( 90deg, rgb(250,113,205) 0%, rgb(182,179,210) 51%, rgb(113,245,215) 100%);
	content: ""; 
}
#main .faqBox::after {
	width: 215px;
	height: 71px;
	position: absolute;  
	bottom: 275px;
	right: -35px;  
	opacity: 0.4;
	border-radius: 50px;
	background-image: -webkit-linear-gradient( 180deg, #96fbc4 0%, #f9f586 100%);
	content: ""; 
}
#main .faqBox .faqInner {
	max-width: 900px;
	margin: 0 auto 110px;
}
#main .faqBox .headLine01 {
	margin-bottom: 79px;
}
#main .faqBox dl {
	margin-bottom: 42px;
	padding: 39px 32px 38px;
	border-radius: 10px;
	background-color: #EBF3F5;
}
#main .faqBox dl:last-child {
	margin-bottom: 0;
}
#main .faqBox dt {
	cursor: pointer;
	padding: 0 82px;
	position: relative;
	color: #368c9b;
	font-size: 20px;
	line-height: 1.5;
	letter-spacing: 0.05em;
	background: url("../images/guide/icon01.png") no-repeat right 3px center;
}
#main .faqBox dt.on {
	background-image: url("../images/guide/icon02.png");
} 
#main .faqBox dt::before {
	position: absolute;  
	top: -10px;
	left: 0; 
	width: 49px;  
	height: 49px;
	color: #FFF; 
	font-size: 22px;
	line-height: 47px;
	text-align: center;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	border-radius: 50%;
	font-weight: 700;
	font-family: "brandon-grotesque",sans-serif;
	background-color: #368C9B; 
	content: "Q";
}
#main .faqBox dd {
	display: none;
	font-weight: 300;
	padding: 40px 0 0 82px;
	max-width: 730px;
	position: relative;
	line-height: 1.75;
	letter-spacing: 0.05em;
	text-align: justify;
	box-sizing: border-box;
}
#main .faqBox dd::before {
	position: absolute;  
	top: 30px;
	left: 0; 
	width: 49px;  
	height: 49px;
	color: #368c9b; 
	font-size: 22px;
	line-height: 47px;
	text-align: center;
	border-radius: 50%;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	font-family: "brandon-grotesque",sans-serif;
	background-color: #FFF; 
	content: "A";
}
#main {
	margin-bottom: 0;
}
#main .comLink .subSpan {
	min-width: 202px;
	padding: 0 13px 4px 10px;
	display: flex;
	justify-content: center;
	text-align: center;
}
/* ----------------------------- mobile ------------------------------- */
@media only screen and (max-width: 768px) {
	#main .termsBox {
		padding-bottom: 75px;
	}
	#main .termsBox .headLine01 {
		margin-bottom: 45px;
	}
	#main .termsBox::before {
		width: 60px;
		height: 140px;
		right: -20px;  
	}
	#main .termsBox .txtInner {
		display: block;
	}
	#main .termsBox .txtInner .txtBox {
		width: auto;
	}
	#main .termsBox .txtInner .txtBox h4 {
		margin: 0 -0 30px;
		font-size: 24px;
	}
	#main .termsBox .txtInner .noteBox {
		margin-top: 40px;
		width: auto;
	}
	#main .termsBox .txtInner .noteBox .ttl {
		font-size: 16px;
	}
	#main .termsBox .txtInner .noteBox ul {
		margin-left: 40px;
	}
	#main .termsBox .txtInner .noteBox li {
		font-size: 16px;
	}
	#main .termsBox .txtInner .noteBox li .num {
		font-size: 14px;
	}
	#main .flowBox {
		padding: 75px 0;
	}
	#main .flowBox::before {
		width: 60px;
		height: 140px;
		top: -60px;
		left: 20px;
	}
	#main .flowBox .flowInner {
		padding: 40px 20px;
		display: block;
	}
	#main .flowBox .flowInner .phoBox {
		width: auto;
	}
	#main .flowBox .flowInner .txtBox {
		margin-top: 30px;
		width: auto;
	}
	#main .flowBox .flowInner .txtBox h4 {
		font-size: 20px;
		text-align: center;
	}
	#main .flowBox .flowInner .txtBox p {
		margin: 0;
	}
	#main .faqBox {
		padding: 75px 0;
	}
	#main .faqBox::before {
		width: 60px;
		height: 140px;
		top: 50px;
	}
	#main .faqBox::after {
		width: 60px;
		height: 140px;
		bottom: 50px;
		right: -20px;  
	}
	#main .faqBox .faqInner {
		max-width: inherit;
		margin-bottom: 50px;
	}
	#main .faqBox .headLine01 {
		margin-bottom: 50px;
	}
	#main .faqBox dl {
		margin-bottom: 42px;
		padding: 25px 15px;
	}
	#main .faqBox dt {
		padding: 0 25px 0 40px;
		font-size: 18px;
	}
	#main .faqBox dt.on {
		background-image: url("../images/guide/icon02.png");
	} 
	#main .faqBox dt::before {
		top: 0px;
		width: 30px;  
		height: 30px;
		font-size: 16px;
		line-height: 30px;
	}
	#main .faqBox dd {
		padding: 20px 20px 0 40px;
	}
	#main .faqBox dd::before {
		top: 20px;
		width: 30px;  
		height: 30px;
		font-size: 16px;
		line-height: 30px;
	}
}
