*,
*::before,
*::after {
	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 {
	line-height: 1.5;
	min-height: 100vh;
	text-rendering: optimizeLegibility;
}

/* 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]) {
	-webkit-text-decoration-skip: ink;
	text-decoration-skip-ink: auto;
}

/* Make images easier to work with */

img {
	display: block;
	max-width: 100%;
	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: blur(10px);
}

/* フォームリセット */

input,
button,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: transparent;
	border: none;
	border-radius: 0;
	font: inherit;
	outline: none;
}

textarea {
	resize: vertical;
}

input[type=checkbox],
input[type=radio] {
	display: none;
}

input[type=submit],
input[type=button],
label,
button,
select {
	cursor: pointer;
}

select::-ms-expand {
	display: none;
}

/* ホバー */

a {
	-webkit-text-decoration: none;
	color: inherit;
	text-decoration: none;
	transition: opacity 0.3s;
}

html {
	scroll-padding-top: 70px;
}

body {
	font-family: "Noto Sans JP", serif;
}

.u-desktop {
	display: block;
}

.u-xl {
	display: none;
}

.u-lg {
	display: none;
}

.u-md {
	display: none;
}

.u-sm {
	display: none;
}

.about-intro {
	background-color: #fff;
	border-bottom: #C9A333 10px solid;
	margin-top: 11rem;
	padding-bottom: 8rem;
}

.about-intro-inner.inner {
	max-width: 1686px;
}

.about-intro-content {
	display: flex;
	gap: 2.4rem;
	justify-content: space-between;
}

.about-intro-content + .about-intro-content {
	margin-top: 9.5rem;
}

.about-intro-text {
	color: #862041;
	font-size: 2.7rem;
	font-weight: 700;
	letter-spacing: -0.07em;
	line-height: 1.8;
	margin-top: 6px;
}

.about-intro-text + .about-intro-text {
	margin-top: 3.3rem;
}

.about-intro-text span {
	font-size: 3.7rem;
}

.about-intro-img {
	align-self: end;
	margin-right: 1.5rem;
	width: min(28.9583333333vw, 41.7rem);
}

.about-intro-tools {
	background-color: #E2D2A3;
	padding-bottom: 6.5rem;
	padding-left: 1.6rem;
	padding-right: 1.6rem;
	padding-top: 4.1rem;
	width: 100%;
}

.about-intro-tools-title {
	background-color: #fff;
	color: #862041;
	font-size: 3.7rem;
	font-weight: 700;
	letter-spacing: -0.07em;
	margin-left: auto;
	margin-right: auto;
	max-width: 118.7rem;
	padding-bottom: 0.7rem;
	padding-left: 1.6rem;
	padding-right: 1.6rem;
	padding-top: 0.6rem;
	text-align: center;
}

.about-intro-tool-wrap {
	margin-left: auto;
	margin-right: auto;
	margin-top: 4.8rem;
	max-width: 1468px;
	width: -moz-fit-content;
	width: fit-content;
}

.contact-section {
	border-bottom: #C9A333 10px solid;
	border-top: #C9A333 10px solid;
}

.content {
	background-position: center;
	background-repeat: no-repeat;
	background-size: cover;
	border-bottom: #C9A333 10px solid;
	padding-bottom: 11.4rem;
	padding-top: 3.7rem;
	position: relative;
}

.content::before {
	background-color: #862041;
	bottom: 0;
	content: "";
	left: 0;
	opacity: 1;
	position: absolute;
	right: 0;
	top: 0;
	transition: opacity 0.3s;
}

.content:last-child {
	border: none;
}

.content:nth-child(1) {
	background-image: -webkit-image-set(url(../images/about/bg_feature01.avif) type("image/avif"), url(../images/about/bg_feature01.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_feature01.avif) type("image/avif"), url(../images/about/bg_feature01.jpg) type("image/jpg"));
}

.content:nth-child(2) {
	background-image: -webkit-image-set(url(../images/about/bg_feature02.avif) type("image/avif"), url(../images/about/bg_feature02.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_feature02.avif) type("image/avif"), url(../images/about/bg_feature02.jpg) type("image/jpg"));
}

.content:nth-child(3) {
	background-image: -webkit-image-set(url(../images/about/bg_feature03.avif) type("image/avif"), url(../images/about/bg_feature03.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_feature03.avif) type("image/avif"), url(../images/about/bg_feature03.jpg) type("image/jpg"));
}

.content:nth-child(4) {
	background-image: -webkit-image-set(url(../images/about/bg_feature04.avif) type("image/avif"), url(../images/about/bg_feature04.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_feature04.avif) type("image/avif"), url(../images/about/bg_feature04.jpg) type("image/jpg"));
}

.content:nth-child(5) {
	background-image: -webkit-image-set(url(../images/about/bg_feature05.avif) type("image/avif"), url(../images/about/bg_feature05.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_feature05.avif) type("image/avif"), url(../images/about/bg_feature05.jpg) type("image/jpg"));
}

.content:nth-child(6) {
	background-image: -webkit-image-set(url(../images/about/bg_feature06.avif) type("image/avif"), url(../images/about/bg_feature06.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_feature06.avif) type("image/avif"), url(../images/about/bg_feature06.jpg) type("image/jpg"));
}

.content.--achievement:nth-child(1) {
	background-image: -webkit-image-set(url(../images/about/bg_achievement01.avif) type("image/avif"), url(../images/about/bg_achievement01.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_achievement01.avif) type("image/avif"), url(../images/about/bg_achievement01.jpg) type("image/jpg"));
}

.content.--achievement:nth-child(2) {
	background-image: -webkit-image-set(url(../images/about/bg_achievement02.avif) type("image/avif"), url(../images/about/bg_achievement02.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_achievement02.avif) type("image/avif"), url(../images/about/bg_achievement02.jpg) type("image/jpg"));
}

.content.--achievement:nth-child(3) {
	background-image: -webkit-image-set(url(../images/about/bg_achievement03.avif) type("image/avif"), url(../images/about/bg_achievement03.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_achievement03.avif) type("image/avif"), url(../images/about/bg_achievement03.jpg) type("image/jpg"));
}

.content.--achievement:nth-child(4) {
	background-image: -webkit-image-set(url(../images/about/bg_achievement04.avif) type("image/avif"), url(../images/about/bg_achievement04.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_achievement04.avif) type("image/avif"), url(../images/about/bg_achievement04.jpg) type("image/jpg"));
}

.content.--achievement:nth-child(5) {
	background-image: -webkit-image-set(url(../images/about/bg_achievement05.avif) type("image/avif"), url(../images/about/bg_achievement05.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_achievement05.avif) type("image/avif"), url(../images/about/bg_achievement05.jpg) type("image/jpg"));
}

.content.--achievement:nth-child(6) {
	background-image: -webkit-image-set(url(../images/about/bg_achievement06.avif) type("image/avif"), url(../images/about/bg_achievement06.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_achievement06.avif) type("image/avif"), url(../images/about/bg_achievement06.jpg) type("image/jpg"));
}

.content.--achievement:nth-child(7) {
	background-image: -webkit-image-set(url(../images/about/bg_achievement07.avif) type("image/avif"), url(../images/about/bg_achievement07.jpg) type("image/jpg"));
	background-image: image-set(url(../images/about/bg_achievement07.avif) type("image/avif"), url(../images/about/bg_achievement07.jpg) type("image/jpg"));
}

.content.--service:nth-child(1) {
	background-image: -webkit-image-set(url(../images/service/bg_service01.avif) type("image/avif"), url(../images/service/bg_service01.jpg) type("image/jpg"));
	background-image: image-set(url(../images/service/bg_service01.avif) type("image/avif"), url(../images/service/bg_service01.jpg) type("image/jpg"));
}

.content.--service:nth-child(2) {
	background-image: -webkit-image-set(url(../images/service/bg_service02.avif) type("image/avif"), url(../images/service/bg_service02.jpg) type("image/jpg"));
	background-image: image-set(url(../images/service/bg_service02.avif) type("image/avif"), url(../images/service/bg_service02.jpg) type("image/jpg"));
}

.content.--service:nth-child(3) {
	background-image: -webkit-image-set(url(../images/service/bg_service03.avif) type("image/avif"), url(../images/service/bg_service03.jpg) type("image/jpg"));
	background-image: image-set(url(../images/service/bg_service03.avif) type("image/avif"), url(../images/service/bg_service03.jpg) type("image/jpg"));
}

.content.--service:nth-child(4) {
	background-image: -webkit-image-set(url(../images/service/bg_service04.avif) type("image/avif"), url(../images/service/bg_service04.jpg) type("image/jpg"));
	background-image: image-set(url(../images/service/bg_service04.avif) type("image/avif"), url(../images/service/bg_service04.jpg) type("image/jpg"));
}

.content.--service:nth-child(5) {
	background-image: -webkit-image-set(url(../images/service/bg_service05.avif) type("image/avif"), url(../images/service/bg_service01.5pg) type("image/jpg"));
	background-image: image-set(url(../images/service/bg_service05.avif) type("image/avif"), url(../images/service/bg_service01.5pg) type("image/jpg"));
}

.content-inner.inner {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	position: relative;
	z-index: 1;
}

.content-title-wrap {
	left: -1.1458333333vw;
	position: relative;
}

.content-num {
	color: #C9A333;
	font-size: max(6rem, min(7.1875vw, 13.8rem));
	font-style: italic;
	font-weight: 700;
	letter-spacing: -0.03em;
}

.content-title {
	color: #fff;
	font-size: max(74px, min(4.5833333333vw, 8.8rem));
	font-style: italic;
	font-weight: 700;
	letter-spacing: -0.03em;
	margin-top: -3.5rem;
}

.content-title span {
	font-size: 5.8rem;
}

.content-text-area {
	margin-top: 7.2rem;
}

.content-subtitle {
	color: #fff;
	font-size: 4.5rem;
	font-style: italic;
	font-weight: 700;
	letter-spacing: -0.07em;
	line-height: 1.2;
}

.content-text {
	color: #fff;
	font-size: max(23px, min(1.40625vw, 2.7rem));
	font-style: italic;
	font-weight: 500;
	letter-spacing: -0.07em;
	line-height: 200%;
	margin-top: 7.3rem;
}

.content.--achievement {
	padding-bottom: 14rem;
	padding-top: 12rem;
}

.content.--achievement:last-child {
	border: none;
}

.content.--achievement .content-title-wrap {
	left: 0;
}

.content.--achievement .content-title {
	margin-left: 7.8rem;
}

.content.--achievement .content-text-area {
	align-self: end;
	margin-top: 0;
}

.content.--achievement .content-text {
	line-height: 198%;
	margin-top: 0;
}

.content.--service {
	height: max(32rem, min(25.6770833333vw, 49.3rem));
	padding-bottom: 2rem;
	padding-top: 2rem;
}

.content.--service:last-child {
	border-bottom: none;
}

.content.--service .content-inner.inner {
	grid-template-columns: 1fr max(600px, min(45.0520833333vw, 86.5rem));
	height: 100%;
}

.content.--service .content-title {
	font-size: max(63px, min(4.5833333333vw, 8.8rem));
}

.content.--service .content-title span {
	font-size: max(4.2rem, min(3.0208333333vw, 5.8rem));
}

.content.--service .content-title span.md {
	font-size: max(5.8rem, min(4.0625vw, 7.8rem));
}

.content.--service .content-text-area {
	align-self: center;
	margin-top: 0;
}

.content.--service .content-text {
	font-size: 1.4vw;
	line-height: 1.56;
	margin-top: 0;
}

.form-wrap {
	grid-gap: 7rem;
	display: grid;
	gap: 7rem;
	grid-template-columns: 320px 1fr;
}

.form-wrap + .form-wrap {
	margin-top: 8rem;
}

.form-label {
	align-self: start;
	border-bottom: 4px solid #C9A333;
	color: #862041;
	font-size: max(22px, min(1.4583333333vw, 2.8rem));
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.4;
	padding-bottom: 3rem;
}

.form-notes {
	color: #862041;
	font-size: 1.6rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.4;
}

.form-input input {
	-moz-appearance: none;
	-webkit-appearance: none;
	appearance: none;
	border: #C9A333 2px solid;
	font-size: max(22px, min(1.4583333333vw, 2.8rem));
	height: 86px;
	letter-spacing: -0.03em;
	line-height: 1.4;
	padding: 0.8rem 1.6rem;
	width: 100%;
}

input:-webkit-autofill {
	-webkit-text-fill-color: #111;
	box-shadow: 0 0 0 1000px #EDEDED inset;
}

input:-webkit-autofill,
input:autofill {
	-webkit-text-fill-color: #111;
	box-shadow: 0 0 0 1000px #EDEDED inset;
}

.form-input input:focus {
	background-color: transparent;
	border: 2px solid #C9A333;
}

.form-textarea textarea {
	border: #C9A333 2px solid;
	font-size: max(22px, min(1.4583333333vw, 2.8rem));
	height: 53.4rem;
	padding: 0.8rem 1.6rem;
	width: 100%;
}

.form-textarea textarea:focus {
	background-color: transparent;
	border: 2px solid #C9A333;
}

.form-submit {
	margin-left: auto;
	margin-right: auto;
	margin-top: 8rem;
	max-width: 95.8rem;
}

.form-submit .text {
	font-size: max(22px, min(1.4583333333vw, 2.8rem));
}

.form-privacy {
	margin-top: 8rem;
	text-align: center;
}

.form-privacy input {
	display: none;
}

.form-privacy input + span {
	color: #862041;
	cursor: pointer;
	display: inline-block;
	font-size: max(22px, min(1.4583333333vw, 2.8rem));
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.2142857143;
	margin-top: 8rem;
	padding: 0 0 0 4rem;
	position: relative;
}

.form-privacy input + span::before {
	background: #fff;
	border: 1px solid #862041;
	content: "";
	display: block;
	height: 2.8rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-44%);
	width: 2.8rem;
}

.form-privacy input + span::after {
	border-bottom: 0.3rem solid #862041;
	border-left: 0.3rem solid #862041;
	content: "";
	display: block;
	height: 1.6rem;
	left: 0.2rem;
	margin-top: -0.2rem;
	opacity: 0;
	position: absolute;
	top: 0.4rem;
	transform: rotate(-45deg);
	transition: 0.3s;
	width: 3rem;
}

.form-privacy input + span a {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

.form-privacy input:checked + span::after {
	opacity: 1;
}

input.is-filled,
textarea.is-filled {
	background-color: transparent;
	border: 2px solid #EDEDED;
}

.form-text {
	color: #862041;
	font-size: max(22px, min(1.4583333333vw, 2.8rem));
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.7;
	margin-top: 0;
	text-align: center;
}

.form-privacy-container {
	border: 3px solid #EDEDED;
	height: 427px;
	margin-top: 8rem;
	overflow-y: scroll;
	padding: 4.8rem 7.2rem;
	text-align: left;
	width: 100%;
}

.form-error {
	color: #862041;
	display: block;
	font-size: 1.6rem;
	line-height: 1.7;
	margin-top: 8px;
}

.form-error:empty {
	display: none;
}

.form-wrap.is-error input,
.form-wrap.is-error textarea {
	border-color: #862041;
}

.form-privacy input.is-error {
	outline: 2px solid #862041;
}

.js-submit-button.is-disabled {
	opacity: 0.6;
	pointer-events: none;
}

.grecaptcha-badge {
	visibility: hidden;
}

.fv {
	background-color: #862041;
	border-bottom: #C9A333 10px solid;
	height: 450px;
	margin-top: 70px;
}

.fv-inner {
	align-items: center;
	display: flex;
	height: 100%;
	justify-content: center;
	width: 100%;
}

.fv-title {
	color: #fff;
	font-size: min(4.5833333333vw, 8.8rem);
	font-style: italic;
	font-weight: 700;
	letter-spacing: -0.03em;
}

.fv-title-ja {
	font-size: 12rem;
	font-style: italic;
	font-weight: 900;
	letter-spacing: -0.03em;
}

.fv-title-en {
	font-family: "Roboto", sans-serif;
	font-size: 3.6rem;
	font-style: italic;
	font-weight: 700;
	letter-spacing: -0.03em;
	margin-top: 0.3rem;
	text-align: center;
	text-transform: uppercase;
}

.inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 1650px;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.privacy-head {
	color: #862041;
	font-size: max(24px, min(1.5625vw, 3rem));
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.5;
}

.privacy-head + .privacy-text {
	margin-top: 4.8rem;
}

.privacy-title {
	color: #862041;
	font-size: max(22px, min(1.4583333333vw, 2.8rem));
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.5;
}

.privacy-text {
	color: #862041;
	font-size: max(20px, min(1.25vw, 2.4rem));
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.5;
}

.privacy-text.--bold {
	font-weight: 700;
}

.privacy-list {
	margin-top: 4.8rem;
}

.privacy-list + .privacy-list {
	margin-top: 6rem;
}

.privacy-title + .privacy-text {
	margin-top: 3.2rem;
}

.privacy-text li {
	padding-left: 1em;
	text-indent: -1em;
}

.profile-list {
	grid-gap: 4rem;
	display: grid;
	gap: 4rem;
	grid-template-columns: 1fr 80rem;
}

.profile-list-title,
.profile-list-text {
	border-bottom: #C9A333 4px solid;
	color: #862041;
	font-size: max(22px, min(1.4583333333vw, 2.8rem));
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.4;
	padding-bottom: 4rem;
	padding-left: 8px;
	padding-right: 8px;
}

.profile-list + .profile-list {
	margin-top: 4rem;
}

.profile-list:last-child .profile-list-title,
.profile-list:last-child .profile-list-text {
	border: none;
	padding-bottom: 0;
}

.profile-list-text p {
	font-size: inherit;
	padding-left: 1em;
	text-indent: -1em;
}

.service-intro {
	margin-top: 9.7rem;
}

.service-intro-content {
	grid-gap: min(4.4270833333vw, 8.5rem);
	display: grid;
	gap: min(4.4270833333vw, 8.5rem);
	grid-template-columns: min(28.3333333333vw, 54.4rem) 1fr;
}

.service-intro-img:nth-child(1) {
	margin-top: 1.9rem;
	width: min(19.7395833333vw, 37.9rem);
}

.service-intro-img:nth-child(2) {
	margin-left: auto;
	margin-top: 4.7rem;
	width: min(20.9375vw, 40.2rem);
}

.service-intro-img img,
.service-intro-img picture {
	width: 100%;
}

.service-intro-text {
	color: #862041;
	font-size: max(18px, min(1.4583333333vw, 2.8rem));
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.7;
}

.service-intro-text + .service-intro-text {
	margin-top: 5rem;
}

.service-intro-text span {
	background-color: #111;
	color: #fff;
	display: inline-block;
	font-size: max(24px, min(1.9791666667vw, 3.8rem));
	line-height: 1.26;
	margin-top: 0.8rem;
	padding-left: 0.4rem;
	padding-right: 0.4rem;
}

.sub-about-title-wrap.home-left-title-wrap {
	border-bottom: #C9A333 10px solid;
	padding-bottom: 7.8rem;
	padding-top: 8.7rem;
}

.sub-about-title-wrap.home-left-title-wrap .home-about-title span.title-en {
	padding-top: 4.2rem;
}

.sub-achievement-title-wrap.home-left-title-wrap {
	padding-bottom: 11.7rem;
	padding-top: 11.6rem;
}

.sub-contact {
	border-bottom: 10px solid #C9A333;
	padding-bottom: 12rem;
}

.sub-contact-title-wrap.home-left-title-wrap {
	padding-bottom: 8rem;
	padding-top: 8rem;
}

.sub-contact-text-area {
	border-bottom: 10px solid #C9A333;
	margin-top: 8rem;
	padding-bottom: 8rem;
}

.sub-contact-text-area.--thanks {
	border-bottom: none;
	margin-top: 8rem;
	padding-bottom: 0;
	text-align: center;
}

.sub-contact-inner.inner {
	max-width: 1479px;
}

.sub-contact-text {
	color: #862041;
	font-size: max(22px, min(1.4583333333vw, 2.8rem));
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.7;
}

.sub-contact-text + .sub-contact-text {
	margin-top: 1lh;
}

.sub-contact-content {
	margin-top: 8rem;
}

.sub-contact-form-wrap {
	margin-top: 7.3rem;
}

.sub-contact-link {
	margin-top: 8rem;
}

.sub-contact-recaptcha-note {
	font-size: 1.4rem;
	font-weight: 500;
	margin-top: 2.4rem;
	text-align: center;
}

.sub-contact-recaptcha-note a {
	-webkit-text-decoration: underline;
	text-decoration: underline;
}

.sub-greeting-title-wrap.home-left-title-wrap {
	padding-bottom: 10.2rem;
	padding-top: 13rem;
}

.sub-greeting-content {
	background-color: #862041;
	border-bottom: #C9A333 10px solid;
	padding-bottom: 18.6rem;
	padding-top: 15.1rem;
}

.sub-greeting-inner.inner {
	max-width: 1485px;
}

.sub-greeting-text {
	color: #fff;
	font-size: 2.8rem;
	font-size: max(22px, min(1.4583333333vw, 2.8rem));
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.7;
}

.sub-greeting-text + .sub-greeting-text {
	margin-top: 1lh;
}

.sub-greeting-signature {
	color: #fff;
	font-size: 3.8rem;
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.7;
	margin-top: 8rem;
}

.sub-greeting-signature span {
	font-size: max(22px, min(1.4583333333vw, 2.8rem));
}

.sub-payment-title-wrap.home-left-title-wrap {
	font-feature-settings: inherit;
	padding-bottom: 12.6rem;
	padding-top: 10.4rem;
}

.sub-payment-title.home-about-title {
	font-weight: 700;
	letter-spacing: -0.03em;
}

.sub-payment-title.home-about-title span {
	font-size: max(3.2rem, min(4.1666666667vw, 8rem));
}

.sub-payment-content {
	padding-bottom: 8rem;
	padding-top: 8rem;
}

.sub-payment-content + .sub-payment-content {
	border-top: 10px solid #C9A333;
}

.sub-payment-content-inner.inner {
	max-width: 1485px;
}

.sub-payment-list-title {
	color: #862041;
	font-size: max(3.6rem, min(2.0833333333vw, 4rem));
	font-weight: 700;
	letter-spacing: -0.03em;
	line-height: 1.2;
}

.sub-payment-list-text {
	color: #862041;
	font-size: max(2rem, min(1.4583333333vw, 2.8rem));
	font-weight: 500;
	letter-spacing: -0.03em;
	line-height: 1.7;
	margin-top: 4rem;
}

.sub-profile-title-wrap.home-left-title-wrap {
	padding-bottom: 8.6rem;
	padding-top: 11rem;
}

.sub-profile-content {
	margin-bottom: 13rem;
	margin-top: 13.8rem;
}

.sub-profile-list-wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: 108rem;
}

.sub-service {
	border-bottom: 10px solid #C9A333;
	border-top: 10px solid #C9A333;
	margin-top: 16.1rem;
}

.tools {
	grid-gap: 5.8rem 1.6rem;
	display: grid;
	gap: 5.8rem 1.6rem;
	grid-template-columns: repeat(auto-fill, minmax(19.6rem, 1fr));
	width: 100%;
}

.tools-item-img {
	margin-left: auto;
	margin-right: auto;
	width: 64.7959183673%;
}

.tools-item-title {
	background-color: #862041;
	color: #fff;
	font-size: 2.7rem;
	font-weight: 700;
	letter-spacing: -0.07em;
	line-height: 1.1851851852;
	margin-top: 1.6rem;
	padding-bottom: 0.6rem;
	padding-left: 0.8rem;
	padding-right: 0.8rem;
	padding-top: 0.6rem;
	text-align: center;
}

@media (any-hover: hover) {

.content:hover::before {
	opacity: 0.6;
}

.sub-contact-recaptcha-note a:hover {
	color: #862041;
}

}

@media (forced-colors: active) {

input {
	forced-color-adjust: auto;
}

}

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

.u-xl {
	display: block;
}

.about-intro-content {
	flex-direction: column;
	gap: 0;
}

.content::before {
	opacity: 0.6;
}

.content-title-wrap {
	left: 0;
}

.content-title {
	margin-top: -2.4rem;
}

.content-text {
	font-size: 1.6vw;
	margin-top: 4rem;
}

.content.--achievement .content-title {
	margin-left: 0;
}

.content.--achievement .content-title span {
	font-size: max(48px, min(4.8333333333vw, 5.8rem));
}

.content.--service .content-inner.inner {
	grid-template-columns: 1fr max(480px, min(45.0520833333vw, 86.5rem));
}

.content.--service .content-title {
	font-size: max(54px, min(4.5833333333vw, 8.8rem));
}

.content.--service .content-title span {
	font-size: max(3.8rem, min(3.5833333333vw, 4.3rem));
}

.content.--service .content-title span.md {
	font-size: max(4.8rem, min(4.0625vw, 7.8rem));
}

.form-wrap {
	gap: 4rem;
	grid-template-columns: 200px 1fr;
}

.form-input input {
	height: 100%;
}

.profile-list {
	gap: 2.4rem;
	grid-template-columns: 160px 1fr;
}

}

@media (max-width: 990px) {

html {
	scroll-padding-top: 60px;
}

}

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

.u-lg {
	display: block;
}

.about-intro {
	margin-top: 8rem;
}

.about-intro-content + .about-intro-content {
	margin-top: 6.4rem;
}

.about-intro-text {
	font-size: 2.8vw;
}

.about-intro-text span {
	font-size: 3.8vw;
}

.about-intro-img {
	margin-left: auto;
	margin-right: 0;
	margin-top: 4rem;
	width: min(42.1212121212vw, 51.7rem);
}

.about-intro-tools-title {
	font-size: min(3.7373737374vw, 3.7rem);
}

.about-intro-tool-wrap {
	margin-top: 3.2rem;
}

.content-inner.inner {
	gap: max(40px, min(7.1111111111vw, 6.4rem));
	grid-template-columns: 1fr;
}

.content-title {
	font-size: 8.4vw;
	text-align: center;
}

.content-title span {
	font-size: 5.4vw;
}

.content-text-area {
	margin-top: 0;
}

.content-subtitle {
	font-size: 5.4vw;
	text-align: center;
}

.content-text {
	font-size: 2.8vw;
	margin-top: 3.2rem;
	text-align: center;
}

.content.--achievement .content-title span {
	font-size: 5.4vw;
}

.content.--service {
	height: auto;
	padding-bottom: 6.4rem;
	padding-top: 2rem;
}

.content.--service .content-inner.inner {
	gap: 3.2rem;
	grid-template-columns: 1fr;
}

.content.--service .content-text {
	font-size: 1.6rem;
}

.form-textarea textarea {
	height: 300px;
}

.form-privacy-container {
	padding-left: 2rem;
	padding-right: 2rem;
}

.fv-title {
	font-size: 5.5vw;
}

.fv-title-ja {
	font-size: 8rem;
}

.service-intro-content {
	display: flex;
	flex-direction: column-reverse;
	gap: 4rem;
}

.service-intro-images {
	align-items: end;
	display: flex;
	justify-content: space-between;
}

.service-intro-img:nth-child(1) {
	display: none;
}

.service-intro-img:nth-child(2) {
	margin-top: 0;
	width: 33rem;
}

.service-intro-text-area {
	align-self: center;
}

.sub-about-title-wrap.home-left-title-wrap .home-about-title span.title-en {
	padding-top: 1.5%;
}

.sub-service {
	margin-top: 8rem;
}

.tools {
	gap: 1.6rem 0.8rem;
	grid-template-columns: repeat(4, 1fr);
}

.tools-item-title {
	font-size: max(13px, min(2.2222222222vw, 2.2rem));
}

}

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

.u-desktop {
	display: none;
}

.u-md {
	display: block;
}

.form-wrap {
	border-bottom: 4px solid #C9A333;
	gap: 0.8rem;
	grid-template-columns: 1fr;
	padding-bottom: 4rem;
}

.form-wrap + .form-wrap {
	margin-top: 4rem;
}

.form-label {
	border: none;
	font-size: 1.8rem;
	padding-bottom: 0;
}

.form-input input {
	font-size: 1.6rem;
}

.form-textarea textarea {
	font-size: 1.6rem;
}

.form-submit .text {
	font-size: 1.8rem;
}

.form-privacy input + span {
	font-size: 1.8rem;
}

.form-privacy input + span::before {
	height: 2rem;
	width: 2rem;
}

.form-privacy input + span::after {
	height: 1.2rem;
	width: 2.4rem;
}

.form-text {
	font-size: 1.6rem;
}

.form-privacy-container {
	margin-top: 4rem;
}

.fv-title {
	font-size: 11vw;
	text-align: center;
}

.fv-title span {
	display: inline-block;
	font-size: 10vw;
}

.fv-title-ja {
	font-size: 6rem;
}

.fv-title-en {
	font-size: 3rem;
}

.inner {
	padding-left: 20px;
	padding-right: 20px;
}

.privacy-head {
	font-size: 2rem;
}

.privacy-head + .privacy-text {
	margin-top: 1.6rem;
}

.privacy-title {
	font-size: 1.8rem;
}

.privacy-text {
	font-size: 1.6rem;
}

.privacy-list + .privacy-list {
	margin-top: 3.2rem;
}

.privacy-title + .privacy-text {
	margin-top: 1.6rem;
}

.profile-list {
	border-bottom: #C9A333 4px solid;
	gap: 1.6rem;
	grid-template-columns: 1fr;
	padding-bottom: 2.4rem;
}

.profile-list-title,
.profile-list-text {
	border-bottom: none;
	font-size: 1.8rem;
	padding-bottom: 0;
}

.profile-list + .profile-list {
	margin-top: 2.4rem;
}

.profile-list:last-child {
	border-bottom: none;
}

.service-intro-text {
	font-size: 1.6rem;
}

.service-intro-text + .service-intro-text {
	margin-top: 3.2rem;
}

.service-intro-text span {
	display: inline;
	font-size: 2rem;
	padding-left: 0.2rem;
	padding-right: 0.2rem;
}

.sub-contact-text-area {
	margin-top: 4rem;
	padding-bottom: 4rem;
}

.sub-contact-text {
	font-size: 1.6rem;
}

.sub-contact-content {
	margin-top: 4rem;
}

.sub-contact-form-wrap {
	margin-top: 4rem;
}

.sub-greeting-title-wrap.home-left-title-wrap {
	padding-bottom: 8rem;
	padding-top: 8rem;
}

.sub-greeting-content {
	padding-bottom: 8rem;
	padding-top: 8rem;
}

.sub-greeting-text {
	font-size: 1.8rem;
}

.sub-greeting-signature {
	font-size: 2.4rem;
	margin-top: 4rem;
}

.sub-greeting-signature span {
	font-size: 1.8rem;
}

.sub-profile-title-wrap.home-left-title-wrap {
	padding-bottom: 8rem;
	padding-top: 8rem;
}

.sub-profile-content {
	margin-bottom: 8rem;
	margin-top: 8rem;
}

}

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

.u-sm {
	display: block;
}

.about-intro {
	margin-top: 6.4rem;
}

.about-intro-text {
	font-size: 1.6rem;
	margin-top: 0;
}

.about-intro-text span {
	font-size: 2rem;
}

.about-intro-img {
	margin-top: 2.4rem;
	width: 23rem;
}

.about-intro-tools-title {
	font-size: 1.8rem;
}

.content {
	padding-bottom: 8rem;
}

.content:last-child {
	border-bottom: #C9A333 10px solid;
}

.content-inner.inner {
	gap: 3.2rem;
}

.content-num {
	font-size: 4rem;
}

.content-text {
	font-size: max(13px, min(3.6231884058vw, 1.5rem));
	margin-top: 1.6rem;
}

.content.--achievement {
	padding-bottom: 8rem;
	padding-top: 8rem;
}

.content.--service .content-title {
	font-size: 4rem;
}

.content.--service .content-title span {
	font-size: 2.8rem;
}

.fv {
	height: 32rem;
	margin-top: 51px;
}

.fv-title-ja {
	font-size: 5rem;
}

.service-intro {
	margin-top: 6.4rem;
}

.service-intro-img:nth-child(2) {
	width: 24rem;
}

.service-intro-text span {
	font-feature-settings: "palt";
	line-height: 1.5;
}

.sub-about-title-wrap.home-left-title-wrap {
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.sub-achievement-title-wrap.home-left-title-wrap {
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.sub-payment-title-wrap.home-left-title-wrap {
	padding-bottom: 6.4rem;
	padding-top: 6.4rem;
}

.sub-payment-content {
	padding-bottom: 4rem;
	padding-top: 4rem;
}

.sub-payment-list-title {
	font-size: 2.4rem;
}

.sub-payment-list-text {
	font-size: 1.6rem;
}

.tools {
	grid-template-columns: repeat(3, 1fr);
}

}


/*# sourceMappingURL=sub-style.css.map */
