@charset "UTF-8";
/* *****************************************************************
Stylesheet: ベーススタイル（全て）に適応
******************************************************************/
html {
	scroll-behavior: smooth;
}
.l-header--sticky-lg {
	box-shadow: none;
}
.smb-section__inner {
	z-index: 1;
}
.section:not(.__fv-sub):not(.__service-list) h2 {
	position: relative;
	font-family: 'Montserrat', sans-serif;
	font-style: italic;
	font-size: 5rem;
	line-height: 98px;
	letter-spacing: .04em;
	color: #005093;
}
.section.__fv h2 {
	margin-bottom: -36px;
	z-index: 1;
}
.section:not(.__service-list) h2::before {
	content: '';
    display: block;
    position: absolute;
    top: 50%;
	left: 50%;
	background: url(/wp-content/uploads/2024/11/Professional.webp) no-repeat;
    background-size: contain;
	width: 672px;
	height: 200px;
	transform: translate(-50%, -50%);
	z-index: -1;
}
.section:not(.__fv):not(.__company) h2::before {
	top: 100%;
	left: 0;
	transform: translateY(-50%);
}
.section:not(.__fv-sub):not(.__service-list) .smb-section__subtitle::before {
	content: '';
    display: inline-block;
    position: absolute;
    left: -10px;
    top: -12px;
	width: 35px;
	height: 40px;
	background: url(/wp-content/uploads/2024/11/heading-logo.webp) no-repeat;
    background-size: contain;
}
.__slim {
	max-width: 800px;
	margin: auto;
}
p {
	font-size: 1.25rem;
	letter-spacing: normal;
}
.c-copyright {
	background: #005093;
}

/* about */
.section.__about h2::before {
	width: 624px;
	height: 290px;
	background: url(/wp-content/uploads/2024/11/About.webp) no-repeat;
	background-size: contain;
}

/* service */
.section.__service h2::before {
	width: 607px;
	height: 260px;
	background: url(/wp-content/uploads/2024/11/Service.webp) no-repeat;
	background-size: contain;
}
.section.__service .smb-panels__item {
	box-shadow: 2px 4px 5px 0 #0000001a;
}

/* company */
.section.__company .company__bg-container {
	display: flex;
    align-items: center;
	background: url(/wp-content/uploads/2024/11/cleaning-tool.webp) no-repeat;
	background-size: cover;
}
.section.__company .__inner-section {
	background: rgba(255, 255, 255, .8);
	max-width: 600px;
}
.section.__company .__inner-section .smb-section__subtitle {
	position: relative;
	width: fit-content;
    margin: auto;
}
.section.__company .__inner-section .smb-section__subtitle::before {
	left: -40px;
}
.section.__company h2 {
	margin-top: 0;
}
.section.__company h2::before {
	width: 744px;
	height: 274px;
	background: url(/wp-content/uploads/2024/11/Company.webp) no-repeat;
	background-size: contain;
}
.section.__company .smb-section__lede {
	font-size: 1.5rem;
	font-weight: bold;
	color: #005093;
}
.__inner-section .smb-section__body {
	margin-top: 10px;
}
.info-table table {
	max-width: 340px;
    margin: auto;
}
.info-table tr td {
	padding-bottom: 0;
}
.info-table tr td:first-child {
	width: 104px;
	vertical-align: baseline;
}
.info-table tr td:last-child {
	width: calc(104% - 100px);
	min-width: 223px;
	line-height: 1.5;
}

/* news */
.section.__news h2 {
	position: relative;
    z-index: 1;
}
.section.__news h2::before {
	width: 494px;
	height: 274px;
	background: url(/wp-content/uploads/2024/11/News.webp) no-repeat;
	background-size: contain;
}
.section.__news .smb-section__body {
	background: rgba(255, 255, 255, .8);
	margin-top: -40px;
	padding: 120px 0 3rem;
}
.section.__news .smb-recent-posts {
	max-width: 600px;
}
.news-button a {
	position: relative;
}
.news-button a::before {
    content: '';
    display: block;
    position: absolute;
    right: -1em;
    top: 0;
    bottom: 0;
    width: 40px;
    height: 1px;
    margin: auto;
    background: #000;
    transition: .2s;
}
.news-button a:hover::before {
    right: -2em;
    width: 50px;
}
.news-button a::after {
	content: '';
    display: block;
    position: absolute;
    right: -1em;
    top: -6px;
    bottom: 0;
    width: 8px;
    height: 1px;
    margin: auto;
    border: 0;
    background: #000;
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
    transition: .2s;
}
.news-button a:hover::after {
    right: -2em;
}

/* contact */
.section.__contact h2::before {
	width: 740px;
	height: 270px;
	background: url(/wp-content/uploads/2024/11/Contact.webp) no-repeat;
	background-size: contain;
}
#snow-monkey-form-94 {
	max-width: 800px;
}
.smf-text-control .smf-text-control__control {
	width: 100%;
}
.smf-action .smf-button-control__control {
	border-radius: 0;
	padding: 1rem 3rem;
	transition: all .3s;
}
.smf-action .smf-button-control__control:hover {
	color: #005093;
	background: #fff;
	outline: 1px solid #005093;
	outline-offset: -1px;
}

/* SERVICE LIST */
.__fv-sub h1 {
	font-size: 3rem;
	color: #fff;
	text-shadow: 2px 4px 2px rgba(2, 11, 36, .25);
}
.__fv-sub .smb-section__body {
	display: none;
}
.__service-list h2 {
	font-size: 2.5rem;
	color: #005093;
}
.panels.__service-sub .smb-panels__item__body {
	padding: 0;
}
.panels.__service-sub .smb-panels__item__body h3 {
	color: #fff;
	line-height: 2.5rem;
	background: #005093;
	margin-top: 0;
	padding-bottom: 2px;
}

/******************************************************************
Stylesheet: 1023px以下（PC）で適用
******************************************************************/
@media (min-width: 1024px) {
	.l-1row-header__branding {
		position: absolute;
		top: 0;
		left: 0;
	}
	.section.__fv .smb-section__inner {
		position: absolute;
        right: 5rem;
		bottom: 4rem;
	}
	.section.__fv .smb-section__body {
		background: rgba(255, 255, 255, .8);
		margin-top: 0;
		padding: 2.25rem 3rem;
	}
	.section.__fv .smb-section__body p {
		font-size: 2rem;
		width: fit-content;
	}
}

/******************************************************************
Stylesheet: 1023px以下（タブレット以下）で適用
******************************************************************/
@media (max-width: 1023px) {
}

/******************************************************************
Stylesheet: 640px以上(スマホ以外)で適用
******************************************************************/
@media (min-width: 640px) {
	.section.__company .company__bg-container {
		min-height: 820px;
	}
}

/******************************************************************
Stylesheet: 639px以下(スマホ)で適用
******************************************************************/
@media (max-width: 639px) {
	:root {
		font-size: 62.5%;
	}
	h3 {
		font-size: 100% !important;
	}
	.smb-panels__item__body h3 {
		font-size: 200% !important;
	}
	.panels.__service-sub .smb-panels__item__body h3 {
		font-size: 120% !important;
	}
	p {
		font-size: 160% !important;
	}
	a,
	.smf-button-control__control {
		font-size: 160% !important;
	}
	.section .c-container {
		padding-right: 24px;
		padding-left: 24px;
	}
	.section.__fv h2 {
		font-size: 4.5rem !important;
		text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF,
			-1px 1px 0 #FFF, 1px -1px 0 #FFF,
			0px 1px 0 #FFF,  0-1px 0 #FFF,
			-1px 0 0 #FFF, 1px 0 0 #FFF;
	}
	.section:not(.__service-list) h2::before {
		width: 360px;
    	height: 110px;
	}
	.section.__fv p {
		font-size: 2rem !important;
		font-weight: bold;
        line-height: 1.5;
		text-align: center;
		text-shadow: 1px 1px 0 #FFF, -1px -1px 0 #FFF,
			-1px 1px 0 #FFF, 1px -1px 0 #FFF,
			0px 1px 0 #FFF,  0-1px 0 #FFF,
			-1px 0 0 #FFF, 1px 0 0 #FFF;
	}
	.section:not(.__fv-sub):not(.__service-list) .smb-section__subtitle {
		font-size: 1.2rem !important;
		padding-left: 3rem;
	}
	.section:not(.__fv-sub):not(.__service-list) .smb-section__subtitle::before {
		left: 16px;
	}
	.section.__company .__inner-section .smb-section__subtitle::before {
		left: -10px;
	}
	.section:not(.__fv):not(.__company) h2::before {
		top: 80%;
    	left: 6%;
		height: 140px;
	}
	.info-table tr td {
		font-size: 1.5rem !important;
	}
	.info-table tr td:last-child {
		min-width: 186px;
	}
	.news-button a::before {
		width: 32px;
	}
	.news-button a:hover::before {
		width: 40px;
	}
	.smf-item__label label,
	.smf-placeholder {
		font-size: 150% !important;
	}
	.thanks-contact{
		font-size: 150% !important;
	}
	.thanks-contact > a{
		font-size: 100% !important;
	}
	.__fv-sub h1 {
		font-size: 2.75rem;
	}
	.__service-list h2 {
		font-size: 2.25rem;
	}
}
/*# sourceMappingURL=style.css.map */