.phrase {
	display: inline-block;
}

fieldset,
legend,
button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background: none;
	border: none;
	border-radius: 0;
	margin: 0;
	outline: none;
	padding: 0;
}

input[type="date"],
input[type="datetime-local"],
input[type="month"],
input[type="time"] {
	border: 1px solid #ccc;
	font-size: 16px;
	margin: 0;
	outline: none;
	padding: 4px;
}

select {
	background-image: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAALJJREFUeNrslssNgCAQRCmB0ijBEuyEEijBEijBEizBEnAPy0UBWVj8JDvJJB5w3gsXVUoikXwsBrpAPdRCNcOmxi2P2yZ3cIKGU9dOCY0b590pdXhPHOyRyMEDsi4JhVIlSvBYTRGgSNTAQ+pFyyBRC7e5AdchUQt3d1fYIsEGb5Fgh1MktlFwisQwOIeE4/pGuDfhLRLscIrEMHiNxHB4SeIxeMyMPxkenyUSyT9zCDAAj5btZ4c3zaUAAAAASUVORK5CYII=");
	background-position: right 8px center;
	background-repeat: no-repeat;
	background-size: 12px 12px;
	padding-right: 30px;
}

.select {
	background: #fff;
	display: inline-block;
	overflow: hidden;
	position: relative;
}

.select select {
	background: none;
	border: 1px solid #ccc;
	cursor: pointer;
	padding-right: 24px;
	text-overflow: "";
	width: 100%;
}

.select::before {
	border-left: 6px solid transparent;
	border-right: 6px solid transparent;
	border-top: 6px solid #666;
	content: "";
	height: 0;
	padding: 0;
	pointer-events: none;
	position: absolute;
	right: 8px;
	top: 13px;
	width: 0;
}

/* radio & checkbox */

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

/* fieldset */

fieldset {
	border: 1px solid #ccc;
	padding: 8px 16px;
}

legend {
	padding: 0 8px;
}

/* button */

input[type="submit"],
input[type="reset"],
input[type="button"],
button {
	-webkit-box-sizing: content-box;
	-webkit-appearance: button;
	-moz-appearance: button;
	appearance: button;
	cursor: pointer;
	display: inline-block;
	margin: 0;
}

/* ブラウザ対策
---------------------------------------------------------------------------- */

/* Firefox */

/* IE */

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

/* webkit */

/* iOS */

input[type="submit"]::-webkit-search-decoration,
input[type=reset]::-webkit-search-decoration,
input[type="button"]::-webkit-search-decoration,
input[type="search"]::-webkit-search-decoration {
	display: none;
}

::-webkit-search-cancel-button {
	-webkit-appearance: none;
}

input[type="search"]::-webkit-search-decoration {
	-moz-appearance: none;
	-webkit-appearance: textfield;
	-webkit-box-sizing: border-box;
	-webkit-appearance: none;
	appearance: none;
	background: none;
	border: 0;
	border-radius: 0;
	font-size: 16px;
	margin: 0;
	outline: none;
	padding: 0;
}

/* 挙動
---------------------------------------------------------------------------- */

/* radio */

input[type="radio"] + span::before,
input[type="radio"] + span:hover::after,
input[type="radio"]:checked + span::after {
	border-radius: 50%;
}

/* disabled */

input:disabled,
input:disabled:hover,
textarea:disabled,
textarea:disabled:hover {
	background: #eee;
	border-color: #ccc;
	cursor: not-allowed;
}

input[type="radio"]:disabled + span,
input[type="checkbox"]:disabled + span {
	color: #ccc;
	cursor: not-allowed;
}

input[type="radio"]:disabled + span::before,
input[type="checkbox"]:disabled + span::before {
	border-color: #ccc;
	cursor: not-allowed;
}

/* バリデーション */

/* placeholder */

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

/* リキッドレイアウト対応 */

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

body {
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	color: #232323;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "HIragino Kaku Gothic Pro W6", "HIragino Kaku Gothic Pro", Meiryo, "メイリオ", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: 0;
	line-height: 1.5;
	min-height: 100vh;
	min-height: -webkit-fill-available;
	overflow-wrap: break-word;
}

p {
	line-height: 1.857;
}

/* Box sizing rules */

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

article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
	display: block;
}

h1,
h2,
h3,
h4,
h5,
h6,
a,
p,
span,
em,
small,
strong,
sub,
sup,
mark,
del,
ins,
strike,
abbr,
dfn,
blockquote,
q,
cite,
code,
pre,
ol,
ul,
li,
dl,
dt,
dd,
div,
section,
article,
main,
aside,
nav,
header,
hgroup,
footer,
img,
figure,
figcaption,
address,
time,
audio,
video,
canvas,
iframe,
details,
summary,
fieldset,
form,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td {
	border: 0;
	margin: 0;
	padding: 0;
}

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

img {
	display: block;
	max-width: 100%;
	width: 100%;
}

video,
object {
	border: none;
	height: auto;
	max-width: 100%;
}

ul,
ol {
	list-style: none;
}

table {
	border: 1px solid;
	border-collapse: collapse;
	border-spacing: 0;
	table-layout: fixed;
	width: 100%;
}

th,
td {
	border: 1px solid;
	padding: 4px 6px;
	text-align: left;
	vertical-align: top;
}

blockquote,
q {
	quotes: none;
}

blockquote::after,
blockquote::before,
q::after,
q::before {
	content: "";
	content: none;
}

address {
	font-style: normal;
}

b,
strong {
	font-weight: 700;
}

form {
	margin: 0;
	padding: 0;
}

label {
	display: inline-block;
}

a,
area,
button,
input,
label,
select,
summary,
textarea,
[tabindex] {
	touch-action: manipulation;
}

input,
button,
select,
optgroup,
textarea {
	font-family: inherit;
	font-size: inherit;
	line-height: inherit;
	margin: 0;
}

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

button,
select {
	text-transform: none;
}

select {
	cursor: pointer;
}

textarea {
	-ms-overflow-style: scrollbar;
	overflow: auto;
	resize: vertical;
}

dialog {
	background-color: inherit;
	border: solid;
	color: inherit;
	display: block;
	height: -webkit-fit-content;
	height: -moz-fit-content;
	height: fit-content;
	left: 0;
	margin: auto;
	padding: 1em;
	position: absolute;
	right: 0;
	width: -webkit-fit-content;
	width: -moz-fit-content;
	width: fit-content;
}

dialog:not([is-open]) {
	display: none;
}

summary {
	cursor: pointer;
	display: list-item;
}

/* Remove all animations and transitions for people that prefer not to see them */

.cta {
	background: url(../img/common/contact-bg.jpg) center center/cover no-repeat;
	margin-top: 7.5rem;
	padding: 7.375rem 0 5rem;
}

.cat__outer {
	width: 100%;
}

.cta__inner_type_cards.inner {
	max-width: 1280px;
	padding: 0 20px;
}

.cta__cards {
	margin-top: 2.5625rem;
}

.cta__ttl {
	font-family: din-2014, sans-serif;
	font-size: 3.75rem;
	font-weight: 700;
	letter-spacing: 6px;
	line-height: 1.2;
}

.cta__ttl span {
	font-family: "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "HIragino Kaku Gothic Pro W6", "HIragino Kaku Gothic Pro", Meiryo, "メイリオ", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	font-size: 1.5rem;
	letter-spacing: 0;
	vertical-align: middle;
}

.cta__btn {
	margin-top: 4.9375rem;
	text-align: center;
}

.footer {
	background-color: #232323;
	padding: 5rem 0;
}

.footer-nav__items {
	display: flex;
}

.footer-nav__item:not(:last-child) {
	margin-right: auto;
}

.footer-nav__link {
	align-items: center;
	color: #fff;
	display: block;
	display: flex;
	flex-direction: column;
	font-size: 0.75rem;
	font-weight: 700;
	height: inherit;
	justify-content: center;
	position: relative;
}

.footer-nav__link span {
	display: block;
	font-family: din-2014, sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
}

.footer__container {
	border-top: 1px solid #fff;
	margin-top: 3.75rem;
}

.footer__flex {
	display: flex;
}

.footer__box {
	padding: 3.75rem 0;
	width: 50%;
}

.footer__box:first-of-type {
	border-right: 1px solid #fff;
}

.footer__logo {
	max-width: 18.125rem;
	width: 100%;
}

.footer__link {
	color: #fff;
	margin-top: 5.375rem;
}

.footer__link a {
	font-size: 0.875rem;
	font-weight: 700;
	line-height: calc(28 / 14);
}

.copyright {
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: calc(28 / 14);
}

.footer__company {
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	line-height: calc(28 / 14);
	margin-left: 2.5rem;
}

header {
	height: 6.25rem;
	max-height: 100%;
	padding: 0;
	position: fixed;
	transition: 0.5s all;
	width: 100%;
	z-index: 100;
}

.header__wrap {
	height: inherit;
}

.header__inner {
	align-items: center;
	background-color: transparent;
	display: flex;
	flex-direction: row;
	height: inherit;
	justify-content: space-between;
	margin-left: auto;
	margin-right: auto;
	max-width: 65.625rem;
	padding-left: 25px;
	padding-right: 25px;
	position: relative;
	transition: .3s all;
	width: 100%;
	z-index: 10;
}

.header__logo {
	max-width: 100%;
	transition: .3s all;
}

.header__logo a img {
	max-width: 18.125rem;
	width: 100%;
}

header.UpMove {
	-webkit-animation: UpAnime 0.5s forwards;
	animation: UpAnime 0.5s forwards;
}

header.DownMove {
	-webkit-animation: DownAnime 0.5s forwards;
	animation: DownAnime 0.5s forwards;
	background-color: #fff;
	top: 0px;
}

.pc-nav {
	align-items: center;
	display: flex;
	height: inherit;
	margin-left: auto;
}

.pc-nav > li {
	height: inherit;
}

.pc-nav__link {
	align-items: flex-start;
	display: block;
	display: flex;
	flex-direction: column;
	font-size: 0.75rem;
	font-weight: 700;
	height: inherit;
	justify-content: center;
	padding: 0 1.25rem;
	position: relative;
}

.pc-nav__link::after {
	background-color: #232323;
	bottom: 20px;
	content: '';
	height: 1px;
	left: 50%;
	opacity: 0;
	position: absolute;
	transform: translateX(-50%);
	transition: .3s all;
	width: 80%;
}

.pc-nav__link span {
	display: block;
	font-family: din-2014, sans-serif;
	font-size: 0.875rem;
	font-weight: 400;
}

.pc-nav__tel::before {
	content: '';
	display: inline-block;
	height: 0.875rem;
	margin-right: 7px;
	width: 0.875rem;
}

.pc-nav__contact {
	background-color: #3D4346;
	box-sizing: border-box;
	color: #fff;
	height: 5.1875rem !important;
	padding-top: 0.625rem;
	transition: .3s all;
	width: 5.1875rem;
}

.pc-nav__contact a {
	align-items: center;
	display: flex;
	height: 5.1875rem !important;
	justify-content: center;
}

.pc-nav__contact img {
	margin-left: auto;
	margin-right: auto;
	margin-top: 0.375rem;
	width: 1.5625rem;
}

.pc-nav__contact span {
	font-size: 0.75rem;
	letter-spacing: .05em;
	margin-top: 0.9375rem;
}

.current-page .hover-line:after {
	opacity: 1;
}

.js-fixed + main > .js-mv {
	margin: 0rem 1.4375rem 0;
	transition: .3s all;
}

.hamburger-outer {
	display: none;
}

.hamburger {
	cursor: pointer;
	display: block;
	height: 1.0625rem;
	position: relative;
	transition: 0.3s;
	width: 2.1875rem;
	z-index: 502;
}

.hamburger span:nth-child(1) {
	transform: translateY(-7px);
}

.hamburger span:nth-child(2) {
	opacity: 0;
}

.hamburger span:nth-child(3) {
	transform: translateY(7px);
}

/*OPEN時の動き*/

.js-open.hamburger-outer {
	margin-left: auto;
}

.js-open .hamburger span {
	transition: ease 0.5s;
}

.js-open .hamburger span:nth-child(1) {
	transform: rotate(45deg);
}

.js-open .hamburger span:nth-child(2) {
	opacity: 0;
}

.js-open .hamburger span:nth-child(3) {
	left: 0;
	right: 0;
	transform: rotate(-45deg);
	width: 100%;
}

body.noscroll {
	overflow: hidden;
}

.sp-nav {
	display: none;
}

.sp-nav__btn {
	text-align: center;
}

.sp-nav__item.arrow {
	position: relative;
}

.sp-nav__item.arrow::after {
	background-repeat: no-repeat;
	background-size: cover, 0 0;
	bottom: 2em;
	content: "";
	height: 0.625rem;
	position: absolute;
	right: 0rem;
	transition: all .3s ease;
	width: 1.3125rem;
}

.sp-nav__sub-menu {
	margin-left: auto;
	margin-right: auto;
	text-align: left;
	width: 100%;
}

.sp-nav__sub-menu + .sp-nav__sub-menu {
	margin-top: 1.75rem;
}

.sp-nav__sub-menu a {
	display: block;
}

.sp-nav__sub-menu a span {
	color: #232323;
	display: inline-block;
	font-size: 0.875rem;
	padding-left: 2em;
	position: relative;
	text-indent: -0.7em;
}

.sp-nav__sub-menu a span::before {
	background-repeat: no-repeat;
	background-size: cover, 0 0;
	content: "";
	height: 0.625rem;
	left: 0rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	transition: all .3s ease;
	width: 1.3125rem;
}

.sp-nav.js-open {
	opacity: 100;
	visibility: visible;
}

.cross-wrap {
	position: relative;
}

.cross {
	display: block;
	height: 1.25rem;
	position: absolute;
	right: 0.9375rem;
	top: 2.5rem;
	width: 1.25rem;
}

.cross:before,
.cross:after {
	background-color: #232323;
	content: "";
	display: block;
	height: 0.125rem;
	position: absolute;
	right: 0.27rem;
	top: 46%;
	width: 0.9375rem;
}

.cross:before {
	transform: rotate(90deg);
	transition-duration: 0.2s;
}

.cross-wrap.is-tab-active .cross::after {
	opacity: 0;
}

.cross-wrap.is-tab-active .cross::before {
	transform: rotate(0);
}

.accordion {
	display: none;
	margin-bottom: 1.875rem;
	margin-top: -1.25rem;
	padding: 0;
	position: relative;
	width: 100%;
}

.accordion li {
	margin-left: 0.625rem;
	width: 100%;
}

.accordion li a {
	color: #232323;
	display: block;
	font-size: 1.125rem;
	padding: 0.625rem 0rem 0.625rem 0.75rem;
	padding-left: 0.75rem;
}

.sp-nav__sitemap {
	margin-top: 3.25rem;
}

.sp-nav__sitemap a {
	display: inline-block;
	font-size: 0.875rem;
	letter-spacing: .06em;
	text-align: center;
	width: 45%;
}

.sp-nav__sitemap a:nth-of-type(1) {
	margin-right: 1.875rem;
}

.sp-nav__insta {
	margin-top: 3.625rem;
	text-align: center;
}

.sp-nav__insta span {
	font-family: 'Roboto', sans-serif;
	font-size: 0.9375rem;
	font-weight: 400;
	letter-spacing: .1em;
	margin-right: 0.875rem;
}

.sp-nav__insta img {
	display: inline-block;
	vertical-align: middle;
	width: 2.25rem;
}

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

.l-404-top {
	padding-top: 12.5rem;
	position: relative;
}

.l-404__text--upper {
	color: #004F92;
	font-size: 1.875rem;
	text-align: center;
}

.l-404__text--lower {
	font-size: 1.25rem;
	margin-top: 3.125rem;
	text-align: center;
}

.l-404__btn-wrapper {
	margin-top: 3.125rem;
	text-align: center;
}

.breadcrumb {
	margin-bottom: 6.1875rem;
	margin-top: 1.25rem;
	padding-right: 1.3125rem;
	text-align: right;
}

.breadcrumb a {
	display: inline-block;
	font-size: 0.625rem;
	font-weight: 700;
	margin-right: 1.875rem;
	position: relative;
}

.breadcrumb a::after {
	color: #004F92;
	content: '>';
	font-size: 0.625rem;
	position: absolute;
	right: -1.25rem;
	top: 0;
}

.breadcrumb span {
	font-size: 0.625rem;
	font-weight: 500;
}

.btn {
	background-color: #3f8c67;
	color: #fff;
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	max-width: 21.875rem;
	padding: 1.125rem 0;
	position: relative;
	text-align: center;
	width: 100%;
}

.btn span {
	display: inline-block;
	position: relative;
	transition: .3s;
}

.btn--icon-right::after {
	background: url(../img/icon/button-arrow.svg) center center/contain no-repeat;
	content: "";
	height: 0.5625rem;
	position: absolute;
	right: 0.625rem;
	top: 50%;
	transform: translateY(-50%);
	transition: all .3s ease;
	width: 3.375rem;
	z-index: 1;
}

.cards-cta {
	gap: 1.25rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr 1fr 1fr; /* IE用の記述 */
	grid-template-columns: repeat(4, minmax(0, 1fr));
	width: 100%;
}


.card-cta__img {
	aspect-ratio: 294/190;
}

.card-cta__ttl {
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.73;
	margin-top: 1.1875rem;
	position: relative;
}

.card-cta__tel {
	font-family: din-2014, sans-serif;
	font-size: 1.875rem;
	font-weight: 700;
	letter-spacing: 1.5px;
	margin-top: 1.4375rem;
}

.card-cta__open {
	font-size: 0.9375rem;
	font-weight: 700;
	line-height: 1.1;
	margin-top: -3px;
}

.js-cards-service {
	display: none;
}

.js-cards-service-first {
	display: block;
}

.cards-service01 {
	gap: 3.125rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr 1fr; /* IE用の記述 */
	grid-template-columns: repeat(3, minmax(150px, 1fr));
	margin-top: 1.875rem;
}

.cards-service02 {
	gap: 2.5rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr 1fr 1fr; /* IE用の記述 */
	grid-template-columns: repeat(4, minmax(150px, 1fr));
	margin-top: 1.875rem;
	padding-bottom: 5.625rem;
}

.cards-serviceFlex {
	gap: 2.5rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	margin-top: 1.875rem;
	padding-bottom: 5.625rem;
}

.cards-service02--resolution {
	padding-bottom: 0;
}

.card-service {
	text-align: center;
}

.card-service__caption {
	font-weight: 700;
	margin-top: 1.125rem;
}

.cards-serviceFlex .card-service {
	max-width: calc( (100% / 3) - (5rem / 3));
}

.cta-fixed {
	position: fixed;
	right: 0;
	top: 100px;
	z-index: 999;
}

.cta-fixed__item {
	box-sizing: border-box;
	height: 6.25rem;
	width: 6.25rem;
}

.cta-fixed__item--01 {
	background-color: #004F92;
	color: #fff;
}

.cta-fixed__item--02 {
	background-color: #95B6C1;
	color: #004F92;
}

.cta-fixed__link {
	align-items: center;
	display: flex;
	flex-direction: column;
	height: inherit;
	justify-content: center;
}

.cta-fixed__img {
	margin-left: auto;
	margin-right: auto;
	width: 1.8125rem;
}

.cta-fixed__txt {
	font-size: 0.75rem;
	font-weight: 700;
	line-height: 1.2;
	margin-top: 0.625rem;
	text-align: center;
}

.cta-fixed__txt span {
	display: block;
	font-family: din-2014, sans-serif;
	letter-spacing: .05em;
	margin-bottom: 0.3125rem;
}

.pc-nav__item a {
	position: relative;
}

.license__item + .license__item {
	margin-top: 2.4375rem;
}

.license__txt--about {
	display: flex;
}

.license__txt--about span:nth-child(1) {
	margin-right: 1.875rem;
	max-width: 5.625rem;
	width: 100%;
}

.license__txt--about span:nth-child(2) {
	margin-right: 1.875rem;
	max-width: 8.1875rem;
	width: 100%;
}

.license__txt--about span:nth-child(3) {
	max-width: 8.1875rem;
	width: 100%;
}

.license__txt--about-metal span:nth-child(1) {
	margin-right: 5.375rem;
	max-width: 12rem;
	width: 100%;
}

.license__txt--about-metal span:nth-child(2) {
	max-width: 13rem;
	width: 100%;
}

.license__txt--about-freon span:nth-child(1) {
	margin-right: 1.3125rem;
	max-width: 6.125rem;
	width: 100%;
}

.license__txt--about-freon span:nth-child(2) {
	max-width: none;
	width: 100%;
}

.list {
	margin-left: auto;
	margin-right: auto;
	max-width: 56.25rem;
	width: 100%;
}

.list__items {
	margin-bottom: 5.625rem;
}

.list__item {
	border-bottom: 1px solid #ccdce1;
	padding: 1.875rem 0;
}

.list__item dt,
.list__item dd {
	color: #232323;
	display: inline-block;
	font-size: 0.875rem;
	line-height: calc(26/ 14);
	text-align: left;
	vertical-align: top;
}

.list__item dt {
	font-weight: 700;
	width: 33%;
}

.list__item dd {
	font-weight: 500;
	padding-right: 0.3125rem;
	width: 66.3%;
}

.list__item:nth-of-type(1) {
	border-top: 1px solid #ccdce1;
}

.news-ttl {
	margin-bottom: 3.75rem;
	position: relative;
	width: 100%;
}

.news-ttl::before {
	border-bottom: 2px solid #ccdce1;
	bottom: -1.25rem;
	content: "";
	display: block;
	left: 0;
	position: absolute;
	width: 100%;
}

.news-ttl::after {
	border-bottom: 2px solid #004F92;
	bottom: -1.25rem;
	content: "";
	display: block;
	left: 0;
	position: absolute;
	width: 12.5rem;
}

.news-ttl__title {
	color: #004F92;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .0em;
	line-height: calc(28 /24);
}

.news-ttl__meta {
	align-items: center;
	display: flex;
	margin-bottom: 0.9375rem;
}

.news-ttl__cat {
	margin-right: 0.625rem;
}

.news-ttl__cat span {
	background-color: #95b6c1;
	color: #232323;
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	min-width: 5rem;
	padding: 0.3125rem 0.25rem;
	text-align: center;
}

.news-ttl__date span {
	color: #232323;
	font-size: 0.75rem;
}

.pagination {
	text-align: center;
}

.pagination__item {
	border: 2px solid #004F92;
	color: #004F92;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 700;
	padding: 0.75rem;
	padding: 0.3125rem 0.5625rem;
	transition: .3s all;
}

.pagination__item:not(:last-child) {
	margin-right: 0.4375rem;
}

.current.pagination__item {
	background-color: #004F92;
	color: #fff;
}

.pagination__dots {
	color: #004F92;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 700;
	margin-right: 0.4375rem;
	padding: 0.75rem;
	padding: 0.3125rem 0.5625rem;
}

.recycle {
	padding: 7.5rem 0 10rem;
	position: relative;
}

.recycle::after {
	background-color: #e5e5e5;
	content: "";
	height: 100%;
	max-width: calc(1220 / 1280 *100%);
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: -1;
}

.recycle--disposal {
	padding: 7.5rem 0 16.625rem;
}

.recycle__heading {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .0em;
	line-height: calc(28 /24);
	padding-left: 9.625rem;
	position: relative;
}

.recycle__heading::before {
	background-color: #232323;
	content: '';
	height: 2px;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 8.125rem;
}

.recycle__items {
	margin-top: 5rem;
}

.recycle__item + .recycle__item {
	margin-top: 3.875rem;
}

.recycle__flex {
	align-items: center;
	display: flex;
}

.recycle__ttl-wrap {
	margin-right: 1.375rem;
	position: relative;
}

.recycle__ttl-img {
	max-width: 24.75rem;
	width: 100%;
}

.recycle__ttl {
	font-size: 1.5rem;
	font-weight: 700;
	left: 50%;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.recycle__txt {
	font-weight: 700;
	max-width: 35.6875rem;
	width: 100%;
}

.recycle__flow {
	margin-top: 2.0625rem;
}

.recycle__grid {
	gap: 3.5625rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr 1fr; /* IE用の記述 */
	grid-template-columns: repeat(3, minmax(150px, 1fr));
}

.recycle__flow-img {
	position: relative;
}

.recycle__flow-img:not(:last-child)::after {
	background: url(../img/icon/arrow-flow.svg) center center/contain no-repeat;
	content: '';
	height: 0.5625rem;
	position: absolute;
	right: -1.6875rem;
	top: 50%;
	transform: translateY(-50%);
	width: 3.375rem;
}

.recycle__btn {
	margin-top: 5.25rem;
	text-align: center;
}

.service-menu__box {
	margin-left: auto;
	margin-right: auto;
	max-width: 47.625rem;
	padding: 1.0625rem 0;
	width: 100%;
}

.service-menu__box--01 {
	background-color: #cf8c00;
}

.service-menu__box--02 {
	background-color: #efefef;
}

.service-menu__box--03 {
	background-color: #fff;
	border: solid 5px #004f92;
}

.service-menu__box--04 {
	background-color: #4d6900;
}

.service-menu__box--05 {
	background-color: #1787c4;
}

.service-menu__box + .service-menu__box {
	margin-top: 5.875rem;
}

.service-menu__box:not(:last-of-type) {
	position: relative;
}

.service-menu__box:not(:last-of-type)::after {
	background: url(../img/service/service-arrow.png) center center/contain no-repeat;
	bottom: -4.0625rem;
	content: '';
	height: 2.125rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 2rem;
}

.service-menu__flex {
	align-items: center;
	display: flex;
	justify-content: center;
}

.service-menu__txt {
	font-size: 1.5rem;
	font-weight: 700;
}

.service-menu__txt--01 {
	color: #fff;
}

.service-menu__txt--02 {
	color: #232323;
}

.service-menu__txt--03 {
	color: #004F92;
}

.service-menu__amend {
	background-color: #fff;
	box-shadow: 7.1px 7.1px 10px 0 rgba(6, 4, 5, 0.3);
	font-size: 1.125rem;
	font-weight: 700;
	margin-left: 3.125rem;
	max-width: 14.0625rem;
	padding: 0.5625rem 0.625rem;
	position: relative;
	text-align: center;
	width: 100%;
}

.service-menu__amend::before {
	background-color: #fff;
	content: '';
	height: 0.1875rem;
	left: -1.875rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.875rem;
}

.service-menu__amend span {
	font-family: din-2014, sans-serif;
	font-size: 1rem;
	margin-left: 0.625rem;
}

.service-menu__amend--01 {
	color: #cf8c00;
}

.service-menu__amend--02 {
	color: #4d6900;
}

.service-menu__amend--03 {
	color: #1787c4;
}

.subpage-heading {
	background-color: #95b6c1;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	padding: 0.8125rem 0;
	text-align: center;
	width: 100%;
}

.subpage-heading--aco {
	cursor: pointer;
	position: relative;
}

.subpage-heading--aco::after {
	background: url(../img/icon/arrow-accordion.png) center center/contain no-repeat;
	content: '';
	height: 0.875rem;
	position: absolute;
	right: 2.5rem;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
	transition: 0.5s ease;
	width: 1.375rem;
}

.subpage-heading--aco-first::after {
	transform: translateY(-50%) rotate(0deg);
}

.subpage-heading--aco.is-open::after {
	transform: translateY(-50%) rotate(0deg);
	transition: 0.5s ease;
}

.subpage-heading--aco-first.is-open::after {
	transform: translateY(-50%) rotate(180deg);
}

.subpage-mv {
	padding-top: 6.25rem;
	width: 100%;
}

.subpage-mv__wrap {
	position: relative;
}

.subpage-mv__img img {
	-o-object-fit: cover;
	height: 20rem;
	object-fit: cover;
}

.subpage-mv__ttl {
	color: #fff;
	font-family: din-2014, sans-serif;
	font-size: 3.75rem;
	font-weight: 700;
	left: 50%;
	letter-spacing: 6px;
	position: absolute;
	text-align: center;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.subpage-mv__ttl span {
	display: block;
	font-family: "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "HIragino Kaku Gothic Pro W6", "HIragino Kaku Gothic Pro", Meiryo, "メイリオ", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	font-size: 1.5rem;
	letter-spacing: .0em;
	line-height: calc(28 /24);
	margin-top: 0.3125rem;
}

.subpage-ttl-square {
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .0em;
	line-height: calc(28 /24);
	padding-left: 1em;
	position: relative;
}

.subpage-ttl-square::before {
	background-color: #004F92;
	content: '';
	height: 0.8125rem;
	left: 0;
	position: absolute;
	top: 0.3em;
	width: 0.8125rem;
}

.subpage-ttl-square span {
	font-size: 0.875rem;
	font-weight: 500;
	padding-left: 0.625rem;
	vertical-align: middle;
}

.subpage-ttl {
	color: #004F92;
	font-size: 2.5rem;
	font-weight: 700;
	letter-spacing: .0em;
	line-height: calc(60 /40);
	position: relative;
	width: 100%;
}

.subpage-ttl span {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .0em;
	line-height: calc(28 /24);
	margin-top: 0.625rem;
}

.subpage-ttl::before {
	border-bottom: 2px solid #ccdce1;
	bottom: -1.25rem;
	content: "";
	display: block;
	left: 0;
	position: absolute;
	width: 100%;
}

.subpage-ttl::after {
	border-bottom: 2px solid #004F92;
	bottom: -1.25rem;
	content: "";
	display: block;
	left: 0;
	position: absolute;
	width: 12.5rem;
}

.about-company {
	margin-top: 8.75rem;
}

.about-company__list {
	margin-top: 1.875rem;
}

.about-company__list .list__item:nth-of-type(1) {
	border-top: none;
}

.about-company__media + .about-company__media {
	margin-top: 1.875rem;
}

.about-company__flex {
	display: flex;
}

.about-company__contents {
	margin-right: auto;
}

.about-company__office {
	font-weight: 700;
}

.about-company__map {
	color: #004F92;
	position: relative;
	text-decoration: underline;
}

.about-company__map::after {
	background: url(../img/icon/map-icon.svg) center center/contain no-repeat;
	content: '';
	height: 1.0625rem;
	position: absolute;
	right: -1.25rem;
	top: -0.1em;
	width: 0.75rem;
}

.about-company__tel {
	display: block;
}

.about-company__img {
	max-width: 15rem;
	width: 100%;
}

.about-greeting__swiper {
	margin-top: 1.875rem;
}

.about-greeting__swiper .swiper-wrapper {
	transition-timing-function: linear;
}

.about-greeting__swiper .swiper-slide {
	aspect-ratio: 240/160;
	height: auto;
}

.about-greeting__swiper .swiper-slide img {
	-o-object-fit: cover;
	border-radius: 10px;
	object-fit: cover;
}

.about-greeting__inner {
	margin-top: 7.5rem;
}

.about-greeting__txt-wrap {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.75rem;
	max-width: 56.25rem;
	width: 100%;
}

.about-greeting__ceo {
	font-size: 1.375rem;
	font-weight: 700;
	margin-top: 1.875rem;
	text-align: right;
}

.about-greeting__ceo span {
	display: block;
	font-size: 1rem;
	font-weight: 500;
}

.about-history {
	margin-top: 5.625rem;
}

.about-history__ttl {
	margin-bottom: 1.875rem;
}

.about-history__list {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.875rem;
	max-width: 56.25rem;
	width: 100%;
}

.about-history__item {
	align-items: flex-start;
	display: flex;
}

.about-history__item dt,
.about-history__item dd {
	display: inline-block;
	line-height: calc(26/ 14);
	padding: 1.875rem 0;
	text-align: left;
	vertical-align: top;
}

.about-history__item dt {
	color: #004F92;
	font-size: 1.5rem;
	padding-left: 0.8em;
	transform: translateY(0.3em);
	width: 22%;
}

.about-history__item dd {
	position: relative;
	width: 77.5%;
}

.about-history__item dd::after {
	background-color: #004F92;
	content: '';
	height: 100%;
	left: 1.875rem;
	position: absolute;
	top: 0;
	width: 2px;
	z-index: 1;
}

.about-history__item:first-of-type dd::after {
	top: 3.125rem;
}

.about-history__item:last-of-type dd::after {
	top: -3.125rem;
}

.about-history__item:nth-of-type(even) {
	background-color: #efefef;
}

.about-history__flex {
	align-items: center;
	display: flex;
}

.about-history__flex + .about-history__flex {
	margin-top: 1.125rem;
}

.about-history__icon {
	margin-right: 1.875rem;
	max-width: 4.5rem;
	position: relative;
	width: 100%;
}

.about-history__date {
	color: #fff;
	left: 44%;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	z-index: 2;
}

.about-license {
	margin: 7.5rem 0;
}

.about-history__section {
	margin-left: auto;
	margin-right: auto;
	margin-top: 7.5rem;
	max-width: 56.25rem;
	width: 100%;
}

.about-history__section--1st {
	margin-top: 3.875rem;
}

.about-mv {
	padding-top: 6.25rem;
}

.about-mv__wrap {
	position: relative;
}

.about-mv__ttl-wrap {
	left: 50%;
	max-width: 53.125rem;
	position: absolute;
	top: 47%;
	transform: translate(-50%, -50%);
	width: 100%;
}

.about-mv__ttl {
	color: #fff;
	font-family: din-2014, sans-serif;
	font-size: 3.75rem;
	font-weight: 700;
	letter-spacing: .1em;
	line-height: 1.2;
	text-align: center;
}

.about-mv__ttl span {
	display: block;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .0em;
	line-height: calc(28 /24);
}

.about-mv__txt {
	color: #fff;
	margin-top: 3.8125rem;
	text-align: center;
}

.contact-cta__txt {
	text-align: center;
}

.contact-cta__cards {
	margin-top: 5rem;
}

.contact-form {
	margin-top: 12.5rem;
	padding-bottom: 7.5rem;
	position: relative;
}

.contact-form::after {
	background-color: #e5e5e5;
	bottom: 0;
	content: "";
	height: 94%;
	max-width: calc(1220 / 1280 *100%);
	position: absolute;
	right: 0;
	width: 100%;
	z-index: -1;
}

.contact-form__ttl {
	color: #004F92;
	font-family: din-2014, sans-serif;
	font-size: 5rem;
	font-weight: 700;
	letter-spacing: .1em;
}

.contact-form__ttl span {
	font-family: "Yu Gothic Medium", "游ゴシック Medium", "游ゴシック体", YuGothic, "ヒラギノ角ゴ Pro W3", "HIragino Kaku Gothic Pro W6", "HIragino Kaku Gothic Pro", Meiryo, "メイリオ", Osaka, "ＭＳ Ｐゴシック", "MS P Gothic", sans-serif;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: 0;
	margin-left: 2.5rem;
	vertical-align: middle;
}

.disposal__txt {
	letter-spacing: 0.01em;
	margin-top: 3.25rem;
}

.disposal__menu {
	margin-top: 5.1875rem;
}

.disposal__flow {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.875rem;
	max-width: 61.75rem;
	width: 100%;
}

.disposal__menu-recycle {
	margin-top: 3.6875rem;
}

.disposal-recycle {
	margin-top: 7.5rem;
}

.disposal-manifesto {
	margin-left: auto;
	margin-right: auto;
	max-width: 53.125rem;
	padding-left: 25px;
	padding-right: 25px;
	transform: translateY(-50%);
	width: 100%;
}

.disposal-manifesto__box {
	background-color: #fff;
	border: solid 2px #004f92;
	box-shadow: 4.9px 4.9px 7px 0 rgba(6, 4, 5, 0.22);
	padding: 2.5625rem 3.125rem 3.25rem;
}

.disposal-manifesto__ttl {
	background-color: #004f92;
	color: #fff;
	font-size: 1.5rem;
	font-weight: 700;
	margin-left: auto;
	margin-right: auto;
	max-width: 17.5rem;
	padding: 0.875rem 0;
	text-align: center;
	width: 100%;
}

.disposal-manifesto__media {
	display: flex;
	margin-top: 1.75rem;
}

.disposal-manifesto__media-txt {
	margin-right: auto;
	max-width: 21rem;
	width: 100%;
}

.disposal-manifesto__media-img {
	aspect-ratio: 300/200;
	max-width: 300px;
}

.disposal-cta {
	margin-top: -12.5rem;
}

/* hover */

.form {
	margin-left: auto;
	margin-right: auto;
	max-width: 50rem;
	width: 100%;
}

.contact-form__form {
	margin-top: 3.125rem;
}

.form__item {
	align-items: center;
	display: flex;
	justify-content: flex-end;
}

.form__item + .form__item {
	margin-top: 1.875rem;
}

.form__item-title {
	align-items: center;
	display: flex;
	font-size: 0.875rem;
	font-weight: 700;
	margin-right: auto;
	max-width: 100%;
}

.form__item-checkbox-con,
.form__item-radio-con,
.wpcf7-form-control-wrap,
.form__item-date-con,
.form__item--post-number-con {
	width: 75%;
}

.form__item-required {
	background-color: #ff0000;
	color: #fff;
	display: inline-block;
	font-size: 0.625rem;
	font-weight: 500;
	margin-left: 5px;
	max-width: 100%;
	text-align: center;
	width: 1.6875rem;
}

.form__item-text-field,
.form__item-textarea {
	background-color: #fff;
	border-radius: 5px;
	max-width: 37.5rem;
	width: 100%;
}

.form__item--tel .form__item-text-field {
	max-width: 18.75rem;
}

.form__item-text-field {
	height: 3.125rem;
	padding-left: 1.5625rem;
}

.form__item-textarea {
	border: none;
	height: 14.375rem;
	min-height: 14.375rem;
	padding-left: 1.4375rem;
	padding-top: 0.625rem;
}

.wpcf7-list-item {
	margin-left: 0;
}

.form__item--align {
	align-items: flex-start;
}

.form__item-checkbox input[type="checkbox"] + span,
.form__item-check input[type="checkbox"] + span {
	box-sizing: border-box;
	color: #232323;
	cursor: pointer;
	display: inline-block;
	font-size: 0.875rem;
	font-weight: 500;
	padding-left: 2em;
	position: relative;
}

input[type="checkbox"] + span::before {
	background-color: #fff;
	border: 1px solid #ccdce1;
	content: "";
	display: block !important;
	height: 1.25rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.25rem;
}

.form__item-checkbox label span::after,
.form__item-check label span::after {
	background: none;
	border-bottom: 0.1875rem solid #004F92;
	border-right: 0.1875rem solid #004F92;
	content: "";
	display: block;
	height: 0.8125rem;
	left: 0.4375rem;
	margin-top: -0.5rem;
	opacity: 0;
	position: absolute;
	top: 50%;
	transform: rotate(45deg);
	width: 0.5rem;
}

.form__item-check a {
	text-decoration: underline;
}

input[type="radio"]:checked + span::after,
input[type="checkbox"]:checked + span::after {
	opacity: 1;
}

input::-moz-placeholder,
textarea::-moz-placeholder {
	color: #95999B;
	font-family: din-2014, sans-serif;
	font-size: 1.0625rem;
	font-weight: 500;
	letter-spacing: .075em;
}

input:-ms-input-placeholder,
textarea:-ms-input-placeholder {
	color: #95999B;
	font-family: din-2014, sans-serif;
	font-size: 1.0625rem;
	font-weight: 500;
	letter-spacing: .075em;
}

input::placeholder,
textarea::placeholder {
	color: #95999B;
	font-family: din-2014, sans-serif;
	font-size: 1.0625rem;
	font-weight: 500;
	letter-spacing: .075em;
}

.form__item-privacy {
	width: 75%;
}

.form__btn-wrapper {
	margin-top: 5rem;
	text-align: center;
}

.form__btn {
	margin-left: auto;
	margin-right: auto;
	max-width: 21.875rem;
	position: relative;
	width: 100%;
}

.form__btn::after {
	background: url(../img/icon/button-arrow.svg) center center/contain no-repeat;
	content: "";
	display: inline-block;
	height: 0.5625rem;
	left: 50%;
	position: absolute;
	top: 50%;
	transform: translate(200%, -50%);
	transition: all .3s ease;
	width: 3.375rem;
	z-index: 1;
}

input[type="submit"] {
	background-color: #3f8c67;
	color: #fff;
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1;
	max-width: 21.875rem;
	padding: 1.3125rem 0;
	position: relative;
	text-align: center;
	width: 100%;
}

input[type="submit"] span {
	display: inline-block;
	position: relative;
	transition: .3s;
}

.wpcf7-response-output {
	font-weight: 700;
}

input[type="radio"]:disabled + span,
input[type="checkbox"]:disabled + span {
	opacity: 0.1;
}

.wpcf7c-btn-back {
	background: #fff;
	border: 1px solid #232323;
	border-radius: 100vh;
	color: #333;
	display: inline-block;
	font-size: 1.125rem;
	font-weight: 700;
	max-width: 100%;
	padding: 1.25rem 0;
	position: relative;
	position: relative;
	text-align: center;
	width: 8rem;
}

.wpcf7-spinner {
	display: none;
}

.wpcf7 form.sent .wpcf7-response-output {
	border: 1px solid #fff;
}

.wpcf7 form .wpcf7-response-output {
	background-color: #fff;
	border-radius: 6px;
	color: #004F92;
	font-size: 1.25rem;
	font-weight: 700;
	padding: 10px;
	text-align: center;
}

.wpcf7 form.invalid .wpcf7-response-output,
.wpcf7 form.failed .wpcf7-response-output,
.wpcf7 form.spam .wpcf7-response-output {
	background: #FFF1F5;
	border: 1px solid #f4c6cb;
	color: #F35670;
	font-size: 1.25rem;
	padding: 10px;
}

.news-article__inner p {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.875rem;
	max-width: 49.375rem;
	width: 100%;
}

.news-article__thumbnail,
.news-article__inner p img {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.875rem;
	max-width: 37.5rem;
	width: 100%;
}

.news-article__inner p img,
.news-article__thumbnail img {
	-o-object-fit: cover;
	aspect-ratio: 3/2;
	height: 100%;
	object-fit: cover;
}

.news-article__btn {
	margin-top: 5rem;
	text-align: center;
}

.cards-news {
	gap: 3.125rem 2.1875rem;
	display: -ms-grid;
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}

.card-news__img {
	aspect-ratio: 223/ 149;
	overflow: hidden;
}

.card-news__img img {
	-o-object-fit: cover;
	height: 100%;
	object-fit: cover;
	transition: .3s;
}

.card-news__ttl {
	font-size: 0.875rem;
	font-weight: 700;
	margin-top: 0.9375rem;
}

.card-news__meta {
	margin: 0.9375rem 0 0.625rem;
}

.card-news__meta-flex {
	align-items: center;
	display: flex;
}

.card-news__meta-wrap {
	align-items: flex-start;
	display: flex;
	margin-right: auto;
}

.card-news__meta-time {
	font-size: 0.875rem;
	letter-spacing: 0.1em;
	margin-right: 1.0625rem;
}

.card-news__meta-label {
	margin-right: 0.3125rem;
}

.card-news__meta-label span {
	background-color: #95b6c1;
	display: inline-block;
	font-size: 0.75rem;
	font-weight: 700;
	min-width: 3.4375rem;
	padding: 0.3125rem 0.25rem;
	text-align: center;
}

.card-news__meta-new span {
	background-color: #ff0000;
	color: #fff;
	display: inline-block;
	font-size: 0.625rem;
	font-weight: 700;
	min-width: 1.875rem;
	padding: 0.3125rem 0.25rem;
	text-align: center;
}

.card-news__meta-data span {
	font-size: 0.75rem;
}

.news__pagination {
	margin-top: 5rem;
}

.privacy-main {
	margin-bottom: 7.5rem;
}

.privacy-main__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 59.375rem;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.privacy-main__txt {
	margin-top: 1.5625rem;
}

.privacy-main__txt a {
	color: #004F92;
	display: inline-block;
	text-decoration: underline;
}

.privacy-main__txt--1st {
	margin-top: 0;
}

.privacy-main__items {
	margin-top: 5rem;
}

.privacy-main__item + .privacy-main__item {
	margin-top: 5rem;
}

.privacy-main__box {
	background-color: #efefef;
	margin-top: 1.875rem;
	padding: 1.875rem 0.625rem 1.875rem 3.125rem;
	width: 24.375rem;
	width: 100%;
}

.privacy-main__contact {
	font-weight: 700;
}

.recruit-desc__list {
	display: none;
}

.recruit-desc__list-first {
	display: block;
}

.recruit-desc__item-first {
	margin-top: 7.5rem;
}

.recruit-desc__item {
	margin-top: 1.875rem;
}

.recruit-flow {
	margin-top: 9.375rem;
}

.recruit-flow__ttl {
	border-bottom: 2px solid #ccdce1;
	border-top: 2px solid #ccdce1;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .0em;
	line-height: calc(28 /24);
	padding: 1.25rem 0;
	text-align: center;
}

.recruit__box-wrap {
	margin-top: 1.875rem;
}

.recruit-flow__box {
	background-color: #ccdce1;
	border-radius: 10px;
	box-shadow: 4.9px 4.9px 7px 0 rgba(6, 4, 5, 0.22);
	margin-left: auto;
	margin-right: auto;
	max-width: 48.75rem;
	padding: 2.3125rem 0.625rem 2.3125rem 8.9375rem;
	position: relative;
	width: 100%;
}

.recruit-flow__box::before {
	content: '';
	height: 5.3125rem;
	left: 1.5rem;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 5.3125rem;
}

.recruit-flow__box--01::before {
	background: url(../img/recruit/recruit01.svg) center center/contain no-repeat;
}

.recruit-flow__box--02::before {
	background: url(../img/recruit/recruit02.svg) center center/contain no-repeat;
}

.recruit-flow__box--03::before {
	background: url(../img/recruit/recruit03.svg) center center/contain no-repeat;
}

.recruit-flow__box--04::before {
	background: url(../img/recruit/recruit04.svg) center center/contain no-repeat;
}

.recruit-flow__box:not(:last-of-type) {
	position: relative;
}

.recruit-flow__box:not(:last-of-type)::after {
	background: url(../img/service/service-arrow.png) center center/contain no-repeat;
	bottom: -4.0625rem;
	content: '';
	height: 2.125rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 2rem;
}

.recruit-flow__box + .recruit-flow__box {
	margin-top: 5.9375rem;
}

.recruit-flow__txt {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: calc(26 /24);
	position: relative;
}

.recruit-flow__txt::after {
	content: '';
	height: 5.125rem;
	position: absolute;
	right: 3.75rem;
	top: 50%;
	transform: translateY(-50%);
	width: 5.125rem;
}

.recruit-flow__btn {
	margin-top: 5rem;
	text-align: center;
}

.recruit-info {
	margin-top: 50px;
}

.recruit-info .recruit-info__link {
	transition: .3s;
}

.recruit-info .recruit-info__link:hover {
	opacity: .7;
}

.recruit-info .recruit-info__link:hover {
	opacity: .7;
}

.recruit-ttl__txt {
	margin-top: 3.75rem;
}

.recruit__breadcrumb {
	margin-bottom: 1.25rem;
}

.recruit-ttl__swiper-above .swiper-wrapper,
.recruit-ttl__swiper-below .swiper-wrapper {
	transition-timing-function: linear;
}

.recruit-ttl__swiper-above .swiper-wrapper img,
.recruit-ttl__swiper-below .swiper-wrapper img {
	border-radius: 10px;
}

.recruit-ttl__swiper-below {
	margin-top: 7.5rem;
}

.recruit-ttl__inner {
	margin-top: 7.5rem;
}

.reproduction__txt {
	margin-top: 3.25rem;
}

.reproduction__menu {
	margin-top: 5.1875rem;
}

.reproduction__menu-reuse {
	margin-top: 3rem;
}

.reproduction__menu-recycle {
	bottom: 18%;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 100%;
}

.reproduction__flow {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.875rem;
	max-width: 47.625rem;
	position: relative;
	width: 100%;
}

.reproduction__icons {
	margin-left: auto;
	margin-right: auto;
	margin-top: 1.875rem;
	max-width: 47.625rem;
	width: 100%;
}

.reproduction__icons-flex {
	gap: 0.625rem;
	display: flex;
	justify-content: space-between;
}

.reproduction__icon {
	flex: auto;
}

.reproduction__icon img {
	height: 7.375rem;
}

.reproduction__icon--sm {
	max-width: 15.485%;
	width: 100%;
}

.reproduction__icon-txt {
	font-weight: 700;
	margin-top: 0.8125rem;
	text-align: center;
}

.reproduction-recycle {
	margin-top: 7.5rem;
}

.reproduction-banner {
	margin-left: auto;
	margin-right: auto;
	max-width: 43.875rem;
	transform: translateY(-50%);
	width: 100%;
}

.reproduction-cta {
	margin-top: -5rem;
}

.resolution-dep {
	margin-top: 5rem;
}

.resolution-dep--02 {
	margin-top: 7.5rem;
}

.resolution-dep__btn {
	margin-top: 5rem;
	text-align: center;
}

.product__lineup {
	margin-top: 1.875rem;
}

.product__lineup--first {
	margin-top: 6.9375rem;
}

.product__btn {
	margin-top: 5rem;
	text-align: center;
}

.sitemap__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 53.125rem;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.sitemap__item {
	border-bottom: 1px solid #ccdce1;
	padding: 2.5rem 0;
}

.sitemap__heading a {
	display: inline-block;
	width: 100%;
}

.sitemap__subpage-wrap {
	margin-top: 1.875rem;
	padding-left: 4.7em;
}

.sitemap__subpage {
	position: relative;
}

.sitemap__subpage::before {
	background: url(../img/icon/arrow-sitemap.png) center center/contain no-repeat;
	content: '';
	height: 0.625rem;
	left: -3em;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 1.875rem;
}

.sitemap__subpage + .sitemap__subpage {
	margin-top: 0.9375rem;
}

.sitemap__subpage a,
.sitemap__subpage strong {
	display: inline-block;
	width: 100%;
}

.top-about {
	background: url(../img/top/top-about-bg.jpg) center center/cover no-repeat;
	padding: 7.5rem 0 5rem;
}

.top-about__btn {
	margin-top: 5.0625rem;
	text-align: center;
}

.top-flow {
	margin-top: 7.625rem;
	padding: 7.5rem 0 5rem;
	position: relative;
}

.top-flow::after {
	background-color: #e5e5e5;
	content: "";
	height: 100%;
	left: 0;
	max-width: calc(1220 / 1280 *100%);
	position: absolute;
	top: 0;
	width: 100%;
	z-index: -1;
}

.top-flow__btn {
	margin-top: 3.8125rem;
}

.top-flow__heading {
	border-left: 3px solid #004F92;
	border-right: 3px solid #004F92;
	border-top: 3px solid #004F92;
	color: #004F92;
	font-size: 1.5rem;
	font-weight: 700;
	margin-top: 5rem;
	padding: 1.75rem 0;
	text-align: center;
}

.top-flow__cards {
	gap: 1.25rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr 1fr 1fr; /* IE用の記述 */
	grid-template-columns: repeat(4, minmax(150px, 1fr));
	margin-top: 1.375rem;
}

.top-flow__card-contents {
	margin-top: 1.0625rem;
}

.top-flow__card-heading {
	font-size: 1.125rem;
	font-weight: 700;
	line-height: calc(24 / 18);
}

.top-media {
	display: flex;
}

.top-media--service {
	align-items: center;
}

.top-media__contents {
	margin-right: 4.125rem;
	max-width: 27.875rem;
	width: 100%;
}

.top-media__contents--flow {
	margin-right: auto;
}

.top-media__contents--news {
	margin-right: 3rem;
	max-width: 18.125rem;
}

.top-media__img {
	width: 100%;
}

.top-media__img--about {
	max-width: 24.875rem;
}

.top-media__img--flow {
	max-width: 27.25rem;
}

.top-media__head {
	color: #fff;
	font-size: 2.8125rem;
	font-weight: 700;
	line-height: calc(71 / 45);
	margin-top: 2.5rem;
}

.top-media__head span {
	border: 5px solid #9a9a9a;
	padding: 0.3125rem 0.9375rem;
}

.top-media__head span:nth-of-type(1) {
	margin-right: 0.5rem;
}

.top-media__head span:nth-of-type(2) {
	margin-left: 0.5rem;
}

.top-media__txt {
	font-size: 0.875rem;
	font-weight: 500;
	margin-top: 2.8125rem;
}

.top-media__txt--about {
	color: #fff;
}

.top-media__txt--flow {
	letter-spacing: -.003em;
}

.top-movie {
	margin-top: 7.375rem;
}

.top-movie__video-wrap {
	gap: 1.5rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr; /* IE用の記述 */
	grid-template-columns: repeat(2, minmax(150px, 1fr));
	margin-top: 5.1875rem;
}

.top-mv {
	padding-top: 6.25rem;
	position: relative;
}

.top-mv__img {
	line-height: 0;
	width: 100%;
}

.top-mv__img video {
	-o-object-fit: cover;
	height: calc(100vh - 100px);
	object-fit: cover;
	width: 100%;
}

.top-mv__ttl {
	bottom: 3.75rem;
	left: 50%;
	max-width: calc(769 /1280 *100%);
	position: absolute;
	transform: translateX(-50%);
	width: 100%;
}

.top-news {
	padding: 7.5rem 0 0;
}

.top-news__items {
	max-width: 100%;
	width: calc(100% - 21.125rem);
}

.top-news__item {
	border-bottom: 1px solid #ccdce1;
	padding: 1.25rem 0;
	width: 100%;
}

.top-news__item:first-of-type {
	padding-top: 0;
}

.top-news__item-time {
	font-weight: 700;
	margin-right: 2.6875rem;
}

.top-news__item-ttl {
	display: inline-block;
	font-size: 1rem;
	font-weight: 700;
}

.top-news__item-link p {
	margin-top: 0.625rem;
	overflow: hidden;
	position: relative;
	text-overflow: ellipsis;
	white-space: nowrap;
	width: 100%;
}

.top-news__item-txt:before {
	background-color: #232323;
	bottom: 0;
	content: '';
	display: block;
	height: 1px;
	position: absolute;
	transform: scale(0, 1);
	transform-origin: left top;
	transition: .5s all;
	width: 100%;
}

.top-news__btn {
	margin-top: 5.0625rem;
	text-align: center;
}

.top-qa {
	margin-top: 7.5rem;
}

.top-qa__link {
	display: block;
	margin-left: auto;
	margin-right: auto;
	max-width: 43.875rem;
	width: 100%;
}

.top-recruit {
	margin-top: 7.3125rem;
	padding: 5.1875rem 0 7.625rem;
	padding-top: 5.1875rem;
	position: relative;
}

.top-recruit::before {
	background: url(../img/top/top-recruit-bg.png) center center/contain no-repeat;
	content: "";
	height: 12.5rem;
	max-width: calc(1220 / 1280 *100%);
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: 1;
}

.top-recruit::after {
	background-image: linear-gradient(310deg, #004f92, #ccdce1);
	content: "";
	height: 100%;
	max-width: calc(1220 / 1280 *100%);
	position: absolute;
	right: 0;
	top: 0;
	width: 100%;
	z-index: -1;
}

.top-recruit__ttl {
	color: #fff;
	font-size: 2.8125rem;
	font-weight: 700;
	text-align: center;
}

.top-recruit__swiper {
	margin-top: 3.75rem;
}

.top-recruit__swiper .swiper-wrapper {
	transition-timing-function: linear;
}

.top-recruit__swiper .swiper-slide {
	aspect-ratio: 436/290;
	height: auto;
}

.top-recruit__swiper .swiper-slide img {
	-o-object-fit: cover;
	border-radius: 12px;
	object-fit: cover;
}

.top-recruit__container {
	background-color: #fff;
	box-shadow: 7.1px 7.1px 10px 0 rgba(6, 4, 5, 0.3);
	margin-left: auto;
	margin-right: auto;
	margin-top: -2.5rem;
	max-width: 43.75rem;
	padding: 3.375rem 0 4.125rem;
	position: relative;
	text-align: center;
	width: 100%;
	z-index: 1;
}

.top-recruit__heading {
	color: #004F92;
	font-size: 2.125rem;
	font-weight: 700;
	line-height: 1;
}

.top-recruit__heading span {
	display: inline-block;
	font-family: din-2014, sans-serif;
	font-size: 1.3125rem;
	letter-spacing: 1px;
}

.top-recruit__txt {
	font-size: 1.25rem;
	font-weight: 700;
	line-height: calc(26 / 20);
	margin-top: 1.25rem;
}

.top-recruit__btn {
	margin-top: -1.625rem;
	position: relative;
	text-align: center;
	z-index: 2;
}

.top-service-cards {
	gap: 3.6875rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr 1fr; /* IE用の記述 */
	grid-template-columns: repeat(3, minmax(150px, 1fr));
	position: relative;
}


.top-service-card {
	box-shadow: 7.1px 7.1px 10px 0 rgba(6, 4, 5, 0.3);
}

.top-service-card__img {
	position: relative;
}

.top-service-card__img::before {
	align-items: center;
	background-color: rgba(6, 4, 5, 0.3);
	content: "";
	display: flex;
	height: 100%;
	justify-content: center;
	left: 0;
	position: absolute;
	top: 0;
	transition: all 0.2s ease;
	width: 100%;
}

.top-service-card__contents {
	background-color: #232323;
	padding-left: 1.6875rem;
}

.top-service-card__number {
	color: #fff;
	font-family: din-2014, sans-serif;
	font-size: 4.5rem;
	font-weight: 400;
	line-height: 1;
	margin-top: -2.1875rem;
	position: relative;
}

.top-service-card__ttl {
	color: #fff;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .0em;
	line-height: calc(36 /20);
}

.top-service-card__flex {
	align-items: center;
	display: flex;
}

.top-service-card__txt {
	color: #fff;
	font-weight: 700;
	line-height: calc(20 / 14);
	margin-right: auto;
}

.top-service-card__btn {
	max-width: 3.4375rem;
	width: 100%;
}

.top-service {
	padding: 5.0625rem 0;
}

.top-service__bg {
	padding-top: 3.875rem;
	position: relative;
}

.top-service__bg::after {
	background-color: #e5e5e5;
	bottom: 0;
	content: "";
	height: 93%;
	max-width: calc(1220 /1280 *100%);
	position: absolute;
	right: 0;
	top: 7.625rem;
	width: 100%;
	z-index: -1;
}

.top-section__btn {
	margin-top: 5.0625rem;
	text-align: center;
}

.top-ttl {
	display: inline-block;
}

.top-ttl__img {
	padding-left: 2.5rem;
	position: relative;
	width: 100%;
}

.top-ttl__img::before {
	background: url(../img/icon/title-triangle.png) center center/contain no-repeat;
	content: '';
	height: 2.25rem;
	left: 0;
	position: absolute;
	top: 0;
	width: 1.4375rem;
}

.top-ttl__img--about {
	max-width: 15.625rem;
}

.top-ttl__img--service {
	max-width: 18.75rem;
}

.top-ttl__img--movie {
	max-width: 14.5rem;
}

.top-ttl__img--flow {
	max-width: 19.625rem;
}

.top-ttl__img--news {
	max-width: 13.375rem;
}

.top-ttl__ja {
	align-items: center;
	color: #232323;
	display: flex;
	font-size: 1.5rem;
	font-weight: 700;
	justify-content: center;
	line-height: calc(28 / 24);
	margin-top: 0.9375rem;
	padding-left: 2.6875rem;
}

.top-ttl__ja::before {
	background-color: #232323;
	content: '';
	height: 2px;
	margin-right: 1.25rem;
	width: 8.125rem;
}

.top-ttl__ja--about {
	color: #fff;
}

.top-ttl__ja--about::before {
	background-color: #fff;
}

.top-ttl__ja--movie {
	display: inline-block;
	font-size: 1.25rem;
	font-weight: 700;
	letter-spacing: .0em;
	line-height: calc(36 /20);
	margin-left: 3.8125rem;
}

.flow-chart {
	margin-top: 9.375rem;
}

.flow-chart__ttl {
	border-bottom: 2px solid #ccdce1;
	border-top: 2px solid #ccdce1;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .0em;
	line-height: calc(28 /24);
	padding: 1.25rem 0;
	text-align: center;
}

.flow__box-wrap {
	margin-top: 1.875rem;
}

.flow-chart__box {
	background-color: #ccdce1;
	border-radius: 10px;
	box-shadow: 4.9px 4.9px 7px 0 rgba(6, 4, 5, 0.22);
	margin-left: auto;
	margin-right: auto;
	max-width: 47.625rem;
	padding: 2.3125rem 0.625rem 2.3125rem 7.0625rem;
	position: relative;
	width: 100%;
}

.flow-chart__box::before {
	content: '';
	height: 4.25rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translate(-50%, -50%);
	width: 4.25rem;
}

.flow-chart__box--01::before {
	background: url(../img/transaction/icon-one.png) center center/contain no-repeat;
}

.flow-chart__box--02::before {
	background: url(../img/transaction/icon-two.png) center center/contain no-repeat;
}

.flow-chart__box--03::before {
	background: url(../img/transaction/icon-three.png) center center/contain no-repeat;
}

.flow-chart__box--04::before {
	background: url(../img/transaction/icon-four.png) center center/contain no-repeat;
}

.flow-chart__box:not(:last-of-type) {
	position: relative;
}

.flow-chart__box:not(:last-of-type)::after {
	background: url(../img/service/service-arrow.png) center center/contain no-repeat;
	bottom: -4.0625rem;
	content: '';
	height: 2.125rem;
	left: 50%;
	position: absolute;
	transform: translateX(-50%);
	width: 2rem;
}

.flow-chart__box + .flow-chart__box {
	margin-top: 5.9375rem;
}

.flow-chart__txt {
	font-size: 1.5rem;
	font-weight: 700;
	line-height: calc(26 /24);
	position: relative;
}

.flow-chart__txt::after {
	content: '';
	height: 5.125rem;
	position: absolute;
	right: 3.75rem;
	top: 50%;
	transform: translateY(-50%);
	width: 5.125rem;
}

.flow-chart__txt--01::after {
	background: url(../img/transaction/transaction01.svg) center center/contain no-repeat;
}

.flow-chart__txt--02::after {
	background: url(../img/transaction/transaction02.svg) center center/contain no-repeat;
}

.flow-chart__txt--03::after {
	background: url(../img/transaction/transaction03.svg) center center/contain no-repeat;
}

.flow-chart__txt--04::after {
	background: url(../img/transaction/transaction04.svg) center center/contain no-repeat;
}

.flow__btn {
	margin-top: 5rem;
	text-align: center;
}

.flow__cta {
	margin-top: 7.5rem;
}

.flow-sales {
	margin-left: auto;
	margin-right: auto;
	margin-top: 4.4375rem;
	max-width: 51.875rem;
	text-align: center;
	width: 100%;
}

.flow-sales__heading span {
	background: linear-gradient(transparent 70%, #ccdce1 0%);
	display: inline;
	font-size: 1.5rem;
	font-weight: 700;
	letter-spacing: .0em;
	line-height: calc(42 /24);
	padding: 0 2px 4px;
}

.flow-sales__txt {
	margin-top: 3rem;
}

.flow-sales__txt02 {
	margin-top: 1.875rem;
}

.flow-sales__box {
	border: 5px solid #004F92;
	display: flex;
	justify-content: center;
	margin-top: 1.875rem;
	padding: 2.1875rem 2.5rem;
	text-align: left;
}

.flow-sales__item {
	color: #004F92;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: calc(36 /24);
	padding-left: 1em;
	text-indent: -1.3em;
}

.flow-sales__item span {
	color: #232323;
	font-size: 0.875rem;
	font-weight: 500;
	letter-spacing: .0em;
	line-height: calc(36 /14);
}

.faq__txt {
	margin-top: 3.75rem;
}

.faq__list {
	margin-top: 5rem;
}

.faq__items + .faq__items {
	margin-top: 1.875rem;
}

.faq__q {
	background-color: #95b6c1;
	color: #fff;
	cursor: pointer;
	font-size: 1.25rem;
	font-weight: 700;
	padding: 0.8125rem 0.625rem 0.8125rem 2.5rem;
	position: relative;
	width: 100%;
}

.faq__q::after {
	background: url(../img/icon/arrow-accordion.png) center center/contain no-repeat;
	content: '';
	height: 0.875rem;
	position: absolute;
	right: 2.5rem;
	top: 50%;
	transform: translateY(-50%) rotate(180deg);
	transition: 0.5s ease;
	width: 1.375rem;
}

.faq__q--first::after {
	transform: translateY(-50%) rotate(0deg);
}

.faq__q.is-open::after {
	transform: translateY(-50%) rotate(0deg);
	transition: 0.5s ease;
}

.faq__q--first.is-open::after {
	transform: translateY(-50%) rotate(180deg);
}

.faq__a {
	background-color: #efefef;
	color: #232323;
	display: none;
	font-weight: 700;
	margin-top: 0.625rem;
	padding: 1.5625rem 0.625rem 1.5625rem 2.5rem;
}

.faq__a--first {
	display: block;
}

.faq__flex {
	align-items: flex-start;
	display: flex;
}

.faq__left {
	font-size: 1.25rem;
	margin-right: 1.3125rem;
}

.u-mobile {
	display: none;
}

@media (prefers-reduced-motion: reduce) {

html:focus-within {
	scroll-behavior: auto;
}

*,
*::before,
*::after {
	-webkit-animation-duration: 0.01ms !important;
	-webkit-animation-iteration-count: 1 !important;
	animation-duration: 0.01ms !important;
	animation-iteration-count: 1 !important;
	scroll-behavior: auto !important;
	transition-duration: 0.01ms !important;
}

}




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

.pagination__item:hover {
	background: #004F92;
	color: #fff;
	transition: .3s all;
}

}

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

.pc-nav__link:hover:after {
	opacity: 1;
	transition: 0.3s all;
}

.megamenu {
	background: #fff;
	left: 0;
	margin: 0 calc(50% - 50vw);
	opacity: 0;
	padding: 2rem 0;
	position: absolute;
	top: 6.25rem;
	transition: all 0.4s ease;
	visibility: hidden;
	width: 100vw;
}

.megamenu__inner {
	margin-left: auto;
	margin-right: auto;
	max-width: 63.125rem;
	padding-left: 25px;
	padding-right: 25px;
	width: 100%;
}

.megamenu__flex {
	display: flex;
}

.megamenu__ttl {
	-ms-grid-row-align: center;
	align-self: center;
	font-size: 1.5rem;
	font-weight: 700;
	margin-right: 2.5rem;
	padding-left: 2.5em;
	position: relative;
	width: 29%;
}

.megamenu__ttl::before {
	background: url(../img/icon/mega-icon.png) center center/contain no-repeat;
	content: '';
	height: 3.5625rem;
	left: 0;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: 2.6875rem;
}

.megamenu__links {
	gap: 1.75rem; /* 重複しているgapプロパティのうち、値が大きい方を残します */
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr 1fr; /* IE用の記述 */
	grid-template-columns: repeat(3, minmax(150px, 1fr));
}

.megamenu__link {
	border-bottom: 1px solid #b8c1c2;
	font-size: 0.75rem;
	padding-bottom: 5px;
	padding-right: 2em;
	position: relative;
}

.megamenu__link::after {
	background: url(../img/icon/mega-arrow.png) center center/contain no-repeat;
	content: '';
	height: 0.8125rem;
	position: absolute;
	right: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 0.375rem;
}

.megamenu__link--pt {
	padding-top: 10px;
}

.megamenu__link--pb {
	padding-bottom: 10px;
}

.megamenu__link a {
	display: inline-block;
	height: 100%;
	width: 100%;
}

.pc-nav__item:hover .megamenu {
	opacity: 1;
	transition: all 0.4s ease;
	visibility: visible;
}

.btn:hover.btn--icon-right::after {
	transform: translate(10px, -50%);
	transition: all .3s;
}

.hover-type01:hover > div img {
	-webkit-backface-visibility: hidden;
	backface-visibility: hidden;
	transform: scale(1.2);
	transition: .3s;
}

.hover-line {
	background-image: linear-gradient(90deg, #232323, #232323);
	background-position: left bottom;
	background-repeat: no-repeat;
	background-size: 0 1px;
	color: #232323;
	display: inline;
	text-decoration: none;
	transition: background-size 0.3s;
}

.hover-type01:hover .hover-line {
	background-size: 100% 1px;
}

.form__btn:hover::after {
	transform: translate(120px, -50%);
	transition: .3s;
}

input:disabled:hover {
	background: #eee;
	border-color: #ccc;
	cursor: not-allowed;
}

.sitemap__heading a:hover,
.sitemap__subpage a:hover {
	opacity: 0.7;
}

.top-news__item:hover > a p::before {
	transform: scale(1, 1);
}

.top-service-card:hover {
	opacity: 0.7;
	transition: .3s;
}

}

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

.megamenu {
	display: none;
}

}

@media (min-width: 1000px) {

html {
	font-size: 16px;
}

}

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

.pc-nav__contact:hover {
	background-color: #B79F77;
	transition: .3s all;
}

.header__link:hover {
	opacity: .7;
	transition: .3s;
}

}

@media screen and (max-width: 1260px){
.cards-cta {
	gap: 1.875rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr; /* IE用の記述 */
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.card-cta {
	margin-left: auto;
	margin-right: auto;
	max-width: 34.375rem;
	width: 100%;
}

.cta__inner_type_cards.inner {
	max-width: 800px;
	padding: 0 20px;
}

.cta__ttl_flex{
	display: flex;
	align-items: center;
	flex-direction: column;
}
	
}

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

.top-media {
	justify-content: center;
	margin-left: auto;
	margin-right: auto;
}

}

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

html {
	font-size: 16px;
}

}

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

.list__item dt {
	width: 27%;
}

}

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

.header__logo a img {
	width: 15rem;
}

}

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

.pc-nav__link {
	padding: 0 0.625rem;
}

.megamenu__flex {
	align-items: center;
}

}

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

html {
	font-size: 14px;
}

.cta {
	margin-top: 4.375rem;
	padding: 4.375rem 0;
}

.cta__ttl {
	font-size: 3rem;
	letter-spacing: 0.1em;
}

.cta__ttl_flex{
	display: block;
}

.cta__ttl span {
	display: block;
	font-size: 1.25rem;
}

.cta__btn {
	margin-top: 3.125rem;
}

.footer {
	padding: 4.375rem 0 0;
}

.footer-nav__items {
	flex-wrap: wrap;
}

.footer-nav__item {
	margin-bottom: 1.875rem;
	margin-right: auto;
	width: 33%;
}

.footer__flex {
	flex-direction: column;
}

.footer__box {
	text-align: center;
	width: 100%;
}

.footer__box:first-of-type {
	border-bottom: 1px solid #fff;
	border-right: none;
}

.footer__logo {
	margin-left: auto;
	margin-right: auto;
}

.footer__link {
	margin-top: 3.125rem;
}

.footer__company {
	margin-left: auto;
	margin-right: auto;
	max-width: 23.125rem;
	text-align: left;
	width: 100%;
}

header {
	height: 5rem;
}

.header__inner {
	justify-content: flex-start;
	padding-left: 25px;
	padding-right: 25px;
}

.header__logo a img {
	width: 10.125rem;
}

.pc-nav {
	display: none;
}

.hamburger-outer {
	display: block;
	margin-left: auto;
	position: relative;
	z-index: 500;
}

.hamburger span {
	background-color: #232323;
	border-radius: 1px;
	display: inline-block;
	height: 2px;
	left: 0;
	margin: 0 auto;
	position: absolute;
	right: 0;
	top: calc((100% - 2px) / 2);
	transition: ease 0.5s;
	width: 100%;
}

.sp-nav {
	-webkit-overflow-scrolling: touch;
	background: #fff;
	color: #232323;
	color: #232323;
	display: block;
	height: 101vh;
	left: 0;
	opacity: 0;
	overflow-y: scroll;
	padding: 6.875rem 1.5rem 6.875rem;
	position: fixed;
	top: 0;
	transition: ease 0.5s;
	transition: opacity 0.6s ease, visibility 0.6s ease;
	visibility: hidden;
	width: 100%;
	z-index: 5;
}

.sp-nav__items {
	margin: 0 auto;
	width: 100%;
}

.sp-nav__item {
	border-bottom: 1px solid #232323;
	color: #232323;
	list-style-type: none;
	padding: 0;
	width: 100%;
}

.sp-nav__item > a,
.sp-nav__item > span {
	color: #232323;
	display: block;
	font-size: 1rem;
	padding: 1.875rem 0;
	position: relative;
	text-decoration: none;
}

.sp-nav__menu {
	margin-bottom: 1.875rem;
}

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

.l-404-top {
	padding-bottom: 50vh;
}

.l-404__text--upper {
	font-size: 3.75rem;
}

.l-404__text--lower {
	font-size: 1.875rem;
}

.breadcrumb {
	margin-bottom: 4.375rem;
}

.btn {
	max-width: 20rem;
}

.btn--icon-right::after {
	width: 2.1875rem;
}

.cards-cta {
	gap: 1.875rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr; /* IE用の記述 */
	grid-template-columns: repeat(1, minmax(0, 1fr));
}

.card-cta {
	margin-left: auto;
	margin-right: auto;
	max-width: 34.375rem;
	width: 100%;
}

.cards-service01 {
	gap: 1.875rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr; /* IE用の記述 */
	grid-template-columns: repeat(1, minmax(150px, 1fr));
}

.cards-service02 {
	gap: 1.875rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr; /* IE用の記述 */
	grid-template-columns: repeat(1, minmax(150px, 1fr));
	padding-bottom: 1.25rem;
}


.cards-serviceFlex {
	gap: 1.875rem;
	padding-bottom: 1.25rem;
}

.card-service {
	margin-left: auto;
	margin-right: auto;
	max-width: 34.375rem;
	width: 100%;
}

.cards-serviceFlex .card-service {
	max-width: 34.375rem;
}

.cta-fixed {
	display: none;
}

.license__txt--about span:nth-child(1) {
	margin-right: 1rem;
	max-width: 100%;
}

.license__txt--about span:nth-child(2) {
	margin-right: 1rem;
	max-width: 100%;
}

.license__txt--about span:nth-child(3) {
	max-width: 100%;
}

.license__txt--about-freon span:nth-child(1) {
	margin-right: 1rem;
	max-width: 32%;
}

.list {
	max-width: 100%;
}

.list__items {
	margin-bottom: 1.875rem;
}

.list__item {
	line-height: 1.8;
	padding: 0.8125rem 0;
}

.list__item dt {
	font-size: 1rem;
	width: 100%;
}

.list__item dd {
	width: 100%;
}

.recycle {
	padding: 4.375rem 0 4.375rem;
}

.recycle::after {
	max-width: 100%;
}

.recycle__heading {
	font-size: 1.25rem;
	padding-left: 12%;
}

.recycle__heading::before {
	width: 10%;
}

.recycle__items {
	margin-top: 3.125rem;
}

.recycle__flex {
	flex-direction: column;
}

.recycle__ttl-wrap {
	margin-right: 0;
}

.recycle__ttl {
	font-size: 1rem;
}

.recycle__txt {
	margin-top: 1.875rem;
}

.recycle__grid {
	gap: 3.75rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr; /* IE用の記述 */
	grid-template-columns: repeat(1, minmax(150px, 1fr));
}


.recycle__flow-img {
	margin-left: auto;
	margin-right: auto;
	max-width: 34.375rem;
	width: 100%;
}

.recycle__flow-img:not(:last-child)::after {
	bottom: -0.9375rem;
	left: 50%;
	right: auto;
	top: auto;
	transform: translateX(-50%) rotate(90deg);
}

.recycle__btn {
	margin-bottom: 3.125rem;
	margin-top: 3.125rem;
}

.service-menu__txt {
	font-size: 0.625rem;
}

.service-menu__amend {
	font-size: 0.625rem;
	margin-left: 2.5rem;
	max-width: 30%;
	padding: 0.3125rem 0.625rem;
}

.service-menu__amend span {
	font-size: 0.625rem;
}

.subpage-heading {
	font-size: 1.25rem;
}

.subpage-mv {
	padding-top: 4.375rem;
}

.subpage-mv__ttl {
	font-size: 3.125rem;
}

.subpage-mv__ttl span {
	font-size: 1.25rem;
}

.subpage-ttl-square {
	display: inline-block;
	font-size: 1.25rem;
}

strong.subpage-ttl-square {
	display: inline-block;
}

.subpage-ttl-square span {
	display: block;
	margin-top: 0.3125rem;
	padding-left: 0;
}

.subpage-ttl {
	font-size: 2rem;
}

.subpage-ttl span {
	font-size: 1rem;
}

.about-company {
	margin-top: 4.375rem;
}

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

.about-company__contents {
	padding-right: 0.625rem;
}

.about-company__img {
	margin-top: 1.25rem;
	max-width: 100%;
}

.about-greeting__swiper {
	margin-top: 1.875rem;
}

.about-greeting__inner {
	margin-top: 4.375rem;
}

.about-history {
	margin-top: 4.375rem;
}

.about-history__list {
	max-width: 100%;
}

.about-history__item dt {
	font-size: 0.875rem;
	width: 30%;
}

.about-history__item dd::after {
	left: 1.4375rem;
}

.about-history__item dd {
	padding-right: 0.625rem;
	width: 100%;
}

.about-history__icon {
	margin-right: 1rem;
	max-width: 3.5rem;
}

.about-license {
	margin: 4.375rem 0;
}

.about-history__section {
	margin-top: 4.375rem;
}

.about-mv {
	padding-top: 4.375rem;
}

.about-mv__img img {
	-o-object-fit: cover;
	height: 26.875rem;
	object-fit: cover;
}

.about-mv__ttl-wrap {
	max-width: 80%;
}

.about-mv__ttl {
	font-size: 3.125rem;
}

.about-mv__ttl span {
	font-size: 1.25rem;
}

.about-mv__txt {
	margin-top: 3.125rem;
}

.contact-cta__cards {
	margin-top: 3.125rem;
}

.contact-form::after {
	height: 97%;
}

.contact-form {
	margin-top: 7.5rem;
	padding-bottom: 5rem;
}

.contact-form__ttl {
	font-size: 3.125rem;
}

.contact-form__ttl span {
	display: block;
	font-size: 1.25rem;
	margin-left: 0;
}

.disposal__menu-recycle {
	margin-top: 1.875rem;
}

.disposal-recycle {
	margin-top: 4.375rem;
}

.disposal-manifesto {
	margin-top: 3.125rem;
	transform: translateY(0%);
}

.disposal-manifesto__box {
	padding: 2.5625rem 0.9375rem 3.25rem;
}

.disposal-manifesto__ttl {
	font-size: 1.25rem;
}

.disposal-manifesto__media {
	flex-direction: column;
}

.disposal-manifesto__media-txt {
	margin-right: 0;
	max-width: 100%;
}

.disposal-manifesto__media-img {
	margin-top: 1.875rem;
}

.disposal-cta {
	margin-top: 4.375rem;
}

.form {
	margin-top: 1.875rem;
	padding: 0 1.25rem;
}

.contact-form__form {
	margin-top: 1.875rem;
}

.form__item {
	align-items: flex-start;
	flex-direction: column;
	margin-left: auto;
	margin-right: auto;
}

.form__item-title {
	width: 100%;
}

.form__item-checkbox-con,
.form__item-radio-con,
.wpcf7-form-control-wrap,
.form__item-date-con,
.form__item--post-number-con {
	width: 100%;
}

.form__item-text-field,
.form__item-textarea {
	margin-top: 0.3125rem;
	max-width: 100%;
}

.form__item--tel .form__item-text-field {
	max-width: 37.5rem;
}

.form__item-text-field {
	margin-left: 0;
	padding-left: 0.9375rem;
	width: 100%;
}

.form__item-textarea {
	margin-left: 0;
	min-height: 18.9375rem;
	padding-left: 0.9375rem;
	width: 100%;
}

.form__item-privacy {
	width: 100%;
}

.form__btn-wrapper {
	margin-top: 3.125rem;
}

.form__btn::after {
	width: 2.1875rem;
}

input[type="submit"] {
	max-width: 20rem;
}

.wpcf7c-btn-back {
	font-size: 1.4rem;
	padding-bottom: 1.3rem;
	padding-top: 1.3rem;
	width: 10rem;
}

.news-article__btn {
	margin-top: 3.125rem;
}

.cards-news {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr 1fr; /* IE用の記述 */
	grid-template-columns: repeat(2, minmax(150px, 1fr));
}


.card-news__meta-time {
	font-size: 0.8125rem;
}

.news__pagination {
	margin-top: 3.125rem;
}

.privacy-main {
	margin-bottom: 4.375rem;
}

.privacy-main__inner {
	padding-left: 22px;
	padding-right: 22px;
}

.privacy-main__items {
	margin-top: 3.125rem;
}

.privacy-main__item + .privacy-main__item {
	margin-top: 3.125rem;
}

.privacy-main__box {
	padding: 1.875rem 0.625rem 1.875rem 1.25rem;
}

.recruit-desc__item-first {
	margin-top: 3.125rem;
}

.recruit-flow {
	margin-top: 4.375rem;
}

.recruit-flow__ttl {
	font-size: 1.25rem;
}

.recruit-flow__box {
	padding: 1.5625rem 0.625rem 1.5625rem 5rem;
}

.recruit-flow__box::before {
	height: 2.8125rem;
	width: 2.8125rem;
}

.recruit-flow__txt {
	font-size: 1.25rem;
}

.recruit-flow__txt::after {
	height: 3.75rem;
	right: 0rem;
	width: 3.75rem;
}

.recruit-flow__btn {
	margin-top: 3.125rem;
}

.recruit-ttl__swiper-below {
	margin-top: 4.375rem;
}

.recruit-ttl__inner {
	margin-top: 4.375rem;
}

.reproduction__menu-reuse {
	margin-top: 1.5rem;
}

.reproduction__icon img {
	height: auto;
}

.reproduction__icon-txt {
	font-size: 0.625rem;
}

.reproduction-recycle {
	margin-top: 4.375rem;
}

.reproduction-banner {
	max-width: 85%;
}

.reproduction-cta {
	margin-top: -1.875rem;
}

.resolution-dep {
	margin-top: 3.125rem;
}

.resolution-dep--02 {
	margin-top: 4.375rem;
}

.resolution-dep__btn {
	margin-top: 3.125rem;
}

.product__lineup--first {
	margin-top: 4.375rem;
}

.product__btn {
	margin-top: 3.125rem;
}

.sitemap__inner {
	padding-left: 22px;
	padding-right: 22px;
}

.sitemap__item {
	padding: 1.875rem 0;
}

.top-about {
	padding: 4.375rem 0;
}

.top-about__btn {
	margin-top: 3.125rem;
}

.top-flow {
	margin-top: 4.375rem;
	padding: 3.75rem 0;
}

.top-flow__btn {
	margin-top: 3.125rem;
	text-align: center;
}

.top-flow__heading {
	margin-left: auto;
	margin-right: auto;
	margin-top: 3.125rem;
	max-width: 34.375rem;
	padding: 1.25rem 0;
	width: 100%;
}

.top-flow__cards {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr; /* IE用の記述 */
	grid-template-columns: repeat(1, minmax(150px, 1fr));
}


.top-flow__card {
	margin-left: auto;
	margin-right: auto;
	max-width: 34.375rem;
	width: 100%;
}

.top-media {
	align-items: flex-start;
	flex-direction: column;
}

.top-media__contents {
	margin-right: 0;
}

.top-media__contents--flow {
	margin-right: 0;
}

.top-media__contents--news {
	margin-right: 0;
}

.top-media__img {
	margin-top: 1.875rem;
}

.top-media__head {
	font-size: 2.1875rem;
}

.top-media__head span {
	padding: 0.3125rem 0.625rem;
}

.top-movie {
	margin-top: 4.375rem;
}

.top-movie__video-wrap {
	gap: 1.875rem;
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr; /* IE用の記述 */
	grid-template-columns: repeat(1, minmax(150px, 1fr));
	margin-top: 3.125rem;
}


.top-mv {
	padding-top: 5rem;
}

.top-mv__img video {
	-o-object-fit: cover;
	height: 26.875rem;
	object-fit: cover;
}

.top-mv__ttl {
	max-width: 90%;
}

.top-news {
	padding: 4.375rem 0 0;
}

.top-news__items {
	margin-top: 1.875rem;
	width: 100%;
}

.top-news__btn {
	margin-top: 3.125rem;
}

.top-qa {
	margin-top: 4.375rem;
	padding-left: 22px;
	padding-right: 22px;
}

.top-recruit {
	margin-top: 4.375rem;
	padding: 3.75rem 0;
}

.top-recruit::before {
	height: 4.0625rem;
}

.top-recruit__ttl {
	font-size: 2.5rem;
}

.top-recruit__swiper {
	margin-top: 1.875rem;
}

.top-recruit__container {
	max-width: 93%;
	padding: 3.125rem 0;
}

.top-recruit__heading {
	font-size: 1.75rem;
}

.top-recruit__heading span {
	font-size: 1.125rem;
}

.top-service-cards {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr; /* IE用の記述 */
	grid-template-columns: repeat(1, minmax(150px, 1fr));
}


.top-service-card {
	margin-left: auto;
	margin-right: auto;
	max-width: 34.375rem;
	width: 100%;
}

.top-service {
	padding: 4.375rem 0;
}

.top-service__bg {
	padding-top: 3.125rem;
}

.top-service__bg::after {
	max-width: 100%;
	top: 8.75rem;
}

.top-ttl__img {
	padding-left: 1.875rem;
}

.top-ttl__ja {
	font-size: 1.25rem;
	justify-content: flex-start;
	padding-left: 1.875rem;
}

.top-ttl__ja::before {
	width: 5.625rem;
}

.top-ttl__ja--movie {
	display: block;
	font-size: 1.125rem;
	margin-left: 0;
	padding-left: 1.875rem;
}

.flow-chart {
	margin-top: 4.375rem;
}

.flow-chart__ttl {
	font-size: 1.25rem;
}

.flow__box-wrap {
	margin-left: auto;
	margin-right: auto;
	max-width: 34.375rem;
	width: 100%;
}

.flow-chart__box {
	padding: 1.5625rem 0.625rem 1.5625rem 1.875rem;
}

.flow-chart__box::before {
	height: 2.8125rem;
	width: 2.8125rem;
}

.flow-chart__txt {
	font-size: 1.25rem;
	padding-right: 3.4375rem;
}

.flow-chart__txt::after {
	height: 3.75rem;
	right: 0rem;
	width: 3.75rem;
}

.flow__btn {
	margin-top: 4.375rem;
}

.flow__cta {
	margin-top: 4.375rem;
}

.flow-sales {
	margin-top: 3.125rem;
	text-align: left;
}

.flow-sales__heading span {
	font-size: 1.25rem;
}

.flow-sales__txt {
	margin-top: 1.875rem;
}

.flow-sales__box {
	padding: 1.25rem;
}

.flow-sales__item {
	font-size: 1.25rem;
}

.faq__list {
	margin-top: 3.125rem;
}

.faq__q {
	padding: 0.8125rem 1.25rem 0.8125rem 0.625rem;
	padding-left: 1.25rem;
}

.faq__q::after {
	height: 0.625rem;
	right: 0.625rem;
	width: 1rem;
}

.faq__a {
	padding-left: 1.25rem;
}

.u-desktop {
	display: none;
}

.u-mobile {
	display: block;
}

}

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

.footer-nav__item {
	width: 50%;
}

.license__txt--about span:nth-child(1) {
	max-width: 5.625rem;
}

.license__txt--about-metal span:nth-child(1) {
	margin-right: 1.875rem;
	max-width: 41%;
}

.license__txt--about-freon span:nth-child(1) {
	margin-right: 0.625rem;
	max-width: 30%;
}

.service-menu__box {
	padding: 0.5rem 0;
}

.form__item-title {
	font-size: 1.0625rem;
	width: 100%;
}

.wpcf7-form-control-wrap {
	width: 100%;
}

.wpcf7-form-control {
	display: flex;
	flex-wrap: wrap;
}

input[type="checkbox"] + span::before {
	left: -0.375rem;
}

.form__item-checkbox label span::after,
.form__item-check label span::after {
	left: 1px;
}

.form__item-check .wpcf7-list-item-label {
	position: relative;
	text-align: left;
}

.cards-news {
	display: -ms-grid;
	display: grid;
	-ms-grid-columns: 1fr; /* IE用の記述 */
	grid-template-columns: repeat(1, minmax(150px, 1fr));
}


.reproduction__icons {
	margin-top: 1rem;
}

.flow-chart__txt {
	font-size: 1.125rem;
}

}

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

.reproduction__icons-flex {
	gap: 0.4375rem;
}

}

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

.service-menu__amend {
	max-width: 42%;
}

}

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

html {
	font-size: 14px;
}

.license__txt--about span {
	font-size: 0.75rem;
}

.license__txt--about span:nth-child(1) {
	margin-right: 0.5rem;
	max-width: 5rem;
}

.license__txt--about span:nth-child(2) {
	margin-right: 0.5rem;
}

.license__txt--about-metal span:nth-child(1) {
	margin-right: 1rem;
	max-width: 100%;
}

.license__txt--about-freon span:nth-child(1) {
	max-width: 100%;
}

.recruit-flow__txt {
	font-size: 0.9375rem;
}

.reproduction__icons-flex {
	gap: 0.375rem;
}

}

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

.flow-chart__txt {
	font-size: 0.9375rem;
}

}

@-webkit-keyframes UpAnime {

from {
	opacity: 1;
	transform: translateY(0);
}

to {
	opacity: 0;
	transform: translateY(-100px);
}

}

@keyframes UpAnime {

from {
	opacity: 1;
	transform: translateY(0);
}

to {
	opacity: 0;
	transform: translateY(-100px);
}

}

@-webkit-keyframes DownAnime {

from {
	opacity: 0;
	transform: translateY(-100px);
}

to {
	opacity: 1;
	transform: translateY(0);
}

}

@keyframes DownAnime {

from {
	opacity: 0;
	transform: translateY(-100px);
}

to {
	opacity: 1;
	transform: translateY(0);
}

}


.top-movie__video iframe{
	width: 100%;
	aspect-ratio: 488 / 280;
}
