@charset "UTF-8";
/* リキッドレイアウト対応 */
body {
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
	line-height: 1.8;
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

@media screen and (max-width: 767px) {
	.u-desktop {
		display: none;
	}

	.u-mobile {
		display: block;
	}
}

html {
	font-size: 1.4545454545vw;
	scroll-padding-top: 132px;
}

@media (min-width: 1100px) {
	html {
		font-size: 16px;
	}
}

@media screen and (max-width: 767px) {
	html {
		font-size: 16px;
		scroll-padding-top: 50px;
	}
}

@media (max-width: 375px) {
	html {
		font-size: 4.2666666667vw;
	}
}

/* ページ内リンクの飛び先に対して適用される共通スタイル */
[id] {
	scroll-margin-top: 0; /* JSで動的に上書きされるので初期化 */
}

@media (max-width: 767px) {
	[id] {
		scroll-margin-top: 40px; /* JSで動的に上書きされるので初期化 */
	}
}

/* pcの電話番号発信対応 */
@media screen and (min-width: 768px) {
	a[href^='tel:'] {
		pointer-events: none;
	}
}

/* ホバー */
a {
	text-decoration: none;
	color: inherit;
	-webkit-transition: 0.3s;
	transition: 0.3s;
}
a:hover {
	opacity: 0.6;
}

*,
*::before,
*::after {
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
}

/* Remove default padding */
ul,
ol {
	padding: 0;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/* Set core root defaults */
html {
	scroll-behavior: smooth;
}

/* Set core body defaults */
body {
	min-height: 100vh;
	text-rendering: optimizeSpeed;
	line-height: 1.5;
	overflow-x: hidden;
}

/* Remove list styles on ul, ol elements with a class attribute */
ul,
ol {
	list-style: none;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img {
	max-width: 100%;
	display: block;
	width: 100%;
}

/* Natural flow and rhythm in articles by default */
article > * + * {
	margin-top: 1em;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
	font: inherit;
}

/* Blur images when they have no alt attribute */
img:not([alt]) {
	filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feGaussianBlur stdDeviation="10" /></filter></svg>#filter');
	-webkit-filter: blur(10px);
	filter: blur(10px);
}

body > div.mv {
	background: transparent;
}

/* -------------------------

ヘッダー

------------------------- */

.hamburger {
	position: relative;
	width: 22px;
	width: 1.375rem;
	height: 30px;
	height: 1.875rem;
	z-index: 100;
	cursor: pointer;
	margin-right: 1rem;
	display: none;
}

@media screen and (max-width: 767px) {
	.hamburger {
		display: block;
	}
}

.hamburger span {
	position: absolute;
	width: inherit;
	height: 2px;
	height: 0.125rem;
	background-color: #000;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	border-radius: 5px;
}

.hamburger span:nth-child(1) {
	top: 19%;
	left: -6%;
}

.hamburger span:nth-child(2) {
	top: 48%;
	left: -6%;
}

.hamburger span:nth-child(3) {
	top: 74%;
	left: -6%;
}

.hamburger.is-active span:nth-child(1) {
	top: 48%;
	left: 0%;
	-webkit-transform: rotate(45deg);
	transform: rotate(45deg);
	width: 23px;
	width: 1.4375rem;
}

.hamburger.is-active span:nth-child(2) {
	top: 51%;
	opacity: 0;
}

.hamburger.is-active span:nth-child(3) {
	top: 48%;
	left: 0%;
	-webkit-transform: rotate(-225deg);
	transform: rotate(-225deg);
	width: 23px;
	width: 1.4375rem;
}

.header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	z-index: 999;
}

.header__top {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	max-width: 1520px;
	width: 94.6%;
	margin: 0 auto;
	z-index: 50;
	background-color: #fff;
	position: relative;
	height: fit-content;
	padding: 20px 0;
	box-shadow: none;
}

@media screen and (max-width: 767px) {
	.header__top {
		width: 100%;
		box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
		padding: 0;
		position: static;
	}
}

.header__top__inner {
	display: flex;
	justify-content: space-between;
	width: 100%;
	gap: 2%;
	align-items: center;
}

@media screen and (max-width: 767px) {
	.header__top__inner {
		flex-direction: column;
		align-items: flex-start;
	}
}

.header__logo a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	height: inherit;
	width: fit-content;
}

@media screen and (max-width: 767px) {
	.header__logo {
		padding: 10px 1rem 0;
		width: 100%;
	}
}

.header__logo-mark__wrapper {
	width: 100%;
	display: flex;
	gap: 10px;
	align-items: center;
}

.header__logo-mark {
	max-width: 2.1875rem;
	width: 100%;
}

@media screen and (max-width: 767px) {
	.header__logo-mark__wrapper {
		gap: 5px;
	}

	.header__logo-mark {
		max-width: 20px;
		max-width: 1.25rem;
	}
}

.header__top-right {
	display: flex;
	align-items: center;
	gap: 0.8vw;
	width: fit-content;
}

.header__top-right p {
	color: #000;
	font-size: 0.75rem;
	font-weight: 400;
}

.header__logo-name img {
	height: 42px;
	width: auto;
}

@media screen and (max-width: 767px) {
	.header__top-right {
		width: 100%;
		padding: 11px 1rem 10px;
	}

	.header__top-right p {
		font-size: 8px;
	}

	.header__logo-name img {
		height: 31px;
	}
}

.header__bottom {
	position: relative;
	display: block;
	background-color: #F8F8F8;
	height: 70px;
	z-index: 5;
	box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.25);
}

@media screen and (max-width: 767px) {
	.header__bottom {
		display: none;
	}
}

.header__bottom__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1520px;
	margin: 0 auto;
	width: 94.6%;
	gap: 5px;
	padding: 15px 0;
}

.header__bottom-list {
	display: flex;
	justify-content: flex-start;
	gap: 0.8vw;
}

.header__bottom-list li {
	font-size: 14px;
	font-weight: 500;
	height: inherit;
}

.header__bottom-list li a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	height: inherit;
	-webkit-transition: 0.3s;
	transition: 0.3s;
	justify-content: center;
	align-items: center;
}

.header__bottom-right {
	display: flex;
	align-items: center;
	gap: 0.8vw;
}

.header__bottom-right a {
	display: flex;
	align-items: center;
	height: 40px;
}

.header__bottom-right a img {
	height: 14px;
	width: auto;
}

.header__bottom-right-btn {
    border-radius: 100px;
    padding: 15px;
    gap: 9px;
    color: #fff;
    font-size: 14px;
    font-weight: 700;
    line-height: 1;
    letter-spacing: 0.05em;
    min-width: 100px;
    justify-content: center;
    background: #F3831E;
    width: 150px;
}

.header__bottom-right-link {
    color: #232323;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.05em;
    flex-direction: column;
    gap: 3px;
}

.header__bottom-right-link span {
    font-size: 16px;
    font-weight: 700;
    color: #F3831E;
}

.header__bottom-right-link p {
    display: flex;
    align-items: center;
}

.header__bottom-right-link__upper {
	position: relative;
}

.header__bottom-right-link__upper::before {
	content: '';
	display: inline-block;
	width: 11px;
	height: 18px;
	margin-right: 5px;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="18" viewBox="0 0 11 18" fill="none"><path d="M10.4309 17.2539L0.430908 0.253906" stroke="%23232323"/></svg>');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.header__bottom-right-link__upper::after {
	content: '';
	display: inline-block;
	width: 11px;
	height: 18px;
	margin-left: 5px;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="11" height="18" viewBox="0 0 11 18" fill="none"><path d="M0.430908 17.2539L10.4309 0.253906" stroke="%23232323"/></svg>');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}


/* -------------------------

MV

------------------------- */

.mv {
	overflow: hidden;
	position: relative;
}

.mv__inner {
    position: relative;
    padding: 60px 0;
    display: flex;
    justify-content: space-between;
    align-items: center;
	max-width: 1000px;
	max-width: 65rem;
    margin: 0 auto;
}

@media screen and (max-width: 767px) {
	.mv__inner {
		flex-direction: column;
		padding: 60px 16px;
	}
}

.mv::before {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-image: url(../images/mv-bg.png);
    background-size: cover;
    background-position: center;
    background-repeat: no-repeat;
    z-index: 0;
}

.mv__inner__left {
    text-align: left;
    position: relative;
    z-index: 1;
	width: 48%;
}

@media screen and (max-width: 767px) {
	.mv__inner__left {
		width: 100%;
	}
}

.mv__inner__left__top {
    color: #2F4858;
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
    border-radius: 6px;
    background: var(--white, #FFF);
    padding: 3px 20px;
    margin-bottom: 25px;
	width: fit-content;
}

@media screen and (max-width: 767px) {
	.mv__inner__left__top {
        font-size: 16px;
        margin-bottom: 20px;
    }
}

.mv__inner__left__middle {
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 31.5px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.04em;
    width: 102%;
}

@media screen and (max-width: 767px) {
	.mv__inner__left__middle {
		font-size: 22px;
	}
}

.mv__inner__left__middle-small {
    font-size: 26px;
}

@media screen and (max-width: 767px) {
	.mv__inner__left__middle-small {
		font-size: 16px;
	}
}

.mv__inner__left__middle-yellow {
    color: #FFE7B7;
}

.mv__inner__left__logo {
    margin: 16px 0 25px;
}

@media screen and (max-width: 767px) {
	.mv__inner__left__logo {
		margin: 11px 0 20px;
	}
}

.mv__inner__left__bottom {
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 20px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.045em;
}

@media screen and (max-width: 767px) {
	.mv__inner__left__bottom {
		font-size: 14px;
	}
}

.mv__inner__left__bottom-yellow {
    color: #FFE7B7;
}

.mv__inner__right {
    width: 47%;
    z-index: 1;
    position: relative;
}

.mv__inner__right_ttl {
    border-radius: 5px 5px 0 0;
    background: #F3831E;
    padding: 5.5px;
    color: #FFF;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: 0.05em;
}

.mv__inner__right_form {
    border-radius: 0 0 5px 5px;
    background: #FFF;
    padding: 15px 4.25%;
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	row-gap: 12px;
}

/* スマホ用フォームセクション */
.mv-form-mobile {
	background-color: #FFF;
	padding: 40px 16px;
}

.mv-form-mobile__inner {
	max-width: 100%;
	width: 100%;
}

.mv-form-mobile .mv__inner__right {
	width: 100%;
	max-width: 100%;
}

@media screen and (max-width: 767px) {
	.mv__inner__right.u-desktop {
		display: none;
	}
}

/* -------------------------

セクションタイトル

------------------------- */

.section-title {
	font-size: 32px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.05em;
	color: #232323;
	line-height: 1.4;
	position: relative;
	display: flex;
	justify-content: center;
	padding-bottom: 12px;
	margin-bottom: 40px;
}

@media screen and (max-width: 767px) {
	.section-title {
		font-size: 24px;
		margin-bottom: 30px;
	}
}

.section-title::after {
	background: #F3831E;
	width: 50px;
	height: 3px;
	content: '';
	position: absolute;
	bottom: 0;
}

.sp-nav {
	display: none;
	position: fixed;
	width: 100%;
	background-color: #f9f9f9;
	overflow: auto;
	z-index: -1;
	padding: 40px 10%;
}

.sp-nav.is-active {
	display: block;
	position: fixed;
	z-index: 999;
	height: 100vh;
}

.sp-nav__items {
    width: 100%;
    margin: 0 auto;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.sp-nav__item {
	width: 100%;
}

.sp-nav__item a {
    color: #000;
    display: block;
    font-size: 16px;
    font-weight: 500;
	line-height: 1;
	width: fit-content;
}

.sp-nav__item span {
	display: inline-block;
	font-size: 20px;
	font-size: 1.25rem;
	margin-right: 8px;
	margin-right: 0.5rem;
}

.header__sp-nav__btn {
    margin: 30px 0;
    width: 100%;
    display: flex;
    justify-content: center;
    border-radius: 36px;
    background: #F3831E;
    padding: 15px;
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.05em;
}

.header__sp-nav__link {
    color: #232323;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-style: normal;
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.05em;
    flex-direction: column;
    gap: 3px;
    display: flex;
    align-items: center;
    height: 40px;
	width: fit-content;
    margin: 0 auto;
}

.header__sp-nav__link p {
    display: flex;
    align-items: center;
}

.header__sp-nav__link span {
    font-size: 16px;
    font-weight: 700;
    color: #F3831E;
}

.header__sp-nav__link img {
    height: 14px;
    width: auto;
}

/* -------------------------

足場サブスクバックとは？

------------------------- */

.about {
	background-color: #FFF;
}

.about__inner {
	max-width: 1000px;
	max-width: 65rem;
	width: 100%;
	margin: 0 auto;
	align-items: center;
	flex-direction: column;
	padding: 60px 0;
}

@media screen and (max-width: 767px) {
	.about__inner {
		padding: 40px 16px;
		padding: 40px 1rem;
	}
}

.about__contents {
    display: flex;
    gap: 3.2%;
	align-items: center;
}

@media screen and (max-width: 767px) {
	.about__contents {
		flex-direction: column;
		gap: 30px;
	}
}

.about__img {
    height: 180px;
    aspect-ratio: 2 / 1;
}

@media screen and (max-width: 767px) {
	.about__img {
		height: 227px;
		width: 100%;
	}
}

.about__img img {
    object-fit: cover;
    height: 100%;
}

.about__desc {
	color: #232323;
	font-family: 'Noto Sans JP';
	font-size: 16px;
	font-weight: 400;
	line-height: 1.6;
	letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
	.about__desc {
		text-align: left;
	}
}

.about__desc span {
	color:  #F3831E;
	font-size: 16px;
	font-weight: 700;
}

/* -------------------------

足場サブスクバックの特徴

------------------------- */

.feature {
	background-color: #F8F8F8;
}

.feature__inner {
	max-width: 1000px;
	max-width: 65rem;
	width: 100%;
	margin: 0 auto;
	align-items: center;
	flex-direction: column;
	padding: 60px 0;
}

@media screen and (max-width: 767px) {
	.feature__inner {
		padding: 40px 16px;
		padding: 40px 1rem;
	}
}

.feature__contents {
    display: flex;
    flex-wrap: wrap;
    row-gap: 40px;
	justify-content: space-between;
}

.feature__contents__item {
    width: 31.5%;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.feature__contents__item {
		width: 46.6%;
	}
}

.feature__contents__item__title {
    color: #F3831E;
    font-family: "Noto Sans JP";
    font-size: 24px;
    font-weight: 700;
    letter-spacing: 0.05em;
    display: flex;
    flex-direction: row;
    align-items: center;
    line-height: 1;
    justify-content: center;
    gap: 5px;
    margin-bottom: 13px;
}

@media screen and (max-width: 767px) {
	.feature__contents__item__title {
		font-size: 16px;
	}
}

.feature__contents__item__title span {
    font-family: Poppins;
    font-size: 40px;
    position: relative;
    top: -2px;
}

@media screen and (max-width: 767px) {
	.feature__contents__item__title span {
		font-size: 32px;
	}
}

.feature__contents__item__img img {
    aspect-ratio: 1 / 1;
    border-radius: 100%;
    border: solid 10px #F3831E;
}

@media screen and (max-width: 767px) {
	.feature__contents__item__img img {
		border: solid 3px #F3831E;
	}
}

.feature__contents__item__text {
    margin-top: 15px;
    color: #232323;
    font-family: "Noto Sans JP";
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
	.feature__contents__item__text {
		font-size: 16px;
	}
}

.feature__contents__item__text span {
    background-color: #FBDABC;
    padding: 0 5px;
}

/* -------------------------

活用事例

------------------------- */

.case {
	background-color: #FFF;
}

.case__inner {
	max-width: 1000px;
	max-width: 65rem;
	width: 100%;
	margin: 0 auto;
	align-items: center;
	flex-direction: column;
	padding: 60px 0;
}

@media screen and (max-width: 767px) {
	.case__inner {
		padding: 40px 16px;
		padding: 40px 1rem;
	}
}

.case__contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    row-gap: 25px;
}

@media screen and (max-width: 767px) {
	.case__contents {
		row-gap: 20px;
	}
}

.case__contents__item {
    display: flex;
    align-items: center;
    width: 49%;
    border-radius: 5px;
    border: solid 1px #BBB;
}

@media screen and (max-width: 767px) {
	.case__contents__item {
		width: 100%;
	}
}

.case__contents__item__img {
    width: 50%;
	height: 100%;
}

@media screen and (max-width: 767px) {
	.case__contents__item__img {
		width: 47.8%;
	}
}

.case__contents__item__img img {
    border-radius: 5px 0 0 5px;
	object-fit: cover;
    height: 100%;
}

.case__contents__item__text {
    padding: 20px;
    width: 50%;
    color: #232323;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
	.case__contents__item__text {
		width: 52.2%;
	}
}

.case__contents__item__text span {
    color: #F3831E;
    font-weight: 700;
}

/* -------------------------

買取実績の一例

------------------------- */

.achievements {
	background-color: #F8F8F8;
}

.achievements__inner {
	max-width: 1000px;
	max-width: 65rem;
	width: 100%;
	margin: 0 auto;
	align-items: center;
	flex-direction: column;
	padding: 60px 0;
}

@media screen and (max-width: 767px) {
	.achievements__inner {
		padding: 40px 16px;
		padding: 40px 1rem;
	}
}

.achievements__contents {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
}

@media screen and (max-width: 767px) {
	.achievements__contents {
		gap: 25px;
	}
}

.achievements__contents__item {
    border-radius: 5px;
    background: #FFF;
    padding: 20px 3%;
	width: 31.5%;
}

@media screen and (max-width: 767px) {
	.achievements__contents__item {
		width: 100%;
		padding: 20px 6%;
	}
}

.achievements__contents__item__text {
    margin-top: 12px;
}

.achievements__contents__item__text__title {
    color: #232323;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

.achievements__contents__item__text__price {
    color: #F3831E;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

.achievements__contents__item__text__price span {
    font-size: 24px;
}

.achievements__contents__item__text__desc {
    color: #232323;
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

/* -------------------------

買取の流れ

------------------------- */

.service {
	background-color: #FFFFFF;
}

.service__inner {
	max-width: 1000px;
	max-width: 65rem;
	width: 100%;
	margin: 0 auto;
	align-items: center;
	flex-direction: column;
	padding: 3.75rem 0 3.75rem;
}

@media screen and (max-width: 767px) {
	.service__inner {
		padding-top: 39px;
		padding-top: 2.4375rem;
		padding-left: 16px;
		padding-left: 1rem;
		padding-right: 16px;
		padding-right: 1rem;
		padding-bottom: 38px;
		padding-bottom: 2.375rem;
	}
}

.service__contents__item {
    display: flex;
    border-radius: 5px;
    background: #FAFAFA;
    gap: 40px;
    padding: 30px 10%;
	margin-bottom: 36.5px;
	align-items: center;
	position: relative;
}

@media screen and (max-width: 767px) {
	.service__contents__item {
		flex-direction: column;
		gap: 15px;
		padding: 20px;
	}
}

.service__contents__item:not(:last-child)::after {
	content: '';
	position: absolute;
	bottom: -17px;
	left: 50%;
	transform: translateX(-50%);
	width: 31px;
	height: 17px;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="31" height="17" viewBox="0 0 31 17" fill="none"><path d="M15.1553 16.5L-0.000101554 1.16483e-06L30.3108 3.8147e-06L15.1553 16.5Z" fill="%23F3831E"/></svg>');
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
}

.service__contents__item:last-child {
	margin-bottom: 0;
}

.service__contents__item__ttl {
	display: flex;
	gap: 10px;
	margin-bottom: 10px;
	font-size: 16px;
	font-weight: 700;
	align-items: center;
}

.service__contents__item__ttl__number {
	color: #fff;
	font-family: Roboto;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.6;
	letter-spacing: 0.05em;
	border-radius: 26px;
	background: #F3831E;
	width: 35px;
	height: 35px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-width: 35px;
}

.service__contents__item__text {
    width: 100%;
}

.service__contents__item__desc {
    font-family: "Noto Sans JP";
    font-size: 14px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
	.service__contents__item__desc {
		letter-spacing: 0.03em;
	}
}


/* -------------------------

よくあるご質問

------------------------- */

.QA {
	background-color: #F8F8F8;
}

.QA__inner {
	max-width: 1000px;
	max-width: 65rem;
	width: 100%;
	margin: 0 auto;
	align-items: center;
	flex-direction: column;
	padding: 60px 0;
}

@media screen and (max-width: 767px) {
	.QA__inner {
		padding: 40px 16px;
		padding: 40px 1rem;
	}
}

.QA__discription {
    margin-bottom: 40px;
    color: #232323;
    text-align: center;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 400;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

.QA__contents {
    display: flex;
    flex-direction: column;
    gap: 30px;
}

.QA__contents__item {
    border-radius: 5px;
    background: #FFF;
    padding: 20px 3.3%;
    color: #232323;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 500;
    line-height: 1.6;
    letter-spacing: 0.05em;
}

@media screen and (max-width: 767px) {
	.QA__contents__item {
		padding: 20px;
	}
}

.QA__contents__item svg {
    min-width: 25px;
    width: 25px;
}

.QA__contents__item__question {
    display: flex;
    gap: 20px;
    padding: 20px 0;
    border-bottom: 1px solid #BBB;
}

@media screen and (max-width: 767px) {
	.QA__contents__item__question {
		gap: 15px;
	}
}

.QA__contents__item__answer {
    display: flex;
    gap: 20px;
    padding: 20px 0;
}

@media screen and (max-width: 767px) {
	.QA__contents__item__answer {
		gap: 15px;
	}
}

/* -------------------------

お問い合わせ

------------------------- */

.contact {
	background: #2F4858;
}

.contact__inner {
	max-width: 1000px;
	max-width: 65rem;
	width: 100%;
	margin: 0 auto;
	padding: 60px 0 3.75rem;
}

@media screen and (max-width: 767px) {
	.contact__inner {
		padding-top: 39px;
		padding-top: 2.4375rem;
		padding-left: 16px;
		padding-left: 1rem;
		padding-right: 16px;
		padding-right: 1rem;
		padding-bottom: 38px;
		padding-bottom: 2.375rem;
	}
}

.contact__title.section-title {
	color: #fff;
}


.contact__content {
    border-radius: 5px;
    background: #FFF;
    padding: 30px;
}

.contact__discription {
	color: #000;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.03em;
	text-align: center;
	margin-bottom: 20px;
}

@media screen and (max-width: 767px) {
	h3.contact__inner-title {
		font-size: 18px;
		margin-bottom: 20px;
	}

	.contact__discription {
		font-size: 14px;
	}
}

.contact__btn {
	border-radius: 38px;
    background: #F3831E;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #FFF;
    font-family: "Noto Sans JP";
    font-size: 16px;
    font-weight: 700;
    line-height: 1.3;
    letter-spacing: 0.05em;
    max-width: 265px;
    padding: 17px 2%;
    gap: 10px;
}

.contact__btn img {
    width: 18px;
}

/* -------------------------

フッター

------------------------- */

.footer {
	background-color: #f8f8f8;
	padding-bottom: 40px;
	padding-bottom: 2.5rem;
}

.footer__inner {
	max-width: 1000px;
	max-width: 65rem;
	width: 100%;
	margin: 0 auto;
	padding: 3.75rem 0;
}

@media screen and (max-width: 767px) {
	.footer__inner {
		padding: 40px 16px 17px;
		padding: 2.5rem 1rem 1.0625rem;
	}
}

.footer__upper {
	display: flex;
	justify-content: space-between;
	padding-bottom: 40px;
	flex-direction: row;
}

@media screen and (max-width: 767px) {
	.footer__upper {
		flex-direction: column;
		padding-bottom: 30px;
	}
}

.footer__logo {
	max-width: fit-content;
	width: 100%;
}

.footer__logo-name img {
	height: 42px;
	width: auto;
}

.footer__logo-name p {
	color: #004ba4;
	font-size: 14px;
	font-weight: 700;
	font-family: 'Noto Sans JP';
	margin-top: 5px;
}

.footer__logo-name__link {
    color: #000;
    font-family: "Noto Sans JP";
    font-size: clamp(12px, 1vw, 14px);
    font-weight: 500;
    line-height: 1.2;
    letter-spacing: 0.05em;
    cursor: pointer;
    display: flex;
    align-items: center;
    margin-top: 20px;
}

@media screen and (max-width: 767px) {
	.footer__logo-name__link {
		font-size: clamp(10px, 3vw, 12px);
	}
}

.footer__logo-name__link span {
    font-size: 16px;
    font-weight: 700;
}

@media screen and (max-width: 767px) {
	.footer__logo-name__link span {
		font-size: 14px;
	}
}

.footer__nav {
	display: flex;
	flex-direction: row !important;
	margin-top: 0;
	gap: 30px;
}

@media screen and (max-width: 767px) {
	.footer__nav {
		margin-top: 20px;
	}
}

.footer__nav-wrap.u-mobile .footer__nav {
    justify-content: space-between;
}

.footer__nav-col3 {
	display: flex;
}

.footer__nav ul {
	display: flex;
	flex-direction: column;
	gap: 14px;
}

@media screen and (max-width: 767px) {
	.footer__nav-col3 {
		display: none;
	}

	.footer__nav ul {
		gap: 15px;
	}
}

.footer__nav ul a {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
}

.footer__nav ul:nth-child(1) {
	width: fit-content;
}

.footer__nav li {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.footer__nav li.u-desktop {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
}

.footer__nav li.u-mobile {
	display: none;
}

@media screen and (max-width: 767px) {
	.footer__nav li.u-desktop {
		display: none;
	}

	.footer__nav li.u-mobile {
		display: flex;
	}
}

.footer__nav li:last-child {
	margin-top: none;
}

.footer__nav li a {
	font-size: 12px;
	font-weight: 500;
	line-height: 1.4;
}

.footer__nav ul a span img,
.footer__logo-name__link img {
	max-width: 14px;
	max-width: 0.875rem;
	width: 100%;
	margin-left: 6px;
	margin-left: 0.375rem;
	height: auto;
}

.footer__right {
	margin-top: 0;
	max-width: 20.4375rem;
	width: 100%;
}

.footer__lower {
	display: flex;
	justify-content: space-between;
	border-top: 1px solid var(--6, #b8b8b8);
	padding-top: 19px;
	flex-direction: row;
	align-items: flex-end;
}

@media screen and (max-width: 767px) {
	.footer__right {
		margin-top: 29px;
		margin-top: 1.8125rem;
	}

	.footer__lower {
		padding-top: 30px;
		flex-direction: column;
		align-items: flex-start;
	}
}

.footer__lower .footer__left {
	margin-right: 5%;
}

.footer__lower__small {
	color: #000;
	font-family: 'Noto Sans JP';
	font-size: 14px;
	font-weight: 400;
}

.footer__lower__big {
	color: #000;
	font-family: 'Noto Sans JP';
	font-size: 20px;
	font-weight: 700;
	margin: 8px 0;
	line-height: 1;
}

.footer__lower .footer__right {
	display: flex;
	gap: 8px;
	align-items: center;
	max-width: fit-content;
}

.footer__logo-mark img {
	width: 50px;
}

.footer__lower .footer__right p {
	max-width: 322px;
	width: fit-content;
}

.footer__copyright {
	font-size: 0.625rem;
	letter-spacing: 0.02em;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.footer__copyright {
		font-size: 12px;
		font-size: 0.75rem;
	}
}

/* -------------------------

トップへ戻るボタン

------------------------- */

.page-top {
	position: fixed;
	right: 2.5rem;
	bottom: 2.5rem;
	max-width: 4.6875rem;
	width: 100%;
	height: 4.6875rem;
	border-radius: 50%;
	border: 3px solid #F3831E;
	background-color: #fff;
	cursor: pointer;
	z-index: 10;
}

.page-top img {
	max-width: 0.625rem;
	width: 100%;
	margin-top: 0.6875rem;
	margin-inline: auto;
}

.page-top p {
	font-size: 0.875rem;
	line-height: 1.3;
	margin-top: 4px;
	margin-top: 0.25rem;
	letter-spacing: 0.03em;
	text-align: center;
}

@media screen and (max-width: 767px) {
	.page-top {
		right: 15px;
		right: 0.9375rem;
		bottom: 20px;
		bottom: 1.25rem;
		max-width: 50px;
		max-width: 3.125rem;
		height: 50px;
		height: 3.125rem;
		border: 2px solid #F3831E;
	}

	.page-top img {
		max-width: 10px;
		margin-top: 5px;
		margin-top: 0.3125rem;
	}

	.page-top p {
		font-size: 9px;
		font-size: 0.5625rem;
	}
}

/* -------------------------

フォーム

------------------------- */

.form__page__inner {
	max-width: 1000px;
	max-width: 65rem;
	width: 100%;
	margin: 0 auto;
	padding-top: 39px;
	padding-top: 2.4375rem;
	padding-left: 16px;
	padding-left: 1rem;
	padding-right: 16px;
	padding-right: 1rem;
	padding-bottom: 60px;
}

.form__page__desc {
	color: #232323;
	text-align: center;
	font-family: 'Noto Sans JP';
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.05em;
	margin: 30px 0;
}

.form__wrapper {
	background-color: #f6fafd;
	padding: 60px 12.8%;
}

@media screen and (max-width: 767px) {
	.form__wrapper {
		padding: 30px 6.4%;
	}
}

.form__wrapper.contact {
    background-color: #f8f8f8;
    display: flex;
    flex-direction: column;
    gap: 20px;
}

@media screen and (max-width: 767px) {
	.form__wrapper.contact {
		gap: 25px;
	}
}

.form__item {
	display: flex;
	flex-direction: column;
	gap: 4px;
	width: 100%;
}

.form__item.half-width {
    width: 48.8%;
}

.form__item label {
	color: #232323;
	font-family: 'Noto Sans JP';
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	letter-spacing: 0.05em;
	cursor: auto;
}


/* 必須項目のlabelに「必須」を表示 */
label.required::after {
	content: '必須';
	background-color: #f00;
	color: #fff;
	padding: 2px 4px;
	border-radius: 3px;
	font-family: 'Noto Sans JP';
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0.05em;
	margin-left: 8px;
}

.form__item p {
    color: #232323;
    font-family: 'Noto Sans JP';
    font-size: 14px;
    font-weight: 700;
    line-height: 1.4;
    letter-spacing: 0.05em;
    margin: 4px 0;
}

.form__item input {
	border-radius: 5px;
	border: 1px solid #B8B8B8;
	background: #fff;
	height: 40px;
	cursor: auto;
	padding: 0 12px;
	font-size: 14px;
	width: 100%;
}

.form__item textarea {
	border-radius: 5px;
	border: 1px solid #B8B8B8;
	background: #fff;
	height: 100px;
	cursor: auto;
	padding: 6px 12px;
	font-size: 14px;
	width: 100%;
}

.form__item input::placeholder,
.form__item textarea::placeholder {
	font-size: 14px;
	color: #bbb;
	font-family: 'Noto Sans JP';
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.05em;
}

.form__item .error {
	color: #f00;
	margin-top: 2px;
	font-family: 'Noto Sans JP';
	font-size: 12px;
	font-weight: 400;
	line-height: 2;
	letter-spacing: 0.05em;
}

.form__item-name {
	display: flex;
	justify-content: space-between;
}

.form__item-name-inner {
	width: 48%;
}

.form__item-name-inner input {
	width: 100%;
}


.form__item-checkbox {
	display: flex;
	gap: 15px;
	flex-direction: row;
}

@media screen and (max-width: 767px) {
	.form__item-checkbox {
		gap: 8px;
		flex-direction: column;
	}
}

.form__item-checkbox label {
	font-weight: 400;
	display: flex;
	align-items: center;
	gap: 8px;
    line-height: 1.8;
}

.form__item label input[type='checkbox'] {
	margin: 0;
	height: 16px;
	width: 16px;
	cursor: pointer;
}


.form__item .form__item-desc {
	color: #232323;
    font-family: 'Noto Sans JP';
    font-size: 11px;
    font-weight: 400;
    line-height: 1.4;
    letter-spacing: 0.05em;
}

.form__page__inner .form__item .form__item-desc {
    font-size: 14px;
}

.form__item .form__item-desc a {
	color: #004ba4;
}

.submit-btn {
	background-color: #bbb;
	color: #fff;
	border: none;
	border-radius: 40px;
	padding: 14px;
	font-family: 'Noto Sans JP';
	font-size: 14px;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: 0.05em;
	cursor: auto;
	transition: background-color 0.3s ease;
	width: 100%;
	max-width: 254px;
	margin: 0 auto;
	display: block;
}

.submit-btn:enabled {
	background-color: #F3831E;
	cursor: pointer;
	transition: 0.3s;
}

.submit-btn:enabled:hover {
	opacity: 0.6;
	transition: 0.3s;
}

/* -------------------------

確認画面

------------------------- */
#confirmScreen {
	display: none;
}

.confirm_ttl {
	text-align: center;
	margin-bottom: 20px;
}

#confirmScreen .form__item span {
    font-size: 14px;
}

.form__confirm_inner {
    gap: 20px;
    display: flex;
    flex-direction: column;
}

.back-btn {
	background-color: #bbb;
	color: #fff;
	border: none;
	border-radius: 40px;
	padding: 14px;
	font-family: 'Noto Sans JP';
	font-size: 14px;
	line-height: 1.3;
	font-weight: 700;
	letter-spacing: 0.05em;
	cursor: auto;
	transition: background-color 0.3s ease;
	width: 100%;
	max-width: 254px;
	margin: 33px auto 15px;
	display: block;
}

.back-btn:hover {
	cursor: pointer;
	transition: 0.3s;
	opacity: 0.7;
}

#confirmScreen label.required::after {
	content: none;
}

/* -------------------------

お申込み・お問い合わせ完了

------------------------- */

.thanks__page__inner {
	max-width: 1000px;
	max-width: 65rem;
	width: 100%;
	margin: 0 auto;
	padding-top: 39px;
	padding-top: 2.4375rem;
	padding-left: 16px;
	padding-left: 1rem;
	padding-right: 16px;
	padding-right: 1rem;
	padding-bottom: 60px;
}

.thanks__page__desc {
	color: #232323;
	text-align: center;
	font-family: 'Noto Sans JP';
	font-size: 16px;
	font-weight: 400;
	line-height: 1.8;
	letter-spacing: 0.05em;
	margin: 30px 0;
}

.thanks__page__button a {
	background: #F3831E;
	width: 250px;
	height: 45px;
	font-size: 14px;
	border-radius:100px;
	display: flex;
	align-items: center;
	color: #fff;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.05em;
	justify-content: center;
	margin: 0 auto;
	max-width: 100%;
}

