/* フォントウェイト */

/* Noto_Sans_JP ------------------------------------------------------------- */

/* normal */

@font-face {
	font-display: swap;
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 400;
	src: url("../fonts/Noto_Sans_JP/NotoSansJP-Regular.woff2") format("woff2"), url("../fonts/Noto_Sans_JP/NotoSansJP-Regular.woff") format("woff"), url("../fonts/Noto_Sans_JP/NotoSansJP-Regular.eot") format("eot"), url("../fonts/Noto_Sans_JP/NotoSansJP-Regular.ttf") format("truetype");
}

/* medium */

@font-face {
	font-display: swap;
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 500;
	src: url("../fonts/Noto_Sans_JP/NotoSansJP-Medium.woff2") format("woff2"), url("../fonts/Noto_Sans_JP/NotoSansJP-Medium.woff") format("woff"), url("../fonts/Noto_Sans_JP/NotoSansJP-Medium.eot") format("eot"), url("../fonts/Noto_Sans_JP/NotoSansJP-Medium.ttf") format("truetype");
}

/* bold */

@font-face {
	font-display: swap;
	font-family: "Noto Sans JP";
	font-style: normal;
	font-weight: 700;
	src: url("../fonts/Noto_Sans_JP/NotoSansJP-Bold.woff2") format("woff2"), url("../fonts/Noto_Sans_JP/NotoSansJP-Bold.woff") format("woff"), url("../fonts/Noto_Sans_JP/NotoSansJP-Bold.eot") format("eot"), url("../fonts/Noto_Sans_JP/NotoSansJP-Bold.ttf") format("truetype");
}

/* フォントファミリー */

*,
*::before,
*::after {
	box-sizing: border-box;
}

html {
	font-size: 16px;
}

html {
	scroll-behavior: smooth;
}

body {
	text-rendering: optimizeSpeed;
}

a {
	color: inherit;
	cursor: pointer;
	text-decoration: none;
	transition: 0.3s;
}

img,
picture {
	display: inline-block;
	height: auto;
	max-width: 100%;
	vertical-align: bottom;
	width: 100%;
}

img:not([alt]) {
	filter: blur(10px);
}

ul,
ol {
	padding: 0;
}

body,
h1,
h2,
h3,
h4,
p,
ul,
ol,
figure,
blockquote,
dl,
dd {
	margin: 0;
}

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */

/* Document
   ========================================================================== */

/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
}

/* Sections
   ========================================================================== */

/**
 * Remove the margin in all browsers.
 */

body {
	margin: 0;
}

/**
 * Render the `main` element consistently in IE.
 */

main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */

h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
   ========================================================================== */

/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */

hr {
	box-sizing: content-box; /* 1 */
	height: 0; /* 1 */
	overflow: visible; /* 2 */
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

pre {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/* Text-level semantics
   ========================================================================== */

/**
 * Remove the gray background on active links in IE 10.
 */

a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */

abbr[title] {
	border-bottom: none; /* 1 */
	text-decoration: underline; /* 2 */
	-webkit-text-decoration: underline dotted;
	        text-decoration: underline dotted; /* 2 */
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */

b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */

code,
kbd,
samp {
	font-family: monospace, monospace; /* 1 */
	font-size: 1em; /* 2 */
}

/**
 * Add the correct font size in all browsers.
 */

small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */

sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
   ========================================================================== */

/**
 * Remove the border on images inside links in IE 10.
 */

img {
	border-style: none;
}

/* Forms
   ========================================================================== */

/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */

button,
input,
optgroup,
select,
textarea {
	font-family: inherit; /* 1 */
	font-size: 100%; /* 1 */
	line-height: 1.15; /* 1 */
	margin: 0; /* 2 */
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */

button,
input {
	overflow: visible; /* 1 */
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */

button,
select {
	text-transform: none; /* 1 */
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */

button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */

button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */

button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */

fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *    `fieldset` elements in all browsers.
 */

legend {
	box-sizing: border-box; /* 1 */
	color: inherit; /* 2 */
	display: table; /* 1 */
	max-width: 100%; /* 1 */
	padding: 0; /* 3 */
	white-space: normal; /* 1 */
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */

progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */

textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */

[type=checkbox],
[type=radio] {
	box-sizing: border-box; /* 1 */
	padding: 0; /* 2 */
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */

[type=search] {
	-webkit-appearance: textfield; /* 1 */
	outline-offset: -2px; /* 2 */
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */

::-webkit-file-upload-button {
	-webkit-appearance: button; /* 1 */
	font: inherit; /* 2 */
}

/* Interactive
   ========================================================================== */

/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */

details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */

summary {
	display: list-item;
}

/* Misc
   ========================================================================== */

/**
 * Add the correct display in IE 10+.
 */

template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */

[hidden] {
	display: none;
}

body {
	font-family: "Noto Sans JP", sans-serif;
	font-size: 16px;
}

.l-header {
	margin-inline: auto;
	max-width: calc(710 / 16 * 1rem);
	width: 100%;
}

.l-inner {
	margin-left: auto;
	margin-right: auto;
	padding-left: calc(20 / 16 * 1rem);
	padding-right: calc(20 / 16 * 1rem);
	width: 100%;
}

.l-section {
	padding-top: calc(40 / 16 * 1rem);
}

.l-base {
	margin-left: auto;
	margin-right: auto;
	width: calc(100% - 40px);
}

.c-cta {
	background: url("../images/bg_cta.svg") no-repeat center center;
	background-size: cover;
	height: calc(225 / 16 * 1rem);
	margin-inline: auto;
	max-width: calc(355 / 16 * 1rem);
	position: relative;
	width: 100%;
}

.c-cta img {
	height: calc(94 / 16 * 1rem);
	max-width: calc(70 / 16 * 1rem);
	position: absolute;
	right: calc(16 / 16 * 1rem);
	top: calc(46 / 16 * 1rem);
	width: 100%;
}

.c-cta__main-title {
	align-items: center;
	color: #f8ee33;
	display: flex;
	flex-direction: row;
	font-size: calc(16 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	justify-content: center;
	letter-spacing: calc(-30 / 1000 * 1em);
	padding-left: calc(50 / 16 * 1rem);
	padding-top: calc(14 / 16 * 1rem);
	text-align: center;
}

.c-cta__main-title::before {
	background: url("../images/dec_title_left.svg") no-repeat center center;
	content: "";
	display: inline-block;
	height: calc(16 / 16 * 1rem);
	margin-right: calc(8 / 16 * 1rem);
	max-width: calc(10 / 16 * 1rem);
	width: 100%;
}

.c-cta__main-title::after {
	background: url("../images/dec_title_right.svg") no-repeat center center;
	content: "";
	display: inline-block;
	height: calc(16 / 16 * 1rem);
	margin-left: calc(10 / 16 * 1rem);
	max-width: calc(10 / 16 * 1rem);
	width: 100%;
}

.c-cta__box-inner {
	background-color: #ffffff;
	height: calc(170 / 16 * 1rem);
	left: calc(10 / 16 * 1rem);
	max-width: calc(335 / 16 * 1rem);
	padding-inline: calc(8 / 16 * 1rem);
	position: absolute;
	top: calc(45 / 16 * 1rem);
	width: 100%;
}

.c-cta__desc {
	font-size: calc(12 / 16 * 1rem);
	font-weight: 500;
	line-height: 1.2;
	margin-top: calc(10 / 16 * 1rem);
	max-width: calc(240 / 16 * 1rem);
	text-align: left;
	width: 100%;
}

.c-cta__desc--red {
	color: #d42233;
	font-weight: 700;
}

.c-cta__caution {
	font-size: calc(10 / 16 * 1rem);
	letter-spacing: calc(-80 / 1000 * 1em);
	margin-top: 1em;
	max-width: calc(210 / 16 * 1rem);
	text-align: left;
	width: 100%;
}

.c-cta__caution::before {
	content: "※";
	font-size: calc(10 / 16 * 1rem);
}

.c-cta__badge {
	background-color: #f8ee33;
	border-radius: calc(60 / 16 * 1rem);
	display: grid;
	height: calc(55 / 16 * 1rem);
	left: 0;
	max-width: calc(55 / 16 * 1rem);
	place-items: center;
	position: absolute;
	top: calc(-52 / 16 * 1rem);
	width: 100%;
}

.c-cta__badge-text {
	font-size: calc(13 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	line-height: 0.9;
	max-width: calc(55 / 16 * 1rem);
	text-align: center;
	white-space: nowrap;
	width: 100%;
}

.c-cta__badge--strong {
	color: #d42233;
	font-size: calc(30 / 16 * 1rem);
	font-weight: 700;
}

.c-cta__badge--middle {
	color: #d42233;
	font-size: calc(19 / 16 * 1rem);
	font-weight: 700;
}

.c-cta__buttons {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: calc(60 / 16 * 1rem);
	justify-content: center;
	-moz-column-gap: 0;
	     column-gap: 0;
	margin-top: calc(16 / 16 * 1rem);
	row-gap: calc(4 / 16 * 1rem);
}

.c-cta__button-estimate {
	align-items: center;
	background-color: #1d92e3;
	border: solid calc(2 / 16 * 1rem) #ffffff;
	border-radius: calc(30 / 16 * 1rem);
	color: #ffffff;
	display: flex;
	flex-direction: row;
	font-size: calc(14 / 16 * 1rem);
	font-weight: 700;
	height: 100%;
	justify-content: center;
	text-align: center;
	transition: background-color 0.3s, color 0.3s, border-color 0.3s;
	width: calc(320 / 16 * 1rem);
}

.c-cta__button-estimate::before {
	background: url("../images/icon_mail.svg") no-repeat center center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: calc(13 / 16 * 1rem);
	margin-right: calc(10 / 16 * 1rem);
	transition: filter 0.3s;
	width: calc(17 / 16 * 1rem);
}

.c-cta__button-estimate:active,
.c-cta__button-estimate:hover {
	background-color: #ffffff;
	border-color: #1d92e3;
	color: #1d92e3;
}

.c-cta__button-estimate:active::before,
.c-cta__button-estimate:hover::before {
	filter: invert(44%) sepia(88%) saturate(799%) hue-rotate(173deg) brightness(92%) contrast(92%);
}

.c-cta__button-case-study {
	align-items: center;
	background-color: #ffffff;
	border: solid calc(2 / 16 * 1rem) #d42233;
	border-radius: calc(30 / 16 * 1rem);
	color: #d42233;
	display: flex;
	flex-direction: row;
	font-size: calc(14 / 16 * 1rem);
	font-weight: 700;
	height: 100%;
	justify-content: center;
	text-align: center;
	transition: background-color 0.3s, color 0.3s;
	width: calc(320 / 16 * 1rem);
}

.c-cta__button-case-study::before {
	background: url("../images/icon_process.svg") no-repeat center center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: calc(16 / 16 * 1rem);
	margin-right: calc(10 / 16 * 1rem);
	transition: filter 0.3s;
	width: calc(23 / 16 * 1rem);
}

.c-cta__button-case-study:active,
.c-cta__button-case-study:hover {
	background-color: #d42233;
	color: #ffffff;
}

.c-cta__button-case-study:active::before,
.c-cta__button-case-study:hover::before {
	filter: brightness(0) invert(1);
}

.c-cta__box-sub {
	border: solid calc(2 / 16 * 1rem) #d42233;
	margin-inline: auto;
	margin-top: calc(20 / 16 * 1rem);
	max-width: calc(355 / 16 * 1rem);
	width: 100%;
}

.c-cta__sub-title {
	font-size: calc(14 / 16 * 1rem);
	margin-top: calc(10 / 16 * 1rem);
	text-align: center;
}

.c-cta__tel {
	align-items: center;
	color: #d42233;
	display: flex;
	flex-direction: row;
	font-size: calc(25 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	justify-content: center;
	letter-spacing: calc(-50 / 1000 * 1em);
	margin: calc(4 / 16 * 1rem) 0;
	text-align: center;
	white-space: nowrap;
}

.c-cta__tel::before {
	background: url("../images/icon_tel_red.svg") no-repeat center center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: calc(20 / 16 * 1rem);
	margin-right: calc(10 / 16 * 1rem);
	width: calc(20 / 16 * 1rem);
}

.c-cta__tel::after {
	background: url("../images/icon_flame.svg") no-repeat center center;
	background-size: contain;
	content: "関東";
	display: grid;
	font-size: calc(12 / 16 * 1rem);
	font-style: normal;
	height: calc(18 / 16 * 1rem);
	letter-spacing: calc(0 / 1000 * 1em);
	margin-left: 0;
	place-items: center;
	width: calc(73 / 16 * 1rem);
}

.c-section-description {
	font-size: calc(14 / 16 * 1rem);
	line-height: 1.6;
	margin-top: calc(40 / 16 * 1rem);
	padding-inline: calc(10 / 16 * 1rem);
	text-align: left;
	white-space: normal;
	white-space: initial;
	width: 100%;
}

.c-section-title {
	position: relative;
	text-align: center;
	width: 100%;
}

.c-section-title__ja {
	bottom: calc(-6 / 16 * 1rem);
	font-size: calc(22 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	left: 0;
	letter-spacing: calc(20 / 1000 * 1em);
	padding-top: calc(14 / 16 * 1rem);
	position: absolute;
	right: 0;
	text-align: center;
}

.c-section-title__en {
	color: rgba(212, 34, 51, 0.1);
	font-size: calc(60 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	letter-spacing: calc(-50 / 1000 * 1em);
	text-transform: uppercase;
}

.footer {
	border-top: solid calc(2 / 16 * 1rem) #d42233;
}

.footer__inner {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: 100%;
	justify-content: flex-start;
	margin-inline: auto;
	max-width: calc(1230 / 16 * 1rem);
	padding-block: calc(30 / 16 * 1rem);
	padding-inline: calc(20 / 16 * 1rem);
	width: 100%;
}

.footer__logo-area {
	align-items: center;
	display: flex;
	flex-direction: row;
	justify-self: flex-start;
}

.footer__logo-area a {
	align-items: center;
	display: flex;
	flex-direction: row;
	text-decoration: none;
	width: -moz-fit-content;
	width: fit-content;
}

.footer__logo img {
	width: calc(30 / 16 * 1rem);
}

.footer__logo img {
	aspect-ratio: 1;
	-o-object-fit: contain;
	   object-fit: contain;
}

.footer__company-name {
	margin-left: calc(16 / 16 * 1rem);
}

.footer__company-name-ja {
	font-size: calc(20 / 16 * 1rem);
	font-weight: 500;
	letter-spacing: calc(40 / 1000 * 1em);
	white-space: nowrap;
}

.footer__company-name-en {
	font-size: calc(11 / 16 * 1rem);
	font-weight: 500;
	letter-spacing: calc(20 / 1000 * 1em);
	margin-left: calc(4 / 16 * 1rem);
	margin-top: calc(4 / 16 * 1rem);
}

.footer__branch-list {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	list-style: none;
	margin-top: calc(30 / 16 * 1rem);
	-moz-column-gap: calc(40 / 16 * 1rem);
	     column-gap: calc(40 / 16 * 1rem);
}

.footer__branch-item:not(:first-child) {
	margin-top: calc(20 / 16 * 1rem);
}

.footer__branch-name {
	font-size: calc(13 / 16 * 1rem);
	font-weight: 700;
	letter-spacing: calc(-30 / 1000 * 1em);
}

.footer__branch-address {
	font-size: calc(12 / 16 * 1rem);
	margin-top: calc(2 / 16 * 1rem);
}

.footer__copyright {
	background-color: #d42233;
	color: #ffffff;
	font-size: calc(12 / 16 * 1rem);
	padding-block: calc(10 / 16 * 1rem);
	text-align: center;
}

.header {
	background-color: #ffffff;
}

.header__body {
	height: 55px;
}

.header__inner {
	align-items: center;
	display: flex;
	flex-direction: row;
	height: 100%;
	justify-content: space-between;
	width: 100%;
}

.header__logo-area {
	align-items: center;
	display: flex;
	flex-direction: row;
	justify-self: flex-start;
	padding-left: calc(10 / 16 * 1rem);
}

.header__logo-area a {
	align-items: center;
	display: flex;
	flex-direction: row;
	text-decoration: none;
	width: -moz-fit-content;
	width: fit-content;
}

.header__logo-area a,
.header__logo img {
	width: calc(30 / 16 * 1rem);
}

.header__logo img {
	aspect-ratio: 1;
	-o-object-fit: contain;
	   object-fit: contain;
}

.header__messages {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	margin-left: calc(10 / 16 * 1rem);
}

.header__message-main {
	font-size: calc(9 / 16 * 1rem);
	font-style: italic;
	font-weight: 500;
	letter-spacing: calc(-30 / 1000 * 1em);
	margin: 0;
	white-space: nowrap;
}

.header__message-sub {
	font-size: calc(9 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	letter-spacing: calc(-30 / 1000 * 1em);
	margin-top: calc(2 / 16 * 1rem);
	white-space: nowrap;
}

.header__message_sub--red {
	color: #d42233;
	font-size: calc(12 / 16 * 1rem);
}

.header__nav-inner,
.header__nav-for-sp-inner {
	display: flex;
	flex-direction: row;
	-moz-column-gap: calc(10 / 16 * 1rem);
	align-items: center;
	     column-gap: calc(10 / 16 * 1rem);
	justify-self: flex-end;
	margin-left: calc(10 / 16 * 1rem);
	padding-right: calc(10 / 16 * 1rem);
}

.header__tel {
	color: #d42233;
	font-size: calc(40 / 16 * 1rem);
	font-weight: 700;
	letter-spacing: calc(-50 / 1000 * 1em);
	margin: 0;
	white-space: nowrap;
}

.header__tel::before {
	background: url("../images/icon_tel_red.svg") no-repeat center center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: calc(34 / 16 * 1rem);
	margin-right: calc(10 / 16 * 1rem);
	width: calc(34 / 16 * 1rem);
}

.header__contact-link {
	align-items: center;
	background-color: #1d92e3;
	border: solid calc(2 / 16 * 1rem) #ffffff;
	border-radius: calc(50 / 16 * 1rem);
	color: #ffffff;
	display: flex;
	flex-direction: row;
	font-size: calc(18 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	justify-content: center;
	letter-spacing: calc(0 / 1000 * 1em);
	max-width: calc(220 / 16 * 1rem);
	padding: calc(20 / 16 * 1rem) calc(30 / 16 * 1rem);
	text-decoration: none;
	transition: background-color 0.3s, color 0.3s, border-color 0.3s;
	white-space: nowrap;
	width: 100%;
}

.header__contact-link::before {
	background: url("../images/icon_mail.svg") no-repeat center center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: calc(18 / 16 * 1rem);
	margin-right: 10px;
	width: calc(24 / 16 * 1rem);
}

.header__contact-link:active,
.header__contact-link:hover {
	background-color: #ffffff;
	border-color: #1d92e3;
	color: #1d92e3;
}

.header__contact-link:active::before,
.header__contact-link:hover::before {
	filter: invert(44%) sepia(88%) saturate(799%) hue-rotate(173deg) brightness(92%) contrast(92%);
}

.header__tel-for-sp {
	background: url("../images/icon_tel_white.svg") no-repeat center center;
	background-color: #d42233;
	background-size: calc(20 / 16 * 1rem);
	border-radius: calc(50 / 16 * 1rem);
	height: calc(40 / 16 * 1rem);
	transition: opacity 0.3s;
	width: calc(40 / 16 * 1rem);
}

.header__tel-for-sp:active,
.header__tel-for-sp:hover {
	opacity: 0.5;
}

.header__contact-for-sp {
	background: url("../images/icon_mail.svg") no-repeat center center;
	background-color: #1d92e3;
	background-size: calc(20 / 16 * 1rem);
	border-radius: calc(50 / 16 * 1rem);
	height: calc(40 / 16 * 1rem);
	transition: opacity 0.3s;
	width: calc(40 / 16 * 1rem);
}

.header__contact-for-sp:active,
.header__contact-for-sp:hover {
	opacity: 0.5;
}

.top-fv {
	aspect-ratio: 550/800;
	height: auto;
	position: relative;
	width: 100%;
	-o-object-fit: cover;
	background: url("../images/fv_sp.webp") no-repeat top center;
	background-color: #d42233;
	background-size: contain;
	   object-fit: cover;
}

.top-fv__message {
	display: none;
}

.top-fv__feature-list {
	display: none;
}

.top-fv__feature {
	background-color: #f8ee33;
	border-radius: calc(60 / 16 * 1rem);
	filter: drop-shadow(10px 10px 5px rgba(0, 0, 0, 0.3));
	height: calc(120 / 16 * 1rem);
	position: relative;
	width: calc(270 / 16 * 1rem);
}

.top-fv__feature:not(:first-child) {
	margin-left: calc(20 / 16 * 1rem);
}

.top-fv__feature--01::before {
	background: url("../images/feat_01.svg") no-repeat center center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: calc(86 / 16 * 1rem);
	left: 50%;
	position: absolute;
	top: -30%;
	transform: translateX(-50%);
	width: calc(129 / 16 * 1rem);
}

.top-fv__feature--02::before {
	background: url("../images/feat_02.svg") no-repeat center center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: calc(88 / 16 * 1rem);
	left: 50%;
	position: absolute;
	top: -30%;
	transform: translateX(-50%);
	width: calc(200 / 16 * 1rem);
}

.top-fv__feature--03::before {
	background: url("../images/feat_03.svg") no-repeat center center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: calc(89 / 16 * 1rem);
	left: 50%;
	position: absolute;
	top: -30%;
	transform: translateX(-50%);
	width: calc(80 / 16 * 1rem);
}

.top-fv__feature-text {
	font-size: calc(20 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	left: 50%;
	letter-spacing: calc(-50 / 1000 * 1em);
	position: absolute;
	text-align: center;
	top: 54%;
	transform: translate(-50%, -50%);
	white-space: nowrap;
	z-index: 1;
}

.top-fv__feature-text--red {
	color: #d42233;
	font-size: calc(28 / 16 * 1rem);
}

.top-slider {
	margin-top: calc(-50 / 16 * 1rem);
	width: 100%;
}

.top-slider__item img {
	max-width: calc(200 / 16 * 1rem);
	width: 100%;
}

.top-slider__item--bottom-padding {
	padding-bottom: calc(20 / 16 * 1rem);
}

.top-slider__item--top-padding {
	padding-top: calc(20 / 16 * 1rem);
}

.top-strengths__list {
	list-style: none;
}

.top-strengths__item {
	align-items: flex-start;
	display: flex;
	flex-direction: column;
	justify-content: center;
	-moz-column-gap: calc(10 / 16 * 1rem);
	     column-gap: calc(10 / 16 * 1rem);
	margin-top: calc(40 / 16 * 1rem);
}

.top-strengths__item--reverse {
	flex-direction: column;
}

.top-strengths__text {
	background-color: #ffffff;
	max-width: calc(770 / 16 * 1rem);
	padding: calc(20 / 16 * 1rem) calc(10 / 16 * 1rem);
	width: 100%;
}

.top-strengths__item-title {
	border-bottom: solid calc(2 / 16 * 1rem) #d42233;
	color: #d42233;
	font-size: calc(24 / 16 * 1rem);
	font-style: italic;
	padding-bottom: calc(8 / 16 * 1rem);
	position: relative;
}

.top-strengths__item-title--small {
	font-size: calc(30 / 16 * 1rem);
}

.top-strengths__list {
	counter-reset: strength-count 0;
}

.top-strengths__item-title::before {
	background: url("../images/dec_highlighter.svg") no-repeat bottom 20% center;
	background-size: contain;
	content: counter(strength-count, decimal-leading-zero);
	counter-increment: strength-count 1;
	font-size: calc(30 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	margin-right: calc(10 / 16 * 1rem);
	padding-right: calc(30 / 16 * 1rem);
	width: calc(200 / 16 * 1rem);
}

.top-strengths__item-title::after {
	content: "strengths";
	font-size: calc(10 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	left: calc(0 / 16 * 1rem);
	letter-spacing: calc(-50 / 1000 * 1em);
	position: absolute;
	text-transform: uppercase;
	top: calc(-6 / 16 * 1rem);
}

.top-strengths__item-title--24hour {
	background: url("../images/icon_flame_long.svg") no-repeat center center;
	background-size: contain;
	color: #d42233;
	font-size: calc(14 / 16 * 1rem);
	font-style: italic;
	line-height: 2;
	margin-left: calc(4 / 16 * 1rem);
	padding-inline: calc(30 / 16 * 1rem);
}

.top-strengths__item-desc {
	font-size: calc(14 / 16 * 1rem);
	line-height: 1.7;
	margin-top: calc(24 / 16 * 1rem);
}

.top-strengths__item-desc:not(:nth-child(2)) {
	margin-top: 1.2em;
}

.top-strengths__item-image {
	padding-inline: calc(10 / 16 * 1rem);
}

.top-strengths__item-image img {
	aspect-ratio: 540/360;
	max-width: calc(540 / 16 * 1rem);
	width: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.top-equipment__card-list {
	display: grid;
	grid-template-columns: 1fr;
	list-style: none;
	margin-inline: auto;
	margin-top: calc(50 / 16 * 1rem);
	max-width: 100%;
	width: 100%;
}

.top-equipment__card {
	align-items: center;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	max-width: 100%;
	padding: calc(10 / 16 * 1rem);
	width: 100%;
}

.top-equipment__card:nth-child(odd) {
	background-color: #f5f5f5;
}

.top-equipment__card:nth-child(even) {
	background-color: #ffffff;
}

.top-equipment__card-image img {
	aspect-ratio: 350/240;
	max-width: 100%;
	width: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.top-equipment__card-text {
	margin-top: calc(20 / 16 * 1rem);
	width: 100%;
}

.top-equipment__card-title {
	border-bottom: solid calc(2 / 16 * 1rem) #d42233;
	color: #d42233;
	font-size: calc(20 / 16 * 1rem);
	font-style: italic;
	max-width: 100%;
	padding-bottom: calc(12 / 16 * 1rem);
	text-align: center;
	width: 100%;
}

.top-equipment__card-title--small {
	font-size: calc(18 / 16 * 1rem);
}

.top-equipment__spec-list {
	display: flex;
	flex-direction: column;
}

.top-equipment__spec {
	display: flex;
	flex-direction: row;
	margin-top: calc(16 / 16 * 1rem);
}

.top-equipment__spec-title {
	color: #d42233;
	font-size: calc(14 / 16 * 1rem);
	font-weight: 500;
	max-width: calc(90 / 16 * 1rem);
	white-space: normal;
	white-space: initial;
	width: 100%;
}

.top-equipment__spec-details {
	display: flex;
	flex-direction: column;
	font-size: calc(14 / 16 * 1rem);
	line-height: 1.4;
	row-gap: 1em;
}

.top-equipment__spec-caution {
	font-size: calc(14 / 16 * 1rem);
}

.top-equipment__spec-caution::before {
	content: "※";
	font-size: calc(14 / 16 * 1rem);
}

.top-case-study__list {
	display: flex;
	flex-direction: column;
	margin-top: calc(50 / 16 * 1rem);
	row-gap: 0;
}

.top-case-study__item {
	align-items: center;
	background-color: rgba(212, 34, 51, 0.1);
	display: flex;
	flex-direction: column-reverse;
	height: auto;
	justify-content: flex-start;
	margin: auto;
	max-width: calc(900 / 16 * 1rem);
	position: relative;
	width: 100%;
}

.top-case-study__item:not(:first-child) {
	margin-top: 0;
}

.top-case-study__image {
	padding: 0 calc(10 / 16 * 1rem) calc(40 / 16 * 1rem);
	position: static;
}

.top-case-study__image img {
	aspect-ratio: 400/300;
	max-width: calc(400 / 16 * 1rem);
	width: 100%;
	-o-object-fit: cover;
	   object-fit: cover;
}

.top-case-study__text {
	max-width: calc(560 / 16 * 1rem);
	padding: calc(20 / 16 * 1rem);
	width: 100%;
}

.top-case-study__item-title {
	color: #d42233;
	font-size: calc(24 / 16 * 1rem);
}

.top-case-study__voice {
	background-color: #ffffff;
	margin-top: calc(30 / 16 * 1rem);
	padding: calc(24 / 16 * 1rem);
	position: relative;
}

.top-case-study__voice::before {
	background: url("../images/icon_person.svg") no-repeat center center;
	background-size: contain;
	content: "";
	height: calc(30 / 16 * 1rem);
	left: calc(24 / 16 * 1rem);
	position: absolute;
	top: calc(-14 / 16 * 1rem);
	width: calc(30 / 16 * 1rem);
}

.top-case-study__voice::after {
	color: #d42233;
	content: "お客様の声";
	font-size: calc(18 / 16 * 1rem);
	font-weight: 700;
	left: calc(64 / 16 * 1rem);
	position: absolute;
	top: calc(-11 / 16 * 1rem);
}

.top-case-study__voice-text {
	font-size: calc(14 / 16 * 1rem);
	font-weight: 500;
}

.top-case-study__details {
	margin-top: calc(20 / 16 * 1rem);
}

.top-case-study__detail {
	display: flex;
	flex-direction: row;
}

.top-case-study__detail:not(:first-child) {
	margin-top: 0.4em;
}

.top-case-study__detail-title {
	color: #d42233;
	font-size: calc(14 / 16 * 1rem);
	font-weight: 500;
	width: calc(90 / 16 * 1rem);
}

.top-case-study__detail-content {
	font-size: calc(14 / 16 * 1rem);
	font-weight: 500;
}

.top-flow__list {
	list-style: none;
	margin-top: calc(50 / 16 * 1rem);
}

.top-flow__item {
	border-bottom: solid calc(1 / 16 * 1rem) #dddddd;
	display: flex;
	flex-direction: column;
	margin-inline: auto;
	padding-bottom: calc(30 / 16 * 1rem);
	padding-inline: calc(10 / 16 * 1rem);
	width: 100%;
}

.top-flow__item:not(:first-child) {
	margin-top: calc(60 / 16 * 1rem);
	position: relative;
}

.top-flow__item:not(:first-child)::before {
	background: url("../images/icon_arrow.svg") no-repeat center center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: calc(18 / 16 * 1rem);
	left: 50%;
	position: absolute;
	top: calc(-44 / 16 * 1rem);
	transform: translateX(-50%);
	width: calc(30 / 16 * 1rem);
}

.top-flow__item-title {
	align-items: center;
	color: #d42233;
	font-size: calc(22 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	padding-left: calc(60 / 16 * 1rem);
	position: relative;
	white-space: nowrap;
	width: calc(310 / 16 * 1rem);
}

.top-flow__item-title--small {
	font-size: calc(16 / 16 * 1rem);
}

.top-flow__list {
	counter-reset: flow-step-count 0;
}

.top-flow__item-title::before {
	content: counter(flow-step-count, decimal-leading-zero);
	counter-increment: flow-step-count 1;
	font-size: calc(28 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	left: calc(4 / 16 * 1rem);
	margin-right: calc(24 / 16 * 1rem);
	position: absolute;
	top: calc(-1 / 16 * 1rem);
	width: calc(200 / 16 * 1rem);
}

.top-flow__item-title::after {
	content: "step";
	font-size: calc(12 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	left: calc(8 / 16 * 1rem);
	letter-spacing: calc(0 / 1000 * 1em);
	position: absolute;
	text-transform: uppercase;
	top: calc(-8 / 16 * 1rem);
}

.top-flow__item-desc {
	font-size: calc(14 / 16 * 1rem);
	letter-spacing: calc(-60 / 1000 * 1em);
	line-height: 1.5;
	margin-top: calc(24 / 16 * 1rem);
	white-space: normal;
	white-space: initial;
}

.top-estimate__cta-box {
	margin-top: calc(72 / 16 * 1rem);
}

.top-estimate__box-main {
	background: url("../images/bg_cta.svg") no-repeat center center;
	background-size: cover;
	height: calc(245 / 16 * 1rem);
	margin-inline: auto;
	max-width: calc(355 / 16 * 1rem);
	position: relative;
	width: 100%;
}

.top-estimate__box-main img {
	aspect-ratio: 140/151;
	max-width: calc(56 / 16 * 1rem);
	position: absolute;
	right: calc(5 / 16 * 1rem);
	top: calc(-10 / 16 * 1rem);
	width: 100%;
	-o-object-fit: contain;
	   object-fit: contain;
}

.top-estimate__main-title {
	color: #ffffff;
	font-size: calc(21 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	letter-spacing: calc(-80 / 1000 * 1em);
	padding-top: calc(14 / 16 * 1rem);
	text-align: center;
}

.top-estimate__main-title-sub {
	-webkit-text-stroke: calc(8 / 16 * 1rem) #d42233;
	color: #ffffff;
	font-size: calc(20 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	left: 50%;
	letter-spacing: calc(0 / 1000 * 1em);
	padding-top: calc(14 / 16 * 1rem);
	paint-order: stroke;
	position: absolute;
	text-align: center;
	top: calc(-28 / 16 * 1rem);
	transform: translateX(-50%);
}

.top-estimate__main-title--yellow,
.top-estimate__main-title-sub--yellow {
	color: #f8ee33;
}

.top-estimate__badge {
	background-color: #f8ee33;
	border-radius: calc(60 / 16 * 1rem);
	display: grid;
	height: calc(56 / 16 * 1rem);
	left: calc(10 / 16 * 1rem);
	max-width: calc(56 / 16 * 1rem);
	place-items: center;
	position: absolute;
	top: calc(-14 / 16 * 1rem);
	width: 100%;
}

.top-estimate__badge-text {
	font-size: calc(13 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	line-height: 0.9;
	text-align: center;
	white-space: nowrap;
}

.top-estimate__badge--strong {
	color: #d42233;
	font-size: calc(30 / 16 * 1rem);
	font-weight: 700;
}

.top-estimate__badge--middle {
	color: #d42233;
	font-size: calc(19 / 16 * 1rem);
	font-weight: 700;
}

.top-estimate__box-inner {
	background-color: #ffffff;
	height: calc(190 / 16 * 1rem);
	left: calc(10 / 16 * 1rem);
	max-width: calc(335 / 16 * 1rem);
	position: absolute;
	top: calc(46 / 16 * 1rem);
	width: 100%;
}

.top-estimate__cta-desc {
	color: #1d92e3;
	font-size: calc(16 / 16 * 1rem);
	font-weight: 700;
	line-height: 1.5;
	margin-top: calc(8 / 16 * 1rem);
	text-align: center;
}

.top-estimate__desc--red {
	color: #d42233;
	font-weight: 700;
}

.top-estimate__question-list {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	list-style: none;
	grid-gap: calc(8 / 16 * 1rem) calc(20 / 16 * 1rem);
	gap: calc(8 / 16 * 1rem) calc(20 / 16 * 1rem);
	margin-top: calc(12 / 16 * 1rem);
	padding-inline: calc(10 / 16 * 1rem);
}

.top-estimate__question {
	align-items: center;
	display: flex;
	flex-direction: row;
	font-size: calc(11 / 16 * 1rem);
	font-weight: 700;
	letter-spacing: calc(-60 / 1000 * 1em);
	white-space: nowrap;
}

.top-estimate__question::before {
	background: url("../images/icon_check.svg") no-repeat center center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: calc(13 / 16 * 1rem);
	margin-right: calc(2 / 16 * 1rem);
	width: calc(15 / 16 * 1rem);
}

.top-estimate__message {
	align-items: center;
	color: #d42233;
	display: flex;
	flex-direction: row;
	font-size: calc(14 / 16 * 1rem);
	font-weight: 700;
	justify-content: center;
	letter-spacing: calc(-60 / 1000 * 1em);
	margin-top: calc(8 / 16 * 1rem);
	text-align: center;
}

.top-estimate__message::before {
	background: url("../images/dec_estimate_msg_left.svg") no-repeat center center;
	content: "";
	display: inline-block;
	height: calc(21 / 16 * 1rem);
	margin-right: calc(8 / 16 * 1rem);
	max-width: calc(14 / 16 * 1rem);
	width: 100%;
}

.top-estimate__message::after {
	background: url("../images/dec_estimate_msg_right.svg") no-repeat center center;
	content: "";
	display: inline-block;
	height: calc(21 / 16 * 1rem);
	margin-left: calc(10 / 16 * 1rem);
	max-width: calc(14 / 16 * 1rem);
	width: 100%;
}

.top-estimate__buttons {
	align-items: center;
	display: flex;
	flex-direction: row;
	justify-content: center;
	position: relative;
	-moz-column-gap: calc(20 / 16 * 1rem);
	     column-gap: calc(20 / 16 * 1rem);
	margin-top: calc(13 / 16 * 1rem);
}

.top-estimate__button-text {
	background-color: #ffffff;
	border-radius: calc(4 / 16 * 1rem);
	display: inline-block;
	font-size: calc(11 / 16 * 1rem);
	font-weight: 700;
	left: calc(40 / 16 * 1rem);
	padding: calc(2 / 16 * 1rem) calc(8 / 16 * 1rem);
	position: absolute;
	text-align: center;
	top: calc(7 / 16 * 1rem);
	transform: none;
	transform: initial;
	width: -moz-fit-content;
	width: fit-content;
}

.top-estimate__button-text--red {
	color: #d42233;
}

.top-estimate__button-estimate {
	align-items: center;
	background-color: #1d92e3;
	border: solid calc(2 / 16 * 1rem) #ffffff;
	border-radius: calc(50 / 16 * 1rem);
	color: #ffffff;
	display: flex;
	flex-direction: row;
	font-size: calc(14 / 16 * 1rem);
	font-weight: 700;
	justify-content: center;
	margin-left: 0;
	max-width: calc(315 / 16 * 1rem);
	padding: calc(12 / 16 * 1rem) 0 calc(12 / 16 * 1rem) calc(48 / 16 * 1rem);
	text-align: center;
	transition: background-color 0.3s, color 0.3s, border-color 0.3s;
	width: 100%;
}

.top-estimate__button-estimate::before {
	background: url("../images/icon_mail.svg") no-repeat center center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: calc(16 / 16 * 1rem);
	margin-right: calc(4 / 16 * 1rem);
	transition: filter 0.3s;
	width: calc(20 / 16 * 1rem);
}

.top-estimate__button-estimate:hover {
	background-color: #ffffff;
	border-color: #1d92e3;
	color: #1d92e3;
}

.top-estimate__button-estimate:hover::before {
	filter: invert(44%) sepia(88%) saturate(799%) hue-rotate(173deg) brightness(92%) contrast(92%);
}

.top-estimate__box-sub {
	border: solid calc(2 / 16 * 1rem) #d42233;
	margin-inline: auto;
	margin-top: calc(20 / 16 * 1rem);
	max-width: calc(355 / 16 * 1rem);
	width: 100%;
}

.top-estimate__sub-title {
	font-size: calc(14 / 16 * 1rem);
	margin-top: calc(10 / 16 * 1rem);
	text-align: center;
}

.top-estimate__tel {
	align-items: center;
	color: #d42233;
	display: flex;
	flex-direction: row;
	font-size: calc(25 / 16 * 1rem);
	font-style: italic;
	font-weight: 700;
	justify-content: center;
	letter-spacing: calc(-50 / 1000 * 1em);
	margin: calc(4 / 16 * 1rem) 0;
	text-align: center;
	white-space: nowrap;
}

.top-estimate__tel::before {
	background: url("../images/icon_tel_red.svg") no-repeat center center;
	background-size: contain;
	content: "";
	display: inline-block;
	height: calc(20 / 16 * 1rem);
	margin-right: calc(10 / 16 * 1rem);
	width: calc(20 / 16 * 1rem);
}

.top-estimate__tel::after {
	background: url("../images/icon_flame.svg") no-repeat center center;
	background-size: contain;
	content: "関東";
	display: grid;
	font-size: calc(12 / 16 * 1rem);
	font-style: normal;
	height: calc(18 / 16 * 1rem);
	letter-spacing: calc(0 / 1000 * 1em);
	margin-left: 0;
	place-items: center;
	width: calc(73 / 16 * 1rem);
}

.top-estimate__form-area {
	margin-top: calc(30 / 16 * 1rem);
	padding-bottom: calc(60 / 16 * 1rem);
}

.top-estimate input,
.top-estimate textarea {
	background-color: #efefef !important;
}

.top-estimate .satori__message a {
	color: #2b4da2;
}

.top-estimate .satori__btn {
	background-color: #2b4da2 !important;
	border-radius: calc(4 / 16 * 1rem) !important;
	color: #ffffff !important;
	margin-top: calc(16 / 16 * 1rem);
	max-width: 100%;
	padding-block: calc(16 / 16 * 1rem) !important;
	width: 100%;
}

.u-margintop--xl {
	margin-top: 180px;
}

.u-margintop--lg {
	margin-top: 150px;
}

.u-margintop--ml {
	margin-top: 120px;
}

.u-margintop--md {
	margin-top: 80px;
}

.u-margintop--sm {
	margin-top: 60px;
}

.u-margintop--xs {
	margin-top: 30px;
}

.u-padding--xl {
	padding: 180px 0;
}

.u-padding--lg {
	padding: 150px 0;
}

.u-padding--ml {
	padding: 120px 0;
}

.u-padding--md {
	padding: 80px 0;
}

.u-padding--sm {
	padding: 60px 0;
}

.u-padding--xs {
	padding: 30px 0;
}

.u-desktop {
	display: none;
}

.u-hiddenMobile {
	display: none;
}

.u-break-keep {
	word-break: keep-all;
}

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

.u-text-medium {
	font-weight: 500;
}

.u-text-underline {
	font-weight: 500;
	text-decoration: underline;
	text-underline-offset: 20%;
}

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

@media (min-width: 576px) {

.l-base {
	max-width: 540px;
	width: 100%;
}

}

@media screen and (min-width: 768px) {

html {
	font-size: calc(16 / 1380 * 100vw);
}

a[href^="tel:"] {
	pointer-events: none;
}

.l-header {
	max-width: calc(1410 / 16 * 1rem);
}

.l-inner {
	max-width: calc(2120 / 16 * 1rem);
	padding-left: calc(370 / 16 * 1rem);
	padding-right: calc(370 / 16 * 1rem);
}

.l-section {
	padding-top: calc(90 / 16 * 1rem);
}

.c-cta {
	height: calc(330 / 16 * 1rem);
	max-width: calc(900 / 16 * 1rem);
}

.c-cta img {
	height: calc(188 / 16 * 1rem);
	max-width: calc(160 / 16 * 1rem);
	right: calc(20 / 16 * 1rem);
	top: calc(10 / 16 * 1rem);
}

.c-cta__main-title {
	font-size: calc(34 / 16 * 1rem);
	padding-left: 0;
	padding-top: calc(14 / 16 * 1rem);
}

.c-cta__main-title::before {
	height: calc(32 / 16 * 1rem);
	max-width: calc(21 / 16 * 1rem);
}

.c-cta__main-title::after {
	height: calc(32 / 16 * 1rem);
	max-width: calc(20 / 16 * 1rem);
}

.c-cta__box-inner {
	height: calc(230 / 16 * 1rem);
	left: calc(30 / 16 * 1rem);
	max-width: calc(840 / 16 * 1rem);
	padding-inline: 0;
	top: calc(70 / 16 * 1rem);
	width: 100%;
}

.c-cta__desc {
	font-size: calc(18 / 16 * 1rem);
	line-height: 1.5;
	margin-top: calc(16 / 16 * 1rem);
	max-width: 100%;
	text-align: center;
}

.c-cta__caution {
	font-size: calc(14 / 16 * 1rem);
	max-width: 100%;
	text-align: center;
}

.c-cta__caution::before {
	font-size: calc(14 / 16 * 1rem);
}

.c-cta__badge {
	height: calc(120 / 16 * 1rem);
	left: calc(30 / 16 * 1rem);
	max-width: calc(120 / 16 * 1rem);
	top: calc(-46 / 16 * 1rem);
}

.c-cta__badge-text {
	font-size: calc(25 / 16 * 1rem);
	line-height: 0.9;
	max-width: calc(120 / 16 * 1rem);
}

.c-cta__badge--strong {
	font-size: calc(60 / 16 * 1rem);
}

.c-cta__badge--middle {
	font-size: calc(40 / 16 * 1rem);
}

.c-cta__buttons {
	align-items: center;
	flex-direction: row;
	justify-content: center;
	-moz-column-gap: calc(20 / 16 * 1rem);
	     column-gap: calc(20 / 16 * 1rem);
	margin-top: calc(20 / 16 * 1rem);
}

.c-cta__button-estimate {
	font-size: calc(20 / 16 * 1rem);
	height: calc(60 / 16 * 1rem);
}

.c-cta__button-estimate::before {
	height: calc(18 / 16 * 1rem);
	width: calc(24 / 16 * 1rem);
}

.c-cta__button-case-study {
	font-size: calc(20 / 16 * 1rem);
	height: calc(60 / 16 * 1rem);
}

.c-cta__button-case-study::before {
	height: calc(25 / 16 * 1rem);
	width: calc(35 / 16 * 1rem);
}

.c-cta__box-sub {
	max-width: calc(900 / 16 * 1rem);
}

.c-cta__sub-title {
	font-size: calc(18 / 16 * 1rem);
}

.c-cta__tel {
	font-size: calc(48 / 16 * 1rem);
}

.c-cta__tel::before {
	height: calc(40 / 16 * 1rem);
	width: calc(40 / 16 * 1rem);
}

.c-cta__tel::after {
	font-size: calc(16 / 16 * 1rem);
	height: calc(26 / 16 * 1rem);
	margin-left: calc(20 / 16 * 1rem);
}

.c-section-description {
	font-size: calc(16 / 16 * 1rem);
	margin-top: calc(56 / 16 * 1rem);
	text-align: center;
	white-space: nowrap;
}

.c-section-title__ja {
	font-size: calc(36 / 16 * 1rem);
}

.c-section-title__en {
	font-size: calc(100 / 16 * 1rem);
}

.footer__inner {
	align-items: center;
	flex-direction: row;
	justify-content: space-between;
	padding-block: calc(47 / 16 * 1rem);
}

.footer__logo img {
	width: calc(60 / 16 * 1rem);
}

.footer__branch-list {
	align-items: center;
	flex-direction: row;
	justify-content: flex-start;
	-moz-column-gap: calc(40 / 16 * 1rem);
	     column-gap: calc(40 / 16 * 1rem);
	margin-top: 0;
}

.footer__branch-item:not(:first-child) {
	margin-top: 0;
}

.footer__branch-address {
	margin-top: calc(8 / 16 * 1rem);
}

.header__body {
	height: 90px;
}

.header__logo-area a,
.header__logo img {
	width: calc(60 / 16 * 1rem);
}

.header__message-main {
	font-size: calc(18 / 16 * 1rem);
}

.header__message-sub {
	font-size: calc(18 / 16 * 1rem);
}

.header__message_sub--red {
	font-size: calc(24 / 16 * 1rem);
}

.header__nav-inner,
.header__nav-for-sp-inner {
	-moz-column-gap: calc(20 / 16 * 1rem);
	     column-gap: calc(20 / 16 * 1rem);
}

.top-fv {
	aspect-ratio: unset;
	background: url("../images/fv_pc.webp") no-repeat top center;
	background-size: cover;
	height: calc(610 / 16 * 1rem);
	-o-object-fit: initial;
	   object-fit: initial;
}

.top-fv__feature-list {
	align-items: center;
	display: flex;
	flex-direction: row;
	justify-content: flex-start;
	left: 50%;
	list-style: none;
	position: absolute;
	top: 72%;
	transform: translate(-50%, -50%);
}

.top-slider {
	margin-top: calc(-80 / 16 * 1rem);
}

.top-slider__item img {
	max-width: calc(300 / 16 * 1rem);
}

.top-strengths__item {
	align-items: flex-start;
	flex-direction: row-reverse;
	justify-content: center;
	margin-top: calc(80 / 16 * 1rem);
}

.top-strengths__item--reverse {
	flex-direction: row;
}

.top-strengths__text {
	padding: calc(20 / 16 * 1rem) calc(30 / 16 * 1rem);
}

.top-strengths__item-title {
	font-size: calc(40 / 16 * 1rem);
}

.top-strengths__item-title::before {
	font-size: calc(68 / 16 * 1rem);
}

.top-strengths__item-title::after {
	font-size: calc(14 / 16 * 1rem);
	left: calc(10 / 16 * 1rem);
	top: calc(-2 / 16 * 1rem);
}

.top-strengths__item-title--24hour {
	font-size: calc(23 / 16 * 1rem);
}

.top-strengths__item-desc {
	font-size: calc(16 / 16 * 1rem);
}

.top-strengths__item-desc:not(:nth-child(2)) {
	margin-top: 1.3em;
}

.top-strengths__item-image {
	padding-inline: 0;
}

.top-equipment__card-list {
	grid-template-columns: repeat(3, minmax(calc(300 / 16 * 1rem), 1fr));
	max-width: calc(1230 / 16 * 1rem);
}

.top-equipment__card {
	max-width: calc(410 / 16 * 1rem);
	padding: calc(30 / 16 * 1rem);
}

.top-equipment__card-image img {
	max-width: calc(350 / 16 * 1rem);
}

.top-equipment__card-title {
	font-size: calc(24 / 16 * 1rem);
	max-width: calc(350 / 16 * 1rem);
}

.top-equipment__spec-title {
	font-size: calc(16 / 16 * 1rem);
	white-space: nowrap;
}

.top-equipment__spec-details {
	font-size: calc(16 / 16 * 1rem);
}

.top-case-study__list {
	margin-top: calc(80 / 16 * 1rem);
	row-gap: calc(30 / 16 * 1rem);
}

.top-case-study__item {
	align-items: flex-start;
	flex-direction: row;
	height: calc(320 / 16 * 1rem);
	justify-content: flex-end;
}

.top-case-study__item:not(:first-child) {
	margin-top: calc(48 / 16 * 1rem);
}

.top-case-study__image {
	left: calc(-40 / 16 * 1rem);
	position: absolute;
	top: calc(-30 / 16 * 1rem);
}

.top-case-study__text {
	padding: calc(40 / 16 * 1rem) calc(40 / 16 * 1rem) calc(40 / 16 * 1rem) calc(60 / 16 * 1rem);
}

.top-case-study__item-title {
	font-size: calc(30 / 16 * 1rem);
}

.top-case-study__voice {
	margin-top: calc(40 / 16 * 1rem);
}

.top-case-study__voice-text {
	font-size: calc(16 / 16 * 1rem);
}

.top-case-study__detail:not(:first-child) {
	margin-top: 1em;
}

.top-case-study__detail-title {
	font-size: calc(16 / 16 * 1rem);
}

.top-case-study__detail-content {
	font-size: calc(16 / 16 * 1rem);
}

.top-flow__list {
	margin-top: calc(80 / 16 * 1rem);
}

.top-flow__item {
	flex-direction: row;
	width: calc(900 / 16 * 1rem);
}

.top-flow__item:not(:first-child) {
	margin-top: calc(80 / 16 * 1rem);
}

.top-flow__item:not(:first-child)::before {
	top: calc(-56 / 16 * 1rem);
}

.top-flow__item-title {
	padding-left: calc(80 / 16 * 1rem);
}

.top-flow__item-title::before {
	font-size: calc(44 / 16 * 1rem);
}

.top-flow__item-title::after {
	font-size: calc(18 / 16 * 1rem);
	left: calc(12 / 16 * 1rem);
	top: calc(-16 / 16 * 1rem);
}

.top-flow__item-desc {
	font-size: calc(16 / 16 * 1rem);
	margin-top: calc(-16 / 16 * 1rem);
	white-space: nowrap;
}

.top-estimate__box-main {
	height: calc(420 / 16 * 1rem);
	max-width: calc(900 / 16 * 1rem);
}

.top-estimate__box-main img {
	height: calc(151 / 16 * 1rem);
	max-width: calc(140 / 16 * 1rem);
	right: calc(30 / 16 * 1rem);
	top: calc(-32 / 16 * 1rem);
}

.top-estimate__main-title {
	font-size: calc(48 / 16 * 1rem);
	padding-top: calc(20 / 16 * 1rem);
}

.top-estimate__main-title-sub {
	font-size: calc(40 / 16 * 1rem);
	left: 50%;
	top: calc(-40 / 16 * 1rem);
}

.top-estimate__badge {
	height: calc(120 / 16 * 1rem);
	left: calc(30 / 16 * 1rem);
	max-width: calc(120 / 16 * 1rem);
	top: calc(-46 / 16 * 1rem);
}

.top-estimate__badge-text {
	font-size: calc(25 / 16 * 1rem);
}

.top-estimate__badge--strong {
	font-size: calc(60 / 16 * 1rem);
}

.top-estimate__badge--middle {
	font-size: calc(40 / 16 * 1rem);
}

.top-estimate__box-inner {
	height: calc(294 / 16 * 1rem);
	left: calc(30 / 16 * 1rem);
	max-width: calc(840 / 16 * 1rem);
	top: calc(97 / 16 * 1rem);
}

.top-estimate__cta-desc {
	font-size: calc(26 / 16 * 1rem);
	margin-top: calc(16 / 16 * 1rem);
}

.top-estimate__question-list {
	gap: calc(16 / 16 * 1rem) calc(32 / 16 * 1rem);
	grid-template-columns: repeat(3, 1fr);
	margin-top: calc(16 / 16 * 1rem);
	padding-inline: calc(30 / 16 * 1rem);
}

.top-estimate__question {
	font-size: calc(18 / 16 * 1rem);
}

.top-estimate__question::before {
	height: calc(23 / 16 * 1rem);
	width: calc(27 / 16 * 1rem);
}

.top-estimate__message {
	font-size: calc(24 / 16 * 1rem);
	margin-top: calc(24 / 16 * 1rem);
}

.top-estimate__message::before {
	height: calc(24 / 16 * 1rem);
	max-width: calc(15 / 16 * 1rem);
}

.top-estimate__message::after {
	height: calc(24 / 16 * 1rem);
	max-width: calc(15 / 16 * 1rem);
}

.top-estimate__button-text {
	border-radius: calc(50 / 16 * 1rem);
	font-size: calc(14 / 16 * 1rem);
	left: 50%;
	padding: calc(2 / 16 * 1rem) calc(8 / 16 * 1rem);
	top: calc(10 / 16 * 1rem);
	transform: translateX(-50%);
	width: calc(260 / 16 * 1rem);
}

.top-estimate__button-estimate {
	font-size: calc(24 / 16 * 1rem);
	margin-left: calc(-35 / 16 * 1rem);
	max-width: calc(480 / 16 * 1rem);
	padding: calc(40 / 16 * 1rem) 0 calc(18 / 16 * 1rem) calc(40 / 16 * 1rem);
}

.top-estimate__button-estimate::before {
	height: calc(25 / 16 * 1rem);
	margin-right: calc(10 / 16 * 1rem);
	width: calc(33 / 16 * 1rem);
}

.top-estimate__box-sub {
	max-width: calc(900 / 16 * 1rem);
}

.top-estimate__sub-title {
	font-size: calc(18 / 16 * 1rem);
}

.top-estimate__tel {
	font-size: calc(48 / 16 * 1rem);
}

.top-estimate__tel::before {
	height: calc(40 / 16 * 1rem);
	width: calc(40 / 16 * 1rem);
}

.top-estimate__tel::after {
	font-size: calc(16 / 16 * 1rem);
	height: calc(26 / 16 * 1rem);
	margin-left: calc(20 / 16 * 1rem);
	width: calc(73 / 16 * 1rem);
}

.top-estimate__form-area {
	padding-bottom: calc(120 / 16 * 1rem);
}

.top-estimate .satori__btn {
	margin-top: 0;
	margin-top: initial;
	max-width: calc(300 / 16 * 1rem);
}

.u-desktop {
	display: block;
}

.u-mobile {
	display: none;
}

.u-hiddenDesktop {
	display: none;
}

}

@media (min-width: 768px) {

.l-base {
	max-width: 720px;
	width: 100%;
}

}

@media (min-width: 992px) {

.l-base {
	max-width: 960px;
	width: 100%;
}

}

@media (min-width: 1360px) {

.l-base {
	max-width: 1320px;
	width: 100%;
}

}

@media screen and (min-width: 1380px) {

html {
	font-size: 16px;
}

}

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

.u-margintop--xl {
	margin-top: 150px;
}

.u-margintop--lg {
	margin-top: 120px;
}

.u-margintop--ml {
	margin-top: 90px;
}

.u-margintop--md {
	margin-top: 60px;
}

.u-margintop--sm {
	margin-top: 40px;
}

.u-margintop--xs {
	margin-top: 25px;
}

.u-padding--xl {
	padding: 150px 0;
}

.u-padding--lg {
	padding: 120px 0;
}

.u-padding--ml {
	padding: 90px 0;
}

.u-padding--md {
	padding: 60px 0;
}

.u-padding--sm {
	padding: 40px 0;
}

.u-padding--xs {
	padding: 25px 0;
}

}

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

.u-margintop--xl {
	margin-top: 120px;
}

.u-margintop--lg {
	margin-top: 80px;
}

.u-margintop--ml {
	margin-top: 60px;
}

.u-margintop--md {
	margin-top: 40px;
}

.u-margintop--sm {
	margin-top: 30px;
}

.u-margintop--xs {
	margin-top: 20px;
}

.u-padding--xl {
	padding: 120px 0;
}

.u-padding--lg {
	padding: 90px 0;
}

.u-padding--ml {
	padding: 60px 0;
}

.u-padding--md {
	padding: 40px 0;
}

.u-padding--sm {
	padding: 30px 0;
}

.u-padding--xs {
	padding: 20px 0;
}

}

@media (max-width: 375px) {

html {
	font-size: calc(16 / 375 * 100vw);
}

}

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