@charset 'utf-8';
/* ======================================
	header
====================================== */
@media screen and (max-width: 949px) {
}
@media screen and (min-width: 950px) {
	header .ttl>span {
		transition: all .3s;
		opacity: 0;
	}
	header .ttl.show>span {
		opacity: 1;
	}
}
/* ======================================
	kv
====================================== */
#kv {
	padding-bottom: 2em;
}
#kv .mainImg {
	background: url("../img/kv_img.jpg") center center / cover no-repeat;
	background-color: rgba(0, 0, 0, .3);
	background-blend-mode: multiply;
	border-top-left-radius: 4vw;
	border-bottom-left-radius: 4vw;
	margin-left: 15%;
	margin-bottom: .8em;
	padding: .5em;
}
#kv .mainImg .cap {
	width: 30%;
}
#kv .inner {
	max-width: 450px;
	margin: 0 auto;
}
#kv .txt .ttl {
	display: none;
}
#kv .txt .catch {
	font-size: 19.5px;
	margin-bottom: 1em;
}
#kv .txt .links>div {
	display: flex;
	justify-content: space-between;
	align-items: center;
	border-bottom: #ccc 1px solid;
	padding: .5em 0;
}
#kv .txt .links>div p {
	color: #444;
	flex: 1;
	line-height: 1.7;
	background: url("../img/icon_arrow.png") left top .5em / 1em auto no-repeat;
	margin-right: .5em;
	padding-left: 1.5em;
}
#kv .txt .links>div img {
	width: 120px;
}
#kv .txt .links .btn img {
	padding: 10px;
}
@media screen and (max-width: 949px) {
}
@media screen and (min-width: 950px) {
    #kv {
        display: flex;
		flex-flow: row-reverse;
        justify-content: space-between;
        align-items: center;
    }
    #kv .mainImg {
		width: 48%;
		border-top-left-radius: 3em;
		border-bottom-left-radius: 3em;
		margin-left: 0;
		padding: 20px;
    }
    #kv .mainImg .cap {
        width: 38%;
    }
    #kv .inner {
		width: 48%;
		max-width: 640px;
		margin: 0;
		margin-top: .5em;
    }
    #kv .txt {
		margin-left: 30%;
    }
	#kv .txt .ttl {
        display: flex;
        justify-content: flex-start;
        align-items: center;
		margin-bottom: 1.5em;
	}
	#kv .txt .ttl .logo {
		width: 110px;
		margin-right: 20px;
		margin-left: -130px;
	}
	#kv .txt .ttl .name {
		display: block;
		font-size: 22px;
		line-height: 1.2;
	}
	#kv .txt .ttl .name strong {
		font-weight: 500;
		display: block;
		position: relative;
		left: -.06em;
		font-size: 74px;
	}
    #kv .txt .catch {
        font-size: 19.5px;
        margin-bottom: 1em;
    }
    #kv .txt .links {
		max-width: 460px;
    }
    #kv .txt .links>div {
		display: flex;
		flex-wrap: wrap;
        border-bottom: #ccc 1px solid;
        padding: .5em 0;
    }
    #kv .txt .links>div p {
        color: #444;
        flex: 1;
        line-height: 1.7;
        background: url("../img/icon_arrow.png") left top .5em / 1em auto no-repeat;
        margin-right: .5em;
        padding-left: 1.5em;
    }
    #kv .txt .links>div img {
        width: 120px;
    }
    #kv .txt .links .btn img {
        padding: 10px;
    }
}
/* ======================================
	procedureList
====================================== */
#procedureList {
	padding-top: 0;
}
#procedureList h2 {
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	color: #fff;
	background-color: #07b53b;
	margin-bottom: 2em;
	padding: 1em;
}
#procedureList ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 2em;
}
#procedureList ul::after {
	content: '';
	flex: 2 500px;
}
#procedureList ul li {
	flex: 250px;
	border: #ccc 1px solid;
	background: #fff url("../img/icon_check.png") right .5em center / 1.3em auto no-repeat;
	line-height: 1.4;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 4em;
	text-align: center;
	border-radius: .7em;
	padding: .5em;
	padding-right: 1em;
}
#procedureList ul li.disable {
	border-color: #fff;
	background-image: url("../img/icon_check_disable.png");
	color: #aaa;
}
@media screen and (max-width: 949px) {
}
@media screen and (min-width: 950px) {
    #procedureList .inner {
        max-width: 1100px;
    }
	#procedureList h2 {
		font-size: 24px;
	}
	#procedureList ul {
		gap: 30px;
	}
	#procedureList ul li {
		font-size: 18px;
	}
}
/* ======================================
	prepare
====================================== */
#prepare {
	padding-top: 2em;
}
#prepare .prepareList ul {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}
#prepare .prepareList ul::after {
	content: '';
	flex: 250px;
}
#prepare .prepareList ul li {
	flex: 250px;
	background-color: #f5f5f5;
	border-radius: .7em;
	text-align: center;
	padding: 20px;
}
#prepare .prepareList ul li .icon {
	width: 61%;
	max-width: 115px;
	margin: 0 auto;
	padding-bottom: 1em;
}
#prepare .prepareList ul li p {
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
}
@media screen and (max-width: 949px) {
}
@media screen and (min-width: 950px) {
	#prepare {
		padding-top: 3.5em;
	}
	#prepare .prepareList ul {
		gap: 0 50px;
	}
	#prepare .prepareList ul::after {
		content: '';
		flex: 250px;
	}
	#prepare .prepareList ul li {
		padding: 24px;
	}
}
/* ======================================
	faq
====================================== */
#faq {
	padding-top: 2em;
}
#faq .faqList {
	padding-bottom: 1.5em;
}
#faq .faqList h3 {
	font-size: 17px;
	font-weight: 700;
	padding-bottom: .5em;
}
#faq .faqList dl {
}
#faq .faqList dl dt {
	cursor: pointer;
	position: relative;
	background-color: #fff;
	font-weight: 500;
	margin-top: 4px;
	padding: 1em;
	padding-left: 3.5em;
}
#faq .faqList dl dt::before {
	position: absolute;
	left: .8em;
	content:'Q';
	display: block;
	background-color: #ffea80;
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.6;
	width: 2em;
	height: 2em;
	border: #000 2px solid;
	border-radius: 1em;
}
#faq .faqList dl dt::after {
	position: absolute;
	content: '';
	display: block;
	width: 0;
	height: 0;
	top: 50%;
	right: 1em;
	border-left: .4em solid transparent;
	border-right: .4em solid transparent;
	border-top: .5em solid #000;
	margin-top: -.2em;
}
#faq dl dt.open::after {
	transform: rotate(-180deg);
}
#faq .faqList dl dd {
	display: none;
	color: #444;
	background-color: #fff;
	padding: 1em;
	padding-top: .5em;
}
#faq .faqList dl dd>p {
	margin-right: 1em;
	padding-top: .5em;
}
#faq .faqList dl dd>p:first-of-type {
	border-top: #ccc 1px dotted;
}
@media screen and (max-width: 949px) {
}
@media screen and (min-width: 950px) {
	#faq {
		padding-top: 3.5em;
	}
	#faq .faqList {
		padding-bottom: 3em;
	}
	#faq .faqList h3 {
		font-size: 24px;
	}
	#faq .faqList dl dt {
		font-size: 20px;
		padding: 30px;
		padding-left: 90px;
	}
	#faq .faqList dl dt::before {
		font-size: 22px;
	}
	#faq .faqList dl dd {
		display: none;
		color: #444;
		padding: 0 0 30px 90px;
	}
	#faq .faqList dl dd>p {
		padding-top: 1em;
	}
}























