* {
	box-sizing: border-box;
}

html,
body {
	margin: 0;
	padding: 0;
}

body {
	font-family: YuGothic, "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, "Questrial", "Noto Sans JP", sans-serif;
}

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

h1,
h2,
h3,
h4,
h5,
h6,
p {
	margin: 0;
	padding: 0;
	color: #3E3A39;
}

img {
	display: block;
	width: 100%;
	height: auto;
}

picture {
	display: block;
	width: 100%;
	height: auto;
}

figure {
	margin: 0;
}

a {
	color: #3E3A39;
	text-decoration: none;
	transition: 0.3s;
}

a:hover {
	cursor: pointer;
}

.pc-none {
	display: none;
}

.sp-none {
	display: block;
}

.top-fv {
	position: relative;
	width: 100vw;
	height: min(31.25vw, 400px);
}

.top-fv__bg {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.top-fv__bg img {
	-o-object-fit: cover;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.top-fv__content {
	position: absolute;
	bottom: min(3.125vw, 40px);
	left: calc(50% - min(34.375vw, 440px));
	content: "";
}

.top-fv__title {
	font-weight: 400;
	font-size: min(2.8125vw, 36px);
	line-height: 1.5;
}

.top-body {
	margin-top: min(5.078125vw, 65px);
	margin-bottom: min(4.6875vw, 60px);
}

.top-about {
	display: flex;
	align-items: center;
	justify-content: space-between;
}

.top-about__content {
	text-align: end;
}

.top__title {
	display: inline-block;
	font-weight: 700;
	font-size: min(1.875vw, 24px);
	line-height: 1.5;
}

.top__title.--border {
	width: -moz-fit-content;
	width: fit-content;
	background: linear-gradient(transparent 50%, #EAF9FF 50%);
}

.top__title.--faq {
	position: relative;
	padding-left: min(4.21875vw, 54px);
}

.top__title.--faq::before {
	position: absolute;
	top: 50%;
	left: 0;
	width: min(3.515625vw, 45px);
	height: min(3.671875vw, 47px);
	transform: translateY(-50%);
	background: url("../../img/logo-tsubasa.png") no-repeat center center/contain;
	content: "";
}

.top__text {
	margin-top: min(1.25vw, 16px);
	font-weight: 400;
	font-size: min(1.25vw, 16px);
	line-height: 1.5;
}

.top__text.--service {
	margin-top: min(1.953125vw, 25px);
}

.top__text-color {
	color: #0090d1;
}

.top-service {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	margin-top: min(4.6875vw, 60px);
}

.top-service__content {
	text-align: start;
}

.top-service__btn {
	display: flex;
}

.top-cost {
	margin-top: min(4.6875vw, 60px);
}

.faq {
	padding: min(4.296875vw, 55px) 0 min(7.734375vw, 99px) 0;
	background: #f2fcff;
}

.faq__title {
	text-align: center;
}

.faq__list {
	margin-top: min(2.34375vw, 30px);
}

.faq__block {
	margin-bottom: min(0.78125vw, 10px);
	box-shadow: 0 min(0.3125vw, 4px) min(0.3125vw, 4px) rgba(0, 0, 0, 0.25);
}

.faq__block:last-of-type {
	margin-bottom: 0;
}

.faq__question {
	display: flex;
	position: relative;
	align-items: center;
	width: 100%;
	height: auto;
	cursor: pointer;
	transition-duration: 0.5s;
}

.faq__question-q {
	display: flex;
	align-items: center;
	justify-content: center;
	width: min(4.0625vw, 52px);
	height: min(3.515625vw, 45px);
	color: #0090d1;
	font-weight: 700;
	font-size: min(1.40625vw, 18px);
}

.faq__question-icon {
	position: absolute;
	top: 50%;
	right: min(1.5625vw, 20px);
	width: min(1.640625vw, 21px);
	height: min(1.640625vw, 21px);
	transform: translateY(-50%);
	border-radius: min(0.15625vw, 2px);
	background: #0090d1;
}

.faq__question-bar {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	border-radius: min(0.15625vw, 2px);
	background: #ffffff;
	content: "";
}

.faq__question-bar.--vertical {
	width: min(1.09375vw, 14px);
	height: min(0.15625vw, 2px);
}

.faq__question-bar.--beside {
	width: min(0.15625vw, 2px);
	height: min(1.09375vw, 14px);
}

.faq__question-text {
	font-weight: 700;
	font-size: min(1.40625vw, 18px);
}

.faq__answer {
	width: 100%;
	padding: min(1.5625vw, 20px) min(0.9375vw, 12px) min(1.953125vw, 25px) min(4.0625vw, 52px);
	overflow: hidden;
	transition-duration: 0.5s;
}

.faq__answer-text {
	position: relative;
	font-weight: 400;
	font-size: min(1.40625vw, 18px);
	line-height: 1.5;
}

.faq__answer-text::after {
	position: absolute;
	top: max(-1.25vw, -16px);
	left: 50%;
	width: 100%;
	height: min(0.15625vw, 2px);
	transform: translateX(-50%);
	background: #EAF9FF;
	content: "";
}

@media screen and (max-width: 767px) {

.pc-none {
	display: block;
}

.sp-none {
	display: none;
}

.top-fv {
	height: 80vh;
}

.top-body {
	margin-top: min(16.6666666667vw, 65px);
	margin-bottom: min(15.3846153846vw, 60px);
}

.top-about {
	flex-direction: column;
}

.top-service {
	flex-direction: column;
	margin-top: min(15.3846153846vw, 60px);
}

.top-cost {
	margin-top: min(15.3846153846vw, 60px);
}

.faq__list {
	margin-top: min(7.6923076923vw, 30px);
}

.faq__block {
	margin-bottom: min(2.5641025641vw, 10px);
	box-shadow: 0 min(1.0256410256vw, 4px) min(1.0256410256vw, 4px) rgba(0, 0, 0, 0.25);
}

.faq__block:last-of-type {
	margin-bottom: 0;
}

.faq__question-q {
	width: min(13.3333333333vw, 52px);
	height: min(11.5384615385vw, 45px);
	font-size: min(4.6153846154vw, 18px);
}

.faq__question-icon {
	right: min(5.1282051282vw, 20px);
	width: min(5.3846153846vw, 21px);
	height: min(5.3846153846vw, 21px);
}

.faq__question-text {
	font-size: min(4.6153846154vw, 18px);
}

.faq__answer {
	padding-left: min(13.3333333333vw, 52px);
}

.faq__answer-text {
	font-size: min(4.6153846154vw, 18px);
}

.faq__answer-text::after {
	height: min(0.5128205128vw, 2px);
}

}

